我有一个表格控件(ctrl
)和一个内部表格(snctab
)。
我想从表格控件中添加项snctab
。我可以添加但不能修改snctab
的记录。以下是我的PBO和PAI模块:
PROCESS BEFORE OUTPUT.
MODULE status_0100.
LOOP AT snctab WITH CONTROL ctrl CURSOR ctrl-current_line.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT snctab.
MODULE update.
ENDLOOP.
MODULE user_command_0100.
MODULE update INPUT. "my update module
READ TABLE snctab INDEX ctrl-current_line.
IF sy-subrc <> 0.
APPEND snctab.
ELSE.
MODIFY snctab INDEX ctrl-current_line.
ENDIF.
ENDMODULE. " UPDATE INPUT
答案 0 :(得分:1)
我更新了这样的更新模块并解决了问题。
MODULE update INPUT. "my update module
MODIFY snctab INDEX ctrl-current_line.
IF sy-subrc <> 0.
APPEND snctab.
ENDIF.
ENDMODULE.
答案 1 :(得分:0)
PAI模块中的LOOP
语句不考虑表控制 - 您使用的是用于处理步骤循环的过时变体。检查系统中的演示程序DEMO_DYNPRO_TABCONT_LOOP
以查看工作示例。