Define User Labels (1.9)
Related topics
Use the Define User Labels screen (1.9) to define, change, and delete labels that identify a storage location or numeric value. Use labels on the Memory Display screen (2.2), and for the following:
- Conditional breakpoints.
- UNTIL operand of the GO primary command. See GO.
- CALC command.
System labels differ from user labels. See Define-System-Labels-9-9. System labels can be used by any Code Debug CICS user, while user labels are reserved for the user who established them.
Access this screen by typing the number 9 on the Session Control Menu, or as described in Transferring Between Screens.
The following figure is an example of the Define User Labels screen.
Define User Labels Screen (1.9)
COMMAND ===> SCROLL ===> CSR
MODULE: CWDEMCB2 CSECT: CWDEMCB2 COMPILED: 09 JUN 2005 - 11.23.01
DEFAULT BASE LABELS: CSA DCT EIS FCT MOD OFL PGM TCA TCT
ADDR PADDR PLEN R0..R15 INITCOMM MQMD MQDATA
USER BASE ENTRY OR + OR - USE RESULTING
DEL LABEL LABEL PGM-NAME OFFSET CONTENT LENGTH VALUE
------------------------------------------------------------------------------
_ ________ ________ ________ _________ _ ________
_ ________ ________ ________ _________ _ ________
_ ________ ________ ________ _________ _ ________
Usually, users cannot define absolute storage addresses of CICS or transaction control blocks before startup. Most of those locations can vary depending on the region started or the number of transactions executing. Default base labels and user labels act as building blocks, allowing you to equate labels to relative locations.
A user label can build upon any other user, system, or default base label. For example, when using the CSA default base label, you can locate and label many CICS or transaction storage location.
Default Base Labels
Default base Code Debug CICS labels are:
ADDR
The offset field represents a storage address.
CSA
Common system area.
DCT
Destination control table that allows an entry name in the ENTRY field. If no name is provided, the table’s first entry is used.
EIS
Execute interface storage.
FCT
File control table that allows an entry name in the ENTRY field. If no name is provided, the table’s first entry is used.
INITCOMM
Transaction’s initial COMMAREA only. When INITCOMM is specified, the USE CONTENT field cannot be set to Y.
MOD
References a pre-defined module name defined in the program resources.
MQMD
MQ message descriptor that was most recently read. When MQMD is specified, the USE CONTENT field cannot be set to Y.
MQDATA
MQ message data that was most recently read. When MQDATA is specified, the USE CONTENT field cannot be set to Y.
OFL
CICS optional features list.
PADDR
Enter a program name in the ENTRY field. The value associated with PADDR will be the program’s beginning address.
PGM
Requires a program name, defined as a program resource, in the ENTRY field.
PLEN
Enter a program name in the ENTRY field. The value associated with the PLEN will be the program’s length.
R0. . . R15
Current value of registers 0 through 15.
TCA
User TCA area, which is the area defined by DFHUSTCA.
TCT
Terminal control table that allows an entry name in the ENTRY field. If no name is provided, the table’s address is used.
Input Fields
DEL
Type a D (Delete) line command to delete a user label entry. When the Code Debug CICS session ends, user labels defined during the session are automatically deleted.
USER LABEL
Your identifier that identifies a storage location. The label must begin with an alphabetic character.
BASE LABEL
Valid user label defined on an earlier entry or a default base label. A user label used as a base for another label cannot be deleted until all references to it are deleted.
ENTRY OR PGM-NAME
Valid program name if the BASE LABEL is PGM, PADDR, PLEN, or a valid entry for the table named in the BASE LABEL field.
+ OR - OFFSET
Hexadecimal number or an existing user or system label preceded by a plus (+) or minus (-) sign. If no sign is entered, the offset is assumed to be positive. If an existing user label is used, that label cannot be deleted until it is no longer being used as an offset.
USE CONTENT
Valid entries are N, Y, or a number from 1 to 4.
- N: Resolution of the BASE LABEL plus the value of the offset is the value for the new user label.
- Y or 4: Four bytes at the location described by BASE LABEL and OFFSET are used as the resolution for the new user label.
- 1, 2, or 3: The 1, 2, or 3 bytes at that location are used as the new value for the new user label.
LENGTH
Actual length for the user label in the range of 1 to 99999999. The following formats are available for input:
- nnnnnnnn: A decimal number ranging from 0 to 99999999.
- Xnnnnnnn: A hexadecimal number ranging from 0 to FFFFFFF.
- X'nnnnnn: A hexadecimal number ranging from 0 to FFFFFF.
- X'nnnnn': A hexadecimal number ranging from 0 to FFFFF.
- X"nnnnnn: A hexadecimal number ranging from 0 to FFFFFF.
- X"nnnnn": A hexadecimal number ranging from 0 to FFFFF.
Example
The user has an Assembler program that refers to a field at offset X'16' from register 7. They set a conditional breakpoint at +1AEE to be taken if the halfword value of this field is x'0038'. The user defines a user label MYFIELD as base label R7, offset +16, use-content N, length 2. This label can be used with the AFTER command as follows:
Labels defined on the Define User Labels screen (1.9) can be used immediately.
Output Fields
RESULTING VALUE
The current resolution is displayed in this field to help identify incorrect entries. All addresses and lengths are resolved at the time they are used. The actual address can be different at execution time. If the address cannot yet be resolved, zero is displayed.