Einführung
In früheren Artikeln haben wir diskutiert Was sind OData? und So erstellen Sie eine OData in SAP. Wir haben auch gezeigt, wie man ein OData testet, ob es gut funktioniert oder nicht. Jetzt müssen wir lernen, eine Tabelle mit einer OData-Abfrage zu lesen und auch Operationen wie Einfügen, Aktualisieren und Löschen für diese Tabelle auszuführen. In diesem Artikel lernen wir auch grundlegende Abfragen zum Lesen von Daten.
Allgemeine Infos
Bei OData gibt es drei Phasen der Datenübertragung. Diese sind:
1. Daten vom Frontend senden
Daten werden von der Benutzeroberfläche gesendet (Kunden) zu OData (Server) in Form einer Anfrage
2. Daten vom Frontend übernehmen
Bei OData erhalten wir Daten vom Frontend unter Verwendung des Datenproviders (Code im Abschnitt CRUD Operation implementiert)
io_data_provider->read_entry_data(IMPORTING es_data= ls_entity).
3. Senden von Daten an das Frontend
Von OData senden wir Daten an die Benutzeroberfläche mit et_entityset oder er_entity nach Datenmanipulation (Code im Abschnitt CRUD Operation implementiert)
Die obigen Schritte sind im Bild unten dargestellt:
Operationen in ODATA
In diesem Abschnitt werden alle automatisch generierten Methoden untersucht, sobald Sie ein OData generieren. Im letzten Artikel haben wir bereits angewiesen, Ihren gesamten Code für CRUD-Operationen in die Klasse DPC_EXT zu schreiben. Daher werden wir hier dem gleichen Konzept folgen.
SAP ABAP OData bietet verschiedene Methoden für CRUD-Operationen, diese sind:
Versandart | SQL-Operation | Beschreibung |
GET_ENTITY | Klicken Sie (sodass dort ein Haken erscheint) auf das Rechteck | Diese Methode wird verwendet, um einzelne Daten basierend auf Tabellenschlüsseln zu lesen |
GET_ENTITYSET | Klicken Sie (sodass dort ein Haken erscheint) auf das Rechteck | Diese Methode wird verwendet, um ganze Daten einer Tabelle zu lesen |
CREATE_ENTITY | Insert | Diese Methode wird verwendet, um neue Daten in der Tabelle zu erstellen/einzufügen |
UPDATE_ENTITY | Aktualisieren/Ändern | Diese Methode wird verwendet, um vorhandene Daten in der Tabelle zu aktualisieren |
DELETE_ENTITY | Löschen | Diese Methode wird verwendet, um vorhandene Daten in der Tabelle zu löschen |
Abfrage in SAP OData
In diesem Abschnitt werden wir alle Abfragen untersuchen, die wir beim Lesen von Daten aus OData ausführen können. Im obigen Abschnitt haben wir gelernt, wie man Leseaufrufe mit GET_ENTITY und GET_ENTITYSET durchführt. Manchmal müssen wir Daten gemäß unseren Anforderungen herausfiltern oder die Gesamtzahl der Datenzählungen oder die Daten in einer bestimmten Reihenfolge abrufen. Diese alle SAP-OData-Abfragen werden im Folgenden erläutert:
Nehmen wir mal an = https://isd.sap.com/
Abfrage | Beschreibung | Beispiel |
$metadaten | Es enthält die Metadaten Ihres Dienstes. Mit Metadaten meinen wir, dass sie Informationen über alle Entitätsmengen mit ihren Feldnamen und ihren Attributen bereitstellen | /$metadaten |
$FILTER | Es wird hauptsächlich während des Read-Entity-Set-Aufrufs verwendet. Während des Lesens können wir einige Filterwerte im Backend senden, die später in der Bedingung von Select-Abfragen verwendet werden können | /$FILTER |
$top und $skip | Es wird hauptsächlich verwendet, um begrenzte Daten in der Benutzeroberfläche zu erhalten, falls Sie alle Daten lesen und die Tabelle sehr große Daten enthält | /$top und $skip |
$bestellen nach | Dies wird verwendet, um die Daten in aufsteigender oder absteigender Reihenfolge für einen bestimmten Schlüssel zu ordnen | /$bestellen nach |
$format=json | Dies gibt die Daten im JSON-Format zurück. Das Ergebnis liegt standardmäßig im XML-Format vor. | /$format=json |
$inlinecount | Dies gibt die Anzahl der Daten einer Tabelle zurück, die in der Benutzeroberfläche angezeigt werden | /$inlinecount |
$ expand | Dies wird verwendet, um die Assoziations- und Navigationsdaten miteinander zu verbinden | /$erweitern |
$ Value | Dies wird verwendet, um die Mediadaten zurückzugeben | /$Wert |