2011年5月31日 星期二

[SAP] ABAP List 的頁數

話說,寫ABAP List 每次user都會要求要列印頁數,而且都在表頭~
這其實超級弔詭的。

誰一開始就知道要印幾頁阿 = =
所以最好的方法就是一開始都印一些有的沒的。
之後整份報表跑完再替換


DO SY-PAGNO TIMES.
    P_PAGE = P_PAGE + 1 .
    READ LINE 7 OF PAGE SY-INDEX.
    REPLACE '-$-' WITH P_TPAGE INTO SY-LISEL.
    REPLACE '-@-' WITH P_PAGE INTO SY-LISEL.
    MODIFY CURRENT LINE.
  ENDDO.


這裡意思就是說:
1.我要替換幾次,有幾頁就是要幾次,所以用SY-PAGNO 很合理。
2.算好你的頁數再每一頁的第幾行出現,這張報表是在第七行出現,所以我read LINE 7 
3.用總頁碼的代表參數(P_TPAGE)取代line 7 裡的'-$-'
4.用當頁頁碼的代表參數(P_PAGE)取代line 7 裡的'-@-'
5.回寫第7行
6.結束