自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (8)
  • 论坛 (6)
  • 收藏
  • 关注

原创 一个 SAP 开发工程师十余年的技术写作之路回顾

这是 Jerry 2021 年的第 31 篇文章,也是汪子熙公众号总共第 307 篇原创文章。本文目录汪子熙公众号的风格定位为什么我会开始在微信公众号上书写技术文章我的写作素材从哪里来坚持了长达十余年的技术写作,我最大的三个收获Jerry 从 2018 年正式开始在微信公众号平台写作,至今已经整整三年半了。到 2021 年 4 月 30 日为止,总共输出了 306 篇原创文章,获得了 10000 个粉丝。虽然我深知,这一万个粉丝朋友,在整个数以亿计的微信用户群里,只是极其小众的一个群体,

2021-04-30 15:03:47 98 1

原创 关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案

我的技术交流群里有人问了这个问题:各位大佬,ME2O如何(是否可以)打印发货单?其实这个问题完全可以通过自己 Google 来找到答案。第一步:在 Google 里输入 ME2O:因为 Google 的 AJAX 特性,不需要敲回车,结果列表就显示出来了。选择和发货单相关的第三条:me2o create delivery:结果就出来了。剩下的就是逐条阅读,学习即可。没其他的意思哈,有时候 google 搜索结果也需要仔细鉴别,但质量比 百度搜索结果要高一些。更多Jerry的原创文章,

2021-04-28 22:31:47 57 1

原创 SAP CRM 查询单据的时候 BAdI 里面的排序字段为何有些不生效

我的技术交流群里,有朋友问下面这个问题:请教下CRM查询单据的时候badi里面这个排序字段为何有些不生效。相关函数为:CRM_BSP_OIC_1O_SEARCH_FROM_RF我提供的解决方案:使用关键字 CRM_BSP_OIC_1O_SEARCH_FROM_RF sort 进行搜索:在搜索的结果里,找到 SAP note 1226594 - The latest Activities are missing from the Accounts in WEBUI,即解决方案。更多Jer

2021-04-28 22:05:24 25

原创 SAP Spartacus List Component 里定义的待显示 Popover 内容,如何传递到 Popover Component 里的?

中心思想:这个传递以 Popover Directive 为桥梁。PopoverComponent里的 content 属性:string 或者 TemplateRef,后者是 ng-template 即模板实例。PopoverDirective 里的 cxPopover:运行时,渲染出的 Popover,内容实际上是开发人员提供的,放在 List Component 里:上图 listHint 是 ng-template 定义的模板:运行时,#listHint 代表的内容,首先通过 P

2021-04-28 19:00:44 28

原创 SAP Spartacus List Component 里定义的待显示 Popover 内容,如何传递到 Popover Component 里的?

中心思想:这个传递以 Popover Directive 为桥梁。PopoverComponent里的 content 属性:string 或者 TemplateRef,后者是 ng-template 即模板实例。PopoverDirective 里的 cxPopover:运行时,渲染出的 Popover,内容实际上是开发人员提供的,放在 List Component 里:上图 listHint 是 ng-template 定义的模板:运行时,#listHint 代表的内容,首先通过 P

2021-04-28 18:55:31 23

原创 SAP Spartacus Popover Directive 构造函数的用途分析

该构造函数位于文件 popover.directive.ts 里:第 11 行 cxPopOver Directive 施加到 button 元素上之后,运行时,cxPopOver Directive 的构造函数触发。其参数,既有应用程序定义的类型,比如 PositioningService, 也有框架使用的类型,比如 ElementRef,ViewContainerRef 等等。element: 该 Directive 绑定的页面元素,在这个例子里是 button.viewContai

2021-04-28 16:23:19 25

原创 SAP Spartacus B2B OrgUnit 和 OrgUser 的路由映射差异比较

SAP Spartacus B2B 页面类似 SAP Fiori Launchpad,共有 6 个 tile(磁贴),点击某个磁贴,能跳转到对应的列表页面。路由映射就是指点击某个 url 之后(例如上图所示的例子),应该激活哪一个 Angular Component.例如上图 User tile,通过 a 标签实现,点击之后,会跳转到其 href 属性指向的 url:http://localhost:4200/powertools-spa/en/USD/organization/units问题是,这

2021-04-28 11:39:36 32 1

原创 SAP Spartacus B2B 列表页面的 (i) icon popover Component 的声明位置

