Introduction to Mainframe
programming.
Before that
I would like to highlight on two different programming technique that we used
in Mainframe.
1) Batch
programming means there is no any human interaction . Here you run your code
which will not accept any human values .
2) Online
programming here human interaction is must. The values passed by human will
decide the flow of execution of program.
What is JCL ?
JCL = Job
control language.
JOB = It is
the execution of one or more related programs in sequence. Each program to be
executed by a job is called a job step.
JCL is the
command language of MVS and consists of a set of control statements that
identifies the program to be executed and the data to be read or written. Jobs
written in JCL are managed by an operating system (OS) component called the Job
Entry Subsystem or JES. For every job that is submitted to OS for execution, we
need to tell the OS, the programs it has to execute, the inputs that are required,
the location of input and the location for output. These information are
provided using statements known as Job Control Statements.
1) JCL
statements are coded in 80 byte records –
Only 72 of the 80 chars are
available to code the JCL. The columns 73-80 is reserved for sequence number or comment means the compiler
will ignore it.
2) Each
JCL statement is logically divided into five fields. All five fields may not
appear on every statement.
3) JCL
statements has the following fields
a.
Identifier
b.
Name
c.
Operation
d.
Parameters
e.
Comments
1)
Identifier
- Two slashes ( // ) starting in col 1.
Exceptions are
For a delimiter
statement, /* starting in col 1
For a comment
statement , //* starting at col 1
2)
Name
– It can be from one to eight characters long, consisting of alphanumeric (A-Z
and 0-9) and National (@,#,$) characters. Name should start with an alphabet or
national ($, #, @) character. It must begin at col 3.
3) 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.
4) JCL parameters :
a) Positional parameters
are coded first in the parameter
field. If you omit a positional parameter and code a following positional
parameter, then code a comma to indicate the omitted parameter.
Do
not code the replacing comma if:
•
The omitted positional parameter is the last
positional parameter.
•
All following positional parameters are also omitted.
•
Only keyword parameters follow.
•
All positional parameters are omitted
In the JOB card there are 2 positional parameters
1) JOB
accounting information.
2) Programmer
name.
Eg. See below job card I have written with positional parameters only.
//Ak47, Job, a123, avinash
1) The JOB which is operation field must started between column 8 to 11.
2) A123 is accounting information.
3) Avinash is programmer name.
If I skipped any positional parameter then give comma.
b) Keyword parameters -
A
keyword consists of characters that appear in uppercase followed by an equals
sign (e.g. NOTIFY=&SYSUID) followed by either characters that must be coded
or variable information. Code any of the keyword parameters for a statement in
any order in the parameter field after the positional parameters. Because of
this positional independence, never code a comma to indicate the absence of a
keyword parameter.
Class, notify,
msgclass, msglevel, prty, typrun are the keyword parameter used in JOB card.
5) Comments:
comments may follow parameters,
preceded by one space and not extending beyond col 71.
How the JOB
is processed in mainframe ?
There is JOB entry subsystem which will
handle the execution of JOB. As there are user across the world uses mainframes
for their day to day activities. But then also JES manages all these execution
process smoothly.
1) Determine the job requirement and characterstics.
2) write JCL
3) Submit the JCL.
4) JES receive
submitted job and initiate initiator.
5) JCL steps
are executing
6) JES collects output.
7) JES prints output.
8) User views output.
No comments:
Post a Comment