bdfi1m0iInstallation and Customization

Modifying the ALCS Environment for the TPFDF Product

This section describes the adjustments that you must make to your ALCS environment when installing the TPFDF product in an ALCS environment.

Follow the instructions in this section to:

Modifying the ALCS Generation Macro

In the ALCS generation macro, do the following:

Figure 2 shows an example with the required information highlighted. Member BDFGW0 in the sample JCL that is shipped with the TPFDF product contains sample definitions. For more information about the ALCS macro, see ALCS Installation and Customization.

Note:
For maintainability, it is recommended that you code only one ALCS macro and imbed it in the SCTGEN, SEQGEN, and DBGEN macros.

Figure 2. Sample ALCS Macro

ALCS  ID=W,VERSION=0,                                         -
      SOURCE=('user.maclib',                                  -
      'BDF.V1R1M3.BDFMAC1',                                   -
      'DXC.V2R1M1.DXCMAC1',                                   -
      'DXC.V2R1M1.DXCMAC3',                                   -
      'DXC.V2R1M1.DXCMAC2',                                   -
      'BDF.V1R1M3.BDFMAC2',                                   -
      'BDF.V1R1M3.BDFMAC3'),                                  -
      LOAD='DXC.V2R1M1.DXCLMD4',                              -
      CISIZE=(512,2048,4096,4608),                            -
      RECSIZE=(381,1055,4000,4095),                           -
      PROC=((ASMHC,C),(LKED,LKED))
Note:
In Figure 2 user.maclib is the library containing copies of DXCURID and SYSEQ modified with the definitions required by your applications and TPFDF.

Modifying the DXCURID Macro

In the DXCURID macro, define fixed file types.

Figure 3 shows an example of the required information. Member DXCURID in the sample JCL that is shipped with the TPFDF product contains sample definitions. For more information about the DXCURID macro, see ALCS Installation and Customization.

Figure 3. Sample Fixed File Definitions

&DXCFN(61) SETC  '#IDFCS'          MISCELLANEOUS SMALL
&DXCFV(61) SETA  56
&DXCFN(62) SETC  '#IDFCL'          MISCELLANEOUS LARGE
&DXCFV(62) SETA  57
&DXCFN(63) SETC  '#IDFC4'          MISCELLANEOUS 4K
&DXCFV(63) SETA  58
&DXCFN(64) SETC  '#IDFUS'          MISCELLANEOUS SMALL
&DXCFV(64) SETA  59
&DXCFN(65) SETC  '#IDFUL'          MISCELLANEOUS LARGE
&DXCFV(65) SETA  60
&DXCFN(66) SETC  '#IDFU4'          MISCELLANEOUS 4K
&DXCFV(66) SETA  61
&DXCFN(67) SETC  '#GR3MSR'         MACRO LABEL SUPPORT
&DXCFV(67) SETA  62
&DXCFN(68) SETC  '#IRDIDF'         DATA COLLECTION
&DXCFV(68) SETA  63
&DXCFN(69) SETC  '#IR02DF'         TPFDF EDUCATAION FILE
&DXCFV(69) SETA  64
&DXCFN(70) SETC  '#IR03DF'         TPFDF EDUCATION FILE
&DXCFV(70) SETA  65
&DXCFN(71) SETC  '#IRCBDF'         CRUISE
&DXCFV(71) SETA  66
&DXCFN(72) SETC  '#IRCFDF'         CRUISE
&DXCFV(72) SETA  67
&DXCFN(73) SETC  '#IRCGDF'         CRUISE
&DXCFV(73) SETA  68
&DXCFN(74) SETC  '#IRCHDF'         CRUISE
&DXCFV(74) SETA  69
&DXCFN(75) SETC  '#IRCIDF'         CRUISE
&DXCFV(75) SETA  70
&DXCFN(76) SETC  '#IRCJDF'         CRUISE
&DXCFV(76) SETA  71
&DXCFN(77) SETC  '#IRCKDF'         CRUISE
&DXCFV(77) SETA  72
Note:
#IR02DF and #IR03DF are only used with the TPFDF education package.

Modifying the SCTGEN Macro

The SCTGEN macro contains the system control parameters in an ALCS environment and generates the ALCS configuration table. The following parameters are part of the SCTGEN macro that can be specified when the TPFDF product is used in an ALCS environment.

