ABAP ALV报告如何编辑单元格然后更新数据库?

2020-09-13 10:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我正在处理ALV报...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我正在处理ALV报告。 我想用一个按钮从ALV报告单元格更新数据库表。 我添加了按钮,我可以编辑ALV单元格,但它不会更新数据库。

我该如何解决?

数据库表名称:ZDANISMAN。

以下是几段代码:

 DATA:gt_fcat类型slis_t_fieldcat_alv,
        gs_fcat slis_t_fieldcat_alv的类型行,
        gs_layout TYPE slis_layout_alv,
        gt_sort TYPE slis_t_sortinfo_alv,
        gs_sort slis_t_sortinfo_alv的类型行,
        gt_fcat_popup TYPE slis_t_fieldcat_alv,
        gt_fcat_popup_ok TYPE slis_t_fieldcat_alv,
        gs_variant TYPE变量,
        lt_rows TYPE lvc_t_row,
        w_selected_rows TYPE lvc_s_row," ALV控制行描述
        &EXEC像SY-UCOMM,
        &UPDATE像SY-UCOMM,
        lv_tabix TYPE sy-tabix,
        MY_REPID像SY-REPID。

 *表格内容。
 类型:BEGIN OF wa_baldat,
          D_ID类型ZDANISMAN-D_ID,
          D_ADI TYPE ZDANISMAN-D_ADI,
          D_MAIL类型ZDANISMAN-D_MAIL,
          box(1)c型,"复选框,ALV屏幕的变量。
        wa_baldat的结尾。

 wa_baldat的类型it_baldat类型标准表。
 DATA itab TYPE it_baldat。
 数据wa_itab类型wa_baldat。
 数据wa_danisman类型ZDANISMAN。
 数据wa_modified TYPE ZDANISMAN。
 数据i_modified ZDANISMAN的TYPE STANDARD TABLE。

 表单USER_COMMAND和r_ucomm一样SY-UCOMM
     rs_selfield TYPE slis_selfield。

 数据:带有标题行的lt_index_rows TYPE lvc_t_row,
          ref1类型参考cl_gui_alv_grid。
   数据w_selected_rows类型lvc_s_row。
   调用功能'GET_GLOBALS_FROM_SLVC_FULLSCR'导入e_grid = ref1。
   调用方法ref1-> get_selected_rows导入et_index_rows = lt_index_rows []。

 *它从复选框中选择了索引
   在lt_index_rows索引大于0且行类型为INITIAL的LOOP AT中。
     将表itab读入wa_itab索引lt_index_rows-index。
   结局。

 *将所选索引的内容输入i_modified。
  循环至lt_index_rows INTO w_selected_rows。
  读取表itab INTO wa_danisman索引w_selected_rows-index。
      如果sy-subrc EQ 0。
       将wa_danisman移动到wa_modified。
         APPEND wa_modified TO i_modified。
     万一。
   结局。

 *触发BUTTTON时,应修改数据库。
   如果R_UCOMM ='&UPDATE'。
     从表i_modified修改ZDANISMAN。
     万一。
 ENDFORM。