Executing Program Containing Multiple Csects (Code Debug Cics Cobol) - Documentation for Bmc Ami Devx Code Debug for Cics 17.02

Executing Program Containing Multiple Csects (Code Debug Cics Cobol) - Documentation for Bmc Ami Devx Code Debug for Cics 17.02
  • Press Clear to return to CICS and run the program.
  • Type XCB2 in the upper left corner of the screen and press Enter to display the Demonstration Transaction screen.

    Demonstration Transaction Screen

     XCB2 _____ - ENTER EMPLOYEE NUMBER                                         C123
    
       *** COMPUWARE CORPORATION ***
         DEMONSTRATION TRANSACTION
    
       ENTER DESIRED EMPLOYEE ABOVE:
       00001 - CAUSES ASRA ABEND
       00002 - CAUSES AEIM (AND OTHER ABENDS)
       00003 - CAUSES A WRITE TO TEMPORARY STORAGE
       00004 - STARTS UP XCB2 AS AN ASYNCHRONOUS TASK
       00005 - USED TO SHOW MULTIPLE CSECT SUPPORT
       00333 - CAUSES A STORAGE VIOLATION OF A SAA
       00999 - ENDS NORMALLY
  • Type 00005 in the field preceding ENTER EMPLOYEE NUMBER and press Enter. The Source Listing screen (2.L) appears as shown in following figure.
    Note that the program is stopped before the call to the subroutine.

    Source Listing Screen (2.L)

     ------------------------------ SOURCE LISTING (2.L) ----------------------C024
     COMMAND ===>                                                   SCROLL ===> CSR
     MODULE: CWDEMCB2 CSECT: CWDEMCB2          COMPILED: 28 MAY 2003 - 11.11.29
       LV ----- COBOL DATANAME KEEPS ---- -- ATTRIBUTES -- ----+---10----+---20--->
       01 EMP-RECORD-LIST                 GROUP            00050040
       01 CWCDWRKA                        X(256)           ........................
       **END**
    
    
     ------   ----------------------------------------------- Before CWDEMCB2.523 ->
     000522   ** CALL THE ASSEMBLER SUBROUTINE TO CALCULATE TOTAL PAY.....
     =====> B      CALL 'CWCDSUBA' USING EMP-RECORD-LIST CWCDWRKA.
     000524
     000525   ** SEND SCREEN AND RETURN CONTROL TO CICS.....
     000526        MOVE EMP-NUM-LIST    TO EMPNUMB.
     000527        MOVE 'JOHN SMITH'    TO EMPNAME.
     000528        MOVE EMP-HOURS-LIST  TO HRSWRKD.
     000529        MOVE EMP-RATE-LIST   TO HRLYRAT.
     000530        MOVE EMP-TOTPAY-LIST TO GROSPAY.
     000531        MOVE '*** TRANSACTION COMPLETE ***' TO PAYMSG.
     000532        MOVE WS-SYSID TO PAYSID2.
     000533        EXEC CICS SEND
     000534                  FROM   (PAYMAP2)
     000535                  LENGTH (PAYMAP2-LEN)
  • Press PF9 (GO 1) to follow the logic into CWCDSUBA. The following figure shows the Source Listing screen (2.L) for CWCDSUBA.

    Source Listing Screen (2.L) for CWCDSUBA

     ------------------------------- SOURCE LISTING (2.L) ---------------------C024
     COMMAND ===>                                                   SCROLL ===> CSR
     MODULE: CWDEMCB2    ****** ASM-INST AT OFFSET 1A50 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
  • Type GO 5 1 in the COMMAND field and press Enter. Watch closely while Code Debug CICS “slow steps” through CWCDSUBA (following figure). When five statements 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) --------------------C123
     COMMAND ===>                                                   SCROLL ===> CSR
     MODULE: CWDEMCB2    ****** ASM-INST AT OFFSET 1A50 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
  • Alexander Ross
    Author

    Alexander Ross

    Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.