Event handler with example in ABAP

 Events: Method of one class can call the method of another class.

Triggering Method:  This method raises the event.

Event Handler Method: The method will handle the event.

Register the event handler method using SET HANDLER statement.

1. Goto SE38.

2. Give program name and click on create.

3. Give description and select type executable program.

4. Write code.

REPORT zab_rp_event_hand_mara.

DATAlv_matkl TYPE matkl,
      lv_mtart TYPE mtart,
      lv_meins TYPE meins,
      lv_mbrsh TYPE mbrsh.

PARAMETERSp_matnr TYPE matnr.

CLASS class1 DEFINITION.
  PUBLIC SECTION.
    METHODS display IMPORTING pmatnr TYPE matnr
                    EXPORTING pmatkl TYPE matkl
                              pmtart TYPE mtart
                              pmeins TYPE meins
                              pmbrsh TYPE mbrsh.
    EVENTSempty.
ENDCLASS.
CLASS
 class1 IMPLEMENTATION.
  METHOD display.            "Triggering method
    IF pmatnr IS INITIAL.
      RAISE EVENT empty.
    ELSE.
      SELECT SINGLE matkl
             mtart
             meins
             mbrsh
             FROM mara
             INTO pmatkl pmtartpmeinspmbrsh )
             WHERE matnr pmatnr.

    ENDIF.
  ENDMETHOD.
ENDCLASS.

CLASS class2 DEFINITION.
  PUBLIC SECTION.
    METHODS message FOR EVENT empty OF class1.
ENDCLASS.

CLASS
 class2 IMPLEMENTATION.
  METHOD message.            "Event handler method
    WRITE'Please enter material number'.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  DATAobj1 TYPE REF TO class1,
        obj2 TYPE REF TO class2.
  CREATE OBJECT:  obj1,obj2.
  SET HANDLER obj2->message FOR obj1.
   "Register the event
  obj1->display(
    EXPORTING
      pmatnr p_matnr
    IMPORTING
      pmatkl lv_matkl
      pmtart lv_mtart
      pmeins lv_meins
      pmbrsh = lv_mbrsh
  ).

  WRITE/ p_matnr,
          / lv_matkl,
          / lv_mtart,
          / lv_meins,
          / lv_mbrsh.

case1

    Input

    Output



case2

    Input

    Output



****************************Thank you ****************************

Comments

Popular posts from this blog

New syntax for append- VALUE (new syntax 7.4+) in ABAP

Read statement new syntax in ABAP. (7.4+).

Concatenation new syntax( 7.4+ ).