关于saprfc:如何在-SAP-Fiori-Elements-框架里通过注解定义一个表格行项目的列

有一段 xml 代码: <Annotation Term="UI.LineItem"> <Collection> <Record Type="UI.DataField"> <PropertyValue Property="Value" Path="ProductPictureURL"/> <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/> </Record>在解析这段 SAP Fiori Elements 的 Annotations 定义之前,咱们须要理解 SAP Fiori Elements 是一套容许开发者通过配置而非编码来创立标准化应用程序的框架。Annotations(注解)在这个过程中扮演着要害角色,它们提供了一种申明式的办法来定义 UI 行为和显示逻辑,而不是通过传统的编程。这种办法大大简化了开发过程,同时确保了利用的一致性和高质量。 接下来,咱们将逐行解析提供的 Annotations 代码,这段代码定义了一个名为 UI.LineItem 的注解,其目标是配置 Fiori 利用中的一个列表项的显示。 <Annotation Term="UI.LineItem">这行代码定义了一个 Annotation,它应用了 Term="UI.LineItem"。在 SAP Fiori Elements 中,UI.LineItem 用于形容列表报告或表格中的每一行应该如何展现。它是 Fiori 利用中数据展现的一个要害组成部分,使得开发者可能准确控制数据的展示形式。 <Collection><Collection> 标签示意这个 UI.LineItem 注解将蕴含一系列的记录(Record)。在这个上下文中,每个 Record 代表列表中的一个字段或列。Collection 的应用表明你能够定义多个数据字段,每个字段都有本人的展现逻辑和属性。 <Record Type="UI.DataField">这一行开始定义一个 Record,它的 Type 属性被设置为 UI.DataField。这意味着这个记录代表一个数据字段,用于显示数据模型中的某个属性值。UI.DataField 是用来间接从后端数据模型中取值显示在 UI 上的一种元素类型。 <PropertyValue Property="Value" Path="ProductPictureURL"/>这里,<PropertyValue> 定义了具体的属性值,Property="Value" 示意这个 Record 将展现的内容。Path="ProductPictureURL" 指定了这个值来自数据模型中的 ProductPictureURL 属性。这意味着列表中的这一列将显示每个产品的图片 URL。 <Annotation Term="UI.Importance" EnumMember="UI.ImportanceType/High"/>最初,这一行通过 UI.Importance 注解为这个字段设置了重要性级别。EnumMember="UI.ImportanceType/High" 表明这个字段在 UI 展现时具备高重要性。在 Fiori Elements 利用中,这能够影响字段在不同屏幕尺寸或设施上的显示方式,例如,在挪动设施上优先展现或在紧凑视图中依然保留。 ...

February 24, 2024 · 1 min · jiezi

关于saprfc:SAP-UI5-complex-parser-只有在-126-版本之后才能使用

上面是一个例子: 语义是,complex Parser 性能,只能在 1.26 及其之后的版本应用: if ( config["bindingSyntax"] === "default" ) { config["bindingSyntax"] = (config.getCompatibilityVersion("sapCoreBindingSyntax").compareTo("1.26") < 0) ? "simple" : "complex"; } 版本号是 1.26: 解析出主版本号为1,次版本号为 26: 以后次版本号是 110: 以后 SAP UI5 版本的次版本号是怎么求进去的? SAP UI5 默认的 jQuery 版本是 3.6.0,如果不是这个版本,在 console 会打印正告音讯。 Add all defined events to the event infrastructurejQuery has inversed the order of event registration when multiple events are passed into jQuery.on method from version 1.9.1. ...

March 13, 2023 · 1 min · jiezi

关于saprfc:SAP-Product-Lifecycle-Costing-里的-Costing-Sheet-成本核算表

有敌人在我的常识星球里向我发问: 请您帮忙讲一下这个AP0100的costing sheet rows这里都示意什么意思吗?比方row10、base Z010、overhead啥、形容、from、to row、credit都阐明了什么,可能实现下面的指标吗,感激!!! 我在 Google 里依据关键字 Costing sheet rows 进行搜寻,第一个搜寻后果就是 SAP help 官网文档对于 SAP Product Lifecycle Costing 产品的介绍。 然而把敌人的截图同官网文档形容的内容比拟,仿佛不齐全 match: 问题里给出的截图,实际上是成本核算表业务数据增删改查的治理界面。 这里能够创立、编辑和删除 SAP Product Lifecycle Costing 中应用的成本核算表(Costing Sheet)。成本核算表定义了用于计算 overheads 和 sums 的规定。 成本核算表由多行组成,在一个特定的 Calculation Versions 中计算 overheads 和 sums 时,这些行依照从上到下的程序顺次被解决。 Costing Sheet 反对下列三种行类型: BaseOverheadSum这些行类型之间存在依赖关系。 最重要的是,成本核算表中的第一行必须是根本行即 Base Row. 这是因为 Overhead 行和 Sum 行只能援用位于它们之上的行。 能够依据须要增加任意数量的 Base 行和 Overhead 行。 然而,被援用的 Base 行必须始终位于 Overhead 行之上。 这同样实用于 Sum 行。 只有位于 Sum 行之上的行能力在 Sum 行中被援用。 ...

December 24, 2022 · 1 min · jiezi

关于saprfc:本地开发好的-SAP-UI5-应用部署到-ABAP-服务器时中文字符变成乱码的原因分析和解决方案

