I have this COBOL program in my mainframe:
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST2.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT DATOS ASSIGN TO INPUTFL.
DATA DIVISION.
FILE SECTION.
FD DATOS.
01 REG-DAT.
05 ID-LB PIC 9(10).
05 TITULO PIC X(16).
05 GEN-1 PIC X(8).
05 GEN-2 PIC X(11).
05 STOCK PIC 99.
05 FILLER PIC X(33).
WORKING-STORAGE SECTION.
01 FIN PIC X VALUE 'N'.
PROCEDURE DIVISION.
1000-ABRIR.
OPEN INPUT DATOS
PERFORM 2000-LEER UNTIL FIN = 'S'
CLOSE DATOS
STOP RUN.
2000-LEER.
READ DATOS
AT END MOVE 'S' TO FIN
NOT AT END PERFORM 2100-MOSTRAR.
2100-MOSTRAR.
DISPLAY 'ID LIBRO: ' ID-LB.
DISPLAY 'TITULO: ' TITULO.
DISPLAY 'GENERO PRINCIPAL: ' GEN-1.
DISPLAY 'GENERO SECUNDARIO: ' GEN-2.
DISPLAY 'STOCK: ' STOCK.
DISPLAY '--------------------------------'.
Before testing it I must compile it but when I run the JCL it pops me a 0012 error.
This is the JCL:
//HERC0101 JOB (COBOL),
// 'COBOL COMPILATION',
// CLASS=A,
// MSGCLASS=H,
// REGION=8M,TIME=1440,
// NOTIFY=HERC01,
// MSGLEVEL=(1,1)
//******************************************************************
//*
//* THIS JOB HAS AS PURPOSE COMPILE THE COBOL CODE
//* PROCEDURE LOCATED @ SYS2.PROCLIB(COBOL)
//*
//******************************************************************
//COMPILE EXEC COBOL,
// PROG='TEST2',
// PDSF='MBVT.APPLICBC.SRC',
// PDSL='MBVT.APPLICBC.LOAD'
/*
//
I’ve tried using another and simpler code, like this one:
IDENTIFICATION DIVISION.
PROGRAM-ID. TEST2.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
DISPLAY 'HOLA MUNDO!!'.
STOP RUN.
And the JCL compiled it correctly, but with the other it showed me this error:
IEF202I HERC0101 LKED COMPILE - STEP WAS NOT RUN BECAUSE OF CONDITION CODES
The log shows all the procedure and after showing the code it shows this:
7 IKF1155I-W DEVICE CLASS INVALID IN SYSTEM-NAME. SKIPPING TO NEXT FIE
7 IKF1141I-W FILE ORGANIZATION FIELD INVALID IN SYSTEM-NAME. SEQUENTI
7 IKF1157I-E EXTERNAL-NAME NOT PRESENT IN SYSTEM-NAME.
7 IKF1017I-E IS INVALID IN SELECT CLAUSE. SKIPPING TO NEXT CLAUSE.
6 IKF2133I-W LABEL RECORDS CLAUSE MISSING. DD CARD OPTION WILL BE TAKE
28 IKF4052I-E NOT MAY NOT BE TARGET FIELD FOR ALPHANUMERIC LITERAL
AND IS DISCARDED.
28 IKF4052I-E AT MAY NOT BE TARGET FIELD FOR ALPHANUMERIC LITERAL (
AND IS DISCARDED.
28 IKF4052I-E END MAY NOT BE TARGET FIELD FOR ALPHANUMERIC LITERAL
AND IS DISCARDED.
29 IKF4072I-W EXIT FROM PERFORMED PROCEDURE ASSUMED BEFORE PROCEDURE-NA
Juan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.