Examples of HFM1POPD, HFM1POPI and HFM1AGNT macros

The following sample code shows the HFM1POPD, HFM1POPI and HFM1AGNT macros you would code to define IMS subsystems to ZDT/IMS. Five subsystems are defined, of which two use AGNs. For an explanation of the statements see the notes at the end of the example. See ZDT/IMS options for more information about HFM1POPD, HFM1POPI and HFM1AGNT.

Where a parameter value already coded in HFM1POPD is to be used by a subsystem, that parameter is not coded in the HFM1POPI macro for that subsystem.

HFM1POPD
All BMP values are protected, all DLI values are unprotected. These will be the defaults unless overridden in an HFM1POPI macro for a subsystem.
HFM1POPI
SSID=IF52, un-protect all BMP values such that everything is unprotected, and use Dynamic PSBs only.
SSID=IF42, protect all DLI values such that everything is protected, and use Static PSBs only.
SSID=IF32, only use database data sets that are dynamically allocated, and use AGNs.
SSID=IFA2, BMP only, use all values from HFM1POPD except data set names.
SSID=IFB2, READONLY, all other values from HFM1POPD.
HFM1POPD ACBLIB=IMSV11.IFB2.ACBLIB,                           +
               AUTOSAVE=(Y,Y),                                +
               CHGAFREQ=(100,100),                            +
               DBRC=Y,                                        +
               DBDLIB1=HFM1.PROD.DBDLIB,                      +
               DBDLIB2=HFMA.PROD.DBDLIB2,                     +
               DBDLIB3=HFM2.PROD.DBDLIB,                      +
               DBDLIB4=HFM5.PROD.DBDLIB,                      +
               DBDLIB5=HFMX.TEST.DBDLIB,                      +
               DBDLIB6=HFMY.TEST.DBDLIB,                      +
               DFSVSAMP=IMSV11.IFB2.PROCLIB,                  +
               DYNACB=IMSV11.IFB2.DOPTLIB,                    +
               DYNALLOC=N,                                    +      ➊
               DYNPRFN=50,                                    +
               DYNPRFX=HFM0,                                  +
               EDITFREQ=(1,1),                                +
               IEBFREQ=(100,100),                             +
               IMSAUDLG=N,                                    +
               IMSBKO=Y,                                      +
               IMSNBA=10,                                     +
               IMSOBA=6,                                      +
               IRLM=N,                                        +
               IRLMNAME=,                                     +
               LOADFREQ=(100,100),                            +
               MACLIB=IMS.V10.SDFSMAC,                        +
               MAXGN=(100,100),                               +
               PARDLI=0,                                      +
               PSBLIB1=HFM1.PROD.PSBLIB,                      +
               PSBLIB2=HFMA.PROD.PSBLIB2,                     +
               PSBLIB3=HFM2.PROD.PSBLIB,                      +
               PSBLIB4=HFM5.PROD.PSBLIB,                      +
               PSBLIB5=HFMX.TEST.PSBLIB,                      +
               PSBLIB6=HFMY.TEST.PSBLIB,                      +
               PROCOPTB=(G,G),                                +
               PROCOPTP=(G,G),                                +
               PROCOPTX=(G,G),                                +
               PROCOPTY=(G,G),                                +
               PSBTYPE=DYNAMIC,                               +
               PSBTYPES=BOTH,                                 +      ➋
               READONLY=N,                                    +
               REGTYPES=BOTH,                                 +      ➌
               RESLIB1=IMSV11.IFB2.SDFSRESL,                  +
               RESLIB2=IMSV11.IFB2.USERLIB,                   +
               TPLLIB1=HFM1.PROD.TEMPLATE,                    +
               TPLLIB2=HFMA.PROD.TEMPLATE,                    +
               TPLLIB3=HFM2.PROD.TEMPLATE,                    +
               TPLLIB4=HFM5.PROD.TEMPLATE,                    +
               TPLLIB5=HFMX.TEST.TEMPLATE,                    +
               TPLLIB6=HFMY.TEST.TEMPLATE,                    +
               UACBLIB=Y,                                     +
               UAUTOSAV=(N,Y),                                +
               UBUF=Y,                                        +
               UDBRC=Y,                                       +
               UDFSVSMP=Y,                                    +
               UIEBFREQ=(N,Y),                                +
               UIMSBKO=Y,                                     +
               UIMSNBA=N,                                     +
               UIRLM=Y,                                       +
               ULOADFRQ=(N,Y),                                +
               ULOCKMAX=(N,Y),                                +
               UMACLIB=Y,                                     +
               UPARDLI=N,                                     +
               UPROCOPB=(N,Y),                                +
               UPROCOPP=(N,Y),                                +
               UPROCOPX=(N,Y),                                +
               UPROCOPY=(N,Y),                                +
               UPSBTYPE=Y,                                    +
               URECON=Y,                                      +
               URESLIB=Y,                                     +
               URSR=Y,                                        +
               VCURULE=T,                                     +
               VSMPMEM=DFSVSMDB,                              +
               DOPTLB=N
