gue*_*tli 2 parameters abap function-module
我找到了这段代码:
FUNCTION /FOO/BAR.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(IV_XYZ) TYPE STRING
*" EXPORTING
*" VALUE(EV_RESULT_JSON) TYPE STRING
*"----------------------------------------------------------------------
*-- Initialization
clear ev_result_json.
Run Code Online (Sandbox Code Playgroud)
需要clear ev_result_json吗?
是还是不是。
否,因为它是按值传递的参数 (VALUE(EV_RESULT_JSON)),因此其起始值始终是初始值。
如果它是通过引用传递的,那么答案可能是肯定的,因为它的起始值是传递的参数的值,所以它取决于功能模块的算法。
PS:就我个人而言,在参数按值传递的情况下,我有时更喜欢在处理开始时添加一个CLEAR,以方便调试时用“跳转”按钮重新启动处理;在通过引用传递参数的情况下,我有时会添加一个 CLEAR 来“记录”未使用输入值的事实。
1小时后的附录:因为EXPORTING参数的逻辑不是那么明显,并且因为推荐使用ABAP对象(尽可能),所以最好将功能模块变成带有总是传递RETURNING参数的功能方法按价值划分,因此不会有任何混淆。