Select language:

Web-Dynpro-Anwendung mit Formular erstellen

Verwendung

Sie können ein neues Formular inklusive der Formular-Schnittstelle direkt aus dem Web Dynpro Explorer der Development Workbench anlegen. Ebenso ist es möglich, ein bereits im System vorhandenes Formular in Ihre Web-Dynpro-Anwendung zu integrieren.

Grundsätzlich können Sie innerhalb jeder View einer beliebigen Component ein Formular einbinden, es kann jedoch oft sinnvoll sein, für die Integration eines Formulars eine eigene View anzulegen. Beachten Sie jedoch, dass immer nur ein interaktives Formular pro Browser-Window angezeigt werden kann.

Die Vorgehensweise zur Erstellung bzw. Verwendung von interaktiven- bzw. Druckformularen ist gleich.

Vorgehensweise

Sie möchten ein neues Formular erstellen

  1. Legen Sie im Web Dynpro Explorer eine View an oder wählen Sie eine View aus, in die Sie ein Formular einbetten möchten.

  2. Legen Sie im Context der View den Knoten mit Attributen an, der die Daten des Formulars enthalten soll.

  3. Fügen Sie ein InteractiveForm UI-Element in Ihre View ein.

  4. Geben Sie für die Eigenschaft templateSource den Namen eines noch nicht im System existierenden Formulars ein.

    Es erscheint ein Dialogfenster Formular-Schnittstelle spezifizieren.

  5. Geben Sie den Namen einer noch nicht im System existierenden Formular-Schnittstelle an und wählen Sie Context.

    Es erscheint ein Dialogfenster zur Auswahl des an die Eigenschaft dataSource zu bindenden Context-Knotens.

  6. Wählen Sie den unter 2. angelegten Context-Knoten.

    Auf der Basis des von Ihnen ausgewählten Web-Dynpro-Contexts wird eine neue Formular-Schnittstelle und ein neues Formular generiert.

  7. Der Form Builder wird geöffnet und Sie können nun Ihr neues Formular erstellen.

    Weitere Informationen: Ausgabeformulare und interaktive Offlineformulare bereitstellen

    • Wählen Sie auf dem Register Eigenschaften des Form Builders als Layout Typ die Option ZCI Layout und bestätigen Sie die in der Statuszeile angezeigte Meldung mit Enter.

      Layout Typ ZCI Layout

    • Auf dem Register Layout des Form Builders fügen Sie mittels Anfang des Navigationspfads Hilfsmittel Nächster Navigationsschritt Web Dynpro Skript einfügen Ende des Navigationspfads das sog. ZCI-Skript in das Formular ein.

      Danach ist in der Hierarchie-Sicht im Form Builder der Eintrag ContainerFoundation_JS zu sehen.

      Hinweis

      Falls Sie die Adobe Document Services aus EhP1 verwenden, müssen Sie das Skript nicht mehr extra einfügen. Die Adobe Document Services fügen das Skript ab diesem Release automatisch in das PDF-Dokument ein.

    • Stellen Sie Ihr Formular nun mit den UI-Controls aus der Web Dynpro Native Bibliothek zusammen:

      Web Dynpro Native Bibliothek

  8. Sichern und aktivieren Sie Ihr Formular.

  9. Wechseln Sie nach dem Abschluss der Formular-Gestaltung wieder zur Bearbeitung der Web-Dynpro-View.

    Die Eigenschaft dataSource des InteractiveForm UI-Elements ist nun entsprechend Ihrer Angaben gesetzt worden.

  10. Legen Sie fest, ob es sich um ein Druckformular oder ein interaktives Formular handelt.

    • Wenn es sich um ein reines Druckformular handelt, deaktivieren Sie die Eigenschaft enabled des InteractiveForm UI-Elements.

    • Wenn es sich um ein interaktives Formular handelt, aktivieren Sie die Eigenschaft enabled des InteractiveForm UI-Elements.

Sie möchten ein bereits im System vorhandenes Formular verwenden

