How to use a backup IPC to reload a file from a tape that has been scratched by ASM2
search cancel

How to use a backup IPC to reload a file from a tape that has been scratched by ASM2


Article ID: 9534


Updated On:




The following procedure describes the method to reload backup files that are on a tape that ASM2 has scratched but that has not been reused.


Release: ASM2..00200-4.2-ASM2-Backup and Restore


You may be able to use IEBGENER and BLP processing to copy a file from the tape. To find the file on the tape, multiply the file number by 3 then subtract 1. For example, to restore file number 17:

(17 * 3) - 1 = 50

However, if the file was compressed by ASM2, then no standard data movers can be used. Only ASM2 data movers can be used. The following is the procedure to reload the datasets from the BACKUP copy of the IPC.

  1. Find the backup IPC. It is probably a REPRO format
  2. Use the following JCL to allocate a new IPC and JNL file to be used only for the recovery of the IPC and this purpose only. Do not use a product dataset name.
                                                                                                                               //STEP1    EXEC PGM=IDCAMS                                                 //SYSPRINT  DD SYSOUT=*                                                    //SYSIN DD *                                                                DEF     CL (                                  -                                     NAME(ASM.ASM242.ASM2IPC)             -                                     UNIQUE FREESPACE(0 0)                -                                     CISZ(4096) KEY(80 8)                 -                                     RECORDSIZE(512 4089)                 -                                     SHAREOPTIONS(3 3))                   -                                DATA (                                    -                                     NAME(ASM.ASM242.ASM2IPC.DATA)        -                                     CYLINDERS(70 5)                      -                                     VOLUME(TSO76A))                      -                           INDEX (                                    -                                 NAME(ASM.ASM242.ASM2IPC.INDEX)       -                                 CYLINDERS(25 5)                      -                                 VOLUME(TSO76A)                       -                                 CISZ(4096))                                                                                                                         //DEFINE  EXEC  PGM=IDCAMS                                             //SYSPRINT DD SYSOUT=(*)                                               //SYSIN    DD *                                                         DEFINE  CLUSTER (                                    -                          NAME(ASM.ASM242.ASM2JNL)                    -                          CISZ(4096)                                  -                          RECORDSIZE(256 4089)                        -                          REUSE                                       -                          SHAREOPTIONS(3 3)                           -                          NONINDEXED                                  -                          )                                           -                     DATA (                                           -                          NAME(ASM.ASM242.ASM2JNL.INDEX)              -                          CYLINDERS(25 5)                             -                          VOLUME(TSO76A)                              -                          )
    Be sure to make the appropriate changes to fit your environment.
  3. Once you have the backup IPC allocated use the following JCL to prime the files
                                                                                                                                      //$$$$$$@  EXEC PGM=M2PCBRU                                            //SYSPRINT DD  SYSOUT=*                                                //SYSUDUMP DD  SYSOUT=*                                                //ISPMLIB  DD  DISP=SHR,DSN=your.CAIISPM                                    //ASM2IPC  DD  DISP=SHR,DSN=the new .ASM2IPC                                //ASM2JNL  DD  DISP=SHR,DSN=the new .ASM2JNL                                //SYSIN    DD  *                                                            ANALYZE CATID(ASM2)
  4. Now that you have the IPC/JNL file ready then you can REPRO into the files from the backup IPC.
                                                                                                                                     //STEP1    EXEC PGM=IDCAMS                                                  //SYSUT1   DD DISP=SHR,DSN=backup copy of IPC .ASM2IPC                      //SYSUT2   DD DISP=SHR,DSN=your new .ASM2IPC                                //SYSPRINT  DD SYSOUT=*                                                     //SYSIN DD *                                                                  REPRO IFILE(SYSUT1) OFILE(SYSUT2) NOREPLACE ELIMIT(9999)
  5. Now you are ready to reload files from this specific IPC from the tape purged from the production IPC. You can use the following reload JCL to process reloads in batch.
                                                                                        //                             jobcard                                      //ASM2CMDU PROC IDX='prefix             ',                                  //             CLASS='*',                                                   //             WKUNIT='SYSDA',                                              //             PRTBLK=2660                                                  //************************************************************              //*                                                          *              //*       CA-ASM2 BATCH COMMAND PROCEDURE FOR RELEASE 4.2    *              //*                                                          *              //*       NOTE THAT ANY CA-ASM2 COMMAND MAY BE ENTERED       *              //*       IN THIS PROCEDURE.                                 *              //*      This is an instream proc sample                     *              //************************************************************          //ASM2CMDU EXEC PGM=$ASMBMON,REGION=4096K                               //*$OPTIONZ   DD  DUMMY                                                 //SYSPRINT DD  SYSOUT=(&CLASS),                                         //             DCB=(RECFM=FBA,LRECL=133,BLKSIZE=&PRTBLK)                //SYSUDUMP DD  SYSOUT=(&CLASS)                                          //             DCB=(RECFM=FBA,LRECL=133,BLKSIZE=&PRTBLK)                //SYSUDUMP DD  SYSOUT=(&CLASS)                                          //ABNLDUMP DD  DUMMY                                                    //ASM00000 DD  SYSOUT=(&CLASS),                                         //             DCB=(RECFM=FA,LRECL=121,BLKSIZE=121)                     //AMSOUT   DD  SYSOUT=(&CLASS)                                          //$RAORD   DD  DSN=&TEMPRA,UNIT=&WKUNIT,                                //             SPACE=(TRK,(1,1)),DISP=(,DELETE,DELETE),                 //             DCB=(RECFM=FB,LRECL=260,BLKSIZE=260)                     //$RBORD   DD  DSN=&TEMPRB,UNIT=&WKUNIT,                                //             SPACE=(TRK,(1,1)),DISP=(,DELETE,DELETE),                 //             DCB=(RECFM=FB,LRECL=260,BLKSIZE=260)                     //$RXQUEUE DD  DISP=SHR,DSN=your .ARCH.$RAQUEUE                         //ARCHBKLG DD  DISP=SHR,DSN=your .ARCH.$ARQUEUE                         //ASM2IPC  DD  DISP=SHR,DSN=your new .ASM2IPC                           //ASM2JNL  DD  DISP=SHR,DSN=your new .ASM2JNL                           //ISPMLIB  DD  DISP=SHR,DSN=your .CAIISPM                               //$INPUT   DD  UNIT=&WKUNIT,                                            //             SPACE=(TRK,(1,1)),DCB=(RECFM=F,BLKSIZE=80)               //         PEND                                                         //STEP01   EXEC ASM2CMDU                                                //SYSIN    DD  *                                                        $RA DSNAME('dsname         ')
  6. If the reload request is not processed then you may have to create a special $OPTIONx file to handle this as well.

    Your $OPTIONS dataset is in your ASM2.PARMLIB. Create a new one from the production version. Call it $OPTIONx (where x is any alpha or numeric value).

    Go to field $SOFTWAR DC BL1'10101001' yours may have different values, but you must be sure the flag for the queued reload is turned off.
                                                                                            $SOFTWAR DC    BL1'10101001'                                                                         |                                                                           V                                                     set this digit to 0, a 1 equals on, a 0 equals off 
  7. You then reassemble and link the new $OPTIONx into the ASM2 CAILIB and refresh the LNKLST.
  8. Now add the following DD to your sample JCL - //$OPTIONx DD DUMMY
    There is a commented out sample immediately below the EXEC statement in the JCL above.

    Now you can reload all of the files from the 'scratched' tape or just the ones that you need, using the backup IPC.