Show TOC

Adobe-Formularlayout programmgesteuert generierenLocate this document in the navigation structure

Voraussetzungen

Sie sind mit der XFA-Spezifikation vertraut.

Weitere Informationen: Adobe-Homepage, Seite Adobe XML Forms Architecture (XFA) (über search.adobe.com )

Hinweis

Adobe bezeichnet das im XFA-Format abgelegte Layout eines Formulars als Formularvorlage. Im SAP-System beinhaltet eine Formularvorlage zusätzlich zum Layout auch Informationen zur Datenbeschaffung.

Kontext

Sie können Formularlayouts alternativ zur manuellen Erstellung mit Adobe LiveCycle Designer über eine Programmierschnittstelle (API) programmgesteuert generieren. Das programmgesteuert erzeugte Formularlayout ist im Adobe LiveCycle Designer anzeigbar.

Empfehlung

Da die Programmierschnittstelle im Vergleich zum vollen Funktionsumfang des Adobe LiveCycle Designers nur eine Auswahl an XML-Tags und Attributen der XFA-Spezifikation anbietet, empfehlen wir, hiermit nur einfache Formulare zu generieren.

Vorgehensweise

  1. Nutzen Sie zum Definieren eines Formularlayouts die Interfaces aus dem Paket SAXFT.
    Hinweis

    Ein Interface entspricht genau einem Tag aus der XFA-Spezifikation.

  2. Erzeugen Sie den Root-Knoten, indem Sie ein Objekt der Klasse CL_SXFT_TEMPLATE über CREATE_OBJECT instanziieren.

    An diesem Objekt können Sie die Methode GET_FACTORY() aufrufen, über die Sie ein Factory-Objekt erhalten.

  3. Erzeugen Sie die nachfolgenden XFA-Elemente, indem Sie sich über eine Create-Methode des Factory-Objekts das entsprechende Objekt instanziieren lassen.
    • Bauen Sie das XFA-Dokument folgendermaßen auf:

      • Setzen Sie einfache Attribute über Set-Methoden und übergeben Sie dem Parameter VALUE den Attributwert in Hochkommata.

      • Setzen Sie Attribute, die eigene Elemente sind, über Set-Methoden und übergeben Sie dem Parameter VALUE ein Objekt, welches das Attribut (und somit das neue Element) repräsentiert.

        Hinweis

        Ausnahme: Sie müssen Attribute, die eigene Elemente sind, aber nur wenige eigene Attribute haben, nicht extra erzeugen. Sie können die Werte über die entsprechende Set-Methode direkt setzen (z.B. < margin > und < color >).

      • Setzen Sie Kind-Elemente über die Methode IF_SXFT_NODE~APPEND_CHILD(NEW_CHILD). Das Interface IF_SXFT_NODE wird von allen Interfaces umfasst, die XFA-Elemente repräsentieren.

    • Nutzen Sie für Attribute, die sehr häufig gesetzt werden, zusammenfassende Interfaces:

      • Das Interface IF_SXFT_ALIGNMENT fasst die Set-Methoden für die Attribute VALIGN und HALIGN zusammen. Dieses Interface wird von all denjenigen Interfaces umfasst, welche Elemente mit diesen Attributen repräsentieren.

      • Das Interface IF_SXFT_MEASUREMENT fasst die Set-Methoden für die Attribute X, Y, W, H und Layout zusammen. Dieses Interface wird von all denjenigen Interfaces umfasst, welche Elemente mit diesen Attributen repräsentieren.

Beispiel

Eine Beispielimplementierung finden Sie in dem Programm RSXFT_XFT_API_DEMOII.

Das Programm erzeugt ein Formularlayout (XFA-Datei), die außer dem Kopf- und Fußbereich einen statischen Text, eine Auswahlliste, Optionsfelder, ein Texteingabefeld und eine Drucktaste enthält. Die Generierung des Formularlayouts umfasst keine Datenbindung (keinen Kontext der Formularvorlage).