Cobol 在不应将多行视为一行时

Cobol Treating Multiple Lines as One Line When it Should Not

尝试编写一个 cobol 程序,并在使用 opencobol 编译时将多行视为一行(必须使用 opencobol,我听说 GNU 更好),出现错误 密码是

       IDENTIFICATION DIVISION.
       PROGRAM-ID. InteractiveProcessing.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT INVENTORY-FILE
              ASSIGN TO "C:\COBOL\INVENTORY-FILE.DAT"
              ORGANIZATION IS LINE SEQUENTIAL.
       DATA DIVISION.
       FILE SECTION.
       FD  INVENTORY-FILE.
       01  FILE-OUTPUT.
           05  PART-NO          PIC X(5).
           05  PART-DESC        PIC X(15).
           05  QTY-ON-HAND      PIC 9(5).
           05  UNIT-PRICE       PIC 999V99.
       WORKING-STORAGE SECTION.
       01  MORE-DATA                PIC X(3) VALUE 'YES'.
       PROCEDURE DIVISION.
       100-MAIN-MODULE.
           OPEN OUTPUT INVENTORY-FILE
           PERFORM UNTIL MORE-DATA = 'NO '
               PERFORM 200-INVENTORY-MODULE
               DISPLAY 'ENTER MORE DATA? (YES/NO)'
               ACCEPT MORE-DATA
           END-PERFORM
           CLOSE INVENTORY-FILE
           STOP RUN.
       200-INVENTORY-MODULE.
           DISPLAY 'ENTER PART NUM (5 CHARACTERS)'
           ACCEPT PART-NO
           DISPLAY 'ENTER PART DESCRIPTION (15 CHARACTERS)'
           ACCEPT PART-DESC                      
           DISPLAY 'ENTER QUANTITY ON HAND(INTEGER, UP TO 5 DIGITS)'
           ACCEPT QTY-ON-HAND
           DISPLAY 'ENTER UNIT PRICE (5 DIGITS, 2 AFTER DECIMAL)'
           ACCEPT UNIT-PRICE
           WRITE FILE-OUTPUT.

我一直说的错误

'ENTER' undefined 

syntax error, unexpected UNIT

出现错误的行是

DISPLAY 'ENTER QUANTITY ON HAND(INTEGER, UP TO 5 DIGITS)'

错误来自两行以下的 ENTER 和 UNIT,我不明白为什么会这样。仅将该行的引号从单引号更改为双引号,也会出现意外的文件结尾错误。

问题是我使用制表符来对齐 PIC 条款。在另一个程序中有同样的问题。通过退格标签然后只使用空格键将子句放到正确的位置来解决。最后看起来一样,但实际上 运行 这样。