View previous topic :: View next topic
|
Author |
Message |
Lord.of.Wind
New User
Joined: 17 Nov 2005 Posts: 60
|
|
|
|
The COBOL is compiled in success. But when running JCL, it stopped in line 59 and RC=0. Quite confusing, could somebody help me? Many thanks!
COBOL:
Code: |
Command ===> Scroll ===> CSR
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID TST.
000003 ENVIRONMENT DIVISION.
000004 *****************************************************************
000005 INPUT-OUTPUT SECTION.
000006 *****************************************************************
000007 FILE-CONTROL.
000008 SELECT INFILE1 ASSIGN TO INPUT1
000009 FILE STATUS IS WS-INFILE1-STATUS.
000010 SELECT INFILE2 ASSIGN TO INPUT2
000011 FILE STATUS IS WS-INFILE2-STATUS.
000012 SELECT OTFILE1 ASSIGN TO OTPUT1
000013 FILE STATUS IS WS-OTFILE1-STATUS.
000014 DATA DIVISION.
000015 *****************************************************************
000016 FILE SECTION.
000017 *****************************************************************
000018 FD INFILE1
000019 RECORDING MODE IS F.
000020 01 INFILE1-REC.
000021 03 NUM1 PIC 9(10).
000022 FD INFILE2
000023 RECORDING MODE IS F.
000024 01 INFILE2-REC.
000025 03 NUM2 PIC 9(10).
000026 FD OTFILE1
000027 RECORDING MODE IS F.
000028 01 OTFILE1-REC.
000029 03 NUM3 PIC 9(11).
000030 03 FILLER PIC X(59).
000031 *****************************************************************
000032 WORKING-STORAGE SECTION.
000033 *****************************************************************
000034 01 WS-VAR.
000035 03 WS-NUM1 PIC 9(10).
000036 03 WS-NUM2 PIC 9(10).
000037 01 WS-INFILE1-STATUS PIC X(02).
000038 01 WS-INFILE2-STATUS PIC X(02).
000039 01 WS-OTFILE1-STATUS PIC X(02).
000040 01 WS-FILE-STATUS PIC X(02).
000041 88 FILE-OK VALUE '00'.
000042 88 FILE-END VALUE '10'.
000043 77 EOF-FLAG PIC X(01) VALUE 'N'.
000044 *****************************************************************
000045 PROCEDURE DIVISION.
000046 *****************************************************************
000047 DISPLAY 'TO OPEN FILES'.
000048 OPEN INPUT INFILE1 INFILE2
000049 OUTPUT OTFILE1.
000050
000051 DISPLAY 'TO READ FILE1'.
000052 READ INFILE1
000053 AT END DISPLAY 'INFILE1 IS END'.
000054 MOVE WS-INFILE1-STATUS TO WS-FILE-STATUS
000055 DISPLAY 'WS-INFILE1-STATUS: ' WS-INFILE1-STATUS
000056
000057 IF FILE-OK
000058 DISPLAY 'TO READ FILE2'
000059 READ INFILE2 AT END DISPLAY 'INFILE2 IS END'
000060 MOVE WS-INFILE2-STATUS TO WS-FILE-STATUS
000061 DISPLAY 'FILE2 STATUS: ' WS-FILE-STATUS
000062 DISPLAY 'TO DO LOOP'
000063 IF FILE-OK
000064 PERFORM 3000-LOOP THRU 3000-END UNTIL FILE-END
000065 END-IF
000066 END-IF.
000067 CLOSE INFILE1 INFILE2 OTFILE1.
000068
000069 STOP RUN.
000070 *****************************************************************
000071 3000-LOOP SECTION.
000072 *****************************************************************
000073 DISPLAY ' NUM1: ' NUM1
000074 DISPLAY '+NUM2: ' NUM2
000075 COMPUTE NUM3 = NUM1 + NUM2
000076 DISPLAY '=NUM3: ' NUM3
000077
000078 WRITE OTFILE1-REC.
000079 MOVE WS-OTFILE1-STATUS TO WS-FILE-STATUS
000080 IF NOT FILE-OK DISPLAY WS-OTFILE1-STATUS STOP RUN END-IF
000081
000082 READ INFILE1
000083 MOVE WS-INFILE1-STATUS TO WS-FILE-STATUS
000084 IF FILE-END DISPLAY 'INFILE1 IS END' END-IF
000085
000086 READ INFILE2
000087 MOVE WS-INFILE2-STATUS TO WS-FILE-STATUS
000088 IF FILE-END DISPLAY 'INFILE2 IS END' END-IF
000089 .
000090 3000-END.
****** **************************** Bottom of Data **************************** |
JCL script
Code: |
****** ***************************** Top of Data ******************************
000010 //CCC024R JOB (ACCT#),'CDC024',MSGCLASS=X,MSGLEVEL=(1,1),
000020 // CLASS=A,NOTIFY=&SYSUID
000030 //*
000040 //JOBLIB DD DSN=CCC024.TRN.LOADLIB,DISP=SHR
000050 //STEP000 EXEC PGM=IEFBR14
000060 //DEL01 DD DSN=CCC024.TEST.OUTFILE1,
000070 // DISP=(MOD,DELETE,DELETE),SPACE=(TRK,0)
000080 //*
000100 //STEP001 EXEC PGM=TST
000600 //INPUT1 DD DSN=CCC024.TEST.INFILE1,DISP=SHR
000700 //INPUT2 DD DSN=CCC024.TEST.INFILE2,DISP=SHR
000800 //OTPUT1 DD DSN=CCC024.TEST.OUTFILE1,
000900 // DISP=(NEW,CATLG,DELETE),
001000 // SPACE=(TRK,(5,5),RLSE),
001100 // DCB=(RECFM=FB,LRECL=70,BLKSIZE=0)
001610 //SYSOUT DD SYSOUT=*
001700 /*
****** **************************** Bottom of Data **************************** |
JCL SYSOUT
Code: |
SDSF OUTPUT DISPLAY CDC024R JOB05545 DSID 101 LINE 0 COLUMNS 02- 81
COMMAND INPUT ===> SCROLL ===> CSR
********************************* TOP OF DATA **********************************
TO OPEN FILES
TO READ FILE1
WS-INFILE1-STATUS: 00
TO READ FILE2
******************************** BOTTOM OF DATA ******************************** |
INFILE2 information:
Code: |
Data Set Name . . . . : CCC024.TEST.INFILE2
General Data Current Allocation
Management class . . : **None** Allocated tracks . : 5
Storage class . . . : **None** Allocated extents . : 1
Volume serial . . . : VPWRKH
Device type . . . . : 3390
Data class . . . . . : **None** Current Utilization
Organization . . . : PS Used tracks . . . . : 1
Record format . . . : FB Used extents . . . : 1
Record length . . . : 10
Block size . . . . : 50
1st extent tracks . : 5
Secondary tracks . : 15
Data set name type : SMS Compressible : NO
Creation date . . . : 2008/11/05 Referenced date . . : 2008/11/05
Expiration date . . : ***None*** |
|
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Hello,
I believe you'll need an explicit END-READ here. Or else the statements which follow will be interpreted as part of the AT END clause.
Code: |
READ INFILE2 AT END DISPLAY 'INFILE2 IS END' |
|
|
Back to top |
|
|
Bharath Bhat
Active User
Joined: 20 Mar 2008 Posts: 283 Location: chennai
|
|
|
|
Quote: |
I believe you'll need an explicit END-READ here. |
Or a period after the AT END statement. |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Quote: |
Or a period after the AT END statement. |
Bharath Bhat,
Nope. Period'll bring an end to the preceding IF FILE-OK also. |
|
Back to top |
|
|
Lord.of.Wind
New User
Joined: 17 Nov 2005 Posts: 60
|
|
|
|
You are very right and thank your very much! |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Quote: |
You are very right and thank your very much! |
You're welcome |
|
Back to top |
|
|
|