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.

Executing a Program Containing Multiple CSECTs (Code Debug CICS PL/I)


  1. Press Clear to return to CICS and run the program.
  2. Type XPLE in the upper left corner of the screen and press Enter to display the Demonstration Transaction screen.
     Demonstration Transaction Screen

    XPLE _____ - 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 NORMALLY
  3. Type 00005 in the field preceding ENTER EMPLOYEE NUMBER and press Enter. The Source Listing screen (2.L) appears as shown in the following figure.

    Important

    The program is stopped before the call to the subroutine.

     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:


  4. 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.....
  5. 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.....

 

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