You are on page 1of 3

REPORT Z93000PSEV4.

CLASS lcl_abc DEFINITION.


PUBLIC SECTION .
EVENTS e1.
METHODS m1 for EVENT e1 of lcl_abc.
class-METHODS m2 for EVENT e1 of lcl_abc.
METHODS m3 .
endclass.

CLASS lcl_abc IMPLEMENTATION.


"**********************************************************************
* METHOD : m1
* Created : 15.01.2021 20:24:12
* *********************************************************************
METHOD m1 .
WRITE : / 'inside instance event handler method m1 of class lcl_abc'.
ENDMETHOD. "m1
"
" **********************************************************************
* METHOD : m2
* Created : 15.01.2021 20:25:48
* *********************************************************************
METHOD m2 .
WRITE :/ 'inside static event handler method m2 of class lcl_abc'.
ENDMETHOD. "m2

"**********************************************************************
* METHOD : m3
* Created : 15.01.2021 20:26:14
* *********************************************************************
METHOD m3 .
WRITE : / 'inside instance method m3 of class lcl_abc'.
RAISE EVENT e1.
ENDMETHOD. "m3
ENDCLASS.

CLASS lcl_pqr DEFINITION.


PUBLIC SECTION.
METHODS m4 FOR EVENT e1 of lcl_abc.

ENDCLASS.

CLASS lcl_pqr IMPLEMENTATION.

"**********************************************************************
* METHOD : m4
* Created : 15.01.2021 20:46:22
* *********************************************************************
METHOD m4 .
write : / ' inside instance event handler method of class lcl_pqr for e1 event'.
ENDMETHOD. "m4
ENDCLASS.
START-OF-SELECTION.

DATA ob1 TYPE REF TO lcl_abc.


CREATE OBJECT ob1.

SET HANDLER ob1->m2 FOR ob1.


SET HANDLER OB1->M1 FOR OB1.
CALL METHOD OB1->M3.
uline.
SET HANDLER lcl_abc=>M2 FOR OB1.
CALL METHOD OB1->M3.
uline.
DATA ob2 TYPE REF TO lcl_pqr.
CREATE OBJECT ob2.
ULINE.
set HANDLER ob2->m4 FOR ob1.
call METHOD ob1->m3.
-----------------------------------------

REPORT Z93000PSEV5.
CLASS lcl_abc DEFINITION.
PUBLIC SECTION.
EVENTS e1 EXPORTING VALUE(e_kunnr) TYPE kna1-kunnr .
METHODS m1 for EVENT e1 of lcl_abc IMPORTING e_kunnr.

METHODS : m2 IMPORTING i_kunnr TYPE kna1-kunnr, m3 FOR EVENT e1 of lcl_abc.


ENDCLASS.

CLASS lcl_abc IMPLEMENTATION .


" **********************************************************************
* METHOD : m1
* Created : 15.01.2021 21:04:01
* *********************************************************************
METHOD m1 .
format color 3.
data : t_vbak type ZVBA,"internal table
wa_vbak TYPE ZVBAKSTR1."work area

WRITE : / 'inside m1 method event handler importing event parameter e_kunnr'.

SELECT VBELN
ERDAT
ERZET
ERNAM FROM vbak INto TABLE t_vbak WHERE kunnr = e_kunnr.
IF sy-subrc eq 0.
WRITE : / 'no of sales order for customer:', e_kunnr, 'is', sy-dbcnt.
LOOP AT t_vbak INTO wa_vbak .
WRITE : / wa_vbak-VBELN,
/ wa_vbak-ERDAT,
/ wa_vbak-ERZET,
/ wa_vbak-ERNAM.

ENDLOOP.

else. WRITE : / 'customer', e_kunnr , 'have no sales order number'.


ENDIF.

format color off.


ENDMETHOD. "m1
"
" **********************************************************************
* METHOD : m2
* Created : 15.01.2021 21:18:05
* *********************************************************************
METHOD m2 .
FORMAT COLOR 1.
WRITE : / 'inside m2 normal method, about to raise event e1'.
RAISE EVENT e1 EXPORTING e_kunnr = i_kunnr.
FORMAT COLOR off.
ENDMETHOD. "m2

"**********************************************************************
* METHOD : m3
* Created : 15.01.2021 21:20:29
* *********************************************************************
METHOD m3 .
FORMAT COLOR 1.
WRITE : / 'inside m3 event handler method for event e1'.

FORMAT COLOR off.


ENDMETHOD. "m3
ENDCLASS.

START-OF-SELECTION.

PARAMETERS p_kunnr TYPE kna1-kunnr.

data ob TYPE REF TO lcl_abc.


CREATE OBJECT ob.
set HANDLER ob->m3 FOR ob.
set HANDLER ob->m1 FOR ob.

call METHOD ob->m2 EXPORTING i_kunnr = p_kunnr.

You might also like