This is a test message to test the length of the message box.
Login

Skript: OData Batch Creator [007]

99

Du möchtest einfach und ohne Kopfschmerzen Batch-Requests in OData erstellen und testen können? Ohne die Regeln zu kennen wird es schwer. Mit diesem kleinen Tool sollte es in Zukunft aber kein Problem mehr sein.

Werbung


Einleitung

Herzlich Willkommen zur aktuellen Folge. In dieser Folge geht es um den O Data batch Creator, ein Tool was wir selbst geschrieben haben. Bevor wir allerdings in das Tool einsteigen, schauen wir uns noch einmal das API Pattern für Rap an. Beim RAP Pattern geht es darum dass wir einen Endpunkt zur Verfügung stellen, der Daten entgegennehmen kann. Das Objekt ist sehr einfach aufgebaut wir haben einen Service und eine Custom Entity, diese fungiert als Struktur und wir bauen dazu einen Behavior welches die Daten durch das RAP Framework schleust und am Ende können wir die Daten flexibel verarbeiten. Innerhalb des RAP Frameworks verwenden wir die Methoden CREATE, CHECK_BEFORE_SAVE und SAVE. Damit wir die Daten von der Create Methode übergeben können verwenden wir einen lokalen Puffer innerhalb der Klasse.

Schauen wir uns dazu einmal die Implementierung in den ABAP Development Tools an, dazu haben wir bereits das Paket in unsere Struktur eingebunden. Dazu öffnen wir im ersten Schritt die Custom Entity und schauen uns die Struktur an. Hier findest du 4 Felder, die unsere Daten wiederspiegeln. Als nächstes gehen wir in die Behavior Implementation dort schauen wir uns die CREATE Methode an. In der Create Methode übernehmen wir die Daten nur noch in den Puffer, mehr Aufgaben hat diese Methode nicht. In der CHECK_BEFORE_SAVE Methode haben wir die Möglichkeit die Daten aus dem Puffer zu nehmen und zu überprüfen, sollten wir Fehler finden oder die Daten nicht vollständig sein so können wir die Datensätze ablehnen lehnen und diese werden als Fehler an den Aufrufe zurückgegeben. Die letzte Methode ist die SAVE Methode, diese ist nur noch dafür verantwortlich die Daten dann an die Weiterverarbeitung zu übergeben.

Den Artikel findest du in der Videobeschreibung um weitere Details zur Funktionsweise des RAP Patterns zu erfahren.

 

Metadata

Im nächsten Schritt brauchen wir die Metadaten des Services, dazu verwenden wir das Tool Postman in der Online Version. Hier haben wir bereits eine Abfrage vorbereitet, hierbei handelt es sich um eine GET Abfrage. Hinter dem Service findest du $metadata, ansonsten gibt es nichts weiter zu beachten außer dass wir uns Anmelden müssen am Service. Die Anmeldung und die URL ist bereits im Hintergrund vergeben. Den Inhalt des Ergebnisses können wir über die Taste kopieren und in einer neuen XML Datei speichern.

 

OData Batch Creator

Das Tool findest du auf unserer Seite im Menü unter SAP. Aktuell befindet sich das Tool noch im Beta Status. Im ersten Schritt müssen wir die Datei laden um alle möglichen Informationen aus dem Service bekannt zu geben. Nach dem Laden können wir neue Defaktionen definieren hierbei handelt es sich um die verschiedenen Aktionen die wir dem Batch Request mitgeben möchten. Insgesamt definieren wir 3 Aktionen, um 3 neue Datensätze anzulegen. Über den Button Refresh laden wir dann die Daten in die Anzeige. Dort sehen wir die Erweiterung für die URL, den neuen Content den wir benötigen und die Payload die wir jetzt noch anpassen müssen. Zum Abschluss passen wir noch die einzelnen Datensätze an, die Location ID muss mit einem "L" beginnen hier können der eine freie Nummer verwenden, als Location Namen nehmen wir einen Ort und um es zu vereinfachen verwenden für für die Koordinaten eine zufällige Richtung. Die Einwohnerzahl definieren wir ebenso zufällig, um einige Testdaten zu erhalten. Zum Abschluss kopieren wir den Content Type, sowie die Payload.

 

