I had a problem with a certificate and as part of trying to track down the problem, I traced all of the components. I found the documentation for tracing ICSF was not complete – it assumed you were going to take a dump.
You can collect a CTRACE from ICSF, and have it go to a CTRACE dataset.
Create the CTICSFxx member in parmlib
I copied CTICSF00, added the writer statement, and said collect ALL
TRACEOPTS
ON
BUFSIZE(2M)
wtr(ctwtr)
OPTIONS('ALL')
Turn off the ICSF trace
TRACE CT,OFF,COMP=CSF
Start the trace writing started task
See Create a procedure to collect the trace. The same trace writer can be used for all ctrace record.
TRACE CT,WTRSTART=CTWTR
Start CTRACE
You need a parmlib member to contain the definitions I called mine CTICSF01
TRACEOPTS
/*-----------------------------------------------------------------*/
/* ON OR OFF: PICK 1 */
/*-----------------------------------------------------------------*/
ON
/* OFF */
BUFSIZE(2M)
wtr(ctwtr)
/*-----------------------------------------------------------------*/
/* OPTIONS: NAMES OF FUNCTIONS TO BE TRACED, OR "ALL", OR "MIN" */
/*-----------------------------------------------------------------*/
/* OPTIONS( */
/* 'ALL' */
/* ,'KDSIO' */
/* ,'CARDIO' */
/* ,'SYSCALL' */
/* ,'DEBUG' */
/* ,'RDIO' */
/* ,'RDDATA' */
/* ,'MIN' */
/* ) */
OPTIONS('KDSIO','CARDIO','SYSCALL','RDIO','ALL')
Start the trace
TRACE CT,ON,COMP=CSF,PARM=CTICSF01
This gave me
TRACE CT,ON,COMP=CSF,PARM=CTICSF01
IEE252I MEMBER CTICSF01 FOUND IN USER.Z24C.PARMLIB
ITT038I ALL OF THE TRANSACTIONS REQUESTED VIA THE TRACE CT COMMAND WERE SUCCESSFULLY EXECUTED.
Run your failing transaction
Stop ctrace
TRACE CT,OFF,COMP=CSF
This gave
ITT038I ALL OF THE TRANSACTIONS REQUESTED VIA THE TRACE CT COMMAND WERE SUCCESSFULLY EXECUTED.
Stop the trace writer
TRACE CT,WTRSTOP=CTWTR
This gave messages
ITT111I CTRACE WRITER CTWTR TERMINATED BECAUSE OF A WTRSTOP REQUEST.
IEF404I CTWTR – ENDED – TIME=07.54.33
IEF196I IEF142I CTWTR CTWTR – STEP WAS EXECUTED – COND CODE 0000
IEF196I IGD104I IBMUSER.CTRACE1 RETAINED
Any data is in the dataset.
Go into IPCS.
The instructions below show how to find statements with a non zero return code.
- =0 – and enter the data set name
- =6 – to get to the ipcs command screen
- dropd – to tell IPCS to forget any information it may know about for the dataset
- CTRACE COMP(CSF) full – this displays any ICSF CTRACE data
- m PF8 – go to the bottom of the data
- report view – to go into ISPF View mode on the data set
- X ALL – to hide all of the data
- f code all – this shows any error codes
- c ‘Return code = 00000000 ‘Return ZZZZ = 00000000’ all – use cut and paste of the string, as blanks are lost in this post
- c ‘Condition code = 00000000’ ‘Condition ZZZZ = 00000000’ all
- x all
- f code all – this will show you are statements with a non zero return code.