## REUSE_ALV_GRID_DISPLAY_LVC-可编辑单元格、列可编辑、行可编辑
整个报表可编辑
gs_layout-edit = 'X'. "将整个ALV设置成可编辑
列可编辑
FORM build_fieldcat1 .
DEFINE %%append_fieldcat .
CLEAR gs_fcat .
gs_fcat-col_pos = &5."列的输出位置
gs_fcat-fieldname = &1."需要显示内表的哪一个字段
gs_fcat-outputlen = &2." outputlen列的字符输出宽度
gs_fcat-scrtext_m = &3. "middle key word标题字段显示的名称(中)
gs_fcat-key = &4."是否为关键字
CASE &1 .
WHEN 'BEGDA'.
gs_fcat-dd_outlen = '10'.
WHEN 'ENDDA'.
gs_fcat-edit = 'X'."以列为单位可编辑
gs_fcat-dd_outlen = '10'.
WHEN 'FKOSTL'.
gs_fcat-edit = 'X'."以列为单位可编辑
WHEN 'LTEXT'.
gs_fcat-edit = 'X'."以列为单位可编辑
ENDCASE.
APPEND gs_fcat TO gt_fcat2.
END-OF-DEFINITION.
%%append_fieldcat:
* 'MANDT' '3' '集团号' 'X',
'KOSTL' '10' '成本中心' 'X' '1',
'BUTXT' '25' '公司代码' ' X' '2',
'BEGDA' '8' '开始日期' 'X ' '3',
'ENDDA' '8' '结束日期' ' ' '4',
'FKOSTL' '10' '财务成本中心' ' ' '5',
'LTEXT' '40' '财务成本中心名称' ' ' '6'.
ENDFORM.
行可编辑:部分代码
YPES : BEGIN OF ty_output.
INCLUDE STRUCTURE zhr_fin_cost.
TYPES:
flag1 TYPE c,
sel TYPE c,
field_style TYPE lvc_t_styl, “列可编辑
END OF ty_output.
FORM build_layout2 .
gs_layout2-cwidth_opt = 'X'."ALV网格(单元格)宽度设置为自动最优化,按输出内容宽度自动调整
gs_layout2-zebra = 'X'."斑马线
* gs_layout2-sel_mode = 'A'.
gs_layout2-box_fname = 'SEL'."定义行的成选择按钮
* gs_layout2-detail_initial_lines = 'X'."在详细信息里显示出为空的行
* gs_layout2-window_titlebar = '财务成本中心转换表'."标题
* gs_layout2-confirmation_prompt = 'X'."退出确认提醒
gs_layout2-stylefname = 'field_style'. “列可编辑
* gs_layout2-edit = 'X'.
ENDFORM.
WHEN 'ADD_EDIT'.
CLEAR gs_output.
gs_output-mandt = sy-mandt.
gs_output-flag1 = 'X'.
CLEAR stylelin .
stylelin-fieldname = 'BEGDA'. "
stylelin-style = cl_gui_alv_grid=>mc_style_enabled .
APPEND stylelin TO gs_output-field_style.
CLEAR stylelin .
stylelin-fieldname = 'BUTXT'. "
stylelin-style = cl_gui_alv_grid=>mc_style_enabled .
APPEND stylelin TO gs_output-field_style.
CLEAR stylelin .
stylelin-fieldname = 'ENDDA'. "
stylelin-style = cl_gui_alv_grid=>mc_style_enabled .
APPEND stylelin TO gs_output-field_style.
CLEAR stylelin .
stylelin-fieldname = 'FKOSTL'. "
stylelin-style = cl_gui_alv_grid=>mc_style_enabled .
APPEND stylelin TO gs_output-field_style.
stylelin-fieldname = 'KOSTL'. "
stylelin-style = cl_gui_alv_grid=>mc_style_enabled .
APPEND stylelin TO gs_output-field_style.
CLEAR stylelin .
stylelin-fieldname = 'LTEXT'. "
stylelin-style = cl_gui_alv_grid=>mc_style_enabled .
APPEND stylelin TO gs_output-field_style.
APPEND gs_output TO gt_output.
单元格可编辑
TYPES:BEGIN OF gty_ekko,
ebeln TYPE ekko-ebeln,
verkf TYPE ekko-verkf,
style TYPE lvc_t_styl, "将该字段设置为保存编辑状态的字段
END OF gty_ekko.
gwa_edit-fieldname = 'EBELN'.
gwa_edit-style = cl_gui_alv_grid=>mc_style_disabled."设置为不可输入
INSERT gwa_edit INTO TABLE git_edit.
gwa_layout-stylefname = 'STYLE'. "指定保存编辑状态的字段名
单位、时间
单位
GS_FIELDCAT_LVC-DATATYPE = 'DATS'. "日期
"类似的用法
GS_FIELDCAT_LVC-DATATYPE = 'CURR'. "金额类型
GS_FIELDCAT_LVC-DATATYPE = 'QUAN' "计量单位
GS_FIELDCAT_LVC-INTTYPE = 'C'.
"也可设置参照字段属性
GS_FIELDCAT_LVC-REF_FIELD = FIELD_NAME.
GS_FIELDCAT_LVC-REF_TABLE = TABLE_NAME.
时间
GS_FIELDCAT-DATATYPE = 'DATS'.
GS_FIELDCAT-INTTYPE = 'D'.
GS_FIELDCAT-REF_TABLE = 'LIKP'.
GS_FIELDCAT-REF_FIELD = 'LFDAT'.