如何将多个参数传递给子例程?



我正在尝试将多个parameters传递给子例程,但出现以下错误:

嵌套不正确:在语句"FORM"之前,"FORM"引入的结构必须以"ENDFORM"结尾

这是我的代码:

CASE p_choose.
WHEN 'UMK'.
PERFORM umk USING: p_modul,
p_e_pal,
p_vbeln,
p_e_umk.
"some other cases
ENDCASE.
FORM umk USING: p_modul,
p_e_pal,
p_vbeln,
p_e_umk.
ENDFORM.

我的错误在哪里?如何传递多个参数?还是根本不可能?谢谢!

我已经自己找到了解决方案。 错误是每个参数后面的","。

正确的代码是:

CASE p_choose.
WHEN 'UMK'.
PERFORM umk USING p_modul
p_e_pal
p_vbeln
p_e_umk.
"some other cases
ENDCASE.
FORM umk USING p_modul
p_e_pal
p_vbeln
p_e_umk.
ENDFORM.

为了完成你自己的正确解决方案,让我通过显示没有链式语句的等效代码来解释错误的原因,这是由于对链式语句工作原理的误解

。带有链语句(符号:,(的旧代码:

FORM umk USING: p_modul,
p_e_pal,
p_vbeln,
p_e_umk.
ENDFORM.

完全等效于没有链式语句的以下代码:

FORM umk USING p_modul.
FORM umk USING p_e_pal.
FORM umk USING p_vbeln.
FORM umk USING p_e_umk.
ENDFORM.

因此存在明显的语法错误。

相关内容

  • 没有找到相关文章

最新更新