SAP Spartacus B2B 页面的列表页面,一共有 6 个类似 SAP Fiori Language 里的 tile(磁贴):点击去之后,能看到列表页面有一个绿色 icon 图标,点击之后,弹出一个 Popover Component:第一个疑问就是:我们需要在 6 个 不同的 tile 对应的列表页面里,重复定义 6 次 这个 Popover Component 么?答案是否定的。我们并没有在 Spartacus 标准代码里,发现类似 User List Component,这提示我们

2021-04-28 11:11:05 43 1

原创 查看 SAP Spartacus 基于 Angular 的版本号

感谢我的同事 Li Timothy 提供的解决方案。在 polyfills.js License 信息里,隐藏着 Angular 的版本号:

2021-04-28 10:41:16 18

原创 SAP 3D visual enterprise viewer 9.0 的下载方式

登录 SAP support portal:https://support.sap.com/根据关键字 SAP 3D Visual Enterprise Viewer 9.0 搜索到对应页面:https://support.sap.com/en/product/support-by-product/67837800100800004459.html点击 View Additional Product Content in the Launchpad:进入这个页面:https://launchpa

2021-04-27 22:50:52 56 1

原创 在 SAP Gateway Demo System ES5 申请用户遇到问题该怎么处理

有朋友试图使用下面的链接,申请 SAP ES5 即 SAP Gateway Demo 服务器的用户时,遇到一些问题。点击注册链接之后,直接跳转到上图的登录页面了:https://register.sapdevcenter.com/SUPSignForms这是因为尚未满足在 ES5 注册帐号的前置条件:In order to sign up for an account on the Gateway Demo System, you must have an account on sap.com.

2021-04-27 21:43:43 34

原创 ABAP 标准培训教程 BC400 学习教程之二:Cross-client 和 Client-specific 的区别

很多 ABAP 初学者通过各种社交平台向我提出这个问题:ABAP初学者如何系统地学习ABAP编程?所以我专门写了一篇同名的文章来回答。文章里提到,我的 ABAP 学习之路,其实并没有阅读过中文的 ABAP 书籍,而是逐一地把 SAP 标准教材里和 ABAP 相关的那些电子版的 PDF 书籍吃透:而对于 ABAP 初学者来说,最重要的就是 BC400,BC401 和 BC402 三本。从本文开始,我们踏上 ABAP 标准教材,BC400 学习之路。本书共有 541页,分为总共 9 个单元来组织。

2021-04-27 21:27:23 109 3

原创 ABAP 标准培训教程 BC400 学习教程之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍

很多 ABAP 初学者通过各种社交平台向我提出这个问题:ABAP初学者如何系统地学习ABAP编程?所以我专门写了一篇同名的文章来回答。文章里提到,我的 ABAP 学习之路,其实并没有阅读过中文的 ABAP 书籍,而是逐一地把 SAP 标准教材里和 ABAP 相关的那些电子版的 PDF 书籍吃透:而对于 ABAP 初学者来说,最重要的就是 BC400,BC401 和 BC402 三本。从本文开始,我们踏上 ABAP 标准教材,BC400 学习之路。本书共有 541页,分为总共 9 个单元来组织。

2021-04-27 18:12:56 41

原创 ABAP 标准培训教程 BC400 学习教程之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍

很多 ABAP 初学者通过各种社交平台向我提出这个问题:ABAP初学者如何系统地学习ABAP编程?所以我专门写了一篇同名的文章来回答。文章里提到,我的 ABAP 学习之路,其实并没有阅读过中文的 ABAP 书籍,而是逐一地把 SAP 标准教材里和 ABAP 相关的那些电子版的 PDF 书籍吃透:而对于 ABAP 初学者来说,最重要的就是 BC400,BC401 和 BC402 三本。从本文开始,我们踏上 ABAP 标准教材,BC400 学习之路。本书共有 541页,分为总共 9 个单元来组织。

2021-04-27 18:04:08 161 4

原创 深入学习SAP UI5框架代码系列之八:谈谈 SAP UI5 的视图控件 ID,以及 SAP UI5 视图和 Angular 视图的异同

今天是 2021 年 4 月 27 日,周二,SAP 全球心理健康日。SAP 全球的员工,今天放假一天。这不,早在上周五,我所在的 SAP Spartacus 开发团队的开发经理,就贴心地在 Slack 上提醒所有组员,记得享受 “SAP Global Mental Health Day”.关于 SAP 全球心理健康日的更多介绍,请参阅 SAP中国研究院官方公众号这篇文章:SAP 全球心理健康日 | 为员工提供精神充电的机会!作为一个程序员,在今天这一额外的假期里,做点什么好呢?我正好趁此机会,继

2021-04-27 11:21:21 35

