ABAP CODE:หาเลขหน้าปัจจุบันและจำนวนหน้าทั้งหมด

การทำ Report มักจะต้องบอกตัวเลขหน้าปัจจุบัน และจำนวนหน้าทั้งหมดของ Report นั้นว่า มีจำนวนเท่าไร ซึ่งวิธีหานั้นสามารถหาได้จากตัวระบบเอง และคำนวณ

ตัวอย่าง
แผ่นที่  1  ในจำนวน  10 แผ่น หรือ Page 1 / 10

ซึ่งการหาค่าตัวเลขหน้าปัจจุบัน นั้นจะไม่มีปัญหาเท่าไรนะ เพราะระบบได้จัดเตรียมตัวแปรมาให้แล้ว นั้นก็คือ sy-pagno แต่จะติดปัญหาอยู่ที่ จำนวนหน้าทั้งหมดล่ะ จะหาได้จากที่ไหน หาได้จากการคำนวณ ขึ้นมา

หลักการ คือ แสดงรายงานให้เสร็จแล้วเอาค่าตัวเลขหน้าปัจจุบัน ไปทำการอับเดท ในตำแหน่งที่ต้องการ

Code

WRITE    'Page : ' , sy-pagno , '/' , 'XXX' .   "Line 3
FORM write_total_page.
DATA: page_count TYPE n.

WRITE sy-pagno TO page_count LEFT-JUSTIFIED.
page_count = page_count - 1.

DO sy-pagno TIMES.
READ LINE 3 OF PAGE sy-index.
REPLACE 'XXX' WITH page_count INTO sy-lisel.
MODIFY CURRENT LINE.
ENDDO.

ENDFORM.                    " WRITE_TOTAL_PAGE