Modifying an OSAM data set
IMS Database Repair Facility consists of a single job step. To run it, you must specify the appropriate DD statements.
About this task
The general flow for the batch IMS Database Repair Facility is shown in the following figure.
Procedure
- Decide what data you want to Verify, Replace, or Dump.
- Code the EXEC and DD statements in the JCL. Use the following JCL example to code the JCL statements. All statements in the example are required.
//DBRFOBT4 JOB (installation accounting information) //* //BATCHTSO EXEC PGM=IKJEFT1B,DYNAMNBR=25,REGION=0M,COND=EVEN //* //SYSLIB DD DISP=OLD,DSNAME=DBT.HPPC.DB.DSFACHO0 //SYSEXEC DD DISP=SHR,DSN=smphlq.SFABCLIB //* //ISPPLIB DD DISP=SHR,DSN=ISP.SISPPENU //ISPMLIB DD DISP=SHR,DSN=ISP.SISPMENU //ISPSLIB DD DISP=SHR,DSN=ISF.SISFSLIB //ISPTLIB DD DISP=SHR,DSN=ISP.SISPTENU //ISPLOG DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA) //ISPPROF DD DSN=&TEMP1,DISP=(NEW,PASS),UNIT=SYSALLDA, // SPACE=(CYL,(3,10,15)),DCB=(LRECL=80,BLKSIZE=3120,RECFM=FB) //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * PROFILE PREFIX(userid) ISPSTART CMD(FABZOSMB smphlq workhlq workmlq debug) /* //SYSIN DD * (control statements) /*
Specify the following DD statements.- SYSLIB DD
- Defines the OSAM data set that is to be processed by IMS Database Repair Facility.
- SYSEXEC DD
- Defines the REXX procedure library of IMS Database Repair Facility (SFABCLIB).
- ISPPLIB, ISPMLIB, ISPSLIB, ISPTLIB, ISPPROF, ISPLOG DD
- Except for the ISPLOG DD statement, all these DD statements are required. These DD statements specify the ISPF data sets. For more information about these DD statements, see the z/OS® ISPF User’s Guide, Volume 1.
- SYSTSPRT DD
- Defines the sequential output message data set. It contains 133-byte fixed-length records.
BLKSIZE, if coded, must be a multiple of 133. However, it is recommended that you use:
//SYSTSPRT DD SYSOUT=A
If logical errors occur, they are printed in the SYSTSPRT DD data set following the control statement that caused the error.
After processing, the SYSTSPRT data set contains a list of the processed control statements and all messages that are generated during control statement processing.
If any operation fails, the program exits and subsequent SYSIN cards are ignored.
For more information about the data that is generated in the SYSTSPRT data set, see SYSTSPRT data set.
- SYSTSIN DD
- Defines the input data set that contains the PROFILE and ISPSTART commands and their parameters.
The PROFILE command is optional but the ISPSTART command is required. The PROFILE command must
precede the ISPSTART command.
//SYSTSIN DD * PROFILE PREFIX(userid) ISPSTART CMD(FABZOSMB smphlq workhlq workmlq debug) /*
- userid
- Optional. Specifies the prefix portion for the data set names that are used by ISPF. If the userid is defined to RACF®, instead of specifying the PROFILE PREFIX(userid) statement, you can specify the USER=userid parameter on the JOB statement.
- smphlq
- Required. Specifies the high-level qualifier of the IMS Database Repair Facility load module library (SFABLMD0).
- workhlq
- Required. Specifies the high-level qualifier for the work data sets that are used by IMS Database Repair Facility.
- workmlq
- Required. Specifies the middle-level qualifier for the work data sets that are used by IMS Database Repair Facility.
- debug
- Optional. Code this parameter only for debugging purposes.
To report problems to IBM® for diagnosis, set this parameter to 1 to turn on the debug trace, rerun the failing job, and send the job log to IBM.
- SYSIN DD
- Defines the input data set that contains your control statements. This data set usually resides in the input stream. However, it can be defined either as a sequential data set or as a member of a partitioned data set. It must contain 80-byte fixed-length records. BLKSIZE, if coded, must be a multiple of 80.
- Code the SYSIN control statements and insert them in the
JCL.
If appropriate, consider the use of the CHECK control statement, which checks your control statements without updating the OSAM data set.
The following figure shows an example of the SYSIN control statements://SYSIN DD * OBLK 2 DUMP VER 0020 F9C3C4E9 VER 0024 C2C3D9C4 REP 0020 F9C4C4E9 REP 0024 C2C4D9C4 DUMP /*
For more information about the SYSIN control statements, see SYSIN data set.
- Run the job.
- Review the output messages to ensure that the job ran as planned.