Previous Topic: CUVUSRXA Rules and GuidelinesNext Topic: Messages


CUVUSRXA--Copy Book for Writing a User Exit Module

 * COPY CUVUSRXA  ---------------------------------------- CA-IDMS/DBX *
 *                                                                     *
 * THIS COPY BOOK DESCRIBES THE PARAMETERS PASSED TO AN ASSEMBLER USER  *
 * EXIT MODULE WRITTEN FOR THE DATABASE EXTRACTOR (DBX) EXTRACT        *
 * COMPONENT.  REFER TO CUVUSRXC FOR THE COBOL VERSION.  THE USER      *
 * EXIT IS CALLED:                                                     *
 *                                                                     *
 *  1) ONLY FOR RECORDS WHICH MEET THEIR RECORD/FIELD LEVEL SELECTION  *
 *     CRITERIA.                                                       *
 *  2) PRIOR TO EACH RECORD BEING WRITTEN TO THE EXTRACT FILE.         *
 *                                                                     *
 * YOU CAN CHANGE THE RECORD DATA, ADD OR DELETE FIELDS TO/FROM THE    *
 * RECORD DATA, OR PREVENT THE RECORD FROM BEING WRITTEN TO THE FILE.  *
 * IF YOU CHANGE THE RECORD'S LENGTH, YOU MUST UPDATE THE RECORD       *
 * LENGTH (USVRECLN) TO REFLECT THE RECORD'S NEW DATA LENGTH.  THE     *
 * RECORD BUFFER IS 32,732 BYTES IN LENGTH.  MOVING DATA PAST THE END  *
 * OF ANY OF THE PASSED PARAMETERS WILL CAUSE UNPREDICTABLE RESULTS.   *
 *                                                                     *
 * THERE ARE THREE CONTROL BLOCKS PASSED TO THE USER EXIT.  EACH       *
 * CONTROL BLOCK IS PRECEDED BY A TABLE WHICH EXPLAINS EACH PARAMETER  *
 * FIELD.                                                              *
 *                                                                     *
 *---------------------------------------------------------------------*
 ***
 * COPY CUVUSRXA  ---------------------------------------- CA-IDMS/DBX *
 *---------------------------------------------------------------------*
 ***
 *---------------------------------------------------------------------*
 * STATUS CONTROL BLOCK:  THIS IS THE FIRST BLOCK OF INFORMATION       *
 *                        PASSED TO THE USER EXIT.  IT REFLECTS        *
 *                        THE GENERAL CONDITIONS UNDER WHICH THE USER  *
 *                        EXIT IS BEING INVOKED.  TOTAL LENGTH IS 69   *
 *                        BYTES.                                       *
 * ------------------------------------------------------------------- *
 * ITEM       USAGE         LENGTH    DESCRIPTION                      *
 * ------------------------------------------------------------------- *
 * SUBSCHEMA  ALPHANUMERIC  8 BYTES   NAME OF SUBSCHEMA BEING USED.    *
 *   NAME                                                              *
 * DATABASE   BINARY        4 BYTES   DATABASE KEY FOR CURRENT OF      *
 *   KEY                                TRANSACTION RECORD.            *
 * CANCEL     BINARY        2 BYTES   ZERO TO INDICATE THAT THE        *
 *   INDICATOR                          CURRENT OF TRANSACTION RECORD  *
 *                                      SHOULD BE EXTRACTED; NON-ZERO  *
 *                                      TO INDICATE THAT THE RECORD    *
 *                                      SHOULD NOT BE EXTRACTED.       *
 * RECORD     ALPHANUMERIC  18 BYTES  NAME OF RECORD TYPE FOR CURRENT  *
 *   NAME                               OF TRANSACTION.                *
 * AREA       ALPHANUMERIC  18 BYTES  NAME OF AREA TO WHICH CURRENT OF *
 *   NAME                               TRANSACTION RECORD IS ASSIGNED.*
 * SET NAME   ALPHANUMERIC  18 BYTES  NAME OF SET IN WHICH CURRENT OF  *
 *                                      TRANSACTION RECORD PARTICIPATES*
 *                                      AS EITHER AN OWNER OR MEMBER   *
 *                                      (THE NAME OF THE SET THAT DBX  *
 *                                      IS CURRENTLY WALKING);  IF     *
 *                                      SPACES, THEN THE CURRENT OF    *
 *                                      TRANSACTION RECORD WAS OBTAINED*
 *                                      BY AN AREA SWEEP (A SET IS NOT *
 *                                      BEING WALKED).                 *
 * SET        ALPHANUMERIC  1 BYTE    'O' INDICATES THAT THE CURRENT   *
 *   RELATION-                          OF TRANSACTION RECORD IS AN    *
 *   SHIP                               OWNER OF SET NAMED ABOVE; 'M'  *
 *                                      INDICATES THAT THE RECORD IS A *
 *                                      MEMBER OF THE SET.             *
 *---------------------------------------------------------------------*
 USVPARM1 DSECT             PARAMETER #1 - STATUS INFORMATION
 USVSSNM  DS    CL08          NAME OF SUBSCHEMA BEING USED
 USVDBKEY DS    F             DATABASE KEY OF RECORD
 USVCANCL DS    H             CANCEL INDICATOR:                         X
                                0 TO EXTRACT THE RECORD                 X
                                NON-ZERO TO CANCEL THE EXTRACTION.
 USVRECNM DS    CL18          NAME OF RECORD
 USVARENM DS    CL18          NAME OF AREA IN WHICH RECORD RESIDES
 USVSETNM DS    CL18          NAME OF SET IN WHICH RECORD PARTICIPATES  X
                                - SPACES IF AREA SWEEP RECORD.
 USVRELAT DS    CL01          RELATIONSHIP OF RECORD TO SET:
 USVOWNER EQU   'O'             OWNER  OF THE SET
 USVMEMBR EQU   'M'             MEMBER OF THE SET.
 USVPRM1L EQU   *-USVPARM1    LENGTH OF PARAMETER #1
 ***
 *---------------------------------------------------------------------*
 * RECORD CONTROL BLOCK:  THIS IS THE SECOND BLOCK OF INFORMATION      *
 *                        PASSED TO THE USER EXIT.  IT CONTAINS        *
 *                        INFORMATION REGARDING THE CURRENT OF         *
 *                        TRANSACTION RECORD TYPE WHICH HAS MET ITS    *
 *                        RECORD LEVEL SELECTION CRITERIA.  TOTAL      *
 *                        LENGTH IS 64 BYTES.                          *
 * ------------------------------------------------------------------- *
 * ITEM       USAGE         LENGTH    DESCRIPTION                      *
 * ------------------------------------------------------------------- *
 * RECORD     ALPHANUMERIC  18 BYTES  NAME OF RECORD TYPE FOR CURRENT  *
 *   NAME                               OF TRANSACTION.                *
 * AREA       ALPHANUMERIC  18 BYTES  NAME OF AREA TO WHICH CURRENT OF *
 *   NAME                               TRANSACTION RECORD IS ASSIGNED.*
 * RECORD ID  BINARY        2 BYTES   IDENTIFICATION NUMBER FOR        *
 *                                      CURRENT OF TRANSACTION RECORD. *
 * RECORD     BINARY        2 BYTES   LENGTH (DATA ONLY), IN BYTES, OF *
 *   LENGTH                             CURRENT OF TRANSACT. RECORD; IF*
 *                                      YOU CHANGE THE LENGTH OF THE   *
 *                                      RECORD, YOU MUST UPDATE THIS   *
 *                                      FIELD TO REFLECT THE RECORD'S  *
 *                                      NEW DATA LENGTH.               *
 * CONTROL    BINARY        2 BYTES   LENGTH (DATA ONLY), IN BYTES, OF *
 *   LENGTH                             CURRENT OF TRANSACTION RECORD  *
 *                                      UP TO AND INCLUDING THE LAST   *
 *                                      CALC OR SORT-CONTROL FIELD.    *
 * MAXIMUM    BINARY        2 BYTES   ACTUAL LENGTH OF FIXED-LENGTH    *
 *   LENGTH                             RECORD OR MAXIMUM LENGTH OF A  *
 *                                      VARIABLE-LENGTH RECORD, IN     *
 *                                      BYTES.                         *
 * DATABASE   BINARY        4 BYTES   DATABASE KEY FOR CURRENT OF      *
 *   KEY                                TRANSACTION RECORD.            *
 * RECORD     BINARY        4 BYTES   NUMBER OF LOWEST PAGE ON WHICH   *
 *   LOW PAGE                           RECORDS OF THIS TYPE CAN EXIST.*
 * RECORD     BINARY        4 BYTES   NUMBER OF HIGHEST PAGE ON WHICH  *
 *   HIGH PAGE                          RECORDS OF THIS TYPE CAN EXIST.*
 * AREA LOW   BINARY        4 BYTES   NUMBER OF LOWEST PAGE OF AREA    *
 *   PAGE                               TO WHICH RECORD IS ASSIGNED.   *
 * AREA HIGH  BINARY        4 BYTES   NUMBER OF HIGHEST PAGE OF AREA   *
 *   PAGE                               TO WHICH RECORD IS ASSIGNED.   *
 *---------------------------------------------------------------------*
 USVPARM2 DSECT             PARAMETER #2 - RECORD INFORMATION
 USVRNAME DS    CL18          NAME OF RECORD
 USVRARNM DS    CL18          NAME OF AREA IN WHICH RECORD RESIDES
 USVRECID DS    H             RECORD IDENTIFICATION NUMBER
 USVRECLN DS    H             LENGTH, IN BYTES, OF THE RECORD - IF YOU  X
                                CHANGE THE RECORD'S DATA LENGTH, YOU    X
                                MUST UPDATE THIS FIELD ACCORDINGLY.
 USVRCNTL DS    H             DATA LENGTH, IN BYTES, OF RECORD UP TO &  X
                                INCLUDING THE LAST CALC OR SORT CONTROL X
                                FIELD.
 USVRMAXL DS    H             ACTUAL LENGTH IF FIXED LENGTH RECORD OR   X
                                MAXIMUM LENGTH IF VARIABLE LENGTH       X
                                RECORD, IN BYTES.
 USVRDBK  DS    F             DATABASE KEY OF RECORD
 USVRLOPG DS    F             NUMBER OF LOWEST  PAGE OF RECORD'S RANGE
 USVRHIPG DS    F             NUMBER OF HIGHEST PAGE OF RECORD'S RANGE
 USVALOPG DS    F             NUMBER OF LOWEST  PAGE IN AREA
 USVAHIPG DS    F             NUMBER OF HIGHEST PAGE IN AREA
 USVPRM2L EQU   *-USVPARM2    LENGTH OF PARAMETER #2
 ***
 *---------------------------------------------------------------------*
 * RECORD OCCURRENCE BLOCK:  THIS IS THE THIRD BLOCK OF INFORMATION    *
 *                           PASSED TO THE USER EXIT.  IT CONTAINS THE *
 *                           ACTUAL RECORD OCCURRENCE FOR THE CURRENT  *
 *                           OF TRANSACTION RECORD.  TOTAL LENGTH IS   *
 *                           DEFINED IN THE RECORD TYPE'S SUBSCHEMA    *
 *                           DESCRIPTION.                              *
 * ------------------------------------------------------------------- *
  * ITEM          USAGE          LENGTH         DESCRIPTION             *
 * ------------------------------------------------------------------- *
 * RECORD        AS DEFINED     AS DEFINED     ACTUAL CURRENT OF       *
 *   OCCURRENCE    IN SUBSCHEMA   IN SUBSCHEMA   TRANSACTION RECORD.   *
 *---------------------------------------------------------------------*
 USVPARM3 DSECT             PARAMETER #3 - RECORD OCCURRENCE
 USVRDATA DS    0X            ACTUAL DATABASE RECORD OCCURRENCE -
                                LENGTH AS DEFINED IN THE SUBSCHEMA.