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。
所以我在 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。