一套适宜 SAP UI5 初学者循序渐进的学习教程作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后退出 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 规范产品开发生涯里,Jerry 已经先后参加 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等规范产品的研发工作。 Jerry 工作中应用 ABAP, Java, JavaScript 和 TypeScript 进行开发, 对包含 SAP UI5 在内的多款 SAP 自研框架有深刻的钻研。 教程目录SAP UI5 本地开发环境的搭建SAP UI5 利用开发教程之一:Hello WorldSAP UI5 利用开发教程之二:SAP UI5 的疏导过程 BootstrapSAP UI5 利用开发教程之三:开始接触第一个 SAP UI5 控件SAP UI5 利用开发教程之四:XML 视图初探SAP UI5 利用开发教程之五:视图控制器初探SAP UI5 利用开发教程之六 - 理解 SAP UI5 的模块(Module)概念SAP UI5 利用开发教程之七 - JSON 模型初探SAP UI5 利用开发教程之八 - 多语言的反对SAP UI5 利用开发教程之九 - 创立第一个 ComponentSAP UI5 利用开发教程之十 - 什么是 SAP UI5 利用的描述符 DescriptorSAP UI5 利用开发教程之十一 :SAP UI5 容器类控件 Page 和 PanelSAP UI5 利用开发教程之十二 - 应用 CSS 类对 UI 进行进一步丑化SAP UI5 利用开发教程之十三 - 如何增加自定义 CSS 类SAP UI5 利用开发教程之十四 - 嵌入视图的应用形式SAP UI5 利用开发教程之十五 - 对话框和 Fragments 的应用形式SAP UI5 利用开发教程之十六 - 图标 icon 的应用SAP UI5 利用开发教程之十七 - 聚合绑定在 UI5 复合控件中的应用SAP UI5 利用开发教程之十八 - SAP UI5 数据绑定语法里的特殊符号,以及相对绑定和绝对绑定概念详解SAP UI5 利用开发教程之十九 - SAP UI5 数据类型和简单的数据绑定SAP UI5 利用开发教程之二十 - SAP UI5 的表达式绑定用法解说SAP UI5 利用开发教程之二十一 - SAP UI5 的自定义格局器 Custom FormatterSAP UI5 利用开发教程之二十二 - 过滤器 filter 的开发和应用SAP UI5 利用开发教程之二十三 - 列表控件的排序 Sort 和分组 GroupSAP UI5 利用开发教程之二十四 - 如何应用 OData 数据模型SAP UI5 利用开发教程之二十五 - 应用代理服务器解决 SAP UI5 利用拜访远端 OData 服务的跨域问题SAP UI5 利用开发教程之二十六 - OData 服务配合 Mock 服务器的应用步骤详解SAP UI5 利用开发教程之二十七 - SAP UI5 利用的单元测试工具 QUnit 介绍SAP UI5 利用开发教程之二十八 - SAP UI5 利用的集成测试工具 OPA 介绍SAP UI5 利用开发教程之二十九 - SAP UI5 的路由和导航性能介绍SAP UI5 利用开发教程之三十 - SAP UI5 的路由过程中进行参数传递SAP UI5 利用开发教程之三十一 - SAP UI5 的路由历史和路由回退(Routing back and history)SAP UI5 利用开发教程之三十二 - 如何创立一个自定义 SAP UI5 控件SAP UI5 利用开发教程之三十三 - SAP UI5 利用的响应式布局个性(Responsiveness)SAP UI5 利用开发教程之三十四 - SAP UI5 利用基于设施类型的页面适配性能(Device Adaptation)SAP UI5 利用开发教程之三十五 - 如何把本地开发的 SAP UI5 利用部署到 ABAP 服务器上SAP UI5 利用开发教程之三十六 - 应用 Chrome 开发者工具 Elements 标签动静批改 CSS 类SAP UI5 利用开发教程之三十七 - 应用 Chrome 开发者工具 Console 面板进行元素审查SAP UI5 利用开发教程之三十八 - 应用 Chrome 开发者工具查看程序执行出错时的上下文信息SAP UI5 利用开发教程之三十九 - SAP UI5 利用呈现白屏的一些常见谬误和分析方法分享SAP UI5 利用开发教程之四十 - 如何制作蕴含了 component-preload.js 在内的 SAP UI5 公布版本SAP UI5 利用开发教程之四十一 - Chrome 扩大 UI5 Inspector 的离线装置和应用办法SAP UI5 利用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具应用办法介绍SAP UI5 利用开发教程之四十三 - SAP UI5 自带的 Support Assistant 工具应用办法介绍SAP UI5 利用开发教程之四十四 - Label 和 Input 控件文本没有程度对齐的起因剖析和解决方案SAP UI5 利用开发教程之四十五 - 如何在 SAP UI5 利用里应用 jQuery 和原生的 DOM APISAP UI5 利用开发教程之四十六 - 应用 Message Manager 实现开箱即用的验证(Validation)信息抛出SAP UI5 利用开发教程之四十七 - 如何自定义 SAP UI5 字符串类型输出字段的校验逻辑SAP UI5 利用开发教程之四十八 - 如何在 SAP UI5 利用里开发条形码扫描性能SAP UI5 利用开发教程之四十九 - 如何在桌面电脑端调试运行在手机上的 SAP UI5 利用SAP UI5 利用开发教程之五十 - 如何应用 Cordova 将 SAP UI5 利用生成一个能在 Android 手机上安装的混合利用SAP UI5 利用开发教程之五十一 - 如何应用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合利用SAP UI5 利用开发教程之五十二 - 如何应用 SAP UI5 的规范控件联合 Cordova 插件调用手机摄像头进行条形码扫描SAP UI5 利用开发教程之五十三 - 如何自定义 SAP UI5 数据类型(Data Type)SAP UI5 利用开发教程之五十四 - 如何将本地 SAP UI5 利用配置到本地 Fiori Launchpad 中SAP UI5 利用开发教程之五十五 - 如何将本地 SAP UI5 利用通过 Node.js Express 部署到公网上SAP UI5 利用开发教程之五十六 - SAP UI5 树控件(tree)的开发SAP UI5 利用开发教程之五十七 - 基于 OData 注解的 Smart Field 应用办法学习SAP UI5 利用开发教程之五十八 - 应用工厂办法在运行时动态创建不同类型的列表行我的项目控件SAP UI5 利用开发教程之五十九 - 如何在 SAP UI5 利用里显示世界地图SAP UI5 利用开发教程之六十 - SAP UI5 地图控件的一些高级用法SAP UI5 利用开发教程之六十一 - 在 SAP UI5 利用里绘制甘特图 Gantt ChartSAP UI5 利用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件应用办法介绍SAP UI5 利用开发教程之六十三 - 基于 OData V4 的本地 Mock Server 实现的深刻介绍SAP UI5 利用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)性能SAP UI5 利用开发教程之六十五 - 基于 OData V4 的 SAP UI5 表格控件如何实现创立,编辑和保留性能SAP UI5 利用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除性能SAP UI5 利用开发教程之六十七 - 基于 OData V4 的 SAP UI5 List-Detail(列表-明细)布局的实现形式SAP UI5 利用开发教程之六十八 - 如何实现 SAP UI5 路由失败时显示自定义的 NOT Found 页面SAP UI5 利用开发教程之六十九 - 如何从 SAP UI5 Not Found 页面跳转回到失常的利用页面SAP UI5 利用开发教程之七十 - 如何应用按钮控件触发页面路由跳转SAP UI5 利用开发教程之七十一 - SAP UI5 页面的嵌套路由SAP UI5 利用开发教程之七十二 - SAP UI5 页面路由的动画成果设置SAP UI5 利用开发教程之七十三 - 应用自定义 Query 实现 SAP UI5 页面路由的书签性能SAP UI5 利用开发教程之七十四 - SAP UI5 利用应用 OData V4 显示 Table 表格数据的一个陷阱SAP UI5 利用开发教程之七十五 - 如何采纳SAP UI5 主从表格的联动技术显示简单表格内容SAP UI5 利用开发教程之七十六 - 如何实现 SAP UI5 的 Lazy Loading(提早加载,懒加载)SAP UI5 利用开发教程之七十七 - SAP UI5 动静页面路由的高级用法:路由记录 routes 和 target 的一对多关系SAP UI5 利用开发教程之七十八 - 如何通过 url 放弃 SAP UI5 搜寻的状态,让其反对书签性能SAP UI5 利用开发教程之七十九 - 采纳测试驱动开发理念(Test Driven Development)进行 SAP UI5 利用的性能开发(一)SAP UI5 利用开发教程之八十 - 采纳测试驱动开发理念(Test Driven Development)进行 SAP UI5 利用的性能开发(二)SAP UI5 利用开发教程之八十一 - 采纳 OPA5 进行 SAP UI5 集成测试(Integration Test)的一个例子SAP UI5 利用开发教程之八十二 - 采纳 OPA5 开发反对页面跳转的 SAP UI5 集成测试用例SAP UI5 利用开发教程之八十三 - SAP UI5 的自动化测试套件页面的开发步骤介绍SAP UI5 利用开发教程之八十四 - 如何指定 SAP UI5 应用程序基于某个特定的版本运行SAP UI5 利用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输出文本的性能SAP UI5 利用开发教程之八十六 - 入手开发一个最简略的本地 Mock 数据服务器SAP UI5 利用开发教程之八十七 - 如何让 SAP UI5 Mock 服务器反对自定义 url 参数SAP UI5 利用开发教程之八十八 - SAP UI5 Mock 服务器如何实现自定义 Function ImportSAP UI5 利用开发教程之八十九 - 如何给 SAP UI5 列表控件削减多个图形界面的过滤器SAP UI5 利用开发教程之九十 - 基于 OData V2 的 SAP UI5 List-Detail(列表-明细)布局的实现形式SAP UI5 利用开发教程之九十一 - 如何应用客户端 JSON 模型构建一个 Master-Detail-Detail 布局中的列表页面SAP UI5 利用开发教程之九十二 - 基于 SAP UI5 JSONModel 客户端模型的列表分页显示(Table Pagination)前提SAP UI5 利用开发教程之九十三 - 基于 JSONModel 数据模型的列表控件显示数据的深刻探讨SAP UI5 利用开发教程之九十四 - 基于 JSONModel 数据模型的 SAP UI5 列表控件分页显示数据的残缺解决方案SAP UI5 利用开发教程之九十五 - SAP UI5 下拉菜单(Select) 控件的应用形式SAP UI5 利用开发教程之九十六 - SAP UI5 列表控件分页显示数据时,如何自定义分页大小SAP UI5 利用开发教程之九十七 - 如何应用客户端 JSON 模型构建一个 Master-Detail-Detail 布局中的明细页面SAP UI5 利用开发教程之九十八 - 从 viewId 这个属性谈起,聊聊 SAP UI5 的 HTML 源代码生成机制SAP UI5 利用开发教程之九十九 - 深入探讨 SAP UI5 本地开发环境里的 package.json 和 ui5.yamlSAP UI5 利用开发教程之一百 - 如何批改 SAP UI5 框架的源代码实现,以及应用本地部署的 SAP UI5 SDKSAP UI5 利用开发教程之一百零一 - SAP UI5 利用的 Locale 决定机制SAP UI5 利用开发教程之一百零二 - SAP UI5 利用的打印(Print)性能实现详解SAP UI5 利用开发教程之一百零三 - 如何在 SAP UI5 利用中生产第三方库SAP UI5 利用开发教程之一百零四 - SAP UI5 表格控件的反对复选(Multi-Select)以及如何用代码一次选中多个表格行我的项目SAP UI5 利用开发教程之一百零五 - SAP UI5 Master-Detail 布局模式的联动成果实现明细介绍SAP UI5 利用开发教程之一百零六 - 如何进步 SAP UI5 利用路由 url 的可读性SAP UI5 利用开发教程之一百零七 - SAP UI5 OverflowToolbar 容器控件以及 resize 事件处理的一些细节介绍SAP UI5 利用开发教程之一百零八 - SAP UI5 图片显示控件 Avatar 的应用形式介绍SAP UI5 利用开发教程之一百零九 - 应用 SAP UI5 FileUploader 控件上传本地文件SAP UI5 利用开发教程之一百一十 - SAP UI5 FileUploader 控件深刻介绍 - 为什么须要一个暗藏的 iframeSAP UI5 利用开发教程之一百一十一 - SAP UI5 FileUploader 控件实现本地文件上传,接管服务器端的响应时遇到跨域拜访谬误SAP UI5 利用开发教程之一百一十二 - 应用自开发的代理服务器解决 SAP UI5 FileUploader 上传文件时遇到的跨域拜访谬误SAP UI5 利用开发教程之一百一十三 - 授人以渔 - 如何自行查问任意 SAP UI5 控件属性的文档和技术实现细节SAP UI5 利用开发教程之一百一十四 - 如何通过单步调试的形式找到引起 Fiori Launchpad 路由谬误的起因SAP UI5 利用开发教程之一百一十五 - 对于将本地 SAP UI5 利用配置到本地 Fiori Launchpad 的技术实现深刻解说SAP UI5 利用开发教程之一百一十六 - 在 SAPGUI 里应用 ABAP 报表上传 SAP UI5 利用到 ABAP 服务器SAP UI5 利用开发教程之一百一十七 - 本地开发好的 SAP UI5 利用部署到 ABAP 服务器时,中文字符变成乱码的起因剖析和解决方案SAP UI5 利用开发教程之一百一十八 - 正在写作中......阐明Jerry 从 2014 年退出 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,已经在 SAP 社区和“汪子熙”微信公众号上发表过多篇对于 SAP UI5 工作原理和源码解析的文章。 ...

