Erstellen Sie Ihren ersten sehr einfachen OData SAP Gateway Service

Es gibt derzeit so viele Informationen und scheinbar neue Technologien zur Entwicklung mobiler und reaktionsschneller Anwendungen innerhalb von SAP, dass es sehr schwierig ist zu wissen, wo man anfangen soll. Fiori ist also die Zukunft zusammen mit SAPUI5, was ist mit dem SAP Gateway und OData oder sogar HANA, Ariba (oder wie auch immer es heißt) und den endlosen anderen Namen und Technologien….. Wie passen diese alle in das große Bild für einen SAP-Entwickler?
Beginnen wir mit dem Netweaver Gateway, bei dem traditionelle SAP ABAP-Kenntnisse als Teil der Erstellung einer Fiori-App erforderlich sind.Das SAP Gateway gibt es eigentlich schon seit vielen Jahren, aber mit dem Wechsel zu Fiori / Mobile / Responsive Apps wird es immer mehr genutzt und ist jetzt ein wichtiger Bestandteil Ihrer SAP-Landschaft.Mit dem Gateway können Daten innerhalb Ihrer SAP-Systeme von außen über OData-Dienste abgerufen werden.
… In dieser neuen Fiori-Welt wird das Frontend mit SAPUI5 mithilfe der Web-IDE
erstellt…dieser ruft einen OData-Service auf, der auf Ihrem SAP-System über das SAP Gateway
angelegt wurde…der OData-Service verwendet ABAP, um SAP-Daten abzurufen, und gibt sie über den OData-Service zurück
Das folgende Beispiel zeigt Ihnen, wie Sie schnell Ihren ersten OData-Gateway-Service erstellen, indem Sie einfachen ABAP-Code verwenden, um Daten aus einer Standardtabelle auszuwählen.
Schritt 1 – SAP Netweaver Gateway Service Builder
Gehen Sie zuerst zu transaction SEGW, wo Sie Ihren Service erstellen können

Schritt 2 – Projekt erstellen
Als nächstes müssen Sie mit der Schaltfläche Erstellen ein Projekt erstellen, um alle Ihre Datenmodelle, Implementierungen, Entitätstypen, Entitätssätze usw. zu speichern. Machen Sie sich zu diesem Zeitpunkt keine Sorgen um die Terminologie, alles wird klar.

Schritt 3 – Projektdetails eingeben
Geben Sie einen Namen, eine Beschreibung und ein Paket ein. Lassen Sie alles andere als Standard, es sei denn, Sie wissen, dass Sie etwas Bestimmtes benötigen.

Schritt 4 – DDIC-Struktur importieren
Wir werden dieses Beispiel auf eine Teilmenge der Standard-SAP-Tabelle EKKO stützen. Klicken Sie im neu erstellten Projekt mit der rechten Maustaste auf den Knoten „Datenmodell“ und wählen Sie Importieren->DDIC-Struktur

Schritt 5 – Strukturdetails eingeben
Geben Sie EKKO in das Feld ABAP-Struktur ein und geben Sie einem Objekt einen Namen ein, z. purchaseorder

Schritt 6 – Eigenschaften anzeigen
Erweitern Sie den neu erstellten Knoten „Entitätstyp->purchaseorder“ und doppelklicken Sie auf den Eigenschaftenknoten

Wir werden nur die obersten Felder verwenden, also wählen Sie alle Felder unter Statu aus und löschen Sie sie

Bis es so aussieht

Hinweis: Der Grund, warum ich nicht alle Felder verwenden werde, ist, dass einige nicht mit einem Gateway-Dienst kompatibel sind, ohne den Datentyp zu ändern.Ich werde Ihnen zeigen, wo Sie den Fehler weiter unten erhalten würden, wenn Sie alle Felder verwendet hätten. Diese Informationen könnten Ihnen nur helfen, den Errorquicker zu verstehen, wenn Sie in Zukunft einen echten erstellen.
Schritt 7 – Entitätssatz erstellen
Speichern Sie Ihren bisherigen Prozess und klicken Sie dann mit der rechten Maustaste auf den Entitätssatzknoten und wählen Sie Erstellen

