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

//PCPRESTR JOB (acct),'PCP DATA RESTRUCTURE',CLASS=x,NOTIFY=uuu,
//             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:

  • DB

    Describes the database that PCPRRELD will load

  • SEG

    Defines a segment PCPRRELD must change before loading it into the database

  • CHG

    Defines the change that PCPRRELD will make to the segment described by the preceding SEG statement

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 DB statement is required and must be first in the data set.
  • One or more SEG statements can follow the DB statement, and they apply to the database described with the preceding DB statement.
  • One or more CHG statements can follow each SEG statement, and they apply to the segment described with the preceding SEG statement.

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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

POINTER CHECKER PLUS 5.0