Information
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.

Viewing Remote Session


Start the demonstration transaction from another terminal.

  1. Log on to the CICS region at another terminal.
  2. Type XCCC on a blank CICS screen and press Enter. The Demonstration Transaction screen is displayed.
  3. Type 00001 and press Enter to cause an ASRA abend. The terminal is suspended.
  4. Return to the original terminal. The Source Listing screen (2.L) (following figure) is displayed showing CWDEMC with a message that a remote abend has been selected.

Reviewing a Remote Task on the Source Listing Screen

-------------------------------- SOURCE LISTING (2.L) ---------------------C024
COMMAND ===>                                                   SCROLL ===> CSR
MODULE: CWDEMC      ********* A REMOTE BREAK/ABEND HAS BEEN SELECTED **********
  LV ----- C VARIABLE KEEPS -------- -- ATTRIBUTES -- ----+---10----+---20--->
     dGrossPay                       decimal          +0
     dHoursWorked                    decimal          ???
     dHourlyRate                     decimal          +525
  **END**

------   ----------------------------- ASRA (DATA EXCEPTION) at CWDEMC.10344 ->
010337   |  /* etc., perform the computations.
 010338   |  /******************************************************************
 010339   |
 010340   |  dHourlyRate = pPayrollParms -> dCurrentPayRate;
 010341   |
 010342   |  dTaxRate    = pPayrollParms -> dCurrentTaxRate;
 010343   |
 =====>   |  dGrossPay   = dHoursWorked * dHourlyRate;
 010345   |
 010346   |  dGrossTax   = dGrossPay * dTaxRate;
 010347   |
 010348   |  memset ( chConvertBuffer, Null, sizeof (chConvertBuffer) );
 010348   +  __memset(chConvertBuffer,'\0',sizeof (chConvertBuffer));
 010349   |

You now have control over the execution of this program. You can set breakpoints, skips, and keeps, view program storage, step through the program, and resume execution at another point. In this demonstration, you fix the data and continue processing.

5. Position the cursor over the ??? in dHoursWorked, type 040, and press Enter.

6. Type =1.6 in the COMMAND field and press Enter. The following figure is displayed. Notice that the second trap entry has a highlighted arrow following the CMD field. This arrow indicates which trap caused the task to be routed to your session.

Trap Indicated on Trap Summary Screen (1.6)

 -------------------------------- TRAP SUMMARY (1.6) ----------------------C024
COMMAND ===>                                                   SCROLL ===> CSR
MODULE:          CSECT:
MODE: TERM   (IP TERM or ALL)     NO IP TRAPS                     ENTRY 000001
LINE COMMANDS:   A (After)   B (Before)   C (Copy)   D (Delete)   I (Insert)
                 M (Move)    S (Save)

 CMD   USERID     NETNAME     TERM     TRAN     PROGRAM   TRAP ABEND
       IF ...................... TRAP CONDITION .......................
 ----------------------------------------------------------------------
  _    ********   ********    A011     ****     ********     YES
       IF
  _ => ********   ********    ****     XCCC     ********     YES
       IF
  _    ********   ********    A999     ****     CWDEM***     YES
       IF INITCOMM(16:4) = T'TEST'
  _    ________   ________    ____     ____     ________     ___
       IF

7. Return to the Source Listing screen (2.L) by typing SOURCE in the COMMAND field and pressing Enter.

8. Press PF12 (GO) to continue processing. The message TASK WAS RESUMED is displayed (following figure), and control is returned to the user terminal (Demonstration Transaction Screen from the User Terminal).

Resuming a Remote Task on the Source Listing Screen (2.L)

-------------------------------- SOURCE LISTING (2.L) ---------------------C024
COMMAND ===>                                                   SCROLL ===> CSR
 MODULE: CWDEMC      ******************** TASK WAS RESUMED *********************
------   --------------------------------------------------------------------->
010337   |  /* etc., perform the computations.
 010338   |  /******************************************************************
 010339   |
 010340   |  dHourlyRate = pPayrollParms -> dCurrentPayRate;
 010341   |
 010342   |  dTaxRate    = pPayrollParms -> dCurrentTaxRate;
 010343   |
 010344   |  dGrossPay   = dHoursWorked * dHourlyRate;
 010345   |
 010346   |  dGrossTax   = dGrossPay * dTaxRate;
 010347   |
 010348   |  memset ( chConvertBuffer, Null, sizeof (chConvertBuffer) );
 010348   +  __memset(chConvertBuffer,'\0',sizeof (chConvertBuffer));
 010349   |
 010350   |  memcpy ( chConvertBuffer,
 010350   +
 010351   |           WsPayrollWorkArea.YearToDatePay,
 010352   |           sizeof (WsPayrollWorkArea.YearToDatePay) );
 010352   +__memcpy(chConvertBuffer,WsPayrollWorkArea.YearToDatePay,sizeof (WsPa
 010352   +);

Demonstration Transaction Screen from the User Terminal

 *** Compuware Corporation ***
 Demonstration Transaction (C)

 Employee Number: 00001
 Employee Name:   Mr. David Abend
 Hours Worked:              40
 Hourly Rate:             5.25
 Gross Pay:             210.00

*** Transaction XCCC complete ***


 

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

BMC AMI DevX Code Debug for CICS 17.02