如何在新行中写入记录。(在output.dat上)

Uts*_*rai 1 cobol gnucobol

我正在尝试将当前控制台显示输出到TFileOut.da文件。但是,当我尝试写一条记录时,所有数据都输出到同一行。

       PROGRAM-ID. TFile.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
        SELECT myInFile ASSIGN TO "TestFile.dat".
        SELECT myOutFile ASSIGN TO "TFileOut.dat".
       DATA DIVISION.
       FILE SECTION.
       FD myInFile.
       01 inRecord.
        02 StudentName    PIC X(15).
        02 StudentWNbr    PIC X(8).
        02 Years          PIC X(9).
        02 Course         PIC X(9).
        02 CourseD        PIC X(28).
        02 Grade          PIC X(1).
        02 CreditHr       PIC 9.
        02 FILLER         PIC X(1).
       FD myOutFile.
       01 studentOutRecord.
        02 DatFile PIC X(10).
       WORKING-STORAGE SECTION.
       01 w PIC X(3) VALUE "YES".
       01 stor PIC X(9).
       PROCEDURE DIVISION.
        OPEN INPUT myInFile.
        OPEN OUTPUT myOutFile.
        PERFORM subRead
        PERFORM UNTIL w = "NO" 
        PERFORM subRead
        END-PERFORM.
        CLOSE myInFile.
        CLOSE myOutFile.
        STOP RUN.
       subRead.
        READ myInFile
        AT END
        MOVE "NO" TO w
        NOT AT END
        DISPLAY Course
        MOVE Course TO 
        MOVE Course to DatFile
        WRITE studentOutRecord
        END-READ.
Run Code Online (Sandbox Code Playgroud)

是输出文件中的输出。CMPS 161数学223数学200历史101数学223数学200历史101 PHYS 101 MUSC 101 PSYC 101 SSYC 101

This is how I get into console.
CMPS 161 
MATH 223 
MATH 200 
HIST 101 
MATH 223 
MATH 200 
HIST 101 
PHYS 101 
MUSC 101 
PSYC 101 
SSYC 101 
Run Code Online (Sandbox Code Playgroud)

我想显示与控制台相同的输出文件。

小智 5

在FILE-CONTROL中,将组织设置为按顺序排列。

        SELECT myInFile ASSIGN  TO "TestFile.dat"
               organization is line sequential.

        SELECT myOutFile ASSIGN TO "TFileOut.dat"
               organization is line sequential.
Run Code Online (Sandbox Code Playgroud)

这将使换行符保持完整。
我在Linux下运行GNUCobol,并且不使用行顺序将所有内容打包成一行。