AMODE31=FORCE
specifies 31-bit addressing mode in an ALCS environment. You must be in 31-bit addressing mode to issue a TPFDF call. If your system does not default to 31-bit addressing mode, an application program that issues TPFDF macro calls must be set to 31-bit addressing. You can use the AMODE parameter with the BEGIN macro to specify 31-bit processing for an application program.

NBRSU
specifies the number of type-2 storage units (SUs). Type-2 SUs are required for high-level language application programs run in an ALCS environment.

SUSIZE
specifies the size of type-2 storage units (SUs). Type-2 SUs are required for high-level language application programs run in an ALCS environment. Specify a type-2 SU size of 508- KB for TPFDF C programs compiled using OS/390 LE support.

TPFDF=YES
specifies that the TPFDF product is installed.
Note:
If you specify TPFDF=YES, you must include the TPFDF macro libraries in the SOURCE parameter of the ALCS generation macro.

ids
is the maximum number of record IDs for TPFDF data collection. The default is 5000.

STATIC
specifies that a fast-link table is created during ALCS restart, which contains the storage address of each TPFDF system program. If new versions of TPFDF system programs are loaded the fast-link table is not changed. Each entry control block (ECB) that is subsequently created will access the original version of the TPFDF system program. This parameter is the default.

DYNAMIC
specifies that a fast-link table is created for each ECB. The storage address of each TPFDF system program is determined on the first TPFDF call of that program and placed in the fast-link table. If new versions of the TPFDF system programs are loaded, the fast-link table of each ECB that is subsequently created will contain the storage address of the new version.
Note:
The DYNAMIC parameter can impact system performance because additional processing is required.

NOTRACE
specifies that TPFDF calls issued by ALCS application programs are not traced. This parameter is the default.

TRACE
specifies that TPFDF calls issued by ALCS application programs are traced. Use this parameter to add TPFDF macro trace data to ALCS dumps and for ALCS conversational and diagnostic data.

Notes:

  1. You can alternate between the NOTRACE and TRACE parameters online using the ZTRAC CEP command.

  2. Using the TRACE parameter can impact system performance because additional processing is required.

See ALCS Installation and Customization for more information about the SCTGEN macro and the ZTRAC CEP command.

Modifying the SEQGEN Macro

In the SEQGEN macro, define the DSNAME parameter with the same name that you use for the LABOUT DD DSN statement in the MLS JCL. The LABOUT DD DSN statement is shown in member MLS in the sample JCL that is shipped with the TPFDF product.

Figure 4 shows an example of an SEQGEN macro with the defined DSNAME highlighted.

Figure 4. Specifying Macro Label Set Support

*---------------------------------------------------------------------*
*         FILE REQUIRED FOR TPFDF MACRO LABEL SET SUPPORT             *
*---------------------------------------------------------------------*
         SEQGEN NAME=MLS,                                -
               TYPE=GENERAL,                             -
               UNIT=(3380,1),                            -
               DISP=(OLD,KEEP,KEEP),                     -
               DSNAME=user.mls_data_set,                 -
               LABEL=(,,,IN,RETPD=0),                    -
               STANDBY=NO,                               -
               VOLCNT=1,                                 -
               BUFNO=1
*---------------------------------------------------------------------*
Note:
In Figure 4 user.mls_data_set is the same as the name that you use for the LABOUT DD DSN statement in the MLS JCL.

Modifying the SYSEQ Macro

In the SYSEQ macro, do the following:

The sample JCL that is shipped with the TPFDF product contains a sample SYSEQ macro that you can change to suit your installation.

Figure 5. Working Storage Sizes and Miscellaneous Record Equates

         SPACE 1
#GBSZE   EQU   4095                 L4 BLOCK SIZE
         SPACE 1
******** ORDINALS FOR #IDFUS
         SPACE 1
#GR31SRF EQU   0
#GR31SRL EQU   #GR31SRF
         SPACE 1
******** ORDINALS FOR #IDFCS
         SPACE 1
#IRDKDFF EQU   2
#IRDKDFL EQU   #IRDKDFF
         SPACE 1
******** ORDINALS FOR #IDFCL
         SPACE 1