August 12, 2022 · 5 min · jiezi

关于saprfc:几种-SAP-ABAP-OData-服务的性能评估和测试工具介绍试读版

正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到进步(蕴含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,能够分为三大类。因而本教程也分为三大部分,别离进行介绍。本文是本教程的文章目录。 作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后退出 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 规范产品开发生涯里,Jerry 已经先后参加 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等规范产品的研发工作。 Jerry 对 SAP OData 服务的开发,测试,公布,部署,测试,及基于各种不同 SAP 技术实现的 OData 服务的幕后技术实现细节和应用场合,均有着深刻的钻研。 基于 SEGW - Gateway Service Builder 的开发教程1. 在 SAP ABAP 事物码 SEGW 里创立 SAP OData 我的项目2. 在 SAP ABAP 系统对事物码 SEGW 创立的 OData 服务进行配置并测试3. SAP ABAP OData 服务诊断工具 /IWFND/ERROR_LOG 的应用办法4. SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 办法实现指南5. SAP ABAP OData 服务如何反对 $filter (过滤)操作6. 应用 Postman 工具高效治理和测试 SAP ABAP OData 服务7. SAP ABAP OData 服务如何反对 $orderby (排序)操作8. SAP ABAP OData 服务如何反对创立(Create)操作9. SAP ABAP OData 服务如何反对删除(Delete)操作10. SAP ABAP OData 服务如何反对批改(Update)操作11. 应用 HTTP PUT, PATCH 以及 MERGE 申请生产 SAP ABAP OData 服务批改操作的实现及其区别12. SAP ABAP OData 服务如何反对 $select 有选择性地仅读取局部模型字段值13. SAP ABAP OData 服务的分页加载数据集的实现(Paging)14. 几种 SAP ABAP OData 服务的性能评估和测试工具介绍更多文章正在写作中,敬请期待应用 Restful ABAP Programming 编程模型(简称 RAP) 开发 OData 服务正在写作中,敬请期待应用 SAP Cloud Application Programming 编程模型开发 OData 服务正在写作中,敬请期待本教程至此曾经实现了 13 个章节的介绍,咱们初步把握了 SAP ABAP OData 服务在事物码 SEGW 中的建模,以及该模型对应的 DPC - Data Provider Class 针对 CRUD(增删改查),过滤($filter), 排序($orderby), 选择性返回字段($select), 以及分页读取数据集($skip 和 $top) 等操作的具体实现步骤。 ...

August 12, 2022 · 1 min · jiezi

关于saprfc:SAP-SEGW-事物码里的导航属性Navigation-Property-和-EntitySet-使用方法

实体类型包含一个或多个导航属性。导航属性形容实体关系之间的导航门路。 它是一个实体的属性,示意从该实体到一个或多个相干实体的链接。 导航属性绑定到关联类型(association type),容许从申明导航属性的实体类型的一端(导航的数据源)导航到另一端相干的端。 导航属性是创立通过 association 从一个实体到另一个实体的链接所必须的。 在创立导航属性之前,须要首先创立实体类型和关联(association)。 导航属性文件夹仅在增加实体类型之后才会显示。 双击 SEGW 里的 Navigation Properties 文件夹,关上 mass edit view,能看到每个 navigation property 对应下列五列须要保护: 在 Service Builder 我的项目中应用实体集将实体类型的实例与派生自此特定实体类型的任何类型的实例组合在一起。 实体类型(Entity Type)形容数据结构,而实体集蕴含给定构造的实例(instance)。 右键单击“数据模型”文件夹,抉择“创立”,而后抉择“实体集”。另外,当右键单击实体集文件夹并抉择创立时,能够创立一个新的实体集。关上“创立实体集”对话框。 如下图所示: Requires filter checkbox 的含意:选中此复选框示意服务实现须要筛选器(filter)。如果选中此复选框,则不能间接拜访实体集,并且不能在没有 $filter 表达式的状况下查问实体集。 Association关联形容了两个或多个实体之间的关系,这种关系具备显式命名。 关联定义了参加实体类型之间的对等关系,能够在两端反对不同的 multiplicities, 比方 1 对多,多对1,N:M 等等。 关联的一个例子是 Customer 和 Order 实体之间的关系,如下图所示:

June 30, 2022 · 1 min · jiezi

关于saprfc:通过-OData-里面写代码去检查有没有某一个-catalog-的权限

对于题目这个需要,首先要思考在 OData 实现的什么中央去编写查看逻辑。 能够思考在 OData 模型的 Function Import 里编写查看逻辑。 如果是用 Gateway Builder 即 SEGW 事物码开发的 OData,首先在 SEGW 我的项目里创立 Function Import: 而后在对应的 class 里编写 Function import 的具体实现代码。 至于如何查看一个用户是否被调配了某个 catalog,请浏览我这篇文章SAP Fiori Launchpad Tile,UI5利用,和PFCG Role的对应关系。 首先须要晓得待查看的 catalog,被调配到哪个具体的 PFCG role 里,而后检查用户是否被调配到这个查到的 PFCG role 里。 举个例子:我想检查用户 WANGJER 是否被调配了 catalog X-SAP-UI2-CATALOGPAGE:SAP_CRM_BC_SALESREP。 首先弄清楚 X-SAP-UI2-CATALOGPAGE:SAP_CRM_BC_SALESREP 被哪些 PFCG role 蕴含了? 答案是 ZSAP_CRM_BCR_SALESREP: 而后是查看 WANGJER 这个用户是否被调配给 这个PFCG role 了? 答案是 Yes,因而查看后果,WANGJER 这个用户,领有 X-SAP-UI2-CATALOGPAGE:SAP_CRM_BC_SALESREP 的权限。 当然,须要应用 ST05 等工具,找到哪些数据库表,存储了 catalog 与 PFCG role,以及 PFCG role 与用户名的对应关系。 ...

June 30, 2022 · 1 min · jiezi

关于saprfc:SAP-UI5-应用-indexhtml-里引导-script-属性的解析原理

一套适宜 SAP UI5 初学者循序渐进的学习教程作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后退出 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 规范产品开发生涯里,Jerry 已经先后参加 SAP Business ByDesign, SAP CRM, SAP Cloud for Customer, SAP S/4HANA, SAP Commerce Cloud(电商云)等规范产品的研发工作。 Jerry 工作中应用 ABAP, Java, JavaScript 和 TypeScript 进行开发, 对包含 SAP UI5 在内的多款 SAP 自研框架有深刻的钻研。 教程目录SAP UI5 本地开发环境的搭建SAP UI5 利用开发教程之一:Hello WorldSAP UI5 利用开发教程之二:SAP UI5 的疏导过程 BootstrapSAP UI5 利用开发教程之三:开始接触第一个 SAP UI5 控件SAP UI5 利用开发教程之四:XML 视图初探SAP UI5 利用开发教程之五:视图控制器初探SAP UI5 利用开发教程之六 - 理解 SAP UI5 的模块(Module)概念SAP UI5 利用开发教程之七 - JSON 模型初探SAP UI5 利用开发教程之八 - 多语言的反对SAP UI5 利用开发教程之九 - 创立第一个 ComponentSAP UI5 利用开发教程之十 - 什么是 SAP UI5 利用的描述符 DescriptorSAP UI5 利用开发教程之十一 :SAP UI5 容器类控件 Page 和 PanelSAP UI5 利用开发教程之十二 - 应用 CSS 类对 UI 进行进一步丑化SAP UI5 利用开发教程之十三 - 如何增加自定义 CSS 类SAP UI5 利用开发教程之十四 - 嵌入视图的应用形式SAP UI5 利用开发教程之十五 - 对话框和 Fragments 的应用形式SAP UI5 利用开发教程之十六 - 图标 icon 的应用SAP UI5 利用开发教程之十七 - 聚合绑定在 UI5 复合控件中的应用SAP UI5 利用开发教程之十八 - SAP UI5 数据绑定语法里的特殊符号,以及相对绑定和绝对绑定概念详解SAP UI5 利用开发教程之十九 - SAP UI5 数据类型和简单的数据绑定SAP UI5 利用开发教程之二十 - SAP UI5 的表达式绑定用法解说SAP UI5 利用开发教程之二十一 - SAP UI5 的自定义格局器 Custom FormatterSAP UI5 利用开发教程之二十二 - 过滤器 filter 的开发和应用SAP UI5 利用开发教程之二十三 - 列表控件的排序 Sort 和分组 GroupSAP UI5 利用开发教程之二十四 - 如何应用 OData 数据模型SAP UI5 利用开发教程之二十五 - 应用代理服务器解决 SAP UI5 利用拜访远端 OData 服务的跨域问题SAP UI5 利用开发教程之二十六 - OData 服务配合 Mock 服务器的应用步骤详解SAP UI5 利用开发教程之二十七 - SAP UI5 利用的单元测试工具 QUnit 介绍SAP UI5 利用开发教程之二十八 - SAP UI5 利用的集成测试工具 OPA 介绍SAP UI5 利用开发教程之二十九 - SAP UI5 的路由和导航性能介绍SAP UI5 利用开发教程之三十 - SAP UI5 的路由过程中进行参数传递SAP UI5 利用开发教程之三十一 - SAP UI5 的路由历史和路由回退(Routing back and history)SAP UI5 利用开发教程之三十二 - 如何创立一个自定义 SAP UI5 控件SAP UI5 利用开发教程之三十三 - SAP UI5 利用的响应式布局个性(Responsiveness)SAP UI5 利用开发教程之三十四 - SAP UI5 利用基于设施类型的页面适配性能(Device Adaptation)SAP UI5 利用开发教程之三十五 - 如何把本地开发的 SAP UI5 利用部署到 ABAP 服务器上SAP UI5 利用开发教程之三十六 - 应用 Chrome 开发者工具 Elements 标签动静批改 CSS 类SAP UI5 利用开发教程之三十七 - 应用 Chrome 开发者工具 Console 面板进行元素审查SAP UI5 利用开发教程之三十八 - 应用 Chrome 开发者工具查看程序执行出错时的上下文信息SAP UI5 利用开发教程之三十九 - SAP UI5 利用呈现白屏的一些常见谬误和分析方法分享SAP UI5 利用开发教程之四十 - 如何制作蕴含了 component-preload.js 在内的 SAP UI5 公布版本SAP UI5 利用开发教程之四十一 - Chrome 扩大 UI5 Inspector 的离线装置和应用办法SAP UI5 利用开发教程之四十二 - SAP UI5 自带的 Diagnostics 诊断工具应用办法介绍SAP UI5 利用开发教程之四十三 - SAP UI5 自带的 Support Assistant 工具应用办法介绍SAP UI5 利用开发教程之四十四 - Label 和 Input 控件文本没有程度对齐的起因剖析和解决方案SAP UI5 利用开发教程之四十五 - 如何在 SAP UI5 利用里应用 jQuery 和原生的 DOM APISAP UI5 利用开发教程之四十六 - 应用 Message Manager 实现开箱即用的验证(Validation)信息抛出SAP UI5 利用开发教程之四十七 - 如何自定义 SAP UI5 字符串类型输出字段的校验逻辑SAP UI5 利用开发教程之四十八 - 如何在 SAP UI5 利用里开发条形码扫描性能SAP UI5 利用开发教程之四十九 - 如何在桌面电脑端调试运行在手机上的 SAP UI5 利用SAP UI5 利用开发教程之五十 - 如何应用 Cordova 将 SAP UI5 利用生成一个能在 Android 手机上安装的混合利用SAP UI5 利用开发教程之五十一 - 如何应用 Chrome 调试运行在手机上的 SAP UI5 Cordova 混合利用SAP UI5 利用开发教程之五十二 - 如何应用 SAP UI5 的规范控件联合 Cordova 插件调用手机摄像头进行条形码扫描SAP UI5 利用开发教程之五十三 - 如何自定义 SAP UI5 数据类型(Data Type)SAP UI5 利用开发教程之五十四 - 如何将本地 SAP UI5 利用配置到本地 Fiori Launchpad 中SAP UI5 利用开发教程之五十五 - 如何将本地 SAP UI5 利用通过 Node.js Express 部署到公网上SAP UI5 利用开发教程之五十六 - SAP UI5 树控件(tree)的开发SAP UI5 利用开发教程之五十七 - 基于 OData 注解的 Smart Field 应用办法学习SAP UI5 利用开发教程之五十八 - 应用工厂办法在运行时动态创建不同类型的列表行我的项目控件SAP UI5 利用开发教程之五十九 - 如何在 SAP UI5 利用里显示世界地图SAP UI5 利用开发教程之六十 - SAP UI5 地图控件的一些高级用法SAP UI5 利用开发教程之六十一 - 在 SAP UI5 利用里绘制甘特图 Gantt ChartSAP UI5 利用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件应用办法介绍SAP UI5 利用开发教程之六十三 - 基于 OData V4 的本地 Mock Server 实现的深刻介绍SAP UI5 利用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)性能SAP UI5 利用开发教程之六十五 - 基于 OData V4 的 SAP UI5 表格控件如何实现创立,编辑和保留性能SAP UI5 利用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除性能SAP UI5 利用开发教程之六十七 - 基于 OData V4 的 SAP UI5 List-Detail(列表-明细)布局的实现形式SAP UI5 利用开发教程之六十八 - 如何实现 SAP UI5 路由失败时显示自定义的 NOT Found 页面SAP UI5 利用开发教程之六十九 - 如何从 SAP UI5 Not Found 页面跳转回到失常的利用页面SAP UI5 利用开发教程之七十 - 如何应用按钮控件触发页面路由跳转SAP UI5 利用开发教程之七十一 - SAP UI5 页面的嵌套路由SAP UI5 利用开发教程之七十二 - SAP UI5 页面路由的动画成果设置SAP UI5 利用开发教程之七十三 - 应用自定义 Query 实现 SAP UI5 页面路由的书签性能SAP UI5 利用开发教程之七十四 - SAP UI5 利用应用 OData V4 显示 Table 表格数据的一个陷阱SAP UI5 利用开发教程之七十五 - 如何采纳SAP UI5 主从表格的联动技术显示简单表格内容SAP UI5 利用开发教程之七十六 - 如何实现 SAP UI5 的 Lazy Loading(提早加载,懒加载)SAP UI5 利用开发教程之七十七 - SAP UI5 动静页面路由的高级用法:路由记录 routes 和 target 的一对多关系SAP UI5 利用开发教程之七十八 - 如何通过 url 放弃 SAP UI5 搜寻的状态,让其反对书签性能SAP UI5 利用开发教程之七十九 - 采纳测试驱动开发理念(Test Driven Development)进行 SAP UI5 利用的性能开发(一)SAP UI5 利用开发教程之八十 - 采纳测试驱动开发理念(Test Driven Development)进行 SAP UI5 利用的性能开发(二)SAP UI5 利用开发教程之八十一 - 采纳 OPA5 进行 SAP UI5 集成测试(Integration Test)的一个例子SAP UI5 利用开发教程之八十二 - 采纳 OPA5 开发反对页面跳转的 SAP UI5 集成测试用例SAP UI5 利用开发教程之八十三 - SAP UI5 的自动化测试套件页面的开发步骤介绍SAP UI5 利用开发教程之八十四 - 如何指定 SAP UI5 应用程序基于某个特定的版本运行SAP UI5 利用开发教程之八十五 - 如何用 OPA5 编写测试用例来测试用户输出文本的性能SAP UI5 利用开发教程之八十六 - 入手开发一个最简略的本地 Mock 数据服务器SAP UI5 利用开发教程之八十七 - 如何让 SAP UI5 Mock 服务器反对自定义 url 参数SAP UI5 利用开发教程之八十八 - SAP UI5 Mock 服务器如何实现自定义 Function ImportSAP UI5 利用开发教程之八十九 - 如何给 SAP UI5 列表控件削减多个图形界面的过滤器SAP UI5 利用开发教程之九十 - 基于 OData V2 的 SAP UI5 List-Detail(列表-明细)布局的实现形式SAP UI5 利用开发教程之九十一 - 如何应用客户端 JSON 模型构建一个 Master-Detail-Detail 布局中的列表页面SAP UI5 利用开发教程之九十二 - 基于 SAP UI5 JSONModel 客户端模型的列表分页显示(Table Pagination)前提SAP UI5 利用开发教程之九十三 - 基于 JSONModel 数据模型的列表控件显示数据的深刻探讨SAP UI5 利用开发教程之九十四 - 基于 JSONModel 数据模型的 SAP UI5 列表控件分页显示数据的残缺解决方案SAP UI5 利用开发教程之九十五 - SAP UI5 下拉菜单(Select) 控件的应用形式SAP UI5 利用开发教程之九十六 - SAP UI5 列表控件分页显示数据时,如何自定义分页大小SAP UI5 利用开发教程之九十七 - 如何应用客户端 JSON 模型构建一个 Master-Detail-Detail 布局中的明细页面SAP UI5 利用开发教程之九十八 - 从 viewId 这个属性谈起,聊聊 SAP UI5 的 HTML 源代码生成机制阐明Jerry 从 2014 年退出 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,已经在 SAP 社区和“汪子熙”微信公众号上发表过多篇对于 SAP UI5 工作原理和源码解析的文章。 ...

