SAP Interactive Forms by Adobe: Effiziente Formularlösungen für Ihr Unternehmen

SAP Interactive Form Container

Die Welt der Unternehmenssoftware ist komplex und erfordert oft maßgeschneiderte Lösungen, um spezifische Geschäftsprozesse abzubilden. Im Bereich der SAP-Landschaft spielen Formulare eine zentrale Rolle bei der Datenerfassung und -weitergabe. Sap Interactive Forms By Adobe (auch bekannt als SAP Interactive Forms by Adobe LiveCycle Designer) hat sich als eine leistungsstarke und flexible Technologie etabliert, um interaktive Formulare zu erstellen, die nahtlos in SAP-Systeme integriert werden können. Dieser Artikel beleuchtet die Möglichkeiten, die SAP Interactive Forms by Adobe bietet, insbesondere in Szenarien, in denen Web-Services und keine Benutzerauthentifizierung erforderlich sind, um Ihre Geschäftsprozesse zu optimieren.

Die Herausforderung: Nahtlose Datenübertragung ohne Benutzeranmeldung

In vielen Unternehmen besteht die Notwendigkeit, Daten von externen Parteien oder Systemen zu erfassen, ohne dass diese über dedizierte SAP-Zugänge oder Portale verfügen. Stellen Sie sich vor, Kunden müssen Beschwerdemeldungen einreichen, aber sie besitzen weder ein Passwort noch Zugang zum SAP-System. Genau hier setzen SAP Interactive Forms by Adobe in Kombination mit Web-Services an. Das Ziel ist, ein interaktives Formular zu erstellen, das vom Kunden ausgefüllt wird. Nach dem Absenden werden die Daten erfasst und – ohne erneute Authentifizierung – direkt in ein SAP-Transaktionsmodul wie QM01 überführt. Die Verwendung von Web-Services ermöglicht diese direkte Kommunikation, und durch die Konfiguration ohne Benutzerauthentifizierung wird der Prozess für den Endnutzer vereinfacht und die Implementierung beschleunigt.

Voraussetzungen für SAP Interactive Forms by Adobe

Bevor Sie mit der Implementierung beginnen, stellen Sie sicher, dass die folgenden Komponenten vorhanden und konfiguriert sind:

  • ALD (Adobe LiveCycle Development Tool): Dieses Werkzeug ist unerlässlich für die Erstellung und das Design Ihrer interaktiven Formulare.
  • ADS (Adobe Document Services): Diese sind für die Laufzeitfunktionalität von Adobe Interactive Forms im SAP-System notwendig.
  • Service-Benutzer für Web-Services: Ein dedizierter Service-Benutzer, der vom Basis-Team Ihres Unternehmens konfiguriert wird, ist entscheidend für die Web-Service-Kommunikation ohne explizite Benutzerauthentifizierung. Dieser Benutzer ermöglicht die sichere, aber anonyme Anbindung an das SAP-System.

Schritt-für-Schritt-Anleitung zur Erstellung von SAP Interactive Forms by Adobe

Die folgende Anleitung führt Sie durch die wesentlichen Schritte zur Erstellung einer Anwendung mit SAP Interactive Forms by Adobe, die über Web-Services mit dem SAP-System kommuniziert, ohne dass eine Benutzerauthentifizierung erforderlich ist.

Schritt 1: Erstellung der Web Dynpro Anwendung

Die Web Dynpro Anwendung dient als Gerüst für Ihre interaktive Formularlösung.

a) Neue Web Dynpro Anwendung erstellen: Beginnen Sie mit der Erstellung einer neuen Web Dynpro Anwendung. Für die Zwecke dieser Anleitung konzentrieren wir uns auf die Kernkomponenten, ohne tief in die Details der Context- und View-Erstellung einzudringen.

b) INTERACTIVE_FORM Element einfügen: Fügen Sie in der Hauptansicht (Main View) ein neues Element vom Typ INTERACTIVE_FORM ein. Geben Sie ihm einen aussagekräftigen Namen, z. B. ADOBE_FORM.

SAP Interactive Form ContainerSAP Interactive Form Container

In den meisten Fällen benötigen Sie keinen PDFSource im Interactive Form Container, es sei denn, Sie planen spezifische programmatische Anpassungen auf Web Dynpro-Seite. Wir zeigen jedoch auch, wie Sie dies bei Bedarf handhaben.

