$FILTER in SAP OData

In diesem Abschnitt lernen wir das Konzept der $filter-Abfrage in SAP OData und seine Verwendung kennen.

Unterstützte Systemversion

SAP NetWeaver Gateway Release 2.0 Support Package >=03

Syntax

http://<server>:<port>/sap/opu/odata/sap/<service_name>/EntitySet?$filter=ProductId eq ‘HP-101’

Geschäftsbeispiel

Die Shopping-Site, sagen wir, Amazon zeigt alle Produkte an, aber Sie möchten, dass eine bestimmte Kategorie angezeigt wird. Sie wenden also Filter an (wählen Sie die Kategorie Telefone oder Laptops), um die Daten Ihrer Wahl anzuzeigen.

Implementierung

In diesem Abschnitt implementieren wir $filter in unserem Product Entity Set.

Schritt 1: Klicken Sie nach dem Anlegen des OData-Service mit der rechten Maustaste auf Entity Set unter Service-Implementierung, und gehen Sie zur ABAP-Workbench.

SAP OData-Implementierung

Schritt 2:

Passen Sie Ihren Code für die $filter-Abfrage an.

$FILTER in SAP OData

Die Filterabfrageoption ist verfügbar, indem Sie auf den Parameter zugreifen IT_FILTER_SELECT_OPTIONS.

Im obigen Code haben wir zuerst die vom Frontend übergebenen Filteroptionen abgerufen, indem wir IT_FILTER_SELECT_OPTIONS gelesen haben. Und dann den Auswahloptionsbereich an BAPI übergeben, um die gewünschte gefilterte Ausgabe zu erhalten.

Schritt 3:

Wenn wir keine Filteroption bestehen, erhalten wir alle Produkte aus dem System.

Fügen Sie die $filter-Abfrage in der OData-URL hinzu und führen Sie den Dienst aus. Sie können eine oder mehrere Filteroptionen hinzufügen.

Service-URL: /sap/opu/odata/sap/ZDEMO_GW_SRV_SRV/ProductsSet?$filter=Name eq 'Notebook Basic 15.

 

Mit $filter . verwendete Operatoren

Logische Operatoren

Logischer OperatorBeschreibungBeispiel
eqGleichhttps://<API-Server>/odata/v2/User?$filter=gender eq ‘F’ .
neNicht gleichhhttps:// /odata/v2/User?$filter=place ne ''London'
gtGrößer alshttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount gt 200
geGrößer als oder gleichhttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount ge 200
ltWeniger alshttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount lt 200
leWeniger als oder gleichhttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount le 200
und Logisch undhttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount le 200 and amount ge 300
orLogisch oderhttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount le 200 or amount ge 300
nichtLogisch nichthttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount le 200 not amount ge 300

 

Rechenzeichen

Arithmetischer OperatorBeschreibungBeispiel
hinzufügenZusatzhttps://<API-Server>/odata/v2/PicklistLabel?$filter=amount add 5 gt 10
untenSubtraktionhttps://<API-Server>/odata/v2/PicklistLabel?$filter= amount sub 5 gt 10
mulVervielfältigenhttps://<API-Server>/odata/v2/PicklistLabel?$filter= amount mul 5 gt 10
divDivisionhttps://<API-Server>/odata/v2/PicklistLabel?$filter= amount div 5 gt 10
modModulhttps://<API-Server>/odata/v2/PicklistLabel?$filter= amount mod 5 gt 10

 

Gruppierungsoperatoren

GruppierungsoperatorBeschreibungBeispiel
()Vorranggruppierunghttps://<API-Server>/odata/v2/PicklistLabel?$filter=(number sub 20) gt 30

 

Hinterlassen Sie eine Nachricht

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.