A sample example for XSOdata with Navigation Property
Scenario of Purchase Order(PO) Header and Item: In a single service we can navigate to Item level from Header to Item with Association .
Lets start with very basic example of VBAK (PO Header), VBAP(PO Item).
Example Code in a .XSOdata file
service namespace "workshop.aisurya.XSOdata" {
"<YourSchema>"."VBAK" as "POHeader" with ("MANDT","VBELN","ERDAT") navigates ("ToPoItemAssctn" as "ItemRef");
"<YourSchema>"."VBAP" as "POItems" with ("MANDT","VBELN","POSNR","MATNR","ARKTX");
association "ToPoItemAssctn" principal "POHeader"("VBELN")
multiplicity "1" dependent "POItems"("VBELN") multiplicity "*";
}
Below Image for reference
Activate the changes and Run As XS Service.
Lets check the Metadata of service.
https://<Host:Port>/workshop/aisurya/XSOdata/po.xsodata/$metadata
As highlighted in the image(ItemRef) is a navigation property from Header to Item level.
Lets test the service only for 2 records by providing query option as (top=2).
https://<Host:Port>/workshop/aisurya/XSOdata/po.xsodata/POHeader?$top=2&$format=json
Here ItemRef is the navigation property of corresponding PO Items with URI. We can explicitly open in new tab and get the result also .
Now lets check Expand option for Showing Header and Corresponding Items.
$Expand Feature to fetch Corresponding Item along with Header.
https://<Host:Port>/workshop/aisurya/XSOdata/po.xsodata/POHeader?$top=2&$format=json&$expand=ItemRef
POHeader (MANDT='800', VBELN='0000004970')
Now this service can be consumed in different UI ‘s depending upon the requirement.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
7 | |
5 | |
5 | |
5 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 |