如何将两个参数传递给一个方法?
How to pass two parameters to a method?
我想将 2 个参数设置为 set_params,像这样:
lo_newfal->set_params( ls_nbew-einri, ls_nbew-falnr)
可以吗?
不,这在 ABAP 中是不可能的。如果您有多个参数,则必须明确命名它们:
lo_newfal->set_params( imp_param1 = ls_nbew-einri
imp_param2 = ls_nbew-falnr ).
这也意味着,您可以按任何顺序调用参数:
lo_newfal->set_params( imp_param2 = ls_nbew-falnr
imp_param1 = ls_nbew-einri ).
但是,如果方法定义中只有一个参数,则可以在不显式命名参数的情况下调用它:
lo_newfal->set_params( ls_nbew-einri ).
call method if_newfal->set_params
exporting
p_einri = me->ls_nbew-einri
p_falnr = me->ls_nbew-falnr
这是在 set_params 中发送 2 个参数的方法。
meth( a ).
This is the short form of:
meth( EXPORTING p = a ).
The method meth can have the following parameters:
- Either exactly one non-optional input parameter p and any number of optional input parameters
- Or only optional input parameters from which p is defined as a preferred parameter using PREFERRED PARAMETER
所以不行,不指定目标参数的shorthand方法调用只能在只能明确识别一个参数的情况下使用。
如果存在多个参数,则需要在所有参数都明确命名的地方使用 替代方案 3:
meth( p1 = a1 p2 = a2 ... ).
This is the short form of:
meth( EXPORTING p1 = a1 p2 = a2 ... ).
如果存在 IMPORTING 或 CHANGING 参数,同样适用。
与其他语言相比,ABAP更多的是命名参数而不是位置参数。这有一个明显的优势,即不会意外混淆参数的顺序(特别是因为 ABAP 隐式地进行了大量类型转换)并且使可选参数更容易处理。
我想将 2 个参数设置为 set_params,像这样:
lo_newfal->set_params( ls_nbew-einri, ls_nbew-falnr)
可以吗?
不,这在 ABAP 中是不可能的。如果您有多个参数,则必须明确命名它们:
lo_newfal->set_params( imp_param1 = ls_nbew-einri
imp_param2 = ls_nbew-falnr ).
这也意味着,您可以按任何顺序调用参数:
lo_newfal->set_params( imp_param2 = ls_nbew-falnr
imp_param1 = ls_nbew-einri ).
但是,如果方法定义中只有一个参数,则可以在不显式命名参数的情况下调用它:
lo_newfal->set_params( ls_nbew-einri ).
call method if_newfal->set_params
exporting
p_einri = me->ls_nbew-einri
p_falnr = me->ls_nbew-falnr
这是在 set_params 中发送 2 个参数的方法。
meth( a ).
This is the short form of:
meth( EXPORTING p = a ).
The method meth can have the following parameters:
- Either exactly one non-optional input parameter p and any number of optional input parameters
- Or only optional input parameters from which p is defined as a preferred parameter using PREFERRED PARAMETER
所以不行,不指定目标参数的shorthand方法调用只能在只能明确识别一个参数的情况下使用。 如果存在多个参数,则需要在所有参数都明确命名的地方使用 替代方案 3:
meth( p1 = a1 p2 = a2 ... ).
This is the short form of:
meth( EXPORTING p1 = a1 p2 = a2 ... ).
如果存在 IMPORTING 或 CHANGING 参数,同样适用。
与其他语言相比,ABAP更多的是命名参数而不是位置参数。这有一个明显的优势,即不会意外混淆参数的顺序(特别是因为 ABAP 隐式地进行了大量类型转换)并且使可选参数更容易处理。