Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
Aisurya
Participant

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.


8 Comments
Labels in this area