我有一个 ABAP-OO 类,我想在方法 foo() 中调用一个函数模块。有两种情况(A 和 B)我必须使用方法 foo()。假设案例 A 是默认的,并且使用需要这样的功能模块:
METHOD foo.
CALL FUNCTION 'A_FUNCTION'
EXPORTING
required_param_x = something
required_param_y = something_else.
" optional_param = " i am commented out and only need for case B
ENDMETHOD.
案例 B “很特殊”,还需要设置上面的 optional_param。我目前的情况是有第二种方法:
METHOD foo_b_case.
CALL FUNCTION 'A_FUNCTION'
EXPORTING
required_param_x = something
required_param_y = something_else
optional_param = case_b_stuff.
ENDMETHOD.
当然,这是非常多余的。如上所示,我的现实生活中的编码也更加复杂。我的问题是,我怎样才能摆脱这种方法 foo_b_case( ) 并使 foo( ) 适合这两种情况?
可以说,我将参数“case_b_stuff”设为可选,并在每种情况下传递它。如果“case_b_stuff”是初始值,ABAP 如何处理“optional_param”?