SMS/debug selection filters - the SMSDBSEL JCL keyword - syncsort_allocation_control_center - Latest

Syncsort™ Storage Management Sms/Debug User Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ software
Product
Syncsort™ Storage Management > Syncsort™ Allocation Control Center
Version
Latest
ft:locale
en-US
Product name
Syncsort Storage Management
ft:title
Syncsort™ Storage Management Sms/Debug User Guide
Copyright
1991
First publish date
2025
ft:lastEdition
2025-12-05
ft:lastPublication
2025-12-05T10:27:31.692000
L1_Product_Gateway
Integrate
L2_Product_Segment
IBM Infrastructure
L3_Product_Brand
Precisely Syncsort
L4_Investment_Segment
Mainframe
L5_Product_Group
Mainframe Storage Optimization
L6_Product_Name
Syncsort Storage Management

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>)    
where the filter is either a 1-8 character 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
The 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).