|
The CTRACE macro defines a user application to the component trace
service (referred to as “component trace” for the remainder of this
text). An application using component trace must have an installation-written
start/stop exit routine to start, stop, or modify tracing for the
application. Once you define the application to component trace: - The application's start/stop routine can get control through a
parmlib member specified on the PARM parameter on CTRACE DEFINE. If
the parmlib member contains trace options that tell the system to
turn the trace on, the system passes control to the start/stop routine
without operator intervention. See z/OS MVS Initialization and Tuning Reference for
information about setting up one or more CTncccxx parmlib members.
- The operator can pass control to the start/stop routine, and can
specify trace options through operator commands, with or without specifying
parmlib members. The operator can also display the status of the application's
trace. See z/OS MVS System Commands for
the command syntax and parameter descriptions for the TRACE and DISPLAY
commands.
Before the application ends, it should use the CTRACE macro to
delete itself from component trace. If a component trace is active,
the CTRACE DELETE macro calls the start/stop exit routine to clean
up resources and stop tracing. Deleting the trace prevents the system
from reporting an inactive trace as active when the operator requests
a display of the application's trace.
For information on writing the start/stop routine, and for additional
information about using the CTRACE macro, see z/OS MVS Programming: Authorized Assembler Services Guide.
Once your application creates trace entries and externalizes them,
either in a dump or through the component trace external writer, use
the interactive problem control system (IPCS) to format the trace
data. See z/OS MVS IPCS Commands and z/OS MVS IPCS Customization for
details.
For an understanding of tracing in general, and for details on
planning to use component trace to trace an application, see z/OS Problem Management.
Environment
The requirements for the caller are:
Environmental factor |
Requirement |
---|
Minimum authorization: |
Supervisor state and PSW key 0 |
Dispatchable unit mode: |
Task |
Cross memory mode: |
PASN=HASN=SASN |
AMODE: |
31-bit |
ASC mode: |
Primary |
Interrupt status: |
Enabled for I/O and external interrupts |
Locks: |
No locks held |
Control Parameters: |
Must be in the primary address space |
Programming requirements
An application using component trace must have an installation-written
start/stop exit routine to start, stop, or modify tracing for the
application.
Register information
After the caller issues the macro, the system might use some registers
as work registers or might change the contents of some registers.
When the system returns control to the caller, the contents of these
registers are not the same as they were before the caller issued the
macro. Therefore, if the caller depends on these registers containing
the same value before and after issuing the macro, the caller must
save these registers before issuing the macro and restore them after
the system returns control.
The caller must ensure that register 13 points to a standard 72-byte
save area.
When control returns to the caller, the GPRs contain: - Register
- Contents
- 0
- Used as a work register by the system if GPR 15 contains 0 or
4; otherwise, GPR 0 contains a reason code.
- 1
- Used as a work register by the system
- 2-12
- Unchanged.
- 13
- Contains the address of a standard savearea.
- 14
- Used as a work register by the system
- 15
- Return code
Performance implications
All component traces use system resources and will have some impact
on performance. You should evaluate the impact of using either a
single trace or multiple traces and determine which trace will provide
the information you need with the least effect on performance. For
information about multiple and single traces, see z/OS Problem Management
Syntax
The standard form of the CTRACE macro is written as follows:
Syntax |
Description |
---|
|
|
name |
name: Symbol. Begin name in
column 1. |
|
|
␢ |
One or more blanks must precede CTRACE. |
CTRACE |
|
|
|
␢ |
One or more blanks must follow CTRACE. |
|
|
DEFINE |
|
DELETE |
|
|
|
,NAME=name |
name: RX-type address or register
(2) - (12). |
|
|
,STARTNAM=sname |
sname: RX-type address or register
(2)-(12). |
|
|
,DISPNAM=dname |
dname: RX-type address or register
(2)-(12). |
|
|
,PARM=parm |
parm: RX-type address or register
(2) - (12). |
,PARM=NOPARM |
Default: PARM=NOPARM. |
|
|
,ASIDS=NO |
Default: ASIDS=NO. |
,ASIDS=YES |
|
|
|
,JOBS=NO |
Default: JOBS=NO. |
,JOBS=YES |
|
|
|
,MINOPS=options |
options: RX-type address. |
,MINOPS=NONE |
Default: MINOPS=NONE. |
|
|
,MOD=NO |
Default: MOD=NO. |
,MOD=YES |
|
|
|
,FMTTAB=fmtabs |
fmtabs: RX-type address or
register (2) - (12). |
,FMTTAB=NONE |
Default: FMTTAB=NONE. |
|
|
,USERDATA=userdata |
userdata: RX-type address or
register (2) - (12). |
,USERDATA=NOUSERDATA |
Default: USERDATA=NOUSERDATA |
|
|
,HEAD=NO |
Default: HEAD=NO. |
,HEAD=YES |
|
|
|
,HEADOPTS=NO |
Default: HEADOPTS=NO. |
,HEADOPTS=YES |
|
|
|
,SUB=subname |
subname: RX-type address or
register (2) - (12). |
,SUB=NOSUB |
Default: SUB=NOSUB. |
|
|
,LIKEHEAD=NO |
Default: LIKEHEAD=NO. |
,LIKEHEAD=YES |
|
|
|
,MANYSUBS=NO |
Default: MANYSUBS=NO. |
,MANYSUBS=YES |
|
|
|
,DELSUBS |
Default: DELSUBS |
,IFNOSUBS |
|
|
|
,BUFFER=NO |
Default: BUFFER=NO. |
,BUFFER=YES |
|
|
|
,BUFDEFIN=NO |
Default: BUFDEFIN=NO. |
,BUFDEFIN=YES |
|
|
|
,BUFMIN=minsize |
minsize: Minimum buffer size. |
|
Default: BUFMIN=1024. |
|
|
,BUFMAX=maxsize |
maxsize: Maximum buffer size. |
|
Default: BUFMAX=2147483647. |
|
|
,BUFDFLT=dfltsize |
dfltsize: RX-type address or
register (2) - (12). |
,BUFDFLT=NODFLT |
Default: BUFDFLT=NODFLT. |
|
|
,WTR=NO |
Default: WTR=NO. |
,WTR=YES |
|
|
|
,WTRMODE=PAGEABLE |
|
,WTRMODE=DREF |
|
,WTRMODE=FIXED |
|
|
|
,SSRC=ss_retcode |
ss_retcode: RX-type address
or register (2) - (12). |
|
|
,SSRSNC=ss_rsncode |
ss_rsncode: RX-type address
or register (2) - (12). |
|
|
,RC=retcode |
retcode: RX-type address or
register (2) - (12). |
|
|
,RSNCODE=rsncode |
rsncode: RX-type address or
register (2) - (12). |
|
|
,COM=comment |
comment: A comment string. |
,COM=NULL |
Default: NULL. |
|
|
,MF=(S) |
Default: MF=(S) |
|
|
Parameters
The parameters are explained as follows:
- DEFINE
- DELETE
- The required parameter that either defines the application to
or deletes the application from component trace.
When you specify
DEFINE: - You must specify NAME.
- You cannot specify DELSUBS or IFNOSUBS.
All other parameters are optional with DEFINE.
When
an application is using multiple traces, the application must issue
CTRACE DEFINE separately for each trace.
When you specify DELETE: - You must specify NAME.
- SUB, DELSUBS, IFNOSUBS, RSNCODE, RC, COM, and MF are optional
parameters.
You cannot specify any other parameters with DELETE.
- ,NAME=name
- The required parameter that specifies the name of the application
or head node to be defined or deleted. The name must begin with an
alphabetic or national character and can contain up to eight alphanumeric
or national characters. The first three letters must not be SYS because SYS is
reserved for IBM® use. NAME is required for both DEFINE and
DELETE.
The operator uses this name on the TRACE CT command (COMP
parameter), and IPCS uses this name on the CTRACE subcommand (COMP
parameter).
- ,STARTNAM=sname
- Specifies the name of the application's start/stop exit routine.
This routine receives control to start, stop, or modify tracing for
the application. The application must have at least one start/stop
routine. In the case of multiple traces, the application might have
a start/stop routine for the head node and for each sublevel trace.
This routine must be a reentrant load module in the LNKLST
or LPA.
You must code STARTNAM whenever you code CTRACE DEFINE,
unless you code HEADOPTS=NO with HEAD=YES. If you code HEADOPTS=NO
with HEAD=YES, STARTNAM is not valid.
- ,DISPNAM=dname
- Specifies the name of the application's display exit routine.
This routine receives control to provide status information about
the component trace for the DISPLAY TRACE operator command.
This routine must be a reentrant load module in the LNKLST
or LPA.
You may code DISPNAM whenever you code CTRACE DEFINE,
unless you code HEADOPTS=NO with HEAD=YES. If you code HEADOPTS=NO
with HEAD=YES, DISPNAM is not valid.
- ,PARM=parm
- ,PARM=NOPARM
- Specifies the name of a parmlib member that contains the options
to be used for tracing. A parmlib member specified on the CTRACE macro
can contain tracing options for only one trace. Consult z/OS MVS Initialization and Tuning Reference for
information on how to set up one or more component trace (CTncccxx)
parmlib members.
The
default is PARM=NOPARM.
- ,ASIDS=YES
- ,ASIDS=NO
- Allows you to request trace filtering by ASIDs. A single trace
that uses multiple address spaces can use this parameter as a filter
to ensure that a trace is done only in certain address spaces. With
ASIDS=YES, you can specify up to 16 ASIDs in a parmlib member on the
PARM parameter, or the operator can specify up to 16 ASIDs. With ASIDS=NO,
which is the default, neither you nor the operator can request trace
filtering by ASIDs.
- ,JOBS=YES
- ,JOBS=NO
- Allows you to request trace filtering by JOBNAMEs. With JOBS=YES,
you can specify up to 16 JOBNAMEs in a parmlib member on the PARM
parameter, or the operator can specify up to 16 JOBNAMEs. With JOBS=NO,
which is the default, neither you nor the operator can request trace
filtering by JOBNAMEs.
- ,MINOPS=options
- ,MINOPS=NONE
- Specifies a list of user-defined options that are in effect when
the trace is off or no other options are specified. These options
cannot be turned off by the operator. The character string for the
options list must not exceed 255 bytes. The individual options must
be separated by commas. See z/OS Problem Management for
information about planning and setting up user-defined options for
your application. The default is MINOPS=NONE.
- ,MOD=NO
- ,MOD=YES
- Specifies whether an application's trace must be stopped before
changes are made to the application's tracing options. If you code
MOD=YES, you allow the tracing options to be modified without stopping
the trace. The default is MOD=NO.
- ,FMTTAB=fmtabs
- ,FMTTAB=NONE
- Specifies the name of the load module that contains the CTRACE
format table for the application. Use the ITTFMTB macro, described
in z/OS MVS Programming: Authorized Assembler Services Reference EDT-IXG to
create this CTRACE format table. See z/OS MVS IPCS Customization for
further details about how to create a CTRACE format table.
The
default,FMTTAB=NONE, specifies that IPCS is not to format the trace.
Note
that specifying either the FMTTAB=fmtabs and USERDATA=userdata parameters
cause information to be placed in the SQA. If SQA is not dumped, the
information supplied by CTRACE DEFINE will not enable formatting to
proceed. You may supply a CTRACE statement in parmlib member BLSCUSER
to enable formatting to commence in this situation, but the buffer
find routine supplied by your component will be supplied with userdata of
zeros.
- ,USERDATA=userdata
- ,USERDATA=NOUSERDATA
- Specifies an optional 16-byte input/output area used by the application
to contain any data that it wants to associate with this trace. When
control is passed to the trace's start/stop routine, this user data
field is passed in the CTSS. Similarly, the user data field is passed
in the CTXI to the trace's IPCS exit routines. Suggested uses include
placing the address (and optionally, the ALET) of either of the following
into this field:
- The application's control information
- The application's first trace buffer.
Note that specifying either the FMTTAB=fmtabs and
USERDATA=userdata parameters cause information
to be placed in the SQA. If SQA is not dumped, the information supplied
by CTRACE DEFINE will not enable formatting to proceed. You may supply
a CTRACE statement in parmlib member BLSCUSER to enable formatting
to commence in this situation, but the buffer find routine supplied
by your component will be supplied with userdata of
zeros.
- ,HEAD=NO
- ,HEAD=YES
- When using multiple traces, use this parameter to specify whether
the trace you are defining is a head node. If you specify HEAD=YES,
you can define sublevel traces (SUB parameter) on subsequent invocations
of CTRACE DEFINE that share the options, attributes, and state of
this head node.
If you specify both HEAD=YES and SUB= sub on
the same invocation of CTRACE DEFINE, both of the following are true: - The trace you are defining is a head node for sublevel traces
to be defined on subsequent invocations of CTRACE DEFINE.
- The trace you are defining is a sublevel trace for a head node
that was defined on a previous invocation of CTRACE DEFINE.
If you specify HEAD=NO (or take the default), you cannot
define sublevel traces under this trace.
- ,HEADOPTS=NO
- ,HEADOPTS=YES
- Specifies that the application supports options for the head node
that is being defined. This parameter is valid only if you specify
HEAD=YES.
When you specify HEADOPTS=YES, you can define sublevel
traces on subsequent invocations of CTRACE DEFINE with the LIKEHEAD
parameter and those traces will have the same options, attributes,
and state as the HEAD. When any of the options or the state of the
head are changed, all of the sublevel traces that are defined LIKEHEAD
are also changed.
If you specify HEADOPTS=YES, you must specify
a start/stop routine.
If you specify HEADOPTS=NO, you define
a head node whose sublevel traces will be independent of the head
node. You will not be able to turn on the trace at the head node,
but only at the sublevels. Consequently, if HEADOPTS=NO, you cannot
specify a start/stop routine.
HEADOPTS=NO is the default.
- ,SUB=subname
- ,SUB=NOSUB
- When using multiple traces, use this parameter to specify that
the trace you are defining is a sublevel trace, and specifies the
name of the sublevel trace. Specify a sublevel trace name in one of
the following ways:
- A 1- to 18-character name that begins with a letter, A-Z, or the
characters $, #, or @ and consists of a combination of the characters
A-Z, 0-9, and the characters $, #, and @. If you enclose the name
in quotation marks, you can also use lowercase letters, a-z, and the
underscore character (_).
- The keyword ASID or JOBNAME. For example, for job ABC running
in address space ASID(05), you can code either of the following for
the same result:
- SUB=JOBNAME(ABC)
- SUB=ASID(05)
If you define multiple sublevel traces on one path of the
trace structure, you can specify up to five sublevel trace names separated
by periods; for example: CTRACE DEFINE,NAME=APPLABC,SUB=ASID(13).FACILITY12.SUBA.SUBB.SUBC,...
- ,LIKEHEAD=NO
- ,LIKEHEAD=YES
- When using multiple traces, use this parameter to specify whether
the sublevel trace you are defining is to use the options, attributes,
and state of its head node (defined on a previous invocation of the
CTRACE macro.) The default is LIKEHEAD=NO.
You cannot specify
LIKEHEAD=YES with the following: - HEADOPTS=NO
- PARM=parm
- Any of the attributes keywords (ASIDS, JOBS, MINOPS, MOD, BUFFER,
BUFMIN, BUFMAX, BUFDFLT, BUFDEFIN, and WTR).
- ,MANYSUBS=NO
- ,MANYSUBS=YES
- Specifies whether you expect the head node you are defining to
have more than 15 sublevel traces directly associated with it. For
example, a head node with NAME=APPLABC might have 20 sublevel traces
specified on subsequent invocations of CTRACE DEFINE that are directly
associated with APPLABC:
CTRACE DEFINE,NAME=APPLABC,SUB=SUB1,...
CTRACE DEFINE,NAME=APPLABC,SUB=SUB2,...
CTRACE DEFINE,NAME=APPLABC,SUB=SUB3,...
⋮
CTRACE DEFINE,NAME=APPLABC,SUB=SUB20,...
In this case,
code MANYSUBS=YES when you define the head node. The default is
MANYSUBS=NO.
- ,DELSUBS
- ,IFNOSUBS
- When using multiple traces, use this parameter to restrict which
traces will be deleted.
When you issue CTRACE DELETE to delete
a trace, and you specify IFNOSUBS, the system does the following: - If the trace is not a head node, the system deletes the trace.
- If the trace is a head node with no sublevel traces associated
with it, the system deletes the trace.
- If the trace is a head node with sublevel traces, the system issues
return code X'0C' with reason code X'2B' and does
not delete the trace.
When you issue CTRACE DELETE to delete a trace, and you
specify DELSUBS, the system deletes the trace. If the trace is a
head node with sublevel traces associated with it, the system also
deletes the sublevel traces. DELSUBS is the default.
- ,BUFFER=NO
- ,BUFFER=YES
- Restricts how you can specify the application's trace buffer size.
If you code BUFFER=YES, you can specify the trace buffer size in a
parmlib member on the CTRACE macro, or the operator can specify the
trace buffer size.
If you code BUFFER=NO, which is the default: - You cannot specify a trace buffer size in a parmlib member on
the CTRACE macro.
- The operator cannot specify a trace buffer size.
- You cannot specify BUFDEFIN, BUFMIN, BUFMAX, or BUFDFLT.
- ,BUFDEFIN=NO
- ,BUFDEFIN=YES
- If you code BUFDEFIN=YES, a buffer size can be specified only
on a parmlib member with the PRESET option, or in a parmlib member
that you specify on the PARM parameter of CTRACE DEFINE. If you specify
BUFDEFIN=YES you must also specify BUFFER=YES. BUFDEFIN=NO is the
default.
- ,BUFMIN=minsize
- Specifies the minimum buffer size allowed. The default is 1024
bytes. If you specify less than the default, the default will be used.
If you specify BUFMIN, you must also specify BUFFER=YES.
- ,BUFMAX=maxsize
- Specifies the maximum buffer size allowed. BUFMAX cannot be less
than BUFMIN. The default is 2147483647 bytes. If you specify BUFMAX,
you must also specify BUFFER=YES.
- ,BUFDFLT=dfltsize
- ,BUFDFLT=NODFLT
- Specifies the default buffer size to be used if you do not specify
a buffer size in a parmlib member on the PARM parameter, or if the
operator does not specify a buffer size. dfltsize cannot
be less than BUFMIN or more than BUFMAX.
If you specify BUFDFLT=dfltsize and
also specify a buffer size in a parmlib member or on an operator command,
the dfltsize is overridden.
To specify BUFDFLT=dfltsize,
you must also specify BUFFER=YES.
BUFDFLT=NODFLT is the default.
- ,WTR=NO
- ,WTR=YES
- Specifies whether the application's trace supports writing trace
data to DASD or tape through the component trace external writer.
If you specify WTR=YES, you must also specify WTRMODE.
The default,
WTR=NO, means an external writer is not used for this trace.
- ,WTRMODE=PAGEABLE
- ,WTRMODE=DREF
- ,WTRMODE=FIXED
- Indicates the type of storage the application's trace buffers
are in when you issue the CTRACEWR macro to write the trace buffers
to DASD or tape. This parameter is required when you specify WTR=YES.
When
you code WTRMODE=PAGEABLE, the application's trace buffers can be
in either fixed, disabled reference (DREF), or pageable storage at
the time you issue CTRACEWR.
Note: IBM recommends
you keep your trace buffers in pageable storage, which will not deplete
your system's central storage.
When you code WTRMODE=DREF,
the application's trace buffers can be in either fixed or DREF storage
at the time you issue CTRACEWR. Regular page faults are not allowed.
When
you code WTRMODE=FIXED, the application's trace buffers must be in
fixed storage at the time you issue CTRACEWR.
- ,SSRC=ss_retcode
- Specifies the name of a 4-byte output area to contain the return
code set by the start/stop routine.
- ,SSRSNC=ss_rsncode
- Specifies the name of a 4-byte output area to contain the reason
code from the start/stop routine.
- ,RC=retcode
- Specifies the location where the system is to store the return
code. The return code is also in general purpose register (GPR) 15.
- ,RSNCODE=rsncode
- Specifies the location where the system is to store the reason
code. The reason code is also in GPR 0. CTRACE provides a reason code
if the return code is other than 0 or 4.
- ,COM=comment
- ,COM=NULL
- Allows you to include a comment string in the macro block comment
before the macro invocation. If the comment contains any lowercase
characters, it must be enclosed in quotation marks.
- ,MF=(S)
- Specifies the standard form of the CTRACE macro.
ABEND codes
The following table identifies abend code and reason code combinations,
and a description of what each means:
Table 1. Abend codes for the
CTRACE MacroAbend Code |
Reason Code |
Description |
---|
00D |
00000101 |
For the CTRACE DEFINE macro, the parameter list
version number is not correct. |
00D |
00000102 |
For the CTRACE DEFINE macro, the component name
either does not begin with an alphabetic or national character, or
it contains one or more characters that are not alphanumeric or national
characters. |
00D |
00000301 |
The system found either nonzero values in the
reserved fields or unused fields for the requested service in the
CTRACE DEFINE macro parameter list. |
00D |
00000302 |
The system found either nonzero values in the
reserved fields or unused fields for the requested service in the
CTRACE DELETE macro parameter list. |
00D |
00000401 |
For the CTRACE macro, an incorrect service request
was specified. Valid services are CTRACE DEFINE and CTRACE DELETE. |
00D |
00000501 |
For the CTRACE DEFINE macro, the length of minimum
options string is greater than 256 bytes. |
Return and reason codes
When control returns from CTRACE, GPR 15 (and retcode,
if you coded RC) contains one of the following return codes. The third
byte of GPR 0 (and rsncode, if you coded RSNCODE)
might contain one of the following reason codes.
Note: The application should always check the return code from the
CTRACEWR macro. A non-zero return code indicates that some data might
have been lost in the next record output.
Table 2. Return and Reason
Codes for the CTRACE MacroHexadecimal Return Code |
Hexadecimal Reason Code |
Meaning |
---|
00 |
None. |
CTRACE was successful. |
04 |
None. |
CTRACE was unsuccessful. - For the DEFINE request, the application was already defined to
component trace.
- For the DELETE request, the application is not defined to component
trace.
|
08 |
xxxx06xx |
Insufficient storage for a DEFINE operation. |
08 |
xxxx07xx |
CTRACE could not establish a recovery environment. |
0C |
xxxx01xx |
An attempt to define a SUB was made before a HEAD
was defined. |
0C |
xxxx02xx |
The LIKEHEAD option was specified with other trace
options. |
0C |
xxxx03xx |
An attempt to define a SUB was made, but the previous
level was not a HEAD. |
0C |
xxxx04xx |
The specified parmlib member was not found. |
0C |
xxxx05xx |
While attempting to read the specified parmlib
member, an I/O error occurred. |
0C |
xxxx06xx |
There is a syntax error in the specified parmlib
member. |
0C |
xxxx07xx |
LIKEHEAD=YES was specified, but no HEAD exists
for a SUB to match. The head node was defined with HEADOPTS=NO. |
0C |
xxxx08xx |
JOBNAME or ASID was specified as the SUB name,
but the job or address space is not active. |
0C |
xxxx09xx |
LIKEHEAD was specified in the parmlib member,
but the HEAD had different attributes. |
0C |
xxxx0Axx |
LIKEHEAD=YES was specified with the PARM keyword. |
0C |
xxxx0Bxx |
HEADOPTS=NO was specified with the PARM keyword. |
0C |
xxxx0Cxx |
LIKEHEAD=YES was specified with HEADOPTS=NO. |
0C |
xxxx0Dxx |
STARTNAM is required for all defines except when
HEADOPTS=NO. |
0C |
xxxx0E01 |
STARTNAM is not allowed when both HEADOPTS=NO
and HEAD=YES are specified. |
0C |
xxxx0E02 |
DISPNAM is not allowed when both HEADOPTS=NO and
HEAD=YES are specified. |
0C |
xxxx0Fxx |
SUB cannot be specified in the parmlib member. |
0C |
xxxx10xx |
PRESET(DELETE) cannot be specified in the parmlib
member. |
0C |
xxxx11xx |
The start/stop routine returned a nonzero return
code. |
0C |
xxxx12xx |
A buffer cannot be specified on this invocation
of the CTRACE macro. |
0C |
xxxx13xx |
The buffer size (BUFSIZE) specified in the parmlib
member is not within the limits as defined by BUFMIN and BUFMAX. |
0C |
xxxx14xx |
ASID filtering is not allowed. |
0C |
xxxx15xx |
Jobname filtering is not allowed. |
0C |
xxxx16xx |
The BUFMIN specified is greater than the BUFMAX. |
0C |
xxxx17xx |
The BUFDFLT specified is less than the BUFMIN. |
0C |
xxxx18xx |
The BUFDFLT specified is greater than the BUFMAX. |
0C |
xxxx19xx |
The LOAD or LINK to the specified start/stop routine
failed. |
0C |
xxxx1Axx |
A specified sublevel trace name is not valid.
Either the syntax is not correct, or more than five names were specified. |
0C |
xxxx1Bxx |
A parmlib error was found. |
0C |
xxxx1Cxx |
An ASID is not a valid hexadecimal number. |
0C |
xxxx1Dxx |
The parmlib member, including comments, is too
large. |
0C |
xxxx1Fxx |
The parmlib member cannot be read. |
0C |
xxxx20xx |
The dynamic allocation of a parmlib member failed. |
0C |
xxxx21xx |
An ASID is longer than four characters. |
0C |
xxxx22xx |
An ASID of zero is not valid. |
0C |
xxxx23xx |
More than 16 ASIDs were specified. |
0C |
xxxx24xx |
A jobname is longer than eight characters. |
0C |
xxxx25xx |
More than 16 jobnames were specified. |
0C |
xxxx26xx |
The buffer size specification is longer than five
characters. |
0C |
xxxx27xx |
The buffer size specification does not have K
or M specified as the unit. |
0C |
xxxx28xx |
The buffer size specified is not a valid decimal
number. |
0C |
xxxx29xx |
The options string is longer than 1024 characters. |
0C |
xxxx2Axx |
The parmlib member name did not begin with the
characters 'CT.' |
0C |
xxxx2Bxx |
The DELETE failed because IFNOSUBS was specified
and the trace had sublevel traces. |
0C |
xxxx2Cxx |
The trace does not support using an external writer. |
0C |
xxxx2Dxx |
The name of the external writer is not valid.
A valid name is 1-7 characters in length, starting with an alphabetic
or national character (A-Z, $, @, #) and containing alphanumeric or
national characters (A-Z, 0-9, $, @, #). |
Example
Define application APPXYZ to component trace as a head node, and
allow sublevel traces to be defined with the same options, attributes,
and state as the head node. Use a parmlib member to supply default
options for the trace. The name of the head node's start/stop exit
routine is APPXYZSS. The system is to store the return and reason
codes from the start/stop routine in SSRC and SSRSNC. The system
is to store the return and reason codes from the CTRACE macro in TCRC
and TCRSN. CTRACE DEFINE,NAME=COMPNAM1,STARTNAM=STRTNAM1, X
HEADOPTS=YES,HEAD=YES,ASIDS=NO,JOBS=NO, X
BUFFER=YES,BUFDEFIN=NO,BUFDFLT=5000, X
SSRC=SSRC,SSRSNC=SSRSN,MANYSUBS=YES, X
WTR=YES,WTRMODE=PAGEABLE,PARM=PARM1,MOD=YES, X
RC=TCRC,RSNCODE=TCRSN
COMPNAM1 DC CL8'APPXYZ ' Component name
STRTNAM1 DC CL8'APPXYZSS' Component Start/Stop
* routine name
PARM1 DC CL8'CTAPPXYZ' PARMLIB member name
SSRC DS F Return code from Start/Stop
SSRSN DS F Reason code from Start/Stop
TCRC DS F Return code from CTRACE
TCRSN DS F Reason code from CTRACE
|