抱歉这个基本的 ABAP 问题。 ABAP中调用方法有哪些不同的方式?他们的“官方”名字是什么?我听说过执行、方法调用和内部/内联方法调用。
执行使用PERFORM
关键字和方法调用CALL METHOD
语法,我猜。但什么是“内部”或“内联方法调用”?
这些是内联方法调用的可能性。
如果你正在调用所谓的函数方法,它只有IMPORTING
参数和可选的一个RETURN
参数你可以这样称呼它。
CLASS lcl_test DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
func_meth
IMPORTING
i_param TYPE i
RETURNING
VALUE(r_res) TYPE char1.
ENDCLASS.
l_res = lcl_test=>func_meth( 1 ).
* you could also call it like this
l_res = lcl_test=>func_meth( i_param = 1 ).
* also this variant is possible
l_res = lcl_test=>func_meth( EXPORTING i_param = 1 ).
* the traditional CALL METHOD syntax would be like this
CALL METHOD lcl_test=>func_meth
EXPORTING
i_param = 1
RECEIVING
r_res = l_res.
如果有多个IMPORTING
参数您必须指定参数的名称。
CLASS lcl_test DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
func_meth
IMPORTING
i_param1 TYPE i
i_param2 TYPE i
RETURNING
VALUE(r_res) TYPE char1.
ENDCLASS.
l_res = lcl_test=>func_meth(
i_param1 = 1
i_param2 = 2
).
如果有EXPORTING
or CHANGING
如果方法中包含参数,则仍然可以进行内联调用,但必须显式指定参数类别。
CLASS lcl_test DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
func_meth
IMPORTING
i_param TYPE i
EXPORTING
e_param TYPE c
CHANGING
c_param TYPE n.
ENDCLASS.
lcl_test=>func_meth(
EXPORTING
i_param = 1
IMPORTING
e_param = l_param
CHANGING
c_param = l_paramc
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)