在ABAP中,函数模块和方法的参数可以通过不同的方式传递,其中USING和CHANGING是两种特定的参数传递方式,它们主要用在函数模块的定义和调用中,以指明参数的传递方向和用途。
一、USING
- 用途:USING 关键字用于定义那些只被读取而不被函数模块或方法修改的参数。这些参数在调用函数模块或方法时传入,但在执行完毕后不会被改变并返回给调用者。
- 特点:
1.参数是单向的,即只能从调用者传递到函数模块或方法。
2.在函数模块或方法内部,你不能修改这些参数的值(尽管技术上可能可以做到,但这样做会违反USING参数的初衷,并可能导致混淆或错误)。
3.适用于那些作为输入条件的参数。
二、CHANGING
-
用途:CHANGING 关键字用于定义那些既可以被读取也可以被函数模块或方法修改的参数。这些参数在调用函数模块或方法时传入一个初始值,执行完毕后,如果参数的值被修改了,则这个新的值会被返回给调用者。
-
特点:
1.参数是双向的,即它们可以从调用者传递到函数模块或方法,并且在执行完毕后,如果参数的值被修改了,这些修改会被传回给调用者。
2.在函数模块或方法内部,你可以自由地读取和修改这些参数的值。
3.适用于那些既作为输入又可能作为输出的参数。感觉有点像传参(CHANGING)和传值(USING)。