2013-04-27 104 views

回答

6

IMPORTING將實際參數作爲形式參數傳遞,從而將調用者的值傳遞給方法。 EXPORTING完全相反,從方法中獲取一個值並將其傳回給調用者。 CHANGING將這些結合在一起,將來自調用者的值再次傳回給方法,並且發生在兩者之間的任何變化。

請注意,雖然IMPORTINGEXPORTING在聲明和調用之間相反,但CHANGING不是。

+0

如此有效地說,「CHANGING」是ABAP等同於引用的調用? – 2013-04-29 15:40:05

+2

@amalantony:在許多其他編程語言中,「in/out/inout」參數和「按值/參考調用」的概念是鏈接的 - 而不是在ABAP中。您可以決定是否要傳遞一個值或一個引用,而無需指定內容的走向。 – vwegert 2013-04-30 06:24:24

4

此外,利用FORMENDFORM,宣告子程序當CHANGING關鍵字可用於任一像CHANGING myvarCHANGING VALUE(myvar)

CHANGING myvar使得myvar的值只要在子程序中被改變就立即改變。

相反,如果使用CHANGING VALUE(myvar),如果表單沒有正確返回(如果它通過示例拋出異常),則在調用代碼中myvar的值將保持不變,即使它在子例程中被更改那墜毀。

相關問題