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 () 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.
//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.
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)