如何在COBOL中以不同方式处理文件的第一行?

时间:2013-02-17 14:50:26

标签: file cobol sequential

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

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

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

2 个答案:

答案 0 :(得分: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作为第一个记录和项目的secon或次序记录

对于固定宽度文件格式

   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.

要么应该工作,取决于您使用的文件格式

答案 1 :(得分:0)

给出的代码表示VB文件 - 记录一个是200字节,而其他记录是210字节。记录上应该有一个指示器,描述它们是什么以及它们的用途。最终,通过将它们读入WORKING-STORAGE,您将得到最好的服务 - 我会问任何人正在向您传递哪些指标可用。但是,如果你知道记录一个是文件中唯一的200字节记录的事实,那将被视为标题读取 - 读入其定义一次 - 而剩下的210字节记录(我想强调提供的定义描述210字节)将被读入适合其定义的WORKING-STORAGE区域。