Sie können auch ein bereits im System vorhandenes Formular Formular in Ihre Web-Dynpro-Anwendung integrieren. Auf Basis der Schnittstelle des ausgewählten Formulars kann nun für das InteractiveForm UI-Element automatisch ein Context-Knoten mit Attributen generiert werden. Die Eigenschaft dataSource des UI-Elements wird automatisch an diesen Context-Knoten gebunden.

  1. Legen Sie im Web Dynpro Explorer eine View an oder wählen Sie eine View aus, in die Sie ein Formular einbetten möchten.

  2. Fügen Sie ein InteractiveForm UI-Element in Ihre View ein.

  3. Geben Sie für die Eigenschaft templateSource den Namen des bereits existierenden Formulars ein.

    Es erscheint ein Dialogfenster, das Sie darüber informiert, dass ein zur Formular-Schnittstelle passender Context-Knoten vom System generiert und an die Eigenschaft dataSource gebunden werden kann.

  4. Bestätigen Sie die Abfrage auf dem Dialogfenster.

  5. Legen Sie fest, ob es sich um ein Druckformular oder ein interaktives Formular handelt.

    • Wenn es sich um ein reines Druckformular handelt, deaktivieren Sie die Eigenschaft enabled des InteractiveForm UI-Elements.

    • Wenn es sich um ein interaktives Formular handelt, aktivieren Sie die Eigenschaft enabled des InteractiveForm UI-Elements.

  6. Gegebenenfalls ist eine Aktualisierung des verwendeten Templates erforderlich.

    Die Vorgehensweise ist in SAP Hinweis 956074 Auf SAP-Site veröffentlichte Informationen beschrieben.

    Weitere Informationen: Formularlayouts prüfen und aktualisieren

Nachträgliches Ändern des Web-Dynpro-Contexts bzw. der Formular-Schnittstelle

Stellen Sie im Verlauf der Entwicklung Ihres Formulars fest, dass mehr oder weniger Daten auf dem Formular benötigt werden, so sollten Sie zunächst den an die Eigenschaft dataSource gebundenen Context entsprechend anpassen. Danach kann die Formular-Schnittstelle neu generiert werden: Durch Auswahl der Funktion XML Schema generieren wird die Formular-Schnittstelle angepasst.

Auch durch Vorwärtsnavigation auf der Eigenschaft templateSource des InteractiveForm UI-Elements haben Sie die Möglichkeit, die Formular-Schnittstelle neu generieren zu lassen.

Hinweis

Beachten Sie jedoch, dass die Formular-Schnittstelle auch für andere Formulare verwendet werden könnte und prüfen Sie eventuelle Abhängigkeiten, bevor Sie eine Schnittstelle ändern.

Auch der an die Eigenschaft dataSource gebundene Context kann nachträglich über die Funktion Context generieren anhand der Formular-Schnittstelle erzeugt werden.

Ergebnis

Das PDF-Dokument wird nun innerhalb Ihrer Web-Dynpro-Applikation in einem Adobe Reader Browser Plugin angezeigt. Es stehen Ihnen die üblichen Adobe-Funktionen über die entsprechenden Schaltflächen zur Verfügung, z.B. Drucken und als Kopie abspeichern.

Wenn Sie das vom System aus dem Formular ( templateSource) und den dazugehörigen Daten ( dataSource) erzeugte PDF-Dokument in Ihrer Anwendung weiterverarbeiten möchten (z.B. auf der Datenbank abspeichern und archivieren), so müssen Sie die Eigenschaft pdfSource an ein Context-Attribut vom Typ XSTRING binden. Beachten Sie dabei die Performance-Aspekte zu interaktiven Formularen.

Hinweis

Beachten Sie bei der Layout-Gestaltung die Aspekte zum Übersetzungsanschluss für Formulare.

Alternativ können Formulare auch völlig unabhängig von Web-Dynpro-Anwendungen mit Hilfe des Form Builders (Transaktion SFP) bearbeitet werden.