Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Symbols

&pagelevel(5)&pagelevel

Symbols are used to access the object being diagnosed (dump file or the active system) or the metadata of the DAMP program. Each symbol has a name beginning with a period, a relative address, a type and a length.

Symbols cannot be named freely, but must

  • be known to DAMP from the symbol file,

  • be created by means of the ARRANGE statement within the PRODAMP procedure or

  • be defined internally, i.e. by the PRODAMP programming language.

The name, relative address, type and length of a symbol are stored in the DAMP symbol files or in the private symbol files assigned by means of ADD-SYMBOLS. The relative address always refers to the beginning of the structure (DSECT) which contains the appropriate symbol. This means that a data structure in the diagnosis object can be accessed via a symbol only if the base address of the structure concerned is specified. This fact is taken into account in the syntax of a symbol.

Examples

.ETCBTFT

“.ETCBTFT” is identified as a symbol by the initial period. The base address does not need to be specified explicitly in this case because the TCB belongs to the structures which DAMP can localize automatically (other such structures are the JCB, UVMT, SVMT and EXVT).

A_FCB.ID1FILE

“A_FCB” is a variable which contains the base address of the structure concerned - in this case, a TU-FCB. “ID1FILE” is a field name in the DSECT “ID1FCB”.

PTR.NKLCB_MDL.COPY_PARAMETER.USER_ALLOCATION.WAIT_FACTOR

This example shows symbols in substructures. These are specified in terms of the nesting structure of the substructure or by calling the standard PRODAMP procedure REFERENCE.
It is only necessary to specify the DSECT (NKLCB_MDL) if the first symbol (COPY_PARAMETER) is not unique among all the DSECTS contained in the symbol file.

The following names are reserved as identifiers in PRODAMP and cannot be used for variables:

ABS-ADDRESSING  ADDRESS         ALET            AND             ARRANGE
ASEL            COMMAND         CPU             CURRENT         DEC_BINARY
DEC_STRING      DMP_#REFRESH    DO              DSECT           DUMP_MEMORY
ELSE            ELSIF           END             ENTER_MODULE    EXTRACT
FALSE           FOLLOW          HEX_BINARY      HEX_STRING      HSA
IF              IN              INFIELDS        INSERT          INTERRUPT
ITN             LAYOUT          LENGTH          LIST            LOCATION
MESSAGE         MOD             NAME            NEW_TASK        NEXT_WINDOW
NOT             NUMBER          NUMERIC         OFF             OFFSET
ON              OPC_TABLE       OR              OUTPUT          PARAMETER
PATTERN         PCB             PCK_BINARY      READ            READ_WINDOW
REAL            REFERENCE       RELATIVE        RETURN          SET_HEADER
SPID            STRING          SVC_TABLE       THEN            TID
TRACE           TRUE            TSN             TYPE            UNDEFINED
UNSIGNED_OFF    UNSIGNED_ON     VIRTUAL         WHILE           WINDOW
WRITE

The following names are reserved as symbol identifiers in conjunction with CURRENT and INFIELDS in PRODAMP. If they are not included in the list above, they can be used as variables, but not as symbol names.

ADDRESS         ALET            ASEL            ASID            ATYPE
COMMAND         CONFIGURATION   CPU             CSMA            DTYPE
DUMPTIME        ERROR           FILENAME        HSA             ITN
LAYOUT          LENGTH          LEVEL           MARK1           MARK2
MARK3           MARK4           MARK5           MARK6           PARAMETER
PCB             PTYPE           RELATIVE        SEGMENT         SPID
STACK           SYMBOL          TIME            TID             TSN
VERSION         WNDNO           WNDTSK

PRODAMP procedures with these names cannot be called as user subroutines.

All identifiers that begin with DMP_ are reserved for future PRODAMP extensions and should therefore not be used in user programs.