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.

Figure 1. Data flow for batch IMS Database Repair Facility
This figure shows the data flow for batch IMS Database Repair Facility. Input consists of control statements and the database to be modified. Output consists of the modified database.

Procedure

  1. Decide what data you want to Verify, Replace, or Dump.
  2. 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.
  3. 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.

  4. Run the job.
  5. Review the output messages to ensure that the job ran as planned.