表格控件空单元格

问题描述

在我的 dynpro 中,我有一个名为 TC300 的表控制器,它显示来自我的数据库zma_kostl 的数据。当我更改表控制器中的某些数据时,即使在数据库表中也会修改数据。当我将数据更改为其他一些随机数据时,情况确实如此。但是当我将单元格中的数据更改为空值时,更改不会传播到数据库表。

你知道为什么吗?我认为模块 save_data 中的某处有错误。你有什么想法,如何改进代码

这是我的代码

顶部包含:

FUNCTION-POOL zma_ic_screen.

TABLES  zma_kostl.

CONTROLS TC300 TYPE TABLEVIEW USING SCREEN 300.
DATA: cols LIKE LINE OF TC300-cols.

DATA it_zma_kostl TYPE TABLE OF zma_kostl.

Dynpro 300:

PROCESS BEFORE OUTPUT.
  MODULE data_retrieval.

  LOOP AT it_zma_kostl INTO zma_kostl WITH CONTROL TC300.
  ENDLOOP.

  MODULE SET_LInes.

PROCESS AFTER INPUT.
  LOOP AT it_zma_kostl.
    MODULE read_table_control_300.
  ENDLOOP.

  MODULE SAVE_DATA.

模块:

MODULE data_retrieval OUTPUT.
  IF it_zma_kostl IS INITIAL.
    SELECT kostl
      FROM zma_kostl
      INTO CORRESPONDING FIELDS OF TABLE it_zma_kostl.
  ENDIF.

ENDMODULE.

MODULE read_table_control_300 INPUT.
   MODIFY it_zma_kostl FROM zma_kostl INDEX tc300-current_line.
ENDMODULE.

MODULE save_data INPUT.
  MODIFY zma_kostl FROM TABLE it_zma_kostl.
ENDMODULE.

MODULE set_lines OUTPUT.
  DATA VLInes TYPE I.
  DESCRIBE TABLE it_zma_kostl LInes VLInes.
  TC300-LInes = VLInes + 1.
  DESCRIBE TABLE it_zma_work_section LInes VLInes.
  TC400-LInes = VLInes + 1.
ENDMODULE.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)