*
HFM1POPI SSID=IF52,                                           +         IF❺❷
               DESC="Dynamic PSB only, unprotected",          +
               ACBLIB=IMSV910.IF52.ACBLIB,                    +      ❼
               DBDLIB1=HFM.IF52.DBDLIB,                       +      ❷❾
               DYNACB=IMSV910.IF52.DOPTLIB,                   +      ❽
               IRLM=Y,                                        +      ❻
               IRLMNAME=IRLM,                                 +
               MACLIB=IMS.V910.SDFSMAC,                       +      ❾
               MAXGN=(0,0),                                   +
               PSBTYPES=DYNAMIC,                              +      ❹
               RESLIB1=IMSV910.IF52.SDFSRESL,                 +      ❿
               UAUTOSAV=Y,                                    +
               UIEBFREQ=Y,                                    +
               UIMSNBA=Y,                                     +
               ULOADFRQ=Y,                                    +
               ULOCKMAX=Y,                                    +      ❺
               UPARDLI=Y,                                     +
               UPROCOPB=Y,                                    +
               UPROCOPP=Y,                                    +
               UPROCOPX=Y,                                    +
               UPROCOPY=Y,                                    +
               XDOPTLB=                                       +
*
         HFM1POPI SSID=IF42,                                  +         IF❹❷
               DESC="Static PSB only, all protected",         +
               ACBLIB=IMSV910.IF42.ACBLIB,                    +      ❶❺
               DBRC=N,                                        +      ❶❹
               DYNACB=IMSV910.IF42.DOPTLIB,                   +      ❶❻
               PSBLIB1=HFM.IF42A.PSBLIB,                      +      ❸❸❸
               PSBLIB2=HFM.IF42B.PSBLIB,                      +
               PSBTYPES=STATIC,                               +      ❶❶
               RESLIB1=IMSV910.IF42.SDFSRESL,                 +      ❶❼
               RESLIB2=IMSV910.IF42.USERLIB,                  +      ❶❽
               UACBLIB=N,                                     +      ❶❷
               UAUTOSAV=(,N),                                 +      ❶❸
               UBUF=N,                                        +
               UDBRC=N,                                       +
               UDFSVSMP=N,                                    +
               UIEBFREQ=(,N),                                 +
               UIMSBKO=N,                                     +
               UIRLM=N,                                       +
               ULOADFRQ=(,N),                                 +
               ULOCKMAX=(,N),                                 +
               UMACLIB=N,                                     +
               UPROCOPB=(,N),                                 +
               UPROCOPP=(,N),                                 +
               UPROCOPX=(,N),                                 +
               UPROCOPY=(,N),                                 +
               URECON=N,                                      +
               URESLIB=N,                                     +
               URSR=N                                         +
*
         HFM1POPI SSID=IF32,                                  +         IF❸❷
               DESC="Dynamic allocation ds only",             +
               ACBLIB=IMSV810.IF32.ACBLIB,                    +
               AUTOSAVE=N,                                    +      ❷❷❷
               CHGAFREQ=(44,44),                              +
               DBRC=Y,                                        +      ❷❶
               DFSVSAMP=IMSV810.IF32.PROCLIB,                 +
               DYNACB=IMSV810.IF32.DOPTLIB,                   +
               DYNALLOC=Y,                                    +      ❶❾
               RESLIB1=IMSV810.IF32.SDFSRESL,                 +
               RESLIB2=,                                      +
               TPLLIB1=IFA2.XXX1.TEMPLATE,                    +      ❸❶
               TPLLIB2=IFA2.XXX2.TEMPLATE,                    +
               TPLLIB3=IFA2.XXX3.TEMPLATE,                    +

               UACBLIB=N,                                     +
               UAGNS=Y,                                       +      ❷❷
               XDOPTLB=Y                                      +      ❷❸
*
         HFM1POPI SSID=IFA2,                                  +         IFA❷
               DESC="BMP only system",                        +
               ACBLIB=IMSV11.IFA2.ACBLIB,                     +
               DYNACB=IMSV11.IFA2.DOPTLIB,                    +
               IMSAUDLG=Y,                                    +      ➋❻
               MACLIB=IMS.V10.BETA.SDFSMAC,                   +
               REGTYPES=BMP,                                  +      ❷❹
               RESLIB1=IMSV11.IFA2.SDFSRESL,                  +
               RESLIB2=IMSV11.IFA2.USERLIB,                   +
               UAGNS=Y                                        +      ❷❺
*
         HFM1POPI SSID=IFB2,                                  +         IFB❷
               DESC="READONLY system",                        +
               READONLY=Y                                     +      ➋❼
*
         HFM1AGNT SSID=IF52,AGN=HFM52                         +      ❷❽
         HFM1AGNT SSID=IFA2,AGN=HFMA0001,DESC="HR"            +
         HFM1AGNT SSID=IFA2,AGN=HFMA0002,DESC="Finance"       +
