CLASS EVENT


CLASS LCL_HANDLER_01 DEFINITION.
  PUBLIC SECTION.
    DATA GS_KNA1 TYPE  KNA1.
    METHODS GET_KNA1 IMPORTING P_KUNNR LIKE GS_KNA1-KUNNR .

*    声明event
    EVENTS EVENT_KNA1 EXPORTING VALUE(P_KNA1LIKE GS_KNA1.
ENDCLASS.

CLASS LCL_HANDLER_01 IMPLEMENTATION.
  METHOD GET_KNA1 .
    SELECT SINGLE FROM KNA1 INTO GS_KNA1 WHERE KUNNR P_KUNNR .
    IF SY-SUBRC 0.
*      触发EVENT
      RAISE  EVENT EVENT_KNA1 EXPORTING  P_KNA1 GS_KNA1.
    ELSE.
      WRITE '没有数据!' .
    ENDIF.
  ENDMETHOD.
ENDCLASS .


*声明event接收类
CLASS LCL_HANDLER_02 DEFINITION.
  PUBLIC SECTION.
* 声明接收event方法
    METHODS WRITE_DATA FOR EVENT EVENT_KNA1 OF LCL_HANDLER_01
      IMPORTING P_KNA1.

ENDCLASS.

CLASS LCL_HANDLER_02 IMPLEMENTATION.
  METHOD WRITE_DATA .
    WRITE /,P_KNA1-KUNNR,P_KNA1-NAME1,P_KNA1-NAME2.
  ENDMETHOD.
ENDCLASS .


PARAMETERS LP_KUNNR TYPE KNA1-KUNNR.

START-OF-SELECTION .


*  类实例
  DATA LCL_01 TYPE REF TO LCL_HANDLER_01.
  CREATE OBJECT LCL_01.
  DATA LCL_02_1 TYPE REF TO LCL_HANDLER_02.
  CREATE OBJECT LCL_02_1.
  DATA LCL_02_2 TYPE REF TO LCL_HANDLER_02.
  CREATE OBJECT LCL_02_2.

*  事件注册
  SET HANDLER LCL_02_1->WRITE_DATA FOR LCL_01.

  SET HANDLER LCL_02_2->WRITE_DATA FOR LCL_01.

*  测试
  CALL METHOD LCL_01->GET_KNA1
    EXPORTING
      P_KUNNR LP_KUNNR.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值