点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在上一篇文章构建 OData 服务 [1]:OData 概述中,我们简要介绍了什么是 OData。在本文中,您将从 SAP 的角度了解 OData 服务组件。
在 SAP 中,我们使用事务 SEGW 来创建 OData 项目。让我们看一下 SAP 中一个典型的 OData 项目。这是一个空项目,但我们可以看到数据模型、服务实现等节点。让我们尝试理解这篇文章中的节点——数据模型。
数据模型是数据的设计。如何将相关数据放在称为实体的数据集合中以及实体如何相互关联。
实体类型
实体类型或实体就像一个可以保存一个数据记录的结构。在 ABAP 编程术语中,我们可以将其比作一个工作区。
实体类型具有一些属性标记为键的属性。还定义了有关类型、长度等属性的更多详细信息。
例子,
实体集
实体集是相同实体类型的集合。Order_Detail 是一个实体 – Order_details 即多个 order_detail 实体的集合是一个实体集。这就像一张桌子。
实体集只是指实体类型。
关联
关联是两种实体类型之间的关系。它定义了相关实体之间的基数/多重性。
在此示例中,Orders 和 Order_Details 实体集是关联的,其中一个 Order 具有多个 Order_Details 项目。连接这两个集合的键是引用约束中指定的 OrderID。
在主体实体到从属实体之间创建关联时,还会从主体实体到从属实体创建导航属性。
在此示例中,为实体类型订单创建了一个导航属性。这允许我们从 Orders 导航到 Order_Details 实体集。
关联/导航属性将帮助我们获取相关数据。例如获取特定订单的 Order_Details。您可以轻松想象应用程序首先显示订单,当用户选择订单时,显示项目详细信息。
关联集
实体类型被收集到实体集中。类似地,关联集合称为关联集。
CRUD-Q Operation
CRUD-Q is short form for Create, Read, Update, Delete, and Query operations.
这些操作几乎是不言自明的。唯一可能的问题是读取和查询操作有什么区别。读取是当您读取一个实体时,而查询是在您获得实体集时。这就是区别。
Operation | Description | Example |
---|---|---|
Create | Create an Entity | Create an Order |
Read | Read an Entity | Read an Order |
Update | Update an Entity | Update an Order |
Delete | Delete an Entity | Delete an Order |
Query | Query on Entity Set | Query on order set and get single/multiple orders |
CRUD-Q Operations
函数导入
创建功能导入是为了在 SAP 中执行某些功能,例如下达采购订单。函数导入仅在 无法使用CRUD-Q操作时使用。
例如,通过 CRUD-Q 操作,可以创建、读取、更新、删除或查询客户。但是为了触发客户的信用检查,我们不能使用任何 CRUD-Q 操作——因此将创建函数导入。
接下来是什么?
现在我们已经了解了服务的组件,我们准备开始创建实际的服务。下一篇文章将介绍在 SAP 中创建新服务。