在ABAP中调用方法时,CHANGING关键字的意义是什么?

时间:2013-04-27 16:05:45

标签: sap abap

我了解IMPORTINGEXPORTING关键字的作用,但CHANGING关键字的重要性是什么?

2 个答案:

答案 0 :(得分:6)

IMPORTING将实际参数作为形式参数传递,从而将值从调用者传递给方法。 EXPORTING完全相反,从方法中获取值并将其传回给调用者。 CHANGING将这些值组合在一起,将调用者和方法的值再次传回给方法,并在其间发生任何更改。

请注意,虽然IMPORTINGEXPORTING在声明和通话之间相反,但CHANGING却没有。

答案 1 :(得分:4)

此外,在使用FORMENDFORM声明子例程时,CHANGING关键字可以用作CHANGING myvarCHANGING VALUE(myvar)

CHANGING myvar使myvar的值在子例程中更改后立即更改。

相反,如果使用CHANGING VALUE(myvar),如果表单没有正确返回(如果它通过示例抛出异常),myvar的值将保持不变,在调用代码中,甚至如果它在崩溃的子程序中被改变了。