标签: gnucobol

联动部分的Cobol无效数字

所以,我正在研究Cobol和qhen我尝试构建我的代码,我收到以下错误:

soma.cob:8:错误:级别编号'linkage-section'无效

文件soma.cob,是:

IDENTIFICATION DIVISION.
PROGRAM-ID.    SOMA.

data division.
working-storage section.
77 RESPT PIC 9(2) VALUE ZEROS.

linkage-section.
01 CAMP1 PIC 9(2).
01 CAMP2 PIC 9(2).

PROCEDURE DIVISION USING CAMP1 CAMP2.
    COMPUTE RESPT = CAMP1+CAMP2.        
    DISPLAY RESPT.
Run Code Online (Sandbox Code Playgroud)

那么,问题出在哪里????

cobol gnucobol

1
推荐指数
1
解决办法
742
查看次数

在非常简单的COBOL程序中使用OCCURS时出错

这是我的代码,其中iIam使用OCCURS声明变量.

   IDENTIFICATION DIVISION.
   PROGRAM-ID. ARRAYEX.

   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
        SELECT StudentFile ASSIGN TO "STUDENTS.DAT"
            ORGANIZATION IS LINE SEQUENTIAL.

   DATA DIVISION.
   WORKING-STORAGE SECTION.
   77 WS-FIRSTARR OCCURS 10 TIMES PIC 9(5).

   PROCEDURE DIVISION.

   DISPLAY "HELLO WORLD".
   STOP RUN.
Run Code Online (Sandbox Code Playgroud)

错误:

arrayex.cbl:12:错误:级别77项"WS-FIRSTARR"不能有OCCURS子句

编译失败的原因是什么?

cobol gnucobol

1
推荐指数
1
解决办法
1615
查看次数

索引文件错误

我正在尝试打开一个索引的文件,但不断收到以下错误.从我能找到的所有COBOL代码示例中,我无法看到我的错误在哪里.

我能够按顺序打开文件就好了.它似乎是试图打开索引的东西.

错误:

project2.cbl:119: libcob: Permanent file error (STATUS = 30) File : 'customers.dat'
Run Code Online (Sandbox Code Playgroud)

系统:

OS X

GnuCOBOL

OpenCobolIDE
Version: 4.7.3
Run Code Online (Sandbox Code Playgroud)

码:

   IDENTIFICATION DIVISION.
   PROGRAM-ID. PROJECT-2.

   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.

       SELECT CUST-FILE ASSIGN TO "customers.dat"
           ORGANIZATION IS INDEXED
           ACCESS IS RANDOM
           RECORD KEY IS CUST-ID.

       SELECT INV-FILE ASSIGN TO "inventory.dat"
           ORGANIZATION IS INDEXED
           ACCESS IS RANDOM
           RECORD KEY IS ITEM-ID.

       SELECT TRANS-FILE ASSIGN TO "transactions.dat"
           ORGANIZATION IS LINE SEQUENTIAL.

       SELECT SORTED-TRANS-FILE ASSIGN TO "sorted-transactions.dat"
           ORGANIZATION IS LINE SEQUENTIAL.

       SELECT …
Run Code Online (Sandbox Code Playgroud)

cobol indexed file-access gnucobol

1
推荐指数
1
解决办法
756
查看次数

在COBOL中使用"NOT ON OVERFLOW"有什么用?

根据我UNSTRING的使用理解,如果在使用中ON OVERFLOW [INSTRUCTION]会出现溢出,则使用会很有用UNSTRING.

但如果没有溢出,你为什么要使用NOT ON OVERFLOW [INSTRUCTION]

唯一可行的实用程序NOT ON OVERFLOW [INSTRUCTION]是在没有溢出的情况下传递指令,但如果已经有了预期的结果,那将会使用什么UNSTRING

在这个例子中是否有任何具体的例子如何有用:

IDENTIFICATION DIVISION.
PROGRAM-ID. YOUR-PROGRAM-NAME.
DATA DIVISION.
FILE SECTION.


WORKING-STORAGE SECTION.
    01 WS-VAR1 PIC A(11) VALUE "Hello World".
    01 WS-VAR2 PIC A(5).
    01 WS-VAR3 PIC A(5).
    01 WS-COMPTEUR PIC 9 VALUE 2.

PROCEDURE DIVISION.
MAIN-PROCEDURE.
    INTO WS-VAR2 WS-VAR3
    WITH POINTER WS-COMPTEUR
    ON OVERFLOW DISPLAY "This string is too large"
    END-UNSTRING.

    DISPLAY WS-VAR2
    DISPLAY WS-VAR3.
    STOP RUN.
END …
Run Code Online (Sandbox Code Playgroud)

cobol gnucobol

1
推荐指数
1
解决办法
257
查看次数

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

我正在尝试将当前控制台显示输出到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. …
Run Code Online (Sandbox Code Playgroud)

cobol gnucobol

1
推荐指数
1
解决办法
55
查看次数

Cobol - 语法错误,意外的 $undefined,期待“文件结束”

我在 cobol 中的语法有问题。我在 Ubuntu 4.2.0-16-generic 上使用 open-cobol 包,但出现错误:

~/cobol$ cobc -free -x -o cal cal.cbl
cal.cbl:6: Error: syntax error, unexpected $undefined, expecting "end of file"
Run Code Online (Sandbox Code Playgroud)

我的 cal.cbl 文件:

IDENTIFICATION DIVISION.
PROGRAM-ID. cal.
ENVIRONMENT DIVISION.

DATA DIVISION.   
?? OPTION PIC 9 VALUE ZERO.
?? NUM1   PIC 9(5)V9(2) VALUE ZERO.
?? NUM2   PIC 9(5)V9(2) VALUE ZERO.
?? RESULT PIC 9(10)V9(2) VALUE ZERO.

PROCEDURE DIVISION.
ACCEPT OPTION.

DISPLAY "INSERT FIRST OPTION".
ACCEPT NUM1.
DISPLAY "INSERT SECOND OPTION".
ACCEPT NUM2.

STOP RUN.
Run Code Online (Sandbox Code Playgroud)

我是 cobolt …

linux syntax cobol gnucobol

0
推荐指数
1
解决办法
1209
查看次数

GnuCOBOL 报告编写器:语法错误,意外的 IS,期待 LEADING 或 TRAILING

安装了 GnuCOBOL 版本3.0-rc1.0以尝试最近添加的 Report Writer。试图在 Michael Coughlan 的 Beginning COBOL for Programmers 的第 18 章中编译第一个列表[PIC X(52) 是我对书中太小的 PIC X(51) 的修复]抛出错误:

Listing18-1.cbl:99: error: syntax error, unexpected IS, expecting LEADING or TRAILING
Listing18-1.cbl:99: error: PROCEDURE DIVISION header missing
Listing18-1.cbl:99: error: syntax error, unexpected .
Listing18-1.cbl:100: error: unknown statement '03'
Listing18-1.cbl:101: error: unknown statement '03'
Listing18-1.cbl:102: error: unknown statement '03'
Listing18-1.cbl:104: error: unknown statement '02'
Listing18-1.cbl:105: error: unknown statement '03'
Listing18-1.cbl:106: error: unknown statement '03'
Listing18-1.cbl:107: error: unknown statement …
Run Code Online (Sandbox Code Playgroud)

cobol gnucobol

0
推荐指数
1
解决办法
165
查看次数

标签 统计

cobol ×7

gnucobol ×7

file-access ×1

indexed ×1

linux ×1

syntax ×1