job control language l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Job Control Language PowerPoint Presentation
Download Presentation
Job Control Language

Loading in 2 Seconds...

play fullscreen
1 / 54

Job Control Language - PowerPoint PPT Presentation


  • 306 Views
  • Uploaded on

Job Control Language. Bhargava KC Extension: 52067 E&R Rotunda, II Floor, Cubicle 15 Email: bhargava_sastry@infy.com. JOB CONTROL LANGUAGE For IBM Mainframe System 390. Pre-requisites. Programming Fundamentals. MVS Operating system and its subsystem TSO. Navigating through ISPF.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Job Control Language


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
job control language
Job Control Language

Bhargava KC

Extension: 52067

E&R Rotunda, II Floor, Cubicle 15

Email: bhargava_sastry@infy.com

ER/CORP/CRS/OS02/003-1

slide2

JOB CONTROL LANGUAGE

For IBM Mainframe System 390

ER/CORP/CRS/OS02/003-1

slide3

Pre-requisites

  • Programming Fundamentals.
  • MVS Operating system and its subsystem TSO.
  • Navigating through ISPF.

ER/CORP/CRS/OS02/003-1

slide4

Evaluation Scheme

  • Quiz : 20 Marks

( Conducted after 2 sessions of Input )

  • OLE : 80 Marks

ER/CORP/CRS/OS02/003-1

slide5

References

# Title Authors Publishers

1. MVS JCL Doug Lowe Mike Murarch and Associates

2. System 370/390 JCL GD Brown

3. IBM Manuals

ER/CORP/CRS/OS02/003-1

slide6

Objectives of the Course

To acquaint participants to the specific nature of Job Control Language.

To illustrate the syntax of JCL.

To demonstrate the JCL programs, procedures, Various Data set allocation mechanisms, IBM Utilities

To acquaint the participants regarding the importance of VSAM, GDGs, and concepts of SMS.

ER/CORP/CRS/OS02/003-1

slide7

Objectives of the Session

To learn about JES as a Sub system and its functions.

About JCL syntax in general

About Job statement.

Some sample examples.

ER/CORP/CRS/OS02/003-1

slide8

JOB AND A JCL

A JOBis the execution of one or more related programs

in sequence. Each Program to be executed by a Job is

Called a Step.

Ex: The first program sorts customer names in a sequence

The second program generates a report .

Job Control Language is a set of control statements that

Provides specifications necessary to process a Job.

ER/CORP/CRS/OS02/003-1

slide9

J

C

L

JOB

CONTROL

LANGUAGE

ER/CORP/CRS/OS02/003-1

slide10

JES

interprets

JCL and

passes it

to

MVS

Determine

the

job

Create

the

JCL

Submit

the

JOB

MVS does

the work

System

Messages

JES

collects

the output

and information

about

the JOB

User

Views and

Interprets

output

ER/CORP/CRS/OS02/003-1

why jcl
WHY JCL ???
  • MVS operating system is designed to work in the batch processing mode
  • JCL is a powerful and flexible language that helps to customize the use of local and remote resources available to one or more computers

ER/CORP/CRS/OS02/003-1

difference between batch interactive processing
Batch processing

Jobs submitted are executed at later time

User can not interact

Performance measure is throughput

Snapshot of output is used for debugging

Interactive processing

Jobs submitted are executed immediately

User can interact

Performance measure is response time

Interactive debugging

Difference between batch & interactive processing

ER/CORP/CRS/OS02/003-1

various stages of jcl execution
Various stages of JCL execution
  • Input
  • Conversion
  • Execution
  • Output
  • Hard copy
  • Purge

ER/CORP/CRS/OS02/003-1

slide14

Various stages of JCL execution

  • Input JES gives a unique job number
  • Conversion Check syntax error & Place it in JES spool
  • Initiator Taking the job from the spool and sending it for execution
  • Output sends the output to printer
  • Purge After job is processed,it is purged

ER/CORP/CRS/OS02/003-1

slide15

Stages of Job Processing - INPUT

Job entry or input is how jobs are entered

into the system.

Several methods are :

  • Local and remote card readers
  • Via a started procedure
  • Internal reader
  • From another system via network job entry

ER/CORP/CRS/OS02/003-1

slide16

Stages of Job Processing - INPUT

INPUT

MVS

SPOOL

JCL

SYSIN

JES

During input processing , the job is placed out on spool.

At this point in time, a job consists of :

  • Any JOB Control Language
  • Any JOB Entry Control Language (JECL) in the Input Stream
  • Any data SYSIN in the Input Stream

An entry is initialized in the Jobqueue and the job is assigned a