#GR32SRF EQU   0
#GR32SRL EQU   #GR32SRF
#IR01DFF EQU   1
#IR01DFL EQU   #IR01DFF
         SPACE 1
******** ORDINALS FOR #IDFU4
         SPACE 1
#GR0VSRF EQU   0
#GR0VSRL EQU   #GR0VSRF
#GR0YSRF EQU   1
#GR0YSRL EQU   #GR0YSRF
#GR27SRF EQU   2
#GR27SRL EQU   #GR27SRF
#GR25SRF EQU   3
#GR25SRL EQU   #GR25SRF
         SPACE 1
******** ORDINALS FOR #IDFC4
         SPACE 1
#GR28SRF EQU   0
#GR28SRL EQU   #GR28SRF
#GR3OSRF EQU   1
#GR3OSRL EQU   #GR3OSRF
#IRA5DFF EQU   5
#IRA5DFL EQU   #IRA5DFF
#IRCADFF EQU   6
#IRCADFL EQU   #IRCADFF
#IRCCDFF EQU   7
#IRCCDFL EQU   #IRCCDFF
#IRCDDFF EQU   8
#IRCDDFL EQU   #IRCDDFF
         SPACE 1        
Note:
Ordinal EQUATES are in the form #xxxxxxF and #xxxxxxL, where F is the first ordinal and L is the last ordinal. The files shown in this figure require only one miscellaneous record, so the first and last ordinals are the same. These ordinals are used when UF1A is assembled.

Modifying the DBGEN Macro

In the DBGEN macro, code USRDTA macros to allocate the records required by the TPFDF product. See Figure 6 or member BDFGEND in the sample JCL that is shipped with the TPFDF product for an example of USRDTA macros.

Figure 6. Sample USRDTA Macros

USRDTA ACTION=ADD,TYPE=#IDFCS,BAND=4200,                      -
      VFAOPT=FI,SIZE=L1,USAGE=Z1,NUMBER=20
USRDTA ACTION=ADD,TYPE=#IDFCL,BAND=4201,                      -
      VFAOPT=FI,SIZE=L2,USAGE=Z1,NUMBER=20
USRDTA ACTION=ADD,TYPE=#IDFC4,BAND=4202,                      -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=50
USRDTA ACTION=ADD,TYPE=#IDFUS,BAND=4203,                      -
      VFAOPT=FI,SIZE=L1,USAGE=Z1,NUMBER=10
USRDTA ACTION=ADD,TYPE=#IDFUL,BAND=4204,                      -
      VFAOPT=FI,SIZE=L2,USAGE=Z1,NUMBER=10
USRDTA ACTION=ADD,TYPE=#IDFU4,BAND=4205,                      -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=60
USRDTA ACTION=ADD,TYPE=#GR3MSR,BAND=403A,                     -
      VFAOPT=FI,SIZE=L2,USAGE=Z1,NUMBER=99
USRDTA ACTION=ADD,TYPE=#IRDIDF,BAND=4206,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=256
USRDTA ACTION=ADD,TYPE=#IR02DF,BAND=4211,                     -
      VFAOPT=FI,SIZE=L1,USAGE=Z1,NUMBER=26
USRDTA ACTION=ADD,TYPE=#IR03DF,BAND=4212,                     -
      VFAOPT=FI,SIZE=L1,USAGE=Z1,NUMBER=26
USRDTA ACTION=ADD,TYPE=#IRCBDF,BAND=4213,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=200
USRDTA ACTION=ADD,TYPE=#IRCFDF,BAND=4214,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=499
USRDTA ACTION=ADD,TYPE=#IRCGDF,BAND=4215,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=499
USRDTA ACTION=ADD,TYPE=#IRCHDF,BAND=4216,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=32
USRDTA ACTION=ADD,TYPE=#IRCIDF,BAND=4217,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=499
USRDTA ACTION=ADD,TYPE=#IRCJDF,BAND=4218,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=32
USRDTA ACTION=ADD,TYPE=#IRCKDF,BAND=4219,                     -
      VFAOPT=FI,SIZE=L4,USAGE=Z1,NUMBER=200   
Note:
The quantity specified in the NUMBER parameter (in Figure 6) is equal to the quantity of required fixed records (shown in Table 13) plus additional fixed records for future expansion.

Table 13. Fixed Records Required by TPFDF

