Coding IMS macros that define the system

Use IMS macros to define and tailor a new IMS system or to modify an existing IMS system.

The first step in defining an IMS system is to modify or tailor the macros that IMS supplies. The composite of all IMS macro statements becomes stage 1 input; during stage 1, the specifications you make on the macros are checked, and a series of z/OS® job steps is generated as input to Stage 2. Within each set of macro statements, individual macros specify data that is specific to a required function or to a part of the total physical online configuration of your IMS system.

There are seven types of IMS system definition that can be performed. The IMSCTRL macro provides the basic IMS control program options and the z/OS system configuration under which IMS is to execute:

Table 1. Seven types of IMS System Definitions
System definition option used on IMSCTRL macro Components that are generated When to use this option
ALL Builds most IMS modules and procedures. Includes BATCH and ON-LINE types too. Use ALL during a typical initial system definition. This option is also often required for maintenance.
BATCH Moves required modules from IMS distribution libraries to your libraries; generates a database system. Use BATCH only to define an IMS batch environment.
CTLBLKS Generates modules for all IMS control blocks. A CTLBLKS system definition type also includes the MODBLKS and MSVERIFY types. Use CTLBLKS to rebuild the existing IMS nucleus and to create communications definitions.
MSVERIFY Builds control blocks for the Multiple Systems Verification utility (DFSUMSV0). Use MSVERIFY only for Multiple Systems Coupling (MSC).
MODBLKS Generates control block members for resources to be added online (for example, APPLCTN, DATABASE, TRANSACT, and RTCODE macros). Use MODBLKS when online changes are required to the IMS system, such as changes to programs, transactions, and database definitions.
NUCLEUS Generates an IMS nucleus for the control region. A NUCLEUS system definition type also includes the CTLBLKS type. Use NUCLEUS when performing major maintenance that affects the contents of the IMS nucleus, or when a new nucleus with a new suffix is required.
ON-LINE Builds all the modules needed for the online IMS environment. An ON-LINE system definition type also includes the NUCLEUS type. Use ON-LINE during initial system definition or to perform a major update. This option is also often required for maintenance.

You can think of these groupings of macros as a type of hierarchical structure, as shown in Figure 1. The group of required system configuration macros (IMSCTRL, MSGQUEUE, SECURITY, and COMM) is shown as a root segment.

Figure 1. Hierarchy of stage 1 system definition macros
Diagram depicts the hierarchical relationship between stage 1 system definition macros.

Restriction: The IMSGEN macro must be the last macro defined.