Skip to Content

XSOdata with Navigation Property

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.



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).



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.


POHeader (MANDT=’800′, VBELN=’0000004970′)


Now this service can be consumed in different UI ‘s  depending upon the requirement.

You must be Logged on to comment or reply to a post.