Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Data Interfaces and Communication Interfaces →  RFC - Remote Function Call →  Examples for Remote Function Call 

Exception Handling in RFC

This example demonstrates exception handling in RFC.

Other versions: 7.31 | 7.40 | 7.54

Source Code

    DATA msg TYPE c LENGTH 255.

    DATA(out) = cl_demo_output=>new( ).

    "Classical exception handling
    CALL FUNCTION 'DEMO_RFM_CLASSIC_EXCEPTION'
      DESTINATION 'NONE'
      EXCEPTIONS
        system_failure        = 1  MESSAGE msg
        communication_failure = 2  MESSAGE msg
        OTHERS                = 3.
    CASE sy-subrc.
      WHEN 1.
        out->write( `EXCEPTION SYSTEM_FAILURE ` && msg ).
      WHEN 2.
        out->write( `EXCEPTION COMMUNICATION_FAILURE ` && msg ).
      WHEN 3.
        out->write( `EXCEPTION OTHERS` ).
    ENDCASE.

    out->display( ).

Description

The DEMO_RFM_CLASSIC_EXCEPTION function module triggers the non-class-based exception CLASSIC_EXCEPTION.

When DEMO_RFM_CLASSIC_EXCEPTION is called, EXCEPTIONS is specified and values for sy-subrc are assigned to the possible classic exceptions. If none of the predefined RFC interface exceptions are raised, sy-subrc is set to 3.