Johannes Behrndt
 - 2. Juli 2015

SAP OData: Entitäten erstellen(Teil 4/4)

oData von SAP

Willkommen zum vierten und letzten Teil meines OData Tutorials. In diesem Blogbeitrag werde ich Ihnen erklären, wie Sie über die OData Schnittstelle Entitäten im SAP System erstellen können. Darüber hinaus zeige ich ihnen einen kleinen Trick, um das Erstellen der Entitäten zu testen.

Unser Video-Kurs „ODATA Services im SAP UI5 Umfeld“

OData Services im SAPUI5 Umfeld

Limitierte Rabattaktion für unseren Kurs „OData Services im SAPUI5 Umfeld“.

Für Besucher von Mission Mobile können wir unseren Kurs „ODATA Services im SAP UI5 Umfeld“ mit kräftigem Rabatt anbieten:

Kurs: „ODATA Services im SAP UI5 Umfeld

PS: Wir haben den Rabatt nur für 20 Käufe erhalten. Falls Sie den Link klicken und keine Vergünstigung mehr angezeigt werden, ist unser Kontingent bereits aufgebraucht.

E-Book: App-Entwicklung

In diesem E-Book erhalten Sie eine Übersicht über die Entwicklung von Enterprise-Apps mit SAPUI5 und OData.

Entitäten im SAP System erstellen

Falls Sie die vorherigen Teile des Tutorials noch nicht durchgearbeitet haben, bitte ich Sie dies als erstes nachzuholen.

Dieses HowTo ist der vierte Teil einer Reihe von Blogbeiträgen zum Thema OData:

  • OData Service definieren
  • OData Service implementieren
  • Filter und Navigation implementieren
  • OData Entities erstellen und testen

Rückblick

In meinem letzten Beitrag haben Sie gelernt, wie Sie Filter und Navigation im Backend realisieren können. Dazu wurden die bekannten Methoden X_GET_ENTITY und X_GET_ENTITY_SET nochmals erweitert, da auf zusätzliche Import-Parameter Rücksicht genommen werden musste.

Entitäten erstellen

Um Entitäten zu erstellen wird nun eine weitere Methode redefiniert: X_CREATE_ENTITY. Um eine Servicemeldung zu erstellen müssen Sie nun also in der Data Provider Extension Klasse die Methode SERVICENOTIFICAT_CREATE_ENTITY redefinieren. An dieser Stelle ist nun der folgende Import-Parameter wichtig: IO_DATA_PROVIDER. Dieser liefert die Daten für die neue Entität. Die Methode read_entry_data kann dazu genutzt werden, diese Daten auszulesen. Mit dem folgenden Aufruf können Sie direkt die Entität ausgeben:

  • io_data_provider->read_entry_data( IMPORTING es_data = er_entity ).

Damit die Methode komplett ist, müssen die Daten natürlich auch im System persistiert werden. Wie dies geschieht ist natürlich von Fall zu Fall unterschiedlich. Im Falle der Servicemeldungen können dazu die BAPIs BAPI_SERVICENOTIFICAT_CREATE und BAPI_ALM_NOTIF_DATA_ADD genutzt werden. Ich stelle Ihnen auf Nachfrage gerne den entsprechenden Quellcode zur Verfügung.

Das Erstellen testen

Während es bisher einfach war die Methoden GET_ENTITY und GET_ENTITY_SET zu testen (durch Aufrufen einer URL), ist dies beim Erstellen einer Entität nicht so einfach möglich. Damit Sie nicht extra ein Programm schreiben müssen, welches den OData Service ansteuert, nutzen sie den folgenden Workaround:

  1. Verbinden Sie sich mit ihrem SAP NetWeaver Gateway
  2. Starten Sie die Transaktion /IWFND/MAINT_SERVICE (beachten Sie, dass Sie die Transaktion im Kommandofeld so starten müssen: /N/IWFND/MAINT_SERVICE)
  3. Suchen Sie ihren Service und markieren Sie ihn
  4. Klicken Sie anschließend auf Gateway Client
  5. Im folgenden Fenster können Sie HTTP Anfragen an den Service schicken
  6. Schicken Sie zuerst eine Anfrage um eine Entität einzulesen. Wie eine solche URL aussieht, können Sie den vorherigen Teilen dieser Reihe entnehmen. Ein Beispiel: /sap/opu/odata/sap/ZUIF_TEST_SRV/EquipmentCollection(‚1‘)
  7. Die Antwort vom Server steht nun auf der rechten Seite. Kopieren Sie diese nun auf die linke Seite mit dem Button Als Anf. verwenden
  8. Entfernen Sie die Stellen, an denen die bereits existierende Entität referenziert wird (zB. die Zeile <link href=„EquipmentCollection(‚1‘)“ rel=„edit“ title=„Equipment“/> wird zu <link href=„EquipmentCollection“ rel=„edit“ title=„Equipment“/>)
  9. Stellen Sie nun auf HTTP Post um und wählen Sie Ausführen
  10. Ihr X_CREATE_ENTITY Methode sollte nun ausgeführt werden (am besten überprüfen Sie dies mit einem externen Breakpoint).
  11. Doppelklicken Sie auf ER_ENTITY und Sie sollten die angegebenen Daten sehen.

Im Bild unten sehen Sie meine POST-Anfrage:

Gateway - SAP odata

Gateway – SAP odata

Fazit

Herzlichen Glückwunsch, Sie sind am Ende meiner Blogreihe über OData angekommen. Sie haben gelernt, wie Sie

  • einen OData Service modellieren
  • einen OData Service implementieren
  • Filter und Navigation hinzufügen
  • Entitäten erstellen

Ich freue mich auf ihre Fragen und Anregungen. Falls Sie an einer Stelle nicht weiterkommen stehe ich ihnen gerne mit meinem Rat zur Seite. Schreiben Sie einfach einen Kommentar oder eine E-Mail.

Johannes Behrndt

Seit über 10 Jahren berate ich große und mittelständische Unternehmen rund um mobile Lösungen, insbesondere im SAP-Umfeld. Ich habe den Überblick über die relevanten SAP-Prozesse und kenne die neuesten Technologien für mobile Lösungen.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren


2 Kommentare zu "SAP OData: Entitäten erstellen(Teil 4/4)"

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Angebot anfordern
Preisliste herunterladen
Expert Session
Support