Rational Developer for System z, Version 7.6

Appendix F. Displaying and modifying CICS storage with DTST

The DTST transaction enables you to display, scan, and modify CICS® storage. It is a BMS transaction and runs on a 3270 terminal.

Starting DTST

This topic describes the methods of starting DTST and gives examples.

Before you begin, if you need to modify storage, verify with your system programmer that you have the authority to modify CICS key storage, USER key storage, or both. "Authorizing DTST transaction to modify storage" in Debug Tool Customization Guide describes the steps the system programmer must do to authorize you to modify CICS key storage, USER key storage, or both.

You can start the DTST transaction with or without specifying a base address. A base address can be any of the following items:

You can also specify that DTST take a specific action when it starts. You specify an action with one of the following characters:

Syntax of the DTST transaction describes all the parameters.

Examples of starting DTST

The following examples illustrate how to enter the DTST command with parameters.

Example: Starting DTST and specifying a literal hexadecimal number

To display storage at address 45CB00, enter the command DTST 45CB00.

The base address is 45CB00.

Example: Starting DTST and specifying a program name

To display program storage for program MYPROG, enter the command DTST P=MYPROG.

The base address is the address of the program in storage.

Example: Starting DTST and specifying an offset
To display storage at an negative offset of D0 bytes from address 45CB00, enter the command DTST 45CB00 - D0.

The result of the calculation (45CB00-D0) is the base address. In this example, the base address is 45CA30.

To display program storage at an positive offset of 28 bytes from the starting address of program MYPROG, enter the command DTST P=MYPROG+28.

If the starting address of program MYPROG is 8492A000, then the result of the calculation (8492A000+28) is the base address (8492A028).

If full words generate protection exceptions (for example, in fetch-protected storage), DTST displays question marks in the Storage Key field.

Example: Starting DTST with indirect addressing

To display storage by indirection, use an asterisk (*) to indicate 31-bit addressing or an at sign (@) to indicate 24-bit addressing. DTST uses the full word at that address as the base address.

If you want to use the full word at address 45CB00 as the base address, enter the command DTST 45CB00*.

You can combine multiple offset or levels of indirection. For example, if you enter the command DTST 45CB00 + b* + 14** + 14*, DTST calculates the base address in the following order:

  1. Beginning with 45CB00, add B0. The result is 45CBB0.
  2. Go to location 45CBB0 to obtain the address at that location. For this example, assume that the address is 29AD00.
  3. Add 14 to 29AD00. The result is 29AD14.
  4. Go to location 29AD14 to obtain the address at that location. For this example, assume that the address is 1838AD.
  5. Go to location 1838AD to obtain the address at that location. For this example, assume that the address is 251936.
  6. Add 14 to 251936 to get the result 25194A.
  7. Go to location 25194A to obtain the address at that location. For this example, assume that the address is 3920AD. DTST opens the memory window and display the contents of storage beginning at 3920AD.
Example: Starting DTST with the BASE keyword
The BASE keyword can make it easier to write long command lines. The BASE keyword is assigned the value of the base address of the previous DTST command. For example, if you enter the command DTST 45CB00+10*, BASE is assigned the value of the result of 45CB00+10*. If you want to use the value of 45CB00+10* in a subsequent command, use the BASE keyword. For example, DTST BASE+20*.
Example: Starting DTST with a scan request
You can specify data that you are looking for by adding a scan request to the DTST command. For example, to find the data ‘WORKAREA’ starting at base address 45CB00, enter the command DTST 45CB00,S='WORKAREA'. The scan starts at the base address and continues for 4K bytes. To find the data ‘WORKAREA’ starting at base address 45CB00 at the beginning of every double word, enter the command DTST 45CB00,S8='WORKAREA'. You can specify that the scan be done in a negative direction, which means that addresses are decreasing in value.
Example: Starting DTST with a page number request
You can specify a page you want displayed by adding a page request to the DTST command. For example, to display storage that is 5 pages from the base address 45CB00, enter the command DTST 45CB00,P=5. This is equivalent to entering the command DTST 45CB00, then pressing the page down keys five times. If you enter the command DTST 45CB00,P=-5, it is equivalent to entering the command DTST 45CB00, then pressing the page up keys five times.

Modifying storage through the DTST storage window

After you start the DTST transaction, the storage window is displayed. You can modify the contents of storage being displayed in the storage window.

Before you begin, verify with your system programmer that you have the authority to modify CICS key storage, USER key storage, or both. "Authorizing DTST transaction to modify storage" in Debug Tool Customization Guide describes the steps the system programmer must do to authorize you to modify CICS key storage, USER key storage, or both.

After you verify that the previous DTST command ran successfully, you can do the following steps to modify storage.

  1. Press PF9 to enter modify mode. The command line becomes protected, and columns four through seven become unprotected.
  2. Move your cursor to data you want to modify and type in the new data. You can modify several different locations at the same time.
  3. Press Enter. DTST verifies that the data you entered is valid. DTST makes all modifications that contain valid data. If any word contains invalid data, the line contains that word is highlighted. You can correct the invalid data, then press Enter to verify the change.
  4. Press any function key to end modify mode. However, you can not press any of the following keys:

There are several ways to navigate through the DTST storage window.

After you enter the DTST command, do the following steps:

  1. Choose one of the following methods to navigate through the window:
  2. To close the DTST storage window, press the PF3 key.

DTST storage window

The DTST storage window is the interface you use to display and modify storage.

