In started tasks such as DB2 or CICS regions, or
jobs where many dynamic allocations or VSAM DEFINEs occur, it may not be
practical or possible to add the SMSDEBUG= or ACSTRACE=
parameter to the DD statement for the dataset to be debugged. In this case,
the SMSDBSEL= keyword can be specified on the JOB,
EXEC, or DD statements to limit
SMS/Debug processing to only the desired datasets.
The format of the SMSDBSEL= keyword is:
SMSDBSEL=(filter, <DATACLAS>, <STORCLAS>, <MGMTCLAS>, <STORGRP>)
DD name or a 1-44
character DSN. The filter may be a mask, i.e., the filter may include: - percent sign (
%) single-character wildcards - asterisk (
*) multi-character wildcards - double-asterisk (
**) multi-qualifier wildcards
DATACLAS, STORCLAS, MGMTCLAS,
and STORGRP operands are optional and limit ACS routine tracing to the
specified type of routine. The SMSDBSEL= keyword acts as a selection
filter for SMS/Debug processing. In order to obtain
SMS/Debug traces, the SMSDEBUG= or
ACSTRACE= keywords must also be present. The example below shows the
use of SMSDBSEL= on the JOB statement to limit tracing to
only those datasets beginning with 'PROD.WEST'. //PRODJOB1 JOB (ACCT),SMSDBSEL=(PROD.WEST**)
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SMSDEBUG DD DUMMY,ACSTRACE=(YES,BOTH)
//SYSIN DD *
DEF CL(NAME(PROD.NORTH.CLUS) IXD VOL(PRDVOL) CYLINDERS(1 1))
DEF CL(NAME(PROD.SOUTH.CLUS) IXD VOL(PRDVOL) CYLINDERS(1 1))
DEF CL(NAME(PROD.WEST.CLUS) IXD VOL(PRDVOL) CYLINDERS(1 1))
DEF CL(NAME(PROD.EAST.CLUS) IXD VOL(PRDVOL) CYLINDERS(1 1))
In the above example, SMS/Debug ACS routine tracing is requested via the
ACSTRACE= parameter on the //SMSDEBUG DD DUMMY
statement. This DD statement is necessary in order to obtain a trace for
VSAM datasets since SMS/Debug keywords cannot be placed on
IDCAMS DEFINE statements. The SMSDBSEL= keyword on the
JOB statement limits SMS/Debug tracing to only the
third dataset in this example (PROD.WEST.CLUS). If there are other
datasets on other steps in this job that also begin with the characters
PROD.WEST, they will also be traced, since the
SMSDBSEL= keyword is specified on the JOB statement.
If tracing is desired only for a particular step, SMSDBSEL= can be
specified on the EXEC statement. Values for SMSDBSEL=
specified on the EXEC statement override those present on the
JOB statement. SMSDBSEL= can also be specified on a
DD statement (along with the SMSDEBUG= or
ACSTRACE= keyword) to limit tracing to a particular type of ACS routine
(via the DATACLAS, STORCLAS, MGMTCLAS,
or STORGRP subparameter).