ABAP------>OO for event

*&---------------------------------------------------------------------*
*& Report  Y_JAMES_OO_DAY6
*&
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*

REPORT Y_JAMES_OO_DAY6.

TABLES:sflight.

SELECT-OPTIONS: s_carrid FOR sflight-carrid.

CLASS c1 DEFINITION.
  PUBLIC SECTION .
    TYPES:
      BEGIN OF t_sflight,
      carrid TYPE sflight-carrid,
      connid TYPE sflight-connid,
      fldate TYPE sflight-fldate,
      END OF t_sflight.
   DATA:
     gt_itab TYPE STANDARD TABLE OF t_sflight,
     gs_itab TYPE sflight.

   EVENTS:e1.
   METHODS:
     get_data,display_data,no_data
     FOR EVENT e1 of c1.
 ENDCLASS.

 CLASS c1 IMPLEMENTATION.
   METHOD:get_data.
     SELECT     carrid
                connid
                fldate
     FROM       sflight
     INTO TABLE gt_itab
     WHERE      carrid IN s_carrid.
     IF  sy-subrc <> 0.
       RAISE EVENT e1.
     ELSE.
       CALL METHOD display_data.
     ENDIF.
   ENDMETHOD.

   METHOD:display_data.
     LOOP AT gt_itab INTO gs_itab.
       WRITE:/10 gs_itab-carrid.
       WRITE:/40 gs_itab-connid.
       WRITE:/60 gs_itab-fldate.
     ENDLOOP.
   ENDMETHOD.

   METHOD: no_data.
     WRITE:/10 'There are no match data!'.
   ENDMETHOD.
ENDCLASS.

DATA:go_obj TYPE REF TO c1.

START-OF-SELECTION.
CREATE OBJECT:go_obj.
SET HANDLER go_obj->no_data FOR:go_obj.
CALL METHOD go_obj->get_data.

转载于:https://www.cnblogs.com/HARU/p/8042685.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值