ACS routine tracing with ISMF test and naviquest - 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

For an ordinary dataset allocation, the ACS routine logic can be traced whenever the SMSDEBUG= parameter is present on the DD statement or in the JCL for the IDCAMS DEFINE job. This trace occurs when the dataset is allocated. By default, the active ACS routines are traced. An alternate set of ACS routines residing in an SCDS which has not yet been activated can also be traced through the use of the third subparameter of SMSDEBUG= and the SMSDSCDS product started under DIF.

The ISMF Test facility (ISMF > Option 7.4) provides another means of invoking the ACS routines to perform testing. ISMF test can be run interactively, under ISPF, or in batch via the Naviquest facility. The ISMF Test facility also allows the use of either the active ACS routines or an alternate, inactive set of ACS routines.

When ISMF test is used to call the ACS routines, either interactively under ISPF or in batch via Naviquest, no dataset is actually allocated, and thus the SMSDEBUG= parameter cannot be used, nor can tracing be enabled dynamically via the product rules.

Tip: To trace ACS routine logic when ISMF Test/Naviquest is used, add an //ACSTRACE DD DUMMY statement to the JCL. (Under ISPF, a TSO ALLOCATE command can be used to allocate this DD statement.)

If the //ACSTRACE DD DUMMY statement is present (the DD name SMSDEBUG can also be used) when ISMF Test/Naviquest is run, the ACS routine logic will be displayed for each of the test cases executed. By default, this output will go to the JESMSGS dataset; however, if an //ACSPRINT DD statement is present, the trace output will be directed to ACSPRINT.

At the start of each test case, when the data class routine is entered, message ACC00351-I *** SMSDEBUG ACS ROUTINE TRACE *** will be printed, followed by message ACC08100-* ..SMSACS VARIABLES BEFORE CALL TO ACS ROUTINES. These messages can be used as 'separators' to identify the different test cases being executed.

Important: When running under ISMF Test/Naviquest, SMS/Debug does not display the test case member names or the SCDS name, as these are unknown at the time the ACS routine is executed. Also, the SMSDEBUG= parameter should not be specified on any of the DD statements in a Naviquest job in which the //ACSTRACE DD DUMMY statement is present.

ACS Routine Tracing with Naviquest - Example

An example of the use of SMS/Debug ACS tracing under Naviquest is shown below. This sample job is obtained from member ACBJBAIC of SYS1.SACBCNTL, the Naviquest library. The only changes to the JCL are the //ACSTRACE DD DUMMY statement required to activate SMS/Debug ACS tracing and the optional //ACSPRINT DD statement, which will contain the ACS routine trace output.

      //*********************************************************
      //*                                                       *
      //* SAMPLE JCL TO TEST ACS ROUTINES IN BATCH              *
      //*                                                       *
      //* INSTRUCTIONS BEFORE SUBMITTING:                       *
      //*                                                       *
      //*   - CHANGE JOBCARD                                    *
      //*   - CHANGE PREFIX                                     *
      //*                                                       *
      //*********************************************************
      //*********************************************************
      //*                                                       *
      //* TEST STEP                                             *
      //*                                                       *
      //* SCDSNAME - NAME OF SCDS THAT CONTAINS THE TRANSLATED, *
      //*            VALIDATED ACS ROUTINES TO BE TESTED (INPUT)*
      //* TESTBED  - PDS CONTAINING TEST CASES THAT THE ACS     *
      //*            ROUTINES SHOULD BE TESTED FOR (INPUT)      *
      //* MEMBER   - MEMBERS TO BE TESTED IN TESTBED (INPUT)    *
      //* DC,SC,MC,SG - ROUTINES TO BE TESTED Y OR N (INPUT)    *
      //* LISTNAME - TEST LISTING (OUTPUT)                      *
      //*                                                       *
      //********************************************************
      //********************************************************
      //TESTACS EXEC ACBJBAOB,
      //  PLIB1='SYS1.DGTPLIB',
      //  TABL2=userid.TEST.ISPTABL
      //ACSTRACE DD DUMMY   ÐENABLE ACS ROUTINE TRACING
      //ACSPRINT DD SYSOUT=* ACS TRACE OUTPUT
      //SYSTSIN DD *
      PROFILE PREFIX(IBMUSER) 
      DEL NEW.TESTLIST ISPSTART CMD(ACBQBAIA +
      SCDSNAME(MYSCDS) +
      TESTBED(TESTCASE.LIBRARY) MEMBER(*) +
      LISTNAME(NEW.TESTLIST) +
      DC(Y) SC(Y) MC(Y) SG(Y)) +
      NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDISPMAX(99999999)