SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

1年前 (2023) 程序员胖胖胖虎阿
145 0 0

正如本教程的开篇介绍文章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 服务的幕后技术实现细节和使用场合,均有着深入的研究。

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

基于 SEGW - Gateway Service Builder 的开发教程

  • 1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目
  • 2. 在 SAP ABAP 系统对事物码 SEGW 创建的 OData 服务进行配置并测试
  • 3. SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的使用方法
  • 4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南
  • 5. SAP ABAP OData 服务如何支持 $filter (过滤)操作
  • 6. 使用 Postman 工具高效管理和测试 SAP ABAP OData 服务
  • 7. SAP ABAP OData 服务如何支持 $orderby (排序)操作
  • 8. SAP ABAP OData 服务如何支持创建(Create)操作
  • 9. SAP ABAP OData 服务如何支持删除(Delete)操作
  • 10. SAP ABAP OData 服务如何支持修改(Update)操作
  • 11. 使用 HTTP PUT, PATCH 以及 MERGE 请求消费 SAP ABAP OData 服务修改操作的实现及其区别
  • 12. SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值
  • 13. SAP ABAP OData 服务的分页加载数据集的实现(Paging)
  • 14. 几种 SAP ABAP OData 服务的性能评估和测试工具介绍
  • 15. SAP ABAP OData 服务里 EntityType 和 EntitySet 的区别
  • 16. 如何修改 SAP ABAP OData 模型,使其支持 $expand 操作
  • 17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
  • 更多文章正在写作中,敬请期待

使用 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 模型一个节点。

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

例如 Products 面板,点击之后,能看到 OData 模型 Products 节点上的数据。

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

那么什么是 OData 服务的嵌套创建功能呢?

我们点击 + 按钮,可以创建新的 Opportunity 实例。

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

在 Opportunity 创建页面里,可以维护 Opportunity 抬头区域的字段值。

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

抬头区域的字段值维护完毕之后,往下滑动屏幕,看到 Product 区域。点击 + 按钮,添加 Product 数据:

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版

维护好 Products 节点数据之后,点击保存按钮,Opportunity 模型的根节点,和 Products 子节点数据,会同时在 ABAP 后台两张不同的数据库表里进行创建,这就是 ABAP OData嵌套创建(Create Deep) 实现的功能。

下面我们回到本教程一直在使用的图书模型,研究如何在消费端发起嵌套创建的 OData 请求,以及这个请求在 ABAP OData 服务器端如何实现。

相关文章

暂无评论

暂无评论...