Cobol 大型机 - 执行不同的索引 - 显示

Cobol Mainframe - perform varying Index - display

所以我在 Z/OS 才开始学习 COBOL。我已经使用 visual cobol 做了很多工作;然而,这仍然是完全不同的。

我需要显示一个 table 从索引 1 开始一直显示到索引为 50

     PERFORM VARYING W03-SUBJ-INDX FROM 1 BY 1
 UNTIL W03-SUBJ-INDX = 50                 
 DISPLAY W03-SUBJ-TABLE                   
 END-PERFORM   

这就是我目前拥有的我也试过了

     PERFORM VARYING W03-SUBJ-INDX FROM 1 BY 1
 UNTIL W03-SUBJ-INDX = 50                 
 DISPLAY W03-SUBJ-TABLE(w03-subj-indx)                   
 END-PERFORM 

最上面的示例仅显示第一个索引项(符合预期)- 第二个示例给我一个错误,指出“)”是意外的。

如有任何帮助,我们将不胜感激。有人告诉我必须使用索引

你没有提到你使用的是哪个编译器版本,但曾经有一个版本——我不记得那个版本了——它带有下标而不是引用修改。

尝试插入一些空格:

DISPLAY W03-SUBJ-TABLE ( w03-subj-indx ) 

此外,确保 W03-SUBJ-TABLE 是数组,而不是包含数组的组项。

所以关于您现有的代码....在某些版本的 Enterprise Cobol 解析器中存在一些缺陷...

DISPLAY W03-SUBJ-TABLE(w03-subj-indx) 

可能会这样工作:

DISPLAY W03-SUBJ-TABLE ( w03-subj-indx )

某些版本的 Enterprise Cobol 编译器在没有空格的情况下无法很好地解析。这在进行引用修改时尤其重要,但也适用于表格。

试试吧,YMMV。