正常來說底下的程式可以讓報表在每到58行的位置就會塞入END-OF-PAGE中的頁腳

REPORT  ZTEST001 NO STANDARD PAGE HEADING
                    MESSAGE-ID 00
                     LINE-SIZE  50
                     LINE-COUNT 60(2).

START-OF-SELECTION.

 Do 30 times.

  WRITE:/ 'TEST1'.
 ENDDO.

TOP-OF-PAGE.
 WRITE: '我是抬頭'.

END-OF-PAGE.
 WRITE: '我是尾巴'.

 

可是假設在迴圈中需要強制換頁可以用NEW-PAGE
當強制換頁後TOP-OF-PAGE會再輸出一次
 

可是END-OF-PAGE卻不會輸出@@
後來研究的一下只好這樣設計的,在要做NEW-PAGE.強制換頁之前先輸出頁腳
用SY-LINNO可以抓到目前已經列印到第幾行 然後用SKIP 跳到指定的行數再做列印

Do 30 times.

  WRITE:/ 'TEST1'.

    PERFORM PR_END.
    NEW-PAGE.


 ENDDO.


 FORM PR_END.

DATA: MAXL TYPE I.
MAXL = 60 - SY-LINNO.
SKIP MAXL.   "=強迫跳到指定的行數也就是頁腳的地方在做輸出
 WRITE: '我是尾巴2'.

 ENDFORM.

arrow
arrow
    全站熱搜

    ROACH 發表在 痞客邦 留言(0) 人氣()