2016-07-06 97 views
2

我有一個問題,我的表格控件的所有行都不在ABAP 740 SP13中顯示。表格控件不顯示所有行

例如,我有這兩個行的表:

Values of LT_TRANSFER_CONFIRM_TC

這是執行該代碼表的狀態:

CALL SCREEN 0300 STARTING AT 10 5 
       ENDING AT 85 16. 

這立即進入我的過程輸出代碼:

*----------------------------------------------------------------------* 
*      PROCESS BEFORE OUTPUT       * 
*----------------------------------------------------------------------* 
PROCESS BEFORE OUTPUT. 
    MODULE status_0300. 
    LOOP AT lt_transfer_confirm_tc 
     INTO ls_transfer_confirm_tc 
     WITH CONTROL tc_transfer_confirm 
     CURSOR tc_transfer_confirm-current_line. 
    MODULE tc_transfer_confirm_get_lines. 
    ENDLOOP. 

其中status_0300是:

MODULE status_0300 OUTPUT. 
    SET PF-STATUS 'STATUS_0300'. 
    " Confirm Material Number Count 
    SET TITLEBAR 'T05'. 
ENDMODULE. 

,是tc_transfer_confirm_get_lines

MODULE tc_transfer_confirm_get_lines OUTPUT. 
    g_tc_transfer_confirm_lines = sy-loopc. 
ENDMODULE. 

在我PBO循環的第一次迭代結束時,ls_transfer_confirm_tc值與lt_transfer_confirm_tc表的第一行相匹配,tc_transfer_confirm-current_line1g_tc_transfer_confirm_lines(在tc_transfer_confirm_get_lines中)設置爲10

循環的第二次迭代從不處理。光標從ENDLOOP(從第一次迭代)跳至CURSOR tc_transfer_confirm-current_line.(因爲它是LOOP聲明的末尾)行,最後是ENDLOOP而不是在MODULE tc_transfer_confirm_get_lines行上停止。在此循環結束時,ls_transfer_confirm_tc爲初始值,tc_transfer_confirm-current_line仍爲1,而g_tc_transfer_confirm_lines仍爲10。一直以來,lt_transfer_confirm_tc表仍然有兩行,如圖所示,在這個問題的頂部。

Table Control displayed by SCREEN 0300

我不知道爲什麼這個循環不會處理我的表的第二排,因此不會顯示出來:

在這一點上,如下的畫面顯示屏幕上。

謝謝。

回答

2

的問題是,我從來沒有設定tc_transfer_confirm-lines值,使pH值總是1.

下面的代碼成功運行:

*----------------------------------------------------------------------* 
*      PROCESS BEFORE OUTPUT       * 
*----------------------------------------------------------------------* 
PROCESS BEFORE OUTPUT. 
    MODULE status_0300. 
    MODULE tc_trnsfr_cnfrm_change_tc_attr. 
    LOOP AT lt_transfer_confirm_tc 
     INTO ls_transfer_confirm_tc 
     WITH CONTROL tc_transfer_confirm 
     CURSOR tc_transfer_confirm-current_line. 
    MODULE tc_transfer_confirm_get_lines. 
    ENDLOOP. 

隨着新模塊tc_trnsfr_cnfrm_change_tc_attr

*&SPWIZARD: OUTPUT MODULE FOR TC 'TC_TRANSFER_CONFIRM'. DO NOT CHANGE THIS LINE! 
*&SPWIZARD: UPDATE LINES FOR EQUIVALENT SCROLLBAR 
MODULE tc_trnsfr_cnfrm_change_tc_attr OUTPUT. 
    DESCRIBE TABLE lt_transfer_confirm_tc LINES tc_transfer_confirm-lines. 
ENDMODULE.