在表中循环

您可以使用 PERFORM . . . VARYING 语句来初始化表。 在此格式的 PERFORM 语句中,将增大或减小变量并对其进行检验,直到满足条件为止。

关于此任务

因此,您可以使用 PERFORM 语句来控制对表的循环。 您可以使用以下任一表单:


PERFORM . . . WITH TEST AFTER  . . . . VARYING . . . UNTIL . . .
PERFORM . . . [WITH TEST BEFORE] . . . VARYING . . . UNTIL . . .

以下代码部分显示了通过表循环以检查无效数据的示例:


PERFORM TEST AFTER VARYING WS-DATA-IX
      FROM 1 BY 1 UNTIL WS-DATA-IX = 12
   IF WS-DATA (WS-DATA-IX) EQUALS SPACES
      SET SERIOUS-ERROR TO TRUE
      DISPLAY ELEMENT-NUM-MSG5
   END-IF
END-PERFORM
INSPECT . . .

当控制到达 PERFORM 语句时, WS-DATA-IX 被设置为1,并执行 PERFORM 语句。 然后测试条件 WS-DATA-IX = 12 。 如果条件为 true ,那么控制将删除至 INSPECT 语句。 如果条件为 false ,那么 WS-DATA-IX 将增大 1 ,将执行 PERFORM 语句,并再次测试该条件。 此执行和测试循环将继续,直到 WS-DATA-IX 等于 12 为止。

之前的循环控制了项目 WS-DATA 的12个字段的输入检查。 应用程序中不允许空字段,因此代码循环部分会相应地发出错误消息。