ABAP 注册回车事件

一、完整代码

FORM frm_set_event .
    CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type     = 0
    IMPORTING
      et_events       = gt_events
    EXCEPTIONS
      list_type_wrong = 1
      OTHERS          = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  gs_events-name = 'CALLER_EXIT'.
  gs_events-form = 'FRM_CALLER_EXIT'.
  APPEND gs_events TO gt_events.

ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  F_CALLER_EXIT
* 注册回车事件
*&---------------------------------------------------------------------*
FORM frm_caller_exit USING ls_data TYPE slis_data_caller_exit.

  CHECK sy-batch = ''. "后台执行获取对象失败

  DATA gt_event_receiver TYPE REF TO lcl_event_receiver.

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = gcl_alv_grid.


* 设置enter事件
  CALL METHOD gcl_alv_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_enter
    EXCEPTIONS
      error      = 1
      OTHERS     = 2.
  CALL METHOD gcl_alv_grid->register_edit_event
    EXPORTING
      i_event_id = cl_gui_alv_grid=>mc_evt_modified
    EXCEPTIONS
      error      = 1
      OTHERS     = 2.
  IF sy-subrc <> 0.
*   Implement suGT_OUTle error handling here
  ENDIF.
  CREATE OBJECT gt_event_receiver.
  SET HANDLER gt_event_receiver->handle_modify FOR gcl_alv_grid.
  SET HANDLER gt_event_receiver->data_changed FOR gcl_alv_grid.
  SET HANDLER gt_event_receiver->handle_hotspot_click FOR gcl_alv_grid.

ENDFORM.            

二、调用函数

点击,模式

输入需要调用的函数

三、如何找到函数需要定义的字段

首先明确需要的函数,事务码SE37查看函数的导出参数参考的类型,双击改类型

可知,包含两个需要定义的字段

因此在代码中定义如下:

四、填充FRM_CALLER_EXIT注册回车事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值