DETAIL or NODETAIL — Performing TSO/E command accounting

Type 32 records allow the installation to keep track of individual TSO/E commands entered during a TSO/E session, during recording interval, or in a command list (CLIST). If no commands are entered during a reporting interval, no record is created. SMF writes record type 32 when a TSO/E user logs off or when an SMF recording interval expires.

Note: To use the type 32 record and TSO/E command accounting, you must have installed TSO/E Version 1 for MVS/XA or Version 2 for MVS/ESA.

The installation can specify, through the DETAIL parameter in SMFPRMxx, that the record is to include the total CPU time under task control blocks (TCB) and SRBs and the total number of TPUTs, execute channel programs (EXCP), transactions, and TGETs associated with the command.

Many TSO/E commands, such as EDIT, have subcommands. These subcommands are counted in the type 32 record. However, these subcommands are not recorded as entered at the terminal. They are recorded with a prefix that associates the subcommand with a command. For example, under EDIT, the INPUT subcommand is recorded as EDINPUT. The prefixes are described in other topics.

The record includes all TSO/E commands attached directly by the terminal monitor program (TMP). However, some TSO/E products or, possibly, user applications currently do not count TSO/E commands and thus do not support the type 32 record. For example, the Interactive Problem Control System (IPCS) does not count TSO/E commands but TSO/E subcommands are counted.

The TSO/E command interface lets a user application avoid this problem. The user application must take the following steps both before each TSO/E command (or subcommand) to be counted begins and after the command completes:
  1. Load register 1 with the address of a parameter list containing a four-byte flag word. The parameter list must start on a word boundary. The high-order bit of this word is set as follows:
    • 1 -- indicates the start of a command
    • 0 -- indicates that the command has completed.
Following the four-byte flag word is an eight-byte command (or prefixed-subcommand) name field. The command must be left-justified and padded with blanks.

The user must include the name of the command or prefixed-subcommand in module IEEMB846 before invoking the interface.

The IBM-supplied module IEEMB846, contains a partial list of the TSO/E commands, prefixed subcommands, and aliases that are counted in the type 32 record. All other commands are counted in the ‘***OTHER’ field.

An installation can use the IBM-supplied IEEMB846 or create its own module in SYS1.LINKLIB. The SMFTSOCM member of SYS1.SAMPLIB is provided so that the user can add or delete commands for the installation. The SMFTSOCM member contains the source code for the IBM-supplied IEEMB846. The format of IEEMB846 is:

Offset Length Content
0 4 Number of commands in the module
4 4 Reserved
8 8 Command name field
16 8 Command name field
. . .
. . .
. . .
. . .
Each command name field is 8 characters long. Therefore, each name must be left-justified and padded with blanks. The commands can appear in any order. However, by placing the most frequently used commands near the beginning of the module and deleting the commands that are not used, an installation can reduce the average time SMF needs to find the command. For example, after the following CSECT is link-edited into SYS1.LINKLIB, the ALLOCATE, ALLOC, SEND and GETINPUT commands are recorded in record type 32. (The GETINPUT command is a locally-defined command.)
IEEMB846   CSECT
    DC     F'4'
    DC     F'0'
    DC     CL8'ALLOCATE'
    DC     CL8'ALLOCbbb'
    DC     CL8'SENDbbbb'
    DC     CL8'GETINPUT'
    END
Note: Both ALLOCATE and ALLOC, its alias, are specified. If ALLOC, or any other alias, is not explicitly specified in IEEMB846, each use of the alias is counted under ‘***OTHER’ and not under the corresponding command.
When adding subcommand names to IEEMB846, use the following prefixes:
Command
Subcommand Prefix
ACCOUNT
AC
CONSOLE
CN
EDIT
ED
OUTPUT
O
OPERATOR
OP
TEST
T
User-defined
U

If the length of the prefix plus the subcommand name exceeds eight characters, the subcommand name is truncated on the right. For example, the CONTINUE subcommand of OUTPUT appears in IEEMB846 as OCONTINU.

The subcommand prefix “U” allows an installation to collect data on user-defined subcommands while they use the TSO/E Command interface. An installation that has more than one user-defined command processor can add a one-digit qualifier (0-9, A-Z) to the prefix to differentiate between user commands.