Previous Topic: Writing Your Own URT Selection ModuleNext Topic: CA Datacom/DB Access Exit (DCCTXPR)


Modifying the Standard Selection Module

You can prefix (a suffix is not allowed) DCCTFPR with a user exit routine for security, accounting, or other purposes. You can add a prefix exit module to the standard selection module to place either the character representation of the database ID or the table name in the Request Area, but do not modify Register zero (R0).

Verify that these exits are RENT.

Prefix Exit Routines

Use the guidelines shown on the following pages when writing a prefix to DCCTFPR.

Note: The following is a display of sample member DCCTFAA in the library.

*ASM XOPTS(CICS,FE,SPIE,OP,NOPROLOG,NOEPILOG)
DCCTFAA  AMODE 31
DCCTFAA  RMODE ANY
         TITLE 'DCCTFAA   URT SELECTION ROUTINE - PREFIX '
         WXTRN  DCCTFPR
         COPY   CIDCTC30
***********************************************************************
*      COPYBOOKS ARE CIDCTF30 CIDCTG30 CIDCTC30                       *
*        CIDCTC30 HAS ADDITION INFORMATION ON REGISTERS CONVENTION    *
*          AND OTHER CONSIDERATIONS ON WRITING DCCTRPR USER EXITS     *
*        CIDCTF30 CONTAIN THE BELOW FIELDS IN EXTENDED EIS            *
*        CIDCTG30 IS PRIMARY FOR WRITING A DCCTFPR                    *
*             REPLACEMENT MODULE AND THEREFORE IS COMMENTED OUT IN    *
*             THIS VERSION; BUT IT IS IN THE MACLIB FOR REFERENCE     *
*   NEXT 4 LINES ALREADY EXIT IN COPYBOOK CIDCTF30 -  DO NOT ADD THEM *
*** USEREXIT  DS CL80       USE ANY STORAGE IN USEREXIT BYTES 9-80    *
***          ORG USEREXIT                                             *
*** SAVREG    DS  F         REG 11 MUST BE STORED  IN USEREXIT 1-4    *
*** ACCEADDR  DS  A        ADDRS OF ACEE IS PASSED IN USEREXIT 5-8    *
***********************************************************************     
 	  PRINT OFF          DON'T PRINT MACROS
         DBCVTPR TYPE=DSECT,PGMID=DCCTFPR
         DFHUEXIT TYPE=RM
         DFHEISTG
         COPY CIDCTF30                          MODIFED 7/7/04
*        COPY CIDCTG30                          MODIFED 7/7/04
         PRINT GEN
         DFHEIEND
         COPY  DFHEIBLK
DFHEIPLR EQU   R13
DFHEIBR  EQU   R14
DCCTFAA  CSECT
         USING NTLSLOT,R4
         STM   R14,R12,12(R11)
         ST    R11,SAVREG       R13 POINTS TO THIS AREA
         USING DCCTFAA,R11
         LR    R11,R15
         B     OVERHEAD           NO.
*---------------------------------------------------------------------*
*   ADDRESSIBILITY TO DFHEISTG IS ALREADY SET IN REG 13               *
*---------------------------------------------------------------------*
         DC    48X'00' THE NAME DCCTFPR MUST BE 64 BYTE OFF OF ENTRY
         SPACE 3
      DCSTAMP PGMID=DCCTFPR,RELSLVL=3.0.0
OVERHEAD DS    0H
*
*
*         INSERT USER CODE HERE    BETWEEN OVERHEAD AND CALLCTF
*
*
CALLCTF  DS    0H
         L     R15,V(DCCTFPR)
         L     R11,SAVREG         ADDRESS OF SAVE AREA
         L     R14,12(,R11)
         LM    R0,R12,20(R11)     RELOAD REGISTERS
         BR    R15
         LTORG
         END   DCCTFAA

Include your prefix CSECT before the CA-provided DCCTFPR module when link editing the new DCCTFPR module.

Sample Link Edit (z/OS)

 // LKED EXEC PGM=HEWL
 // . . .
 // . . .
    ENTRY DCCTFAA
    INCLUDE DFHEAI              (from CICS library)
    INCLUDE DCCTFAA
    INCLUDE DCCTFPR
    NAME (DCCTFPR)
 /*

Sample Link Edit (VSE)

 //OPTION CATAL
   PHASE DCCTFPR,*
   INCLUDE DFHEAI               (from CICS library)
 // EXEC ASSEMBLY
         COPY DCCTFAA.A         (User Code)
 /*
   INCLUDE DCCTFPR              (User's Updated Version)
   ENTRY DCCTFAA
 // EXEC LNKEDT