SAP UI5 Fiori Elements annotation 解析出来的 entity container

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: SAP UI5 Fiori Elements annotation 解析出来的 entity container

SAP UI5 框架实现代码 AnnotationParser.js 解析出的 annotation:


其中第一个就是 entity Container.

这个 entity container 在 metadata.xml文件里能够找到:


EntityContainer 里包含了 EntitySet:

metadata 里这个 Annotations 区域的内容:

被 AnnotationParser.js 解析如下:

SAP Fiori Elements是SAP的一种框架,用于创建SAP Fiori应用程序。该框架提供了一种结构化的方法来创建用户界面,并基于开放数据模型(OData)服务和SAP注解来描述应用程序的行为。SAP Fiori Elements应用程序是基于SAPUI5库和OData服务的,它们使用注解来定义和扩展行为。


在SAP Fiori Elements应用程序中,注解是用于描述数据模型和业务逻辑的元数据。它们可以在服务定义(CDS视图或SEGW项目)或者元数据扩展(MDE)中定义。注解在运行时解析,并根据注解的值来渲染用户界面。


Entity Container是OData模型中的一部分,它是实体集(Entity Sets)和单一实体(Singletons)的容器。实体集是数据模型中的集合,例如客户、订单或产品。而Singletons是单一的数据对象,例如当前用户或系统设置。


在SAP Fiori Elements应用程序中,Entity Container用于定义OData服务中可用的所有实体集和Singletons。例如,你可能有一个名为"SalesOrder"的实体集,这个实体集包含你的所有销售订单。


Entity Container的定义通常在OData服务的元数据文档中找到。它的定义如下:

<EntityContainer Name="MyServiceContainer" m:IsDefaultEntityContainer="true">
  <EntitySet Name="SalesOrder" EntityType="MyNamespace.SalesOrder" />
  <Singleton Name="CurrentUser" Type="MyNamespace.User" />
</EntityContainer>


在这个例子中,我们定义了一个名为"MyServiceContainer"的Entity Container,它包含一个名为"SalesOrder"的实体集和一个名为"CurrentUser"的Singleton。


在SAP Fiori Elements应用程序中,我们可以使用注解来改变Entity Container中实体集和Singletons的行为。例如,我们可以使用@UI.headerInfo注解来定义实体集的头部信息,或者使用@Search.searchable注解来定义实体集是否可以被搜索。


注解可以在服务定义中直接定义,也可以在元数据扩展中定义。例如,以下是一个使用注解定义头部信息的例子:

@UI.headerInfo: { 
  typeName: 'Sales Order', 
  typeNamePlural: 'Sales Orders', 
  title: { value: 'orderNumber' } 
}
Entity SalesOrder {
  key orderNumber: String;
  customerName: String;
  totalAmount: Decimal;
}

在这个例子中,我们使用@UI.headerInfo注解来定义销售订单的头部信息。标题将使用订单号作为值。


通过使用Entity Container和注解,SAP Fiori Elements提供了一种强大的方法来定义和扩展OData服务的行为。这使得开发者可以专注于业务逻辑,而不是用户界面的开发。


相关文章
|
2月前
|
数据库 API
启用SAP Fiori之前的一些注意事项
启用SAP Fiori之前的一些注意事项
|
2月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
2月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
2月前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
|
2月前
|
存储 安全 测试技术
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
使用 Visual Studio Code 创建 SAP UI5 项目遇到 self-signed security certificate 相关问题
|
2月前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
|
2月前
|
Web App开发 开发框架 前端开发
Open UI5 前端开发框架配套的 Mock Server 工作原理解析
Open UI5 前端开发框架配套的 Mock Server 工作原理解析
|
2月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
|
2月前
|
UED
什么是 SAP Fiori 的 Technical Catalog 和 Business Catalog
什么是 SAP Fiori 的 Technical Catalog 和 Business Catalog