Weiterlesen >>  Microsoft Office auf Linux installieren: Der ultimative Leitfaden (inkl. PowerPoint)

c) Datenstruktur importieren: Gehen Sie zum Context-Tab Ihrer Web Dynpro Anwendung. Importieren Sie hier die Struktur, die alle notwendigen Felder enthält, von denen Sie Werte aus dem Adobe Form zur weiteren Verarbeitung abrufen möchten.

d) Xstring Attribut für PDF_SOURCE erstellen: Erstellen Sie zusätzlich zu der importierten Struktur ein weiteres Attribut mit dem Namen PDF_SOURCE und dem Datentyp Xstring. Dieses Feld wird benötigt, um die Daten des Formulars als Binärdaten zu speichern.

Context mit PDF_SOURCEContext mit PDF_SOURCE

e) Datenquelle im Layout zuweisen: Kehren Sie zum Layout-Tab zurück. Klicken Sie im Layout-Editor auf das zuvor eingefügte INTERACTIVE_FORM Element und navigieren Sie zur Eigenschaft DataSource.

f) Felder für Adobe Form zuweisen: Klicken Sie auf den Knoten ADOBE_FORM (oder wie auch immer Sie Ihr Element benannt haben), um die Datenfelder zu importieren, die Sie zur Verarbeitung der eingehenden Adobe Formularwerte benötigen.

Binding der DatenfelderBinding der Datenfelder

g) PDF_SOURCE binden: Wiederholen Sie den Prozess für die Bindung des PDF_SOURCE-Attributs.

Die Schritte c bis g sind optional, wenn Sie die Web Dynpro Anwendung primär als Container für das Adobe Form und zur Generierung des automatischen XML-Codes für die Schnittstelle des Adobe Forms nutzen möchten.

h) Template Source konfigurieren: Klicken Sie auf die Template Source des Interactive Form Elements. Aktivieren Sie die Checkbox Enabled und geben Sie die gewünschten Height und Width Parameter an.

Template Source KonfigurationTemplate Source Konfiguration

i) Template zuweisen und Designer öffnen: Geben Sie einen Namen für Ihre Vorlage ein, z. B. ZQM_REG_TMPL. Doppelklicken Sie auf diesen Namen und klicken Sie im erscheinenden Popup auf den Context-Button. Weisen Sie hier die zuvor importierten ADOBE-Daten zu. Wenn Sie die Daten nicht direkt in Web Dynpro verarbeiten müssen, können Sie diesen Schritt überspringen und stattdessen den Use-Button klicken, um direkt zum Adobe LiveCycle Designer Tool zu gelangen.

Context Zuweisung im DesignerContext Zuweisung im Designer

Schritt 2: RFC-Funktionsbaustein und Web-Service-Erstellung (ohne Authentifizierung)

Dieser Schritt ist entscheidend, um die Verbindung zwischen dem Adobe Form und dem SAP-Backend über einen Web-Service herzustellen.

a) RFC-Funktionsbaustein erstellen: Erstellen Sie einen RFC-Funktionsbaustein. Dieser sollte alle notwendigen Ein- und Ausgabeparameter für Ihre spezifische Logik enthalten, die auch den Feldern in Ihrem Adobe Form entsprechen.

b) Web-Service aus Funktionsbaustein generieren: Navigieren Sie in Ihrem SAP-System zu Utilities -> More Utilities -> Create Web Service -> From Function Module.

Web Service GenerierungWeb Service Generierung

c) Web-Service-Namen vergeben: Geben Sie einen aussagekräftigen Namen für Ihren Web-Service ein.

d) Mapping konfigurieren: Aktivieren Sie die Checkbox Map Name.

Web Service MappingWeb Service Mapping

e) Authentifizierung und Profil auswählen: Wählen Sie hier das Profil No Authentication. Die Auswahl des Profils LOW würde bei der Anbindung über das Portal zu einer Benutzer- und Passwortabfrage führen, was in unserem Szenario nicht erwünscht ist. Mit No Authentication haben Sie zudem die Möglichkeit, den zuvor erstellten Service-Benutzer zuzuweisen.

f) Web-Service erstellen: Wählen Sie aus, ob Sie den Service als lokales Objekt erstellen oder ein Paket zuweisen möchten. Klicken Sie dann auf Continue und anschließend auf Finish.

g) Service-Definition aktivieren und SOAMANAGER aufrufen: Aktivieren Sie die Service-Definition und rufen Sie anschließend die Transaktion SOAMANAGER in Ihrem SAP-System auf. Dies öffnet den SOAMANAGER in einem Browserfenster.

