Executing a Program Containing Multiple CSECTs (Code Debug CICS PL/I)
Related topics
- Press Clear to return to CICS and run the program.
Type XPLE in the upper left corner of the screen and press Enter to display the Demonstration Transaction screen.
Demonstration Transaction ScreenXPLE _____ - ENTER EMPLOYEE NUMBER C123
*** COMPUWARE CORPORATION ***
DEMONSTRATION TRANSACTION (PL/1)
ENTER DESIRED EMPLOYEE ABOVE:
00001 - CAUSES ASRA ABEND (DATA EXCEPTION)
00002 - CAUSES AEIM (DSIDERROR)
00003 - CAUSES A WRITE TO TEMPORARY STORAGE
00004 - STARTS UP XPLE AS AN ASYNCHRONOUS TASK
00005 - USED TO SHOW MULTIPLE CSECT SUPPORT
00333 - CAUSES A STORAGE VIOLATION OF A SAA
00999 - ENDS NORMALLYType 00005 in the field preceding ENTER EMPLOYEE NUMBER and press Enter. The Source Listing screen (2.L) appears as shown in the following figure.
Source Listing Screen (2.L) Showing a Breakpoint Before the Subroutine
------------------------------- SOURCE LISTING (2.L) ----------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CWDEMPE CSECT: CWDEMPE COMPILED: 09 JUN 2005 - 11:23:48
LV ----- PL/I VARIABLE KEEPS ----- -- ATTRIBUTES -- ----+---10----+---20--->
01 EMP_RECORD_LIST GROUP 00050040000000000000
CWCDWRKA CHAR(256) ........................
**END**
------ ----------------------------------------------- Before CWDEMPE.1012 ->
001011
=====> B CALL CWCDSUBA(EMP_RECORD_LIST,CWCDWRKA) ;
001013
001014 /* SEND SCREEN AND RETURN CONTROL TO CICS...*/
001015
001016 EMPNUMB = EMP_NUM_LIST ;
001017 EMPNAME = 'JOHN SMITH' ;
001018 HRSWRKD = EMP_HOURS_LIST ;
001019 HRLYRAT = EMP_RATE_LIST ;
001020 GROSPAY = EMP_TOTPAY_LIST ;
001021
001022 GOTO SEND_PAYMAP2 ;
001023
001024 L1000_PROCESS_00333_SELECTION:Press PF9 (GO 1) to follow the logic into CWCDSUBA. The Source Listing screen (2.L) is displayed for CWCDSUBA.
Source Listing Screen (2.L) for CWCDSUBA----------------------------------- SOURCE LISTING (2.L) ------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CWDEMPE ****** ASM-INST AT OFFSET 3C84 EXECUTED STEP=00001 *******
-------- DATA LABEL KEEPS -------- -- ATTRIBUTES -- ----+---10----+---20--->
------ ------------------------------------------------ Before CWCDSUBA.18 ->
000015 CWCDSUBA AMODE ANY
000016 CWCDSUBA RMODE ANY
000017 * STANDARD HOUSEKEEPING AND LINKAGE CONVENTIONS...
=====> STM R14,R12,12(R13) SAVE CALLING PGM'S REGISTERS.
000019 LR R12,R15 ESTABLISH ADDRESSABILITY.
000020 USING CWCDSUBA,R12 REG 12 IS THE BASE REG.
000021 L R4,4(,R1) A(WORK AREA)
000022 USING CWCDWRK,R4
000023 XC 0(WRKLEN,R4),0(R4) CLEAR WORKAREA
000024 ST R13,SAVEAREA+4 SAVE CALLERS SAVEAREA ADDRESS
000025 LA R15,SAVEAREA GET ADDRESS OF THIS PGMS SAVEARE
000026 ST R15,8(R13) SAVE IT HERE
000027 LR R13,R15 R13 = THIS PGMS SAVEAREA
000028 * START PAYROLL PROCESSING.....Type GO 5 1 in the COMMAND field and press Enter. Watch closely while Code Debug CICS “slow steps” through CWCDSUBA. When five steps have executed, Code Debug CICS displays the message
****** ASM-INST AT OFFSET 0010 EXECUTED STEP=00005 *******
Executing GO 5 1 on the Source Listing Screen (2.L)-------------------------------- SOURCE LISTING (2.L) --------------------C024
COMMAND ===> SCROLL ===> CSR
MODULE: CWDEMPE ****** ASM-INST AT OFFSET 0010 EXECUTED STEP=00005 *******
-------- DATA LABEL KEEPS -------- -- ATTRIBUTES -- ----+---10----+---20--->
SAVEAREA 18F 'X 00000000
REPEATS(18) 1
**END**
------ ------------------------------------------------ Before CWCDSUBA.25 ->
000015 CWCDSUBA AMODE ANY
000016 CWCDSUBA RMODE ANY
000017 * STANDARD HOUSEKEEPING AND LINKAGE CONVENTIONS...
000018 STM R14,R12,12(R13) SAVE CALLING PGM'S REGISTERS.
000019 LR R12,R15 ESTABLISH ADDRESSABILITY.
000020 USING CWCDSUBA,R12 REG 12 IS THE BASE REG.
000021 L R4,4(,R1) A(WORK AREA)
000022 USING CWCDWRK,R4
000023 XC 0(WRKLEN,R4),0(R4) CLEAR WORKAREA
000024 ST R13,SAVEAREA+4 SAVE CALLERS SAVEAREA ADDRESS
=====> LA R15,SAVEAREA GET ADDRESS OF THIS PGMS SAVEARE
000026 ST R15,8(R13) SAVE IT HERE
000027 LR R13,R15 R13 = THIS PGMS SAVEAREA
000028 * START PAYROLL PROCESSING.....