*
         HFM1END                                                        END
Note:
  1. In this example, the + characters are in column 72.
  2. This example shows the statements you would code to define five IMS subsystems to be used by ZDT/IMS. Code for an HFM1POPD macro is also shown. Application group name security is in use in two of these IMS subsystems.
  3. Notice that all the HFM1POPI macros are specified together, followed by the HFM1AGNT macros.
  4. An HFM1END macro statement is coded at END.
HFM1POPD:
  1. These parameters will serve as defaults for the parameters in the HFM1POPI macros, if not specified therein. For parameters that have two values, the first is for BMP mode, the second for DLI mode.
  2. As a default, all subsystems can run in BMP and DLI mode [3], all subsystems can run with a Static or Dynamic PSB [2] and dynamic allocation [1] is not enforced.

HFM1POPI:

IF52:
  1. These statements define an IMS subsystem, called Dynamic PSB only, unprotected, as specified on the DESC keyword. The SSID is IF❺❷. This is the value that will be shown on the ZDT/IMS entry panels.
  2. To force the use of dynamic PSBs, the parameter PSBTYPES is set to "DYNAMIC" [❹].
  3. To unprotect all parameters that have a default value of "protect" all of the usage parameters must be set to "Y" [❺].
  4. Furthermore this subsystem will use IRLM [❻].
  5. All data set names for this subsystem are different from those that are set as default and as such need to be specified [❼, ❽, ❾, ❿].
  6. When this one parameter is included [❷❾], it overrides all six DBDLIB parameters set up in HFM1POPD.
  7. The UAGNS keyword is not specified, and UAGNS=NO is specified in the HFM1POPD macro; therefore IF❺❷ will not use application group name security. The AGNs in the first HFM1AGNT macro will be ignored.
IF42:
  1. These statements define an IMS subsystem, called Static PSB only, all protected, as specified on the DESC keyword. The SSID is IF❹❷. This is the value that will be shown on the ZDT/IMS entry panels.
  2. To force the use of static PSBs, the parameter PSBTYPES is set to "STATIC" [❶❶].
  3. To protect all parameters that have a default value of "unprotect" all of the usage parameters must be set to "N" [❶❷] or "(,N)" [❶❸], depending on whether or not that specific parameter has one or two values.
  4. Furthermore this subsystem will not use DBRC [❶❹]. This is only possible if the IMS system definitions allow for it.
  5. Several data set names for this subsystem are different from those that are set as default and as such need to be specified [❶❺, ❶➏, ❶➐, ❶❽].
  6. When these parameters [❶❺, ❶❻] are included, they override all six PSBLIB parameters set up in HFM1POPD.
IF32:
  1. These statements define an IMS subsystem, called Dynamic allocation ds only, as specified on the DESC keyword. The SSID is IF❸❷. This is the value that will be shown on the ZDT/IMS entry panels.
  2. To force the use of dynamic allocation of all database data sets in DLI mode, the parameter DYNALLOC is set to "Y" [❶❾].
  3. When these parameters [❸❶] are included, they override all six TPLLIB parameters set up in HFM1POPD.
  4. The AUTOSAVE option is turned off [❷❷❷].
  5. DBRC is set to "Yes" [❷❶], but is not needed as the default value is "Yes" also.
  6. This subsystem will use AGNs [❷❷].
  7. When dynamic PSBs are used, the DOPT ACBLIB is cleared of all members. This is done as XDOPTLB is set to "Y" [❷❸].
IFA2:
  1. These statements define an IMS subsystem, called BMP only system, as specified on the DESC keyword. The SSID is IFA❷. This is the value that will be shown on the ZDT/IMS entry panels.
  2. To force the use of BMP mode, the parameter REGTYPES is set to "BMP" [❷❹].
  3. This subsystem will use AGNs [❷❺].
  4. To force the use of audit logging, the parameter IMSAUDLG is set to "Y" [➋❻].
IFB2:
  1. These statements define an IMS subsystem, called READONLY system, as specified on the DESC keyword. The SSID is IFB❷. This is the value that will be shown on the ZDT/IMS entry panels.
  2. To force this system to be a read-only system, the parameter READONLY is set to "Y" [❷❼].
HFM1AGNT:
  1. The first statement refers to subsystem IF52, however, this subsystem will not use AGNs and as such this statement will be ignored [28].
  2. The next two statements refer to subsystem IFA2 where UAGNS is set to "Y" and it will use these two and only these two AGNs.
  3. Note that there is no HFM1AGNT macro for IF32. It is specified to use AGNs. Since there is no HFM1AGNT macro for IF32 the validity of the names will be controlled by IMS only and ZDT/IMS will allow any name in the AGN field.
  4. Note that the advantage of specifying the HFM1AGNT macros is be able to display a selection list if the user is not sure about the name to use. This is not possible when these macros are not included.