ABAP中的复合子程序调用



是否可以调用同时具有USING和CHANGING参数的子例程的多个实例?像这样:

PERFORM FM_CHECK_INPUT:
USING INPUT_A  FIELD_B
CHANGING MESSAGE_A,
USING INPUT_B  FIELD_B
CHANGING MESSAGE_B,
...
USING INPUT_E  FIELD_E
CHANGING MESSAGE_E.

还是必须分别调用每个实例?

PERFORM FM_CHECK_INPUT USING INPUT_A
FIELD_A
CHANGING MESSAGE_A.
PERFORM FM_CHECK_INPUT USING INPUT_B
FIELD_B
CHANGING MESSAGE_B.
...
PERFORM FM_CHECK_INPUT USING INPUT_E
FIELD_E
CHANGING MESSAGE_E.

我以前在子例程中使用过复合语句,但仅当子例程只有USING或CHANGING语句时才使用,而且我不确定在同时使用USING和CHANGING参数时是否可以这样做。

一般来说,链式语句,即使用:,,用于重复:左侧的单词,并可用于其前后的任何单词序列,而不是特定于任何语句(它可用于DATA、PERFORM、CALL、TRANSLATE和所有其他语句(。

例如以下语句:

AAA BBB : CCC DDD, EEE, FFF GGG.

相当于这3个语句:

AAA BBB CCC DDD.
AAA BBB EEE.
AAA BBB FFF GGG.

(当然,如果你编译这个伪例子,编译失败是因为AAA是未知的,所以使用真实的语句(

相关内容

  • 没有找到相关文章

最新更新