DFH$MOLS control statement descriptions

Note:
In the following material, it is important not to confuse the term "generic applid" with "generic resource name".

Remember that "generic" and "specific" applids apply only to systems that use XRF. CICS® systems that do not use XRF have only one applid, which is the value defined in the "APPLID=3D" parameter.

Note, in particular, that you cannot use both VTAM generic resources and XRF. If you use VTAM generic resources, you should specify only one name on the APPLID system initialization parameter.

* (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 terminates the previous (un-grouped) 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 intent 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. This means 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.

The DFH$MOLS program processes multiple SELECT/IGNORE groups using the following rules in the order listed:

  1. Processing starts with the first group.
  2. The DFH$MOLS program processes the SELECT/IGNORE groups in the order in which you specify them in SYSIN.
  3. APPLID, USERID, TERMID, TRANID, PRCSTYPE and TASKNO parameters may all be included in the same run.
  4. You cannot specify SELECT and IGNORE for the same parameter in the same SELECT/IGNORE group. For example, SELECT TERMID and IGNORE TERMID is invalid.
  5. If you specify SELECT for more than one parameter in a SELECT/IGNORE group, the SELECT statements form a logical AND function.
  6. If you specify IGNORE for more than one parameter in a SELECT/IGNORE group, the IGNORE statements form a logical OR function.
  7. The DFH$MOLS program processes all SELECT statements in a group before any IGNORE statements in the same group.
  8. If a data record satisfies all of the SELECT statements in a group, it is selected (but subject to any following IGNORE statements).
  9. 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.
  10. If a record is not included or excluded after all of the SELECT/IGNORE statements in a group have been processed, it is processed by the next group.
  11. If a record is not specifically included or excluded after all of the SELECT/IGNORE groups have been processed, one of the following events occurs:

Examples:

The following control statements select records for transaction id TSK1 which were entered from terminal id T040:

The following control statements select records for all records for transaction id TSK1, and all records from terminal id T040. The BREAK statement effectively creates two SELECT/IGNORE groups, and any record satisfying group 1 (the transaction id is TSK1) or group 2 (the terminal id is T040) is selected:

The following control statements select records for transaction ids TSK1 and TSK2, but excluding those that were entered from terminal id T040:

The following control statements select all records for transaction id TSK1 (SELECT group 1) and all records for transaction id TSK2 but exclude those entered from terminal id T040 (SELECT/IGNORE group 2):

If you also have records for terminal ids T050 (for transaction ids TSK1 and TSK3) and T060 (for transaction id TSK3 only), you can use the following IGNORE-only group to exclude all records entered from terminal id T050:

In this case, records for terminal id T060 are included, because you have not specifically excluded them.

To exclude the records from terminal ids T050 and T060, you can do one of the following:

CONTROL STOPAFT=nnnnnnnn
specifies the number of records you want to process. The STOPAFT=nnnnnnnn parameter limits the number of SMF type 110 records you want the DFH$MOLS program to process. The DFH$MOLS program terminates after processing the number of SMF 110 records specified by nnnnnnnn.
DATE
specifies the start and stop dates which, in conjunction with the TIME statement (if specified), enables 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 or mm/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 or mm/dd/yyyy.

Stop dates in the twenty-first century must use the form mm/dd/yyyy.

Notes:
  1. CICS dictionary records are always processed by the DFH$MOLS program and are not affected by any date/time period specification.
  2. You do not have to specify both START and STOP; you can specify START without STOP, and STOP without START.
  3. If you omit the DATE statement, records for all dates present in the input file are processed.
  4. You can specify only one DATE statement (and associated TIME statement) in SYSIN.
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=.

The DFH$MOLS program pads, with trailing blanks, operands that have less 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.

Examples:

If you specify:

IGNORE TRANID=CEMT
IGNORE USERID=OP7

the program excludes all records for transaction CEMT (regardless of user ID), and exclude all records containing userid OP7 (regardless of transaction ID). It includes all other records.

If you specify:

SELECT TRANID=CEMT
IGNORE TERMID=TRM3

the program includes only records for transaction CEMT, except for those from terminal TRM3

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 timestamp fields in GMT time in the reports produced.
LOCAL
The DFH$MOLS sample program is to convert the monitoring record start and stop timestamp fields into local time in the reports produced.
PRINT {ALL|DIC|EXC|PER|RES}
PRINT rectype1,rectype2,...,rectypen
specifies the type of monitoring data record that you want to print. Note that if you want to print more than one type of record, 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:
PRINT DIC,PER
PRINT EXC,PER
PRINT DIC,PER,RES
PRINT RES,PER,EXC
ALL
lists all of 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
lists only the monitoring performance class dictionary records that are selected by other control statement options.
EXC
lists only the monitoring exception class records that are selected by other control statement options.
PER
lists only the monitoring performance class records that are selected by other control statement options.
RES
lists only the transaction resource monitoring records that are selected by other control statement options.
Note:
The SMF headers, SMF product sections, and CICS dictionary records are always printed except if the UNLOAD control statement is specified. In this case, the PRINT control statement must be specified to print the monitoring data required.
RESOURCE {ALL|FILE|TSQUEUE}
specifies the type of resource data that you want to print within each resource record.
ALL
print all types of resource data. This is the default if you omit the RESOURCE statement.
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.

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. For example, you can specify SELECT APPLID= and IGNORE TERMID=, but you cannot specify SELECT APPLID= and IGNORE APPLID=.

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.

Examples:

If you specify:

SELECT TERMID=TRM3
SELECT TRANID=CEMT

the program includes only records with a transaction identifier of CEMT and with a terminal identifier of TRM3. It does not include any other records.

If you specify:

SELECT APPLID=DBDCCICS
SELECT TRANID=CEMT
IGNORE TERMID=TRM3

the program includes only those records that are from the CICS region with the generic APPLID DBDCCICS, and are for transaction CEMT, but do not have the terminal identifier TRM3.

TIME
specifies the start and stop times which, in conjunction with the DATE statement (if specified), enables 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. This means that the program may select performance records for times that may be a few minutes outside the specified period because of the way 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 or hhmmss. A start time is optional, and if omitted the report includes all records for the start date, irrespective of time.
STOP=stop-time
The end time of the period for which you want records processed, in the form hh.mm.ss or hhmmss. An end time is optional, and if omitted the report includes all records for the stop-date, irrespective 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 to be unloaded into a fixed length record format. The format of the output data set can be mapped using the copy member DFHMNPDA provided in CICSTS31.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 is to convert the performance class start and stop timestamp 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.

Related reference
Sample monitoring data print program (DFH$MOLS)
Sample job stream for DFH$MOLS
Control statements of DFH$MOLS -- overview
Rules for coding DFH$MOLS control statements
Abend codes and error messages for DFH$MOLS
[[ Contents Previous Page | Next Page Index ]]