Name Size Quantity
#IDFCS L1 20
#IDFCL L2 20
#IDFC4 L4 50
#IDFUS L1 10
#IDFUL L2 10
#IDFU4 L4 60
#GR3MSR L2 99
#IRDIDF L4 256
#IR02DF L1 26
#IR03DF L1 36
#IRCBDF L4 200
#IRCFDF L4 499
#IRCGDF L4 499
#IRCHDF L4 32
#IRCIDF L4 499
#IRCJDF L4 32
#IRCKDF L4 200
Note:
#IR02DF and #IR03DF are used for TPFDF education.

Running ALCS Generations

Run the following generations with the modified data:

Allocating Fixed Record Data Sets

Check that the data sets listed in the DASD generation stage 1 listing (under the heading of Data Base DASD Requirements) exist and are large enough. If they do not exist or are not large enough, use the sample JCL that is shipped with the TPFDF product to delete, create, and initialize L4 data sets. You will find this JCL in member BDFL4 of the sample JCL.

Installing the BDFUACM1 USERMOD for TPFDF to ALCS

If you are installing TPFDF for the first time, you must install the BDFUACM1 USERMOD for ACM1 to ALCS. The sample JCL that is shipped with the TPFDF product lists sample JCL to receive and apply this USERMOD.

Check the modifications carefully before applying them to your ALCS libraries because you may have to adjust them to suit your system, particularly if you already have USERMODs on the affected programs.

Changing the Program Configuration Table for the TPFDF Product

To change the program configuration table for this version of the TPFDF product, do the following:

  1. If there is an entry for a previous shipment of the TPFDF product in your program configuration table (PROGLIST), delete the entry.
  2. Add an entry for TPFDF03 in your PROGLIST under the section labeled LIST OF LOAD MODULES WHICH ARE LOADED DURING ALCS INITIALIZATION.
  3. To use the TPFDF C language interface, add an entry for TPFDFC3 in PROGLIST with the same specifications as TPFDF03.
  4. To use TPFDF product code that is written in C language, add an entry for TPFDFH3 in PROGLIST with the same specifications as TPFDF03.
Note:
Figure 7 shows an example of the required entries.

Figure 7. Sample PROGLIST Entries

MLIST    DC    0D'0'
            .
            .
            .
         DC    CL8'TPFDFC3 ',AL1(CP0MDUN),AL3(0)  TPFDF 'C' SUPPORT
         DC    CL8'TPFDF03 ',AL1(CP0MDUN),AL3(0)  TPFDF EVERYTHING ELSE
         DC    CL8'UF1A    ',AL1(CP0MDUN),AL3(0)  USER'S UF1A
            .
            .
            .
MLISTE   EQU   *

See ALCS Installation and Customization for more information about changing the program configuration table.

Modifying the DXCPLIB Concatenation

  1. Add the new BDFLMOD library containing TPFDF03 to the DXCPLIB concatenation in the JCL that you use to IPL your ALCS environment. See member BDFPGLST in the sample JCL that is shipped with the TPFDF product.
  2. Assemble segment UF1A, using JCL similar to member BDFALUF1 in the sample JCL that is shipped with the TPFDF product. Assembling UF1A picks up the equates from your SYSEQ and make them available to TPFDF.
  3. If no more changes are required, start your ALCS environment per your procedures to activate the modifications and TPFDF. See member BDFRALCS in the sample JCL that is shipped with the TPFDF product.

Allowing ALCS Recoup to Use DBDEF Macro Statements

Sample recoup user exit code, ARD0, ARD1 and ARD2, lets you enter ALCS recoup definitions using DBDEF statements. To use the sample recoup user exit code, perform the following steps:

  1. Make sure the ARD0, ARD1, and ARD2 segments are not already in use.
  2. Update DBDEF statements to perform recoup. See TPFDF Database Administration for more information about the DBDEF macro,
  3. Remove the recoup descriptors from the ALCS recoup descriptor record program (BZ90) for files that have recoup functions defined in DBDEF statements.
  4. Assemble and load ARD0, ARD1, ARD2, the updated recoup descriptor program (BZ90), and the segments that contain the updated DBDEF statements.
  5. Enter ZUDFM OAI/DBTAB/INIT to refresh the DBDEF table.