JCL requirements for PCPRRELD
The JCL required to run PCPRRELD is compatible with the IBM DB Segment Restructure utility program FABRRELD. To use your existing JCL, simply insert the BMC Software load library ahead of the IMS RESLIB library in the STEPLIB concatenation.
Figure 1 shows generic JCL for executing PCPRRELD.
Figure 1. PCPRRELD JCL
// MSGCLASS=x
//*
//RELOAD EXEC PGM=DFSRRC00,REGION=0M,
// PARM='DLI,FABRRELD,psbname,,,,,,,,,,,Y'
//STEPLIB DD DISP=SHR,DSN=bmc.xxx.load,DCB=BLKSIZE=19069
// DD DISP=SHR,DSN=IMS.USERLIB
// DD DISP=SHR,DSN=IMS.RESLIB
//DFSRESLB DD DISP=SHR,DSN=IMS.RESLIB
//IMS DD DISP=SHR,DSN=IMS.DBDLIB
// DD DISP=SHR,DSN=IMS.PSBLIB
//IEFRDER DD DISP=OLD,DSN=IMS.PCPRRELD.IEFRDER
//DFSVSAMP DD DISP=SHR,DSN=BMC.OPTIONS(BMCVSAMP)
//DFSURCDS DD DISP=SHR,DSN=dbdname1.DFSURCDS
//DFSURWF1 DD DISP=SHR,DSN=dbdname1.DFSURWF1
//SYSPRINT DD SYSOUT=*
//PLUSOUT DD SYSOUT=*
//PLUSLIST DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//PLUSIN DD * <=== optional LDP
USERLOAD control statement <=== optional LDP
//SYSIN DD *
DB control statement
SEG control statement
CHG control statement
/*
//datain DD DISP=SHR,DSN=BMC.PCP.FABRUNLD <=== FAB UNLOAD
//ddname DD DISP=SHR,DSN=database.dataset
//
EXEC | (required) Code the EXEC statement as follows: //stepname EXEC PGM=DFSRRC00,REGION=0M, // PARM='DLI,FABRRELD,psbname,,,,,,,,,,,Y' If you do not want to change the order of the segments within the database record, you can run PCPRRELD in load mode. To do so, the PSB specified bypsbname must use a PROCOPT of L or LS. If you want to change the order of the segments within the record, you must run PCPRRELD in update mode with a PROCOPT of A. The PSB must also have the parameter LANG=ASSEM or LANG=COBOL coded on the PSBGEN statement. Specify 0M for the REGION size. You can use the DLIBATCH procedure to run PCPRRELD. If you do, code the EXEC statement as follows: //stepname EXEC DLIBATCH,MBR=FABRRELD,PSB=psbname or //stepname EXEC DLIBATCH,MBR=PCPRRELD,PSB=psbname |
|---|---|
STEPLIB DD | (required) Insert the BMC Software load library ahead of the IMS RESLIB library. |
DFSRESLB DD | Required if the STEPLIB concatenation includes any libraries that are not APF-authorized. This statement describes the library (typically the IMS RESLIB) containing the IMS execution modules. |
IMS DD | (required) This statement describes the libraries that contain the DBD and PSB needed to access the database. |
IEFRDER DD | (required) If you use a PSB with PROCOPT of A and DBRC is specified as Yes or Force, this statement describes the primary system log data set. If you are not using an update PSB and/or DBRC is specified as NO, you can code this statement as DUMMY. |
IEFRDER2 DD | (optional) If you use a PSB with PROCOPT of A and DBRC is specified as Yes or Force, this statement describes the secondary system log data set. You can code this statement as DUMMY. |
DFSVSAMP DD | (required) This statement defines the data set that contains information used by the DL/I buffer handler. |
DFSURCDS DD | Required as an input file if the database you are restructuring has logical relationships and/or secondary indexes defined for it. This statement defines the informational data set produced by the IMS Prereorganization utility. |
DFSURWF1 DD | Required as an output file if the database you are restructuring has logical relationships and/or secondary indexes defined for it. This statement defines the data set to which PCPRRELD will write logical relationship and/or secondary index work records. This data set will be used as input to the job steps that resolve and update logical relationship information and/or rebuild secondary indexes. |
RECONn DD | (optional) These data sets define the DBRC control data sets. BMC Software recommends that you do not include RECON DD statements in your JCL. Instead, add an MDALIB that contains the RECON data sets to your STEPLIB concatenation. |
SYSPRINT DD | (required) PCPRRELD writes informational reports to this data set. The default DCB parameters are LRECL=121 and BLKSIZE=7260. |
PLUSOUT DD | (optional) This statement defines the output data set to contain snaps of various PCPRRELD control blocks, including the DB-PCB at the time that an insert fails. If an abend occurs, BMC Software can use these snaps for debugging problems. Normally you would define it as a SYSOUT-type data set. |
PLUSLIST DD | (optional) This statement defines the output data set that contains snaps of any blocks in error and miscellaneous data set statistics. Normally you would define it as a SYSOUT-type data set. |
SYSUDUMP DD | (optional) This statement defines a dump data set. If PCPRRELD encounters any problems, it prints an error message in the SYSPRINT data set and then abends. This data set contains the dump for use in resolving the problem. |
USEREXIT DD | (optional) This statement defines the load library that contains the user exit routine you want PCPRRELD to call for processing the records before loading them into the database. Using-a-COBOL-II-user-exit provides further information for coding and using a user exit with PCPRRELD. |
datain DD | (required) This statement defines the sequential data set that contains the unloaded database. Provide one datain statement for each database PCPRRELD will load in this job step. The ddname on this statement corresponds to the ddname coded on the control statement in column 21. |
ddname DD | (required) This statement defines the IMS database data set to load. Provide one statement for each database data set PCPRRELD will load in this job step. The ddname on this statement must match the ddname specified in the DBD. |
PLUSIN DD | Required if you want to use the LOADPLUS LPI. This statement defines the LPI control statement data set. The LPI control statement you should use consists of the command USERLOAD and the keyword PCB. The value of the PCB keyword defines one PCB within the PSB that the LPI will service. You can specify the PCB either by number or name, using a maximum of 100 characters. Other keywords and statements are valid for the LPI. |
SYSIN DD | (required) This statement defines the control statement data set. If you code the BLKSIZE parameter, its value must be a multiple of 80. Three types of control statements are valid in the SYSIN data set for program PCPRRELD:
PCPRRELD can load multiple databases per job step, change multiple segments in each database, and make multiple changes to each segment. Therefore, the order of the statements in the SYSIN data set is important:
The parameters on the control statements are positional; their meanings are based on the columns in which they start. The following sections describe the control statements in detail. |