Previous Topic: Precautions in Changing Immediate to Deferred RequestsNext Topic: Installation of IGGDASU2 User Exit


Rejecting Auto-Restore Requests Through Exclusion Tables

The same user exit mentioned above, ARESPREX, can also be used to reject an Auto-Restore request. The exit has access to considerable data regarding the restore itself, and therefore provides a great deal of flexibility in the decisions that can be made, and consequently should be considered first if you have needs in this area.

Another method also exists providing limited flexibility, and requires the assembly and linking of exclusion tables into a CA Disk module. ADSAR003 is responsible for starting the DMSAR Started Task. This module is statically linked into ADSAR010, the catalog management hook. Before ADSAR003 even starts the restore task, it has the ability to screen the request and reject it, based upon either the dsname that is needed, the name of the executing program, the jobname, or the TSO userid. These exclusions can be provided in several CSECTS statically linked into ADSAR010 and available to ADSAR003.

To implement these modifications, first customize the assembly source for exemption table members DSNEXMPT, JOBEXMPT, PGMEXMPT, and TSOEXMPT, which are located in your CCUWSAMP library. The following source shows a sample PGMEXMPT; all other exemption tables follow the same format.

PGMEXMPT TITLE 'AUTO-RESTORE EXEMPTION BY PROGRAM NAME TABLE'
*******************************************************************
*         COMPILE ASEM=RENT,LKED=RENT                          
*                                                                 
* DESCRIPTION:                                                 
*
*    PGM EXCLUSION/EXEMPTION TABLE
*
*******************************************************************
*                                                                 
* SCRNLIST MACRO PARAMETER DESCRIPTIONS:                          
*                                                                 
*    SCREEN=    SCREEN PARAMETER LIST. MULTIPLE VALUES CAN BE    
*               CODED BETWEEN PARENTHESIS AND SEPARATED BY       
*                       COMMAS. PARENTHESIS ARE NOT NEEDED WHEN ONLY ONE 
*                       VALUE IS SPECIFIED.                              
*                       EXAMPLE:                                         
*      SCREEN=(ADSMI/,ISR/,IDC/) IN THIS CASE 3 VALUES                
*                       PASSED WITH WILDCARD CHARACTER / AT THE END OF   
*               EACH VALUE.                                      
*                                                                 
*    LENGTH=	LENGTH OF EACH SCREEN ENTRY. THIS VALUE IS USED  
*                        WHENEVER ANYTHING OTHER THAN TYPE=VAR IS         
*                        SPECIFIED. THE DEFAULT VALUE IS 1.               
*                        EXAMPLE:                                         
*                        LENGTH=8 IN THIS CASE LENGTH IS 8 BYTES.         
*                                                                 
*    PLEASE NOTE THAT WHEN MULTIPLE LINES ARE NEEDED, A NON-
*    BLANK CHARACTER SHOULD BE CODED IN COLUMN 72 AS A
*    CONTINUATION INDICATOR FIELD, AND THE CONTINUATION LINE
*    SHOULD START IN  COLUMN 16.                  
*                                                                 
*    READ THE SCRNLIST MACRO PROLOGUE FOR A COMPLETE LIST OF      
*    AVAILABLE PARAMETERS.                                        
*                                                                 
*******************************************************************
         SPACE 3                                                  
PGMEXMPT SCRNLIST LENGTH=8,                                       
               SCREEN=                                            
*                                                                 
         END                                                      
**************************** Bottom of Data ****************************

Once you have altered the exemption table members to your needs, submit USERMOD9 JCL to complete the customization (sample JCL may be found in the CA Disk INSTALL library). To implement the change, you must re‑install the DMSAR hooks (Catalog Management and DFHSM SVC) running on your system by first issuing the REMOVE option, and then issuing the INSTALL option of DMSAR.

The following is a sample of USERMOD9:

//JOBNAME  JOB (ACCT INFO)                                              //*                                                                     //* ******************************************************************* //* *        INSTALL EXCLUSION TABLES FOR AUTO-RESTORE                * //* *                                                                 * //* ******************************************************************* //SMP     EXEC PGM=GIMSMP,REGION=5120K,                                 //             PARM='CSI=CAISMPE.CSI'                                   //SYSPRINT  DD SYSOUT=*                                                 //SMPRPT    DD SYSOUT=*                                                 //SMPOUT    DD SYSOUT=*                                                 //SMPHOLD   DD DUMMY                                                    //USERASM   DD DISP=SHR,DSN=USERID.ASM                                  //SMPCNTL   DD *                                                        SET BOUNDARY(GLOBAL).                                                   RECEIVE  S(SDU1819).                                                    SET BOUNDARY(CAIT0).                                                    APPLY S(SDU1819) ASSEM .                                                //SMPPTFIN  DD *                                                        ++USERMOD(SDU1819).                                                     ++VER(Z038) FMID(CCUWC50) .                                             ++SRC(PGMEXMPT) DISTLIB(ACUWSAMP) DISTMOD(ACUWMOD0) TXLIB(USERASM).     ++SRC(DSNEXMPT) DISTLIB(ACUWSAMP) DISTMOD(ACUWMOD0) TXLIB(USERASM).     ++SRC(JOBEXMPT) DISTLIB(ACUWSAMP) DISTMOD(ACUWMOD0) TXLIB(USERASM).     ++SRC(TSOEXMPT) DISTLIB(ACUWSAMP) DISTMOD(ACUWMOD0) TXLIB(USERASM).     /*