Cobol Mainframe - 执行不同的索引 - 显示

时间:2017-10-01 00:46:59

标签: cobol mainframe zos

所以我刚开始在Z / OS上学习COBOL。我用视觉cobol做了很多事;然而,这仍然是完全不同的。

我需要显示一个从Index为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 

顶部示例仅显示第一个索引项(预期) - 第二个示例给出了一个错误说明")"出人意料。

任何帮助将不胜感激..我被告知我必须使用索引

2 个答案:

答案 0 :(得分:0)

你没有提到你所使用的编译器版本,但是曾经有一个版本 - 而且我无法记住版本 - 这对于下标和参考修改而言非常好。

尝试插入一些空格:

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

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

答案 1 :(得分:0)

关于你现有的代码......在某些版本的Enterprise Cobol解析器中存在一些瑕疵......

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

可能会这样:

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

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

试一试,YMMV。