Schritt 8 – Alternative Möglichkeit zum Erstellen des Entitätssatzes
Alternativ doppelklicken Sie auf den Entitätssatzknoten und klicken Sie dann auf die Schaltfläche Zeile anhängen

Schritt 9 – Details zum Entitätssatz
Geben Sie den Namen des Entitätssatzes an (normalerweise ein Plural des)

Wählen Sie dann den Entitätstyp aus Auswahl Eingabehilfe

Einmal ausgewählt Drücken Sie OK (grünes Häkchen)

Entitätssatz wurde jetzt erstellt

Schritt 10 – Generieren gateway service
Doppelklicken Sie zuerst auf den Projektknoten und generieren Sie das gesamte Projekt mit der Schaltfläche „Laufzeitobjekte generieren“

Sie werden nun feststellen, dass Dienstimplementierungsobjekte erstellt wurden.Erstellen, Löschen, getEntity (Lesen), GetEntitySet (Abfragen) und Aktualisieren

Schritt 11 – Service aktivieren und warten
Jetzt müssen Sie zur Transaktion „/ IWFND/MAINT_SERVICE“ gehen Ich finde immer, dass ich das nur dann zum Laufen bringen kann, wenn ich am Anfang / n hinzufüge, dh. /n/IWFND/MAINT_SERVICE

Schritt 12 – Dienst hinzufügen
Klicken Sie in / n/IWFND/MAINT_SERVICE auf die Schaltfläche Dienst hinzufügen

Geben Sie dann die Informationen des Dienstes ein, den Sie hinzufügen möchten (Beachten Sie, dass Sie an dieser Stelle Platzhalter verwenden können, um)

Drücken Sie die Eingabetaste, um Ihren Dienst oder Dienste zu finden, die Ihren Suchkriterien entsprechen. Sobald Sie auf diejenige geklickt haben, die Sie hinzufügen möchten

Der nächste Bildschirm zeigt Ihnen die ausgewählten Servicedetails, geben Sie die Paketdetails (dh das lokale Objekt) ein und belassen Sie alles als Standard. Drücken Sie dann die OK-Taste (grünes Häkchen)

Sie sollten nun ein Popup-Fenster mit der Meldung erhalten, dass Ihr Dienst „erstellt und seine Metadaten erfolgreich geladen wurden“

Zurück zur vorherigen Seite

Schritt 13 – Finden Sie Ihren hinzugefügten Dienst
Sie werden nun zum Servicekatalog zurückgeführt.Je nachdem, wie viele Dienste Sie in Ihrem System eingerichtet haben, müssen Sie möglicherweise die Filterfunktion verwenden, um Ihren neu hinzugefügten Dienst zu finden.

Sie sollten nun die Service-Setup-Details und eine grüne Ampel neben dem ODATA ICF-Knoten in der unteren linken Ecke sehen.

Schritt 14 – SAP Netweaver Gateway Client
Wir müssen es nun mit dem SAP Netweaver Gateway Client testen, auf den über die Schaltfläche „Gateway Client“ direkt über dem ODATA-Knoten in der unteren linken Ecke zugegriffen wird

Lassen Sie dann die Anforderungs-URI als Standard „/sap/opu/odata/sap/ZTEST_PROJECT_SRV/?$format=xml“ klicken Sie einfach auf die Schaltfläche „Ausführen“

Sie sollten dann eine ähnliche HTTP-Antwort mit einem grünen status_code erhalten


Schritt 15 – Weitere Tests über SAP Netweaver Gateway Client
Jetzt können Sie die URL so ändern, dass sie mit „$metadata?sap-ds-debug = true“ und drücken Sie dann erneut ausführen, damit wir Metadateneigenschaften der purchaseorder-Entität zurückgeben können

„/ sap/opu/odata/sap/ZTEST_PROJECT_SRV/$Metadaten?sap-ds-debug=wahr“

Ändern Sie nun den URI in „/purchaseorders?sap-ds-debug = true“ am Ende, so dass wir die Daten derentity set purchaseorders

„/ sap/opu/odata/sap/ZTEST_PROJECT3_SRV/purchaseorders?sap-ds-debug=wahr“


