ODATA:GetEntity和GetEntitySet方法基本实现

假装没事ソ 提交于 2019-12-11 12:26:08

一、为后续demo搭建简单的基础信息:一个Odata服务ZDEMO_PO,三个数据库表及模型ZPOHEADER、ZPOITEM、ZVENDOR,相应的Association,后续文章基本使用ZDEMO_PO项目

创建项目

创建相应的entity

创建entity的属性,我这里手工创建,实际可以通过导入数据库表的方式来创建

同理创建POTIEM和VENDOR 

创建抬头和明细的association

 

 

 

 生产运行对象:

参考上篇文章ODATA:基于搜索帮助创建一个ODATA服务生成相应的服务

 自此还不能获取相关数据,需要实现相关方法,否则报如下错误

二、实现POHEADER的GetEntitySet方法

 

 会发现会跳转到类ZCL_ZDEMO_PO_DPC_EXT

 编写代码:

重新执行查看结果

 

 发现lifnr没有取过来debug发现实现类中返回的结果内表不是lifnr,所以更改下abap field name即可(注意重新generate代码会被还原覆盖)

修改后重新编写代码:

三、实现GetEntity方法

 查询指定key值的单条记录可以用uri:/sap/opu/odata/sap/ZDEMO_PO_SRV/ZPOHEADERSet('4500000001')来查询,我们发现提示状态501,未实现。要实现单条记录需要实现GetEntity方法。

 实现GetEntity方法

重新测试,成功取到相应的记录

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!