DD statements for IMS procedures
The IMS-supplied procedures can contain various DD statements.
DD statement descriptions
The following list contains a description of all the DD statements that can be used by the procedures that are supplied for IMS.
- DFSCTL DD
- Defines a data set that contains control statements for OSAM Sequential Buffering (SB) and Fast Path High-Speed Sequential Processing (HSSP). The DFSCTL DD statement can be optionally used in the JCL of the IMS batch or IMS dependent online regions. The statement must point to a sequential data set or a partitioned data set member. The data set record format must be F, FB, or FBS.
- DFSDB2AF DD
- Points to the Db2 for z/OS® libraries that contain modules
used by Db2 Resource Recovery Services attachment facility (RRSAF). Use
this DD statement in the DFSJMP or DFSJBP procedure of a JMP or JBP that accesses Db2 for z/OS databases. An example of a DFSDB2AF DD statement is as follows:
//DFSDB2AF DD DISP=SHR,DSN=IMS.SDFSRESL // DD DISP=SHR,DSN=DSNxxx.DSNLOAD // DD DISP=SHR,DSN=DSNyyy.DSNLOAD
- DFSESL DD
- Points to the external subsystem
libraries that contain modules used by External Subsystem Attach Facility (ESAF).
The DFSESL DD statement must be included in the procedures for IFP, MPP, BMP, JMP, or JBP regions that access Db2 for z/OS databases using ESAF. The control region must also have access to the ESS libraries. You can use the DFSESL DD statement or you can concatenate the libraries with the JOBLIB/STEPLIB libraries in the control region instead of using the DD statement. The external subsystem libraries must follow IMS.SDFSRESL.
The following is an example of a DFSESL DD statement://DFSESL DD DISP=SHR,DSN=IMS.SDFSRESL // DD DISP=SHR,DSN=DSNxxx.DSNLOAD // DD DISP=SHR,DSN=DSNyyy.DSNLOAD
- DFSHALDB DD
- The data set can be either a member of a PDS, a PS, or instream. The data set attributes must be LRECL=80 and RECFM=FB. The contents of this data set should be the HALDB control statements that restrict processing to a single partition.
- DFSOLPnn DD
- Defines the primary online DASD log
data set, where nn can be any numeric value. You can specify between 3 and
100 primary DASD data sets. The block size for the online log data
sets must be a minimum of 6 KB and a multiple of 2048 bytes.
For more information about allocating data sets, see Allocating log data sets.
- DFSOLSnn DD
- Defines the optional secondary
online DASD log data sets, where nn can be any numeric value. You can
specify between 3 and 100 secondary DASD data sets.The block size for
the online log data sets must be a minimum of 6 KB and a multiple of 2048 bytes. These
statements are required only if dual logging is requested. Suffixes must be consistent with the
primary log data sets.
For more information about allocating data sets, see Allocating log data sets.
- DFSRESLB DD
- Points to an authorized library that contains the IMS SVC modules. For IMS batch, IMS.SDFSRESL and any data set that is concatenated to it on the DFSRESLB DD statement must be authorized through the Authorized Program Facility (APF).
- DFSSTAT DD
- Defines a data set describing DB
call and buffering activity during an application's execution. The reports are written when the
application terminates. If you are interested in receiving
//DFSSTAT
reports, include a//DFSSTAT
DD statement in this procedure. For example://DFSSTAT DD SYSOUT=A
For more information about interpreting
//DFSSTAT
reports, see IMS Version 15.4 System Utilities. - DFSTCF DD
- Defines the data set specified if the time-controlled operation function is used.
- DFSURWF1 DD
- Defines the work data set used to
resolve logical or secondary index relationships. This DD statement is required if you are running a
DL/I batch processing program and PROCOPT=L is specified in the program's PSB to load a database
with one or more secondary indexes.
The DFSURWF1 work data set is used as input to the Prefix Resolution utility. This data set can reside on a tape or a direct-access device. Specify DISP=KEEP since this data set might be involved in restart processing. You must specify RECFM=VB and BLKSIZE on this DD statement. A value of LRECL=900 is recommended, but a smaller value (as small as 300) can be used if no secondary indexes are present.
- DFSVSAMP DD
- Defines the following:
- Size and number of buffers in a subpool
- Number and use of local shared resource pools
- Whether sequential buffering is to be used
- Various performance and trace options
- DASD logging data set requirements
- Whether dynamic allocation for IMS batch is to be used
- Coupling facility structure names for sysplex data sharing
- Caching option for the OSAM subpools.
The DFSVSAMP DD statement performs the same function in an IMS batch system that the DFSVSMxx DD statement performs in an online system. In a batch system, the control statements defining the preceding options are in a data set with the ddname of DFSVSAMP; in an online system, the control statements are in a member of the IMS.PROCLIB data set with the member name of DFSVSMxx.
- DFSWADSn DD
- Defines the required write-ahead
data sets, where n can be a number from zero to nine. If dual logging to
the WADS is requested, at least two WADS data sets must be provided. If an I/O error occurs on the
current WADS, the next WADS is used.
Dual WADS logging provides backup on a read error while terminating the OLDS from the WADS. The primary and secondary WADS contain the same data. Single or dual WADS logging is determined from an execution-time parameter you specify. Regardless of whether dual logging is selected, as many as 10 WADS DD statements can be included. The extra data sets serve as spares on write errors. When a write error occurs, write-ahead logging continues whether single mode or dual mode is selected. One of the spare data sets is substituted for the one with the error. When required WADSs are unavailable because of I/O errors, IMS issues a warning message and continues processing in a degraded mode, truncating OLDS buffers for LWA. When switching to a new WADS after a write error, the current online log buffer is truncated and written to the OLDS, making obsolete all data currently in the WADS.
- FORMATA DD and FORMATB DD
- Points to IMS.FORMATA and IMS.FORMATB, which contain
online MFS definitions to be used as the format library by the online system. They are required by
MFS-supported terminals.
IMS limits the number of data sets that can be concatenated for MFS format libraries, IMS.FORMATA and IMS.FORMATB, to 16. All the concatenations must have like attributes.
- FPTRACE DD
- Defines the destination for the Fast
Path trace output. Activate the trace with the DD statement in the procedure and the following
command:
/TRACE SET ON TABLE FAST
- IEFRDER DD
- Defines the primary system log data
sets. If DASD instead of tape is used for logging, substitute the appropriate DD statements. IEFRDER
and IEFRDER2 can be a combination of tape and DASD. This statement is not required in DB/DC or DBCTL
environments if the job does not declare database-update intent.
For more information about allocating data sets, see Allocating log data sets.
- IEFRDER2 DD
- Defines the secondary system log
data sets. This statement is included only when dual system log data sets are used. If DASD is used
for logging instead of tape, substitute the appropriate DD statements. IEFRDER and IEFRDER2 can be a
combination of tape and DASD.
For more information about allocating data sets, see Allocating log data sets.
- IMS DD
- Add an IMS DD statement for IMS.PSBLIB, concatenated with IMS.DBDLIB, if GSAM or GLOBAL databases are accessed by the batch application. The statements are:
//IMS DD DSN=IMS.PSBLIB,DISP=SHR // DD DSN=IMS.DBDLIB,DISP=SHR
The PSB for the batch application program must be contained in the IMS.PSBLIB, and the DBDs for the GSAM or GLOBAL databases referenced by the PSB must be contained in the IMS.DBDLIB.
- IMSACB DD
- Points to a partitioned data set that contains the output from ACBGEN. The IMSACB DD applies to the DBBBATCH procedure. The IMSACB DD should only be used if online change is not used. To avoid user error, do not use the IMSACB DD if local online change or global online change is enabled. If local online change is enabled, use the MODSTAT DD instead. If global online change is enabled, use the OLCSTAT DD instead.
- IMSACBA DD and IMSACBB DD
- Point to partitioned data sets containing the output from ACBGEN. Two statements are needed for online change. If any DOPT PSBs exist for an online system, they must reside in any concatenation other than the first. If OLCSTAT is omitted or cannot be accessed, the MODSTAT DD is used, if defined. If OLCSTAT and MODSTAT are omitted or cannot be used, IMSACB DD is used.
- IMSDALIB DD
- Defines the non-authorized partitioned data set (PDS) in which members to be dynamically allocated can be stored. Examples include RECON definitions, database definitions, and anything that is in a DFSMDA member.
- IMSIRD DD
- Defines the data set that submits the modified start-up JCL for a dependent region to the JES internal reader.
- IMSLOGR
- Defines the input log data set for
extended restart. This statement is required if an application program is performing an XRST call.
Any program that issues symbolic checkpoint calls must also issue the XRST call and therefore
requires the IMSLOGR DD statement.
For more information about allocating data sets, see Allocating log data sets.
- IMSMON DD
- Describes the recording device that the IMS monitor uses.
- IMSRDS DD
- Defines the first restart data set; this data set contains information required for recovery, including the checkpoint ID table needed for restarting IMS. This data set does not contain any log records.
- IMSRDS2 DD
- Defines the second restart data set. It is used only in an XRF system. This data set is identical in function to IMSRDS DD.
- IMSTFMTA DD and IMSTFMTB DD
- Point to IMS.TFORMAT, which contains the online MFS descriptors for test mode online execution. These DD statements consist of IMS.TFORMAT, concatenated in front of IMS.FORMATA and IMS.TFORMAT, concatenated in front of IMS.FORMATB. If you change MFS formats online, the two DD statements might point to this single TFORMAT data set, or the DD statements might point to two separate TFORMAT data sets.
- INPARMS DD
- INPARMS is a DD statement used by the IMS abend search and notification program, DFSIASNP. It points to a data set member created by the setup panel that contains keywords and their corresponding values. The keywords are used in email and text messages, where a parser substitutes corresponding values in place of the keywords inside the email and text messages.
- JAVAOUT DD and JAVAERR DD
- Point to z/OS
UNIX System Services file system files that Java™ opens and assigns to
stdout
andstderr
. AllSystem.out.print()
calls from the Java application are directed to the UNIX System Services file system file that is specified in the JAVAOUT DD statement. AllSystem.err.print()
output from the Java application is directed to the UNIX System Services file system file that is specified in the JAVAERR DD statement.Recommendation: Specify these DD statements if you want to take advantage of the function that they offer. If you do not specify the JAVAOUT DD or the JAVAERR DD statements,System.out.print()
andSystem.err.print()
calls in the Java application do not generate any output. - JCLOUT DD
- Defines a data set where output produced by a GENJCL command is to be written.
- JCLPDS DD
- Defines a partitioned data set that contains the skeletal JCL execution and default members used by the GENJCL commands.
- LGMSG DD
- Points to the normal long message data
set. If a batch only execution is planned, you do not need the message queue data sets. The Queue
Manager Concurrent I/O provides a facility for the IMS customer
to provide multiple Normal short and long message queue data sets. This facility is optional and is
started by the IMS customer providing from 1 to 10 DD
statements for the Normal short and long message queues data sets.
The current implementation of the Normal short and long message queues allows only one DD statement for each.
- LGMSGL DD
- Points to the local long message data set. This statement is used only in an XRF complex.
- MODBLKSA DD
- Points to IMS.MODBLKSA, which contains the system definition output to be brought online
using a
/MODIFY
command when IMS.MODBLKSB is actively being used by the control region. MODBLKSA must be authorized by APF. - MODBLKSB DD
- Points to IMS.MODBLKSB, which contains the system definition output to be brought online
using a
/MODIFY
command when IMS.MODBLKSA is actively being used by the control region. MODSBLKB must be authorized by APF. - MODSTAT DD
- Points to IMS.MODSTAT, the modify status data set. The MODSTAT data set contains online change status for an IMS that has local online change enabled. The MODSTAT data set keeps track of the DD names of
libraries that are active:
- ACBLIBA or ACBLIBB
- FORMATA or FORMATB
- MODBLKSA or MODBLKSB
The MODSTAT DD applies to the IMS procedure and the DBBBATCH procedure. The MODSTAT DD is not needed in the IMS procedure when global online change is enabled.
If the OLCSTAT DD is omitted or the OLCSTAT data set cannot be accessed, the MODSTAT DD (if defined) determines which ddname to use. If both the OLCSTAT DD and the MODSTAT DD are omitted or the OLCSTAT and MODSTAT data sets cannot be accessed, the IMSACB DD is used.
For the IMS procedure, the ddnames you can use are ACBLIBA (or ACBLIBB), FORMATA (or FORMATB), and MODBLKSA (or MODBLKSB). For the DBBBATCH procedure, the ddname to use is IMSACBA or IMSACBB.
- MODSTAT2 DD
- Points to IMS.MODSTAT2, which indicates the active or inactive data sets that the IMS online system should use during initialization. This statement
is used only in an XRF system.
The MODSTAT2 data set, when used for online changes, is used only for local online change. Global online change (in an IMSplex) uses the OLCSTAT data set.
- MSDBCP1 DD and MSDBCP2 DD
- Defines the first pair of MSDB checkpoint data sets. IMS alternates between the two when taking an MSDB checkpoint. During an
/NRE
,/ERE
, or IMS procedure, the most current MSDB is determined, and the MSDBs are loaded from that data set (unless the MSDBLOAD keyword is specified during warm start). - MSDBCP3 DD and MSDBCP4 DD
- Defines the second pair of MSDB checkpoint data sets. Used only in an XRF environment, these data sets are identical in function to MSDBCP1 and MSDBCP2. In an XRF environment, you must specify all four data sets because both the active and the alternate subsystem each require two. Any two of the four can contain the latest MSDB checkpoint. Although an active subsystem can select the data set containing the latest MSDB checkpoint, the alternate subsystem must select the two data sets not used by the active.
- MSDBDUMP DD
- Defines a data set that contains a
dump of all MSDBs. This data set specifies where to dump the MSDBs when a
/DBD DB MSDB
command is entered. Successive executions of the command cause the previous contents to be overlaid. - MSDBINIT DD
- Defines a data set that contains
unloaded or reconstructed MSDBs. This data set specifies where to start the initial load of the
MSDBs during all cold starts and during a normal restart if the MSDBLOAD parameter is specified for
the
/NRESTART
command. It is produced by running the MSDB Dump Recovery or MSDB Maintenance utility. MSDBINIT can contain one, several, or all MSDBs defined. - OLCSTAT DD
- Points to IMS.OLCSTAT, the online change status data set. The OLCSTAT data set contains online change status for an
IMSplex that has global online change enabled. The OLCSTAT data set keeps track of the ddnames of libraries that are active:
- ACBLIBA or ACBLIBB
- FORMATA or FORMATB
- MODBLKSA or MODBLKSB
The OLCSTAT DD applies to the DBBBATCH procedure.
If the OLCSTAT data set is defined, it determines whether to use the IMSACBA or IMSACBB DD name. The OLCSTAT data set name is selected from either:- The OLCSTAT DD statement that is coded in the JCL.
- The dynamic allocation MDA member, if either the OLCSTAT DD statement is omitted, or the data set from the OLCSTAT DD cannot be accessed.
If the MODSTAT DD statement is defined, it determines whether to use the IMSACBA or IMSACBB DD name only when both of the following are true:- The OLCSTAT DD statement is omitted.
- No dynamic allocation MDA member is defined for the OLCSTAT data set.
If both the MODSTAT and OLCSTAT DD statements are omitted, the IMSACB DD is used. If either the OLCSTAT DD statement or the MDA member exists, and the OLCSTAT data set cannot be accessed, the DBB batch job fails with an abend U0821.
- PRINTDD DD
- Defines the output data set for the test program, including displays of control blocks using the SNAP call. It must conform to the z/OS SNAP data set requirement.
- PROCLIB DD
- Points to IMS.PROCLIB, which contains all IMS-generated cataloged procedures, jobs, and control statements.
- QBLKS DD
- Points to the normal queue blocks message data set. If a batch-only execution is planned, you do not need the message queue data sets.
- QBLKSL DD
- Points to the local queue blocks message data set. This statement is used only in an XRF complex.
- RECONn DD
- Defines the DBRC RECON data sets,
where n is 1, 2, or 3. Add RECON DD statements if DBRC is being used. If
dynamic allocation is being used, the DD statements are not necessary. The names of these data sets
must be consistent with all subsystems that share the RECON data set.
Related reading: For more information about creating a RECON data set, see IMS Version 15.4 System Administration.
- SHMSG DD
- Points to the normal short message data set. If a batch-only execution is planned, you do not need the message queue data sets.
- SHMSGL DD
- Points to the local short message data set. This statement is used only in an XRF complex.
- STDENV DD
- Defines the input files, partitioned data sets (PDS), or physical sequential (PS) data sets that contain the IMS dependent region environment variables, parameters, and options needed to start the Java virtual machine (JVM). Environment variables, parameters, and options are specified using z/OS shell script syntax. Data sets or files concatenated in the STDENV DD statement are read in the order specified. Important: When you use the STDENV DD statement, the IMS dependent region ignores the DFSJVMEV and DFSJVMMS members of the IMS PROCLIB data set.
When the STDENV DD statement is present, you can specify the variable JZOS_OUTPUT_ENCODING to set the code page that is used to convert the raw bytes for
stdout
andstderr
. If no code page is provided in JZOS_OUTPUT_ENCODING, the default code page in the current locale is used forstdout
andstderr
.Use the variable JZOS_ENABLE_OUTPUT_TRANSCODING to enable or disable the code page that is specified in JZOS_OUTPUT_ENCODING. The encoding option is enabled by default. If JZOS_ENABLE_OUTPUT_TRANSCODING is set to false, then the code page that is specified in JZOS_OUTPUT_ENCODING is ignored and raw bytes are written to
stdout
andstderr
.The classpath length under the STDENV DD statement can be up to 150K.
To learn more about shell scripts and additional supported variables, see STDENV shell scripting.
- STDIN DD
- Points to z/OS
UNIX System Services file system files that Java opens and assigns to
stdin
.System.in.read()
reads from the UNIX System Services file system file that is specified in STDIN. For example://STDIN DD PATH=/tmp/stdin,DISP=SHR
- STEPLIB DD
- Points to IMS.SDFSRESL, which contains the IMS nucleus and required action modules. If STEPLIB is unauthorized because of having unauthorized libraries concatenated to IMS.SDFSRESL, a DFSRESLB DD statement must be included. The STEPLIB statement need not be authorized for IMS batch.
- SYSABEND DD
- Defines a dump data set. If both a SYSABEND DD statement and a SYSUDUMP DD statement are used, the last occurrence is used to define the dump.
- SYSHALDB DD
- Contains a report of all card images of the HALDB control statements with corresponding reasons for either accepting or rejecting the control statements.
- SYSIN DD
- Defines the control statement input data set.
- SYSLIB DD
- Points to the libraries that contain the other modules needed for the final executable module.
- SYSLIN DD
- Defines the destination of the output from the compiler.
- SYSLMOD DD
- Defines the destination of the output for the binder.
- SYSPRINT DD
- Defines the output data set for control messages, statistics and reports produced by a utility.
- SYSTSPRT DD
- Defines the output data set for TSO Parse. The data set contains all TSO Parse error messages, such as errors in parsing the DFSRSRxx PROCLIB member. This DD statement is optional and is not generated by IMS.
- SYSUDUMP DD
- Defines a dump data set. If both a SYSABEND DD statement and a SYSUDUMP DD statement are used, the last occurrence is used to define the dump.
- SYSUTn DD
- Is a temporary work data set used by the compiler, where n is 1, 2, 3, or 4. This data set must reside on DASD.