jcl intermedio unidad 2

Upload: carlos-alberto-chong-antonio

Post on 04-Apr-2018

220 views

Category:

Documents


1 download

TRANSCRIPT

  • 7/30/2019 jcl intermedio unidad 2

    1/61

    z/OS MVS JCL Intermediate

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

  • 7/30/2019 jcl intermedio unidad 2

    2/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 2 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

  • 7/30/2019 jcl intermedio unidad 2

    3/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 3 of 61

    JCL programmers often use procedures (pre-coded JCL) to avoid repetitive coding of information and as a

    time saving technique.

    This unit describes cataloged and in-stream procedures and their advantages. The unit further explains how

    to identify a procedure definition in the job stream. The unit ends by discussing how to execute a procedure.

    Unit Introduction

    Unit: Introducing Procedures

    Introduction

  • 7/30/2019 jcl intermedio unidad 2

    4/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 4 of 61

    At the end of this unit, you will be able to:

    Define the terms procedure, cataloged procedure and

    in-stream procedure

    Specify where a procedure can be located

    Specify when to use an in-stream procedure and when

    to use a cataloged procedure

    Identify the JCL statements that define an in-stream

    procedure

    Code the JCL to obtain a procedure listing

    Code a statement to invoke a procedure

    Unit Objectives

    Unit: Introducing Procedures

    Introduction

  • 7/30/2019 jcl intermedio unidad 2

    5/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 5 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

  • 7/30/2019 jcl intermedio unidad 2

    6/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 6 of 61

    At the end of this topic, you will be able to:

    Define a procedure

    Describe the advantages of a procedure

    Topic Objectives

    Unit: Introducing Procedures

    Introduction

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    7/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 7 of 61

    What is a procedure?

    A procedure is a pre-coded set of JCL statements with a unique name.

    JCL statements that are used by several users or used repeatedly are placed in a procedure. Use of

    procedures not only saves time but also avoids errors.

    Procedure

    Unit: Introducing Procedures

    Concepts

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    8/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 8 of 61

    How does a procedure work?

    A procedure is brought into a job stream at the

    appropriate place to perform its function with an

    EXEC statement that refers to it by its name.

    In the example shown, a procedure calledPROCA is invoked.

    //JSTEP EXEC PROCA

    This line executes the procedure PROCA.

    Using Procedures

    Unit: Introducing Procedures

    Continued

    Concepts

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    9/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 9 of 61

    Most installations have pre-coded procedures that enable you to perform compiles, link edits and tests quickly

    and easily.

    To use pre-coded procedures, the code must contain the following statements:

    A single EXEC statement that invokes the procedure

    A DD statement to identify the source program in case of compiles

    DD statements for the test data.

    Using Procedures (contd)

    Unit: Introducing Procedures

    Concepts

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    10/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 10 of 61

    The example shown on the right shows a job

    stream to invoke a procedure named COBUCLG

    that may be available to help compile, link edit,

    and test COBOL program.

    Procedure An Example

    Unit: Introducing Procedures

    //STEP1 EXEC COBUCLG

    //COB.SYSIN DD *

    (source progr

    .

    .

    //GO.SYSIN DD *

    (test data)

    .

    .

    /*

    EXEC statement that

    Invokes the procedure

    DD statement that

    Identifies source program

    EXEC statement that

    Identifies test data

    Concepts

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    11/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 11 of 61

    Advantages of a Procedure

    Advantages of using a procedure are:

    Procedures can greatly simplify JCL

    Procedures help in maintaining complex or lengthy JCL

    Procedures help you to standardize data set and program usage

    Unit: Introducing Procedures

    Concepts

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    12/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 12 of 61

    Which of the following are advantages of using procedures?

    A. They simplify the JCL you have to code for a job.

    B. They permit standardization of data set and program usage.

    C. They enable you to copy parameter values from previous DD statements.

    D. They permit easier maintenance of JCL.

    Are We on Track?

    Unit: Introducing Procedures

    Review

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    13/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 13 of 61

    Procedure Prepared sets of job control statements cataloged in a procedure library.

    Compile To translate source language statements into machine instructions.

    Link Edit To combine subroutines into executable program called a load module.

    Glossary

    Unit: Introducing Procedures

    Glossary

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    14/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 14 of 61

    Now that you have completed this topic, you should be able to:

    Define a procedure

    Describe the advantages of a procedure

    Topic Summary

    Unit: Introducing Procedures

    Summary

    Topic: What is a Procedure?

  • 7/30/2019 jcl intermedio unidad 2

    15/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 15 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

  • 7/30/2019 jcl intermedio unidad 2

    16/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 16 of 61

    At the end of this topic, you will be able to:

    Define cataloged procedure and in-stream procedure

    Explain how to invoke the JCL for a cataloged and

    in-stream procedure

    Identify which procedure is appropriate for a given

    application

    Topic Objectives

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Introduction

  • 7/30/2019 jcl intermedio unidad 2

    17/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 17 of 61

    A procedure is referred to as either a cataloged procedure or an in-stream procedure depending upon where

    it is defined.

    What are cataloged procedures?

    Cataloged procedures are stored as members of a partitioned data set that is used as a procedure library.

    When a cataloged procedure is used, its JCL is taken from the default procedure library, or a user-specified

    procedure library.

    Cataloged Procedures

    IBM supplies a procedure library named

    SYSI.PROCLIB.

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    18/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 18 of 61

    The JCL for a cataloged procedure is invoked with a

    single EXEC statement.

    Consider a procedure by name PROCA. This can be

    invoked in two ways:

    Precede the name of the procedure with PROC=

    Syntax:

    //GO EXEC PROC=PROCA

    Or by directly specifying the procedure name.

    Syntax:

    //GO EXEC PROCA

    Invoking a Cataloged Procedure

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    19/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 19 of 61

    In-Stream Procedures

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    In-stream procedures are identical to cataloged procedures, except that they are placed along with the job in

    the input stream. When the procedure is invoked, the JCL in the procedure definition is inserted at the

    invocation point in the job stream itself.

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    20/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 20 of 61

    The following points must be considered while using an in-stream procedure:

    The JCL for an in-stream procedure is defined with the job stream itself.

    In-stream procedures begin with a PROC statement and are terminated by a PEND statement.

    The in-stream procedure is placed following the JOB statement but before the first EXECstatement.

    The JCL of an in-stream procedure is merged into the executable portion of the job when an EXEC

    statement invokes the procedure.

    Invoking an In-Stream Procedure

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    21/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 21 of 61

    The example shown on the right is an in-stream

    procedure named RUN.

    Note that PROC begins the procedure and PEND

    ends it. The procedure is invoked by the first

    EXEC statement.

    In-Stream Procedure An Example

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    //R123 JOB (456),SMITH,CLASS=A

    //RUN PROC

    //GO EXEC PGM=ONE

    //SYSOUT DD SYSOUT=A

    // PEND

    //STEP1 EXEC RUN

    This is the

    procedure

    This executes the procedure

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    22/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 22 of 61

    Choosing The Right Procedure

    When to use an in-stream procedure?

    If a procedure is just created and has to be tested for errors, an in-stream procedure can be used.

    When to catalog a procedure?

    If a thoroughly tested procedure needs to be used by many people, it is cataloged for subsequent retrieval.

    A cataloged procedure is easy to retrieve and maintain.

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    23/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 23 of 61

    Match the following items with their definitions.

    1. Procedure A. A procedure that is defined in the job stream.

    2. Cataloged procedure B. Pre-coded JCL, with a unique name, which consists of one or more jobsteps.

    3. In-stream procedure C. A procedure that is stored in a procedure library.

    Are We on Track?

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Review

  • 7/30/2019 jcl intermedio unidad 2

    24/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 24 of 61

    The following are situations in which you might use a procedure. Match the situations with thetype of procedures that would be appropriate.

    1. Testing a new procedure A. An in-stream procedure

    2. Many people will use the procedure B. A cataloged procedure

    Are We on Track?

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Review

  • 7/30/2019 jcl intermedio unidad 2

    25/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 25 of 61

    PDS Partitioned Data Set. A data set on direct access storage that is divided intopartitions, called members, each of which can contain a program, part of a program

    or data.

    JCLLIB A statement that enables you to specify your own library for locating cataloged

    procedures.

    Glossary

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Glossary

  • 7/30/2019 jcl intermedio unidad 2

    26/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 26 of 61

    Now that you have completed this topic, you should be able to:

    Define cataloged procedure and in-stream procedure

    Explain how to invoke the JCL for a cataloged and

    in-stream procedure

    Identify which procedure is appropriate for a given

    situation

    Topic Summary

    Unit: Introducing Procedures Topic: Cataloged and In-Stream Procedures

    Summary

  • 7/30/2019 jcl intermedio unidad 2

    27/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 27 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

  • 7/30/2019 jcl intermedio unidad 2

    28/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 28 of 61

    At the end of this topic, you will be able to:

    Identify in-stream procedures

    Describe the function of a PROC statement

    Describe the function of a PEND statement

    Discuss an in-stream procedure definition

    Identify the steps in a procedure definition

    Topic Objectives

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Introduction

  • 7/30/2019 jcl intermedio unidad 2

    29/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 29 of 61

    How to identify an in-stream procedure?

    An in-stream procedure can be identified by the statements PROC and PEND.

    The function of the PROC statement is to isolate the in-stream procedure definition from the rest of the JCL

    statements for a job.

    In-Stream Procedure

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    30/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 30 of 61

    The PROC statement identifies the name bywhich the procedure is invoked.

    For example, the PROC statement to identify the

    beginning of an in-stream procedure named

    PROCA is:

    //PROCA PROC

    PROC Statement

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    //MYJOB JOB 377-44-1247,D.ROSE

    //PROCA PROC

    //PSTEP1 EXEC PGM=MYPROG

    //DDIN DD DSN=INDATA,DISP=SHR

    //DDOUT DD SYSOUT=A

    // PEND

    This defines the

    procedure

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    31/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 31 of 61

    The PEND statement immediately follows anin-stream procedure definition.

    It can be used with or without a name.

    // PEND

    or

    //ENDPROC PEND

    PEND Statement

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    //MYJOB JOB 377-44-1247,D.ROSE

    //PROCA PROC

    //PSTEP1 EXEC PGM=MYPROG

    //DDIN DD DSN=INDATA,DISP=SHR

    //DDOUT DD SYSOUT=A

    // PEND

    This defines the

    procedure

    Concepts

  • 7/30/2019 jcl intermedio unidad 2

    32/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 32 of 61

    Enter the JCL statement that begins an in-stream procedure ___________.

    Are We on Track?

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Review

  • 7/30/2019 jcl intermedio unidad 2

    33/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 33 of 61

    An in-stream procedure definition can be included anywhere within a job stream following the JOBstatement, but it must precede the EXEC statement that invokes the procedure.

    Generally, the definitions for an in-stream procedure are placed at the beginning of the job stream.

    In-Stream Procedure Definition

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Concepts

    /OS MVS JCL I t di t

  • 7/30/2019 jcl intermedio unidad 2

    34/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 34 of 61

    The example on the right shows a job streamthat contains an in-stream procedure definition

    named PROCA.

    The JCL between the PROC and PEND

    statements defines the procedure. The

    EXEC statement that refers to the procedurename executes it.

    In-Stream Procedure An Example

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    //MYJOB JOB 377-44-1247,D.ROSE

    //PROCA PROC

    //PSTEP1 EXEC PGM=MYPROG

    //DDIN DD DSN=INDATA,DISP=SHR

    //DDOUT DD SYSOUT=A

    // PEND//STEP1 EXEC PGM=PROG1

    //DD1 DD DSN=DATA1,DISP=SHR

    //DD2 DD SYSOUT=A

    //STEP2 EXEC PROCA This defines the

    procedure

    This executes the procedure

    Concepts

    /OS MVS JCL I t di t

  • 7/30/2019 jcl intermedio unidad 2

    35/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 35 of 61

    Refer to the procedure for MYJOB shown below

    Which of the following EXEC statements invokes the procedure?

    A. EXEC PROCA

    B. EXEC PGM=PROG1

    C. EXEC PGM=MYPROG

    Are We on Track?

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Review

    //MYJOB JOB 377-44-1247,D.ROSE

    //PROCA PROC

    //PSTEP1 EXEC PGM=MYPROG

    //DDIN DD DSN=INDATA,DISP=SHR

    //DDOUT DD SYSOUT=A// PEND

    //STEP1 EXEC PGM=PROG1

    //DD1 DD DSN=DATA1,DISP=SHR

    //DD2 DD SYSOUT=A//STEP2 EXEC PROCA

    /OS MVS JCL I t di t

  • 7/30/2019 jcl intermedio unidad 2

    36/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 36 of 61

    A procedure definition may have severalprocedure steps. Each step consists 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

    Procedure Definition

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    //MYJOB JOB 377-44-1247,D.ROSE

    //PROCA PROC

    //PSTEP1 EXEC PGM=MYPROG

    //DDIN DD DSN=INDATA,DISP=SHR

    //DDOUT DD SYSOUT=A

    // PEND//STEP1 EXEC PGM=PROG1

    //DD1 DD DSN=DATA1,DISP=SHR

    //DD2 DD SYSOUT=A

    //STEP2 EXEC PROCA

    Concepts

    /OS MVS JCL I t di t

  • 7/30/2019 jcl intermedio unidad 2

    37/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 37 of 61

    The in-stream procedure definition on theright contains the following two procedure

    steps:

    PSTEP1, which executes a program

    named PROG1

    PSTEP2, which executes a program

    named PROG2

    PSTEP1 identifies the program name (PROG1).

    The DD statements that follow define the data

    sets that will be created by the program.

    In-Stream Procedure Definition An Example

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    //TRANSACT PROC//PSTEP1 EXEC PGM=PROG1

    //DD1 DD DSN=INTRAN,DISP=SHR

    //DD2 DD DSN=MASTER,DISP=SHR

    //DD3 DD SYSOUT=A

    //DD4 DD DSN=&&VALID,UNIT=SYSDA,// DISP=(NEW,PASS),SPACE-(TRK,(1,1))

    //PSTEP2 EXEC PGM=PROG2//DD5 DD DSN=&&VALID,DISP=(OLD,DELETE)

    //DD6 DD SYSOUT=A

    //PEND

    Concepts

    /OS MVS JCL I t di t

  • 7/30/2019 jcl intermedio unidad 2

    38/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 38 of 61

    Which of the following can be part of a procedure definition?

    A. PROC statement

    B. EXEC statement invoking the same procedure

    C. Procedure step DD statements

    D. PEND statement

    Are We on Track?

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Review

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    39/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 39 of 61

    Following are JCL statements from a sample job stream containing an in-stream procedure. Placethe statements in the correct order.

    A. //PSTEP1 EXEC PGM=MYPROG

    B. //STEP1 EXEC PROCAC. //PROCA PROC

    D. //MYJOB JOB 337-44-1247,D.ROSE

    E. // PEND

    F. //DDIN DD DSN=INDATA,DISP=SH

    G. //DDOUT DD SYSOUT=A

    Are We on Track?

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Review

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    40/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 40 of 61

    Procedure Definition The JCL statements that define a procedure, which may consist ofseveral procedure steps.

    Glossary

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Glossary

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    41/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 41 of 61

    Now that you have completed this topic, you should be able to:

    Identify in-stream procedures

    Describe the function of a PROC statement

    Describe the function of a PEND statement

    Discuss an in-stream procedure definition

    Identify the steps in a procedure definition

    Topic Summary

    Unit: Introducing Procedures Topic: Identifying In-Stream Procedures

    Summary

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    42/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 42 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    43/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 43 of 61

    At the end of this topic, you will be able to:

    Explain how to catalog a procedure

    Topic Objectives

    Unit: Introducing Procedures Topic: Cataloging Procedures

    Introduction

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    44/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 44 of 61

    Cataloging

    What is cataloging?

    Once an in-stream procedure is tested, it can be cataloged for general use. Cataloging means storing it

    in a procedure library (PDS) using a utility program.

    Once an in-stream procedure has been cataloged, the EXEC statement that invokes this procedure refers to

    it by its member name in the procedure library.

    Unit: Introducing Procedures Topic: Cataloging Procedures

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    45/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 45 of 61

    In the example, notice that the procedure name PROCA changes to the member name PROC123 once the

    procedure is cataloged.

    Users must then invoke the procedure using the name PROC 123.

    Cataloging An Example

    Unit: Introducing Procedures Topic: Cataloging Procedures

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    46/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 46 of 61

    Now that you have completed this topic, you should be able to:

    Explain how to catalog a procedure

    Topic Summary

    Unit: Introducing Procedures Topic: Cataloging Procedures

    Summary

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    47/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 47 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    48/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 48 of 61

    At the end of this topic, you will be able to:

    Explain the need for procedure listings

    Describe how to obtain procedure listings

    Topic Objectives

    Unit: Introducing Procedures

    Introduction

    Topic: Obtaining a Procedure Listing

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    49/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 49 of 61

    Before a procedure is used, the user should obtain a JCL listing and examine its contents to ensure that itmeets the processing requirements.

    The user must determine that the procedure being used executes the right programs in the proper

    sequence, using appropriate data sets.

    Overview

    Unit: Introducing Procedures Topic: Obtaining a Procedure Listing

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    50/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 50 of 61

    How to obtain a procedure listing?

    A procedure listing can be obtained using one of the following methods:

    Use the IEBGENER utility.

    Use the IEBPTPCH utility.

    Execute a job and include the TYPRUN=SCAN parameter on the JOB statement. Then, within the

    job stream, include an EXEC statement that refers to the procedure to be listed.

    Procedure Listing

    Unit: Introducing Procedures Topic: Obtaining a Procedure Listing

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    51/61

    z/OS MVS JCL Intermediate

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 51 of 61

    Procedure Listing An Example

    The following example shows how to use TYPRUN=SCAN to obtain a listing of a cataloged procedurenamed PROCB.

    //MYJOB JOB 377-42-1247,D.ROSE,

    // TYPRUN=SCAN

    //JSTEP EXEC PROCB

    Unit: Introducing Procedures Topic: Obtaining a Procedure Listing

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    52/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 52 of 61

    You can get a procedure listing by coding __________ on the JOB statement of a job that invokes

    the procedure.

    Are We on Track?

    Unit: Introducing Procedures Topic: Obtaining a Procedure Listing

    Review

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    53/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 53 of 61

    Now that you have completed this topic, you should be able to:

    Explain the need for procedure listings

    Identify how to obtain procedure listings

    Topic Summary

    Unit: Introducing Procedures Topic: Obtaining a Procedure Listing

    Summary

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    54/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 54 of 61

    UNIT Introducing Procedures

    What is a Procedure?

    Cataloged and In-Stream Procedures

    Identifying In-Stream Procedures

    Cataloging Procedures

    Obtaining a Procedure Listing

    Invoking a Procedure

    Topics:

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    55/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 55 of 61

    At the end of this topic, you will be able to:

    Identify how to invoke a procedure

    Identify how to obtain a procedure name

    Topic Objectives

    Unit: Introducing Procedures Topic: Invoking a Procedure

    Introduction

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    56/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 56 of 61

    A procedure is invoked with an EXEC statement that identifies the procedure by name.

    The example shown invokes a procedure named PROCA.

    Invoking a Procedure

    Unit: Introducing Procedures Topic: Invoking a Procedure

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    57/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 57 of 61

    To invoke the procedure PROCA the following statement can be used:

    //JSTEP1 EXEC PROC=PROCA

    In another way of invoking a procedure, the programmer can omit PROC= in the EXEC statement. In this

    format only procedure name is given.

    In the example considered, the procedure PROCA can also be invoked in the following way:

    //JSTEP1 EXEC PROCA

    How to obtain the procedure name to specify in the EXEC statement ?

    For an in-stream procedure, the procedure name would be the name identified in the PROC statement.

    For a cataloged procedure, the procedure name would be the name under which the procedure was

    cataloged.

    Procedure Name

    Unit: Introducing Procedures Topic: Invoking a Procedure

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    58/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 58 of 61

    What is the difference between invoking aprocedure and a program?

    To invoke a procedure the keyword parameter

    PROC= can be used before the procedure name

    or it can be omitted.

    However, to invoke a program, the keyword

    parameter PGM= must be used before the

    program name.

    Consider the examples shown on the right.

    The first two examples invoke a procedure. The

    second one invokes a program.

    Invoking a Program

    Unit: Introducing Procedures Topic: Invoking a Procedure

    //MYJOB JOB 377-44-1247,D.ROSE

    //JSTEP1 EXEC PROCA

    This executes a procedure

    //MYJOB JOB 377-44-1247,D.ROSE

    //JSTEP1 EXEC PROG=PROGA

    This executes a program

    //MYJOB JOB 377-44-1247,D.ROSE

    //JSTEP1 EXEC PROC=PROCA

    This executes a procedure

    Concepts

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    59/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 59 of 61

    Code a statement to invoke a procedure named XYZ://STEPNAME _______.

    Are We on Track?

    Unit: Introducing Procedures Topic: Invoking a Procedure

    Review

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    60/61

    Copyright IBM Corp., 2000, 2004. All rights reserved. Page 60 of 61

    Now that you have completed this topic, you should be able to:

    Identify how to invoke a procedure

    Identify how to obtain a procedure name

    Topic Summary

    Unit: Introducing Procedures Topic: Invoking a Procedure

    Summary

    z/OS MVS JCL Intermediate

  • 7/30/2019 jcl intermedio unidad 2

    61/61

    Now that you have completed this unit, you should be able to:

    Define the terms procedure, cataloged procedure and

    in-stream procedure

    Specify where a procedure can be located

    Specify when to use an in-stream procedure and when

    to use a cataloged procedure

    Identify the JCL statements that define an in-stream

    procedure

    Code the JCL to obtain a procedure listing

    Code a statement to invoke a procedure

    Unit Summary

    Unit: Introducing Procedures