Robert Pagels
 - 5. April 2018

HowTo: Papierformat von Adobe Formularen aussteuern

EU-DSGVO

Viele SAP-Formulare (wie zum Beispiel Rechnungen, Auftragsbestätigungen, etc.) werden nicht nur in Deutschland, sondern auch in anderen Ländern wie den USA ausgegeben, dabei ergibt sich häufig die Anforderung, dass der Ausdruck in einem anderen Papierformat von Adobe Formularen als A4 erfolgen soll. Adobe Formulare bieten bereits nativ die Möglichkeit das Papierformat für Masterseiten im LiveCycle Designer einzustellen.

Eine Möglichkeit bei Adobe Forms eine Anfangsseite mitzugeben gibt es allerdings nicht. Im Gegensatz zu den Vorgängertechnologien SAP Script und Smart Forms werden in diesem Fall häufig zwei Formulare angelegt, auch wenn deren Layout und Logik nahezu identisch sind. Die Verwendung von zwei oder mehr Formularen bedeutet dabei aber auch immer einen Mehraufwand in der Erstellung und Wartung.

Im Folgenden möchte ich Ihnen eine Methode vorstellen, die mit Hilfe von Scripting eine Aussteuerung des Seitenformats ermöglicht. Als Beispiel wird in diesem Beitrag die zusätzliche Ausgabe im Format Letter erklärt.

Anpassungen im Layout

Zuerst sollen alle Punkte erläutert werden, die im Layout angepasst werden müssen, damit die Aussteuerung funktionieren kann.

Weitere Masterseiten anlegen

Papierformat von Adobe Formularen
Masterseiten geben bei einem Adobe Formular die Papierart vor. Daher muss für jedes weitere Ausgabeformat eine weitere Masterseite angelegt werden. Hierbei sollte Sie die gleiche Anzahl wie im Ursprungsformat erstellen. Kennzeichnen Sie die neu erstellten Masterseiten am besten mit einem passenden Suffix (in unserem Beispiel „_letter“) um spätere Unterscheidung zu erleichtern.
Papierformat von Adobe Formularen
In diesen Masterseiten stellen Sie zunächst das gewünscht Format ein und kopieren anschließend alle Elemente der Ursprungsmasterseiten auf die entsprechenden Letter-Masterseiten. Dies funktioniert am einfachsten über Strg+C und Strg+V oder durch das Anpassen der XML des Formulars.
Papierformat von Adobe Formularen
Nach dem Einfügen müssen Sie nur noch die Objekte entsprechend positionieren und die Größe des Inhaltsbereiches anpassen, damit dessen Inhalt korrekt dargestellt werden kann.

Leere Inhaltsseiten in Adobe einfügen und platzieren

Nach dem Anlegen der zusätzlichen Masterseiten wollen wir dem Formular noch beibringen, welches Seitenformat es bei der Ausgabe verwenden soll. Dazu fügen wir vor der bereits existierenden Inhaltsseite zwei leere Seiten ein, welche jeweils ein Ausgabeformat repräsentieren und auch so benannt werden. Setzen sie anschließend dunter dem Reiter Teilformular den Inhalt der beiden Seiten auf Textfluss.
Papierformat von Adobe Formularen
Anschließend erhalten alle erstellten Seiten ein ausgeblendetes Textfeld. Dieses Textfeld wird später dafür genutzt, dass an Hand eines Wertes im Kontext das Ausgabeformat über Scripting vorgegeben wird. Zunächst müssen die „leeren“ Seiten aber noch den richtigen Masterseiten zugeordnet werden. Dazu wählen sie über Paginierung -> Platzieren -> In Inhaltsbereich die zugehörigen Inhaltsbereiche aus.
Papierformat von Adobe Formularen
Mit diesen Anpassungen würden momentan immer beide Ausgabeformate generiert werden. Der große Vorteil dieses Vorgehens wird an dieser Stelle bereist sichtbar: Der Inhaltsbereich mit allen dynamischen Elementen ist für beide Ausgabeformate identisch. Das bedeutet, dass Anpassungen aller Art (neue Werte, Übersetzungen, weitere Felder, …) nur an einer Stelle durchgeführt werden müssen.
Nun fehlt nur noch das Ausblenden des nicht gewollten Papierformats. Dies geschieht über Scripting in FormCalc.

