Code20071113 - ooxxvv/MySAPnotes GitHub Wiki
Code20071113
- 計算 Report 的總頁數,並將其輸出在每一頁的表頭。
Code
FORM write_total_page USING f_line_no "總頁數欄位是放在那一行
f_replace_str "要被 Replace 掉的字串
f_list_index. "第幾層的 List
DATA: l_linct LIKE sy-linct.
DATA: l_tpagno LIKE sy-pagno,
l_line LIKE sy-lisel,
l_pagno(4) TYPE c.
*-把目前的頁數 (也就是總頁數) 存入變數中
MOVE sy-pagno TO l_pagno.
l_pagno = l_pagno.
*-整理總頁數的格式
CONDENSE l_pagno NO-GAPS.
CONCATENATE '/' l_pagno INTO l_pagno SEPARATED BY space.
*-從第一頁開始,將每頁所指定的行數中所指定的字串替換成總頁數
l_tpagno = sy-pagno.
DO l_tpagno TIMES.
READ LINE f_line_no OF PAGE sy-index INDEX f_list_index
LINE VALUE INTO l_line.
CHECK sy-subrc EQ 0.
REPLACE SUBSTRING f_replace_str IN l_line WITH l_pagno.
MODIFY LINE f_line_no OF PAGE sy-index INDEX f_list_index
LINE VALUE FROM l_line.
ENDDO.
ENDFORM. " write_total_page