Das Element SAP-Restifier ist eine Erweiterung des REST-Elements und speziell darauf abgestimmt, über den Restifier ein SAP-System anzusprechen. Das Restifier-Element kann nur gemeinsam mit dem Element System eingesetzt werden: Während im Restifier-Element die eigentliche Abfrage formuliert wird, enthält das Element System die Angabe zum Adressat der Abfrage. Im Unterschied zum REST-Element handelt es sich bei Anfragen über den SAP-Restifier immer um POST-Anfragen, da die Suchparameter als JSON-Objekt übergeben werden. 

Beispiel: Kundendaten aus einem SAP-System übernehmen

In einer Business App sollen Kundendaten aus einem SAP-System verwendet werden. Die gewünschten Kundendaten werden über eine Abfrage mit dem SAP-Restifier beschafft.

Das EPK-Modell Kundendaten mit SAP-Restifier wird angelegt und geöffnet.

Innerhalb des Modells wird eine EPK angelegt.

Im ersten Funktionsschritt soll eine Kundennummer in eine Suchmaske eingegeben werden.

Über die Kundennummer wird der gewünschte Datensatz im SAP-System identifiziert. Dies geschieht im Schritt Daten abfragen, an den die Integration angehängt wird.

Mit den ermittelten Daten sollen anschließend die Formularfelder in Anzeige der Kundendaten vorbelegt werden.
Um das Restifier-Element verwenden zu können, muss die Integration geöffnet werden.

Nur der Editor innerhalb des Elements Integration enthält das Element SAP-Restifier, das nun auf der Arbeitsfläche angelegt werden kann.

Benötigt wird eine einfache EPK mit System, Funktion und Restifier-Element.

In den System-Optionen wird im Feld URL die Adresse des SAP-Restifiers eingetragen.

Weitere Informationen zum SAP-Restifier können Sie in der BRIDGE Dokumentation (engl.) unter RESTifier for SAP nachlesen.

Wenn Ihr SAP-Restifier in Ihrer Kundenumgebung liegt, vergessen Sie nicht, im Element System auch das Feld URL (Intern) auszufüllen.

Über den Button Suche oder einen Doppelklick auf das Restifier-Element öffnet man die Benutzeroberfläche des Restifiers.

Die Benutzeroberfläche wird in einem Pop-up-Fenster eingeblendet. Hier kann man nach der SAP-Schnittstelle (RFC-Baustein bzw. BAPI) suchen, die man für seine Abfrage nutzen möchte.

Im Beispiel wird nach dem Baustein BAPI_CUSTOMER_GETDETAIL gesucht. Drei Einträge werden gefunden, BAPI_CUSTOMER_GETDETAIL2 wird ausgewählt.

Unterhalb des ausgewählten Bausteins werden weitere Felder angezeigt. Hier kann man den Aufruf zunächst testen.

Die Anzeige im Pop-up-Fenster ist oft zu klein, um alle Details gleichzeitig einzublenden. Sie können die Benutzeroberfläche des Restifiers auch direkt im Browser öffnen. Geben Sie dafür die URL aus dem Element System direkt in die Adresszeile des Browsers ein.

Unterhalb des Bausteins können zugehörige Werte eingegeben werden, um die Abfrage zu testen. Mit einem Klick auf den Button POST startet man den Test.

Die Abfrage wird ausgeführt. Im Anschluss wird das Ergebnis der Abfrage angezeigt. Im Reiter Raw werden die zugehörigen Daten als JSON-Objekt angezeigt.

Die Liste ist hilfreich, da sie die Bezeichnungen anzeigt, unter denen die ermittelten Daten angesprochen werden können.

Nach dem Auslösen des POST-Aufrufs erscheint die Abfrage Übernahme der Daten nach BPaaS. Mit einem Klick auf OK wird der ausgewählte Baustein übernommen - inklusive eventuell eingegebener Testdaten.

Über den Button OK schließt man die Benutzeroberfläche des SAP-Restifiers.

Damit ein Baustein übernommen werden kann, muss vorher die zugehörige POST-Abfrage im Pop-up-Fenster einmal ausgelöst werden. Es ist unerheblich, ob dafür Testdaten eingegeben wurden.

Nach der Bestätigung schließt sich das Pop-up und der ausgewählte Baustein wird im Feld Name des RFC Bausteins angezeigt.

Die Liste der Parameter ist leer, wenn in der Restifier-Benutzeroberfläche keine Testdaten eingegeben wurden. Sie können die gewünschten Parameter der Abfrage manuell in die Liste eintragen.

Wurden jedoch Testdaten eingegeben, werden die zugehörigen Parameter direkt in die Liste der Parameter übernommen.

Im Beispiel wurde unter Customer eine Kundennummer mitgegeben:

Der zugehörige Parameter CUSTOMERNO wird anschließend mit dem eingegebenen Testwert 0000400001 in der Liste der Parameter angezeigt.

Die Abfrage soll aber nicht jedes Mal mit 0000400001gesendet werden, sondern mit der Kundennummer, die im Formular Suchmaske eingegeben wird.

Der Inhalt des Parameters wird daher so abgeändert, dass er die Daten aus dem Feld Kundennummer enthält.

Im SAP-Restifier sind nun alle nötigen Daten gespeichert. Nach dem Wechsel zurück in die EPK kann man über den Play-Button testen, ob die Integration Daten zurück liefert.

Im Test-Modus wird eine gültige Kundennummer mitgegeben.

Die ermittelten Daten können nicht angezeigt werden, da die Formularfelder noch nicht auf die korrekten Feldnamen im Container zugreifen.

Ein Klick auf Weiter ermöglicht es dem Anwender, sich die Daten im Container anzeigen zu lassen:

Im Container wird das Ergebnis der Integration angezeigt.

Die ermittelten Daten liegen nach der Abfrage unter den angezeigten Bezeichnern im Container vor und können für die Anzeige in Formularen verwendet werden. Dafür müssen den Formularfeldern die entsprechenden Feldnamen im Container zugewiesen werden.

Die Ergebnisse der Abfrage sind geschachtelt. Für jede geschweifte Klammer muss unter Feldname im Container ein Punkt gesetzt werden.



Beispiel:

Im Formular Anzeige der Kundendaten soll im Feld Name der Inhalt von NAME angezeigt werden. Der Feldname im Container muss daher lauten: integration.result.result.CUSTOMERADDRESS.NAME

Alle Felder, die mit ermittelten Daten aus der Abfrage vorbelegt werden sollen, erhalten entsprechende Feldnamen im Container.

Anschließend kann die App ausgeführt werden.

Die Eingabe einer gültigen Kundennummer...

...führt zur Ausgabe der entsprechenden Daten im Formular Anzeige der Kundendaten.

Die ermittelten Daten sind flüchtig. Erst wenn sie über einen Speichern-Button im Formular gesichert werden, sind sie im Container dauerhaft gespeichert. Gesichert werden nur die Daten, die im Formular verwendet werden (siehe Seite Flüchtige Werte in die Datenbank speichern).

  • No labels