Design overview

The input to DFHTRP, set up by the macro used for the invocation or by the calling program directly, consists of the following TCA fields:

TCATRTR
The trace request byte. The bottom half byte has one of the following values:
2
User trace entry
3
An entry requested via DFHLFM on entry to a LIFO module
4
A system entry requested via DFHTR or DFHTRACE
5
An entry requested via DFHLFM on exit from a LIFO module.
TCATRID
The trace ID of the entry to be made. This is one byte X'nn'. The resulting trace point ID is AP 00nn.
TCATRF1/TCATRF2
Two 4-byte fields to appear as FIELD A and FIELD B in the trace entry.
TCATRRSN
An 8-character field used by some entries to specify a resource name.

The following flags in the TCA and CSA are tested by DFHTRP before making the call to the trace domain (TRACE_PUT function):

CSATRMAS (X'80' bit in CSATRMF1)
The trace master flag. This is off unless at least one of internal, auxiliary, or GTF trace is active.
TCANOTRC (X'40' bit in TCAFLAGS)
This is set according to the TRACE (YES|NO) specification on the TRANSACTION definition for the transaction ID used to start this task. It allows suppression of all trace activity for specified transaction IDs.
X'80' bit in TCATRMF
This is the user entry ‘single’ flag. It allows suppression of user trace entries for the associated task.

The process flow is as follows:

  1. Test appropriate flags and exit if trace not required.
  2. Execute data collection routine specific to trace ID in TCATRID to set up fields in trace entry.
  3. Call TR domain with TRACE_PUT call to write the entry to the active destinations.
  4. Invoke the storage violation trap (if this has been activated) by using the CSFE DEBUG transaction, or by using the CHKSTSK or CHKSTRM startup override. See the CICS® Problem Determination Guide for information about the detection of storage violations.
[[ Contents Previous Page | Next Page Index ]]