Wenn Sie Ausführen drücken, sollten Sie den folgenden Fehler erhalten, da wir die Methode, die diese Daten füllt, noch nicht implementiert haben

Schritt 16 – Implementieren Sie die GetEntitySet-Methode
Kehren Sie nun zur SEGW-Transaktion zurück und suchen Sie die zuvor erstellten Serviceimplementierungsmethoden. Suchen Sie das aufgerufene Getentityset(Query) und klicken Sie mit der rechten Maustaste darauf. Wählen Sie dann „Gehe zu ABAP Workbench“

Die folgende Meldung wird angezeigt, dass der Vorgang noch nicht implementiert wurde. Klicken Sie einfach auf OK

Sie werden nun zu tcode SE80 weitergeleitet. In der Objektliste auf der linken Seite finden Sie die PURCHASEORDERS_GET_ENTITYSET methodwithin Methoden-> Geerbte Methoden.
Wenn Sie dies gefunden haben, klicken Sie mit der rechten Maustaste darauf und wählen Sie Redefine

Fügen Sie innerhalb des angezeigten Methodencodes einfach die folgende ABAP select Anweisung
SELECT *
BIS ZU 10 ZEILEN
AUS ekko
IN DIE ENTSPRECHENDEN FELDER DER TABELLE et_entityset ein.

Speichern und aktivieren

Schritt 17 – Testen Sie den Dienst erneut
Ändern Sie die URI erneut in „/sap /opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders?sap-ds-debug=wahr“

Dieses Mal sollten Sie einige Daten zurückgeben

Schritt 18 – Weitere Informationen
Denken Sie daran, dass ich erwähnt habe, dass nicht alle Felder aus der EKKO-Tabelle verwendet werden, da einige nicht kompatibel sind.Wenn Sie sie alle bei der Ausführung des URI „/sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders ?sap-ds-debug =true“Sie hätten die folgende HTTP-Fehlermeldung erhalten:

<?xml version="1.0" encoding="utf-8" ?>- <error xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance"> <code>HTTP/500/E/Internal Server Error <message>Call of service /sap/opu/odata/sap/ZTEST_PROJECT_SRV/purchaseorders terminated because of an error. The following error text was processed in system TST : The current statement is only supported for character-type data objects.The error occurred on the application server erpukpltm. The termination type was: RABAX_STATE.If the termination type is RABAX_STATE, you will find more information on the cause of termination in system TST in transaction ST22. If the termination type is ABORT_MESSAGE_STATE, you will find more information on the cause of termination on the application server ????? in transaction SM21. If the termination type is ERROR_MESSAGE_STATE, you can search for further information in the trace file for the work process in transaction ST11 on the application server ______. You may also need to analyze the trace files of other work processes. If you do not yet have a user ID, contact your system adminmistrator.</message> </error>

Schritt 19 – Weiterentwicklung
Der nächste Schritt besteht darin, über Ihre SAP Fiori-App auf diesen Gateway-Dienst zuzugreifen


Schritt-für-Schritt-Anleitung zur Erstellung Ihrer ersten ITS-Webtransaktion basierend auf dem Standard-ABAP-Dialogprogramm mit SE80
SAP Netweaver Business Client
Entwicklung von SAP-Webanwendungen mit ITS – Beispiel für ABAP-Code und Informationen
Netweaver – Informationen zu SAP Netweaver-Technologien
SAP GUI für HTML – Ausführen von SAP auf einem PC, auf dem der SAP-Client nicht installiert ist
Pflegen – Verwendung von Transaction SICF zur Aktivierung und Wartung von SAP Web Services
SAP Web Application Development – Beispielcode und Informationen zu verschiedenen Bereichen der Webentwicklung
SAP GUI für HTML – SAP auf einem PC ausführen, auf dem der SAP-Client nicht installiert ist
Internet Transaction Server (ITS) – Vor- und Nachteile
ITS-Ablauflogik – Vor- und Nachteile der Verwendung SEINER Ablauflogik
Entwicklung von SAP-Webtransaktionen – Verwendung von SE80 und anschließende Veröffentlichung im ITS

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.