问题描述
在我的 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 (将#修改为@)