原创 如何使用原生的 JavaScript 代码,触发 SAP UI5 按钮控件的点击事件处理函数

我的技术交流群里,有朋友提问:我有个 UI5 按钮,想用原生 js 去触发 click 事件。在 dom 上检测到 click 已经触发了,但是按按钮的动作响应没有发生。请问如何解决,谢谢。解决这个问题的理论依据:深入学习SAP UI5框架代码系列之三:HTML原生事件 VS UI5 Semantic事件我写了一个简单的 SAP UI5 应用,index.html 的完整代码贴在本文末尾。第一个按钮的点击事件处理函数,逻辑为在其显示文本的末尾添加1,比如触发一次后,button text 显

2021-04-26 20:27:34 451 3

原创 SAP Commerce web service 的扩展

StackOverflow 问题:https://stackoverflow.com/questions/67234215/customization-of-registration-page-in-spartacusI have added two custom checkbox like signup newsletter, enroll to loyalty Please suggest how can I do mapping with the controller解决方案Extendi.

2021-04-26 10:29:29 17

原创 SAP UI5 应用的中文乱码问题

如下图所示: 我使用 sap-language=ZH 的 url 参数,试图访问我 SAP UI5 应用的中文版时,发现标题显示为乱码:https://er9.wdf.sap.corp:44300/sap/bc/ui5_ui5/sap/jerryfioriapp/sandbox.html?sap-client=001&sap-language=ZH#display-uimodule&/?sap-iapp-state=ASEL952SKP6CCUWBKY9XZZMQCOP4C0NQMAW

2021-04-25 22:55:57 85 2

原创 SAP UI5 的本地 Fiori sandbox Launchpad

源代码如下:<!DOCTYPE html><html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> <meta name="viewport" content="wi

2021-04-25 20:56:08 44 1

原创 SAP UI5 使用 Smart Control 的一个具体例子

我们在本地 Visual Studio Code 里, 按照下面两篇文章,完成了 SAP UI5 的应用开发,使用 yo 命令行向导创建 SAP UI5 应用使用 yo 命令行向导给 SAP UI5 应用添加一个新的视图最后能得到一个列表,效果如下:本文我们使用 SAP UI5 提供的 Smart 控件来继续丰富这个应用。从下面三个 namespace 引入 Smart 控件:xmlns:smartFilterBar=“sap.ui.comp.smartfilterbar”xmlns:

2021-04-25 20:45:02 51

原创 使用 yo 命令行向导给 SAP UI5 应用添加一个新的视图

在 使用 yo 创建好的 SAP UI5 项目里,使用命令行:yo easy-ui5 project newview:输入新的视图名称为 Products,创建新的控制器,以及在 manifest.json 里定义新的 route:manifest.json routing 区域里三个节点增添了新属性:target 区域增添了新的 id 和 name 同名的Products 视图,实现类型为 XML:把 pattern 里字符串内容去掉,变成"":webapp/view/Mainvi

2021-04-24 17:18:30 387 1

原创 使用 yo 命令行向导创建 SAP UI5 应用

命令行:yo easy-ui5 project, 遇到错误消息:you don’t seem to have a generator with the name “easy-ui5” installed.先用 npm install generator-easy-ui5 进行安装:然后重新执行 yo easy-ui5 project:Create a new OpenUI5/SAPUI5 project:在 On which platform would you like to hos

2021-04-24 12:47:08 34

原创 我做 Fiori 开发经常使用的几个系统,不同的 SAP UI5 版本

2021-04-24 11:32:01 33

原创 SAP Fiori 应用的本地 sandbox Launchpad - 出于测试用途

After you have created an SAPUI5 application project, you should be able to run the SAP Fiori launchpad sandbox on your local test server, where it is displayed as a resource of the project.当我们完成 SAP UI5 项目创建之后,便可在本地测试服务器里,运行 Fiori Launchpad sandbox 应用。.

2021-04-24 11:16:04 18

原创 SAP Fiori Elements 应用的 manifest.json 文件运行时如何被解析的

在 HTML 页面里,有一个 script 标签,locate-reuse-libs.js, 这个 JavaScript 文件触发 manifest.json 的加载与解析:在加载的 manifest.json 里,我们能看到 title 对应的place holder 为 i18n.properties 里的 appTitle.此处, 函数 fnReplace18nText, 将 Resource Bundle 即 i18n.properties 里的 appTitle 的值提取出来:读

2021-04-24 11:01:21 21

原创 SAP UI5 标准应用的多语言支持 - SAP UI5 运行时语言判定机制

