是否可以调用同时具有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是未知的,所以使用真实的语句(