2017-07-06 36 views
0

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

只是爲了澄清,當一個項目在'scntab'和'ctrl'中,'ctrl'的內容沒有在你的代碼中更新?但如果該記錄不存在於'ctrl'中,它將成功添加到'ctrl'? – gkubed

+0

實際的問題是,當一個項目同時在scntab和ctrl中,我在屏幕上更改此記錄的某些字段,但在背景上沒有變化的snctab和ctrl。 –

回答

1

我更新了這個更新模塊,並解決了問題。

MODULE update INPUT. "my update module 
    MODIFY snctab INDEX ctrl-current_line. 
    IF sy-subrc <> 0. 
     APPEND snctab. 
    ENDIF. 
ENDMODULE. 
0

LOOP聲明PAI模塊不走表控制顧及 - 您使用的是在使用過程步驟是過時的變體循環那裏。查看您系統中的演示程序DEMO_DYNPRO_TABCONT_LOOP以查看一個工作示例。