JES Job Number as part of Input Processing

ER/CORP/CRS/OS02/003-1

slide17

Stages of Job Processing -CONVERSION

SPOOL

MVS

JCL

SYSIN

JES

PROCLIB

PROC

  • Input to the conversion process consists of the Original JCL and
  • any cataloged procedure referenced by it
  • Full Syntax checking of the JCL is done at this time
  • During conversion the JCL for a job is converted to its internal
  • form, known as Converter/Interpreter text. All of the jobs that
  • were marked awaiting conversion in the job Queue are converted

ER/CORP/CRS/OS02/003-1

slide18

Stages of Job Processing -CONVERSION

JOB INTERPRETER - JES2

  • JES2 gives job to idle initiator

PAY

JCL

INTERPRETER

  • Initiator attaches the interpreter
  • to build control blocks

PAY

CONTROL

BLOCKS

  • Control blocks used to start job
  • in initiator

JES2

ADDRESS

SPACE

INITIATOR

ADDRESS

SPACE

ER/CORP/CRS/OS02/003-1

slide19

Stages of Job Processing -CONVERSION

JOB INTERPRETER - JES3

  • JES Attaches the interpreter

PAY

JCL

  • Interpreter builds the control
  • blocks in the JES address space

INTERPRETER

  • JES passes the CONTROL
  • blocks to an idle initiator to
  • start execution.

PAY

CONTROL

BLOCKS

JES3

ADDRESS

SPACE

INITIATOR

ADDRESS

SPACE

ER/CORP/CRS/OS02/003-1

slide20

Stages of Job Processing - EXECUTION

  • Initiator Invokes a program called Interpreter which goes thru the
  • Job Input and creates a series of Control blocks in Scheduler
  • Work Area , a part of Address space Private Area.
  • 2. It then invokes Allocation routines that decides on what resources
  • the Job step needs in terms of Units , Volumes and Data sets.
  • 3. Initiator then builds a User region where the User’s program
  • is loaded , control is transferred to Program and the program gets
  • executed.
  • When the Program execution is over Initiator invokes deallocation
  • routines to release all the resources that are used.

ER/CORP/CRS/OS02/003-1

slide21

Stages of Job Processing - EXECUTION

  • INITIATOR is responsible for the EXECUTION step of the Job

Initiator Eligible Job classes

1 A

2 B,C,D,H,L,T

3 B,C,D,H,L,T

4 B,C

5 B,C

6 C

ER/CORP/CRS/OS02/003-1

slide22

Stages of Job Processing - EXECUTION

  • JES selects a job for execution , based upon job CLASS
  • and job selection PRTY
  • ex. //PAY JOB PRTY=8,CLASS=A
  • Allocation ( of data sets and devices necessary for execution )
  • is performed.
  • If the program reads any ‘ SYSIN’ data, a copy will be read
  • from Spool and presented to the program.
  • If the program creates any ‘SYSOUT’ data, it will be
  • ‘Spooled’, rather than sent directly to an output device.

ER/CORP/CRS/OS02/003-1

slide23

Stages of Job Processing - OUTPUT

  • After the job has terminated, the output created is
  • analysed and grouped according to SYSOUT
  • class and output characteristics
  • Entries are then created in the Job Output Table
  • (JOT) to reflect these various groupings

ER/CORP/CRS/OS02/003-1

slide24

Stages of Job Processing - HARDCOPY

  • During this phase, job output characteristics and
  • the output is sent to the physical devices.

ER/CORP/CRS/OS02/003-1

slide25

Stages of Job Processing - PURGE

  • During Purge processing, all of the resources allocated
  • to the job in earlier phases can be freed for re-use.
  • These include :
  • Spool Space
  • Jobqueue space
  • JES job number

ER/CORP/CRS/OS02/003-1

jcl processing
JCL PROCESSING

INPUT

STREAM

SPOOL

JES2 /

JES3

JCL

SYSIN

SYSOUT

INITIATOR2

PRINTER

INITIATOR1

JES2 /

JES3

ER/CORP/CRS/OS02/003-1

jcl execution
JCL execution

JCL INITIATION

STEP INITIATION

JCL

ALLOCATION

SYSIN

SYSOUT

PROGRAM EXECUTION

STEP TERMINATION

JOB TERMINATION

ER/CORP/CRS/OS02/003-1

slide28

QUESTIONS ???

  • JCL is used to write an application program ?
  • Yes/No
  • What are the different stages of JCL processing ?

ER/CORP/CRS/OS02/003-1

jcl statements
JCL statements
  • JOB Job identification
  • EXEC Instruction for execution
  • DD Source of data to operate

