2. Planning for Installation and Use of CA MICS › 2.3 Installation Planning and Parameter Specification › 2.3.3 CA MICS JCL Planning and Parameters › 2.3.3.3 JCLGEN Parameters for Special Requirements › 2.3.3.3.1 Prototype Library (PROTOLIB)
2.3.3.3.1 Prototype Library (PROTOLIB)
The purpose of modifying this library is to allow your
changes to be automatically carried forward during subsequent
CA MICS JCL generations. You must make any required changes
and extensions to the MICS.PROTOLIB member used to create the
member you actually wish to modify, rather than to the
generated member itself.
The prototype library contains JCL job streams, JCL
procedures, MACROs, and CLISTs members in symbolic form. The
JCLGEN process reads these prototype members and, using your
definitions from various MICS.PARMS members and
CA MICS-provided definition tables, substitutes the
appropriate values for the members' symbols. In addition,
any Generation Control Language (GCL) statements imbedded in
the prototype member will be executed. The completed members
are stored in the MICS.CNTL, MICS.MACAUTOS, MICS.USER.SOURCE,
or MICS.CLIST libraries.
Figure 2-25 lists the sharedprefix.MICS.PROTOLIB members that
are not specified directly by a GENLIST member. They are
included by other prototype members or are named in the
JCLINFO or JCL$Iccc members. In any case, they do not have a
one-to-one correspondence with any member in the target
libraries.
CA MICS maintenance to the prototype library will be applied
through normal PSP product changes. Any user modifications
to the prototype library members must be applied using
IEBUPDTE and saved in MICS.LOCALMOD.CNTL so they may be
reapplied as needed.
Some prototype members are generated during component
generation and stored by the CYCLEGEN job in
prefix.MICS.PARMS for the sake of keeping them unit-specific.
Any modifications you make to these members will have to be
reapplied following the CYCLEGEN job. The generated PARMS
members are marked shown in Figure 2-26.
+-----------------------------------------------------------+
| PROTOLIB |
| MEMBER JOBNAME DESCRIPTION |
|-----------------------------------------------------------|
| CCCCGEN cccCGEN Component Generation Jobs |
| CCCCHECK cccCHECK Component CHECK Jobs |
| CCCEVA cccEVA Component Exection Valuation Jobs |
| CCCPGEN cccPGEN Component Parameter Generation Jobs |
| COMPDATA DAILY GCL to Create Daily Work Files |
| COMPINCL DAILY GCL for REPEAT INCLUDE by Component |
| DBDDS GCL for Data Base DD Statements |
| DBTPDDS GCL for BACKUP Tape DD Statements |
| DYcccsss DAILY Component Step for Each DAILY Job |
| DYRPT400 DAILYRPT Component Report Step for DAILY Job |
| DYUSR500 DAILY USER Step for DAILY Job |
| ISPF GCL to define ISPF environment |
| ISPSTART Start SAS in batch TMP environment |
| JCLGEN JCLGENx GCL for Unit Level JCLGEN Jobs |
| JCLGENC JCLGENn GCL for Complex Level JCLGEN Jobs |
| MICSASM GCL to create SYS1.PROCLIB member |
| MICSCOM GCL to create SYS1.PROCLIB member |
| MICSDB GCL to create SYS1.PROCLIB member |
| MICSDM GCL to create SYS1.PROCLIB member |
| MICSDOC GCL to create SYS1.PROCLIB member |
| MICSDU GCL to create SYS1.PROCLIB member |
| MICSGT GCL to create SYS1.PROCLIB member |
| MICSGU GCL to create SYS1.PROCLIB member |
| MICSNDB GCL to create SYS1.PROCLIB member |
| MICSRPTS GCL to create SYS1.PROCLIB member |
| MICSSHR GCL to create SYS1.PROCLIB member |
| MNcccsss MONTHLY Component Step for Each MONTHLY Job |
| MNRPT400 MONTHRPT Component Report Step for MONTHLY Job|
| MNUSR500 MONTHLY User Step for MONTHLY Job |
| SAS GCL to define SAS/CA MICS environment|
| STEPLIB GCL to define STEPLIB DD statement |
| WKcccsss WEEKLY Component Step for Each WEEKLY Job |
| WKRPT400 WEEKRPT Component Report Step for WEEKLY Job |
| WKUSR500 WEEKLY USER Step for WEEKLY Job |
| YRcccsss YEARLY Component Step for Each YEARLY Job |
| YRUSR500 YEARLY USER Step for YEARLY Job |
+-----------------------------------------------------------+
| Note: most PROTOLIB member names correspond to the name |
| of the output member generated from this library. Only |
| the exceptional names are listed in this table. |
+-----------------------------------------------------------+
Figure 2-25. Non-GENLIST Members in MICS.PROTOLIB
+-----------------------------------------------------------+
| PARMS |
| MEMBER JOBNAME DESCRIPTION |
|-----------------------------------------------------------|
| MNccc300 MONTHLY Tape Allocation for MONTHLY History |
| WKccc300 WEEKLY Tape Alloc for WEEKLY Audit/History |
+-----------------------------------------------------------+
| Note: These unit-level PARMS library members are |
| generated by a CYCLEGEN job. Any modifications made to |
| them will be lost after the next CYCLEGEN run. |
+-----------------------------------------------------------+
Figure 2-26. Generated Members in prefix.MICS.PARMS
2.3.3.3.1.1 Making a Simple JCL Change in MICS.PROTOLIB
Suppose, for the sake of this example, that you started
getting SYSTEM=80A (insufficient virtual region size) abends
in the DAYSMF step of the CA MICS DAILY job. You note that
an unmodified CA MICS generates the following EXEC card for
this job step:
//DAYSMF EXEC MICSDB,RSIZE=750K
You decide, perhaps after consultation with the CA MICS
Product Support Group, that 1024K is needed in your shop. If
you modified prefix.MICS.CNTL(DAILY), the change would have
to be repeated after the next JCLGEN, so you decide to take
advantage of the flexibility afforded by MICS.PROTOLIB.
From the explanation of the logic of JCLGEN in Section
2.3.3.3, you determine that you must look at the JCL$Iccc
members in sharedprefix.MICS.PARMS to find out which PROTOLIB
member is used in the generation of prefix.MICS.CNTL(DAILY).
In JCL$IBAS you find the following entry:
*
* C
* L O C
* T I P L P
* PROTO I N I A R
* ------------------ M E E S T
* MEMBER TYPE COMP MBRNAME E S S UJOBNAME S Y
*======== ===== ==== ======== == === = ======== = ==
. . . . . . .
. . . . . . .
. . . . . . .
DAILY CNTL BASE . 30 80 1 . . .
The absence of a MBRNAME specification tells you that the
PROTOLIB member to be used is "DAILY." Examining
sharedprefix.MICS.PROTOLIB(DAILY), you find the following
line:
//DAYSMF EXEC &MICSDB,RSIZE=750K ... 00064000
You prepare a local modification member in
sharedprefix.MICS.LOCALMOD.CNTL using the IEBUPDTE utility to
update this member of PROTOLIB (thus observing the standard
CA MICS modification practice of not using an online editor):
//jobname JOB ....
//UPDATE EXEC PGM=IEBUPDTE
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=OLD,DSN=sharedprefix.MICS.PROTOLIB
//SYSUT2 DD DISP=OLD,DSN=sharedprefix.MICS.PROTOLIB
//SYSIN DD DATA,DLM=ZZ
./ CHANGE NAME=DAILY
:* U00001|0592|INCREASE DAYSMF REGION TO 1024K */ 00002801
//DAYSMF EXEC &MICSDB,RSIZE=1024K,SYSPARM=&SYSPARM 00064000
ZZ
The first change is a notation to the user comment block at
the beginning of the member.
After running this update job and verifying that it
functioned properly, you must regenerate the DAILY job by
running the JCLGENU job stream.
Edit prefix.MICS.PARMS(JCLGENU) and enter a line that reads:
DAILY
Now submit prefix.MICS.CNTL(JCLGENU) to regenerate the DAILY
member in prefix.MICS.CNTL.