Fiori-like Prototype (OData Mode
OData (Open Data Protocol) is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs.
![](https://img.haomeiwen.com/i7818335/326ff79207a1ed44.jpg)
Apache Olingo.
![](https://img.haomeiwen.com/i7818335/3c47b1ca823e4010.jpg)
Go through OData model in AS ABAP.
T-Code: SEGW
![](https://img.haomeiwen.com/i7818335/235dce4f738c53f8.jpg)
Project Structure.
![](https://img.haomeiwen.com/i7818335/968f21392d2c9ec3.png)
Data Model:包括需要定义的entity,以及entity之间的关系,entity type定义数据结构,entity sets定义数据存取操作等。
Service Implementation:定义entity set的操作,包括CRUD。
Runtime Artifacts:包括SAP系统中生成的类。
Service Maintenance:service发布系统信息。
>>> [1] 具体教程参考:UI5开发 – 创建OData Model
Data Model:
![](https://img.haomeiwen.com/i7818335/03408f9ed5d68e89.png)
Service Implementation:
![](https://img.haomeiwen.com/i7818335/4e539e4c9a11df1f.png)
Runtime Artifacts:
![](https://img.haomeiwen.com/i7818335/646ddc39763afe0d.png)
Service Maintenance:
![](https://img.haomeiwen.com/i7818335/0f0bddb7bad0a3de.png)
>>> [2] 具体教程参考:UI5开发 – OData Model编程
基于DPC_EXT进行定制开发:
![](https://img.haomeiwen.com/i7818335/d61712066990f137.png)
重写从基类继承的方法(定制开发所需):
![](https://img.haomeiwen.com/i7818335/f7cf1e7a77b68b09.png)
PLANTSET_GET_ENTITY:
![](https://img.haomeiwen.com/i7818335/6283b930efa1dc02.png)
>>> [3] 具体教程参考:UI5编程 – 注册service到SAP gateway server
T-Code:/n/IWFND/MAINT_SERVICE
![](https://img.haomeiwen.com/i7818335/ddb79f855156205f.png)
SAP Gateway Client:
![](https://img.haomeiwen.com/i7818335/357cb540a9ef5dba.png)
XML format:
![](https://img.haomeiwen.com/i7818335/b9461671f98fd0df.png)
JSON format:
![](https://img.haomeiwen.com/i7818335/e48e9df8f1b18ca4.png)
Postman API Toolkit:
Request header:
![](https://img.haomeiwen.com/i7818335/39b5574389b279cd.png)
Response:
![](https://img.haomeiwen.com/i7818335/5895b3d77516b84a.png)
Chrome Toolkit:
![](https://img.haomeiwen.com/i7818335/63b187f01970cbf4.png)
XML format in Chrome:
![](https://img.haomeiwen.com/i7818335/d4690c5176175f55.png)
JSON format in Chrome:
![](https://img.haomeiwen.com/i7818335/f85870b45ece4318.png)
Reference: