Examples of FMN1POPD, FMN1POPI and FMN1AGNT macros

The following sample code shows the FMN1POPD, FMN1POPI and FMN1AGNT macros you would code to define IMS subsystems to FM/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 FM/IMS options for more information about FMN1POPD, FMN1POPI and FMN1AGNT.

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

FMN1POPD
All BMP values are protected, all DLI values are unprotected. These will be the defaults unless overridden in an FMN1POPI macro for a subsystem.
FMN1POPI
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 FMN1POPD except data set names.
SSID=IFB2, READONLY, all other values from FMN1POPD.
FMN1POPD ACBLIB=IMSV11.IFB2.ACBLIB,                           +
               AUTOSAVE=(Y,Y),                                +
               CHGAFREQ=(100,100),                            +
               DBRC=Y,                                        +
               DBDLIB1=FMN1.PROD.DBDLIB,                      +
               DBDLIB2=FMNA.PROD.DBDLIB2,                     +
               DBDLIB3=FMN2.PROD.DBDLIB,                      +
               DBDLIB4=FMN5.PROD.DBDLIB,                      +
               DBDLIB5=FMNX.TEST.DBDLIB,                      +
               DBDLIB6=FMNY.TEST.DBDLIB,                      +
               DFSVSAMP=IMSV11.IFB2.PROCLIB,                  +
               DYNACB=IMSV11.IFB2.DOPTLIB,                    +
               DYNALLOC=N,                                    +      ◄1
               DYNPRFN=50,                                    +
               DYNPRFX=FMN0,                                  +
               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=FMN1.PROD.PSBLIB,                      +
               PSBLIB2=FMNA.PROD.PSBLIB2,                     +
               PSBLIB3=FMN2.PROD.PSBLIB,                      +
               PSBLIB4=FMN5.PROD.PSBLIB,                      +
               PSBLIB5=FMNX.TEST.PSBLIB,                      +
               PSBLIB6=FMNY.TEST.PSBLIB,                      +
               PROCOPTB=(G,G),                                +
               PROCOPTP=(G,G),                                +
               PROCOPTX=(G,G),                                +
               PROCOPTY=(G,G),                                +
               PSBTYPE=DYNAMIC,                               +
               PSBTYPES=BOTH,                                 +      ◄2 
               READONLY=N,                                    +
               REGTYPES=BOTH,                                 +      ◄3 
               RESLIB1=IMSV11.IFB2.SDFSRESL,                  +
               RESLIB2=IMSV11.IFB2.USERLIB,                   +
               TPLLIB1=FMN1.PROD.TEMPLATE,                    +
               TPLLIB2=FMNA.PROD.TEMPLATE,                    +
               TPLLIB3=FMN2.PROD.TEMPLATE,                    +
               TPLLIB4=FMN5.PROD.TEMPLATE,                    +
               TPLLIB5=FMNX.TEST.TEMPLATE,                    +
               TPLLIB6=FMNY.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
*
FMN1POPI SSID=IF52,                                           +         ◄ IF52
               DESC="Dynamic PSB only, unprotected",          +
               ACBLIB=IMSV910.IF52.ACBLIB,                    +      ◄ 7
               DBDLIB1=FMN.IF52.DBDLIB,                       +      ◄ 29
               DYNACB=IMSV910.IF52.DOPTLIB,                   +      ◄ 8
               IRLM=Y,                                        +      ◄ 6
               IRLMNAME=IRLM,                                 +
               MACLIB=IMS.V910.SDFSMAC,                       +      ◄ 9
               MAXGN=(0,0),                                   +
               PSBTYPES=DYNAMIC,                              +      ◄ 4
               RESLIB1=IMSV910.IF52.SDFSRESL,                 +      ◄ 10
               UAUTOSAV=Y,                                    +
               UIEBFREQ=Y,                                    +
               UIMSNBA=Y,                                     +
               ULOADFRQ=Y,                                    +
               ULOCKMAX=Y,                                    +      ◄ 5
               UPARDLI=Y,                                     +
               UPROCOPB=Y,                                    +
               UPROCOPP=Y,                                    +
               UPROCOPX=Y,                                    +
               UPROCOPY=Y,                                    +
               XDOPTLB=                                       +
*
         FMN1POPI SSID=IF42,                                  +         ◄ IF42
               DESC="Static PSB only, all protected",         +
               ACBLIB=IMSV910.IF42.ACBLIB,                    +      ◄ 15
               DBRC=N,                                        +      ◄ 14
               DYNACB=IMSV910.IF42.DOPTLIB,                   +      ◄ 16
               PSBLIB1=FMN.IF42A.PSBLIB,                      +      ◄ 333
               PSBLIB2=FMN.IF42B.PSBLIB,                      +
               PSBTYPES=STATIC,                               +      ◄ 11
               RESLIB1=IMSV910.IF42.SDFSRESL,                 +      ◄ 17
               RESLIB2=IMSV910.IF42.USERLIB,                  +      ◄ 18
               UACBLIB=N,                                     +      ◄ 12
               UAUTOSAV=(,N),                                 +      ◄ 13
               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                                         +