SAP UI5 对多语言的支持特性如下:The language codes according to the de facto standard BCP-47, which are used by most browsers for language identification. As of JDK 1.7 they are also supported by the Java locale class.目前大多数浏览器都支持了事实上的标准,BCP-47 里定义的 language code,用

2021-04-23 19:49:47 40

原创 微软 Excel 365 里如何设置下拉菜单和自动高亮成指定颜色

打开微软 Excel 365,选择 Data 标签,选择下图的 Data Validation 功能:Allow 的类型选择成 List,Source 字段里,用逗号维护期望出现在 excel 下拉菜单里的选项。最后的效果如图:如果期望选中不同的下拉菜单选项后,自动高亮元素,比如 Very High 的单元格,显示成红色来起到警示的作用,那么在 Home 里面,选择 Conditional Formatting -> Highlight Cells Rules:下图的语义很清晰:如果元

2021-04-23 10:15:07 74

原创 SAP Fiori Elements 应用里的 Title 显示的内容是从哪里来的

仅从静态代码分析来看,title 数据源有两处:flpSandbox.html 里的 title 标签manifest.json 文件里 sap.app 字段下的 title 字段。下图这个语法并不是 Angular 里数据绑定的 interpolation,而是引用了 i18n.properties 文件里的同名属性。i18n.properties 文件里的 appTitle place holder(占位符):运行时发现,应用程序 bootstrap 时,首先显示 html 里维

2021-04-23 09:40:15 40

原创 SAP Spartacus 服务器端渲染处理内存泄漏的准则

开启服务器端渲染(SSR) 的 SAP Spartacus 实例,运行在 CCV2 Pod 里,当下列情况出现时,可能会造成 pod 的重启:resource allocation for SSR container within JSAPPS storefront pod is not sufficient and is causing finally some restarts.比如:过去3天内,运行在 SSR 模式的 Spartacus 所在的 pod,有 178 个 restart 事件:

2021-04-23 09:34:54 30

原创 如何修改微软share point site 的页面风格

微软 share point site 的 home 页面和整个 site 都支持定制化。点击 Edit:可以删除不需要的widget,比如 News:Settings 里选择 Change the look:可以在众多预置的 site theme 里选择一个:更多Jerry的原创文章,尽在:“汪子熙”:...

2021-04-22 10:41:10 20

原创 如何使用 ABAP 报表将 ABAP 服务器上的 SAP UI5 应用下载到本地

我文章 本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上? 的留言:其实很容易,使用报表 /UI5/UI5_REPOSITORY_LOAD. 假设需要将这个名叫 ZJERRYFIORIAPP 的部署在 SAP ABAP 服务器上的 SAP UI5 应用,下载到本地:执行报表:点击 Click here to download 就可以触发下载操作了。更多Jerry的原创文章,尽在:“汪子熙”:...

2021-04-22 10:30:47 40

原创 本地开发好的 SAP Fiori Elements 应用,如何部署到 ABAP 服务器上?

这是 Jerry 2021 年的第 29 篇文章,也是汪子熙公众号总共第 300 篇原创文章。之前 Jerry 的两篇文章,分别介绍了如何在本地使用 Visual Studio Code 创建一个 SAP Fiori Elements 应用,以及使用 Fiori Elements Controller Extension 理念,对该 Fiori Elements 应用进行二次开发的具体步骤。在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用答网友提问:使用

2021-04-21 17:58:48 38

原创 如何修改Cypress 测试代码中默认的超时时间(timeout)

我使用 Cypress 对 SAP 官网进行自动化操作时,遇到了如下的错误消息:Timed out after waiting 60000ms for your remote page to load.Your page did not fire its load event within 60000ms.SAP 官网的首页,在试图被 cy.visit 指令加载后,在默认的 1 分钟 超时时间内,没有加载成功。You can try increasing the pageLoadTime

2021-04-20 18:37:52 84

原创 如何在 Cypress 测试代码中屏蔽(Suppress)来自应用代码报出的错误消息

当我试图使用 Cypress 对 SAP 官网进行自动化操作时,遇到如下的错误消息:The following error originated from your application code, not from Cypress.top.$ is not a functionWhen Cypress detects uncaught errors originating from your application it will automatically fail the curren

2021-04-20 17:08:33 26

原创 通过一个简单的例子,了解如何单步调试 Cypress 代码

使用下列程序进行说明:/// <reference types="Cypress" />describe('My First Test', () => { it('finds the content "type"', () => { cy.visit('https://example.cypress.io') cy.pause(); cy.contains('type').click(); cy.url().should('includ

2021-04-20 16:37:42 17