June 20, 2022 · 5 min · jiezi

关于saprfc:SAP-UI5-OData-V4-模型的构造方式

sap.ui.model.odata.v4.ODataModel 是应用 OData V4 服务的模型实现。 SAP Fiori 元素构建块 (sap.fe.macros) 必须与 SAPUI5 OData V4 模型一起应用,而不是智能控件(sap.ui.comp 库)或 sap.ui.table.AnalyticalTable(或剖析表计划)。不反对 TreeTable 与 SAPUI5 OData V4 模型一起应用。 OData V4 模型次要是为 OData V4 服务设计的。 不过,也能够通过适配器应用 OData V2 服务。OData V2 和 V4 两种模型的区别,参考这个链接。 无关更多信息,请参阅:应用 OData V4 模型应用 OData V2 服务 创立 OData V4 模型实例时,须要传入一个 map option 参数,该参数必须至多蕴含属性 serviceUrl 和同步模式。上面是一个例子: sap.ui.define(["sap/ui/model/odata/v4/ODataModel"], function (ODataModel) { var oModel = new ODataModel({ serviceUrl : "/sap/opu/odata4/IWBEP/V4_SAMPLE/default/IWBEP/V4_GW_SAMPLE_BASIC/0001/", synchronizationMode : "None" });});也能够指定自定义 query: ...

