在 COBOL 中,我想读取一个行顺序文件。第一行出现一次。第二行和第三行可以重复多次(未知)。我真的不知道该怎么做。
我认为文件描述是这样的:
01 DBGEGEVENS PIC X(200).
01 PROJECT. (occurs unknown times)
03 PROJECTCODE PIC X(10).
03 CSVPAD PIC X(200).
在 COBOL 中,我想读取一个行顺序文件。第一行出现一次。第二行和第三行可以重复多次(未知)。我真的不知道该怎么做。
我认为文件描述是这样的:
01 DBGEGEVENS PIC X(200).
01 PROJECT. (occurs unknown times)
03 PROJECTCODE PIC X(10).
03 CSVPAD PIC X(200).
这取决于文件格式
你想要VB文件格式吗???然后
FILE-CONTROL.
SELECT In-File ASSIGN .....
DATA DIVISION.
FILE SECTION.
FD Comp-File.
01 DBGEGEVENS PIC X(200).
01 PROJECT.
03 PROJECTCODE PIC X(10).
03 CSVPAD PIC X(200).
和
Read In-File
Read In-File
Read In-File
您可以将 DBGEGEVENS 用于第一条记录,将项目用于第二条或后续记录
对于固定宽度文件格式
FILE-CONTROL.
SELECT Comp-File ASSIGN .....
DATA DIVISION.
FILE SECTION.
FD Comp-File.
01 input-record.
WORKING-STORAGE SECTION.
01 DBGEGEVENS PIC X(200).
01 PROJECT.
03 PROJECTCODE PIC X(10).
03 CSVPAD PIC X(200).
和
Read In-File into DBGEGEVENS
Read In-File into PROJECT.
Read In-File into PROJECT.
两者都应该有效,具体取决于您使用的文件格式
给出的代码表示一个 VB 文件 - 记录一个是 200 字节,而其他记录是 210 字节。记录上应该有一个指标来描述它们是什么以及它们的目的。最终,最好将它们读入 WORKING-STORAGE 中,我会问向你传递文件的人有哪些可用的指标。但是,如果您知道记录 1 是文件中唯一的 200 字节记录,那将被视为一个标头读取 - 在其定义中读取一次 - 而其余 210 字节记录(我想强调提供的定义描述了 210 个字节)将被读入适合其定义的 WORKING-STORAGE 区域。