ABAP ALV检查单元格更新数据和字段有效性和错误检查
(2016-06-03 09:44:58)
标签:
abapalvbapiit |
分类: sapalv |
ABAP
将ALV单元格设置为可输入后,通常我们需要对单元格输入的值做一个检查,一般来说用循环内表的方法可以实现上述操作,不过如果ALV中有大量数据,而我们只更新了少量的单元格数据,这样检查显得非常的麻烦,而且效率低下
在ALV
1.
Eg:
CLASS lcl_alv_receiver DEFINITION DEFERRED.
CLASS lcl_alv_receiver DEFINITION.
PUBLIC SECTION.
ENDCLASS.
2.
Eg:
CALL METHOD g_grid->set_table_for_first_display
SET HANDLER g_alv_application->handle_data_changed FOR g_grid.
CALL METHOD
g_grid->register_edit_event
其中i_event_id = cl_gui_alv_grid=>mc_evt_enter
i_event_id
= cl_gui_alv_grid=>mc_evt_modified
3.实现lcl_alv_receiver类的handle_data_changed方法,其中一些常用的一些属性方法我会在后附表列出
Eg:
CLASS lcl_alv_receiver IMPLEMENTATION.
METHOD handle_toolbar.
ENDMETHOD.
ENDCLASS.
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM.
handle_data_changed
*如果更新的reason字段长度小于10为则提示用户填入字符数不能低于10
DATA:mod_data TYPE lvc_t_modi,
mod_data = p_er_data_changed->mt_mod_cells.
LOOP AT mod_data INTO wa_mod_data WHERE fieldname = 'ZRESON'.
*如果长度小于10,则将字段内容更新为长都无法确定
ENDLOOP.
ENDFORM.