所以我刚开始在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
顶部示例仅显示第一个索引项(预期) - 第二个示例给出了一个错误说明")"出人意料。
任何帮助将不胜感激..我被告知我必须使用索引
答案 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。