问题描述
- ABAP 在屏幕上对表进行了修改 没有马上传到内表中
- 我想在退出屏幕的时候自动保存屏幕上的内容,但是退出后发现更新的内容没有保存,因为tc对应的内表的内容根本没有改变。
用table control显示内表 然后对表进行修改 debug的时候我发现 修改的内容没有传到tablecontrol相应的内表中 这是缺了什么东西吗?请各位大神帮忙指教!
table control是用向导建的。PBO和PAI如下:
PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'TAB_CTRL'
MODULE TAB_CTRL_CHANGE_TC_ATTR.
*&SPWIZARD: MODULE TAB_CTRL_CHANGE_COL_ATTR.
LOOP AT GS_OUTPUT_0200
WITH CONTROL TAB_CTRL
CURSOR TAB_CTRL-CURRENT_LINE.
MODULE TAB_CTRL_GET_LINES.
*&SPWIZARD: MODULE TAB_CTRL_CHANGE_FIELD_ATTR
ENDLOOP.MODULE STATUS_0200.
PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'TAB_CTRL'LOOP AT GS_OUTPUT_0200.
CHAIN.
FIELD GS_OUTPUT_0200-SEL_COL.
FIELD GS_OUTPUT_0200-LISTNO.
FIELD GS_OUTPUT_0200-DESCRIPTION.
FIELD GS_OUTPUT_0200-PROSOURCE.
FIELD GS_OUTPUT_0200-SUBMITUSER.
FIELD GS_OUTPUT_0200-SUBMITDATE.
FIELD GS_OUTPUT_0200-RESPONUSER.
FIELD GS_OUTPUT_0200-FOLLOWUSER.
FIELD GS_OUTPUT_0200-SOLUTION.
FIELD GS_OUTPUT_0200-STATUS.
FIELD GS_OUTPUT_0200-LASTREVISEU.
FIELD GS_OUTPUT_0200-REVISEDATE.
MODULE TAB_CTRL_MODIFY ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.
MODULE TAB_CTRL_MODIFY INPUT.
MODIFY GS_OUTPUT_0200
INDEX TAB_CTRL-CURRENT_LINE.
ENDMODULE.
解决方案
要在PBO和PAI里面写moudel修改内表啊亲......
解决方案二:
屏幕上的数值只是暂存在对应的结构中,你的PAI里面 需要把修改后的值更新到GS_OUTPUT_0200中