Wednesday, January 6, 2010

ABAP Objects program for Events and Event Handling

PARAMETERS:p_speed TYPE i.

CLASS speed DEFINITION.
PUBLIC SECTION.
    METHODS get_speed.
    EVENTS  raise_emergency EXPORTING value(excess) TYPE i.
  PRIVATE SECTION.
    DATA: excess     TYPE i,
          speed_limit TYPE i VALUE '100'.
ENDCLASS.

CLASS speed IMPLEMENTATION.
 METHOD get_speed.
    excess = speed_limit - p_speed.
    IF ( p_speed > speed_limit ).
      RAISE EVENT raise_emergency EXPORTING excess = excess.
    ELSE.
      WRITE:'Normal Speed'.
    ENDIF.
 ENDMETHOD.
ENDCLASS.

CLASS handler DEFINITION.
PUBLIC SECTION.
    METHODS handle_excess_speed
            FOR EVENT raise_emergency OF speed
            IMPORTING excess.
ENDCLASS.
CLASS handler IMPLEMENTATION.
  METHOD handle_excess_speed.
    WRITE: / 'Emergency'.
ENDMETHOD.
ENDCLASS.

DATA: r1 TYPE REF TO speed,
      h1 TYPE REF TO handler.

START-OF-SELECTION.
  CREATE OBJECT: r1, h1.
  SET HANDLER h1->handle_excess_speed FOR ALL INSTANCES.

  CALL METHOD r1->get_speed.

About Me

I have 5+ years experience in SAP ABAP and ABAP CRM.I am working with SAP LABS now.

Search This Blog