SAP Fiori的ABAP编程模型-OData服务创建

2020-11-27 17:31:40 浏览数 (2)

OData是基于REST的数据协议,用于通过SAP Gateway集线器系统在ABAP后端系统和客户端应用程序之间传输业务数据以及元数据。在SAP S / 4HANA中,OData服务的客户端应用程序通常是在最终用户设备(如台式PC或平板电脑)的本地浏览器中运行的SAP Fiori应用程序。OData与SAP网关一起,使用HTTP作为其数据传输协议,以易于理解和定义明确的方式提供对SAP后端业务数据的访问。

OData服务以实体的形式组织数据,这些实体具有通过关联互连的一组属性。这些元素类似于CDS数据模型的元素,因此CDS数据模型是作为OData服务公开的理想候选对象。

可以通过三种不同的方式将CDS数据模型公开为OData服务:

  • Reference Data Source (RDS)
  • Mapped Data Source (MDS)
  • Auto-Exposure

在本系列中,我们将重点介绍用于创建OData的Auto-Exposure方法。因为这是将CDS数据模型公开为OData服务的最简单,最有效的方法。

创建OData服务的注释

使用以下注释创建OData服务

@ OData.publish:正确

该注释必须写在define View…语句上方的CDS视图的标题部分。

代码语言:javascript复制
<code>@AbapCatalog.sqlViewName: 'Z_C_AIRLINE'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Airline - Consumption View'
@OData.publish: true
 
define view ZAPF_C_AIRLINE
  as select from ZAPF_I_AIRLINE
{
.........
.........
}</code>

让我们在CDS视图中实现此注释。请注意,必须在整个CDS数据模型的一个位置上实现此OData批注。因为我们已经将ZAPF_C_AIRLINE消耗视图作为整个数据模型主要层次结构点。因此,此注释将放置在主消费视图中

将OData批注应用到CDS视图后,将在激活视图时创建OData服务。现在,以上Airline CDS视图已激活,并创建了其OData服务。但是该服务将无法使用。为了使服务可用于外部系统或Fiori应用程序,必须激活相应的服务。

0 人点赞