+----------------------------------------------------------------------------+
| Command  : DTST 00100000                                                   |
| Response : Normal                                                          |
| Page     : HOME     Storage Key : USER                                     |
+----------------------------------------------------------------------------+
| 00100000  0000 00 | C4A3D983 826E6E6E A7E10888 A0050004 | DtRcb>>>x..h.... |
| 001 1 10  0 2   3 | 001 4 12 000 5 00 000 6 00 000 7 00 | ....... 8 ...... |
| 00100020  0020 02 | A7E09170 8009D150 A7E152D8 00000000 | x.j...J.x..Q.... |
| 00100030  0030 03 | 00000001 000C5258 00000000 00000000 | ................ |
| 00100040  0040 04 | A6BF6098 800A4968 800B01DB 00000000 | w.-q.......Q.... |
| 00100050  0050 05 | 00000000 00000000 800B30CB 80140C10 | ...........H.... |
| 00100060  0060 06 | 8074B6A0 80155CA8 80160818 801683C0 | ......*y......c{ |
| 00100070  0070 07 | A6BFD338 00000000 A6BFD190 00000000 | w.L.....w.J..... |
| 00100080  0080 08 | 00000000 00000000 00000000 00000000 | ................ |
| 00100090  0090 09 | 00000000 00000000 00000000 00000000 | ................ |
| 001000A0  00A0 10 | 00000000 00000000 00000000 00000000 | ................ |
| 001000B0  00B0 11 | 00000000 00000000 00000000 00000000 | ................ |
| 001000C0  00C0 12 | 00000000 00000000 00000000 00000000 | ................ |
| 001000D0  00D0 13 | 00000000 00000000 00000000 00000000 | ................ |
| 001000E0  00E0 14 | 00000000 00000000 00000000 00000000 | ................ |
| 001000F0  00F0 15 | 00000000 00000000 00000000 00000000 | ................ |
+----------------------------------------------------------------------------+
|  1=Hlp  2=Retrv  3=End  5=RepeatScan  7=Up  8=Down  9=Modfy  ENTER=ReCalc  |
+----------------------------------------------------------------------------+

The following list describes all the parts of the interface.

Command
The most recent command you entered.
Response
The result of the most recent command you entered. If the command was successful, the word Normal is displayed in this field. If the command was unsuccessful, a message indicating the type of error that occurred in the previous command is displayed.
Storage Key
Displays one of the following values:
CICS
Indicates that the CICS[hyphen]key storage is displayed.
USER
Indicates that the USER[hyphen]key storage is displayed.
KEYn
Indicates that Key n storage is displayed.
????
Indicates that the key is not recognized.
!!!!
Indicates that the key was not obtained.
Column  1 
Displays the address of storage. The addresses are organized on a word boundary. If you enter an address that is not on a word boundary, the bytes preceding the address, up to the beginning of the word, are padded with blanks.
Column  2 
Displays the offset of the address in column 1 from the base address. The offset is displayed in hexadecimal.
Column  3 
Displays the line number (0 to 15) in the window. The line number is displayed in decimal.
Columns  4  through  7 
Displays the contents of storage in hexadecimal. Each column represents four bytes.
Column  8 
Displays the contents of storage contents in EBCDIC.

Some of the following PF keys work only if the previous operation was successful. If the previous operation was successful, the word Normal is displayed in the Response field.

PF1 (Help)
Displays the help screen. The help screens display command syntax with examples and lists all keywords.
PF2 (Retrieve)
Retrieves the previous command from the command history. DTST stores up to 10 commands in the command history, discarding the older commands to save newer commands.
PF3 (Exit)
Clears the screen and ends the transaction.
PF5 (RepeatScan)
Repeats the scan operation.
PF7 (Up)
Moves one page (256 bytes) back in storage. The base address is not recalculated.
PF8 (Down)
Moves one page (256 bytes) forward in storage. The base address is not recalculated.
PF9 (Modify)
Starts modify mode.
Enter
DTST does one of the following tasks:

Navigation keys for help screens

DTST provides a number of online help screens. You can access these screens by pressing PF1 on the main screen (when you are not in modify mode), which displays the main help index. You can navigate through the help screens by using the PF keys described in this topic.

PF3
Close the help screen and return to the DTST storage window.
PF7
Display the previous screen.
PF8
Display the next screen.
PF10
Display the main help index.
PF11
Display the last help screen.

Syntax of the DTST transaction

The DTST transaction displays storage in a memory window. You can navigate through the storage area and modify storage.

Syntax diagram for the DTST transaction

The following list describes the parameters:

address
A one to eight character hexadecimal value.
BASE
The value of the base address of the previously entered DTST command, which ran successfully.
displacement
A one to eight character hexadecimal value.
modifier
Indicates the direction in which to conduct the action. The default is forward, which means an increasing value. For the backward direction, use the negative sign (-).
P
Indicates that you are specifying the name of a program and you want the starting address of that program to be used as the base address.
program_name
Name of a program.
request_letter
Indicates the action you want DTST to take. The request_letter can be one of the following characters:
P
Indicates that you want DTST to page up or down.
S
Indicates that you want DTST to search through storage and stop when it finds the target. The S request has the following syntax:
Syntax diagram for the DTST transaction
value
Hexadecimal or decimal value or a string enclosed in quotation marks (") or apostrophes ('). It is used to indicate the number of pages you want DTST to scroll or the target of a search.

Examples

To indicate that you want to display the fifth page (or screen) of memory after the address x'01000000', enter the command DTST 01000000,P=5. This is equivalent to entering DTST 01000000, then pressing PF8 five times.

To indicate that you want to find x'00404040' starting at address x'01000000', enter the command DTST 01000000,S=00404040.


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)