April 29, 2022 · 1 min · jiezi

关于saprfc:不借助-Fiori-client直接在手机浏览器里调用-SAP-UI5-BarcodeScanner-实现条形码扫描的可能性

这个 StackOverflow 探讨 说不可行。 sap.ndc.BarcodeScanner 在命名空间 sap.ndc 下申明。 这里的“ndc”代表 Native Device Capabilities。 这些 API 将应用 cordova 插件来调用本机设备性能,例如相机。 sap.ndc.BarcodeScanner 将查看 cordova 插件的可用性。 如果应用程序是通过浏览器关上的,则 BarcodeScanner 将简略地关上一个对话框并要求最终用户手动输出条形码。 如果应用程序是通过 cordova 应用程序或 SAP Fiori Client(构建在 cordova 之上)关上的,那么它将调用设施摄像头。 能够尝试这个 note:2402585 - sap.ndc.BarcodeScannerButton in Fiori SAP Fiori Client 是 SAP Fiori 应用程序的原生挪动利用程序运行时容器。 SAP Fiori Client 容许用户以在线模式拜访其 SAP Fiori 应用程序。 SAP Fiori Client 通过为 SAP Fiori 应用程序资产提供牢靠的缓存机制来克服挪动浏览器中的限度,并为 SAP Fiori 应用程序提供设施 API(如相机、条形码扫描仪和天文定位)。 SAP Fiori Client 围绕 Apache Cordova 架构设计,其中设施 API 和自定义性能通过插件增加。无关 SAP Fiori Client 中蕴含的插件列表,请参阅实用于 SAP Fiori Client 的 Kapsel 和 Cordova 插件。 ...

March 16, 2022 · 1 min · jiezi

关于saprfc:什么是-SAP-HCEA

HCEA 的全称是 Hybris Citizen Engagement Accelerator 是一种全渠道解决方案,实用于政府部门等公共部门组织,心愿为其公民开发更精简、无缝的体验,使他们无论应用何种渠道或服务都能轻松互动。 性能列表如下: Citizen Engagement Accelerator 提供了公共部门组织所需的许多要害性能。 服务申请市民能够将服务申请增加到他们的购物车中,而后依据特定的服务申请详细信息,通过可选的身份验证和免费进行结账。 Citizen Engagement Accelerator 容许与服务申请相干的老本依据公民在输出其申请的详细信息时给出的答案而有所不同。例如,一个特定的申请对志愿者来说可能是收费的,但对付费的专业人士来说则须要花钱。 账单Citizen Engagement Accelerator 可能通过其 API 从内部零碎接管账单,而后容许公民通过对立的界面查看、下载和领取这些账单。 付款详细信息通过 API 发送回内部零碎,提供计费和付款周期的残缺往返集成。 关系公民可能在他们之间建设关系,这使他们可能代表彼此行事。关系能够通过可自定义的权限来限度,这些权限限度了关系中的每个人能够为另一个人做什么。 用户能够随时更改这些设置,系统管理员能够从 SAP Commerce Backoffice 全局启用或禁用某些权限。 反对以下权限: Personal Details集体详细信息权限容许关系中的每个公民查看(但不更新)彼此的姓名和电子邮件地址。此权限是主动授予的。 Bill向另一个公民授予账单权限的公民容许其余公民查看、下载和领取他们的账单,以及查看他们的收据。 Documents向另一个公民授予文档权限的公民容许该其余公民查看和下载与他们的帐户相关联的任何文档。 Service Requests向另一个公民授予服务申请权限的公民容许其余公民代表他们操纵服务申请。其余公民能够保留和检索草稿、填写服务申请和提交服务申请。 Address Books向另一个公民授予地址簿权限的公民容许他们应用他们的地址簿在服务申请和其余数据输出表单中预填地址详细信息。 留神关系绝不允许公民拜访彼此的明码或存储的信用卡详细信息。 Accelerator 还反对委托书关系,它赋予一个公民代表另一个公民行事的齐全势力。在这些关系中,用户无奈抉择权限。除了明码拜访、信用卡拜访和更新集体详细信息的能力之外,授权书持有人被隐含地授予所有权限。 扩大用户类型Citizen Engagement Accelerator 反对三种不同的用户类型: Unidentified: 身份不明的用户是齐全匿名的。加速器不晓得用户是谁。Guest: 来宾用户没有注册帐户,但他们提供了一个电子邮件地址,加速器能够将其用作该用户的永恒链接。registered: 注册用户领有一个带加速器的帐户,并领有与长久身份相干的益处——我的帐户页面等。单个服务申请能够形容他们反对的用户类型。示例服务申请展现了其中的一系列。 该报告涂鸦样品,例如,容许用户依然不明,而泳池修建许可样品须要用户是客人或注册用户。 历史公民能够在他们的“我的帐户” 页面中查看他们的互动历史记录。他们能够查看他们申请的服务、申请的工夫、为反对申请而提供的信息以及申请的后果。 帐户治理Citizen Engagement Accelerator反对基于规范SAP Commerce帐户治理的扩大帐户治理。 利用程序接口通过增加对服务申请、账单、关系和文档的反对,能够利用SAP Commerce Data Hub。这容许: 向内部零碎公布服务申请以实现;在公民参加加速器内接管来自内部零碎的账单以 提供全渠道接口;向内部零碎公布账单领取细节;从内部零碎接管关系更新;向内部零碎公布关系更新;从内部零碎接管服务申请状态更新;和从内部零碎接管生成的文档。

December 19, 2021 · 1 min · jiezi

