内部表格未从表格控件中修改

时间:2017-07-06 14:21:25

标签: sap abap

我有一个表格控件(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

2 个答案:

答案 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以查看工作示例。