2

我找到了这段代码:

FUNCTION /FOO/BAR.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(IV_XYZ) TYPE  STRING
*"  EXPORTING
*"     VALUE(EV_RESULT_JSON) TYPE  STRING
*"----------------------------------------------------------------------



*-- Initialization
  clear ev_result_json.

clear ev_result_json需要吗?

4

2 回答 2

4

是还是不是。

,因为它是按值传递的参数 (VALUE(EV_RESULT_JSON)),因此它的起始值始终是初始值。

如果它是通过引用传递的,那么答案可能是肯定的,因为它的起始值是传递的参数的值,所以它取决于功能模块的算法。

PS:个人而言,在传值参数的情况下,我有时更喜欢在开始处理的时候加一个CLEAR,方便调试用“跳转”按钮重新开始处理;在通过引用传递参数的情况下,我有时会添加一个 CLEAR 来“记录”未使用输入值的事实。

1小时后补充:因为EXPORTING参数的逻辑不是很明显,而且推荐使用ABAP Objects(尽可能),所以最好把函数模块变成函数方法,带上RETURNING参数按价值计算,因此不会有任何混淆。

于 2018-10-25T14:44:19.710 回答
0

No因为它们会在您退出 FM 后被清除。

抱歉没有正确阅读。答案仍然是否定的。因为在你进入 FM 之后,Export Value 中没有任何内容。

于 2018-10-25T09:17:51.707 回答