Você está na página 1de 90

z/OS MVS JCL Advanced

Copyright IBM Corp., 2000, 2004. All rights reserved.

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 2 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Unit Introduction
As a JCL programmer, your ability to use procedures enables you to make more effective use of the system. Your ability to create procedures will enable you to help others make better use of the system. In this unit, you will learn how to build procedures that can be executed easily and used in a variety of situations.

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 3 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Unit Objectives
At the end of this unit, you will be able to: Code statements that are required in a procedure definition Identify statements that are not allowed in a procedure definition Specify the criteria for creating a useful procedure Code the DDNAME operand on one or more DD statements in a procedure definition

Continued
Introduction
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 4 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Unit Objectives (contd)
At the end of this unit, you will be able to: Specify DD statements to resolve the DD operand Code symbolic parameters on the EXEC and DD statements of a procedure Assign user values to symbolic parameters Specify default values for symbolic parameters on the PROC statement of a procedure Nullify and override symbolic parameter default values

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 5 of 90

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 6 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Topic Objectives
At the end of this topic, you will be able to: Create and design procedures Identify the general form and rules to assign symbolic parameters Identify the general form and rules to code a PEND statement Identify the general form and rules to code procedure steps General form and rules - dos and donts Design a basic procedure

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 7 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Designing Procedures
Why create a procedure? The primary reason for creating a procedure is to simplify the task of coding the JCL for a job that is executed frequently. The basic objective when creating a procedure is to minimize the execution-time alterations the procedure user has to specify. If the basic JCL is already pre-coded as a procedure, you need to code only a few, simple JCL statements to submit the job.

JOB

PROC A

Continued
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 8 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Designing Procedures (contd)
How to code the procedure?

EXEC
To code a procedure you should: 1. Execute the proper programs in the required sequence 2. Identify the data sets required by each program 3. Specify those program and data set parameters required for typical job execution environment

PGM=

DD

DSN=

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 9 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Are We on Track?

Which of the following are characteristics of an effective procedure? A. It executes the required programs in the needed order. B. It contains few DD specification, enabling the user to add these later.

C. It specifies the data sets required for each program.


D. It requires a minimum of runtime adaptations.

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 10 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
General Form and Rules
When building an in-stream procedure, identify the name of the procedure to be invoked on the PROC statement.

//PROCA

PROC

If you are inserting more than one in-stream procedure in a job, begin each one with a PROC statement that assigns a unique name to the procedure, as shown in the example on the right.

//JOBNAME //PROCA ... // //PROCB ... // //JSTEP1 //JSTEP2

JOB PROC PEND PROC PEND EXEC EXEC

PROCA PROCB

The procedure name can be one to eight alphanumeric or national symbols. The first character must be alphabetic or national.
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 11 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
General Form and Rules Symbolic Parameters
How to assign symbolic parameters? Begin a cataloged procedure with a PROC statement only when assigning a symbolic parameter. The form to assign a symbolic parameter is as follows:

JOB
//Procname PROC Symbolic Parameters

When you add a new procedure to a procedure library, the member name becomes the name by which the procedure is invoked.

PROCEDURE LIBRARY

Do not begin a cataloged procedure with a PROC statement unless you are assigning symbolic parameters.
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 12 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
General Form and Rules PEND Statement
The PEND statement immediately follows an instream procedure definition. The PEND statement can be used with or without a name.

//
or

PEND

//JOBNAME //PROCA -----------------

JOB PROC

//ENDPROC PEND
If you do not include a name on the PEND statement, at least one blank must separate the word PEND from the slashes in columns 1 and 2 of the statement, as shown on the right.

//ENDPROCA PEND

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 13 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
General Form and Rules Procedure Steps
Following the PROC statement are the procedure steps that constitute the procedure definition. You can include an in-stream procedure definition anywhere within a job stream following the JOB statement, but it must precede the EXEC statement that invokes the procedure, as shown on the right. Procedure steps for both in-stream and cataloged procedures consist of the following: An EXEC statement that identifies a program to be executed The DD statements required to define the data sets to be used or created by the program

