SAP ALV界面数据更改怎么回车更新

SAP ALV界面数据更改怎么回车更新

前言

当ALV界面某一列数据修改时,怎么让与该列相关的数据实时更新。

一、在ALV显示函数加上回车事件

在这里插入图片描述
界面显示,供应商字段可修改,修改后与供应商字段值同步更新:
在这里插入图片描述

二、写入事件

在这里插入图片描述
” 关联内表
CALL FUNCTION ‘GET_GLOBALS_FROM_SLVC_FULLSCR’
IMPORTING
e_grid = l_ref_alv.
"注册回车事件 .
CALL METHOD l_ref_alv->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified "数据发生改变时触发data changed事件
EXCEPTIONS
error = 1
OTHERS = 2

1.创建响应事件的类及类实现

  • 生命类及定义方法类处理date_changed_finished 事件
    CLASS lcl_event_receiver DEFINITION .
    PUBLIC SECTION .
    "数据改变事件
    METHODS data_changed FOR EVENT data_changed OF cl_gui_alv_grid
    IMPORTING er_data_changed.
    ENDCLASS . "lcl_event_receiver

CLASS lcl_event_receiver IMPLEMENTATION .

  • 定义 method 方法
    METHOD data_changed .
    PERFORM frm_data_changed USING er_data_changed.
    ENDMETHOD . "DATA_CHANGED
    ENDCLASS . "lcl_event_receiver IMPLEMENTATION

2.方法的具体实现

DATA:ls_gys LIKE LINE OF lt_gys.
DATA:ls_mod LIKE LINE OF p_data_changed->mt_mod_cells.

LOOP AT p_data_changed->mt_mod_cells INTO ls_mod.
IF ls_mod-fieldname EQ ‘LIFNR’.
“ 当供应商字段改变时,更新ALV界面
" 具体代码实现
ENDIF.
ENDLOOP.

“ 更改后需要刷新
CALL FUNCTION ‘GET_GLOBALS_FROM_SLVC_FULLSCR’
IMPORTING
e_grid = l_ref_alv.

ls_stbl-row = ‘X’.
ls_stbl-col = ‘X’.

"刷新屏幕
CALL METHOD l_ref_alv->refresh_table_display
EXPORTING
is_stable = ls_stbl
EXCEPTIONS
finished = 1
OTHERS = 2.
” 获取数据后刷新的界面
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值