IMSGEN macro
Use the IMSGEN macro to specify the assembler and binder data sets and options, and the system definition output options and features.
IMSGEN must be the last IMS system definition macro in the stage 1 input stream, and it must be followed by an assembler END statement.
Dynamic definition
Assembler and binder data sets and options cannot be dynamically defined.
Supported environments
The IMSGEN macro can be used in the DB/DC, DBCTL, and DCCTL environments.
Syntax
IMS data set options
Job Control Language options
General communication options
Security options
Positional parameters
The IMSGEN macro does not include positional parameters.
Keyword parameters
To find which parameters apply to your IMS configuration, refer to Selecting the appropriate macros to define your system.
The keyword parameters for the IMSGEN macro are divided by the possible options:
- Assembler and binder
- IMS data set
- JCL
- General communication
- Security
Assembler and binder options
- ASM=
- The first parameter specifies the assembler JCL to be produced for the stage 2 assembly steps.
High Level Assembler, the high-level assembler, is the only valid first parameter.
The second parameter can be used to specify the ddname to be used for the assembler object output. If the ddname is not specified, the ddname is SYSLIN.
Avoid the use of DD names other than SYSLIN, SYSGO, and SYSPUNCH if you are using the z/OS® System Modification Program (SMP) to apply maintenance to your IMS libraries. SMP does not recognize other DD names during JCLIN processing.
The option of changing the object output ddname is intended to accommodate those users who have installed an assembler and altered its ddname defaults. The stage two assembler execution statement options are PARM='OBJECT,NODECK,NODBCS'. The object file output ddname is the one that must be coded in place of the default value of SYSLIN. Also, you must use the default assembler option ALIGN for assemblies of IMS modules.
Recommendation: Use NOUSING and FLAG(NOPUSH) options to avoid assembler errors. Because the assembler code that is created might contain lowercase characters, you should not specify the assembler option COMPAT(CASE).
- ASMPRT=
- Specifies the assembler print options for those assembler job
steps produced by IMS system
definition.
ON specifies that assembly listings are to be generated.
OFF specifies that assembly listings for inline assemblies are not to be generated. The default is OFF.
- LKPRT=
- Specifies binder print options for those binder job steps produced
by IMS system definition. These
print options include:
- Value
- Print Option
- MAP
- Module map
- XREF
- Cross-reference table (XREF includes the MAP option)
- LIST
- List of control statements in statement image format
If this parameter is omitted, only binder error messages, if any, are printed.
- LKRGN=
- Specifies a region size value to be placed on the generated EXEC
statements for execution of the binder. This parameter can be specified
in kilobytes or megabytes.
In kilobytes, the value can be 1 through 7 decimal numbers (1 through 2096128).
In megabytes, the value can be 1 through 4 decimal numbers (1 through 2047).
- LKSIZE=
- Specifies the values to be placed in the SIZE parameter of the
EXEC statements for the binder job steps.
- value1
- Specifies the maximum number of bytes of main storage and available virtual storage. This value can be specified in the form n (where n represents the actual number of bytes of virtual storage, not to exceed 16384000) or nK (where n represents the number of 1 KB blocks of virtual storage, not to exceed 16000 KB).
- value2
- Specifies the number of bytes of storage to be allocated for the load module buffer. It is expressed in the form n (where n cannot exceed 65520) or nK (which cannot exceed 63 KB).
Default values are not supplied in LKSIZE for the binder SIZE parameter. If value1 and value2 are omitted, the Binder SIZE defaults are used.
Related reading: For a more detailed description of the SIZE option, see DFSMS/MVS Program Management.
- SUFFIX=
- Specifies the alphanumeric suffix character appended to the generated composite control block,
nucleus, MFS device characteristics table, and security directory module names when they are put
into the IMS.SDFSRESL or IMS.MODBLKS data sets. The IMS online nucleus name always
starts with DFSVNUC. The suffix character supplies the eighth character of the nucleus names. If the
suffix character equals 0, the online nucleus name is DFSVNUC0. This concept allows the system user
to generate multiple IMS systems for use in one environment
where the characteristics of each system vary. The default is 0.The modules that receive the suffix are shown in the following table. If no IMSGEN macro is coded with the default SUFFIX of 0, subsequent functions might fail due to the lack of the default, DFSUDT0.
Table 1. Modules that receive the suffix character Module 1 Module 2 Module 3 DBFSCD0x, DBFSCD1x DFSCLVxx DFSRCTEx DFSBLK0x DFSDDIRx DFSRSR0x DFSCLCxx DFSFEDBx DFSSCD0x, DFSSCD1x DFSCLIDx DFSFRB0x, DFSFRB1x DFSSMB0x DFSCLL0x DFSISDBx DFSSYS0x DFSCLL1x DFSISDCx DFSUDT0x DFSCLRxx DFSOPL0x DFSVNUCx DFSCLSxx DFSPDIRx The suffix is also appended to the intermediate control block assemblies for SMP/E purposes.
- TERM=
- Specifies the assembler TERM/NOTERM option for stage 2 assembler
job steps produced by the IMS system
definition.
YES specifies that the TERM option is in the PARM= field for each of the stage 2 assembler job steps. YES also specifies that the ⁄⁄SYSTERM DD statement is to be built in each of the stage 2 assembler job steps.
NO specifies that the NOTERM option is included in the PARM= for each of the stage 2 assembler job steps. The default in NO.
- UPDTPRT=
- Specifies whether the IEBUPDTE SYSPRINT is to be produced by IMS system definition stage 2.
ON specifies that the IEBUPDTE SYSPRINT is to be generated. The default is ON.
OFF specifies that the IEBUPDTE SYSPRINT is to be suppressed. This includes the suppression of any errors or warnings issued by the IEBUPDTE utility.
IMS data set options
- CSSLIB=
- Specifies the name of the z/OS (R2V10
or above) callable services library data set that is part of the concatenation
of the STEPLIB DD statement of the DFSJMP and DFSJBP procedures. The
specified data set name cannot be longer than 44 alphanumeric characters.
If the keyword is not specified, a default value of SYS1.CSSLIB is
used as the data set name.
No system definition is needed unless you are using the DFSJMP or DFSJBP procedure library members created by system definition.
- IMSPLEX=
- Specifies the data set qualifier (or qualifiers) for the OLCSTAT
data set. This name should be the same for all IMS systems running in the same IMSplex because
they all share the same OLCSTAT data set.
The name specified on the IMSPLEX option can be from one to 35 characters in length (including embedded periods). The first character of each level of qualification must be a letter, @, $, #, or a number (zero through 9). The IMSPLEX name must conform to z/OS data set naming conventions. The default name is IMSPLEX.
- MACLIB=
- This keyword is obsolete.
- MACSYS=
- Specifies the name for the MACLIB data set to be used in the stage 2 assemblies. The specified data set name cannot be longer than 44 alphanumeric characters.
- MODGEN=
- Specifies the name for the MODGEN data set to be used in the stage 2 assemblies. The specified data set name cannot be longer than 44 alphanumeric characters.
- NODE=
- Specifies the node assigned to IMS data
set names.
- node1
- Specifies the node to be assigned to all IMS data set names, as related to the use and definition of the data set names, by IMS system definition. The specified node can contain from 1 to 26 characters, including embedded periods. The first character of each level of qualification must be a letter, @, $, or #. The remaining seven characters can be any of the preceding characters and the numerals zero through nine. The node name must conform to z/OS data set naming conventions. The default node generated is IMS.
- node2
- Specifies the node to be assigned to the IMS data set names listed in Table 2. This node overrides the node1 assignment for these specific data sets. The character set restrictions are as defined for node1.
- node3
- Specifies the node to be assigned to the IMS data set names listed in Table 2. This node overrides
the node1 assignments for these specific
data sets. The character set restrictions are as defined for node1.
Table 2. Node assignments for IMS data set names node1 node2 node3 - MSDBCP1
- MSDBCP2
- MSDSCP3
- MSDBCP4
- MSDBDUMP
- MSDBINIT
- QBLKS
- QBLKSL
- SHMSG
- SHMSGL
- LGMSG
- LGMSGL
- MODSTAT
- MODSTAT2
- IMSMON
- IMSLOG
- IMSLOG2
- RDS
- RDS2
- PGMLIB
- PSBLIB
- DBDLIB
- ACBLIB
- ACBLIBA
- ACBLIBB
- REFERAL
- FORMAT
- FORMATA
- FORMATB
- TFORMAT
- SYSOnnn
- PROCLIB
- SDFSRESL
- SDFSMAC
- JOBS
- MODBLKS
- MODBLKSA
- MODBLKSB
- ADFSMAC
- ADFSLOAD
- ADFSSRC
- LGENIN
- LGENOUT
- OBJDSET=
- Specifies the name of a cataloged partitioned data set into which assembler object modules are assembled during stage 2 of IMS system definition. The specified data set name must not be longer than 44 alphanumeric characters. If this parameter is not supplied, these modules are placed in IMS.OBJDSET.
- PROCLIB=
- In IMS 15.4, this parameter is no longer
used. Sample procedures are generated in IMS.SDFSPROC data set. Only PROCLIB=NO
is allowed.
- NO
- Does not generate system procedures.
- SCEERUN=
- Specifies the name of the System C Runtime Library data set that is part of the concatenation of the STEPLIB DD statement of the DFSJMP and DFSJBP procedures. The specified data set name cannot be longer than 44 alphanumeric characters. If the keyword is not specified, a default value of CEE.SCEERUN is used as the data set name.
- USERLIB=
In IMS 15.4, this parameter is obsolete. The following description is for your reference only.
Specifies the name of the library in which user-written routines, such as message edit routines, are to be included in the generated IMS nucleus. If this operand is omitted, the library containing the routines is assumed to be node(2).SDFSRESL data set. The name of the data set, which must be cataloged, must not be longer than 44 characters.- UMAC0=
- Specifies the name of a data set to be put at the top of the SYSLIB concatenation of the stage 2 assembly job steps. The specified data set name cannot be longer than 44 alphanumeric characters.
- UMAC1=, UMAC2=, and UMAC3=
- Specifies the name of a data set to be concatenated to the SYSLIB
DD statement of the stage 2 assembly job steps. The specified data
set name cannot be longer than 44 alphanumeric characters.
Typically MACSYS is used for either SYS1.MACLIB or SYS1.AMACLIB, and MODGEN is used for either SYS1.MODGEN or SYS1.AMODGEN. If the SYS1.AMACLIB and SYS1.AMODGEN data sets are specified, the UMAC1= keyword must specify SYS1.ATSOMAC. This ensures that all macros that might be referenced are at the same level.
If no value is provided, the corresponding statement is dropped from the SYSLIB DD.
JCL options
Use the first two parameters (JOBCTL and PRTY) or the last two (JCL and SCL).
- JOBCTL=
- The following parameters are valid:
- nbr
- Specifies the number of steps per JOB statement to be produced by system definition stage 1 for execution of stage 2. The maximum allowable value is 255; the default is 5. Regardless of the value specified, a JOB statement is produced for the beginning of the bind steps and for the nucleus bind step (if applicable).
- jobclass
- Specifies the job class to be generated on the stage 2 JOB statement. The default is A.
- outputclass
- Specifies the output class to be generated for the stage 2 JCL. The default is A.
- job accounting, step accounting, or both
- Specifies that job accounting data, step accounting data, or both,
be placed in the stage 2 JCL. The length of each set of (job and step)
accounting data cannot exceed 50 bytes. If job accounting data is
specified, a programmer name of IMS is
provided.
When the accounting information fields contain special characters (except hyphens), special considerations apply to the manner in which this field is specified. See the examples for the JCL.
- PRTY=
- Specifies the priority placed on the JOB statements for IMS system definition stage 2 jobs. The default is priority 0.
- JCL=
- The following parameters are valid:
- jobname
- Specifies a maximum of six alphanumeric characters to be used
as the first portion of the generated job names. The last two characters
of the job names are internally generated, sequentially incremented,
hexadecimal numeric values representing the relative position of each
job in the stage 2 stream. The default is IMSGEN.
The character set that can be used is described on the node keyword.
- job accounting
- Specifies job accounting data to be placed in the stage 2 JCL.
The length of the accounting data cannot exceed 50 bytes.
When the accounting information fields contain special characters (except hyphens), special considerations apply to the manner in which this field is specified. See the examples for the JCL.
- programmername
- Specifies the programmer name to be placed in the stage 2 JCL. The default is IMS.
- outputclass
- Specifies the output class to be generated for the stage 2 JCL. The default is A.
- job miscellaneous 1 & 2
- Specifies any additional parameters the user can desire to have placed in the stage 2 JOB statements. Length of this parameter cannot exceed 60 bytes. If you code this parameter, do not code the MSGCLASS parameter.
- MFSDFMT=
- Specifies whether (YES) or not (NO) the default message format screens are built in stage 2 of IMS system definition. If MFSDFMT=NO, stage 2 does not have the default MFS screens generated in stage 2. The default is YES.
- ONEJOB=
- Subparameter1 specifies whether (YES) or not (NO) a single job
is to be built for stage 2. The default is NO. If ONEJOB=NO, stage
2 has a multiple of job steps as specified in JOBCTL= subparameter
1.
Subparameter 2 specifies whether (YES) or not (NO) condition code checking for the bind steps is to be performed. If ONEJOB=(YES,YES) is specified, condition code checking is done in the bind steps. These steps are bypassed if any previous step did not complete with a condition code of 0. The default for subparameter 2 is YES if subparameter 1 is YES.
When ONEJOB= is specified for a single JOB statement, JOBCTL= and SCL= subparameter 1 are ignored.
If condition code checking is being specified for SCL= and ONEJOB= subparameter 2 is YES, a JCL error occurs due to the specification of duplicate COND= parameters.
- SCL=
- The following parameters are valid:
- nbr
- step accounting
- Specifies step accounting data to be placed in the stage 2 JCL.
The length of the accounting data cannot exceed 50 bytes.
When the accounting information fields contain special characters (except hyphens), special considerations apply to the manner in which this field is specified. See the examples for the JCL.
- step miscellaneous
- Specifies any additional parameters that you might want to place in the stage 2 EXEC statements. The length of this parameter cannot exceed 50 bytes. Do not code REGION= here, because internal IMS processing automatically generates this parameter. Do not code COND= if the MFSDFMT=NO keyword is not coded. Some of the default MFS job steps have COND= already coded.
- UJCL1=,...,UJCL5=
- Specifies the contents of a JCL statement that is placed between
the JOB statement and the first EXEC statement in the stage 2 job
stream. The specified statement cannot be longer than 60 characters.
No other syntax checking of the parameter contents is done.
The intent of these keywords is to provide comment or JES control statements in the stage 2 job stream. For example, these parameters can be used to add ROUTE statements, or JOBLIB DDs.
If no value is provided, the corresponding statement is dropped from the SYSLIB DD.
General communication options
- MFSTEST=
- Specifies whether (YES) or not (NO) the Message
Format Service test facility, MFSTEST, is to be included in the generated
system. YES is invalid for systems not containing MFS terminals. The
default is NO.
The use of MFSTEST can degrade IMS performance due to MFSTEST use of the communication line buffer pool.
- SYSMSG=
- Specifies whether (TIMESTAMP) or not (NOTIMESTAMP) the system
message time-stamp facility is to be included for the generated system.
The default is NOTIMESTAMP.
When TIMESTAMP is specified, the time that a message was generated is inserted between the message number and the message text for each message in the table.
Security options
All the security options are ignored or overridden if the COMM macro or the security initialization parameters are specified.
- SECCNT=
- Specifies the maximum number of terminal and password security
violations to be accepted per physical terminal and transaction command
violations per transaction before master terminal notification of
such violation. The default is 0, which nullifies notification to
the master terminal. The number specified can range from 0 through
3.
If SECCNT is not 0, the master terminal is notified for every violation.
IMSGEN macro statement - example 1
The following figure is one example of an IMSGEN macro statement.
72
IMSGEN ASMPRT=ON,LKPRT=(MAP,LIST),SUFFIX=9, X
OBJDSET=IMSXXX.OBJ, X
NODE=IMSXXX
The example JCL indicates that:
- An assembly listing is requested.
- Binder print options are MAP and LIST.
- Composite control block, nucleus, map module, nucleus and security directory blocks module suffix is 9.
- The cataloged partitioned data set into which assembler load modules are to be placed is IMSXXX.OBJ.
- The library containing user routines is IMSXXX.USER.
- All IMS data set names are to be prefixed by the node IMSXXX (that is, IMSXXX.SDFSRESL).
IMSGEN macro statement - example 2
72
IMSGEN JOBCTL=(4,D,A,(P01,9987)),PRTY=8
//IMSGEN1 JOB (P01,9987),IMS,MSGLEVEL=1,MSGCLASS=A,
CLASS=D,PRTY=8
IMSGEN JCL=(OSCAR,(P01,9987),FELIX,,(MSGLEVEL=1, X
PRTY=3,TYPRUN=HOLD))
//OSCAR01 JOB (P01,9987),FELIX,MSGLEVEL=1,MSGCLASS=A,
PRTY=3,TYPRUN=HOLD
IMSGEN JCL=(GEORG,(P01,"9/12/99"),IMS,D,(PRTY=3)), X
SCL=(3,("/83468"),(PARM=123))
//GEOG01 JOB (P01,"9/12/99"),
// IMS,
// PRTY=3,
// MSGCLASS=D
//STEP1 EXEC PGM=IEBUPDTE,PARM=NEW,
// ACCT=("/83468"),
// PARM=123
(5438,GROUP6).
If
any of the subparameters contains special characters (except hyphens),
enclose that subparameter in double apostrophes, not quotation marks.
For example:(5438,''12/15/99:'').