ER/CORP/CRS/OS02/003-1

type of statements
TYPE OF STATEMENTS
  • JOB CONTROL STATEMENTS
  • UTILITY CONTROL STATEMENTS

ER/CORP/CRS/OS02/003-1

basic format of a jcl
Basic Format of a JCL :
  • JCL statements are coded in 80 byte records -
    • Only 72 of the 80 chars available to code JCL -
      • last eight columns of each record reserved for an optional sequence number

ER/CORP/CRS/OS02/003-1

basic format of a jcl32
Basic Format of a JCL :

JCL FIELD NAMES

  • Identifier field
  • NAME field
  • OPERATION field
  • PARAMETER field
    • Positional
    • Keyword
  • COMMENT field

ER/CORP/CRS/OS02/003-1

jcl statement format
JCL STATEMENT FORMAT

//P123 JOB 1234,AMLAN,CLASS=E JOBSTATEMENT

Name Parameters

Operation

IdentifierComment

ER/CORP/CRS/OS02/003-1

basic format of a jcl34
Basic Format of a JCL : ...

Identifier [Name] [Operation] [Parameters] [Comments]

  • Identifier
      • Two slashes ( // ) starting in col 1.
        • Exceptions -
          • 1) For a delimiter statement, /* starting in col 1
          • 2) For a comment statement , //* starting at col 1
  • Name
      • One to eight alphanumeric , starting with a letter char. Starts from col 3. Valid chars A-Z,0-9 or national characters ( # , @ , $ )

ER/CORP/CRS/OS02/003-1

basic format of a jcl35
Basic Format of a JCL : ...
  • Operation
    • A valid operation code, such as JOB, EXEC or DD. Must be preceded and followed by a space.
  • Parameters
    • One or more parameters depending on the operation. Individual parameters are separated from one another by commas, no intervening spaces.
  • Comments
    • comments may follow parameters, preceded by one space and not extending beyond col 71

ER/CORP/CRS/OS02/003-1

jcl parameters
JCL parameters :
  • JCL parameters :
    • 1) Positional parameters -
      • Must occur at a specific position within the parameters field
      • account for a missing parameter by a comma
    • 2) Keyword parameters -
      • UNIT=SYSDA ( no spaces )
        • UNIT is a keyword parameter of value SYSDA
      • Keyword parameters to come only after all positional parameters have been coded, order of keyword parameters immaterial

ER/CORP/CRS/OS02/003-1

jcl subparameters
JCL subparameters :
  • DCB=(DSORG=PO,LRECL=80,BLKSIZE=6160)
  • DCB=(DSORG=PO) DCB=DSORG=PO
  • DISP=(,DELETE)

Comma place holders are required only for missingpositional subparameters.

ER/CORP/CRS/OS02/003-1

continuing jcl statements
Continuing JCL statements: ...
  • Break the parameter field with the comma that follows a parameter or sub-parameter
  • Slashes in column 1 & 2 of following line
  • Next parameter or sub parameter starting anywhere between columns 4 - 16
  • //SYSUT2 DD DSNAME=...,DISP=...,// UNIT=SYSDA,VOL=SER=MPS800,// SPACE=(CYL,(10,5,2)),// DCB=DSORG=PO

( X ) Avoid continuing comments from line to line.

ER/CORP/CRS/OS02/003-1

guidelines
Guidelines :
  • JCL cryptic :
    • Code just one or two parameters per line
    • align the operation and parameters fields of each statement
    • begin job with a group of comment statements that document a job thoroughly
      • Name, date of coding, what each job step does, any special processing requirements
      • Don’t forget to update comments !

ER/CORP/CRS/OS02/003-1

jcl statements40
JCL statements
  • JOB Job identification
  • EXEC Instruction for execution
  • DD Source of data to operate

ER/CORP/CRS/OS02/003-1

job statement
JOB STATEMENT

ACCT CLASS

NAMENOTIFY

MSGLEVEL TYPRUN

MSGCLASS PRTY

COND RESTART

USER REGION

PASSWORD PERFORM

TIME

ER/CORP/CRS/OS02/003-1

slide42

IMPORTANT JOB PARAMETERS

positional parameters

( a/c inf ),name

ex. //INFOSYSA JOB (A123),AMLAN

  • All these parameters are optional as far as JCL is concerned,
  • they are probably required by your installation.

ER/CORP/CRS/OS02/003-1

slide43

IMPORTANT JOB PARAMETERS

keyword parameters

( CLASS )

ex. //INFOSYSA JOB CLASS=A

  • CLASS specifies the job class that is the nature of the job.
  • Installation will specify which of the 36 possible classes to use
  • which is from A to Z and 0 to 9 .
  • Installation establishes a default class that is in effect if CLASS
  • is omitted.

ER/CORP/CRS/OS02/003-1

slide44

IMPORTANT JOB PARAMETERS

keyword parameters

( MSGCLASS )

ex. //INFOSYSA JOB MSGCLASS=A

  • MSGCLASS specifies the job scheduler message output class.
  • Job scheduler messages include all messages not printed by the
  • job steps being executed but the JCL messages and system messages
  • Installation establishes a default class that is in effect if CLASS
  • is omitted.

ER/CORP/CRS/OS02/003-1

slide45

IMPORTANT JOB PARAMETERS

keyword parameters

( MSGLEVEL )

ex. //INFOSYSA JOB MSGLEVEL=(1,1)

  • MSGLEVEL(jcl,allocations) specifies the printing of JCL
  • statements and allocation messages.
  • ex. MSGLEVEL(0,1) will print only JOB statement, and
  • all the allocation,JES,SMS and operator messages
  • By default it is MSGLEVEL(1,1)

ER/CORP/CRS/OS02/003-1

slide46

keyword parameters

( MSGLEVEL )

MSGLEVEL=(X,Y)

Where X is 0 thru 2 , Y is 0 thru 1

X = 0 , Lists Job statements only.

X = 1 , Lists all User JCL + All catalogued procedures.

X = 2 , Lists all User JCL but no catalogued procedures.

Y = 0 , No Initiator/terminator messages to be listed.

Y = 1 , All initiator/terminator messages to be listed.

ER/CORP/CRS/OS02/003-1

slide47

IMPORTANT JOB PARAMETERS

keyword parameters

( NOTIFY )

ex. //INFOSYSA JOB NOTIFY=INFOSYS

  • NOTIFY notifies you at a time-sharing terminal when the job is
  • completed.

ER/CORP/CRS/OS02/003-1

slide48

IMPORTANT JOB PARAMETERS

keyword parameters

( TYPRUN )

ex. //INFOSYSA JOB TYPRUN=SCAN

  • TYPRUN checks the JCL and holds the job in the input queue.
  • TYPRUN = SCAN checks the JCL for syntax errors and suppresses execution
  • of the job
  • TYPRUN = HOLD holds the JCL in the input queue for later execution.It is held
  • until the operator releases it.
  • TYPRUN = JCLHOLD(JES2 only) similar to HOLD but the difference is it is
  • checked while it is not with the HOLD option.
  • TYPRUN = COPY(JES2 only) lists or duplicates the lines placed in the JOB
  • statement to the class assigned in the MSGCLASS parameter and suppresses
  • execution.

ER/CORP/CRS/OS02/003-1

slide49

SOME OTHER keyword JOB PARAMETERS

  • PRTY=priority : is related to the CLASS parameter. It assigns
  • priority to jobs which belong to the same class.priority numbers
  • range from (0-14) or (0-15) depending on installations.
  • TIME=(min,sec) : signifies how much time the JOB must take to run.
  • RESTART=STEP3 :Forces the JOB execution to start from STEP3.

ER/CORP/CRS/OS02/003-1

slide50

SOME OTHER keyword JOB PARAMETERS

  • ADDRSPC=REAL : It is used to specify whether the program is
  • to use REAL or VIRTual ADDRess SPaCe. Default is Virtual. If
  • Real is coded then the REGION parameter is also to be coded.
  • REGION=96K :To override the default amount of workspace
  • assigned for the job.
  • COND=(4,LT) :Permits the execution of a steps to depend on the
  • return code from the previous steps.Will be dealt in detail in Day2.

ER/CORP/CRS/OS02/003-1

errors
Errors
      • JCL syntax errors.
      • JOB will not be executed
      • JCL allocation errors.
      • JES2-subsequent steps will not get executed.
  • JES3-detects errors in the beginning.

ER/CORP/CRS/OS02/003-1

abend failures
Abend Failures

An ABEND failure occurs under the following conditions:

A program while executing, attempts to perform an instruction or operation which the system recognizes as being impossible or unacceptable.

ER/CORP/CRS/OS02/003-1

causes of abend failures
Causes of Abend Failures
  • Logic error
  • JCL error
  • Resource unavailability
  • Exceeding limits (Time or Space on DASD)
  • Hardware Malfunction
  • User ABENDS
  • Operator intervention
  • Operating System failure

ER/CORP/CRS/OS02/003-1

slide54

That’s all for

DAY

1

ER/CORP/CRS/OS02/003-1