0

在 COBOL 中,我想读取一个行顺序文件。第一行出现一次。第二行和第三行可以重复多次(未知)。我真的不知道该怎么做。

我认为文件描述是这样的:

01 DBGEGEVENS            PIC X(200).
01 PROJECT. (occurs unknown times)
   03 PROJECTCODE        PIC X(10).
   03 CSVPAD             PIC X(200).
4

2 回答 2

2

这取决于文件格式

你想要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.

两者都应该有效,具体取决于您使用的文件格式

于 2013-02-18T01:00:07.253 回答
0

给出的代码表示一个 VB 文件 - 记录一个是 200 字节,而其他记录是 210 字节。记录上应该有一个指标来描述它们是什么以及它们的目的。最终,最好将它们读入 WORKING-STORAGE 中,我会问向你传递文件的人有哪些可用的指标。但是,如果您知道记录 1 是文件中唯一的 200 字节记录,那将被视为一个标头读取 - 在其定义中读取一次 - 而其余 210 字节记录(我想强调提供的定义描述了 210 个字节)将被读入适合其定义的 WORKING-STORAGE 区域。

于 2013-02-20T01:05:05.643 回答