关于saprfc:什么是-SAP-enhancement-package

借助加强包交付技术,SAP 可为您现有的 SAP ERP 装置提供应用程序的新开发和加强性能。这意味着您能够在须要时并依据本人的要求应用为您的业务流程提供的新开发。 只有在您决定应用这些新性能、装置相干技术组件并在基于 ABAP 的 SAP Enterprise Central Components 零碎(SAP ECC 零碎)中激活相应的业务性能后,新的开发和加强才会失效。您未激活业务性能的现有业务流程放弃不变。 这种交付理念为您提供以下劣势: (1) 它在稳固的平台上为您提供长期布局平安,但并不意味着您无奈利用翻新和新倒退。 (2) 您无需导入新的 SAP NetWeaver 版本即可应用新开发。 (3) 您能够随时为各个部门提供新的倒退,而其余部门能够持续工作,并且零碎行为或用户界面没有变动。 (4) 因为施行流动仅对新性能是必要的,因而这大大减少了施行新应用程序和性能所需的工作量和工夫。不受新性能影响的业务流程不须要任何流动。 (5) 您的员工和用户只须要针对您被动决定应用的应用程序和性能进行培训。对接口和业务流程的更改仅对您已在零碎中激活的应用程序失效。其余应用程序不受影响。 (6) 您还能够缩小测试所需的工作量。您只需测试已通过激活业务性能被动决定优化的业务流程的应用程序。 (7) 对于每个业务性能,SAP 都提供了测试用例模板,使您能够更轻松地测试新性能 应用 SAP Enhancement package 的前提条件: 您正在应用相干的残缺版本(例如,SAP ERP 6.0)并且您曾经在那里设置了与您的业务相干的业务流程。 在装置加强包之前,您已取得无关与您的业务流程相干的业务性能的信息。依据您要应用的业务性能,而后施行相干的软件组件版本和内容包。请参阅 SAP 阐明 1052470。 无关业务性能的信息,请参阅 SAP ERP Central Component <number of the加强包> SAP Library Business Function Sets 下的 SAP Service Marketplace (service.sap.com/erp-ehp) 和 SAP Help Portal (help.sap.com)和业务性能。 ...

November 17, 2021 · 1 min · jiezi

关于saprfc:SAP-电商云-Spartacus-UI-SSR-里-engine-和-engine-instance-的区别

传入 originalEngine 到装璜器 decorateExpressEngine 里: 传出的是一个 engine 函数,engine 函数包含了 original Engine 这个函数,而后调用 engine 函数,同时将 Engine 参数传入,失去第二个 engine instance 函数。 最初的服务器端渲染,就是该 engine instance 函数负责解决。 咱们再来看看生产版本的 engine 实现原理:传入 decorator 的第一个 engine 实例,来自 Angular @nguniversal/express-engine: 这个装璜器返回一个新的函数。 (1) NgExpressEngine 的输出参数(2) Spartacus 开发团队引入的优化参数,通过闭包传入(3) Angular 规范的 NgExpressEngine 实例 在理论的生产代码里,通过装璜器的 get 办法,传入 nguniversal/express-engine 规范的 engine,返回 ngExpressEngine: 而后这个 ngExpressEngine 被作为参数,传入 server.engine 解决参数: 再看单元测试里的代码:传入装璜器的第二个参数为 null,意思是不应用 optimization engine: 第135行代码返回的是下图第47行的函数体自身: 如果咱们察看返回的 engine 实例,就能发现它外部蕴含两个闭包,存储了装璜器调用时,传入的 originalEngine 和 optimization option 的值: ...

October 6, 2021 · 1 min · jiezi

关于saprfc:聊聊-SAP-产品-UI-上的消息显示机制

这是 Jerry 2021 年的第 60 篇文章,也是汪子熙公众号总共第 337 篇原创文章。 本文从 StackOverflow 社区上来自 Partner 的一个 SAP Commerce Cloud Spartacus UI 的定制化需要说起。 这个需要的背景是,客户在 SAP 电商云的产品明细页面,能够留下本人的评论,点击 Submit 按钮提交。 提交之后,能看到“谢谢评论”的提醒音讯。 客户定制化需要是:不执行这个默认的音讯显示逻辑,即不显示音讯,而是执行其余逻辑,比方短信告诉或邮件告诉。 咱们先简略回顾 SAP 其余产品的 UI 音讯显示机制。 音讯是应用程序执行过程中给用户提供反馈的重要渠道之一,通常由用户某个动作间接触发,显示在产品界面上。当然应用程序后台作业运行到某个阶段,在满足指定条件时也能触发音讯显示。扼要、清晰而精确的音讯,能帮忙用户明确程序以后的运行状况,指引其下一步的操作。 SAP 产品 UI 显示的音讯文本,均有业余的 Knowledge Management 即 KM 团队负责审查和公布。 对于 SAP 开发人员来说,更关怀的则是这些音讯显示的上下文;换言之,看到 UI 上显示一条音讯之后,是否在最短的工夫内,高效定位到抛出该音讯的精确代码地位。 如下图所示,在经典的 SAPGUI SE38 ABAP 程序编辑器,输出一个不存在的报表名称,会显示一条音讯: Program XX does not exist. 其中 XX 是占位符,会被用户理论输出的报表名称所替换。 基于 ABAP 实现的所有 SAP 产品,比方 SAP CRM,SAP SRM,SAP S/4HANA,SAP Cloud for Customer,UI 上显示的每一条音讯,在 ABAP 后盾均有一条对应的音讯记录,保护在事物码 SE91 里。 ...

September 11, 2021 · 3 min · jiezi

关于saprfc:使用-SAP-UI5-系统测试工具-UIVeri5-的一个具体例子

https://developers.sap.com/tu... UIVeri5 是用于 SAPUI5 应用程序的 SAP 开源 JavaScript 测试框架。 它为您部署的应用程序驱动一个实在的浏览器并模仿实在的用户场景。 零碎测试查看前端和后端,并确保应用程序的所有局部都能很好地协同工作。 下图显示了与其余测试方法和工具相比,应用 UIVeri5 进行零碎测试的定位。 箭头形态阐明了办法的粒度:与单元、组件或集成测试相比,零碎测试查看的细节较少,而是专一于要害的工作流程。 About the SAPUI5 Test RecorderSAPUI5 测试记录器是一种帮忙您创立集成和零碎测试的工具。 您能够在任何 SAPUI5 应用程序中应用它来查看其用户界面、查看控件属性并获取 OPA5 和 UIVeri5 测试的代码片段。 从 1.74 版开始,它是 SAPUI5 框架的一部分。 About CI/CD with Project “Piper”“Piper”我的项目是 SAP 的继续集成和交付解决方案之一。 它提供了预配置的 Jenkins 管道,您能够在本人的 Jenkins 主基础架构中应用这些管道并依据您的需要进行调整。 “Piper” 我的项目由两个不同的局部组成: 一个共享库,其中蕴含应用 Jenkins 管道所需的步骤、场景和实用程序的形容一组可用于实现最佳实际流程的 Docker 镜像CTRL + SHIFT + ALT + T,应用这组快捷键,关上 SAP UI5 自带的 Test Recorder: 对着 Create 按钮单击右键,抉择 Press: ...

September 2, 2021 · 1 min · jiezi

关于saprfc:SAP-Spartacus-服务器端渲染的三种可能情形

执行到代码 166 行,将管制逻辑交给 expressEngine 之后,点 F8 后,下列三种不同色彩的代码块可能会被调用到: 绿色代码块阐明 timeout 指定的工夫距离到了。timeout:Time in milliseconds to wait for SSR rendering to happen, 期待 SSR 渲染开始的超时工夫,而不是 SSR 渲染的 duration. 黄色代码块SSR 执行工夫太长了,还没有实现。如果超过 maxRenderTime,会强行开释 concurrency slot, 容许新的申请被 SSR 响应。然而,对于超时的 SSR 服务申请,申请的资源并未开释,可能会导致内存透露。默认工夫为 5 分钟。 红色代码块如果执行到这里,并且 maxRenderTimeout 不为 undefined,阐明是失常的 SSR 渲染申请执行胜利的情景。 更多Jerry的原创文章,尽在:"汪子熙":

August 26, 2021 · 1 min · jiezi

关于saprfc:ABAP-真的会过时吗聊聊-ABAP-的过去现在和未来

