Gesamtseitenzahl in einer Liste

Die Anzahl der ausgegebenen Seiten können — anders als bei SAP-Skript oder Smartforms — erst am Ende der Liste ermittelt werden. Mit einem kleinen Trick kann die Gesamtseitenzahl jedoch in den Listenkopf integriert werden.

Die Ausgabe einer Gesamtseitenzahl ist in Listen nicht vorgesehen… Mit diesem Coding klappt es trotzdem:

Coding

REPORT zztotalpages
*** Damit eine eigener Seitnkopf definiert werden kann, darf die Liste 
*** keinen Standard-Seitenkopf bekommen:
       NO STANDARD PAGE HEADING LINE-COUNT 30.

*** Datendeklaration
DATA lv_total_pages TYPE i.
DATA lv_page(3)     TYPE c.

START-OF-SELECTION.
*** Ausgabe einer Dummy-Liste
  DO 100 TIMES.
    WRITE:/ sy-index.
  ENDDO.

END-OF-SELECTION.

*** Platzhalter durch Gesamtseitenzahl ersetzen
  lv_page = lv_total_pages.
  DO lv_total_pages TIMES.
    READ LINE 1 OF PAGE sy-index.
*** Platzhalter ersetzen
    REPLACE ‘@@@’ IN sy-lisel WITH lv_page.
    MODIFY LINE 1 OF PAGE sy-index.
  ENDDO.

TOP-OF-PAGE.
*** eigener Seitenkopf
  WRITE:/60 ‘Seite’, sy-pagno, ‘/’,’@@@’.
*** Gesamtseitenzahl merken
  lv_total_pages = sy-pagno.

Dank an Nitin Jameel

Enno Wulff