Weiterlesen >>  Dietmar Hopp: Ein Leben geprägt von Unternehmergeist, Werten und gemeinnützigem Engagement

h) Web-Service-Konfiguration öffnen: Klicken Sie auf den Link Web Service Configuration.

SOAMANAGER Web Service KonfigurationSOAMANAGER Web Service Konfiguration

i) Web-Service auswählen und anwenden: Geben Sie den Namen Ihres zuvor erstellten Web-Services ein und wählen Sie ihn aus der Liste aus. Klicken Sie auf Apply Selection.

j) Konfiguration erstellen: Wechseln Sie zum Reiter Configurations und klicken Sie auf Create. Geben Sie im erscheinenden Popup einen Namen für die Konfiguration ein und klicken Sie auf Apply Settings.

Web Service Konfiguration erstellenWeb Service Konfiguration erstellen

k) Keine Authentifizierung aktivieren: Klicken Sie auf Edit, scrollen Sie nach unten und aktivieren Sie die Checkbox No Authentication.

l) Service-Benutzer zuweisen und speichern: Geben Sie den Namen Ihres Service-Benutzers und das Passwort in die entsprechenden Felder ein. Scrollen Sie nach oben und klicken Sie auf Save.

Service Benutzer zuweisenService Benutzer zuweisen

m) WSDL-Dokument öffnen: Wechseln Sie zum Reiter Overview, wählen Sie die gewünschte Bindung aus der Dropdown-Liste und klicken Sie auf den Link Open WSDL document for selected binding or service.

n) WSDL-Datei speichern: Die XML-Code-Darstellung des WSDL-Dokuments wird in einem Webbrowser geöffnet. Speichern Sie diese Datei mit der Erweiterung .wsdl.

WSDL Dokument speichernWSDL Dokument speichern

Diese WSDL-Datei ist entscheidend für die Verbindung Ihres Adobe Forms mit dem RFC-Funktionsbaustein.

Schritt 3: Gestaltung des Adobe Interfaces

Nun werden wir das Adobe Form selbst entwerfen und mit dem generierten Web-Service verbinden.

a) Interface-Eigenschaften im ALD: Öffnen Sie das Adobe LiveCycle Designer Tool. Klicken Sie im ALD-Fenster auf den Reiter Properties und wählen Sie das Z ZCI Layout (oder Ihr entsprechendes Layout) aus.

b) WebDynpro Script einfügen: Gehen Sie zurück zum Layout-Tab und klicken Sie auf Utilities -> Insert WebDynpro Script.

c) Neue Datenverbindung herstellen: Wechseln Sie zum Layout-Editor. Klicken Sie auf das Icon neben dem Data View-Tab und wählen Sie New Data Connection. Hier importieren Sie die zuvor gespeicherte WSDL-Datei. Dies lädt alle Felder aus Ihrem RFC-Funktionsbaustein in den Layout-Editor.

d) WSDL-Datei auswählen: Wählen Sie im erscheinenden Popup die Option wsdl aus und klicken Sie auf Next.

e) WSDL-Datei importieren: Navigieren Sie zum Speicherort Ihrer WSDL-Datei, wählen Sie sie aus und klicken Sie auf Next.

f) WSDL-Datei auswählen: Wählen Sie den Namen Ihrer WSDL-Datei aus der Liste und klicken Sie auf Next.

g) Authentifizierungs-Checkboxes deaktivieren: Lassen Sie alle Checkboxen deaktiviert, um zu vermeiden, dass während der Ausführung des Adobe Forms eine Authentifizierungsabfrage erscheint. Klicken Sie auf Finish.

h) Felder in Layout ziehen und Submit-Button erstellen: Auf der linken Seite sehen Sie nun die neue Datenverbindung. Wenn Sie diese erweitern, werden die Import- und Exportparameter Ihres RFC-Funktionsbausteins angezeigt. Ziehen Sie die benötigten Felder per Drag & Drop in den Layout-Designer. Gleichzeitig wird automatisch ein Button im linken Bedienfeld generiert, der beim Klick den RFC-Funktionsbaustein zur Laufzeit aufruft. Ziehen Sie diesen Button in Ihr Formular und benennen Sie ihn in Submit um.