Test

Zum Abschluss beginnen wir mit dem eigentlichen Test, dazu kopieren wir die Payload in den Body unserer Abfrage und den Content-Type in die Header Felder. Der Content-Type ist deshalb wichtig, weil er die Batch-ID enthält die eindeutig ist. Wichtig ist dass wir am Ende der URL einen $batch haben.

Im nächsten Schritt brauchen wir einen X-CSRF-Token diesen holen wir uns über eine einfache GET Abfrage. Dazu müssen wir in den Header-Feldern ein FETCH mitgeben. Haben wir die Abfrage durchgeführt dann finden wir im Response-Header den entsprechenden Token den wir dann in unserem Batch-Request verwenden können.

Den Token kopieren wir uns dann und fügen ihn in unserem Batch-Request in den Header ein. Hier darauf achten dass keine Sonderzeichen oder Leerzeilen enthalten sind. Bevor wir dann die Abfrage abschicken, setzen wir noch einen Breakpoint bei uns in der SAVE Methode. Wichtig dabei ist, den Breakpoint auf den externen User zu setzen mit dem wir uns auch am System anmelden. Führen wir dann die Abfrage durch startet bei uns der Debugger und wir befinden uns in der SAVE Methode. Dort können wir dann die Einträge prüfen, die wir erhalten haben. Die Daten entsprechen den konfigurierten Daten der Anfrage.

Zum Abschluss lassen wir den Debugger durchlaufen und speichern das Ergebnis. Gehen wir dann zurück in den Postman, können wir das Ergebnis prüfen, in dem wir uns den Response anschauen. Dort finden wir für jeden Datensatz einen eigenen Response der den Status 201 haben sollte.

 

Fazit

Das API Pattern ist ein spezielles Pattern für Endpunkte bei dem wir vor allem das RAP Framework wiederverwenden. Damit können wir sehr leicht Endpunkte im System umsetzen und die weitere Verarbeitung sehr flexibel gestalten. Mit dem OData Batch Creator können wir dann ganz einfach diesen Endpunkt testen und eine Massenverarbeitung simulieren. Möchtest du weitere Informationen zum Tool haben Dann schau bei uns auf der Seite vorbei.

Danke fürs Zuschauen und bis dahin.

 

YouTube
Video


Enthaltene Themen:
YouTubeSkriptSwH ToolsODataBatch
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Dienstag und Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


Skript: Recycling-Heroes - Create by Factory Actions (Contact) [015]

Kategorie - YouTube

In dieser Folge beschäftigen wir uns mit Factory Actions, Late Numbering und Nummernkreise. Zum Abschluss vervollständigen wir die UI und Navigation und kümmern uns um ein besseres Fehlerhandling.

31.08.2025

Skript: ABAP Tools - Update your IDE [014]

Kategorie - YouTube

Wie kannst du deine aktuelle Version in den ABAP Development Tools einsehen, die Einstellungen für den Update finden und ein Update durchführen? In diesem Video gehen wir auf die verschiedenen Details ein.

24.08.2025

Skript: Recycling-Heroes - Virtual elements for UI Features (Contact) [013]

Kategorie - YouTube

Wie kannst du über virtuelle Felder dem UI weitere Informationen zur Verfügung stellen und damit sogar bestehende Felder beeinflussen? In dieser Folge schauen wir uns verschiedene Punkte rund um das Thema virtuelle Felder an.

17.08.2025

Skript: Recycling-Heroes - Value Helps and Texts (Contact) [012]

Kategorie - YouTube

Was fehlt der Kontakt App noch, damit sie durch den Enduser genutzt werden kann? Eigentlich nur noch etwas Komfort, mehr Hilfe und eine Suche für die Werte.

10.08.2025

Skript: Recycling-Heroes - UI Design Contact [011]

Kategorie - YouTube

Wie bringen wir nun die Felder auf das UI und in sinnvollen Gruppen zusammen? In dieser Folge schauen wir uns die Details des UI Designs, am Beispiel der Kontakte, an. Dabei gehen wir Abschnitt für Abschnitt durch die Anwendung.

03.08.2025