Using parmlib members
- You can avoid operator intervention entirely, or minimize it.
- You can establish tracing options while the application is defining itself to component trace (this could be at a time when operator commands are not yet supported).
- Where operator intervention is necessary, the operator does not have to type in the options, thus avoiding syntax and keystroke errors.
- You can define a set of tracing options for your application before the application is started.
- On CTRACE DEFINE (can contain information about only a single trace)
- On the TRACE CT operator command (can contain information about more than one trace).
Specifying parmlib member on CTRACE DEFINE macro: When the application issues CTRACE DEFINE with a parmlib member, the system uses the tracing options specified in that parmlib member. If that parmlib member contains instructions to turn the trace on, then the system passes control to the application's start/stop exit routine without any operator intervention. If you update the parmlib member, this changes the tracing options used when the application subsequently issues CTRACE DEFINE with that same parmlib member.
Specifying parmlib member on the TRACE CT operator command: The operator in your installation can specify a parmlib member on the TRACE CT operator command by using the PARM parameter. The operator can even set up tracing options for your application before the application runs and defines itself to component trace.
When the operator issues the TRACE CT command with a parmlib member, the system uses the tracing options specified in that parmlib member, just as it would if you specified the parmlib member on CTRACE DEFINE. However, if you already specified a parmlib member on CTRACE DEFINE, the parmlib member subsequently specified on TRACE CT overrides the parmlib member on CTRACE DEFINE. This override is useful if a problem arises requiring a set of trace options different from those originally specified.
TRACE CT,,COMP=ABC,PARM=CTXABC02
TRACEOPTS
ON
ASID(01)
OPTIONS('new options')
When you are using multiple traces, a parmlib member that you specify on the TRACE CT command can contain information about more than one head level or sublevel trace. See Using multiple traces and z/OS MVS Programming: Authorized Assembler Services Guide for more information about multiple traces.
Using the PRESET option: When you specify a parmlib member on the TRACE CT command, you can use a parmlib member containing the PRESET option. This allows the operator to set up trace options for your application before starting the application and before the application defines itself to component trace. The operator might do this in anticipation of a problem application. The advantage is immediacy. The operator issues the TRACE CT command with the parmlib member containing the PRESET option. Then, when the operator starts the application, as soon as the application issues CTRACE DEFINE, the system immediately uses the options in the parmlib member specified on TRACE CT.
TRACE CT,,COMP=ABC,PARM=CTXABC03
TRACEOPTS
PRESET(DEFINE)
ON
ASID(01)
OPTIONS('PRESET options...')
As soon as the application issues CTRACE DEFINE,NAME=ABC..., the system uses the tracing options in parmlib member CTXABC03. The preset parmlib member overrides the parmlib member that you specify on CTRACE DEFINE.