Abap:是否需要清除导出变量?

时间:2018-10-25 08:14:07

标签: abap

我找到了以下代码:

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

2 个答案:

答案 0 :(得分:2)

是或否

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

如果它是通过引用传递的,则答案可能是,因为它的起始值是传递的自变量的值,因此它取决于功能模块的算法。

PS:就个人而言,在参数按值传递的情况下,有时我更喜欢在处理开始时添加一个CLEAR,以便使用“跳转”按钮重新启动处理来方便调试;对于通过引用传递的参数,我有时会在“文档”中添加一个CLEAR,以表明未使用输入值。

附录1小时后:由于EXPORTING参数的逻辑并不那么明显,并且由于(尽可能)建议使用ABAP Objects,因此最好将功能模块转换为带有RETURNING参数的功能方法,总是通过值传递,所以不会有任何混乱。

答案 1 :(得分:0)

No ,因为它们将在您退出FM后清除。

对不起,阅读不正确。答案是否定的。因为输入FM后,“出口价值”中没有任何内容。