这是 Jerry 2021 年的第 56 篇文章,也是汪子熙公众号总共第 333 篇原创文章。 本文目录SAP R/1:ABAP 老成持重SAP R/2:ABAP 初试锋芒SAP R/3:ABAP 一举成名ABAP 的语法SAP ALVABAP 的将来ABAP 未来会沦亡吗?SAP 总是长于依据市场最新的动静和变动,来调整其产品的命名策略。一个例子就是从诞生之初的 SAP HANA Cloud Platform,到 SAP Cloud Platform,再到现在的 SAP Business Technology Platform (简称 SAP BTP). 而作为 SAP 最胜利,最为人所知,最具代表性的标记之一,ABAP, 诞生之初的德文全称是 "Allgemeines Beleg Auswertungs Programm", 翻译成英语为 "General Program to Evaluate Documents", 中文意思为 "解决评估文档的通用程序"。 其后 ABAP 随同着 SAP R/2 到 SAP R/3 的成长,其全称也更名为 "Allgemeiner Berichts Aufbereitungs Prozessor", 翻译成英文为 "Generic Report Preparation Processor", 即 "通用报表编写处理器"。 ...

August 16, 2021 · 3 min · jiezi

关于saprfc:SAP-Commerce-Cloud-架构概述

SAP Commerce Cloud Architecture 只管咱们在“SAP Commerce Cloud 入门”一文中介绍了 SAP Commerce Cloud 的一些高级架构,但在此咱们将重点介绍在您的我的项目期间须要做出的一些理论架构决策。 应用 SAP Commerce Cloud 时,您可能会发现存在一些在 On-Premises 我的项目中不存在的限度。 然而,事实并非如此。这只是以不同形式设计您的解决方案的问题。 High-Level Software ArchitectureSAP Commerce Cloud 蕴含可用于创立定制商务解决方案的强制性和可选软件包的组合。 这些包含: 云自动化Microsoft Azure - 公共云基础架构提供商SAP 业务技术平台 - 用于托管 SAP Commerce Cloud Portal、SAP ntegration Suite 和 SAP Extension Suite 等应用程序/服务的业务平台Kubernetes - 用于编排运行商业解决方案所需的 docker 节点可定制的软件SAP Commerce - 在 Cloud Portal 构建过程中与您的自定义代码联合的外围平台Accelerator - 基于 SAP Commerce 中提供的模板的定制店面。Spartacus JavaScript 店面 - 一个解耦的开源店面,它应用全方位商务连贯 (OCC) API 与您的 SAP Commerce Cloud 环境进行通信。 无关更多详细信息,请参阅为您的 SAP Commerce Cloud 解决方案抉择要应用的店面。行业加速器(文档) - 行业特定店面模板数据中心(文档)- 用于为每个 SAP Commerce Cloud 环境导入/导出主数据的选项。 无关更多详细信息,请参阅 SAP Commerce Cloud 的集成选项。SAP 扩大套件 - 基于开源我的项目“Kyma”的微服务扩大层。 无关更多详细信息,请参阅 SAP Commerce Cloud 的集成选项。 ...

July 27, 2021 · 2 min · jiezi

关于saprfc:如何给-SAP-Spartacus-Storefront-创建新的页面

Creating New Pages and Components Spartacus 是一个单页面的应用程序,但它依然应用页面的概念来辨别应用程序内的不同视图。 Spartacus 页面来自 CMS,由插槽和组件形成。 页面蕴含插槽,插槽蕴含组件。 为了组织公共插槽和组件,Spartacus 反对页面模板。 页面模板蕴含布局以及可全局应用的组件,例如页眉和页脚局部。 Spartacus 从 CMS 接管每个页面,其中蕴含一个插槽和组件列表,该列表用于出现相应的组件。 Creating a New PageSpartacus 中的页面基于应用负责 API 从 SAP Commerce 后端获取的 CMS 页面。 来自 SAP Commerce 端的数据定义了元数据,如 url、题目等,以及页面的构造。 构造意味着可用的局部类型以及调配给这些局部的 CMS 组件。 Spartacus 接管此信息并为该构造提供真正的组件,包含逻辑、ui、响应式设计、款式等。因为这种定义的办法,它须要 2 个步骤来创立新的 Spartacus 页面。 首先,须要在 SAP Commerce 端创立 CMS 页面。 其次,须要创立 Spartacus 端的组件并将其调配给 CMS 组件。 要在 Spartacus 中创立新页面,首先须要在 CMS 中创立相干页面。 SmartEdit 提供了一个直观的向导,您能够应用它为内容目录创立类别、内容、电子邮件和产品页面。您还能够向页面增加限度,以指定在何种条件下向客户显示页面。 SmartEdit 提供了一个直观的向导来帮忙您为内容目录创立页面。您能够创立类别、内容、电子邮件和产品页面。创立页面时,您能够抉择创立主页面或变体页面。 主页(Primary page)是始终向所有用户显示的默认版本。您创立的所有变体页面都基于主页面。您不能为主页调配限度。当不存在变体页面或不存在与以后显示条件匹配的变体页面时,即显示条件不满足利用于现有的工夫、用户组、类别等限度规定时,显示主页面变体页面。 变体页面(viration page)基于主页面,但增加了限度。限度指定在何种条件下显示变体页面,例如当属于特定组的用户查看页面时,或者当用户在指定日期期间抉择页面并且存在要在指定日期显示的变体页面时.您能够为变体页面增加类别、工夫、用户组和其余限度。您能够增加到变体页面的限度类型取决于页面的类型。 创立页面时,您应该留神以下事项: ...

July 27, 2021 · 2 min · jiezi

关于saprfc:写给即将离开校园准备进入-SAP-研究院实习的朋友

这是一位匿名敌人向我发动的征询: 汪老师您好,我有幸下个月将会去SAP实习,自认为是一个自律勤奋好学的学生,然而还是很不自信,很缓和很缓和,第一次踏上社会走人工作岗位,怕去了当前什么也不会而被前辈们厌弃,毕竟书本上的货色跟实际差别很大,想请问一下您,如何成为SAP的优良实习生,有什么注意事项,这个问题其实很弱智,然而筹备功课做到后面能力让我更快的融入大家,更好的去工作,万一有什么禁忌也好防止在工作中产生误会。当然,我会好好把握这次百年不遇的机会,加倍的致力,认真虚心的学习,争取播种满满。谢谢您! 首先祝贺这位敌人,可能有机会进入 SAP 这家平凡的公司,开启本人职场生涯的第一站。这个问题我比拟有发言权,因为我2007年1月,也是以实习生的身份退出SAP成都研究院,并在当年年底顺利转正为FTE - Full Time Employee 即正式员工,并始终工作到当初。 集体认为,最重要的一点,就是 be honest and authentic. SAP 官方网站在介绍 SAP 企业文化时,有这样一句话: We build trust by being honest and authentic.咱们通过诚恳和真挚来建设信赖。 作为一个刚刚来到校园进入职场的 SAP 新人,团队的前辈们不会给你任何对于工作上的压力——你可能承受 SAP 各种标准的培训,从公司的流程制度,到你理论的工作内容都蕴含在内。当你在培训和随后的实习工作过程中,如果遇到各种艰难和问题,请及时真诚地向你身边的共事和你的 manager 提出来,始终和大家放弃顺畅的沟通。 其次,be proactive. 无论工作于哪个 SAP 产品,公司内网 Portal 上都有海量的学习材料,对于白纸一张的 SAP 新人,容易迷失在这些材料的陆地里。好在咱们都是在一个麻利开发团队中和其余共事一起工作,通常开发团队都有针对新共事工作上的 onboarding learning map 即学习路线图。在依据这些路线图学习时,多注意本人理论学习中遇到的问题,并积极主动地多和组内共事交换你在学习过程中遇到的问题,没准你的反馈,也能帮忙大家一起欠缺这些学习路线图,造福当前和你一样入职的新共事。 组内调配下来的工作肯定要全力以赴做好,这是你博得组内其余共事信赖的最好的开始。如果遇到难题,也不要本人闷着头搞,软件开发绝不提倡集体英雄主义。在你向其余共事求助时,讲清楚上面这些问题: 我遇到了一个问题,我想实现的成果 / 我想做的事件是 .....为了实现我的指标,我做了下列这些致力 / 尝试: ......然而在尝试过程中,我遇到了这些问题:...... 列出谬误音讯,或者谬误截屏我须要失去的帮忙是 ......这样能节俭其余共事的工夫,给你提出有针对性的倡议。 最初,be professional. 记住从第一天迈进公司大门起,你就不再是一名学生,而是一名职场人士了。一些点滴的细节问题,往往能决定共事们心中对你的评估。比方每个会议,比 outlook 上规定的工夫稍稍提前一两分钟,就在会议室门口期待,而不是到点之后才捷足先登。本人负责的工作工作如果和其余共事有依赖,并且遇到拦路虎不能马上解决时,肯定记得提前和组内其余共事探讨。 在软件开发公司,信赖是靠本人的实力和在团队的体现去博得的,既然在学校就是一位“自律勤奋好学”的学生,那么这曾经是胜利的一半了。无论进入 SAP 后在工作中应用的技术是否同学校里学到的一样,企业软件开发的复杂度都远远超过校园里做过的任何我的项目。但只有能充分利用 SAP 外部的各种学习和培训资源,多从组内其余共事身上学习,置信你肯定能实现本人的指标,成为一位优良的 SAP 实习生。 ...

