Job Control Language - PowerPoint PPT Presentation

About This Presentation
Title:

Job Control Language

Description:

X = 2 , Lists all User JCL but no catalogued procedures. Y = 0 , No Initiator/terminator messages to be listed. Y = 1 , ... – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 55
Provided by: AMLAN
Category:

less

Transcript and Presenter's Notes

Title: Job Control Language


1
Job Control Language
Bhargava KC Extension 52067 ER Rotunda, II
Floor, Cubicle 15 Email bhargava_sastry_at_infy.com
2
JOB CONTROL LANGUAGE For IBM Mainframe System
390
3
Pre-requisites
  • Programming Fundamentals.
  • MVS Operating system and its subsystem TSO.
  • Navigating through ISPF.

4
Evaluation Scheme
  • Quiz 20 Marks
  • ( Conducted after 2 sessions of Input )
  • OLE 80 Marks

5
References
Title Authors
Publishers 1.
MVS JCL Doug Lowe
Mike Murarch and Associates 2.
System 370/390 JCL GD Brown 3.
IBM Manuals

6
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.

7
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.

8
JOB AND A JCL

A JOB is 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.




9
J
C
L
JOB
CONTROL
LANGUAGE
10
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
11
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

12
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

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

14
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

15
  • 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

16
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
17
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

18
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
19
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
20
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 Users 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.


21
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
22
Stages of Job Processing - EXECUTION
  • JES selects a job for execution , based upon job
    CLASS
  • and job selection PRTY
  • ex. //PAY JOB PRTY8,CLASSA
  • 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.

23
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

24
Stages of Job Processing - HARDCOPY
  • During this phase, job output characteristics
    and
  • the output is sent to the physical devices.

25
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

26
JCL PROCESSING
INPUT STREAM
SPOOL
JES2 / JES3
JCL
SYSIN
SYSOUT
INITIATOR2
INITIATOR1
PRINTER
JES2 / JES3
27
JCL execution
JCL INITIATION
STEP INITIATION
JCL
ALLOCATION
SYSIN
SYSOUT
PROGRAM EXECUTION
STEP TERMINATION
JOB TERMINATION
28
QUESTIONS ???
  • JCL is used to write an application program ?
  • Yes/No
  • What are the different stages of JCL processing ?

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

30
TYPE OF STATEMENTS
  • JOB CONTROL STATEMENTS
  • UTILITY CONTROL STATEMENTS

31
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

32
Basic Format of a JCL
  • JCL FIELD NAMES
  • Identifier field
  • NAME field
  • OPERATION field
  • PARAMETER field
  • Positional
  • Keyword
  • COMMENT field

33
JCL STATEMENT FORMAT
  • //P123 JOB 1234,AMLAN,CLASSE JOBSTATEMENT
  • Name Parameters
  • Operation
  • Identifier Comment

34
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 ( , _at_ , )

35
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

36
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 -
  • UNITSYSDA ( 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

37
JCL subparameters
  • DCB(DSORGPO,LRECL80,BLKSIZE6160)
  • DCB(DSORGPO) DCBDSORGPO
  • DISP(,DELETE)

Comma place holders are required only for
missingpositional subparameters.
38
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...,//
    UNITSYSDA,VOLSERMPS800,//
    SPACE(CYL,(10,5,2)),// DCBDSORGPO

( X ) Avoid continuing comments from line to line.
39
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
  • Dont forget to update comments !

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

41
JOB STATEMENT
  • ACCT CLASS
  • NAME NOTIFY
  • MSGLEVEL TYPRUN
  • MSGCLASS PRTY
  • COND RESTART
  • USER REGION
  • PASSWORD PERFORM
  • TIME

42
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.

43
IMPORTANT JOB PARAMETERS keyword
parameters ( CLASS )
ex. //INFOSYSA JOB CLASSA
  • 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.

44
IMPORTANT JOB PARAMETERS keyword
parameters ( MSGCLASS )
ex. //INFOSYSA JOB MSGCLASSA
  • 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.

45
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)

46
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.
47
IMPORTANT JOB PARAMETERS keyword
parameters ( NOTIFY )
ex. //INFOSYSA JOB NOTIFYINFOSYS
  • NOTIFY notifies you at a time-sharing terminal
    when the job is
  • completed.

48
IMPORTANT JOB PARAMETERS keyword
parameters ( TYPRUN )
ex. //INFOSYSA JOB TYPRUNSCAN
  • 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.

49
SOME OTHER keyword JOB PARAMETERS
  • PRTYpriority 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.
  • RESTARTSTEP3 Forces the JOB execution to start
    from STEP3.

50
SOME OTHER keyword JOB PARAMETERS
  • ADDRSPCREAL 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.
  • REGION96K 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.

51
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.


52
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.

53
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


54
Thats all for DAY 1
Write a Comment
User Comments (0)
About PowerShow.com