Odata(Open Data Protocol)
Development & Configuration
T-Code Description
SAP Gateway Service Builder – Create and manage OData
SEGW
services.
Activate and maintain OData services in the front-end (Fiori
/IWFND/MAINT_SERVICE
Gateway) system.
/IWBEP/REG_SERVICE Register OData services in the back-end system.
/IWFND/GW_CLIENT Test OData services (similar to Postman for SAP).
/IWFND/APPS_LOG View logs for OData service calls and errors.
Monitoring & Troubleshooting
T-Code Description
/IWFND/ERROR_LOG View OData service error logs.
/IWFND/TRACES Gateway trace to analyze OData calls.
/SAP/BC/BSP/SAP/LOGON Launch the Gateway client from a browser.
Maintain services (activate OData and other services under
SICF
/sap/opu/odata).
SMICM Check the ICM status and HTTP connection settings.
___________________________________________________________________________
Query Options
1. $filter – Filter Data
Filters data based on property values (like a WHERE clause in SQL).
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$filter=Status eq 'OPEN'
Operators:
• eq (equal)
• ne (not equal)
• gt, ge, lt, le (greater/less than or equal)
• and, or, not
• substringof, startswith, endswith
2. $select – Select Specific Fields
Returns only specified fields to reduce payload.
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$select=OrderID,CustomerName
3. $expand – Expand Related Entities
Fetches related (navigation) entities in a single call.
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$expand=Items
4. $top – Limit Number of Records
Limits the number of returned records.
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$top=10
5. $skip – Skip Records (for Pagination)
Skips a number of records. Useful for paging.
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$skip=10&$top=10
6. $orderby – Sort Results
Sorts the results by a given field.
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$orderby=OrderDate desc
7. $format – Specify Response Format
Controls the response format (e.g., JSON, XML).
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders?$format=json
8. $count – Get Number of Records
Returns the count of entities.
Example:
/sap/opu/odata/sap/ZMY_SRV/Orders/$count
Or add:
?$count=true
Combined Example
/sap/opu/odata/sap/ZMY_SRV/Orders?$select=OrderID,CustomerName&$filter=Status eq
'OPEN'&$orderby=OrderDate desc&$top=5&$format=json
___________________________________________________________________________
Association
Create two entity types (e.g., SalesOrder, SalesOrderItem)
Example:
• SalesOrder has many SalesOrderItems
• Navigation property: to_Items
1. Query Associated Data Using $expand.
/sap/opu/odata/sap/ZSALESORDER_SRV/SalesOrders?$expand=to_Items
2. Expand and Select Specific Fields.
/sap/opu/odata/sap/ZSALESORDER_SRV/SalesOrders?$expand=to_Items($select=ItemID,
Quantity)&$select=OrderID,CustomerName
3. Nested $expand with Filtering
/sap/opu/odata/sap/ZSALESORDER_SRV/SalesOrders?$filter=OrderStatus eq
'OPEN'&$expand=to_Items