July 10, 2021 · 1 min · jiezi

关于saprfc:SAP-Spartacus-中的依赖注入-Dependency-Injection-介绍

先理解 Angular 中的依赖注入 依赖项是指某个类执行其性能所需的服务或对象。依赖项注入(DI)是一种设计模式,在这种设计模式中,类会从内部源申请依赖项而不是让类本人来创立它们。Angular 的 DI 框架会在实例化某个类时为其提供依赖。你能够应用 Angular DI 来进步应用程序的灵活性和模块化水平。 如何创立一个新的能够被注入的 service ?命令行:ng generate service heroes/hero 主动生成的代码,留神注解 @Injectable: import { Injectable } from '@angular/core';@Injectable({ providedIn: 'root',})export class HeroService { constructor() { }}@Injectable() 装璜器会指定 Angular 能够在 DI 体系中应用此类。元数据 providedIn: 'root' 示意 HeroService 在整个应用程序中都是可见的。 配置提供者通过配置提供者,你能够把服务提供给那些须要它们的利用部件。 依赖提供者会应用 DI 令牌来配置注入器,注入器会用它来提供这个依赖值的具体的、运行时版本。 如果你把服务类指定为提供者令牌,那么注入器的默认行为是用 new 来实例化那个类。 在上面这个例子中,Logger 类提供了 Logger 的实例。 providers: [Logger]当应用提供者配置注入器时,会将该提供者与依赖项注入令牌(或叫 DI 令牌)关联起来。注入器容许 Angular 创立任何外部依赖项的映射。DI 令牌会充当该映射的键名。 当你应用 HeroService 类的类型来定义结构函数参数时,Angular 会注入与这个 HeroService 类令牌相关联的服务: constructor(heroService: HeroService)这里结构函数参数 heroService 实际上是一个令牌。 ...

July 10, 2021 · 2 min · jiezi

关于saprfc:如何在-SAP-BTP-上创建以及消费-Business-Rule-Service

官网链接:https://developers.sap.com/tu... Create a rule service interface for an application to invoke the decision logic by associating the rule to a ruleset of the rule service.创立 rule service interface 的目标:应用程序通过将规定与规定服务的规定集相关联来调用决策逻辑。 A rule service is an interface or an end point that enables an application to invoke a decision logic.rule service 能够看成一个接口或者 endpoint,应用程序通过调用 rule service,能够触发 decision logic. Rule set 是一系列 rule 的汇合,工作于某个特定的场景。 A rule set can be linked to a rule service so that the set of rules in the rule set gets executed when the rule service is deployed.规定集能够链接到规定服务,以便在部署规定服务时执行规定集内蕴含的所有规定。 ...

June 22, 2021 · 1 min · jiezi

关于saprfc:SAP-UI5-XML-视图里-label-和-text-控件文本对齐问题

如下图所示,我间接将 SAP UI5 Label 和 Text 控件放在一起,最初的后果不令人满意: <Label text="Refresh Count:" labelFor="counter" /> <Text id="counter"/>Label 和 Text 并未在同一行显示: 应用 HorizontalLayout 将Label 和 Text 包裹在一起,问题解决: <l:HorizontalLayout class="sapUiContentPadding" width="100%"> <Label text="Refresh Count:" labelFor="counter" /> <Text id="counter"/> </l:HorizontalLayout> 最初的成果: 更多Jerry的原创文章,尽在:"汪子熙":

June 5, 2021 · 1 min · jiezi

关于saprfc:使用SAP-CRM中间件从ERP下载具有层级结构的equipment

Requirement: in ERP there are two equipment created via tcode IE01, one is parent which holds the other child equipment. It is expected to replicate both to CRM, and the parent-children relationship still holds in CRM. (1) You should have already created two equipment as displayed in the screenshot above. How to specify equipment as parent:Open equipment via tcode IE02, In popup window, specify ID of parent equipment in “Superord.Equip.”: ...

September 8, 2020 · 2 min · jiezi

关于saprfc:SAP-Fiori-globalization实现原理之Amount显示的截断原理

You have observed the following behavior: the sales volume is displayed in detail view with1880 USD, while in master list, it is displayed as 2K for short. Why? The truncation behavior in master list is implemented by Fiori application to fulfill the product standard of Globalization requirement.The exact value for SalesVolume is 1880.00, And for the field in master list, there is a formatter to return the volume in short format: ...

September 4, 2020 · 2 min · jiezi

关于saprfc:使用ABAP代码消费SAP-Cloud-for-Customer的OData服务

In this blog, I will demonstrate how to create a new Opportunity by consuming C4C standard OData service via ABAP code.The related OData service for Opportunity with detailed explanation on its entity types could be found from SAP help: I will use a HTTP POST request to finish the creation. A example about how to organize post body could be found from C4C OData development guideline, where ServiceRequest is used for demonstration. I just make minor changes to make it also works on Opportunity.First I test it in postman to ensure the successful creation: ...

August 30, 2020 · 4 min · jiezi

关于saprfc:如何在SAP-C4C-AdvancedListPane上批量执行若干BO实例的action

My series of Cloud Application Studio BlogsHow to detect EditMode in an Embedded ComponentStep by step to enable your custom BO with attachment upload functionalityStep by step to create an Adobe Print form in Cloud application StudioHow to render PDF which displays picture from the image attachment of your custom BOHow to get current logged on business user’s employee information and assigned organization unit via ABSLHow to implement dynamic access control based on custom BO using OWLHow to make Code List Restriction work when control field and restricted field are not on the same BOHow to implement custom number range using custom business objectTwo approaches to create Code List in Cloud StudioCreate Dynamic Code List via Custom Business Object AssociationStep by step to develop Thing Type based navigation and BO Object based navigationPut Extension field into embedded component and make it visible in Standard UIOne possible cause that embedded component fails to display in UIStep by step to create HTML Mashup and make it visible in UIStep by step to enable Text Collection for your custom BOAutomatically send an Email notification to line manager via Workflow in Account applicationStep by step to create Object Value Selector in Cloud Application StudioTwo approaches to fill an UI field with dedicated logic implemented in Cloud Application StudioHow to execute BO action on multiple selected BO instances in AdvancedListPaneHow to add custom validation logic on mobile phone field in Contact TIRecently one partner asked me about this question. Suppose I have a custom BO with one Date field “CloseDate”, and one indicator field “IsOverDue”. ...

August 28, 2020 · 4 min · jiezi

关于saprfc:SAP-CRM-中间件遇到SAPPSPROSMATENHANCCOMM-错误的解决办法

SAP CRM 中间件Request download里,遇到/SAPPSPRO/S_MAT_ENHANC_COMM 谬误的解决办法 When I perform product request download, I found that the bapistructures sent from ERP only contains one entry with tabname = /SAPPSPRO/S_MAT_ENHANC_COMM without any actual material data. As a result no product is created in CRM. This issue could be analyzed in ERP: Check variable T_BAPISTRUCTURES content before CRM_FILTER_DOWNLOAD_DATA is called. Here I found the product specified in the download request in CRM via tcode R3AR2 has already been extracted successfully in ERP. As a result it must be filtered out in some part of subsequent processing. ...

August 27, 2020 · 1 min · jiezi

关于saprfc:SAP-WebClient-UI是如何维护表格选中状态的

I have been working as a Fiori application developer in SAP for almost two years, which means now I use Chrome development tool in my daily work for trouble shooting instead of ABAP debugger when I was working using CRM WebUI. Yesterday I was assigned with an incident about CRM Lead application in WebUI, and I am glad to figure out that Chrome development tool can also do me a great favor for my trouble shooting in WebUI issue. I share with my experience learned in this blog. ...

August 21, 2020 · 3 min · jiezi

关于saprfc:获得某个时间段内修改过的所有ABAP对象列表

Sometimes we need to get a list of changed objects by the given user at the given time period, there is a small tip to quickly get this list with little effort. approach1query the table VRSD with user name and date as query parameter: Each entry of list contains a corresponding transport request number ( in column KORRNUM ) However, this approach could not contain modifications on local objects.The version number (5) and transport request number(AG3K074711) could also be reviewed in class builder menu Utilities->Versions->Version management: ...

August 20, 2020 · 1 min · jiezi