如何将两个参数传递给一个方法?

Dar*_*ust 1 abap

我想为 set_params 设置 2 个参数,如下所示:

lo_newfal->set_params( ls_nbew-einri,  ls_nbew-falnr) 
Run Code Online (Sandbox Code Playgroud)

是否可以?

Józ*_*zai 5

不,这在 ABAP 中是不可能的。如果您有多个参数,则必须明确命名它们:

lo_newfal->set_params( imp_param1 = ls_nbew-einri
                       imp_param2 = ls_nbew-falnr ).
Run Code Online (Sandbox Code Playgroud)

这也意味着,您可以按任何顺序调用参数:

lo_newfal->set_params( imp_param2 = ls_nbew-falnr
                       imp_param1 = ls_nbew-einri ). 
Run Code Online (Sandbox Code Playgroud)

然而,如果方法定义中只有一个参数,则可以在不显式命名参数的情况下调用它:

lo_newfal->set_params( ls_nbew-einri ).
Run Code Online (Sandbox Code Playgroud)

  • Joszef 答案的补充:如果除一个参数之外的所有参数都是可选的,您还可以将最后一种格式与一个未命名参数一起使用。 (2认同)