Space announcement This documentation space provides the same content as before, but the organization of the content has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.

Define User Labels (1.9)


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)

------------------------------ DEFINE USER LABELS (1.9) --------------------C024
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:

AFTER +1AEE IF MYFIELD = X’0038’

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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*