SMS/Debug is a powerful testing, tracing, and debugging tool for z/OS installations. With SMS/Debug, storage administrators can more effectively understand and manage their installation's DFSMS environment. SMS/Debug includes the following components:
- Extensive tracing facilities for Automatic Class Selection (ACS) routines. Tracing is available for both real-time production ACS routines as well as test (unactivated) routines. Up to 99 different sets of ACS routines may be tested.
- Trace and display of the DFSMS volume selection process, including the display of the primary, secondary, and tertiary volume selection lists.
- Display of the results of the Direct Access Device Space Manager (DADSM) pre- and post-processing exit return codes, showing each volume considered for allocation.
- Automatic display of the DFSMS volume selection lists when an allocation error occurs.
- ACS/QA, the SMS/Debug Test Facility, a robust and powerful ACS routine comparison and regression testing facility which is much faster, more complete, and more accurate than the limited facilities available via ISMF.
Simple user interface
SMS/Debug is particularly simple to use. When
SMS/Debug is active, additional JCL parameters and options on the
TSO ALLOCATE command become available. The
SMSDEBUG and ACSTRACE keywords indicate what type of
debugging or tracing is to be performed.
In the example below, full ACS routine logic tracing, volume selection
lists, and DADSM return code displays are performed for the dataset
allocated to the //DD1 statement, as requested by the
SMSDEBUG keyword.
//JOBNAME JOB...
// EXEC PGM=IEFBR14
//DD1 DD DSN=TEST.DATASET,SPACE=(TRK,1),STORCLAS=STC1,
// SMSDEBUG=YES
For a complete description of the trace and debugging keywords and output, examine The SMS/Debug user interface.
No rules language
SMSDEBUG member in the
//PARMLIB dataset allocated to the DIF started task is
required.DTS.R61.RULELIB. The default SMSDEBUG parmlib member is
shown below. DEFPROD SMSDEBUG DDNAME(TRACE(SMSDEBUG)) DEFENV
SMSACS RULES(NEVER)
DEFENV SMSACS_TRACE DEFENV SMS_TRACE
DEFENV DADSM RULES(NEVER) PROCESS(DISKALL)
OPTION(SYSALLOC,IGNORERC) DEFENV POST_DADSM RULES(NEVER) PROCESS(DISKALL)
OPTION(SYSALLOC,IGNORERC) DEFENV DEVSELECT MODE(INACTIVE)
Figure 2-1. SMSDEBUG member in the RULELIB PDS
Trace output returned to user
In most cases, SMS/Debug trace output is returned directly to the user.
For batch jobs, the trace messages are included in the JESMSGS dataset. If
a trace is performed under TSO, the trace messages are returned
directly to the user's TSO session unless an
//ACSPRINT DD statement is present and the trace is being performed under
ISMF. If the trace is for the DEFINE of a
VSAM cluster under program IDCAMS, the trace output is
placed in the //SYSPRINT dataset. In this case, the trace output will
actually precede the DEFINE statement and the IDCAMS
messages in SYSPRINT. For JES3 installations, the
WTORC(2,11) parameter must be added to the DEFENV
statement for SMSACS_TRACE in order to display ACS trace
output. Under JES3, the ACS routine trace output for
the job will be written to the system console/log instead of the JESMSGS
dataset.