1. 前言
-
SAP_BASIS版本756+的支持编辑模式的切换(可通过方法IF_SALV_GUI_OM_TABLE_INFO~EXTENDED_GRID_API( )获取CL_GUI_ALV_GRID对象) Editable CL_SALV_TABLE after release 756
-
SAP_BASIS版本756之前版本不支持编辑模式切换功能 International Editable SALV Day 2015
-
国外也有开发实现了编辑模式的切换功能,但仅限于全局的编辑模式切换
- 需要点击Toolbar按钮切换:SALV Editable? Yes, as per this Standard SAP Application
- 需要点击Toolbar按钮切换:SAP SALV09 切换SALV编辑模式和USER-COMMAND响应
- 不需要点击Toolbar按钮切换:SALV Editable with Single (custom) Method
2. 实现效果展示
- 本博客介绍方法可实现列级别、行级别、单元格级别编辑模式的设置
- 全局开启编辑模式
- 针对列开启编辑模式
- 针对单元格/行开启编辑模式
- 全局开启编辑模式
3. 实现
-
增强 LSLVC_FULLSCREENF01 传递控制参数
DATA: l_style_field TYPE lvc_fname. IMPORT l_style_field FROM MEMORY ID 'ZSALV_STYLE'. IF l_style_field is NOT INITIAL. gt_grid-s_lvc_layout-stylefname = l_style_field. CALL METHOD gt_grid-grid->set_ready_for_input EXPORTING i_ready_for_input = 1. ENDIF.
-
增强 LSLVCF05 实现Style的值传递
DATA: l_style_field TYPE lvc_fname, l_index TYPE i VALUE '1'. IMPORT l_style_field FROM MEMORY ID 'ZSALV_STYLE'. IF lines( rt_data ) = l_row_id. FREE MEMORY ID 'ZSALV_STYLE'. ENDIF. IF l_style_field is NOT INITIAL. * is a complex style defined ? IF NOT rs_layout-stylefname IS IN