gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] question from a new user


From: David Korn
Subject: [open-cobol-list] question from a new user
Date: Mon Mar 31 11:05:19 2003

Subject: question from a new user  
--------

I just downloaded open cobol to evaluate whether it would be suitable
for some work that I am doing.  I am trying to convert some
cobol programs to C.  I have very little knowledge of Cobol.

I compiled open-cobol from the open-cobol-0.12 source.
However, with the first program I tried to convert, open cobol
is generating an error and then generating a core dump.

I have included the program below.  Here is the output that I
am getting:

$  cobc -I include -C  prog.cob
prog.cob:1: warning: source line over column 72
prog.cob:1: warning: specify source format explicitly
prog.cob:2: warning: source line over column 72
prog.cob:3: warning: source line over column 72
prog.cob:3: warning: source line over column 72
prog.cob:3: warning: more warnings inhibited
prog.cob:12: error: `UT-S-VMUR107A' undefined
Memory fault(coredump)

The error is coming from an ASSIGN statement.  Based on the COBOL
manual that I have, this would appear to be correct syntax.
Can anyone tell me why this program doesn't work and how it can
be changed so that the compiler can generate C code?

Thanks.

==========================prog.cob================================
000100 IDENTIFICATION DIVISION.                                         00000010
000200 PROGRAM-ID. VMURO107.                                            00000020
000300 AUTHOR. DAVID KORN.                                              00000030
000400 DATE-WRITTEN. JANUARY 2003.                                      00000040
000500 DATE-COMPILED.                                                   00000050
000600                                                                  00000060
002300/                                                                 00000230
002400 ENVIRONMENT DIVISION.                                            00000240
002500 INPUT-OUTPUT SECTION.                                            00000250
002600                                                                  00000260
002700 FILE-CONTROL.                                                    00000270
002800     SELECT CRIT-ERROR-FILE             ASSIGN UT-S-VMUR107A      00000280
002900         STATUS IS WK-CRIT-ERROR-STATUS.                          00000290
003000                                                                  00000300
003100 DATA DIVISION.                                                   00000310
003200 FILE SECTION.                                                    00000320
003300                                                                  00000330
003400 FD  CRIT-ERROR-FILE                                              00000340
003500     LABEL RECORDS STANDARD                                       00000350
003600     BLOCK 0 RECORDS                                              00000360
003700     RECORD 665 CHARACTERS                                        00000370
003900     DATA RECORD CRIT-ERROR-RECORD.                               00000390
004000                                                                  00000400
004100 01  CRIT-ERROR-RECORD.                                           00000410
004200     05  CRIT-ERROR-CODE        PIC X(04).                        00000420
004300     05  FILLER                 PIC X(01)  VALUE SPACES.          00000430
004400     05  CRIT-ERROR-POSITION    PIC X(09).                        00000440
004500     05  FILLER                 PIC X(01)  VALUE SPACES.          00000450
004600     05  CRIT-ERROR-REC         PIC X(650).                       00000460
004700/                                                                 00000470
004800 WORKING-STORAGE SECTION.                                         00000480
004900                                                                  00000490
005000 01  WK-STATUS.                                                   00000500
005100     05  WK-CRIT-ERROR-STATUS             PIC X(02).              00000510
005200         88  GOOD-CRIT-ERROR-STATUS           VALUE '00'.         00000520
005300/                                                                 00000530
005400 LINKAGE SECTION.                                                 00000540
005500                                                                  00000550
005600 01  LK-USAGE-RECORD             PIC X(650).                      00000560
005700 01  LK-USAGE-READ-CNT           PIC 9(09).                       00000570
005800 01  LK-CRIT-ERR-FIRST-TIME-IND  PIC X(01).                       00000580
005900 01  LK-RETURN-CODE              PIC X(02).                       00000590
006000 01  LK-ERROR-CODE               PIC X(04).                       00000600
006100/                                                                 00000610
006600                                                                  00000660
006700 PROCEDURE DIVISION USING LK-USAGE-RECORD                         00000670
006800                          LK-USAGE-READ-CNT                       00000680
006900                          LK-CRIT-ERR-FIRST-TIME-IND              00000690
007000                          LK-RETURN-CODE                          00000700
007100                          LK-ERROR-CODE.                          00000710
007200                                                                  00000720
007300 OPEN-WRITE-SECTION.                                              00000730
007400     IF LK-CRIT-ERR-FIRST-TIME-IND = 'Y'                          00000740
007500        OPEN OUTPUT CRIT-ERROR-FILE                               00000750
007600        IF NOT GOOD-CRIT-ERROR-STATUS                             00000760
007700           DISPLAY 'VMURO107: OPEN FILE ERROR  : STATUS '         00000770
007800                     WK-CRIT-ERROR-STATUS                         00000780
007900           MOVE '50' TO LK-RETURN-CODE                            00000790
008000           GO TO ENDJOB                                           00000800
008100        END-IF                                                    00000810
008200        MOVE 'N' TO LK-CRIT-ERR-FIRST-TIME-IND                    00000820
008300     END-IF.                                                      00000830
008400     MOVE  LK-USAGE-READ-CNT   TO CRIT-ERROR-POSITION.            00000840
008500     MOVE  LK-ERROR-CODE       TO CRIT-ERROR-CODE.                00000850
008600     MOVE  LK-USAGE-RECORD     TO CRIT-ERROR-REC.                 00000860
008700     WRITE CRIT-ERROR-RECORD.                                     00000870
008800     IF NOT GOOD-CRIT-ERROR-STATUS                                00000880
008900        DISPLAY 'VMURO107: WRITE FILE ERROR : STATUS '            00000890
009000                  WK-CRIT-ERROR-STATUS                            00000900
009100        MOVE '80' TO LK-RETURN-CODE                               00000910
009200        GO TO ENDJOB                                              00000920
009300     END-IF.                                                      00000930
009400 ENDJOB.                                                          00000940
009500     EXIT PROGRAM.                                                00000950
009600                                                                  00000960
009700     ENTRY 'CLCRTERR' USING LK-RETURN-CODE.                       00000970
009800     CLOSE CRIT-ERROR-FILE.                                       00000980
009900     IF NOT GOOD-CRIT-ERROR-STATUS                                00000990
010000        DISPLAY 'VMURO107: CLOSE FILE ERROR : STATUS '            00001000
010100                            WK-CRIT-ERROR-STATUS                  00001010
010200        MOVE '90' TO LK-RETURN-CODE                               00001020
010300     ELSE                                                         00001030
010400        NEXT SENTENCE                                             00001040
010500     END-IF.                                                      00001050
010600     GOBACK.                                                      00001060
010700/                                                                 00001070
013000/                                                                 00001300
015200/                                                                 00001520
016500/                                                                 00001650
017400/                                                                 00001740
018900/                                                                 00001890
==========================end prog.cob================================

David Korn
research!dgk
address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]