DFH$MOLS control statement descriptions
The rules when processing control statements, and the order they must be applied in, are listed. The control statements that you can specify to control the DFH$MOLS program processing are described in detail.
Rules for processing control statements
The DFH$MOLS program processes multiple SELECT/IGNORE groups using the following rules in the order listed:
- Processing starts with the first group.
- The DFH$MOLS program processes the SELECT/IGNORE groups in the order in which you specify them in SYSIN.
- APPLID, USERID, TERMID, TRANID, PRCSTYPE, and TASKNO parameters can all be included in the same run.
- You cannot specify SELECT and IGNORE for the same parameter in the same SELECT/IGNORE group. For example, specifying SELECT TERMID and IGNORE TERMID is invalid.
- If you specify SELECT for more than one parameter in a SELECT/IGNORE group, the SELECT statements form a logical AND function.
- If you specify IGNORE for more than one parameter in a SELECT/IGNORE group, the IGNORE statements form a logical OR function.
- The DFH$MOLS program processes all SELECT statements in a group before any IGNORE statements in the same group.
- If a data record satisfies all the SELECT statements in a group, it is selected, but subject to any following IGNORE statements.
- If a selected record (either by default in the absence of any SELECT statements or explicitly because it satisfies selection criteria) also satisfies an IGNORE test, the record is excluded.
- If a record is not included or excluded after all the SELECT/IGNORE statements in a group are processed, it is processed by the next group.
- If a record is not specifically included or excluded after all
of the SELECT/IGNORE groups are processed, one of the following events
occurs:
- If you do not specify a group with IGNORE statements only, to specifically exclude the record, it is excluded by default.
- If you specify one or more groups with IGNORE statements only,
to specifically exclude other records, the record is included.
Note: You can specify one or more groups with IGNORE statements only to specifically exclude records. However, any record not included or excluded, after all the SELECT/IGNORE and IGNORE-only groups, is included.
Control statements
- * (asterisk)
- An asterisk appearing in column 1 means that the statement is a comment only and has no effect on processing. It is printed without any further analysis.
- BREAK
- Specifies
the end of a SELECT/IGNORE group. The BREAK control statement logically
ends the previous (ungrouped) SELECT/IGNORE statements, and the DFH$MOLS
program forms them into a logical SELECT/IGNORE group. A BREAK statement
has no meaning unless preceded by one or more SELECT/IGNORE statements.
You can form multiple SELECT/IGNORE groups by including BREAK statements
at the appropriate points.
The main purpose of BREAK is to allow SELECT statements to be processed as a logical OR function instead of as a logical AND function if they are in the same group.
If you do not specify a BREAK statement after the last SELECT/IGNORE statement, the DFH$MOLS program assumes one by default, so that there is always at least one SELECT/IGNORE group, however few SELECT or IGNORE statements you specify.
If you specify only one SELECT/IGNORE group, either implicitly or by including a BREAK statement, the SELECT/IGNORE logic is the same as described for the individual SELECT/IGNORE statements.
- CONTROL STOPAFT=nnnnnnnn
- Specifies the number of records that you want to process. The STOPAFT parameter limits the number of SMF type 110 records that you want the DFH$MOLS program to process. The DFH$MOLS program ends after processing the number of SMF 110 records specified by nnnnnnnn.
- DATE
- Specifies
the start and stop dates, which, with the TIME statement (if specified),
enable you to select records for a particular period only. See also
the TIME control statement.
- START=start-date
- Specifies the date of the beginning of the period for which you
want records processed, in the form
mm/dd/yy
ormm/dd/yyyy
.Start dates in the twenty-first century must use the form
mm/dd/yyyy
. - STOP=stop-date
- Specifies the date of the end of the period for which you want
records processed, in the form
mm/dd/yy
ormm/dd/yyyy
.Stop dates in the twenty-first century must use the form
mm/dd/yyyy
.
Note:- CICS® dictionary records are always processed by the DFH$MOLS program and are not affected by any date and time period specification.
- You do not have to specify both START and STOP; you can specify START without STOP and STOP without START.
- If you omit the DATE statement, records for all dates present in the input file are processed.
- You can specify only one DATE statement (and associated TIME statement) in SYSIN.
- EXPAND
- Specifies
that the monitoring data is written to an output data set, including
any compressed SMF 110 monitoring records in their expanded format,
with the monitoring records that were never compressed. For more information about record types processed by DFH$MOLS,
see note 12 in Sample job stream for DFH$MOLS. The
output data set of SMF 110 monitoring records can be used by reporting
tools that cannot use the z/OS® Data
Compression and Expansion Services (CSRCESRV) to expand compressed
records.
A monitoring record with a compressed data section is identified by the compressed record length in the SMFMNCRL field in the SMF product section, which is present only for a compressed record.
If you want to just print reports, or to unload the monitoring records into a fixed-length format, you do not need to specify the EXPAND option. DFH$MOLS identifies and expands any compressed monitoring records automatically before working with them. You only need to specify the EXPAND option when you want to create an output data set of SMF 110 monitoring records.
- DDNAME=name
- Specifies the ddname for the output data set to hold the SMF 110 monitoring records. If you do not code this keyword, the default ddname SYSUT2 is used, and your job stream must include a SYSUT2 DD statement. If you code this keyword to specify a different ddname, your job stream must include the corresponding DD statement.
- NEWDCB
- To ignore the DCB information from the original data set, specify NEWDCB. Supply the new DCB information on the JCL for the output data set.
Note:- When the EXPAND control statement is specified, the only parameter for IGNORE and SELECT statements that operates during creation of the output data set is the APPLID option. The PRCSTYPE, TASKNO, TERMID, TRANID, and USERID parameters are ignored while the output data set is being produced. You can also select monitoring records for the output data set by date, using the DATE parameter, or by time, using the TIME parameter.
- Monitoring data is not automatically printed when the EXPAND control statement is specified. If this statement is specified, and you also want to print monitoring data, you must specify the PRINT control statement explicitly. When you specify the PRINT statement to print monitoring records, all the selection parameters on your IGNORE and SELECT statements now operate for the selection of the monitoring records for printing.
- IGNORE [APPLID|PRCSTYPE|TASKNO|TERMID|TRANID|USERID]
- Specifies
that all records are to be excluded that have the specified generic
APPLID, CICS BTS process type,
task number, or all records that have a specified transaction, terminal,
or user identifier.
- APPLID=xxxxxxxx[,yyyyyyyy,.,.]
- Specify one or more generic APPLIDs to exclude monitoring data from a CICS region or regions.
- PRCSTYPE=xxxxxxxx[,yyyyyyyy,.,.]
- Specify one or more 8-character BTS process-type identifiers, to exclude monitoring data associated with these process-types.
- TASKNO=nnnnnnn[,nnnnnnn,...]
- Specify one or more task numbers to exclude monitoring data associated with these tasks.
- TERMID=xxxx[,yyyy,.,.]
- Specify one or more terminal identifiers to exclude monitoring data associated with these terminals.
- TRANID=xxxx[,yyyy,.,.]
- Specify one or more transaction identifiers to exclude monitoring data for these transactions.
- USERID=xxxxxxxx[,yyyyyyyy,.,.]
- Specify one or more user identifiers to exclude monitoring data for transactions submitted by these users.
You can specify each of the APPLID, PRCSTYPE, TASKNO, TERMID, TRANID, and USERID parameters in the same SELECT/IGNORE GROUP, but you cannot specify an IGNORE and SELECT for the same type of parameter. For example, you can specify SELECT APPLID= and IGNORE TERMID=, but you cannot specify SELECT APPLID= and IGNORE APPLID=.
If you are using the EXPAND statement, the only parameter for IGNORE and SELECT statements that operates during creation of the output data set is the APPLID option. The PRCSTYPE, TASKNO, TERMID, TRANID, and USERID parameters are ignored while the output data set is being produced. If you specify the PRINT statement to print monitoring records, all the selection parameters on your IGNORE and SELECT statements now operate for the selection of the monitoring records for printing.
- OPTION {GMT|LOCAL}
- Specifies
various DFH$MOLS report formatting options.
- GMT
- The DFH$MOLS sample program is to print the monitoring record start and stop time stamp fields in GMT time in the reports produced.
- LOCAL
- The DFH$MOLS sample program is to convert the monitoring record start and stop time stamp fields into local time in the reports produced.
- PRINT {ALL|DIC|EXC|IDN|PER|RES} or PRINT {rectype1,rectype2,…,rectypen}
- Specifies
the type of monitoring data record that you want to print in full.
If you do not specify the PRINT statement, the default action is that all the monitoring SMF type 110 records that are selected by other control statement options are printed in full. The exception is when the UNLOAD or EXPAND control statements are specified. In these cases, monitoring data is not automatically printed. If these statements are specified, and you also want to print monitoring data, you specify the PRINT control statement explicitly.
If you want to print more than one type of record in full, but not all, you can specify them as a list separated by commas, as shown in the second form of the PRINT parameter. In this way, you can specify any combination, such as:
When you specify a list of record types in this way, the records that you select are printed in full. For the record types that you omit, the SMF headers and SMF product sections are printed for records that are selected by other control statement options, but the data sections of the records are not printed.PRINT DIC,PER PRINT EXC,PER PRINT DIC,PER,RES PRINT IDN,RES,EXC PRINT RES,PER,EXC
- ALL
- List all the monitoring SMF type 110 records that are selected by other control statement options. This is the default if you omit the PRINT statement.
- DIC
- List only the monitoring performance class dictionary records that are selected by other control statement options.
- EXC
- List only the monitoring exception class records that are selected by other control statement options.
- IDN
- List only the identity class records that are selected by other control statement options.
- PER
- List only the monitoring performance class records that are selected by other control statement options.
- RES
- List only the transaction resource monitoring records that are selected by other control statement options.
- RESOURCE {ALL|DPL|FILE|TSQUEUE}
- Specifies the type of resource data that you want to print in
each resource record.
- ALL
- Print all types of resource data. ALL is the default if you omit the RESOURCE statement.
- DPL
- Print only the distributed program link type of resource data.
- FILE
- Print only the file type of resource data.
- TSQUEUE
- Print only the temporary storage type of resource data.
Note: The identification resource data is printed regardless of which option is selected. - SELECT [APPLID|PRCSTYPE|TERMID|TASKNO|TRANID|USERID]
- Specifies
the selection of all records of the specified generic APPLIDs, process
types, task numbers, transaction, terminal, or user identifiers.
- APPLID=xxxxxxxx[,yyyyyyyy,.,.]
- Specify one or more generic APPLIDs to include monitoring data from the CICS regions identified by these APPLIDs.
- PRCSTYPE=xxxxxxxx[,yyyyyyyy,.,.]
- Specify one or more CICS BTS process types to include monitoring data associated with these CICS BTS process types.
- TASKNO=nnnnnnn[,nnnnnnn,...]
- Specify one or more task numbers to include monitoring data associated with these tasks.
- TERMID=xxxx[,yyyy,.,.]
- Specify one or more terminal identifiers to include monitoring data associated with these terminals.
- TRANID=xxxx[,yyyy,.,.]
- Specify one or more transaction identifiers to include monitoring data for these transactions.
- USERID=xxxxxxxx[,yyyyyyyy,.,.]
- Specify one or more user identifiers to include monitoring data for transactions submitted by these users.
- TIME
- Specifies the start and stop times, which, with the DATE statement
(if specified), enable you to select records for a particular SMF
time period only. The time stamp against which the DFH$MOLS program
compares is the SMF time in the SMF header, not the time in individual
performance records. Therefore, the program might select performance
records for times that are a few minutes outside the specified period
because of the way that they are buffered for writing to SMF. Note: A TIME statement without a DATE statement causes the DFH$MOLS program to select data for the specified time period for all dates present in the input data set.
- START=start-time
- The start time of the period for which you want records processed,
in the form
hh.mm.ss
orhhmmss
. A start time is optional, and, if omitted, the report includes all records for the start date, regardless of time. - STOP=stop-time
- The end time of the period for which you want records processed,
in the form
hh.mm.ss
orhhmmss
. An end time is optional, and, if omitted, the report includes all records for the stop-date, regardless of time.
You do not have to specify both START and STOP; you can specify START without STOP, and STOP without START. You can specify only one TIME statement (and associated DATE statement) in SYSIN.
Note: CICS dictionary records are always processed by the DFH$MOLS program and are not affected by any time period specification. - UNLOAD {DDNAME=xxxxxxxx[,LOCAL]}
- Specifies that the performance class monitoring data is unloaded
into a fixed-length record format. The format of the output data set
can be mapped using the copy member DFHMNPDA provided in CICSTS52.CICS.SDFHSAMP.
- DDNAME
- The ddname for the output data set for the unloaded performance
class records.
The default ddname of SYSUT4 is used if you do not code this keyword, and a SYSUT4 DD statement must be included in your job stream. If you code this parameter to specify a different ddname, your job stream must include the corresponding DD statement.
- LOCAL
- The DFH$MOLS sample program converts the performance class start and stop time stamp fields into local time in the output performance class records.
Note:- If the UNLOAD control statement is specified, the SORT control statement must also be specified.
- Monitoring data is not automatically printed when the UNLOAD control statement is specified. If this statement is specified, and you also want to print monitoring data, specify the PRINT control statement explicitly.
- The UNLOAD control statement can be used only with monitoring data for CICS Transaction Server for z/OS, Version 5 Release 2, and not with monitoring data for any earlier CICS releases.
Control statement examples
SELECT TRANID=TSK1
SELECT TERMID=T040
SELECT TRANID=TSK1
BREAK
SELECT TERMID=T040
SELECT TRANID=TSK1,TSK2
IGNORE TERMID=T040
SELECT TRANID=TSK1
BREAK
SELECT TRANID=TSK2
IGNORE TERMID=T040
IGNORE TERMID=T050
In this case, records for terminal ID T060 are included, because you have not specifically excluded them.
- Do not specify any IGNORE-only groups; the records for terminal IDs T050 and T060 are excluded by default.
- Specify one or more IGNORE-only groups, to specifically exclude
records from terminal IDs T050 and T060, for example:
IGNORE TERMID=T050,T060
In this case, if you later add another terminal, its records are included unless you specify the terminal ID in an IGNORE-only group.
The DFH$MOLS program pads, with trailing blanks, operands that have fewer characters than the permitted maximum. You cannot continue control statements on another line, but the program logically chains multiple control statements of the same keyword in the same IGNORE group. See the BREAK control statement. If you specify IGNORE for more than one parameter, those IGNORE statements form a logical OR function.
IGNORE TRANID=CEMT
IGNORE USERID=OP7
SELECT TRANID=CEMT
IGNORE TERMID=TRM3
You can specify each of the APPLID, PRCSTYPE, TASKNO, TERMID, TRANID, and USERID parameters in the same SELECT/IGNORE GROUP, but you cannot specify IGNORE and SELECT for the same type of parameter.
If you are using the EXPAND statement, the only parameter for IGNORE and SELECT statements that operates during creation of the output data set is the APPLID option. The PRCSTYPE, TASKNO, TERMID, TRANID, and USERID parameters are ignored while the output data set is being produced. If you specify the PRINT statement to print monitoring records, all the selection parameters on your IGNORE and SELECT statements now operate for the selection of the monitoring records for printing.
You cannot continue control statements on another line, but the program logically chains multiple control statements of the same keyword in the same SELECT group. See the BREAK control statement for details of how to terminate a SELECT/IGNORE group. If you specify SELECT for more than one parameter, those SELECT statements form a logical AND function.
SELECT TERMID=TRM3
SELECT TRANID=CEMT
SELECT APPLID=DBDCCICS
SELECT TRANID=CEMT
IGNORE TERMID=TRM3