首页 > 其他分享 >SAP UI5 本地注解文件词汇表内容引用的详细讲解

SAP UI5 本地注解文件词汇表内容引用的详细讲解

时间:2023-06-27 14:14:02浏览次数:64  
标签:OData 词汇表 UI5 引用 UI SAP 数据

本文解释 SAP UI5 本地注解 xml 文件里下列这个片段的语义:

<edmx:Reference Uri="../../catalogservice;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_UI',Version='0001',SAP__Origin='LOCAL')/$value">
		<edmx:Include Namespace="com.sap.vocabularies.UI.v1" Alias="UI"/>
	</edmx:Reference>

这段代码是 SAP UI5 项目中的一个 XML 片段,它涉及到 OData 元数据文档的引用和命名空间包含。在详细解释这段代码的作用之前,我们需要了解一下 SAP UI5、OData 和元数据的相关概念。

SAP UI5 是一种基于 JavaScript 和 HTML5 的用户界面技术,用于构建企业级应用程序。它提供了丰富的 UI 控件库和强大的 MVC 架构,以支持开发人员创建响应式、易于维护的 Web 应用程序。SAP UI5 项目通常采用 XML 视图 (视图层)、JavaScript 控制器 (控制层) 和 OData 服务 (模型层) 的结构。

OData(Open Data Protocol)是一种开放的、基于 RESTful 的数据访问协议,允许用户从各种数据源(如 SAP、Microsoft、IBM 等)查询和操作数据。OData 使用一组标准 HTTP 动词(如 GET、POST、PUT、DELETE)和特定的 URL 模式来表示资源的操作,同时支持 JSON 和 XML 格式的数据交换。

元数据是描述数据的数据。在 OData 中,元数据用于定义服务模型的结构、实体类型、关联、函数和操作等信息。元数据通常以 XML 格式表示,并通过 $metadata 终结点提供。客户端应用程序通过解析元数据来理解服务的结构和功能,从而实现动态地与服务交互。

现在我们来解释这段代码的作用。这个 XML 片段定义了一个 OData 元数据文档的引用,用于在 SAP UI5 项目中引入一个外部的词汇表(Vocabulary)。词汇表是一种元数据扩展机制,允许开发人员为 OData 服务添加语义标注,以提供额外的信息和功能。

这段代码的结构如下:

  1. <edmx:Reference> 元素定义了一个 OData 元数据文档的引用。它包含一个 Uri 属性,指向外部词汇表的元数据文件。这个 URL 由三部分组成:

    • ../../catalogservice;v=2: 一个相对路径,指向 OData 服务的根 URL。v=2 表示服务的版本。
    • /Vocabularies: 一个终结点,表示 OData 服务中的词汇表集合。
    • (TechnicalName='%2FIWBEP%2FVOC_UI',Version='0001',SAP__Origin='LOCAL')/$value: 一个过滤表达式,用于指定词汇表的技术名称、版本和来源。$value 表示返回元数据文件的内容。

首先,该片段以 <edmx:Reference> 标签开始,指示它是一个引用的元数据片段。<edmx:Reference> 标签的 Uri 属性定义了要引用的元数据的位置和详细信息。

在这个例子中,Uri 属性的值是 ../../catalogservice;v=2/Vocabularies(TechnicalName='%2FIWBEP%2FVOC_UI',Version='0001',SAP__Origin='LOCAL')/$value。让我们对这个值进行分解和解释。

  • ../../catalogservice;v=2:这部分表示引用的目标 OData 服务的位置。../.. 表示返回到上一级目录两次,然后进入名为 catalogservice 的文件夹(或服务)。;v=2 表示该服务的版本号为 2。这是为了确保使用正确版本的元数据和词汇表。

  • Vocabularies(TechnicalName='%2FIWBEP%2FVOC_UI',Version='0001',SAP__Origin='LOCAL'):这部分指定了要引用的元数据词汇表的详细信息。Vocabularies 表示引用的是词汇表。TechnicalName='%2FIWBEP%2FVOC_UI' 表示词汇表的技术名称为 %2FIWBEP%2FVOC_UI%2F 是 URL 编码中斜杠字符的编码表示。Version='0001' 表示词汇表的版本号为 0001SAP__Origin='LOCAL' 表示词汇表的来源为本地(LOCAL)。

  • /$value:这部分指定要引用的元数据的具体内容,而不是仅仅引用元数据的引用。$value 表示引用元数据内容而不是引用元数据本身。

接下来,<edmx:Reference> 标签的内部包含了一个或多个 <edmx:Include> 标签。在这个例子中,只有一个 <edmx:Include> 标签。

