是否可以调用同时具有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参数时是否可以执行相同的操作。
答案 0 :(得分:2)
一般来说,chained statements(即使用:
和,
)用于重复:
左侧的单词,并可以处理任何单词序列之前和之后,并且不特定于任何语句(它可以用于DATA,PERFORM,CALL,TRANSLATE和所有其他语句)。
例如以下语句:
AAA BBB : CCC DDD, EEE, FFF GGG.
等同于以下3条语句:
AAA BBB CCC DDD.
AAA BBB EEE.
AAA BBB FFF GGG.
(当然,如果您编译此虚拟示例,则由于AAA未知而导致编译失败,因此请使用真实语句)