Page 1 of 1

PROCLIB

Posted: Tue Oct 14, 2008 8:38 pm
by 83.arun
Defining A CATALOGUED proc:
----------------
//CATLOG1 PROC.
// ***"EXEC STATEMENTS AFTER THAT"****
// ********DD STATEMENTS & ALL********


I need some one who could help me out with this statement:
===========================================

//MYJOB JOB,
//PROCLIB DD DSN=MYPROCLIB, DISP=SHR
//S1 EXEC CATLOG1


Now the explanation given to this :
the dd statement identifies the pds where the procedure resides. Moreover itmust be there if this is a private library.The name CATLOG1 is not necessarily the name that has appeared on the proc card. Whatever the name is assigned to the PDS member when it is stored ,is also the name of the procedure.

NOW MY DOUBT IS :
1.HOW DIFFERENT IS THE PROCLIB STATEMENT FROM JCLLIB ORDER STATEMNT?
2.IS THERE ANY DIFFERENCE B/W THE TWO IF SO HOW?
3.IS THE PROCLIB STATEMENT MENTIONED ABOVE A KEYWORD IN JCL?
4.NOW IF I STORE A PROC WITH A DIFFERENT NAME FROM WHAT IS MENTIONED IN THE PROC CARD WHICH NAME SHOULD I BE USING TO CALL THE PROC IN THE MAIN JCL ??

KINDLY HELP ME WITH THESE QUERIES......


THANKS
KUMAR

JCLLIB PROCLIB INSTREAM PROC

Posted: Wed Oct 15, 2008 10:48 am
by Natarajan
Your question is something related to " calling procedures " in JCL.

Let me give you some background on this.

When you call a procedure, the system retrieves it using the following search order

1. From the input stream

If the called procedure is an in-stream procedure, the system retrieves it from the job
input stream. You must place the in-stream procedure before the EXEC statement that calls it.

2. From a private library

If the called procedure is cataloged in a private library, the system
retrieves it from the private library that you specify on the JCLLIB
statement that appears earlier in the job stream.

3. From the system library

If the called procedure is cataloged in a system libarary, the subsystem retrives it as follows.

In JES2, from the library names on the PROCLIB=parameter on a /*JOBPARM statement
In JES3, from the library name on the PROC=parameter OF THE //*MAIN statement
In MSTR, the data set specified by the IEFPDSI DD statement in the currently active master JCL is searched for procedures.
The default master JCL specifies SYS1.PROCLIB



It look like your JCL is some thing related to "Easy PROCLIB" product.

-------
In the past, OET licensed a product named Easy PROCLIB. This product gave mainframe batch customers the ability to execute code from a library that was not considered part of the system defaults. Since this function has now been added to the z/Series operating system, Easy PROCLIB is no longer necessary.

As part of the process of eliminating the Easy PROCLIB license, batch customers who utilized the Easy PROCLIB software will need to make changes to their JCL. The old format was to add a DD statement with the reserved name of "PROCLIB" prior to the first execute statement. This statement could reference a library or a concatenation of libraries, which would be searched before the normal system libraries. An example would be:

//PROCLIB DD DSN=MY.PROCLIB,DISP=SHR
// DD DSN=MY.OTHER.PROCLIB,DISP=SHR

The above DD statement needs to be replaced with a JCLLIB statement. This JCLLIB statement can use any name except "PROCLIB".

//ANYLIB JCLLIB ORDER=(MY.PROCLIB,MY.OTHER.PROCLIB)

For a single library the parentheses are optional as shown in the following example:

//MYLIB JCLLIB ORDER=MY.PROCLIB

The JCLLIB statement must follow the JOB statement and precede the first EXEC statement.

------------

Topic deleted by Admin

Posted: Fri Jan 15, 2016 9:16 pm
by academyindia4
<< Content deleted By Admin >>