Abend handler

The Server Option for CICS provides a generic abend handling module, SYOSABND, which can be found in the Server Option LOADLIB. To use the newly supplied abend handler module, do the following:

The following is a COBOL excerpt from a user RPC routine that calls the new CICS abend handling module, SYOSABND.

WORKING-STORAGE SECTION.
*Pointer field for TWA
01 WS-TWAPTR   POINTER.

*field to store the TWA length****
01 WS-TWASIZE   PIC 9(4) COMP.

LINKAGE SECTION.
*Area to store a pointer to the OSC TDSPROC and the Indicator.
*The TDS PROC is usually named "GWL-PROC" and is the first
*parameter in the OSC call such as TDACCEPT.
01 LK-TWAREA.
  05 LK-GWLPROCPTR   POINTER.
  05 LK-SWITCH   PIC X(1).

PROCEDURE DIVISION.
  EXEC CICS
  ASSIGN TWALENG(WS-TWASIZE) NOHANDLE
  END-EXEC.
*Make sure the TWA is large enough, has to be at least 5 bytes. If not,
*we have a problem.
  IF WS-TWASIZE NOT EQUAL 5
    THEN GO TO RETURN1.

  EXEC CICS
    ADDRESS TWA(WS-TWAPTR)
  END-EXEC.
*Make sure the WS-TWAPTR contains a valid address. If not, we have a
*problem.
  IF WS-TWAPTR EQUAL NULL
    THEN GO TO RETURN1.
*Move the address of the GWL-PROC and set the indicator to 'Y'.
  SET  ADDRESS  OF LK-TWAREA TO WS-TWAPTR.
  SET  LK-GWLPROCPTR TO GWL-PROC.
  MOVE 'Y'   TO LK-SWITCH.

EXEC CICS
  HANDLE ABEND PROGRAM('SYOSABND')
END-EXEC.

The following message is returned to the client if an abend occurs:

Msg 1, Level 11, State 0:
Procedure 'SYAB':
SYAB ABEND CODE ASRA