Implementierung des Scriptings im Adobe Formular

Blenden Sie zunächst den Scriptingbereich in Ihrem LiveCycle Designer im oberen Bereich ein. Eventuell muss dieser über Fenster -> Skript-Editor geöffnet werden. Dort werden wir jetzt über Bedingungen die Sichtbarkeit für die leeren Inhaltsseiten dynamisch zur Generierung einstellen. In unserem Beispiel unterscheiden wir nur zwischen zwei Ausgabeformaten und können deshalb mit einer einfachen Variablen arbeiten, bei der „X“ Letter-Format und „“ A4-Format bedeutet.
In diesem Fall wählen wir die A4-Inhaltsseite aus und binden folgende Zeilen FormCalc ein:
Papierformat von Adobe Formularen
Achten Sie dabei auf den Scriptingzeitpunkt initialize, die Sprache FormCalc und dass das Scripting für den Client und Server durchgeführt wird. Wie oben beschrieben wird die A4-Seite inaktiv gesetzt, wenn die gebundene Variable aus dem Kontext ein „X“ enthält. Das Gegenteil wird für die Letter-Inhaltsseite eingestellt.

Zusätzlich muss an dieser Stelle beachtet werden, dass eine Aussteuerung aller Überläufe der enthaltenen Tabellen und Teilformulare ebenfalls über Sctipting gesteuert werden muss, da sonst eine Tabelle von einer Letter-Seite auf eine A4-Seite läuft. Diese Überläufe werden am Besten über die XML-Quelle des Formulars gefunden und können wie die Sichtbarkeit der Inhaltsseiten per FormCalc-Script gesteuert werden.

E-Book SAP Adobe Forms

Im folgenden E-Book wird die neue Formulartechnologie SAP Adobe Forms im Detail vorgestellt und ein Bezug zur Praxis hergestellt.

Erweiterungen im Adobe Kontext

Wie oben bereits angesprochen muss am Schluss noch ein Wert auf das ausgeblendete Feld auf den „leeren“ Inhaltsseiten gebunden werden. In unserem Beispiel wurde ein entweder-oder-Fall betrachtet, wonach entweder A4 oder Letter als Papierform generiert wird. Dies kann aber beliebig erweitert und verfeinert werden. So kann sich das Ausgabeformat beispielsweise nach dem Buchungskreis, der Verkaufsorganisation, der Formularsprache oder einer Kombination verschiedenster Kriterien richten. Dafür muss einzig die Entscheidung im FormCalc-Script angepasst werden.

An dieser Stelle empfehlen wir jedoch die Code-Initialisierung der Schnittstelle Ihres Adobe Formulars zu verwenden. Dort kann über ABAP jegliche Logik zur Aussteuerung implementiert und durch eine einzelne Variable an den Kontext übergeben werden. Dadurch bleibt Ihr Formular wartbarer und das Scripting im LiveCycle Designer übersichtlicher.

Haben Sie noch Fragen zur Aussteuerung von Ausgabeformaten oder Adobe Formularen allgemein? Zögern Sie nicht uns über die Kommentare oder die angegebenen Adressen zu kontaktieren und wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen.

Robert Pagels

Mein Name ist Robert Pagels und ich bin begeisterter SAP Consultant bei mindsquare. Mein Fokus liegt dabei auf Adobe und HR-Formularen. Gern stehe ich für all Ihre Formularfragen zu Verfügung.

Sie haben Fragen? Kontaktieren Sie mich!




Das könnte Sie auch interessieren


Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support