*
         FMN1POPI SSID=IF32,                                  +         ◄ IF32
               DESC="Dynamic allocation ds only",             +
               ACBLIB=IMSV810.IF32.ACBLIB,                    +
               AUTOSAVE=N,                                    +      ◄ 222
               CHGAFREQ=(44,44),                              +
               DBRC=Y,                                        +      ◄ 21
               DFSVSAMP=IMSV810.IF32.PROCLIB,                 +
               DYNACB=IMSV810.IF32.DOPTLIB,                   +
               DYNALLOC=Y,                                    +      ◄ 19
               RESLIB1=IMSV810.IF32.SDFSRESL,                 +
               RESLIB2=,                                      +
               TPLLIB1=IFA2.XXX1.TEMPLATE,                    +      ◄ 31
               TPLLIB2=IFA2.XXX2.TEMPLATE,                    +
               TPLLIB3=IFA2.XXX3.TEMPLATE,                    +

               UACBLIB=N,                                     +
               UAGNS=Y,                                       +      ◄ 22
               XDOPTLB=Y                                      +      ◄ 23
*
         FMN1POPI SSID=IFA2,                                  +         ◄ IFA2
               DESC="BMP only system",                        +
               ACBLIB=IMSV11.IFA2.ACBLIB,                     +
               DYNACB=IMSV11.IFA2.DOPTLIB,                    +
               IMSAUDLG=Y,                                    +      ◄ 26
               MACLIB=IMS.V10.BETA.SDFSMAC,                   +
               REGTYPES=BMP,                                  +      ◄ 24
               RESLIB1=IMSV11.IFA2.SDFSRESL,                  +
               RESLIB2=IMSV11.IFA2.USERLIB,                   +
               UAGNS=Y                                        +      ◄ 25
*
         FMN1POPI SSID=IFB2,                                  +         ◄ IFB2
               DESC="READONLY system",                        +
               READONLY=Y                                     +      ◄ 27
*
         FMN1AGNT SSID=IF52,AGN=FMN52                         +      ◄ 28
         FMN1AGNT SSID=IFA2,AGN=FMNA0001,DESC="HR"            +
         FMN1AGNT SSID=IFA2,AGN=FMNA0002,DESC="Finance"       +
*
         FMN1END                                                        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 FM/IMS. Code for an FMN1POPD macro is also shown. Application group name security is in use in two of these IMS subsystems.
  3. Notice that all the FMN1POPI macros are specified together, followed by the FMN1AGNT macros.
  4. An FMN1END macro statement is coded at END.
FMN1POPD:
  1. These parameters will serve as defaults for the parameters in the FMN1POPI 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.

FMN1POPI:

IF52:
  1. These statements define an IMS subsystem, called Dynamic PSB only, unprotected, as specified on the DESC keyword. The SSID is IF52. This is the value that will be shown on the FM/IMS entry panels.
  2. To force the use of dynamic PSBs, the parameter PSBTYPES is set to "DYNAMIC" [4].
  3. To unprotect all parameters that have a default value of "protect" all of the usage parameters must be set to "Y" [5].
  4. Furthermore this subsystem will use IRLM [6].
  5. All data set names for this subsystem are different from those that are set as default and as such need to be specified [7, 8, 9, 10].
  6. When this one parameter is included [29], it overrides all six DBDLIB parameters set up in FMN1POPD.
  7. The UAGNS keyword is not specified, and UAGNS=NO is specified in the FMN1POPD macro; therefore IF52 will not use application group name security. The AGNs in the first FMN1AGNT 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 IF42. This is the value that will be shown on the FM/IMS entry panels.
  2. To force the use of static PSBs, the parameter PSBTYPES is set to "STATIC" [11].
  3. To protect all parameters that have a default value of "unprotect" all of the usage parameters must be set to "N" [12] or "(,N)" [13], depending on whether or not that specific parameter has one or two values.
  4. Furthermore, this subsystem will not use DBRC [14]. 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 [15, 16, 17, 18].
  6. When these parameters [15, 16,] are included, they override all six PSBLIB parameters set up in FMN1POPD.
IF32:
  1. These statements define an IMS subsystem, called Dynamic allocation ds only, as specified on the DESC keyword. The SSID is IF32. This is the value that will be shown on the FM/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" [19].
  3. When these parameters [31] are included, they override all six TPLLIB parameters set up in FMN1POPD.
  4. The AUTOSAVE option is turned off [222].
  5. DBRC is set to "Yes" [21], but is not needed as the default value is "Yes" also.
  6. This subsystem will use AGNs [22].
  7. When dynamic PSBs are used, the DOPT ACBLIB is cleared of all members. This is done as XDOPTLB is set to "Y" [23].
IFA2:
  1. These statements define an IMS subsystem, called BMP only system, as specified on the DESC keyword. The SSID is IFA2. This is the value that will be shown on the FM/IMS entry panels.
  2. To force the use of BMP mode, the parameter REGTYPES is set to "BMP" [24].
  3. This subsystem will use AGNs [25].
  4. To force the use of audit logging, the parameter IMSAUDLG is set to "Y" [26].
IFB2:
  1. These statements define an IMS subsystem, called READONLY system, as specified on the DESC keyword. The SSID is IFB2. This is the value that will be shown on the FM/IMS entry panels.
  2. To force this system to be a read-only system, the parameter READONLY is set to "Y" [27].
FMN1AGNT:
  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 FMN1AGNT macro for IF32. It is specified to use AGNs. Since there is no FMN1AGNT macro for IF32 the validity of the names will be controlled by IMS only and FM/IMS will allow any name in the AGN field.
  4. Note that the advantage of specifying the FMN1AGNT 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.