ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

ACF2 - How should updates to the ACFFDR be done using the UM99901 USERMOD?

book

Article ID: 212957

calendar_today

Updated On:

Products

ACF2 - z/OS

Issue/Introduction

When making changes to the ACFFDR, what is the recommended method for site specific updates to the ACFFDR macros and source members?

Environment

Release : 16.0

Component : CA ACF2 for z/OS

Resolution

The ACF2 installation CAX1JCL0 library contains sample JCL member FDRJXB and sample USERMOD UM99901 that can be used to update the ACFFDR.

For site specific changes, reassemble the CA ACF2 Field Definition Record (ACFFDR) by running the FDRJXB job. The FDRJXB job applies USERMOD UM99901. All ACFFDR updates should be done using the UM99901 USERMOD rather than direct updates to ACF2 installation macro or source libraries. Verify that the line numbers specified in the UM99901 USERMOD update the relevant member in the correct installation macro(AAX1MAC0) and/or source(AAX1SRC0) libraries before running the FDRJXB job.

For example to add new fields to the USERLID and USERCFDE portions of the ACFFDR the following can be done.

  1. Review the sample UM99901 from the ACF2 installation CAX1JCL0 library.

  2. Note the '++MACUPD (USERLID)  DISTLIB(AAX1MAC0)' and '++MACUPD (USERCFDE) DISTLIB(AAX1MAC0)' entries for USERLID and USERCFDE which update(replace) the comment lines at line number 00010000. Also note that the line numbers are based on 'DISTLIB(AAX1MAC0)'. AAX1MAC0 is the ACF2 installation macro library. 

    BROWSE        your.acf2.r160.AAX1MAC0(UM99901)     Line 0000000000 Col 001 080
    ********************************* Top of Data **********************************
    ++USERMOD (UM99901)                                                   
       /* *******************************************************         
          *                                                     *         
          *  UM99901 IS A SAMPLE USERMOD USED TO MAINTAIN THE   *          
          *  CA ACF2 FIELD DEFINITION RECORD (FDR). THIS SAMPLE *         
          *  USERMOD ILLUSTRATES THE METHOD USED TO APPLY       *          
          *  CHANGES TO THE CA DISTRIBUTED FDR USING SMP.       *         
          *                                                     *          
          *  IT IS RECOMMENDED THAT THE INSTALLATION ACCUMULATE *         
          *  ITS FDR UPDATES IN THIS MEMBER TO FACILITATE       *          
          *  REINSTALLATION AND CHANGE TRACKING. TXLIB OPERANDS *         
          *  ON THE ++SRC(UPD) AND ++MAC(UPD) STATEMENTS PROVIDE*          
          *  A CONVENIENT WAY FOR THE INSTALLATION TO MAINTAIN  *         
          *  ITS OWN SOURCE VERSIONS.                           *          
          *                                                     *         
          ******************************************************* */ .     
    ++VER (Z038) FMID(CAX1G00) .                                           
    ++MACUPD (USERLID)  DISTLIB(AAX1MAC0) .                                
    ./ CHANGE NAME=USERLID                                                 
    ***      COPY  USERLID             INCLUDED VIA COPY IN LIDREC MACRO    00010000   
    ./ ENDUP                                                                
    ++MACUPD (USERCFDE) DISTLIB(AAX1MAC0) .                               
    ./ CHANGE NAME=USERCFDE                                                
    ***      COPY  USERCFDE            INCLUDED VIA COPY IN ACFFDR ASMBLY   00010000
    ./ ENDUP
    **************************** Bottom of Data ************************************

  3. Next look at the line numbers for the member USERLID in the AAX1MAC0 library to determine what line numbers to use for your site's changes. For the USERLID sites may want to start their @CFDE entries after line 00150000 to keep their user fields after the initial comments and before the 'END OF USERLID' comment on line 00160000.

    BROWSE        your.acf2.r160.AAX1MAC0(USERLID)  - 01.00   Columns 00009 00080
    ****** ***************************** Top of Data *******************************
    *        COPY  USERLID             IN LIDREC MACRO              ACF 22  00010000
    *************************************************************   ACF 22  00020000
    *                                                               ACF 22  00030000
    *  USERLID - THIS SOURCE MATERIAL IS COPIED INTO THE USER       ACF 22  00040000
    *            DEFINITION SECTION OF THE LOGONID RECORD 'DSECT'.  ACF 22  00050000
    *            THE INSTALLATION MAY REPLACE THIS MODULE OR        ACF 22  00060000
    *            EDIT IN ITEMS WHICH ARE TO BE DEFINED BY @CFDE     ACF 22  00070000
    *            MACRO ENTRIES IN THE ACFFDR.  THE LENGTH ATTRIBUTE ACF 22  00080000
    *            OF EACH SYMBOL DEFINED HERE IS USED IN THE RELATED ACF 22  00090000
    *            @CFDE MACRO EXPANSION.                             ACF 22  00100000
    *                                                               ACF 22  00110000
    *  NOTE -- THE TOTAL LENGTH OF ALL INSTALLATION ADDED SYMBOLS   ACF 22  00120000
    *          SHOULD NOT EXCEED 192(DECIMAL), C0(HEX) BYTES.       ACF 22  00130000
    *                                                               ACF 22  00140000
    *************************************************************   ACF 22  00150000
    ************* END OF USERLID ********************************   ACF 22  00160000
    **************************** Bottom of Data ************************************

  4. Next look at the line numbers for the member USERCFDE in the AAX1MAC0 library to determine what line numbers to use for your site's changes. For the USERCFDE sites may want to start their @CFDE entries after line 00001600.

    BROWSE        your.acf2.r160.AAX1MAC0(USERCFDE) - 01.00   Columns 00009 00080
    ****** ***************************** Top of Data *******************************
    *                                                               EN00008 00000100
    *                                                               EN00008 00000200
    *************************************************************** EN00008 00000300
    *************************************************************** EN00008 00000400
    **                                                           ** EN00008 00000500
    **                                                           ** EN00008 00000600
    **              U S E R C F D E                              ** EN00008 00000700
    **                                                           ** EN00008 00000800
    **       THESE ARE THE @CFDE FDR MACROS FOR THE USER DEFINED ** EN00008 00000900
    **       FIELDS IN THE LOGONID RECORD. FOR EACH @CFDE MACRO  ** EN00008 00001000
    **       SPECIFIED HERE A CORRESPONDING FIELD MUST BE        ** EN00008 00001100
    **       DEFINED IN THE USERLID MODULE TO BE INCLUDED IN THE ** EN00008 00001200
    **       LOGONID RECORD.                                     ** EN00008 00001300
    **                                                           ** EN00008 00001400
    *************************************************************** EN00008 00001500
    *************************************************************** EN00008 00001600
    **************************** Bottom of Data ************************************

  5. After reviewing the USERLID and USERCFDE members in the AAX1MAC0 library the UM99901 USERMOD can be updated with a site's new fields with the appropriate line numbers as show below.

    BROWSE        your.acf2.r160.AAX1MAC0(UM99901)     Line 0000000000 Col 001 080
    ********************************* Top of Data **********************************
    ++USERMOD (UM99901)                                                   
       /* *******************************************************          
          *                                                     *         
          *  UM99901 IS A SAMPLE USERMOD USED TO MAINTAIN THE   *          
          *  CA ACF2 FIELD DEFINITION RECORD (FDR). THIS SAMPLE *         
          *  USERMOD ILLUSTRATES THE METHOD USED TO APPLY       *          
          *  CHANGES TO THE CA DISTRIBUTED FDR USING SMP.       *         
          *                                                     *          
          *  IT IS RECOMMENDED THAT THE INSTALLATION ACCUMULATE *         
          *  ITS FDR UPDATES IN THIS MEMBER TO FACILITATE       *          
          *  REINSTALLATION AND CHANGE TRACKING. TXLIB OPERANDS *         
          *  ON THE ++SRC(UPD) AND ++MAC(UPD) STATEMENTS PROVIDE*          
          *  A CONVENIENT WAY FOR THE INSTALLATION TO MAINTAIN  *         
          *  ITS OWN SOURCE VERSIONS.                           *          
          *                                                     *         
          ******************************************************* */ .     
    ++VER (Z038) FMID(CAX1G00) .                                            
    ++MACUPD (USERLID)  DISTLIB(AAX1MAC0) .                               
    ./ CHANGE NAME=USERLID                                                 
    ***      COPY  USERLID             INCLUDED VIA COPY IN LIDREC MACRO    00010000
    LIDUCOM  DS    CL1       *** COMPANY INDICATOR                          00151000 
    LIDUIDNM DS    CL4       *** EMPLOYEE ID NUMBER                         00152000 
    LIDULEVL DS    CL1       *** CORPORATE LEVEL                            00153000   
    ./ ENDUP                                                               
    ++MACUPD (USERCFDE) DISTLIB(AAX1MAC0) .                               
    ./ CHANGE NAME=USERCFDE                                                
    ***      COPY  USERCFDE            INCLUDED VIA COPY IN ACFFDR ASMBLY   00010000
      @CFDE  COMPANY,LIDUCOM,CHAR,ALTER=ACCOUNT,LIST=ALL,PRTN=1,           X00001700
                   RRTN=1,GROUP=0                                           00001800
      @CFDE  IDNUM,LIDUIDNM,CHAR,ALTER=ACCOUNT,LIST=ALL,PRTN=1,            X00001900
                   RRTN=1,GROUP=0,ZERO=YES                          TS73765 00002000
      @CFDE  LEVEL,LIDULEVL,CHAR,ALTER=ACCOUNT,LIST=ALL,PRTN=1,            X00002100
                   RRTN=1,GROUP=0                                           00002200
    ./ ENDUP                                                           
    **************************** Bottom of Data ************************************