GENJCL.IC
After considering the points discussed in GENJCL for the Image Copy function, do the following to generate Image Copy function JCL:
- Write a skeletal JCL member for the Image Copy
function. A sample skeletal JCL member is listed in Figure 1. You must place skeletal JCL members in your
JCLPDS library.
- Specify the libraries that contain the modules of Image Copy function and HD Pointer Checker.
- Specify Y, N, or a blank for position 39 in the SYSIN DD statement. Use the keyword %COMP to specify this. You can specify any user-defined keywords like this within the DBRC convention. User-defined keywords are replaced by values in an appropriate default member when the JCL is generated.
- Specify the DD statements for the HASH Check option.
Figure 1. Sample skeletal JCL FABJICS0 //IC%STPNO EXEC PGM=DFSUDMP0,REGION=800K //* //* JCL FOR IMAGE COPY WITH HPIC DATA COMPRESSION //* //STEPLIB DD DSN=HPS.SHPSLMD0,DISP=SHR // DD DSN=IMSESA.SDFSRESL,DISP=SHR //SYSPRINT DD SYSOUT=A %DELETE (%RCNDSN1 EQ '') //RECON1 DD DSN=%RCNDSN1,DISP=SHR %ENDDEL %DELETE (%RCNDSN2 EQ '') //RECON2 DD DSN=%RCNDSN2,DISP=SHR %ENDDEL %DELETE (%RCNDSN3 EQ '') //RECON3 DD DSN=%RCNDSN3,DISP=SHR %ENDDEL //IMS DD DSN=IMSESA.DBDLIB,DISP=SHR %SELECT DBDS((%DBNAME,%DBDDN)) %DELETE (%DBADSAV NE 'AVAIL') //%DBADDN DD DSN=%DBDSN,DISP=OLD %ENDDEL %DELETE (%DBADSAV NE '') //%DBDDN DD DSN=%DBDSN,DCB=BUFNO=10,DISP=OLD %ENDDEL %ENDSEL //DATAOUT1 DD DSN=%ICDSN1,UNIT=%ICUNIT1, // VOL=(PRIVATE,,,%ICVCNT1,SER=(%ICVOLS1)), // LABEL=(%ICFSEQ1,SL), // DISP=(NEW,KEEP),DCB=BUFNO=10 %DELETE (%COPIES EQ '1') //DATAOUT2 DD DSN=%ICDSN2,UNIT=%ICUNIT2, // VOL=(PRIVATE,,,%ICVCNT2,SER=(%ICVOLS2)), // LABEL=(%ICFSEQ2,SL), // DISP=(NEW,KEEP),DCB=BUFNO=10 %ENDDEL //SYSIN DD * %DELETE (%COPIES EQ '2') D1 %KDBN %KDDN DATAOUT1 %COMP %ENDDEL %DELETE (%COPIES EQ '1') D2 %KDBN %KDDN DATAOUT1 DATAOUT2%COMP %ENDDEL /* %DELETE (%HASH NE 'Y') //DBDEFCTL DD DISP=SHR,DSN=HPS.DBDEFCTL //PRIMAPRT DD SYSOUT=A //STATIPRT DD SYSOUT=A //VALIDPRT DD SYSOUT=A //SNAPPIT DD SYSOUT=A //FSESTAT DD DISP=(NEW,DELETE,DELETE),UNIT=SYSDA, // SPACE=(CYL,(1,1)) //SORTEX DD DISP=(NEW,CATLG,DELETE),UNIT=SYSDA, // SPACE=(CYL,(1,1)), // DSN=HPS.%DBNAME.%DBDDN.SORTEX %ENDDEL
- Write a default member containing the default values to be replaced by the user-defined
keywords. When JCL is generated, the user-defined keywords in skeletal JCL member (Figure 1) are replaced with values in the appropriate
default member. Figure 2 shows a sample default
member FABJICD1.
Figure 2. Default member FABJICD1 GENJCL.IC DEFAULT MEMBER FOR HPIC IMAGE COPY FUNCTION DEFAULT MEMBER NAME (FABJICD1) IF YOU WISH TO USE: - DATA COMPRESSION FOR IC RECORDS - HDPC HASH CHECK OPTION FOR TAKING IMAGE COPY BY GENJCL.IC, REFER TO THIS DEFAULT MEMBER AND THE 'FABJICS0' SKELETAL JCL MEMBER OF THE DISTRIBUTED SAMPLE JCL LIBRARY. TO USE THIS DEFAULT MEMBER, YOU ARE REQUIRED TO SPECIFY DEFLTJCL(FABJICD1) ON INIT.DBDS COMMAND OR DEFAULTS(FABJICD1) ON GENJCL.IC COMMAND. SAMPLE GENJCL.IC COMMAND FORMAT ARE: 1. IF YOU WANT TO COMPRESS IMAGE COPY, GENJCL.IC DBD(DBDNAME1) DDN(DDNAME1) 2. IF YOU WANT TO COMPRESS IMAGE COPY AND INVOKE THE HASH FUNCTION, GENJCL.IC DBD(DBDNAME1) DDN(DDNAME1) - USERKEYS((%HASH,'Y')) 3. IF YOU DO NOT WANT TO COMPRESS IMAGE COPY, GENJCL.IC DBD(DBDNAME1) DDN(DDNAME1) - USERKEYS((%COMP,' ')) DEFAULT VALUES: FOLLOWING DEFAULT VALUES SUBSTITUTE FOR THE SIMPLE KEYWORDS DEFINED IN THE SKELETAL JCL EXECUTION MEMBER 'FABJICS0'. %KDBN='DBDNAME1' DBNAME MUST BE 8 CHARACTERS %KDDN='DDNAME1 ' DBDDN MUST BE 8 CHARACTERS %COMP='Y' COMPRESSION: YES %HASH='N' HASH CHECK: NO
Specify DBDNAME to replace %KDBN. Add blanks to fill any character string that has fewer than 8 characters.
Specify DDNAME to replace %KDDN. As in Figure 2, blanks must be added to any character string of fewer than 8 characters.
Specify Y, N, or a blank to replace %COMP-Y for IMS HP Image Copy with compression; N or a blank for IMS HP Image Copy without compression.
Specify Y, N, or a blank to replace %HASH-Y for IMS HP Image Copy with the HD Pointer Checker HASH evaluation; N or a blank for IMS HP Image Copy without the HD Pointer Checker HASH evaluation.
- Register the members to
the RECON data set.
- Initialize the RECON data set and register the required information to it. For details about initialization, registration, and modification of RECON, see IMS System Utilities.
- Register to the RECON data set the name of the skeletal JCL member and the default member you
want to use.
Use the INIT.DBDS command to register the names. The ICJCL parameter specifies the name of the skeletal JCL member. The DEFLTJCL parameter specifies the name of the default JCL member.
INIT.DBDS DBD(db1) DDN(dd1) - DSN(dsn1) GENMAX(n) - ICJCL(FABJICS0) DEFLTJCL(FABJICD1)
where n=2-255.
- Run the GENJCL.IC command to generate the JCL for the Image Copy
function.
GENJCL.IC DBD(db1) DDN(dd1)
The DBRC uses the skeletal JCL and the default JCL that are registered to the RECON to generate the JCL for the Image Copy function.
The following is the resulting IMS HP Image Copy control statement:
//SYSIN DD * D1 DB1 DD1 DATAOUT1 Y /*