IBM Support

Combining CICS GTF trace and System SSL component trace

Question & Answer


Question

How do I combine a GTF trace of CICS and Component Trace of System SSL in one report? When debugging a CICS SSL problem it can be useful to combine a GTF trace of CICS and SSL CTRACE into one report in order to examine them together.

Answer

The following steps are required to merge GTF trace of CICS and SSL CTRACE:

GTF Trace of CICS
In CICS, activate System Trace and GTF trace using transaction CETR. Make sure that appropriate trace flags are set.

CETR                     CICS Trace Control Facility

Type in your choices.

Item                           Choice       Possible choices

Internal Trace Status     ===> STOPPED      STArted, STOpped
Internal Trace Table Size ===> 4096 K       16K - 1048576K

Auxiliary Trace Status    ===> STARTED      STArted, STOpped, Paused
Auxiliary Trace Dataset   ===> A            A, B
Auxiliary Switch Status   ===> ALL          NO, NExt, All

GTF Trace Status          ===> STARTED      STArted, STOpped

Master System Trace Flag  ===> ON           ON, OFf
Master User Trace Flag    ===> ON           ON, OFf

When finished, press ENTER.

PF1=Help   3=Quit   4=Components   5=Ter/Trn   9=Error List


Start the GTF trace task. In this case, I use a name of CICSGTF and pass in a variable to set the dataset name. The GTF task can be found in SYS1.PROCLIB.

S GTF.CICSGTF,ID=CICSGTF

The GTF task issues a WTOR to allow you to specify options.

R 866,TRACE=USRP,SYS,DSP,JOBNAMEP

Another WTOR appears.

R 867,USR=(F6C,F44),JOBNAME=JOA0W052,END

F6C is CICS. F44 is RACF. The Jobname "JOA0W052" refers to the CICS region, which is my CICSPlex SM WUI Server. A final WTOR is entered, to which you should reply "U" to indicate that you are done.

R 868,U

GTF trace is now running.


Component Trace of System SSL

System SSL does not support GTF trace, but instead requires component tracing. This is detailed in the
z/OS Cryptographic Services System Secure Sockets Layer Programming Guide, chapters 11 and 12.

IBM Technote How to capture and format SSL component trace might also be useful.

You need to activate the GSKSRVR started task. The started task will need appropriate RACF
configuration in class STARTED. A sample can be found in hlq.SGSKSAMP(GSKSRVR).


You need to create a CTRACE writer. This must either be a PROC in SYS1.PROCLIB (the JES
concatenation DOES NOT WORK, it MUST be SYS1.PROCLIB), or a JOB in the JOBLIST in
SYS1.PARMLIB. “The trace writer proc (GSKWTR) must be stored in a system PROCLIB. This is not the
same as a JES2 or JES3 PROCLIB. Trace writers must be in a dataset that is part of the IEFPDSI
PROCLIBs in MSTJCL00”. If not, the job will not start or run, and you will NOT see it in the Held Output
Queue. You will see messages in the System Log that the PROC could not be found.

A sample can be found in hlq.SGSKSAMP(GSKWTR).

Having done that, enter the following command to activate Component Trace, assuming you have
sufficient RACF authority to do so.

TRACE CT,ON,COMP=GSKSRVR

A WTOR appears.

R n,JOBNAME=(JOA0W052),OPTIONS=(LEVEL=255),WTR=GSKWTR,END

The GSKWTR task will now be visible.

Perform the Testing

In this case, I logged on to my CICSPlex SM Web User Interface server using a browser and SSL

Stop the traces

Enter the following command to stop GTF tracing. We called the GTF trace job CICSGTF, so we need
to enter STOP to stop it.

P CICSGTF

Enter the following commands to deactivate component trace and to stop the CTRACE writer.

TRACE CT,OFF,COMP=GSKSRVR
TRACE CT,WTRSTOP=GSKWTR

Start IPCS

Enter the following IPCS commands from option 6.

MERGE

IPCS prompts you to enter commands, or to type MERGEEND.

CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE01') LOCAL

GTF trace assumes local time, so specify local time for CTRACE as well. Use the trace files from the
GSKWTR task. You can enter as many of these as you have trace files.

CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE02') LOCAL
CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE03') LOCAL
CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE04') LOCAL
CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE05') LOCAL
CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE06') LOCAL
CTRACE COMP(GSKSRVR) FULL DSN('CTSSVT.GSKWTR.TRACE01') LOCAL

Enter the GTFTRACE with the USR(ALL) flag to format CICS trace in GTF trace. Use the dataset from
the GTF task.

GTFTRACE DSN('CICSGTF.GTF.TRACE') USR(ALL)

Enter MERGEEND to get the final report.

MERGEEND

Merge and format trace

Here is a sample batch job that can be used to merge and format the combined trace:
//ITS325T1 JOB  
//**********************************************************************
//* This job will merge and format a GTF-SSL trace and a CICS-GTF trace      
//* Always use DSNAME, as DDNAME does not work.
//*  
//****************************************************************  
//IPCS       EXEC PGM=IKJEFT01,REGION=4096K,DYNAMNBR=50
//STEPLIB    DD DISP=SHR,DSN=ITSDBCP.CICSV52.DFHLINK  <--Needed!      
//IPCSDDIR   DD DISP=SHR,DSN=ITS325.ITSOSSP.DDIR              
//IPCSDOC    DD SYSOUT=*      
//JRASTRC    DD DUMMY    <--This is ok!
//IPCSPRNT   DD SYSOUT=*      
//SYSTSPRT   DD DSN=ITSCUSP.CICSD010.GTFTRACE.FORM5,    
//           DISP=(NEW,CATLG),SPACE=(TRK,(2,2)),RECFM=VB,LRECL=145  
//SYSTSIN    DD                                            
*
IPCS
PROFILE LINESIZE(80)PAGESIZE(99999999)
SETDEF      
NOCONFIRM
MERGE
CTRACE FULL COMP(GSKSRVR) DSNAME('ITSNET1D.PTTCP.G0022V00') LOCAL
GTFTRACE DSNAME('ITSNET1D.GTF.G0002V00') USR(ALL)  +
CICS((FULL,TYPETR=(SO0201-0202),TYPETR=(XM1101,DS0002)))  
MERGEEND  
END  
/*
//

CTRACE FULL DSNAME is the DSN for the SSL trace.
GTFTRACE DSNAME is the DSN for the CICS GTF trace.

[{"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Trace","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"4.1;4.2;5.1;5.2;5.3","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Product Synonym

CICS/TS CICS TS CICS Transaction Server

Document Information

Modified date:
15 June 2018

UID

swg22001942