i) Interface aktivieren: Gehen Sie zum Reiter Properties des Adobe Forms, doppelklicken Sie auf den Interface-Namen und wählen Sie X XML Schema-Based Interface, falls noch nicht geschehen. Aktivieren Sie anschließend das Interface.

Weiterlesen >>  Optimale Vereinsverwaltung mit Haufe: Sicher und Effizient zum Erfolg

Schritt 4: JavaScript-Programmierung in Adobe Forms

Für eine vollständigere Prozessautomatisierung können Sie JavaScript innerhalb des Adobe Forms nutzen, um die RFC-Funktion direkt aufzurufen, anstatt auf die Web Dynpro-seitige ABAP-Programmierung zu setzen.

a) Ereignisbehandlung für Feldänderungen: Angenommen, Sie möchten dynamisch Kundendetails abrufen, sobald eine Rechnungsnummer eingegeben wird. Sie können dies durch JavaScript erreichen. Ein bereits vorhandener Button (der Submit-Button) kann mit einem unsichtbaren Feld, das als Flag fungiert, verknüpft werden.

Klicken Sie auf das Feld Invoice Number und drücken Sie CTRL+SHIFT+F5, um den JavaScript-Editor zu öffnen. Wählen Sie im Dropdown-Menü neben dem Text Show das Ereignis exit und als Sprache JavaScript.

Das exit-Ereignis wird ausgelöst, wenn Sie nach der Eingabe eines Wertes das Feld durch Drücken der Tabulatortaste verlassen. In diesem Skript setzen Sie zunächst den Wert des Flag-Feldes auf “x”, bevor Sie den Submit-Button-Aufruf auslösen. Nach der Ausführung des RFC-Aufrufs setzen Sie den Flag-Wert zurück. Dies ermöglicht es dem RFC-Code, zwischen einem Aufruf durch Drücken der Enter-Taste nach der Rechnungsnummer (wenn das Flag gesetzt ist) und einem Aufruf durch den eigentlichen Submit-Button (wenn das Flag nicht gesetzt ist) zu unterscheiden.

b) Flag-Feld konfigurieren: Klicken Sie auf das Flag-Feld, wählen Sie das initialize-Ereignis und stellen Sie die Schriftfarbe auf Weiß.

d) Sichtbarkeit des Flag-Feldes anpassen: Setzen Sie die Sichtbarkeit des Flag-Feldes auf invisible.

f) On Submit Event in Web Dynpro auslösen (optional): Wenn Sie das On Submit Ereignis in der Web Dynpro Anwendung auslösen und die Programmierung dort durchführen möchten, ziehen Sie den Submit-Button aus der Web Dynpro Native Bibliothek. Das Klicken auf diesen Button löst automatisch das On Submit Ereignis in der Web Dynpro Komponente aus.

g) Export-Parameter anzeigen: Die Import- und Exportparameterfelder können per Drag & Drop in das Layout gezogen werden. In diesem Szenario werden Kundennamen, Materialnummer und Bestellnummer als Exportparameter des RFC zurückgegeben. Nach der Eingabe der Rechnungsnummer und dem Aufruf des RFC werden diese Felder automatisch auf dem Bildschirm gefüllt.

h) Adobe Form speichern und aktivieren: Speichern und aktivieren Sie Ihr Adobe Form. Kehren Sie dann zur Web Dynpro-Bildschirmmaske zurück, generieren und starten Sie Ihre Web Dynpro Anwendung.

Update: Viele der in diesem Artikel beschriebenen JavaScript-Funktionalitäten können heutzutage auch über das Action Builder-Werkzeug in neueren Versionen des Adobe LiveCycle Designers realisiert werden, was die Entwicklung weiter vereinfacht.

Fazit: SAP Interactive Forms by Adobe als Schlüssel zur Effizienz

Die Implementierung von SAP Interactive Forms by Adobe in Verbindung mit Web-Services und ohne Benutzerauthentifizierung bietet eine elegante Lösung für die nahtlose Erfassung und Verarbeitung von Daten in komplexen SAP-Landschaften. Diese Technologie ermöglicht es Unternehmen, externe Schnittstellen zu vereinfachen, manuelle Dateneingaben zu reduzieren und die Effizienz ihrer Geschäftsprozesse signifikant zu steigern. Durch die flexible Gestaltung und die tiefe Integration in SAP-Systeme sind SAP Interactive Forms by Adobe ein unverzichtbares Werkzeug für jedes moderne Unternehmen, das seine digitalen Prozesse optimieren möchte.