SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例

1. 定义和注册事件接受器类
*----------------------------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED
*----------------------------------------------------------------------*
*       LCL_EVENT_RECEIVER
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA gv_flg  TYPE char01.

*----------------------------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER DEFINITION
*----------------------------------------------------------------------*
*       lcl_event_receiver的类定义:
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS:
      handle_modify
        FOR EVENT data_changed_finished OF cl_gui_alv_grid
        IMPORTING e_modified
                  et_good_cells.

    METHODS:
      handle_f4
        FOR EVENT onf4 OF cl_gui_alv_grid
        IMPORTING e_fieldname
                  es_row_no
                  er_event_data
                  et_bad_cells.

ENDCLASS.                    "LCL_EVENT_RECEIVER DEFINITION

*----------------------------------------------------------------------*
*       CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.

  METHOD  handle_modify.
    DATAlv_enter    TYPE REF TO cl_gui_event,
          lv_eventid  TYPE i.

*   获取当前事件
    lv_enter   tem_grid->cur_event.

*   实例化成功的时候
    IF lv_enter IS NOT INITIAL.
      lv_eventid lv_enter->eventid.
    ENDIF.

*   只有在[回车]事件的时候,再进行检查(19:代表回车事件)
    IF lv_eventid 19
   AND sy-ucomm   ''.

      IF p_mmvds 'X'.
*       设置供应商描述字段和物料描述字段
        PERFORM set_name1_maktx.

*       设置后,alv稳定刷新
        PERFORM refresh_table_alv.

*       添加行项目检查(多频次包装基础表)
        PERFORM check_line_mmvds.

      ELSEIF p_detail 'X'.
*       添加行项目检查(窗口时间表)
        PERFORM check_line_dtdetail.

      ELSEIF p_vds 'X'.
*       设置供应商描述字段(供应商供货信息基础表)
        PERFORM set_name1_vds.

*       设置后,alv稳定刷新
        PERFORM refresh_table_alv.

*       添加行项目检查(供应商供货信息基础表)
        PERFORM check_line_vds.
      ENDIF.

    ENDIF.

*   设置后,al
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值