我了解IMPORTING
和EXPORTING
关键字的作用,但CHANGING
关键字的重要性是什么?
答案 0 :(得分:6)
IMPORTING
将实际参数作为形式参数传递,从而将值从调用者传递给方法。 EXPORTING
完全相反,从方法中获取值并将其传回给调用者。 CHANGING
将这些值组合在一起,将调用者和方法的值再次传回给方法,并在其间发生任何更改。
请注意,虽然IMPORTING
和EXPORTING
在声明和通话之间相反,但CHANGING
却没有。
答案 1 :(得分:4)
此外,在使用FORM
和ENDFORM
声明子例程时,CHANGING
关键字可以用作CHANGING myvar
或CHANGING VALUE(myvar)
。
CHANGING myvar
使myvar
的值在子例程中更改后立即更改。
相反,如果使用CHANGING VALUE(myvar)
,如果表单没有正确返回(如果它通过示例抛出异常),myvar
的值将保持不变,在调用代码中,甚至如果它在崩溃的子程序中被改变了。