Pages

JCL


JOB

Identifies a job and supplies accounting info

EXEC

Identifies a job step by indicating the name of the pgm to be executed

DD

Identifies a dataset to be allocated for the job step

Delimiter(/*)

Marks the end of an instream dataset

Null(//)

Marks the end of a job

Comments(//*)

Provide comments

PROC

Marks the beginning of a procedure

PEND

Marks the end of a procedure

OUTPUT

Supplies options for SYSOUT processing


SYSPRINT

Utility program use it for their output

SYSOUT

to specify where to route the output produced by a job step. It defines the destination for the output, which can include printing on paper, writing to a dataset, or discarding the output.

A system defined DD name for file status codes, system abend codes, and the display statement output

SYSDUMP

to direct the system dump to the dataset when the job abends abnormally.

If the JOB is completed successfully, the system won't generate any dump even though SYSMDUMP is coded

SYSMDUMP produces a dump of the system areas and the program's address space.

The dumps are unformatted and machine-readable and are only ABEND dumps

SYSUDUMP

produces a dump of user areas. The dump is formatted and readable.

SYSUDUMP DD statement is used to direct the system to produce dump to the dataset when the job abends abnormally. If the JOB is completed successfully, the system won't generate any dump even though SYSUDUMP is coded.

SYSUT01/any-ddname

An input DD statement.

SYSUT02/any-ddname

Output DD statement

SYSUT03

Buffer memory for DD statements – for input

SYSUT04

Buffer memory for DD statements – for output

SYSIN

to provide the input source for programs or utilities in the JCL

to specify the dataset name for the input source that contains the control statements or data. The dataset can be either a PS or PDS

SYSABEND

to specify the system dump dataset in the JCL

If the JOB is completed successfully, the system will not generate any dump even though SYSABEND DD is coded.

SYSABEND produces the dump for the system, user areas, and the input-output control blocks for the failed task


STEPLIB

to specify one or more user-defined libraries at the step level where the load module resides.

When the job is submitted for execution, the system will search these libraries to find the load module running at the step.

A job can have multiple STEPLIB statements

a job step can have only one STEPLIB statement

 

//STEPLIB DD DSN=library-name,DISP=SHR 

 

JOBLIB

to specify one or more user-defined libraries at the job level where the load module resides.

When the job is submitted for execution, the system will search these libraries to find the load module running at each step.

 

//JOBLIB DD DSN=library-name,DISP=SHR

 

JCLLIB

to identify the private libraries used in the job. The libraries contain the cataloged procedures.

 

//[DDname]  JCLLIB  ORDER=(library1[,library2,...])

 

PROCLIB

is a system-level or user-defined library where commonly used procedures are stored.

It is a collection of reusable procedures, also known as cataloged procedures, that can be called by multiple jobs.

PROCLIB should code before the first EXEC statement in the job

 

/PROCLIB DD DSN=proclib-name...


COPYLIB

is a DD statement used to code the copybook PDS in the compilation step (IGYCRCTL step) of the JCL at the compilation time.

COPYLIB is a private library (PDS), and each member contains the copybook layout that is used by many application programs.

 

/COPYLIB DD DSN=library-name,DISP=SHR

 


JOB Card Keyword Parameters

CLASS

to classify the jobs. The classification is based on how much time they are running. i.e., SHORT RUN or LONG RUN jobs

Syntax - CLASS=class-character

class-character represents a single character value (A to Z, 0 to 9)

 

MSGCLASS 

to specify the output device to where the system and JCL messages are routed (written and printed).

Syntax - MSGCLASS=msg-class-value

msg-class-value represents a single character, and it allows alphabets (A to Z) and numbers (0 to 9).

 

MSGLEVEL 

controls the printing of job messages in the output listing or job log (i.e., in the SPOOL by default).

Syntax - MSGLEVEL=([statements][,execution-status])

statements - Specifies what JCL statements/messages to print in the output listing. It is optional and valid values from 0 to 2.

0 - Only JOB Statements.

1 - All Statements.

2 - Only JCL statements.

execution-status - Specifies when to print the job related messages in the spool. It is optional and valid values are 0-1.

0 - Print allocation and termination messages only when JOB ended abnormally.

1 - Print allocation and termination when JOB ended either normally or abnormally

 

PRTY 

to assign a selection priority to jobs.

Syntax - PRTY=priority-number

priority-number Specifies the priority number value ranges from 0-15 in JES2 and 0-14 in JES3. Higher number will have the higher priority during the execution.

 

TIME

to specify the maximum CPU utilization time allowed for the job to execute. The system will automatically cancel the job execution if the execution time exceeds the specified time.

Syntax - TIME={([minutes][,seconds])} {1440 } {NOLIMIT } {MAXIMUM }

minutes - value should be from 0 through 357912 (248.55 days).

Seconds - value should be between 0 to 59 seconds.

NOLIMIT - Specifies that the job can use the processor for an unlimited time.

1440 - Specifies that the job can use the processor for 24 hours.

MAXIMUM - JOB can use the processor for 248.55 days (357912 minutes).

 

 

REGION 

 

to specify the amount of central or virtual memory required to execute the job.

Syntax - REGION={ValueK/ValueM}

ValueK - ValueK is used to specify the storage in Kilobytes. The value is the 7-digit value from 1 through 2096128KB (2047 MB or 2 GB).

ValueM – ValueM is used to specify the storage in Megabytes. The value is the 4-digit value from 1 through 2047 MB (2 GB)

 

 

NOTIFY 

 

to notify the user about the job status (either successful or unsuccessful).

Syntax - NOTIFY=&SYSUID|USERID

&SYSUID - The system identifies the userid who submits the job and sends the notification.

USERID - Specifies the TSO userid to notify.

 

RESTART 

to restart the job execution from a specific step

Syntax - RESTART=stepname[.procname]

Stepname - Specifies the step name where the execution should start.

Procname - Specifies the PROC name in which procedure the RESTART step is coded.

 

COND

to specify conditional processing within a JCL. It helps to validate the return code to determine whether a job will continue processing or not. The job processing will continue when the condition is false and terminates when the condition is true.

Syntax - COND=(return-code/RC,operator/RO)

RC/Return-code - RC is the Return Code of the precious step. The valid RC values are from 0 to 4095.

RO/Operator - RO is the Relational Operator used to validate the return code. The valid Relational Operator are - GT, GE, EQ, LT, LE, NE.

 


 

Temporary PS

Temporary pds

//NEWPS  DD DSN=&&TEMPPS,

//          DISP=(NEW,PASS,),

//          UNIT=SYSDA,

//          SPACE=(TRK,(3,2),RLSE),

//          DCB=(DSORD=PS,RECFM=FB,

            LRECL=500,BLKSIZE=5000)

//NEWPS    DD DSN=&&TEMPPDS(MEMBER),

//            DISP=(NEW,PASS,),

//            UNIT=SYSDA,

//            SPACE=(TRK,(3,2,2),RLSE),

//            DCB=(DSORD=PO,RECFM=FB,

                LRECL=80,BLKSIZE=800)

 

JES2

allocation of dataset for all the steps before the job is scheduled

JES3

allocation of dataset required by a step are done only just before the step executes


No comments:

Post a Comment