//JOBNAME JOB... //PROCA PROC... //PSTEP1 EXEC... //DD1... //DD2... //PSTEP2 EXEC... . . . // PEND

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 14 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
General Form and Rules Dos
A procedure can contain the following: Symbolic parameters on the EXEC and DD statement. Comment statement (//*) in a procedure definition at any appropriate place to aid in documenting the procedure. //JOBNAME JOB... //PROCA PROC... //PSTEP1 EXEC PGM=&SYMB1 //DD1 DD DSN=&SYMB2 //DD2... //PSTEP2 EXEC... //*Comment . . . // PEND

The screen on the right illustrates examples of these statements.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 15 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
General Form and Rules Donts
A procedure cannot contain the following: JOB, delimiter {/*}, or null {//} statements DD statements with the *or DATA parameters Any data records Special job entry subsystem {JES2 or JES3} control statements DD statements with the name JOBLIB or JOBCAT

//JSTEP1 JOB /* //
//DD1 DD DATA 0001 8765 3864 /*JOBPARM COPIES=5 //JOBLIB DD DSN=MYLIB,DISP=SHR

The screen on the right shows examples of these statements that should not be in a procedure definition.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 16 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Are We on Track?

Which of the following statements could be included in a procedure definition? A. //MYJOB JOB 377,DEPT50 B. //STEP1 EXEC PGM=A

C. //DD2 DD DATA
D. /* E. //DD3 DD DSN=MYDATA,DISP=SH F. //DD4 DD SYSOUT=A G. //

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 17 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Design a Basic Procedure An Example
The screen on the right illustrates the example where each week, a department produces a transaction file named INTRAN that contains new customer orders for the week. A list of orders to be filled is sent to the warehouse and an invoice is sent to each customer. The order list and associated invoice are printed once a week.

JOB

ORDERS

Continued
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 18 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Design a Basic Procedure An Example (contd)
You are asked to create a procedure named TRANSACT to accomplish the following task: Invoke a program named PROG1 This checks input transactions against a master customer list to determine if each transaction applies to a valid customer. PROG1 then writes any rejected transactions to a transaction exception report. It writes all valid transactions to a temporary data set that is passed to PROG2. Invoke a program named PROG2 This processes the valid transactions passed to it from PROG1 and creates an order list/invoice for each customer.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 19 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Design a Basic Procedure PROG1 Data Sets
PROG1 uses the following data sets: The input transactions are in a cataloged data set named INTRAN. PROG1 uses the DDNAME DD1. The master customer list is in a cataloged data set named MASTER. PROG1 uses the DDNAME DD2. The transaction exception report is to be created as SYSOUT class A output {DDNAME DD3}. Valid transactions go to a temporary data set to be passed to PROG2 {DDNAME DD4}. The temporary data set should be named &&VALID and space allocated for it on a SYSDA unit. Use single-track primary and secondary space allocation.

INTRAN

Input Transactions

MASTER

Master Customer List

&&VALID

Temporary Data Set


Page 20 of 90

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Design a Basic Procedure PROG2 Data Sets
PROG2 uses the following data sets: The valid transactions passed from PROG1 are in a temporary data set named &&VALID. PROG2 uses the DDNAME DD5. The order list/invoice for each customer is created as SYSOUT class A output. PROG2 uses the DDNAME DD6. &&VALID

Temporary Data Set

SYSOUT CLASS A

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 21 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Are We on Track?

In coding the JCL for the previous TRANSACT procedure, how many DD statements would you require? A. Two B. Four C. Five D. Six

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 22 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Are We on Track?

Match the name of data sets required for TRANSACT with the data set description: 1. INTRAN A. A temporary data set that is output for PROG1 and input for PROG2 B. A cataloged data set with the master customer list C. Printed output of the customer order list and invoices D. A cataloged data set with weekly transactions

2. MASTER 3. &&VALID 4. SYSOUT

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 23 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Are We on Track?

Complete the JCL statements to fulfill the requirements of the sample application, as follows:

1. 2. 3. 4. 5. 6. 7. 8.

//PSTEP1 //DD1 //DD2 //DD3 //DD4 //PSTEP2 //DD5 //DD6

EXEC DD DD DD DD EXEC DD DD

PGM=PROG1 __________ DISP=SHR __________ DISP=SHR SYSOUT=A ______DISP=(NEW,PASS),UNIT=SYSDA,SPACE=(TRK,(1,1)) __________ DSN=&&VALID,DISP=(OLD,DELETE) SYSOUT=A

In step 2, identify the input data set named DD1, used by PROG1 In step 3, identify the input data set named DD2, used by PROG1 In step 5, identify the temporary data set named DD4 In step 6, identify the program executed in PSTEP2

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 24 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Glossary
Alphanumeric National symbols IEHLIST Utility Capital A through Z and numbers 0 through 9. National symbols are At sign [@], Dollar sign [$], or Pound sign [#]. A utility program that lists the directory of a PDS or the VTOC of directaccess volumes. A parameter in a procedure definition that postpones assigning a value to the parameter until the procedure is executed. Job Entry Subsystem. A subsystem that schedules jobs through a central input queue in an environment where several computers are linked. Job Entry Subsystem. A version of JES that exercises central control over several processors. A special DD statement that identifies a library, where programs reside.
Continued
Glossary
Copyright IBM Corp., 2000, 2004. All rights reserved.

Symbolic parameters

JES2

JES3

JOBLIB

Page 25 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Glossary (contd)
JOBCAT A JCL statement that is placed after the JOB statement when creating VSAM data sets. A non-temporary data set for which the system has recorded the unit and volume on which the data set resides. A keyword that defines a print data set. It instructs the system to queue the output on direct-access volume. A data set that stores data needed only for the duration of the job. The number of units (blocks, tracks, or cylinders) allocated to a data set if the primary allocation is exceeded.

Cataloged Data Set

SYSOUT

Temporary Data Set Secondary Space Allocation

Glossary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 26 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Designing Procedures
Topic Summary
Now that you have completed this topic, you should be able to: Create and design procedures Identify the general form and rules to assign symbolic parameters Identify the general form and rules to code a PEND statement Identify the general form and rules to code procedure steps General form and rules - dos and donts Design a basic procedure

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 27 of 90

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 28 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Topic Objectives
At the end of this topic, you will be able to: Code a DDNAME parameter Resolve a DDNAME operand

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 29 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
TRANSACT Procedure
The TRANSACT procedure, on the right, meets two of the guidelines: It performs the exact functions required by the sample application. It does not require the procedure user to specify any execution-time alterations for typical procedure use. //PSTEP1 //DD1 //DD2 //DD3 //DD4 // // // //PSTEP2 //DD5 // //DD6 EXEC DD DD DD DD PGM=PROG1 DSN=INTRAN,DISP=SHR DSN=MASTER,DISP=SHR SYSOUT=A DSN=&&VALID DISP=(NEW,PASS), UNIT=SYSDA, SPACE=(TRK,(1,1)) PGM=PROG2 DSN=&&VALID, DISP=(OLD,DELETE) SYSOUT=A

But does it simplify as much as possible the JCL that the user has to code at procedure execution?

EXEC DD DD

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 30 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
DDNAME Parameters
If the attributes of the data sets identified in TRANSACT vary from one instance of the procedures use to the next, the user will need to code DD override and addition statements at the time of executing the procedure. However, generalizing the TRANSACT procedure to process data input from a variety of sources, you will avoid the need for overrides and additions. One way of accomplishing this is the DDNAME parameter.

IN-STREAM INPUT

TAPE VOLUME

DASD
Page 31 of 90

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Coding a DDNAME

Parameter field

//

STEP1

DD

DDNAME=VALUE

You should code a DDNAME on the appropriate procedure step, generally to represent an input data set. This postpones definition of the data set attributes until the procedure is invoked. The DDNAME parameter consists only of the operand name {DDNAME} followed by an equal sign and a Value (VALUE, in this example).

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 32 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Coding a DDNAME An Example
The example on the right illustrates the TRANSACT procedure definition with a DDNAME parameter for the input data set. Note that the value of the DDNAME parameter is not the same as the ddname of the statement (DD1 in this example).

//PSTEP1 //DD1 //DD2 //DD3 //DD4 // // // //PSTEP2 //DD5 // //DD6

EXEC DD DD DD DD

PGM=PROG1 DDNAME=INPUT DSN=MASTER,DISP=SHR SYSOUT=A DSN=&&VALID, DISP=(NEW,PASS), UNIT=SYSDA, SPACE=(TRK,(1,1)) EXEC PGM=PROG2 DD DSN=&&VALID, DISP=(OLD,DELETE) DD SYSOUT=A

The value of the DDNAME parameter is not the same as the ddname of the statement.
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 33 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Resolving the DDNAME Operand
When invoking the procedure, you code a DD statement to identify the attributes of the data set represented by DDNAME=INPUT. Coding a DD statement to identify the attributes of the data set is called resolving the DDNAME operand. The DD statement has a two-part name: The name of the procedure step in which the DD statement containing the DDNAME parameter is used, followed by a period The value as specified in the DDNAME operand

//STEP EXEC TRANSACT //PSTEP1.INPUT DD DSN=MYDATA, // UNIT=3390, // VOL=SER456789

In the example on the right, DDNAME is resolved with the data set name MYDATA, with the unit and volume specifications shown.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 34 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Are We on Track?

Which of the following is an advantage of using the DDNAME parameter in a procedure? A. You can postpone specifying data set attributes until procedures execution. B. You enable the user to execute the procedure using different programs.

C. You can relieve the procedure user of the need to specify data set attributes.

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 35 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Are We on Track?

Code a DDNAME parameter to define the temporary data set PROG1 that refers to the DDNAME DD4. Define the actual data set characteristics using the name TSTDATA. TRANSACT Procedure:

//PSTEP1 //DD1 //DD2 //DD3 //DD4

EXEC DD DD DD DD

PGM=PROG1 DSN=MASTER, DISP=SHR SYSOUT=A ____________

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 36 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Are We on Track?

Complete the statement required at procedure invocation time to resolve DDNAME as an existing data set named MYDATA. JCL to invoke TRANSACT:

//SS1 //PSTEP1.TSTDATA

EXEC DD

TRANSACT DSN=MYDATA,DISP_______

_______

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 37 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Glossary
DDNAME Parameter A parameter coded in a procedure definition that represents an actual data set and its attributes.

Glossary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 38 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using the DDNAME Parameter
Topic Summary
Now that you have completed this topic, you should be able to: Code DDNAME parameter Resolve DDNAME operand

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 39 of 90

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 40 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Topic Objectives
At the end of this topic, you will be able to: Define symbolic parameters Explain the standards/rules for forming symbolic parameters names Assign values to symbolic parameters Nullify symbolic parameters Specify symbolic parameters

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 41 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Symbolic Parameters
What are symbolic parameters? Symbolic parameters are a technique to build flexibility into procedures. A symbolic parameter represents a procedure statement parameter or subparameter. The procedure statement operands whose values are most likely to change from one procedure invocation to another, are suitable candidates to be coded as symbolic parameters. The example on the right illustrates such a procedure statement operand, ACCT.

DEPT10 DEPT20 DEPT30

DEPT40

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 42 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Significance of Symbolic Parameters
How do symbolic parameters help? Coding symbolic parameters simplifies the procedure users task in a number of ways: The user can assign the appropriate value when the procedure is invoked. The user can simply accept a default value if one is assigned.

The user can assign a value to the symbolic parameter only once to change all recurring like operands in statements occurring through the entire procedure. This is useful if the same value is to be used for like operands in statements occurring throughout the procedure.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 43 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Standards for Symbolic Parameter Names
A name for a symbolic parameter can be specified. Many data processing installations have standards for symbolic parameter names to ensure consistency across frequently used procedures. Rules for coding symbolic parameter names in a procedure definition are as follows: Should be preceded by an ampersand (&). Should consist of from one to seven alphanumeric {A to Z} or national {#@$) symbols. It cannot conflict with an EXEC statement keyword. That is, keywords such as PGM, COND, and PARM cannot be used. It cannot conflict with the name of another symbolic parameter in the same procedure. If more than one value is assigned to a symbolic parameter, only the first can be used.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 44 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

Which of the following are advantages of symbolic parameters? A. They enable the user to simply accept default values, if appropriate. B. They can be given a name that is meaningful, such as &DEPT.

C. They enable the user to assign values when the procedure is executed.
D. They can be assigned different values within a job. E. They can represent a data set and all its attributes.

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 45 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

Which are the symbolic parameters in the following JCL from a procedure named ANYPROC?

//S2 EXEC PGM=&A,ACCT=&GRP //DD5 DD DSN=&&SYM,DISP={OLD,DELETE} //DD6 DD SYSOUT=A


A. PGM=&A,ACCT=&GRP,DSN=&&SYM B. DSN=&&SYM,ACCT=&GRP C. PGM=&A,ACCT=&GRP

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 46 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Symbolic Parameters for EXEC Statement Parameters
To illustrate the usefulness of symbolic parameters in a procedure definition, the TRANSACT example has been modified. Assume that several different departments in the company use the TRANSACT procedure. Each department is required to provide the department number, for accounting purposes, when the procedure is used. You can accommodate this varying executiontime requirement by specifying a symbolic parameter to represent the ACCT parameter value in the EXEC statements of the procedure, as shown on the right.

//PSTEP1 // //DD1 //DD2 //DD3 //DD4 // //PSTEP2 //DD5 // //DD6

EXEC PGM=PROG1, ACCT=&DEPT DD DSN=INTRAN,DISP=SHR DD DSN=MAASTER,DISP=SHR DD SYSOUT=A DD DSN=&&VALID, DISP=(NEW,PASS), EXEC PGM=PROG2,ACCT&DEPT DD DSN=&&VALID, DISP=(OLD,DELETE) DD SYSOUT=A

ACCT=&DEPT

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 47 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Assign or Nullify Symbolic Parameters
The procedure user can then assign a value to or nullify the symbolic parameter on the EXEC statement, used to invoke the procedure. How to assign a value to a symbolic parameter? The user should specify the symbolic parameter without the preceding ampersand, followed by an equal sign and the value. How to nullify a symbolic parameter? The user should specify the symbolic parameter without the preceding ampersand, followed by only an equal sign.

To assign a value to a symbolic parameter: //JSTEP EXEC TRANSACT,DEPT=GRP50

To nullify the symbolic parameter:


//JSTEP EXEC TRANSACT,DEPT=

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 48 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Specifying a Symbolic Parameter for PGM
Symbolic parameters are particularly useful in enabling a procedure to be executed with different programs. The PGM operand cannot be overridden when a procedure is executed. So you have to specify a symbolic parameter for the PGM in the procedure definition, as shown in the TRANSACT procedure definition on the right.

//PSTEP1 //DD1 //DD2 //DD3 //DD4 // // // //PSTEP2 //DD5 // //DD6

EXEC DD DD DD DD

PGM=&PROG1 DSN=INTRAN,DISP=SHR DSN=MASTER,DISP=SHR SYSOUT=A DSN=&&VALID, DISP=(NEW,PASS), UNIT=SYSDA, SPACE=(TRK,(1,1)) EXEC PGM=&PROG2 DD DSN=&&VALID, DISP=(OLD,DELETE) DD SYSOUT=A

Continued
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 49 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Specifying a Symbolic Parameter for PGM (contd)
After specifying symbolic parameter for PGM in the procedure definition, you can assign the appropriate value (or values) to the symbolic parameter when invoking the procedure, as shown in the Statement to invoke TRANSACT on the right.

//JSTEP EXEC TRANSACT,PROG1=TEST1, // PROG2=TEST2

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 50 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

Complete the S1 EXEC statement for a procedure named ANYPROC with the following symbolic parameters.

Code a symbolic parameter for PGM and name it &PROG

//S1

EXEC PGM=_________

Code a symbolic parameter for ACCT and name it &DEPT

// //DD1

DD

ACCT=________ DSN=&INPUT,DISP=SHR

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 51 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

Complete the JCL statement required to invoke procedure ANYPROC from the previous exercise, and specify the following: 1. Nullify the &DEPT symbol. 2. Assign a value of MYPROG to &PROG.

//JSTEP EXEC ANYPROC,_____________________

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 52 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Assigning Values
When executing a procedure with symbolic parameters, you cannot assign different values to same symbolic parameter within one job. However, if you anticipate the need to assign different values, you can define a different symbolic parameter to represent each occurrence of the operand. For example, when different departments want to execute TRANSACT in the same job you can define a different symbolic parameter for each occurrence of the ACCT operand, as shown on the right.

TRANSACT definition: //PSTEP1 EXEC PGM=PROG1, // ACCT=&DEPT1 //PSTEP2 EXEC PGM=PROG2, // ACCT=&DEPT2

Assigning values to &DEPT:


//JSTEP EXEC TRANSACT, // DEPT1=GRP50, // DEPT2=GRP100

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 53 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Assigning Values Using SET Statement
With Release 4 of MVS/ESA and later, a SET statement can also be used to assign values to symbolic parameters. How to code a SET statement? Rather than assigning values on the EXEC statement used to invoke the procedure, you code a SET statement as follows:

TRANSACT definition: //PSTEP1 EXEC PGM=PROG1, // ACCT=&DEPT1 //PSTEP2 EXEC PGM=PROG2, // ACCT=&DEPT2 Assigning values to &DEPT1: // SET DEPT1=CRP100 //JSTEP EXEC TRANSACT

// //

SET parameter=value, parameter=value

The example on the right shows how to assign values to &DEPT using a SET statement.

Continued
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 54 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Assigning Values Using SET Statement (contd)
SET statements can be placed anywhere in a job stream following the JOB statement. However, where they are placed will affect where they take effect. The system assigns values to symbolic parameters as it encounters them. Therefore, a new SET statement will change the value of a previous SET statement. Similarly, values that are assigned on EXEC or PROC statements will change the values assigned on previous SET statements. In the examples on the right, GRP100 would be the value set by the system, since it is the last value the system encounters.

//S1 EXEC TRANSACT,DEPT=GRP100 or // SET DEPT=GRP100 //S1 EXEC TRANSACT

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 55 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

When you use a SET statement to assign a value to a symbolic parameter, when does the new value apply? A. Only if the symbolic parameter did not have a previous value B. For the next use of the symbolic parameter only C. To all subsequent uses of the symbolic parameter, unless changed again

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 56 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Symbolic Parameters for DD Statement Operands
Like DDNAME, symbolic parameters can also be specified for DD statement operands, if the values for those operands are likely to change. When do you use DDNAME and when do you specify symbolic parameters? Specify symbolic parameters in a procedure if only a limited number of DD statement operands are likely to vary. If, however, completely different data sets with different attributes are likely to be used, consider using the DDNAME operand instead. In that way, the users will not have to assign multiple values to multiple symbolic parameters.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 57 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
DD Statement Operands An Example
Assume that the identification of the data set containing customer transactions for TRANSACT varies from week to week. A data set named WEEK1 contains the transactions for the first week in the quarter, a data set named WEEK2 contains transactions for the second week in the quarter, and so on. You can create your procedure to accommodate this week-to-week change in the data set name by specifying the symbolic parameter DSN=&WEEK on the DD statement in the procedure definition, as shown on the right.

//PSTEP1 //DD1 //DD2 //DD3 //DD4 // // // //PSTEP2 //DD5 // //DD6

EXEC DD DD DD DD

PGM=PROG1 DSN=&WEEK,DISP=SHR DSN=MASTER,DISP=SHR SYSOUT=A DSN=&&VALID, DISP=(NEW,PASS), UNIT=SYSDA, SPACE=(TRK,(1,1)) EXEC PGM=PROG2 DD DSN=&&VALID, DISP=(OLD,DELETE) DD SYSOUT=A

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 58 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Assigning Values
How to assign values with the EXEC statement? Assigning values with EXEC statement: When invoking the procedure, you simply code the appropriate value for &WEEK on EXEC statement, as shown on the right. How to assign values with the SET statement? Alternatively, you can assign a value with a SET statement coded at an appropriate place in the job stream, as shown on the right. //JSTEP EXEC TRANSACT,WEEK=WEEK1 Assigning values with SET statement: // SET //JSTEP EXEC WEEK=WEEK1 TRANSACT

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 59 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

When you create a procedure, which of the following options enable you to accommodate varying values for DD statement parameters? A. Code the DDNAME parameter to represent a data set and its attributes B. Code an override DD statement C. Code symbolic parameters for specific DD statement operands D. Code an addition DD statement

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 60 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

Review the JCL statements from a procedure named ANYPROC. Code symbolic parameters to meet the following specifications:

Code a symbolic parameter for the data set name for the input data set in statement DD1. Name it &INPUT.

//S1 EXEC PGM=PROG1,ACCT=&GRP //DD1 DD DSN=______,DISP=SHR


Code a symbolic parameter for the VOL=SER= parameter for the data set in statement DD2. Name it &SERNO. Specify shared access mode {SHR}.

//DDS DD //

DSN=CKDATA,UNIT=3390, VOL=SER=____________

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 61 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Are We on Track?

Code a statement to invoke procedure ANYPROC from the previous example, and assign values to the symbolic parameters as follows:

1. Assign a value of MYDATA to the &INPUT symbol. 2. Assign a value of 692912 to the &SERNO symbol.

//JSTEP EXEC ANYPROC,____________

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 62 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Glossary
Nullify With EXEC or DD statement parameters, to return them to the installation-defined default. An EXEC statement parameter that names the program to execute. A MVS operating system environment that supports ESA/370.

PGM MVS/ESA

Glossary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 63 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Using Symbolic Parameters
Topic Summary
Now that you have completed this topic, you should be able to:

Define symbolic parameters


Explain the standards/rules for forming symbolic parameters names Assign values to symbolic parameters Nullify symbolic parameters Specify symbolic parameters

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 64 of 90

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 65 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Assigning Default Values
Topic Objectives
At the end of this topic, you will be able to: Assign default values Specify default values for symbolic parameters Nullify or override default values

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 66 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Assigning Default Values
General Rules and Format
At the time you create symbolic parameters, you can also assign default values. You do so on the PROC statement of the procedure. If the user determines that the values are appropriate at the time the procedure is executed, the user does not have to assign values. The rules for specifying default values for symbolic parameters are as follows: Specify default values for symbolic parameters in the operand field of the PROC statement. (A PROC statement must always precede an in-stream procedure definition. The PROC statement is required in a cataloged procedure definition only if you are assigning default values to one or more symbolic parameters.) Specify each symbolic parameter without the preceding ampersand, followed by an equal sign and the default value. Separate the default value specifications for multiple symbolic parameters by a comma. You can assign default values for symbolic parameters in any sequence. You are not required to follow the sequence in which the symbolic parameters occur in the procedure definition.

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 67 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Assigning Default Values
Nullifying TRANSACT Definition
The example on the right illustrates the TRANSACT procedure definition, with default values assigned to &DEPT and &PROG on the PROC statement.

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

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 68 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Assigning Default Values
Nullifying Statement to Invoke TRANSACT
The example on the right illustrates the the statement to invoke TRANSACT. When invoking the procedure, you do not have to assign values if the default values are appropriate. Otherwise, the user can code an EXEC statement to nullify or override the default values.

//JSTEP //

EXEC

TRANSACT,DEPT=, PROG=TSTPRG

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 69 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Assigning Default Values
Are We on Track?

Which of the following statements are true of assigning default values for symbolic parameters? A. They are assigned on the EXEC statement that invokes the procedure B. You can assign default values for as many symbolic parameters as needed

C. They can be nullified by the procedure user


D. They are preceded by an ampersand {&} E. They are assigned on the PROC statement

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 70 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Assigning Default Values
Topic Summary
Now that you have completed this topic, you should be able to:

Assign default values


Specify default values for symbolic parameters Nullify or override default values

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 71 of 90

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 72 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Topic Objectives
At the end of this topic, you will be able to: Design a procedure

Topic: Summary Example

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 73 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Design a Procedure
To apply what you have learned about DDNAME and symbolic parameters, assume you have to create a procedure {NEWTRANS} to accommodate the following execution environment: Several different departments use the procedure. Each department is required to supply its department number in the ACCT parameter. DEPT310

Topic: Summary Example

WEEK 1
Continued
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 74 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Design a Procedure (contd)
The source of the input transaction data can vary from week to week. PROG1 is always executed in the first procedure step. However, the identification of the program executed in the second procedure step can vary from execution to execution.

Topic: Summary Example

DEPT 350

WEEK 2

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 75 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Are We on Track?

Topic: Summary Example

Which of the following should you include in the procedure to meet the needs of the processing environment? Choose all that apply. A. A symbolic parameter for PGM=in the first procedure step B. A symbolic parameter for PGM=in the second procedure step C. A SET statement D. A symbolic parameter for ACCT=in the EXEC statement E. Specific values for all data set names and attributes

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 76 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Are We on Track?

Topic: Summary Example

Given that the data set names and attributes of the input data set are likely to vary widely, which of the following would best achieve the execution-time objectives? A. Use the DDNAME parameter to represent the input data set. B. Code data specifications needed for typical use for the input data set. C. Assign symbolic parameters for the input data set name and attributes.

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 77 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Are We on Track?

Topic: Summary Example

Complete the JCL statements for the sample procedure as per the following instructions: In step 1, specify a symbolic parameter for ACCT in PSTEP1. Name it &DEPT. In step 2, use the DDNAME parameter for the input data set. Code the value as INPUT. In step 6, specify a symbolic parameter for PGM in PSTEP2. Name it &PROG2.

1. 2. 3. 4. 5. 6. 7. 8.

//PSTEP1 //DD1 //DD2 //DD3 //DD4 //PSTEP2 //DD5 //DD6

EXEC PGM=PROG1,__________ DD ____________ DD DSN=MASTER,DISP=SHR DD SYSOUT=A DD DSN=&&VALID,DISP=(NEW,PASS),UNIT=SYSDA,SPACE=(TRK,(1,1)) EXEC _____________ DD DSN=&&VALID,DISP=(OLD,DELTE) DD SYSOUT=A

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 78 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Are We on Track?

Topic: Summary Example

Code the JCL used to invoke the sample procedure and provide the following execution-time information:

In step 2, code a department number of G300 and the program named TESTPRG for execution in PSTEP2 In step 3, code input transactions from cards in the job stream.

1. //JSTEP EXEC TRANSACT, 2. // ____________________ 3. //PSTEP1.________ * (input data records) /*

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 79 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Topic Summary
Now that you have completed this topic, you should be able to:

Topic: Summary Example

Design a procedure

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 80 of 90

z/OS MVS JCL Advanced

UNIT

Creating Effective Procedures

Topics:
Designing Procedures Using the DDNAME Parameter Using Symbolic Parameters Assigning Default Values Summary Example Cataloging Procedures

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 81 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Topic Objectives
At the end of this topic, you will be able to: Catalog procedures using IEBUPDTE Utility Catalog procedures using JCLLIB

Introduction

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 82 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Using IEBUPDTE Utility

TRANSACT

SYS1.PROCLIB

PARTITIONED DATA SET What is an IEBUPDTE Utility? After testing and debugging a new procedure, you may want to catalog it for general use. Cataloged procedures are generally placed in a system library named SYS1.PROCLIB. This can be accomplished by using the IEBUPDTE Utility.

IEBUPDTE is designed to add and replace procedures in a partitioned data set.


Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 83 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Using JCLLIB

TRANSACT

USER DEFINED

PARTITIONED DATA SET

How to place cataloged procedures? Cataloged procedures can be placed in a user defined PDS using IEBUPDTE. The JCLLIB statement is coded as:

//

JCLLIB

ORDER=(data set name, data set name, data set name)

The JCLLIB statement can be placed after the JOB statement, and before the statement executing the procedure. You can list one or more libraries in the order you want them searched.
Concepts
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 84 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Using JCLLIB An Example
Assume TRANSACT is placed in a private procedure library named MY.PROCLIB. When executing TRANSACT, you should code the JCLLIB statement after the JOB statement, but before the statement executing TRANSACT, as shown on the right.

//JSTEP1 JOB // JCLLIB //JSTEP2 EXEC

1234,ROSE, ORDER=MY.PROCLIB TRANSACT

Concepts

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 85 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Are We on Track?

Which of the following could you use to catalog a procedure? A. IEBGENER Utility B. JCLLIB statement

C. IEBUPDTE Utility

Review

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 86 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Glossary
JCLLIB A statement that enables you to store cataloged procedures in your own library and search it for procedures.

Glossary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 87 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures Topic: Cataloging Procedures
Topic Summary
Now that you have completed this topic, you should be able to: Catalog procedures using IEBUPDTE Utility Catalog procedures using JCLLIB

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 88 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Unit Summary
Now that you have completed this unit, you should be able to:

Code statements that are required in a procedure definition


Identify statements that are not allowed in a procedure definition Specify the criteria for creating a useful procedure Code the DDNAME operand on one or more DD statements in a procedure definition

Continued
Summary
Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 89 of 90

z/OS MVS JCL Advanced


Unit: Creating Effective Procedures
Unit Summary (contd)
Now that you have completed this unit, you should be able to:

Specify DD statements to resolve the DD operand


Code symbolic parameters on the EXEC and DD statements of a procedure Assign user values to symbolic parameters Specify default values for symbolic parameters on the PROC statement of a procedure Nullify and override symbolic parameter default values

Summary

Copyright IBM Corp., 2000, 2004. All rights reserved.

Page 90 of 90

Você também pode gostar