<edmx:Include> 标签用于指定引用的元数据的命名空间和别名。在这个例子中,<edmx:Include> 标签的 Namespace 属性值为 com.sap.vocabularies.UI.v1,表示引用的元数据属于 com.sap.vocabularies.UI.v1 命名空间。Alias 属性值为 UI,表示为该命名空间定义了别名 UI,以便在后续的代码中使用别名来引用该命名空间。

总结一下,这个 XML 片段的作用是引用一个 OData 服务的元数据和词汇表。它通过指定元数据的位置、版本号以及词汇表的技术名称、版本号和来源来定位和获取正确的元数据和词汇表内容。通过为元数据的命名空间定义别名,它还方便了在后续的代码中引用这些命名空间。

标签:OData,词汇表,UI5,引用,UI,SAP,数据
From: https://www.cnblogs.com/sap-jerry/p/17508682.html

相关文章

  • 如何处理 SAP Pricing - Document currency missing 的错误消息
    问题当添加一个物料主数据到Quotation行项目时,遇到如下错误消息:Pricing:Documentcurrencymissing查看这条消息的技术明细:发现是如下代码抛出的,因为字段waerk为空:将下图的currency字段维护之后,问题消失:更一般的思路错误消息"SAPPricing-Documentcurrencym......
  • 使用 New Bing 学习 SAP ABAP 生成 PDF 的几种技术
    本文还是围绕SAPABAP生成PDF这个话题来写。Jerry之前的公众号文章每日一个ChatGPT使用小技巧系列之3-利用角色扮演提高ChatGPT回复的质量发布之后,有朋友反馈,ChatGPT在回答如何给ABAPPDF添加水印这个问题时,表现不尽如人意。我试了一下,确实如此,所以先人工写了......
  • 使用纯 ABAP 开发 SAP UI5 之一:概述
    abap2UI5是一个开源项目,提供了一种纯ABAP的方法来开发UI5应用程序,无需使用JavaScript、OData和RAP——类似于过去,只需要几行ABAP代码就可以使用选择屏幕和ALV显示输入和表格。该项目设计具有最小的系统占用,并可以在本地和云环境中运行。使用ABAP开发SAPUI5应用的一些优势:......
  • SAP BTP 平台 ABAP 编程环境如何维护自定义 Unit Of Measure 数据库表 T006
    在ABAPOn-Premises系统下,我们可以轻易在SAPGUI里对UnitofMeasure数据库表即T006进行维护:[图片]ABAP数据库表T006是SAP系统中的一个重要数据表,它用于存储与度量单位相关的信息。在SAP系统中,度量单位用于表示各种物料、服务和计量单位。这些信息对于物料管理、......
  • PPT| SAP 集团财务管控整体方案P82
    PPT总共有82页,受篇幅有限,有需要PPT的同学可关注:智能制造数字化咨询......
  • 什么是 SAP Commerce Cloud 的 Flexible Search?
    SAPCommerceCloud的FlexibleSearch是一种强大而灵活的查询语言和工具,用于在SAPCommerceCloud平台上执行复杂的数据库查询操作。它提供了一种高度可定制的方式来检索和操作存储在CommerceCloud数据库中的数据。FlexibleSearch可以用于在产品、订单、用户等对象之间进行联接、......
  • 什么是 SAP Commerce Cloud SmartEdit 的 preview API
    PreviewAPI使得SmartEdit能够将商户网站加载到请求的体验环境上的iframe中。体验环境是指特定站点、目录和目录版本的商户网站,并且还可以是指定的语言、日期和时间。为了以指定的体验环境呈现商户网站,SmartEdit将请求的商户网站加载到请求的体验环境的iframe中。为了在请求的体验......
  • SAP Commerce Cloud 通过 SmartEdit 添加 Component 的一个例子
    如下图所示:位于ProductListLot内:url:http://localhost:4200/electronics-spa/en/USD/Open-Catalogue/Cameras/Digital-Cameras/Digital-Compacts/c/576观察到的OCC请求:https://localhost:9002/occ/v2/electronics-spa/cms/pages?pageType=CategoryPage&code=576&lang=en&......
  • SAP ABAP 生成 PDF 的几种技术综述
    下面这段文章,产生自ChatGPT:在SAPABAP系统中,有几种常用的技术可用于生成PDF文档。以下是其中一些常见的技术和它们的详细说明:ABAP内置功能(SAPScript和SmartForms):SAPABAP系统提供了两种内置的打印表单技术,即SAPScript和SmartForms。这些技术允许你创建具有格式化文本、图像......
  • 使用 New Bing 学习 SAP ABAP 生成 PDF 的几种技术
    本文还是围绕SAPABAP生成PDF这个话题来写。Jerry之前的公众号文章每日一个ChatGPT使用小技巧系列之3-利用角色扮演提高ChatGPT回复的质量发布之后,有朋友反馈,ChatGPT在回答如何给ABAPPDF添加水印这个问题时,表现不尽如人意。我试了一下,确实如此,所以先人工写了......