首页 > 其他分享 >如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版

时间:2023-11-01 13:08:03浏览次数:48  
标签:Fiori Elements 试读 SEPMRA 本地 注解 sap


本教程前一篇文章:8. 如何找到 SAP Fiori Elements 应用某个字段显示值具体的数据源

在WebIde(SAP UI 版本 1.97.0)生成Fiori Elements 的Overview page并发布后,再次在消费视图中修改UI注解后,本地运行该Overview page应用发现页面已经变动,但是发布后的界面却没有变动。重新发布该Overview page应用或清除缓存后仍然不起作用。

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_OData

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_字段_02

前一篇文章里,我们已经简要介绍了 ListReport 这种类型的 Fiori Elements 应用的布局设计原理,如上图所示,我们想查找的 Products(123)的数据源,实际上绑定路径为:

/dataServices/schema/0/entityType/6/com.sap.vocabularies.UI.v1.HeaderInfo/TypeNamePlural

而 OData 元数据被 Fiori Elements 框架解析成 JavaScript 对象后,我们根据上面找到的路径,找到 JavaScript 对象 entityType 数组索引为 0 的数组元素,发现 TypeNamePlural 字段值为 Products

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_UI_03

本文我们继续介绍,如何通过修改 Visual Studio Code 内本地 Fiori Elements 工程的注解文件,来修改 Products 字符串的显示。

下面是详细的内容。

我们将本教程目前为止开发好的 Fiori Elements ListReport 应用,使用 yarn start 命令行本地运行,然后切换到调试模型,在 Chrome 开发者工具 network 面板能观察到两个 HTTP 请求:

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_OData_04

  • 请求1:OData 服务元数据请求,url 为 http://localhost:8080/sap/opu/odata/sap/SEPMRA_PROD_MAN/$metadata?sap-value-list=none&sap-language=EN.
  • 请求2:OData 注解(annotation) 请求,url 为 http://localhost:8080/sap/opu/odata/IWFND/CATALOGSERVICE;v=2/Annotations(TechnicalName='SEPMRA_PROD_MAN_ANNO_MDL',Version='0001')/$value/?sap-language=EN.

大家注意到上面提到的两个 url,里面都包含了 sap 这个片段。

按照笔者之前教程的文章介绍,这两个请求里虽然主机名为 http://localhost:8080, 实际上被 Fiori Elements 本地开发自带的代理服务器,将请求转发给了部署了 OData 服务的远端服务器 ES5,网址为 https://sapes5.sapdevcenter.com.

代理服务器的配置,定义在 ui5.yaml文件里如下图所示:

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_OData_05

我们再把 annotation 注解请求的 HTTP 响应粘贴到一些 XML 查看器里,便于查看:

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_UI_06

有了本教程前一篇文章单步调试找到的路径 /dataServices/schema/0/entityType/6/com.sap.vocabularies.UI.v1.HeaderInfo/TypeNamePlural,我们在这个注解请求的响应里,找到了 TypeNamePlural 值为 Products 的字段,位于 SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType 节点内。

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_OData_07

我们在本地工程文件的 localService 文件夹内,能找到一个名叫 SEPMRA_PROD_MAN_ANNO_MDL.xml 的本地注解文件,该文件里同样存在一个层级结构同上图一致的节点,名称也叫 SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType.

我们将该节点内 TypeNamePlural 字段值从 Products 修改成产品

如何修改 Fiori Elements 工程包含的本地注解(annotations)文件试读版_OData_08

因为我们作为 Fiori Elements 应用的本地开发人员,是没有办法也没有权限修改远端服务器上的 OData 服务注解实现的。所以我们需要设法让 Fiori Elements 框架的运行时,也加载这个本地注解文件,这样我们在本地注解文件里的修改,才能影响最终 Fiori Elements 应用的页面渲染效果。

下面是详细的步骤。


标签:Fiori,Elements,试读,SEPMRA,本地,注解,sap
From: https://blog.51cto.com/jerrywangsap/8120641

相关文章

  • 如何找到 SAP Fiori Elements 应用某个字段显示值具体的数据源试读版
    笔者将自己在SAP领域16年(2007~2023)的SAPUI5(Fiori)和OData开发的技术沉淀,进行了系统的归纳和总结,分别写成了三套由浅入深的学习教程,收到了不错的反响:零基础快速学习ABAP一套适合SAPUI5开发人员循序渐进的学习教程SAPOData开发实战教程-从入门到提高这三套教程都......
  • SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版
    本教程第4篇文章,我们介绍了本地启动SAPFioriElements应用的三种模式。4.SAPFioriElements本地应用启动的三种模式辨析以默认方式即命令行yarnstart启动之后,项目文件夹里的ui5.yaml文件会默认被加载并解析。ui5.yaml这个文件,在本地开发FreestyleUI5时也会遇到,笔......
  • SAP Fiori Elements 应用里的 ui5-local.yaml
    SAPFioriElements是SAP的一种开发框架,用于快速构建SAPFiori应用程序。SAPFioriElements应用程序的一个重要方面是模拟服务器(mockserver),它允许在本地开发环境中模拟OData服务,以便在没有真实后端服务的情况下进行开发和测试。ui5-local.yaml文件用于配置本地开发环境,......
  • [macos]karabiner-elements设置
    通过一些映射来方便我的mac操作      20200423:  https://github.com/eret9616/my-karabiner-config ......
  • SAP UI5 官网上提供的例子,如何下载到本地运行试读版
    上个月的时候,有个朋友问了我这个问题,SAPUI5官网上的例子,如何下载到本地运行呢?本文就来介绍详细步骤。我们打开SAPUI5官方帮助文档,点击Samples:然后从左边随便选一个Samples,比如Breadcrumbs:然后在屏幕右侧看到的区域,就是这个例子渲染出来的动态效果:点击Download......
  • PEnum_ElementShading
    PEnum_ElementShading NameDescriptionFIXEDFixed MOVABLEMovable OVERHANGOverhang SIDEFINSidefin USERDEFINEDUserdefined NOTDEFINEDNotdefined    ##############......
  • PEnum_ElementStatus
    PEnum_ElementStatus  NameDescriptionNEWNewelementdesignedasnewadditionEXISTINGExistingelementexistsandistoremainDEMOLISHDemolishelementexistsbutistobedemolishedTEMPORARYTemporaryelemen......
  • ABAP 异常处理(Exception Handling) - 什么是 Non-Class-Based 异常试读版
    本教程前一篇文章,笔者介绍了ABAP系统里查看程序运行时错误的一个有用工具:事务码ST22:112.SAPABAPDumpAnalysis(ST22)工具的使用和背景介绍在笔者实际工作过程中,发现部分开发人员,对于运行时错误(RuntimeError)和异常(Exception)这些概念的区别,理解得不是很清楚,因此使......
  • 等待多个元素 放入一个列表 WebDriverWait(driver,10).until(EC.visibility_of_all_el
     这里需要百度的热点新闻标题是多个元素    #导包fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasEC......
  • NextJS应用中的Stripe Elements未显示
    如果在Next.js应用中使用StripeElements时未能正确显示,请尝试以下解决方案:确保正确引入Stripe.js库:在Next.js应用中使用StripeElements之前,需要确保正确引入Stripe.js库。你可以在<Head>组件中引入Stripe.js库,例如:importHeadfrom'next/head';functionMyComponent(){ret......