正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大部分,分别进行介绍。本文是本教程的文章目录。
作者简介
Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经先后参与 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等标准产品的研发工作。
Jerry 对 SAP OData 服务的开发,测试,发布,部署,测试,及基于各种不同 SAP 技术实现的 OData 服务的幕后技术实现细节和使用场合,均有着深入的研究。
基于 SEGW - Gateway Service Builder 的开发教程
- 8. SAP ABAP OData 服务如何支持创建(Create)操作
- 9. SAP ABAP OData 服务如何支持删除(Delete)操作
- 10. SAP ABAP OData 服务如何支持修改(Update)操作
更多文章正在写作中,敬请期待
使用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务
正在写作中,敬请期待
使用 SAP Cloud Application Programming 编程模型开发 OData 服务
正在写作中,敬请期待
什么是 SAP ABAP OData 服务的嵌套创建功能?在很多 SAP 帮助文档里,这个功能的英文描述是 Create Deep,或者 Deep Insert.
我们通过一个现实的例子来讲解。下图是 SAP CRM Fiori 应用 My Opportunities, 我们可以看到,绿色区域代表 Opportunity OData 模型的根节点上创建的字段,而 OData 模型根节点下又包含了很多子节点,每个子节点分别对应下图 UI 一个 Tabstrip 的面板,比如 SalesArea,Products,Notes,Attachments 这些面板,每个面板对应 OData 模型一个节点。
例如 Products 面板,点击之后,能看到 OData 模型 Products 节点上的数据。
那么什么是 OData 服务的嵌套创建功能呢?
我们点击 + 按钮,可以创建新的 Opportunity 实例。
在 Opportunity 创建页面里,可以维护 Opportunity 抬头区域的字段值。
抬头区域的字段值维护完毕之后,往下滑动屏幕,看到 Product 区域。点击 + 按钮,添加 Product 数据:
维护好 Products 节点数据之后,点击保存按钮,Opportunity 模型的根节点,和 Products 子节点数据,会同时在 ABAP 后台两张不同的数据库表里进行创建,这就是 ABAP OData嵌套创建(Create Deep) 实现的功能。
下面我们回到本教程一直在使用的图书模型,研究如何在消费端发起嵌套创建的 OData 请求,以及这个请求在 ABAP OData 服务器端如何实现。