Use this system macro to identify main storage areas for inclusion in a
dump for a particular system error or range of system errors. These
areas are in addition to those specified in the SLIST parameter of the SERRC
macro. The areas are identified by means of a bitmap.
Each IDOTB macro call generates an entry in a portion of the dump override
table called the static override bitmap table (SOBT). The dump
overrides are defined by means of a bitmap. There are two sets of IDOTB
macro calls in the TPF system:
- The CIDP copy member of the CCCPSE CSECT contains the dump overrides for
IBM system errors
- The CUDP copy member of the CCUEXT CSECT contains the dump overrides for
user system errors.
See TPF General Macros for more information about
the SERRC macro.
Format
- PREFIX
- This parameter is required. Specify one of the following:
- letter
- An uppercase alphabetic character, coded on the SERRC macro, that is
concatenated with the system error number in the console message and in the
dump. The letters I and W through Z are reserved for IBM use.
- NONE
- The designated override will take effect only if no prefix appears in the
SERRC macro expansion; that is, the SERRC macro call resulted from a C
language perror or exit function call.
- SENUM=senum | (senum1-senum2) | MD
- The six-digit system error number used to identify the dump. The
values specified may be coded two ways:
- A symbolic system error equate; for example, CA9T51.
- A self-defining hexadecimal value; for example,
X'123456'.
Use MD to define the overrides for a manual dump. If this parameter
is coded, the override will only take effect if the system error number for
the error matches the value specified, or falls within the range
senum1-senum2.
- Note:
- No check is made to ensure that senum2 is greater than senum1.
- PGMS=(pgm1 [,...,pgmn])
- One or more ECB-controlled program names to be associated with this
override. If this parameter is coded, the override will only take
effect if the system error was issued by one or more ECB-controlled programs
specified.
Each program name must consist of a four-character segment name and a
2-character version code. A version code of ** will cause the override
to be in effect for all program versions.
Notes:
- Due to a limitation of the macro language, only 255 characters may be
input per macro call. If more program names are required, code multiple
IDOTB macros.
- Overrides having an exact match on the failing program version code will
take priority over those coded with **.
- INCLUDE=(key1
[,...,keyn])
- The selective memory dump table (SMDT) values that identify the areas of
main storage to be included. See IDATB-Build Selective Memory Dump Table for a list of valid values. This parameter is
required.
Because of macro language limitations, only 255 characters may be
coded. If you want more characters, use the INCLUD2 parameter.
- INCLUD2=(key1
[,...,keyn])
- This handles the overflow from the INCLUDE parameter. See the
INCLUDE parameter for more information.
- COPIES
- A single copy or multiple copies of a storage area can be specified, when
there are multiple copies for each I-steam or MDBF subsystem.
- ONE
- Only the copy for the subsystem or I-stream where the error occurred will
appear in the dump.
- ALL
- All copies of the storage area will appear in the dump.
The default is COPIES=ONE.
- Note:
- This parameter also applies to storage areas defined using more than one pair
of start/end addresses on the IDATG macro.
- DSECT=YES
- This form of the macro is used to generate DSECTs and equates describing
the SOBT data structure. It is intended for CP use only.
- BUILD
- This parameter must be coded by itself and is used to identify the end of
the set of IDOTB macro calls. It causes the previous calls to be
validated, and if no errors are detected, the static override table will be
built.
Entry Requirements
None.
Return Conditions
None.
Programming Considerations
- See IDATB-Build Selective Memory Dump Table for more information about valid parameters.
- The following priority sequence determines which overrides apply to an
error (from highest to lowest):
- An override specifies a system error number and a program name
list.
- An override specifies a range of system error numbers and a program name
list.
- An override specifies a system error number.
- An override specifies a range of system error numbers.
- An override specifies a program name list, but no system error
numbers.
- An override specifies neither a program name list nor system error
numbers. (for example, the prefix character only).
Examples
The operands on multiple IDOTB calls may overlap. When this occurs,
system error processing will determine which override to use based on an
established priority. Consider the following:
- IDOTB PREFIX=Q,INCLUDE=(I-MFST)
Include the MFST in the dump for all system errors having a prefix of
Q.
- IDOTB PREFIX=Q,PGMS=(CVFE**,CNPU**),INCLUDE=(I-GAT)
Include the GAT (and not the MFST) if the system error has a prefix of Q
and the SERRC was issued by programs CVFE or CNPU.
- IDOTB
PREFIX=Q,SENUM=(X'101'-X'1FF'),INCLUDE=(I-MPIF,I-LSWB)
Include the MPIF control tables and SWBs (and not the GAT or MFST) if the
system error number has a prefix of Q and the system error number falls within
the range shown.
- IDOTB PREFIX=Q,SENUM=X'1F0',INCLUDE=(I-CIOLDV)
Include the CIO LDEV blocks (and none of the previous areas) if the system
error has a prefix of Q and the system error number is X'1F0'.
- Note:
- This falls in the range X'101' through X'1FF' specified on
the previous IDOTB call.
- IDOTB
PREFIX=Q,SENUM=X'1F0',PGMS=(CYEA**,CYEM**),INCLUDE=(I-LIOCB)
Include the IOCBs (and none of the previous areas) if the system error has
a prefix of Q, the system error number equals X'1F0', and the SERRC
was issued by program CYEA or CYEM.
In these situations system error processing will identify all of the
overrides that may apply to the error. Then an override is selected
using the priority scheme discussed previously.
- When the same priority level is defined by two or more applicable
overrides, system error processing will use the first override found in the
table.
XYZ IDOTB BUILD construct the SOBT
XYZ IDOTB DSECT=YES generate the SOBT DSECTs