Upload
carlos-alberto-chong-antonio
View
227
Download
2
Embed Size (px)
Citation preview
7/30/2019 jcl nivel intermedio unidad 6
1/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved.
7/30/2019 jcl nivel intermedio unidad 6
2/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 2 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameter
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
7/30/2019 jcl nivel intermedio unidad 6
3/80
7/30/2019 jcl nivel intermedio unidad 6
4/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 4 of 80
At the end of this unit, you will be able to:
Understand the purpose and form of the DDNAMEparameter in a procedure definition
Resolve the DDNAME parameter when executing a
procedure by identifying the actual data set names andattributes represented by the DDNAME parameter
Understand the purpose and form of symbolicparameters in a procedure definition
Assign values to symbolic parameters at the time of
invoking a procedure
Unit Objectives
Unit: Symbolic Parameters
Introduction
7/30/2019 jcl nivel intermedio unidad 6
5/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 5 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameter
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
7/30/2019 jcl nivel intermedio unidad 6
6/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 6 of 80
At the end of this topic, you will be able to:
Identify the parameter variations in procedures
Identify the techniques used to modify the parameters
Topic Objectives
Unit: Symbolic Parameters Topic: DDNAME and Symbolic Parameters
Introduction
7/30/2019 jcl nivel intermedio unidad 6
7/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 7 of 80
Variations in procedure statements can be quite
common between different instances of a
procedures use.
For example, in a procedure like TRANSACT,
one or more items vary from one instance of the
procedure's use to the next, such as:
Name, location, or other attributes ofone or more data sets identified in theprocedure
Names of one or more programs to be
executed
Parameter Variation in Procedure
Continued
Unit: Symbolic Parameters Topic: DDNAME and Symbolic Parameters
Concepts
7/30/2019 jcl nivel intermedio unidad 6
8/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 8 of 80
These variations can be accommodated by
temporarily modifying the procedure at the
time the procedure is executed.
This is accomplished by adding or overriding
parameters on the procedure EXEC and DD
statements.
These modifications are subject to strict
formatting and sequencing rules.
Parameter Variation in Procedure (contd)
INTRAN
NEWTRAN
TRANSACT
Unit: Symbolic Parameters Topic: DDNAME and Symbolic Parameters
Concepts
7/30/2019 jcl nivel intermedio unidad 6
9/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 9 of 80
If variations in procedure are common, override
and addition statements can be avoided.
Alternatives to using override and addition
statements are:
Use the DDNAME parameter on one ormore DD statements in the proceduredefinition
Use symbolic parameters to representEXEC or DD statement parameters inthe procedure definition
Techniques to Change Parameters
Unit: Symbolic Parameters Topic: DDNAME and Symbolic Parameters
Concepts
7/30/2019 jcl nivel intermedio unidad 6
10/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 10 of 80
A _______________ parameter is an actual data set and its attributes.
Are We on Track?
Unit: Symbolic Parameters Topic: DDNAME and Symbolic Parameters
Review
7/30/2019 jcl nivel intermedio unidad 6
11/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 11 of 80
Now that you have completed this topic, you should be able to:
Identify the parameter variations in procedures
Identify the techniques used to modify the parameters
Topic Summary
Unit: Symbolic Parameters Topic: DDNAME and Symbolic Parameters
Summary
7/30/2019 jcl nivel intermedio unidad 6
12/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 12 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameter
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
7/30/2019 jcl nivel intermedio unidad 6
13/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 13 of 80
At the end of this topic, you will be able to:
Discuss the need for the DDNAME parameter in aprocedure
Identify the form of a DDNAME parameter in a procedure
Resolve a DDNAME parameter
Identify the components in a DDNAME parameter
Topic Objectives
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Introduction
7/30/2019 jcl nivel intermedio unidad 6
14/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 14 of 80
The DDNAME parameter is used in a procedure
definition to represent an input data set.
It permits the procedure user to define data set
attributes at the time the procedure is invoked.
The example on the right shows that at varioustimes the input data for a procedure could reside
on a direct access volume or a tape.
Input Data Streams
TRANSACT
(TAPE)
(DIRECT
ACCESS
VOLUMES)
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
15/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 15 of 80
Representing an Input Data Stream
The DDNAME parameter consists of:
A parameter name (DDNAME) followed by an equal sign
A value (in this example: INPUT)
For example:
//DD1 DD DDNAME=INPUT
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
16/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 16 of 80
The TRANSACT procedure definition with a
DDNAME parameter to represent the input data
set is shown on the right.
Representing an Input Data Stream An Example
//PSTEP1 EXEC PGM=PROG1,
//DD1 DD DDNAME=INPUT
//DD2 DD DSN=MASTER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,
// DISP=(NEW,PASS),
// UNIT=SYSDA,// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG2,
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
17/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 17 of 80
At the time of execution to invoke the procedure,
you would code:
An EXEC statement that executes theprocedure
A DD statement to identify the attributesof the data set represented byDDNAME=INPUT
This is called resolving the DDNAME parameter.
For example, the DDNAME is resolved with a
data set named INTRAN as shown in the code:
//STEP EXEC TRANSACT
//PSTEP1.INPUT DD DSN=INTRAN,
// DISP=SHR
Resolving the DDNAME parameter
Continued
TRANSACT
INTRAN
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
18/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 18 of 80
The DD statement that resolves the DDNAMEparameter has two components:
The name of the procedure step inwhich the DD statement containing theDDNAME parameter is used, followedby a period
The value as specified in the DDNAMEparameter
Resolving the DDNAME parameter (contd)
//STEP EXEC TRANSACT
//PSTEP1.INPUT DD DSN=INTRAN,
// DISP=SHR
Procedurestep
Defines
the dataset
Value
Specifies that thedata set is used
shared access mode
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
19/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 19 of 80
The following is a procedure called MYPROC. The procedure uses the DDNAME parameter torepresent the data set in PSTEP1.
Code a statement to invoke the procedure.
//JSTEP EXEC _______________
Are We on Track?
//PSTEP1 EXEC PGM=PGM1
//DD1 DD DDNAME=INPUT
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Review
7/30/2019 jcl nivel intermedio unidad 6
20/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 20 of 80
The following is a procedure called MYPROC. The procedure uses the DDNAME parameter torepresent the data set in PSTEP1.
Code a statement to resolve the DDNAME parameter with a data set named MYDATA.
//JSTEP EXEC MYPROC
___________________
Are We on Track?
//PSTEP1 EXEC PGM=PGM1
//DD1 DD DDNAME=INPUT
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Review
7/30/2019 jcl nivel intermedio unidad 6
21/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 21 of 80
To execute the TRANSACT procedure, the userexecutes the procedure using a data set named
MYDATA in shared access mode.
MYDATA resides on a 3390 direct access
volume with a volume identifier of 45678Z.
In this case, the DDNAME parameter is resolved
with the data set name of MYDATA.
//STEP EXEC TRANSACT
//PSTEP1.INPUT DD DSN=MYDATA,
// UNIT=3390,// VOL=SER=45678Z
Resolving the DDNAME parameter Example 1
TRANSACT
MYDATA
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
22/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 22 of 80
The DDNAME parameter in the same procedureis resolved for using different input data.
The user invokes the TRANSACT procedure and
directs that input data be taken from card images
supplied in the job stream.
Resolving the DDNAME parameter Example 2
//STEP EXEC TRANSACT
//PSTEP1.INPUT DD *
(input data records)
.
.
./*
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
23/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 23 of 80
If an input data set is not needed for the execution of the procedure then the DD statement to identify the dataset should not be coded.
The unresolved DDNAME is automatically treated as a dummy.
Avoiding an Input Data Set
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
24/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 24 of 80
The DDNAME parameter can be used in a procedure definition in as many as five DD statements within eachprocedure step.
The sequencing rules to be followed when resolving DDNAME parameters are:
They must be coded in procedure step sequence
DD statements to resolve DDNAME parameters are considered additions and should be sequencedas such (that is, in procedure step sequence)
If multiple DDNAME parameters are specified in a single step of the procedure definition, the DDstatements to resolve them can be coded in any sequence
Rules for Resolving DDNAME Parameters
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Concepts
7/30/2019 jcl nivel intermedio unidad 6
25/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 25 of 80
The following is a procedure called ANYPROC:
Code the statements required to resolve the procedures WEEKNO DDNAME parameters to
specify WEEKNO as an existing data set named WEEK2.
//JSTEP EXEC ANYPROC
//_________________________
Are We on Track?
//PSTEP1 EXEC PGM=CBL5
//IN DD DDNAME=WEEKNO//OUT DD DSN=&&TEMP,
// DISP=(NEW,PASS),UNIT=SYSDA,
// SPACE=(TRK,(1,1))//PSTEP2 EXEC PGM=CBL6
//PSD DD DSN=&&TEMP,DISP=(OLD,DELETE)
//RPT DD DDNAME=OUTPUT
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Review
7/30/2019 jcl nivel intermedio unidad 6
26/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 26 of 80
The following is a procedure called ANYPROC:
Code the statements required to resolve the procedures OUTPUT DDNAME parameters to specify
OUTPUT to be a data set named SAVE.
//JSTEP EXEC ANYPROC
//PSTEP1.WEEKNO DD DSN=WEEK2
//_________________________
Are We on Track?
//PSTEP1 EXEC PGM=CBL5
//IN DD DDNAME=WEEKNO//OUT DD DSN=&&TEMP,
// DISP=(NEW,PASS),UNIT=SYSDA,
// SPACE=(TRK,(1,1))//PSTEP2 EXEC PGM=CBL6
//PSD DD DSN=&&TEMP,DISP=(OLD,DELETE)
//RPT DD DDNAME=OUTPUT
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Review
7/30/2019 jcl nivel intermedio unidad 6
27/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 27 of 80
DUMMY A parameter coded in the DD statement that instructs the system toignore all other parameters, with the exception of DCB.
Glossary
Glossary
Unit: Symbolic Parameters Topic: The DDNAME Parameter
7/30/2019 jcl nivel intermedio unidad 6
28/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 28 of 80
Now that you have completed this topic, you should be able to:
Discuss the need for the DDNAME parameter in aprocedure
Identify the form of a DDNAME parameter in a procedure
Resolve a DDNAME parameter
Identify the components in a DDNAME parameter
Topic Summary
Unit: Symbolic Parameters Topic: The DDNAME Parameter
Summary
7/30/2019 jcl nivel intermedio unidad 6
29/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 29 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameter
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
7/30/2019 jcl nivel intermedio unidad 6
30/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 30 of 80
At the end of this topic, you will be able to:
Discuss the need of symbolic parameters
Identify the syntax of symbolic parameters
Topic Objectives
Unit: Symbolic Parameters Topic: Symbolic Parameters
Introduction
7/30/2019 jcl nivel intermedio unidad 6
31/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 31 of 80
Symbolic Parameters
A symbolic parameter is used in a procedure definition to represent a procedure statement parameter orsubparameter. It can also be used to build flexibility into the procedure.
Symbolic parameters are coded when procedure statement parameters whose values are most likely to
change from one procedure invocation to another.
Symbolic parameters are often assigned default values. When the procedure is invoked the default values canbe accepted or appropriate values can be assigned to them on the EXEC statement.
Unit: Symbolic Parameters Topic: Symbolic Parameters
Concepts
7/30/2019 jcl nivel intermedio unidad 6
32/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 32 of 80
Symbolic parameters:
Are preceded by an ampersand (&)
Consist of up to seven alphanumeric (Ato Z, 0 to 9) or national (#,@,$)characters, beginning with an alphabeticor national character
Can represent EXEC statement or DDstatement parameters
Form of Symbolic Parameters
Symbolic parameters are preceded by asingle ampersand, whereas temporary dataset names are preceded by two ampersands.
Examples of Symbolic
Parameters
ACCT=&DEPT
PGM=&PROG1
//STEP1 EXEC PGM=PROG1,ACCT=&DEPT
//DD1 DD DSN=&WEEK
Unit: Symbolic Parameters Topic: Symbolic Parameters
Concepts
7/30/2019 jcl nivel intermedio unidad 6
33/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 33 of 80
Which of the following statements apply to the use of symbolic parameters?
A. They can be specified for a DD or EXEC statement parameter
B. They represent a procedure statement parameter or subparameter
C. They are identified in a procedure by a preceding # sign
D. They are coded in a procedure definition
Are We on Track?
Unit: Symbolic Parameters Topic: Symbolic Parameters
Review
/OS MVS JCL I di
7/30/2019 jcl nivel intermedio unidad 6
34/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 34 of 80
From the following items, select the symbolic parameters.
A. ACCT=&GRP
B. SYSOUT=A
C. DSN=&&SYN
D. VOL=SER=&SERNO
Are We on Track?
Unit: Symbolic Parameters Topic: Symbolic Parameters
Review
/OS MVS JCL I t di t
7/30/2019 jcl nivel intermedio unidad 6
35/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 35 of 80
Now that you have completed this topic, you should be able to:
Discuss the need of symbolic parameters
Identify the syntax of symbolic parameters
Topic Summary
Unit: Symbolic Parameters Topic: Symbolic Parameters
Summary
/OS MVS JCL I t di t
7/30/2019 jcl nivel intermedio unidad 6
36/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 36 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameters
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
/OS MVS JCL I t di t
7/30/2019 jcl nivel intermedio unidad 6
37/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 37 of 80
At the end of this topic, you will be able to:
Recognize symbolic parameters
Assign values to or nullify EXEC statement parameters
Topic Objectives
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
Introduction
/OS MVS JCL I t di t
7/30/2019 jcl nivel intermedio unidad 6
38/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 38 of 80
An example of a symbolic parameter to representan EXEC statement parameter is shown on the
right.
Here the TRANSACT procedure is defined with a
symbolic ACCT parameter (&DEPT) for PROG1
(in PSTEP1) and PROG2 (in PSTEP2).
ACCT=&DEPT
Recognizing Symbolic Parameter An Example
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
//PSTEP1 EXEC PGM=PROG1,ACCT=&DEPT
//DD1 DD DSN=INTRAN,DISP=SHR
//DD2 DD DSN=MASTER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,
// DISP=(NEW,PASS),
// UNIT=SYSDA,// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG2,ACCT=&DEPT
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
39/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 39 of 80
Assigning Values to EXEC Statement Parameters
When executing TRANSACT, a value would be assigned to the symbolic parameter on the EXEC statementthat invokes TRANSACT.
When assigning a value to the symbolic parameter the ampersand in front of the symbolic parameter is
omitted.
The following statement assigns the value GRP50 to the &DEPT symbolic parameter:
//JSTEP EXEC TRANSACT,
// DEPT=GRP50
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
40/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 40 of 80
The rules for assigning values to or nullifying EXEC statement parameters are:
Separate the value assignments or nullifications from operands and from each other using commas.
Specify the symbolic parameter without the preceding ampersand, followed by an equal sign andthe value.
To nullify a symbolic parameter specify the symbolic parameter without the preceding ampersand,followed by an equal sign. No value is specified for the symbolic parameter while nullifying it.
Symbolic parameters can be nullified or assigned values in any sequence.
Rules for Assigning Values to or Nullifying EXEC Statement Parameters
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
41/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 41 of 80
The effect of not coding a value for a symbolic parameter is to _____________ the symbolicparameter.
Are We on Track?
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
42/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 42 of 80
The following is the TRANSACT procedure definition:
Code an EXEC statements to execute the procedure and assign a value of GRP25 to the &DEPTsymbolic parameter.
//JSTEP EXEC _______________________
Are We on Track?
//PSTEP1 EXEC PGM=PROG1,ACCT=&DEPT
//DD1 DD DSN=INTRAN,DISP=SHR//DD2 DD DSN=MASTER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,DISP=(NEW,PASS),// UNIT=SYSDA,
// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG2,ACCT=&DEPT
//DD5 DD DSN=&&VALID,DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
43/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 43 of 80
Now that you have completed this topic, you will be able to:
Recognize symbolic parameters
Assign values to or nullify EXEC statement parameters
Topic Summary
Unit: Symbolic Parameters Topic: EXEC Statement Parameters
Summary
7/30/2019 jcl nivel intermedio unidad 6
44/80
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
45/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 45 of 80
At the end of this topic, you will be able to:
Analyze the conditions for assigning different values tosymbolic parameters
Modify a PGM parameter
Topic Objectives
Unit: Symbolic Parameters Topic: Assigning Different Values
Introduction
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
46/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 46 of 80
Different values cannot be assigned to the samesymbolic parameter when invoking the procedure.
For example, it is not possible to assign GRP50 to
&DEPT in PSTEP1 and GRP100 to &DEPT in
PSTEP2 unless one of the following conditions
exists:
A different symbolic parameterrepresents each occurrence of theparameter
An EXEC or DD statement override or
addition statement is used wheninvoking the procedure
Conditions
Unit: Symbolic Parameters Topic: Assigning Different Values
//PSTEP1 EXEC PGM=PROG1,ACCT=&DEPT
//DD1 DD DSN=INTRAN,DISP=SHR
//DD2 DD DSN=MASATER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,
// DISP=(NEW,PASS),
// UNIT=SYSDA,// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG2,ACCT=&DEPT
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
47/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 47 of 80
To illustrate the first condition, assume theTRANSACT procedure has been created to allow
for two different values for the EXEC statement
ACCT parameters, as follows:
//PSTEP1 EXEC PGM=PROG1,ACCT=&DEPT1
...//PSTEP2 EXEC PGM=PROG2,ACCT=&DEPT2
In the example on the right, the TRANSACT
procedure has been invoked with the values
GRP50 and GRP100 for PSTEP1 and PSTEP2
respectively.
Assigning Different Values Example 1
Values can be assigned to thesymbolic parameters in any order.
Unit: Symbolic Parameters Topic: Assigning Different Values
//JSTEP EXEC TRANSACT,DEPT1=GRP50,
// DEPT2=GRP100
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
48/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 48 of 80
Here the procedure has been created withoutsymbolic parameters:
//PSTEP1 EXEC PGM=PROG1
...
//PSTEP2 EXEC PGM=PROG2
At the time of invoking the procedure, an
addition statement as shown on the right can be
coded to assign an ACCT value of GRP50 for
PSTEP1 and GRP100 for PSTEP2.
Assigning Different Values Example 2
Unit: Symbolic Parameters Topic: Assigning Different Values
//JSTEP EXEC TRANSACT,
// ACCT.PSTEP1=GRP50,
// ACCT.PSTEP2=GRP100
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
49/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 49 of 80
As a procedure user, when can you assign different values to the same symbolic parameter?
A. When a symbolic parameter represents the parameter
B. When a different symbolic parameter represents each occurrence of the parameter
C. When you code an addition or an override statement when invoking a procedure
D. Never
Are We on Track?
Unit: Symbolic Parameters Topic: Assigning Different Values
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
50/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 50 of 80
Assigning Values to the PGM Parameter
The PGM parameter is the only EXEC statement parameter that cannot be modified with an overridestatement when a procedure is executed.
If a symbolic parameter is specified in the procedure definition, an appropriate value can be assigned when
invoking the procedure.
Unit: Symbolic Parameters Topic: Assigning Different Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
51/80
z/OS MVS JCL Intermediate
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 51 of 80
In this example, different versions of the programs executed by the TRANSACT procedure are being tested tosee which versions best suit departmental requirements.
Symbolic parameters are assigned to the PGM parameter in the TRANSACT procedure EXEC statement, so
the procedure user can specify which program versions are to be executed.
The PGM Parameter An Example
Unit: Symbolic Parameters Topic: Assigning Different Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
52/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 52 of 80
The TRANSACT procedure definition withsymbolic PGM parameters for the PSTEP1 and
PSTEP2 EXEC statements is shown on the right.
The statements used to invoke the procedure and
execute programs TEST1 and TEST2 would be:
//JSTEP EXEC TRANSACT,PROG1=TEST1,
// PROG2=TEST2
The statements used to invoke the procedure and
execute programs TEST3 and TEST4 would be:
//JSTEP EXEC TRANSACT,PROG1=TEST3,
// PROG2=TEST4
Symbolic PGM Parameters
Unit: Symbolic Parameters Topic: Assigning Different Values
//PSTEP1 EXEC PGM=&PROG1
//DD1 DD DSN=INTRAN,DISP=SHR
//DD2 DD DSN=MASTER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,
// DISP=(NEW,PASS),
// UNIT=SYSDA,// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=&PROG2
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
53/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 53 of 80
The following is the TRANSACT procedure definition:
Code an EXEC statement to execute
a.) TEST4 for PSTEP1 andb.)TEST5 for PSTEP2.
//JSTEP EXEC _______________________
Are We on Track?
//PSTEP1 EXEC PGM=&PROG1
//DD1 DD DSN=INTRAN,DISP=SHR
//DD2 DD DSN=MASTER,DISP=SHR//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,DISP=(NEW,PASS),// UNIT=SYSDA,
// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=&PROG2//DD5 DD DSN=&&VALID,DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Unit: Symbolic Parameters Topic: Assigning Different Values
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
54/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 54 of 80
PGM An EXEC statement parameter that names the program to be executed.
Glossary
Glossary
Unit: Symbolic Parameters Topic: Assigning Different Values
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
55/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 55 of 80
Now that you have completed this topic, you should be able to:
Analyze the conditions for assigning different values tosymbolic parameters
Modify a PGM parameter
Topic Summary
Unit: Symbolic Parameters Topic: Assigning Different Values
Summary
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
56/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 56 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameter
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
57/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 57 of 80
At the end of this topic, you will be able to:
Discuss how to change a DD statement parameter
Understand the rules for assigning a DD statementparameter value
Topic Objectives
Unit: Symbolic Parameters Topic: DD Statement Parameters
Introduction
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
58/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 58 of 80
Symbolic parameters are often specified for DDstatement parameters, if the values for those
parameters are likely to change.
Changing DD Statement Parameters
Unit: Symbolic Parameters Topic: DD Statement Parameters
WEEK1
WEEK2
DSN=&WEEK
Concepts
TRANSACT
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
59/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 59 of 80
For example, suppose the identification of thedata set containing customer transactions for
TRANSACT varies from week to week.
DD Statement Parameters An Example
Unit: Symbolic Parameters Topic: DD Statement Parameters
WEEK1
WEEK2
TRANSACT
Concepts
DSN=&WEEK
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
60/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 60 of 80
The TRANSACT procedure definition with asymbolic DSN parameter value for the DD1 DD
statement is shown on the right.
DD Statement Parameters An Example
Unit: Symbolic Parameters Topic: DD Statement Parameters
//PSTEP1 EXEC PGM=PROG1,ACCT=&DEPT
//DD1 DD DSN=&WEEK,DISP=SHR
//DD2 DD DSN=MASTER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,
// DISP=(NEW,PASS),
// UNIT=SYSDA,// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG2,ACCT=&DEPT
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Continued
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
61/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 61 of 80
DD Statement ParametersAn Example (contd)
The following EXEC statement is used to invoke the procedure using WEEK1 as the input data set:
//JSTEP EXEC TRANSACT,WEEK=WEEK1
By simply assigning the appropriate data set name to &WEEK when the procedure is invoked, the
data sets to be used for the other weeks can be specified.
Unit: Symbolic Parameters Topic: DD Statement Parameters
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
62/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 62 of 80
If the same symbolic parameter is used torepresent an parameter (such as the UNIT
parameter) in several DD statements, then the
value needs to be assigned to the symbolic
parameter only once.
The value is applied to all occurrences of the
parameter. The need to code several override
DD statements can be eliminated.
Assigning Values
Unit: Symbolic Parameters Topic: DD Statement Parameters
EXE
WEEK1
WEEK2
DSN=&WEEK
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
63/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 63 of 80
The rules for assigning values to or nullifying DD statement parameters are:
Separate the value assignments or nullifications from parameters and from each other usingcomas.
Specify the symbolic parameter without the preceding ampersand, followed by an equal sign andvalue.
To nullify a symbolic parameter specify the symbolic parameter without the preceding ampersand,followed by an equal sign. The value for the symbolic parameter should not be coded.
Symbolic parameters can be nullified or assigned values in any sequence.
Rules for Assigning Values to DD Statement Parameters
Unit: Symbolic Parameters Topic: DD Statement Parameters
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
64/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 64 of 80Review
The following JCL statements are from a procedure named ANYPROC.
//S1 EXEC PGM=PROG1,ACCT=&GRP
//DD1 DD DSN=&INPUT,DISP=SHR
//...
//S2 EXEC PGM=&A,ACCT=&GRP
Which of the following statements are correct to invoke the procedure and specify the followingnullify the &GRP symbol, assign a value of MYDATA to &INPUT, assign a value of TSTPRG to &A.
A. //JSTEP EXEC ANYPROG,GRP=,INPUT=MYDATA
B. //JJSTEP EXEC ANYPROC,INPUT=MYDATA,A=TSTPRG,GRP=
C. //JSTEP EXEC ANYPROC,A=TSTPRG,GRP=,INPUT=MYDATA
D. //JSTEP EXEC ANYPROC,A=TSTPRG,INPUT=MYDATA
Are We on Track?
Unit: Symbolic Parameters Topic: DD Statement Parameters
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
65/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 65 of 80
Assigning Values to DD Statement Parameters
While assigning values to symbolic parameters:
An appropriate value that represents a data set name must be assigned to the symbolic parameter
If the symbolic parameter is not assigned a value, the system considers the symbolic parameter tobe the name of a temporary data set because it begins with the ampersand character
Unit: Symbolic Parameters Topic: DD Statement Parameters
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
66/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 66 of 80
If no value is assigned to a symbolic parameter in a procedure DD statement at the time ofinvoking a procedure, it is treated as a ___________________ data set.
Are We on Track?
Unit: Symbolic Parameters Topic: DD Statement Parameters
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
67/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 67 of 80Introduction
Now that you have completed this topic, you should be able to:
Discuss how to change a DD statement parameter
Understand the rules for assigning a DD statementparameter value
Topic Summary
Unit: Symbolic Parameters Topic: DD Statement Parameters
Summary
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
68/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 68 of 80
UNIT Symbolic Parameters
DDNAME and Symbolic Parameters
The DDNAME Parameter
Symbolic Parameters
EXEC Statement Parameter
Assigning Different Values
DD Statement Parameters
Default Values
Topics:
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
69/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 69 of 80
At the end of this topic, you will be able to:
Understand how to assign default values to parameters
Accept default values for parameters
Nullify default values for parameters
Topic Objectives
Unit: Symbolic Parameters Topic: Default Values
Introduction
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
70/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 70 of 80
At the time symbolic parameters are created, creator of the procedure can also assign default values to theparameters.
What are the characteristics of default values?
The characteristics of default values are:
They are specified in the parameter field of the PROC statement
They do not have a preceding ampersand
In the case of multiple symbolic parameters, they are separated by a comma
They can be assigned in any sequence
Recognizing Default Values
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
71/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 71 of 80
In the TRANSACT procedure definition shown onthe right, the PROC statement assigns the default
value G300 to &DEPT and the default value
PROG2 to &PROG.
Default Values An Example
//TRANSACT PROC DEPT=G300,PROG=PROG2
//PSTEP1 EXEC PGM=PROG1,
// ACCT=&DEPT
//DD1 DD DSN=&WEEK,DISP=SHR
//DD2 DD DSN=MASTER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,// DISP=(NEW,PASS),
// UNIT=SYSDA,
// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG,ACCT=&DEPT
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
72/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 72 of 80
Which of the following statements are true for default values?
A. They are assigned on the PROC statement of a procedure.
B. They are preceded by an ampersand.
C. They must be assigned in a specific sequence.
D. They can be overridden when the procedure is executed.
Are We on Track?
Unit: Symbolic Parameters Topic: Default Values
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
73/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 73 of 80
The EXEC statement required to accept thedefault values and specify the data set named
WEEK1 is shown on the right.
Accepting Default Values
//JSTEP EXEC TRANSACT,WEEK=WEEK1
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
74/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 74 of 80
Code an EXEC statements to invoke the TRANSACT procedure and accept default values.
// EXEC _______________________
Are We on Track?
Unit: Symbolic Parameters Topic: Default Values
Review
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
75/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 75 of 80
Nullifying Default Values
When should you assign a value?
A value for a symbolic parameter should be assigned (or nullified) only if:
The default values specified in the PROC statement is not appropriate for that particular execution ofthe procedure
No default value is specified for the symbolic parameter on the PROC statement in the procedure
Continued
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
76/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 76 of 80
The rules for overriding or nullifying the default values are:
To override a default value, specify the symbolic parameter without the preceding ampersand,followed by an equal sign and the appropriate value
To nullify a default value, specify the symbolic parameter without the preceding ampersand,followed by only an equal sign
The overrides and nullifications for default values can be specified in any sequence
Nullifying Default Values (contd)
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
77/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 77 of 80
In this example, the TRANSACT procedure is to beinvoked with some input test data (DD1 DD
statement) that resides in a data set named
TSTDATA and a test program named TESTPRG
for step PSTEP2.
Because this execution is a test, a department
number need not be specified.
Thus, the default values G300 (specified for
&DEPT) and PROG2 (specified for &PROG) are
not needed.
Nullifying Default Values Procedure Definition
//TRANSACT PROC DEPT=G300,PROG=PROG2
//PSTEP1 EXEC PGM=PROG1,
// ACCT=&DEPT
//DD1 DD DSN=&WEEK,DISP=SHR
//DD2 DD DSN=MASATER,DISP=SHR
//DD3 DD SYSOUT=A
//DD4 DD DSN=&&VALID,// DISP=(NEW,PASS),
// UNIT=SYSDA,
// SPACE=(TRK,(1,1))
//PSTEP2 EXEC PGM=PROG,ACCT=&DEPT
//DD5 DD DSN=&&VALID,
// DISP=(OLD,DELETE)
//DD6 DD SYSOUT=A
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
78/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 78 of 80
The EXEC statement for the invocation is shownon the right. The EXEC statement does the
following:
Nullifies the default values specified for&DEPT
Overrides the default value specified for&PROG and assigns the valueTESTPRG instead
Assigns the value TSTDATA to &WEEK
Nullifying Default Values EXEC Statement
The nullification, override and assignment ofnew values can be coded in any order on theEXEC statement used to invoke the procedure.
//JSTEP EXEC TRANSACT,DEPT=,
// PROG=TESTPRG,
// WEEK=TSTDATA
Unit: Symbolic Parameters Topic: Default Values
Concepts
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
79/80
Copyright IBM Corp., 2000, 2004. All rights reserved. Page 79 of 80Introduction
Now that you have completed this topic, you should be able to:
Understand how to assign default values to parameters
Accept default values for parameters
Nullify default values for parameters
Topic Summary
Unit: Symbolic Parameters Topic: Default Values
Summary
z/OS MVS JCL Intermediate
7/30/2019 jcl nivel intermedio unidad 6
80/80
Now that you have completed this unit, you should be able to:
Understand the purpose and form of the DDNAMEparameter in a procedure definition
Resolve the DDNAME parameter when executing aprocedure by identifying the actual data set names and
attributes represented by the DDNAME parameter
Understand the purpose and form of symbolicparameters in a procedure definition
Assign values to symbolic parameters at the time ofinvoking a procedure
Unit Summary
Unit: Symbolic Parameters