CICS CEDF trace utility
CONTENTS:
1. Preparing terminal sessions
3. CEDF facility key functions
CEDF is the transaction identifier that is used to start or stop an Execution Diagnostic Facility (EDF). This facility avoids having either CICS trace or CICS dump enabled while running CICS application. CICS passes control to EDF at specific interception points. EDF displays the state of the application program at the interception point, and allows you to interact with EDF screens to both view additional information about the program, and overtype specific areas of the screen to test the execution of the program, before returning control to the application code.
CEDF utility is running in two modes – single and dual:
Single screen mode – CEDF transaction and the application that is being debugged run on the same terminal session and PF6 (PF6 : USER DISPLAY) is used to switch between them.
Dual screen mode – two different terminal sessions are used, one for the CEDF transaction and one for the application (terminal Session C and D) on one physical PC terminal emulation .
1. Preparing terminal sessions in Dual screen mode
Two terminal sessions of CICS20/KBI in LPAR BC2A/92 with (IP=10.212.4.92) should be created as Session C and Session D. The CICS user that has access to CICS20/KBI in LPAR BC2A/92 signs in the two sessions with his CICS ID and PW. The next step is to find the terminal identifiers of Session C and Session D. To find the four-character identifier of the terminal defined in TCT (‘terminal ID’ ) of an autoinstalled terminal, you can run the CEMT INQ TERMINAL (CEMT I TE) transaction, which lists all the terminals that are logged on to the CICS region.
After entering CEMT I TE you will detect terminal ID Ter(0098) of the acquired terminal having Tra(CEMT) for Session C as follows:
Ter(0098) Tra(CEMT) Pri( 000 ) Pag Ins Ati Tti Loc
Net(TCP00098) Acq Tas(0004609) Nqn(BCBNET.TCP00098 )
The same may be done for Session C using CEMT I TASK (CEMT I TA) transaction to detect terminal ID Fac(0098) defined in TCT:
Tas(0004614) Tra(CEMT) Fac(0098) Run Ter Pri( 255 )
Sta(TO) Use(CU330405) Uow(CB190A562FDF0900)
If you repeat the above actions for another prepared terminal Session D on which the transaction sy01 of application CICS/KBI is to be tested and traced, you will find that terminal ID for session D is 0099.
The trace facilty CEDF should be started from the other prepared terminal session (Session C with terminal ID 0098) to trace the application running on terminal Session D with terminal ID 0099.
2. Start CEDF trace facility
First of all the application CICS20/KBI in LPAR BC2A/92 with (IP=10.212.4.92) on Session D with terminal ID 0099 should be started (using transaction sy01). If you want to start tracing the specific sub-function DRDIEH of function DRMENU, from KBI main menu choose 14 :
14. DRMENU – DEALING ROOM FUNCTIONS – and press Enter.
You will receive the following screen on Session D:
1. DRDIEH – DISPLAY EXCHANGE RATE HISTORY
Before to press 1 (to continue with the application logic for EXCHANGE RATE HISTORY), it is necessary to return to Session C with terminal ID 0098 and start an EDF session from Session C to debug the function DRDIEH of CICS20/KBI application that is running on a terminal Session D with a termid of 0099 as follows:
CEDF 0099
You will receive a message on Session C indicating that on termid of 0099 (Session D) is started the trace:
TERMINAL 0099: EDF MODE ON
Now you can return to Session D with terminal ID 0099 and press 1. The Session D will go in system status, because CEDF on Session C has started the trace process waiting on each display confirmation with pressing Enter.
During the trace process the screen status on Session C is changing – before execution (STATUS: ABOUT TO EXECUTE COMMAND) and after execution (STATUS: COMMAND EXECUTION COMPLETE). When command execution complete, some information about the application execution as transaction, terminal ID, sysid and CICS command (start,read,.. etc) is displayed and you are asked to press Enter to continue the trace process according the application logic:
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS START
TRANSID (‘SY04’)
INTERVAL (3000)
TERMID (‘0099’)
SYSID (‘C20A’)
REQID (‘SY010099’)
NOHANDLE
OFFSET:X’00110A’ LINE:00531 EIBFN=X’1008′
RESPONSE: NORMAL EIBRESP=0
ENTER: CONTINUE – press Enter to continue
If you want to see the status before and after reading a record from a KSDS file with a given key and record length, the following information is available:
STATUS: ABOUT TO EXECUTE COMMAND
EXEC CICS READ
FILE (‘CSKSECU ‘)
SET (X’00000000’)
RIDFLD (‘7..CU330099…’)
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS READ
FILE (‘CSKSECU ‘)
SET (X’001406F8′) AT X’10736190′
RIDFLD (‘7..CU330099…’) – If PF2 is pressed you will vew in HEX the last 3 lines and the position in the Work area:
FILE (X’C3E2D2E2C5C3E440′) AT X’0007B8AC’
SET (X’001406F8′) AT X’10736190′
RIDFLD (X’F76600C3E4F3F3F0F0F9F9010000‘) AT X’107366AF‘ – If PF5 is pressed you will see key X’F76600C3E4F3F3F0F0F9F9010000‘ of file CSKSECU in COBOL work area at address 107366AF:
ADDRESS: 107366AF WORKING STORAGE+X’000397′
107366A0 000000 F7 ……………7
107366B0 000001 6600C3E4 F3F3F0F0 F9F90100 00000000 ..CU330099……
Press Enter to return from PF5 and PF2 to character format.
Sometimes on CEDF screens on Session C a ready answer YES is displayed that requires confirmation with Enter to continue the application logic on Session D. When CEDF on Session C is waiting it means that an answer is required on Session D.
When debugging the above function DRDIEH you will find that a very important information is contained in file DRKEXRA and you may investigate the file records and the key contents:
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS READ
FILE (‘DRKEXRA ‘)
INTO (‘..01…r.*…………………………..’)
LENGTH (42)
RIDFLD (‘..01…r.*’) – after PF2 pressed the key of file DRKEXRA is X’6600F0F100011999185C’ as follows:
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS READ
FILE (X’C4D9D2C5E7D9C140′) AT X’0007B8AC’
INTO (X’6600F0F100011999185C000100000018900000000C001910’…) AT X’00140998′
LENGTH (X’002A’) AT X’10736360′
RIDFLD (X’6600F0F100011999185C’) AT X’107037B8‘
If PF5 is pressed the same key will be found in Cobol work area at position 107037B8:
ADDRESS: 107037B8
107037B0 000000 6600F0F1 00011999 ……….01…r
107037C0 000008 185C0000 00000000 00000000 00000000 .*…………..
At any moment PF3 (PF3 : END EDF SESSION) may be pressed in Session C to terminate the trace on Session D with the following message on Session C :
EDF SESSION TERMINATED
3. CEDF facility key functions
The following keys on CEDF Session C may be used:
– If you use the CLEAR key, EDF redisplays the screen and ignores any changes.
– Enter key is used for confirmation as usual.
PF keys explanation (on bottom of the screen):
PF3 : END EDF SESSION – If at any moment PF3 is pressed, the CEDF trace session is terminated.
PF4 : EIB DISPLAY
Displays the value of fields in EIB and COMMAREA (if any).
PF4 : SUPPRESS DISPLAYS
Suppresses all EDF displays until the next stop condition occurs.
PF5 : WORKING STORAGE
Displays the current working storage section of a COBOL user program. The information that corresponds to this section is shown in both hexadecimal and character representations, similar to a dump listing and you can view the COMMAREA storage.
PF5 : DATA AREA
Displays the current data area of a C user program. The information that corresponds to this section is shown in both hexadecimal and character representations, similar to a dump listing and you can view the COMMAREA storage. If the stack frame of the C user program is available, you can use PF9 to switch between the current data area and the current stack frame.
PF5 : STACK FRAME
Displays the current stack frame of a C user program. This is available only from the “About to Execute Command”, “Command Execution Complete”, and “Command Not Executed” screens. You can use PF9 to switch between the current data area and the current stack frame.
PF8 : SCROLL FORWARD HALF
Scrolls a working storage display half a screen forward, displaying higher addresses.
PF7 : SCROLL BACK
Scrolls a command or EIB display backward. A plus sign (+) against the first option or field indicates that more options or fields are preceding.
PF7 : SCROLL BACK HALF
Scrolls a working storage display half a screen backward, displaying lower addresses.
PF9 : DATA AREA
Switches the stack frame display for a C user program to the data area display. You use this in conjunction with PF5.
PF9 : STACK FRAME
Switches the data area display for a C user program to the stack frame display. You use this in conjunction with PF5.
PF9 : STOP CONDITIONS
Switches to a display that allows you to determine the conditions under which CEDF will interrupt the program that is being tested.
PF10: SCROLL BACK FULL
Scrolls a working storage display a full screen backward, displaying lower addresses.
PF11: SCROLL FORWARD
Scrolls a command or EIB display forward. A plus sign (+) against the last option or field indicates that more options or fields are following.
PF11: SCROLL FORWARD FULL
Scrolls a working storage display a full screen forward, displaying higher addresses.
PF12: ABEND USER TASK
Terminates the user task.
End
Incoming search terms:
- cedf cics
- cics cedf
- CEDF
- cedf in cics
Comments
No comments yet, be the first to add one!