USING 和CHANGING的用法ABAP using 和changing 的使用方法
在ABAP/4中参数的传递可分成:
1.Call By Reference:
传参数时将资料的存放地址(address)传至参数中,即子程序中的参数变量与外部实际变量共享地址内的值。
也称为Call By Address,若在子程序中地址中的值改变了,外部实际变量的值也会跟着改变。
语法:PERFORM [USING .....] [CHANGING......]
FORM [USING .....] [CHANGING....]
Example:
SU...
ABAP using 和changing 的使用方法
在ABAP/4中参数的传递可分成:
1.Call By Reference:
传参数时将资料的存放地址(address)传至参数中,即子程序中的参数变量与外部实际变量共享地址内的值。
也称为Call By Address,若在子程序中地址中的值改变了,外部实际变量的值也会跟着改变。
语法:PERFORM
[USING .....] [CHANGING......]
FORM [USING .....] [CHANGING....]
Example:
SUM = 0.
NUM1 = 100. NUM2=200.
PERFORM ADD USING NUM1 NUM2 CHANGING SUM.
WRITE: / NUM1,NUM2,SUM “SUM 由0 变成300
FORM ADD USING NUM1 NUM2 CHANGING SUM.
SUM = NUM1 + NUM2.
ENDFORM.
执行结果: 100 200 300
2.Call By V alue
传参数时将数据的值复制一份至另一地址中,所以在子程序中参数变量值改变,并不会影响外部实际变量的值。
语法:PERFORM USING
FORM USING V ALUE (.......)或
FORM USING ......LIKE
使用V ALUE()示是Call By V alue的传递。
Example:
SUM = 0.
NUM1 = 5.
PERFORM MULTI USING NUM1 CHANGING SUM.
WRITE: / NUM1,SUM “NUM1值还是5, SUM 由0 变成120
FORM MULTI USING VALUE(NUM1) CHANGING SUM.
SUM = 1.
WHILE NUM1 > 1
SUM = SUM * NUM1.
NUM1 = NUM1 – 1.
ENDWHILE.
ENDFORM.
执行结果: 5 120
3.Call By V alue and Return Result
传入参数值的方式同Call By V alue,但在子程序结束执行时会将传入的参数值复制一份传回给外部实际参数。
语法:FPERORM --- CHANGING----
FORM-----CHANGING V ALUE ()
Example:
SUM = 0.
NUM1 = 100. NUM2=200.
PERFORM ADD USING NUM1 NUM2 CHANGING SUM.
WRITE: / NUM1,NUM2,SUM “SUM 由0 变成300
FORM ADD USING NUM1 NUM2 CHANGING VALUE(S).
S = NUM1 + NUM2.
WRITE: / NUM1,NUM2,SUM “得到结果为100 200 0 ENDFORM.
执行结果: 100 200 0 “在子程序中SUM值尚未改变
100 200 300 “返回程序时, 将变量S的值复制给SUM
“所以SUM值变成300
本文档为【USING 和CHANGING的用法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。