Seitenzaehler (Page) manuell setzen

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

In aller Regel wird eine Seitenumerierung in einem Formular fortlaufend sein.

Es gibt jedoch manchmal die Aufgabenstellung einen Seitenzähler z. B. auf einer bestimmten Seite neu beginnen zu lassen. Diese Aufgabe lässt sich mit JavaScript oder FormCalc lösen. Hier ist die Lösung mit FormCalc beschrieben.

Siehe auch Transaktion SFP - Seitenangaben.

Reiter Paginierung

In neuen Versionen vom Adobe LiveCycle Designer ist es auch komfortabel möglich auf den Masterseiten die Seitensteuerung zu beeinflussen.

Sollen die Seiten nicht mitzählen (z. B. ein Deckblatt), die zu einer bestimmten Masterseite gehören, dann wird das Flag "Seite in Numerierung einbeziehen" nicht gesetzt.

Es kann der Seitenzähler auch auf eine bestimmte Seitenzahl gesetzt werden mit "beginnen bei" und einer Seitenzahl.

Seitenzaehler7.jpg

Seitenzaehler8.jpg

Per Scripting

Globale Variable definieren

Um eine globale Variable zu definieren, ruft man im Adobe LiveCycle Designer die Formulareigenschaften auf.

FormCalcSeitenzaehler1.jpg


Auf dem Reiter "Variablen" wird eine neue Variable hinzugefügt. Hier mit dem Namen "myPage". Es wird ein Initialwert erwartet. Hier wird der Seitenzähler auf 0 initialisiert.

FormCalcSeitenzaehler2.jpg

Textvariable auf Masterseite hinzufügen

Die definierte Variable "myPage" erscheint nun in der Hierarchieliste am unteren Ende und kann von allen Masterseiten und Inhaltsbereichen gelesen und neu gesetzt werden.

Die benötigte Variable wird nun auf der Masterseite im Teilformular "Blatt" verwendet. Hier wird ein Textobjekt "Blatt" eingefügt mit einer Variablen "Feld in Fließtext" mit dem Namen "AktuelleSeitenzahl".

FormCalcSeitenzaehler5.jpg

Scripting hinzufügen

FormCalcSeitenzaehler3.jpg

Der Cursor wird auf das Variablenobjekt "AktuelleSeitenzahl" gestellt und beim Event "layout:ready*" die Scriptingsicht geöffnet.

FormCalcSeitenzaehler6.jpg


In diesem Fall wird als Programmiersprache FormCalc ausgewählt.

Das alte Coding für die Seitengabe wird auskommentiert mit //.

//this.rawValue = xfa.layout.page(this)

Das neue Coding wird ergänzt. Hier wird der Wert der Variablen "myPage" um einen Zähler erhöht bei jedem Aufruf der Masterseite.

myPage.value = myPage.value + 1 //globale Variable um eine Seite erhöht
this.rawValue = myPage.value    // Globale Variablen wird Seitenangabe zugewiesen

FormCalcSeitenzaehler4.jpg

Beim ersten Aufruf der "Masterseite2" wird nun die Seitenzahl 1 gesetzt und bei jedem weiteren Aufruf dieser Masterseite um eine Seite erhöht.

Web-Links