本教程前一篇文章,咱们曾经介绍了 ABAP 办法调用里,参数传递 Pass Value 这个 checkbox 勾上与否的行为差别。简略温习一下,勾上 Pass Value 阐明开发人员冀望调用函数时传递参数值采取 值拷贝
的形式进行;如果不勾上,将输出参数的援用传递到函数内定义的形式参数。
咱们指定参数时,零碎开发工具的默认行为是 不勾上 Pass Value
.
- 87. SAP ABAP 办法调用里传值 (Pass Value) 和传援用 (Pass Reference) 的区别
教程开端咱们提出了一个问题:
比方我调用一个函数计算 3+2 的和,是否在函数体内,当加法计算结束后,把传递进来的第一个参数,从 3 改成其余值呢?
答案是看具体情况而定。
本文咱们就来具体探讨这个问题。
总结
本文介绍的关键点:
(1) ABAP 办法传递默认采纳 Pass by Reference 即援用传递。
(2) 对于 ABAP 类的办法调用和 ABAP Function Module 调用,输出参数即便采纳援用传递,也无奈在办法和函数实现体内对输出参数的值进行批改。
(3) ABAP subroutine 通过 USING 关键字指定的参数,也是通过援用传递传值,然而能够在 subroutine 实现体内被批改。如果想防止这种状况产生,能够采纳 VALUE 关键字来润饰该参数。