How do you submit JCL via a Cobol program?
Answers were Sorted based on User's Feedback
Answer / abhinandan
Below is explanation with example:-
THE BELOW GIVEN IS AN EXAMPLE OF HOW TO SUBMIT A JCL FROM A
COBOL PGM:
============================================================
============
COBOL CODE WHICH HAS THE JCL STATEMENTS:
=========================================
IDENTIFICATION DIVISION.
PROGRAM-ID. PROG55.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN DDFILE1
ORGANIZATION IS SEQUENTIAL
FILE STATUS IS IN-STATUS.
DATA DIVISION.
FILE SECTION.
FD IN-FILE.
01 IN-REC PIC X(80).
WORKING-STORAGE SECTION.
01 IN-STATUS PIC X(2).
PROCEDURE DIVISION.
OPEN OUTPUT IN-FILE.
DISPLAY IN-STATUS.
MOVE '//SORT002 JOB MSGCLASS=X,CLASS=T,' TO IN-
REC.
WRITE IN-REC.
MOVE '// MSGLEVEL=(1,1),NOTIFY=XXXXX'
TO IN-
REC.
WRITE IN-REC.
MOVE '//STEPDEF EXEC PGM=IEFBR14' TO IN-
REC.
WRITE IN-REC.
MOVE '//DATA1 DD DSN=TNL.PV.INTRDR.SAMF,DISP=
(NEW,CATLG),'
TO IN-
REC.
WRITE IN-REC.
MOVE '// LRECL=80' TO IN-
REC
WRITE IN-REC.
DISPLAY IN-STATUS.
CLOSE IN-FILE.
STOP RUN.
THIS IS THE JCL TO RUN THE ABOVE COBOL PGM 'PROG55' FROM
ENDEVOR LIBRARY.
Note: '//DDFILE1 DD SYSOUT=(*,INTRDR)' USED BELOW.
ALSO THE DDFILE1 IS USED AS THE DD NAME IN THE ABOVE COBOL
PGM
============================================================
===============
EDIT ,xxxxx.GENERAL.JCL(INTR1) - 01.03
******,***************************** Top of Data
******************************
000001,//XXXXX98 JOB CLASS=A,
000002,// MSGCLASS=X,TIME=NOLIMIT,
000003,// NOTIFY=&SYSUID,
000004,// MSGLEVEL=(1,1)
000005,//STEP0010 EXEC PGM=PROG55
000006,//DDFILE1 DD SYSOUT=(*,INTRDR)
000007,//SYSPRINT DD SYSOUT=*
000008,//SYSUDUMP DD SYSOUT=*
000009,//STEPLIB DD DSN=PMI.CR.SUPT.LOADLIB,DISP=SHR
000010,//SYSIN DD DUMMY
******,**************************** Bottom of Data
****************************
THIS IS THE JOB THAT IS CREATED & SUBMITTED BY THE COBOL
PGM:
============================================================
===
SYSVIEW ISPF1 RCEM --------------,Job Queues,-------
26Jan08 11:08:50
,* ,ALL, ,ALL ,ALL ,
Cmd Jobname Type Jobnr Queue Stat|
CCode
,SORT002 JOB 93409 OUTP
HLDC,..................... 0,
********************************* End of Data
*********************************
THIS NEW JCL CONTAINS THE BELOW GIVEN JCL STATEMENTS:
======================================================
******,***************************** Top of Data
******************************
000001,//SORT002 JOB MSGCLASS=X,CLASS=T,
000002,// MSGLEVEL=(1,1),NOTIFY=XXXXX
000003,//* $ACFJ219 ACF2 ACTIVE RCEMP1
000004,//STEPDEF EXEC PGM=IEFBR14
000005,//DATA1 DD DSN=TNL.PV.INTRDR.SAMF,DISP=(NEW,CATLG),
000006,// LRECL=80
******,**************************** Bottom of Data
****************************
| Is This Answer Correct ? | 18 Yes | 3 No |
Answer / guest
In your JCL define as //JOBA JOB 1111, JOB1 //STEP01 EXEC
PGM=PROG1 //ddname DD SYSOUT=(*,INTRDR)....and your
COBOL(PROG should look like this SELECT JCL-FILE ASSIGN TO
ddname. Open this file and write the JCL statements into
this file. E.g. MOVE '//TESTJOB JOB 1111,VISVEISH' TO
JCL-REC.MOVE '//STEP01 EXEC PGM=IEFBR14' TO JCL- REC and
close this file. Then TESTJOB will be submitted.
| Is This Answer Correct ? | 14 Yes | 0 No |
My requirement is : How to populate a empty PS/flat file with ONLY spaces in the first line. You should not use any input dataset to do this. I'm not sure whether you may use any utility for this purpose?
How to execute 300 steps in a Job?
When space is allocated for an output dataset, what units can be used?
how to run JCL thru COBOL.
Using DELETE what type of file can you delete? a)SEQUENTIAL FILE B)INDEXED FILE C) D) Some options were there..i cant remember
//ERFDS JOB //STEP1 //STEP2 //STEP3...COND=(4,LT) //STEP4 1.CONDITION IN STEP3 REFERS TO WHICH STEP'S RETURN CODE (STEP1 OR STEP2)? 2.IN ABOVE PROGRAM IF CONDITION SATISFIES IN STEP3 WHICH STEPS WILL EXECUTE?? AND WHY? IF CONDITION IN STEP3 SATISFIES
Min no of member?s (PDS) in one directory block?
how do u define a file in cobol and jcl ?
My JOB contains three steps. //STEP1 EXEC PGM=ABC //STEP2 EXEC PGM=DEF //STEP3 EXEC PGM=GHI My Question is 1) I want to execute second step only. How will do. 2) Soppose U consider above three steps are in PROC steps and I want execute the PROC second step only? How to execute the second step only. During exection time its creating any ABEND? Please let me know..........
What is GDG and what is the maximum limit of versions that can be created?
how to compare two datasets without using superce because output is limited to 133 bytes
how to identify the file used in the JCL is an VSAM file. Just seeing the JCL code how can we track the file as VSAM file?