The function keys that you can use at any given time are displayed in a menu at the bottom of every EDF display (see Figure 134). The function of the ENTER key for that display is also shown. Functions that apply to all displays are always assigned to the same key, but definitions of some keys depend on the display and the intercept point. To select an option, press the indicated function key. Where a terminal has 24 function keys, EDF treats PF13 through PF24 as duplicates of PF1 through PF12 respectively. If your terminal has no PF keys, place the cursor under the option you want and press the ENTER key.
Abend codes beginning with the character A are reserved for use by CICS®. Using a CICS abend code may cause unpredictable results.
You cannot use this function if an abend is already in progress or the task is terminating.
In some cases, when a second program check occurs in the region before EDF has captured the values of the registers, this function does not appear on the menu of the abend display. If this happens, a second test run generally proves to be more informative.
TRANSACTION: AC20 PROGRAM: DFH0VT1 TASK: 0086 APPLID: 1234567 DISPLAY: 00 DISPLAY ON CONDITION:- COMMAND: EXEC CICS OFFSET: X'......' LINE NUMBER: CICS EXCEPTION CONDITION: ERROR ANY CICS CONDITION NO TRANSACTION ABEND YES NORMAL TASK TERMINATION YES ABNORMAL TASK TERMINATION YES DLI ERROR STATUS: ANY DLI ERROR STATUS ENTER: CURRENT DISPLAY PF1 : UNDEFINED PF2 : UNDEFINED PF3 : UNDEFINED PF4 : SUPPRESS DISPLAYS PF5 : WORKING STORAGE PF6 : USER DISPLAY PF7 : UNDEFINED PF8 : UNDEFINED PF9 : UNDEFINED PF10: UNDEFINED PF11: UNDEFINED PF12: REMEMBER DISPLAY
You can specify any or all of these events as STOP CONDITIONS:
If this field is changed to YES, EDF overrides the CICS exception conditions and redisplays a screen whenever any command results in a non-zero EIBRESP value such as NOTOPEN, EOF, or QBUSY.
You do not always have to set STOP CONDITIONS in order to use the SUPPRESS DISPLAYS function, because EDF sets a default in the following fields on the assumption that you usually want to resume displays if any of them occurs:
These are the options described in Figure 147. You can turn off any of the defaults that do not apply when you bring up the STOP CONDITIONS menu, as well as adding conditions specific to your program.
When you use an offset for STOP CONDITIONS, you must specify the offset of the BALR instruction corresponding to a command. The offset can be determined from the code listing produced by the compiler or assembler. In COBOL, C, C++, or PL/I, you must use the compiler option that produces the assembler listing to determine the relevant BALR instruction.
When you use a line number, you must specify it exactly as it appears on the listing, including leading zeros, and it must be the line on which a command starts. If you have used the NUM or the SEQUENCE translator options, the translator uses your line numbers as they appear in the source. Otherwise, the translator assigns line numbers.
Line numbers can be found in the translator listing (SYSPRINT in the translator step) if you have used either the SOURCE or VBREF translator options. If you have used the DEBUG translator option, as you must to use line numbers for STOP CONDITIONS, the line number also appears in your compilation (assembly) listing, embedded in the translated form of the command, as a parameter in the CALL statement.
You can tell EDF to stop suppressing displays at DL/I commands as well as at CICS commands. You do this by overtyping the qualifier "CICS" on the command line with "DLI" and entering the type of DL/I command at which you want suppression to stop. You must be executing a DL/I program or have executed one earlier in the same task. You can suppress DL/I commands as early as the program initiation panel.
You can also stop suppression when a particular DL/I status code occurs. For information about the status codes that you can use, see the list of codes in the DL/I interface block (DIB) in the Application Programming: EXEC DLI Commands manual.
In DL/I command displays which contain the WHERE option, only the key values (the expressions following each comparison operator) can be converted to hexadecimal.
TRANSACTION: AC20 PROGRAM: DFH0VT1 TASK: 00030 APPLID: 1234567 DISPLAY:00 ADDRESS: 035493F0 WORKING STORAGE 035493F0 000000 E3F14040 00000000 00010000 00000000 T1 ........... 03549400 000010 00000000 00000000 F1000000 00000000 ........1....... 03549410 000020 F0000000 00000000 F0000000 00000000 0.......0....... 03549420 000030 F0000000 00000000 F0000000 00000000 0.......0....... 03549430 000040 00000000 00000000 00000000 00000000 ................ 03549440 000050 D7C1D5D3 00000000 D9C5C3C4 00000000 PANL....RECD.... 03549450 000060 D3C9E2E3 00000000 C8C5D3D7 00000000 LIST....HELP.... 03549460 000070 84000000 00000000 A4000000 00000000 d.......u....... 03549470 000080 82000000 00000000 C4000000 00000000 b.......D....... 03549480 000090 E4000000 00000000 C2000000 00000000 U.......B....... 03549490 0000A0 D5000000 00000000 E2000000 00000000 N.......S....... 035494A0 0000B0 7B000000 00000000 6C000000 00000000 #.......%....... 035494B0 0000C0 4A000000 00000000 F1000000 00000000 ¢.......1....... 035494C0 0000D0 F2000000 00000000 F3000000 00000000 2.......3....... ENTER: CURRENT DISPLAY PF1 : UNDEFINED PF2 : BROWSE TEMP STORAGE PF3 : UNDEFINED PF4 : EIB DISPLAY PF5 : INVOKE CECI PF6 : USER DISPLAY PF7 : SCROLL BACK HALF PF8 : SCROLL FORWARD HALF PF9 : UNDEFINED PF10: SCROLL BACK FULL PF11: SCROLL FORWARD FULL PF12: REMEMBER DISPLAY
The working-storage contents are displayed in a form similar to that of a dump listing, that is, in both hexadecimal and character representation. The address of working storage is displayed at the top of the screen. You can browse through the entire area using the scroll commands, or you can simply enter a new address at the top of the screen. This address can be anywhere within the CICS region. The working-storage display provides two additional scrolling keys, and a key to display the EIB (the DIB if the command is a DL/I command).
The meaning of "working storage" depends on the programming language of the application program, as follows:
Assembler language programs do not always acquire working storage; it may not be necessary, for example, if the program does not issue CICS commands. You may get the message "Register 13 does not address DFHEISTG" when you LINK to such a program. The message does not necessarily mean an error, but there is no working storage to look at.
Except for COBOL programs, working storage starts with a standard format save area; that is, registers 14 to 12 begin at offset 12 and register 13 is stored at offset 4.
Working storage can be changed at the screen; either the hexadecimal section or the character section can be used. Also, the ADDRESS field at the head of the display can be overtyped with a hexadecimal address; storage starting at that address is then displayed when ENTER is pressed. This allows any location in the address space to be examined. Further information on the use of overtyping is given in Overtyping to make changes.
If the program storage examined is not part of the working storage of the program currently executing (which is unique to the particular transaction under test), the corresponding field on the screen is protected to prevent the user from overwriting storage that might belong to or affect another task.
If the initial part of a working-storage display line is blank, the blank portion is not part of working storage. This can occur because the display is doubleword aligned.
At the beginning and end of a task, working storage is not available. In these circumstances, EDF generates a blank storage display so that the user can still examine any storage area in the region by overtyping the address field.
Note that if you terminate a PL/I or Language Environment® program with an ordinary non-CICS return, EDF does not intercept the return, and you are not able to see working storage. If you use a RETURN command instead, you get an EDF display before execution and at program termination.
If you are using a Language Environment-enabled program, working storage is freed at program termination if the program is terminated using a non-CICS return. In this case, working storage is not available for display.
[[ Contents Previous Page | Next Page Index ]]