abap的子程序参数 USING 和 CHANGING 使用问题
1、參數(shù)引用傳遞(Parameters Passed byReference)
使用USING或CHANGING不帶value關(guān)鍵字來聲明參數(shù)引用傳遞。代碼樣例:
FORM subrUSING??? p1[{TYPE type}|{LIKE field}]?
??????????????????p2 [{TYPE type}|{LIKE field}]
??????????????????...
?????????CHANGING p1 [{TYPE type}|{LIKE field}]?
??????????????????p2 [{TYPE type}|{LIKE field}]
??????????????????...
在引用傳遞的方式,參數(shù)不在堆中占有內(nèi)存,傳入的是變量的地址,在子程序中對變量的修改實際上是對實際參數(shù)的修改。在這種方式using和changing是等價的。
2、輸入?yún)?shù)傳值傳遞(Input Parameters That PassValues)
使用USING帶value關(guān)鍵字來聲明輸入?yún)?shù)傳值傳遞。代碼樣例:
FORM subrUSING???value(p1) [{TYPE type}|{LIKE field}]?
??????????????????value(p2) [{TYPE type}|{LIKE field}]
??????????????????...
在輸入?yún)?shù)傳值傳遞的方式,參數(shù)在堆中占有內(nèi)存,傳入的是變量的值,在子程序中對變量的修改不會對實際參數(shù)的造成修改。
3、輸出參數(shù)傳值傳遞(Output Parameters That PassValues)
使用CHANGING帶value關(guān)鍵字來聲明輸入?yún)?shù)傳值傳遞。代碼樣例:
FORM subrCHANGING???value(p1) [{TYPE type}|{LIKE field}]?
??????????????????value(p2) [{TYPE type}|{LIKE field}]
??????????????????...
在輸出參數(shù)傳值傳遞的方式,形式參數(shù)在堆中占有內(nèi)存,傳入的是變量的值,在子程序中對變量的修改只有正常結(jié)束(Endform,CHECK,EXIT等語句結(jié)束)時才會有形式參數(shù)拷貝到對實際參數(shù),如果是錯誤消息退出則不會影響實際參數(shù)。
總結(jié)
以上是生活随笔為你收集整理的abap的子程序参数 USING 和 CHANGING 使用问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP 屏幕逻辑流
- 下一篇: ABAP TC 响应双击事件