原创 通过一个简单的例子,了解 Cypress 的运行原理

Cypress 是 SAP Spartacus 前端 e2e 测试使用的框架。Cypress 并不是广义上的 web 自动化工具,并不适合编写脚本来测试已经处于生产状态下的不受测试者控制的网站。Cypress is not a general purpose web automation tool. It is poorly suited for scripting live, production websites not under your control.https://docs.cypr

2021-04-20 16:19:35 49

原创 SAP Fiori Elements 应用里和 Fiori 3 相关的外观设置

SAP Fiori Elements 应用使用了 SAP Fiori 3 的外观。这一点从 Fiori Elements 应用里使用的 css 规则所在的 css 实现文件路径可以发现:http://localhost:8080/resources/sap/m/themes/sap_fiori_3/library.css修改 css class .sapFAvatarSquare 的 border-radius 属性,能调整图标圆角的弧度。修改 .sapFAvatarColorAccent6, 能修

2021-04-20 12:20:47 21

原创 SAP Fiori Elements 在本地测试模式下如何修改 List Report 里字段标签和图标

通过 Jerry 这篇文章 在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 介绍的步骤,创建一个简单的 SAP Fiori Elements 应用。在 Visual Studio Code 命令栏里,使用 start-mock,则能够以本地 mock 数据启动这个 Fiori Elements List Report 应用。在项目工程文件里,找到 localService 文件夹下面的 metadata.xml, 定位到名为 SEPMRA_C_PD_Produ

2021-04-20 11:44:21 40

原创 SAP Fiori Elements 学习笔记 - 2021年4月19日

SAP Fiori Elements List Report 里 Smart Table 模板的设计原理:sap.suite.ui.generic.template.fragments.TableColumns 和 sap.suite.ui.generic.template.fragments.TableColumnListItem 分别显示表头和表的行内容。运行时,这些 fragments 对应的 XML 资源被加载如下:SAP Fiori Elements 项目里和 i18n 相关的设置i1

2021-04-20 11:17:51 78

原创 使用 XSLT 给 SAP PI 增加 CDATA

来自我的 SAP 技术交流群,感谢薛老板提供的代码:代码:<xsl:template match="teaserText_fr"> <xsl:copy> <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text> <xsl:copy-of select="*"/> <xsl:text disable-output-escapi

2021-04-19 22:08:40 43 1

将近2万个汉语四字成语大全,txt格式存储

将近2万个汉语四字成语大全,txt格式存储

2021-04-06

SAP Fiori Elements Overview 页面的创建.mp4

SAP Fiori Elements 提供了预定义的模板和 UI 样式,适用于 SAP 应用的通用应用场合。 使用 SAP Fiori Elements,应用开发人员可以创建基于 OData 服务和注解的 Fiori 应用,而无需额外的 JavaScript 编程。 运行时,SAP UI5 解析 OData 服务和注解中包含的元数据,将其同业务数据一起,使用框架统一提供的视图来渲染页面。

2021-05-23

适合程序员使用的文件搜索工具,支持各种高级搜索条件

程序员

2021-02-20

在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 的配套源代码

在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 文章的配套源代码

2021-04-16

dgreadiness_v3.6.zip

windows10 1909版本,如果想安装VMWare Workstation player 15.5.5,需要使用该powershell脚本,在Administration模式下,禁掉hyper V

2021-02-17

winzip70 (1).exe

winzip的经典版本,适用于windows 98实体操作系统及虚拟机

2021-02-16

自己用Java编写的有道云笔记图片批量下载工具

使用方式:java -jar tool.jar [0,1,2] 0,1,2分别是有道云笔记的编号。0的guid:c91a710af51c1e1b20f5d1da2140a9e4; 1的guid:4cc557ab9b7cbde0515b49a155c5dce3 2的guid:6eaae532daaa678cc610f2a34cbc9119

2020-11-29

《Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现》文章的源代码

《Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现》文章的源代码下载,解压之后手动复制粘贴到ABAP系统的SE24或者SE80事物码里。

2020-11-24

汪子熙的留言板

发表于 2020-01-02 最后回复 2020-03-20

怎样才是理想的程序员

发表于 2015-06-28 最后回复 2019-07-29

SAP的这三款CRM解决方案,您能区分清楚么

发表于 2018-01-08 最后回复 2018-01-09

脑子快”的程序员更优秀吗

发表于 2015-08-09 最后回复 2015-10-27

一个平庸程序员的自白

发表于 2015-08-22 最后回复 2015-08-22

金庸小说里程序猿的练级心法

发表于 2015-06-28 最后回复 2015-08-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除