自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从一个 SAP CRM 软件实际的故障处理出发,谈谈企业管理软件领域内那些很难稳定重现故障的处理技巧

分享 Jerry SAP 开发职业生涯中一个让我印象深刻的 bug 分析和解决过程。这个 bug 无法通过单步调试的方式重现,所以我之前掌握的各种单步调试技巧,完全派不上用场......

2021-10-24 07:00:00 806 29

原创 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 Busines

2021-08-15 22:39:29 764

原创 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好?

这是 Jerry 2021 年的第 32 篇文章,也是汪子熙公众号总共第 308 篇原创文章。我经常收到不少朋友这样的问题:如果对 SAP UI5 一无所知的新手,想学习 SAP UI5,从哪些材料开始学习比较好?有没有一些推荐的书?我自己 2014 年底,出于工作需要学习 SAP UI5 时,把 SAP UI5 官网上提供的一套 Walkthrough (这个词的中文翻译应该是教程,辅导,攻略) 认真做了一遍,其中的代码一个字符一个字符照着敲了一遍,很快就可以上手工作了。后来有新同事入职到我们团队时,

2021-05-02 09:07:46 562 1

原创 一个SAP成都研究院开发工程师的2020年度总结:未知生,焉知死

转眼间,又到了2020年末写年度总结的时候了。我一直觉得,对于像Jerry这样,年复一年整天两点一线,除了编程还是编程的程序员来说,年度总结可以增加一些生活的仪式感。本文是我开通公众号之后的第四个年终总结,前三年的年度总结如下:Jerry的2017, 编程与游泳一个SAP开发人员的2018年终总结一个SAP开发人员的2019年终总结2020年,对于很多人来说都是刻骨铭心的一年,对于我来说更不例外。回顾自己前三十多年,从上学到高考,读研究生,再到求职,娶妻生子,我的生活一直都一帆风顺

2020-12-30 19:45:23 1505 20

原创 一个SAP开发人员的2019年终总结

青春少年是样样红可是太匆匆流金岁月人去楼空人生渺渺在其中荣华富贵呀飞呀飞世上的人呀追呀追荣华富贵呀飞呀飞何时放下歇一歇能不能愿昼吉祥夜吉祥愿用家财万贯买个太阳不下山小的时候,听过黄安这首《样样红》,觉得是首口水歌曲。如今Jerry也到了上有老,下有小的年纪,即将年满四十,觉得歌词每一行都是金句,耐人寻味。我们每一位油腻的SAP中年从业者都曾经青春年少过,谁的青春岁月,没有意气...

2020-09-05 17:50:16 2268 1

原创 一个SAP开发人员的2018年终总结

我是SAP成都研究院的Jerry Wang,我喂自己袋盐。时间过得真快,2017年发生的事情还历历在目,一转眼,2018年又马上要结束了。Jerry惊恐地发现,随着年龄的增长,时光流逝的速度仿佛有加快的趋势。因此,年终的记录显得更为重要。把自己一年做的无论工作还是生活上的事情梳理一遍,若干年后来回味,一定非常有意思。2017年,Jerry的工作和生活,可以用这两个关键字概括:编程和游泳**...

2018-12-31 10:30:13 4256 2

原创 SAP Hybris Commerce Cloud Accelerator Storefront 在 Eclipse 中的调试

(1) 下载安装包之后,使用 recipe 进行安装。install.bat -r cxant clean allinstall.bat -r cx initialize - 这一步花了我1小时53分钟。接下来打开 Eclipse,去掉 Build automatically.然后把整个 hybris 文件夹导入。选择 import General - Existing Projects into Workspace:只有两个错误:但我没有勾上 build project automat

2021-12-03 16:46:10 68

原创 使用 cx recipe 安装 Hybris Commerce Cloud 之后,遇到 indexer workder failed 错误

这个错误导致我在 Accelerator Storefront 上无法进行产品搜索:我确认 Solr server 已经成功启动了,监听在端口 8983 上:重新通过 recipe 启动试试:遇到一样的错误:Caused by: de.hybris.platform.solrfacetsearch.indexer.exceptions.IndexerException: Indexer worker failed. Max number of retries in total has be

2021-12-03 15:14:32 63

原创 本地启动 Hybris 服务器调试模式后,监听在 8000 端口

使用命令行 hybrisserver.bat debug 启动后,在任务管理器查看 Java.exe 进程:能看到监听在 8000端口,启用的命令行参数如下:“C:\Program Files\SapMachine\JDK\11\bin\java” --add-exports=“java.base/jdk.internal.ref=ALL-UNNAMED” --add-exports=“java.naming/com.sun.jndi.ldap=ALL-UNNAMED” --add-exports=

2021-12-03 13:42:29 10

原创 SAP Hybris recipe 为 cx 的安装和初始化

一个正在使用的系统:Hybris 文件夹下的子文件夹一个刚刚下载的 Hybris:Hybris 下面只有一个 bin 文件夹。在一个干净的 d93Moon 试试 cx./install.sh -r cx-for-spa./install.sh -r cx-for-spa initialize./install.sh -r cx-for-spa start注意,我没有尝试 ant clean all 和 ant initialize第一步:这一步先拷贝 gradle原来 role

2021-12-03 13:38:52 78

原创 SAP Hybris Commerce Cloud 项目里的 eclipsebin 文件夹

我的疑问:这些文件夹是 Eclipse 自动生成的吗?全是 .classpath 里的。看下这些 .classpath 文件,是 ant clean all 生成的,还是本来就在安装包里?看日期应该是自带的,因为现在已经12月3日了:11月3日应该是 2011 打包的日期?Google 前几位的搜索结果,都是和 SAP Commerce Cloud 相关的:.classpath 文件是 Eclipse Java build path 选项的设置结果。Eclipse 是插件的运行时环境

2021-12-03 13:30:58 68

原创 Hybris Accelerator 搭建调试环境时遇到的错误消息

以调试模式 启动 Hybris 服务器:确保看到 8000 端口正在监听 listening 的提示消息:设置断点:可以直接对着 ProductPageController 点击右键,创建 debug Configuration:如果遇到这个错误:直接点击 ok.然后点击 Eclipse 工具栏的调试按钮:接下来看到这个:点击 Proceed 按钮:回到 Accelerator,进行一些操作:断点就触发了:更多Jerry的原创文章,尽在:“汪子熙”:...

2021-12-03 10:12:41 5

原创 如何处理 Hybris Accelerator css style 显示不正确的问题

我在 Chrome 里访问 Accelerator,发现 theme-blue 对应的 css 文件无法加载:但我在 firefox 里,是能正确打开 Accelerator 的:仔细观察,发现 firefox 里,加载的 css 对应的主题是:theme-alpha所以我的解决方案是,在 Chrome 开发者工具 application 面板里,clear cache.之后问题消失:更多Jerry的原创文章,尽在:“汪子熙”:...

2021-12-03 09:46:26 5

原创 Eclipse 里一个 SAP Hybris Commerce 的开发插件

在 Eclipse Marketplace 里根据关键字 Hybris 搜索,查到一个名为 SAP Hybris Commerce Development Tools for Eclipse 1.4 的插件:在一个刚刚下载的干净的安装包里,ant clean all 只花了一分钟。但我在 Spartacus 的安装包里,要花20多分钟:同意用户协议,进行安装:这个插件是开源的,Github 地址如下:https://github.com/SAP/hybris-commerce-eclips

2021-12-03 09:39:06 8

原创 2021年12月2日星期四的 Hybris Eclipse 导入尝试

被昨天(周四)的安装尝试污染了:这些目录不应该出现在我 Windows10 的用户根目录即 c:\users\用户名下面:这是周四晚上下班之前创建的 workspace:应该是选择了 copy to workspace?如何删除这些废弃的 workspace?点击 Switch Workspace,在弹出对话框里,点右键即可删除。更多Jerry的原创文章,尽在:“汪子熙”:...

2021-12-03 09:34:48 6

原创 本地安装 SAP Commerce 实例

这些基本步骤描述了如何使用提供的 SAP Commerce Server 安装和初始化 SAP Commerce。 服务器是一个基于Apache Tomcat的预配置应用服务器。 HSQLDB 和 Tomcat 都包含在 SAP Commerce 包中,旨在用于测试、开发和演示目的。 本指南还提供了描述如何使用 SAP Commerce 也支持的不同数据库的可选步骤。仅安装和配置项目中需要的包。 SAP Commerce 提供的任何初始数据仅用于演示目的。SAP Commerce 附带的安装程序配方允许

2021-12-03 09:07:44 100

原创 SAP 电商云 Spartacus UI 出现 breaking change 时,如何用文字来描述

用文字描述 html 文件的变化:In attribute cxPopoverOptions of element button.hint-popover property displayCloseButton has been set to true.https://github.com/SAP/spartacus/issues/11714更多Jerry的原创文章,尽在:“汪子熙”:

2021-12-01 19:10:40 12

原创 OData API 和 Restful API 这两个概念的区别和联系

我们在 SAP API Business Hub 里能看到 OData,SOAP 和 Restful 三种“不同”类型的 API:它们之间到底有什么区别和联系?OData vs REST: What is REST?REST(REpresentational State Transfer)是一种软件架构风格,它定义了如何使用 HTTP 协议在两个不同的系统之间发送消息。 REST 最初由 Roy Fielding 于 20 年前开发,现已发展成为用于在万维网上交换信息的最流行的架构。REST 标准

2021-12-01 17:00:21 285

原创 什么是 TypeScript 的 Module Augmentation

在进入模块扩充之前,让我们看看一些 TypeScript 合并原则,这些原则将随着我们的进步而变得有用。TypeScript 支持创建同名的 class 和 interface:class Food { cheese: string;}interface Food { bacon: string;}const food = new Food();food.bacon = "nice bacon";food.cheese = "sweet cheese";console.lo

2021-12-01 16:47:37 23

原创 在阿里云 ECS 上配置 SSH

我在阿里云 ECS 上执行 git 命令,遇到如下错误:PLease make sure you have the correct access rightsand the repository exists.我的 github SSH keys 区域,去年已经维护了对应的 SSH keys:/root/.ssh将本地的 id_rsa 文件拷贝到阿里云 ECS,执行命令行:ssh -T git@github.com报错:It is required that your priva

2021-12-01 16:27:57 109

原创 修改 Angular Component 构造函数参数被认为是 breaking change

修改构造函数参数被认为是 breaking change:Making any changes to the class constructor signature. Note that super calls need to be updated in classes extending ours.如果我们在构造函数里引入新的参数,这被认为是 breaking change:对于升级到新次要版本以及之前通过使用较少参数调用 super() 构造函数在其代码库中扩展我们的服务的任何客户,这将导致

2021-12-01 16:22:38 91

原创 SAP 电商云 Spartacus Schematics 开发环境搭建

Prerequisites全局安装 angular 原理图:npm install -g @angular-devkit/schematics-cli。 确保 Angular CLI 是最新的: npm install -g @angular/cli@latest单元测试要运行所有原理图单元测试:$ ./node_modules/ts-node/dist/bin.js ./tools/schematics/testing.ts 并选择测试所有原理图选项。要为特定库运行原理图测试:导航到您要测试的

2021-12-01 16:18:41 290

原创 SAP Spartacus 4.0 的技术变化

在您迁移到 4.0 版库之前,我们强烈建议您切换到新的应用程序结构和新的功能库。 在多个小步骤中进行迁移更容易(迁移到新的应用程序结构,切换到提取的功能库,然后迁移到 4.0),您可以确保在每一步之后一切仍然像以前一样工作。 如果您需要了解我们为何引入此更改的更多信息,请阅读下一章。在 3.0 版本之前,我们开始根据其职责分离库。在 3.0 中,我们已经在单独的包中发布了一些库(例如@spartacus/organization、@spartacus/storefinder)。我们也在次要 3.x 版本中

2021-12-01 16:17:16 110

原创 什么是 SAP Spartacus 里的 module augmentation

在 spartacus 中,我们公开了相当多的接受配置的方法。到目前为止,我们在输入这些方法方面做得并不好。您可能会注意到,通常当我们提供配置时,我们使用类型断言(例如 provideConfig({i18n: {…}}))来提高类型安全性和自动完成功能。在 4.0 版中,我们改变了使用 Config 的方式。由于模块增强 TS 功能,现在每个功能都对这个界面做出了贡献。由于该 Config 现在正确描述了您可以传递给 spartacus 的所有配置选项。更改后,我们可以将所有接受配置的方法的类型从 a

2021-12-01 16:12:12 6

原创 SAP 电商云 Spartacus Maintenance branch

什么是 maintenance branch?dev branch:develop 分支是默认分支,用于新版本开发,包括次要版本和主要版本。 所有功能和错误修复都合并到这个分支。还有一个维护分支,它随着新的稳定版或 rc 版本而变化,用于补丁版本。 只有错误修复合并到维护分支。一旦我们发布了 1.4.0-rc.0 版本,release/1.4.x 分支将被视为维护分支。 当我们发布 1.5.0-rc.0 版本时,则 release/1.5.x 分支成为维护分支,依此类推。release/1.4.

2021-12-01 16:11:11 6

原创 在阿里云 ECS 上使用 SAP Spartacus

本地运行 Spartacus 的环境需求如下:本地 Node.js 版本:12.18.3从这个链接下载指定版本:https://nodejs.org/download/release/v12.18.3/在 /etc/profile 里配置环境变量:yarn 版本:1.22.4Angular 版本:12.0.5npm install -g @angular/cli@12.0.5运行 ng serve 命令时,由于我购买的阿里云 ECS 是 1 CPU / 2 GB 的配置,出现

2021-12-01 16:10:14 10

原创 SAP 电商云 Spartacus UI feature level directive 的工作原理

如何消费这个 Directive:我们可以 mock FeatureLevelDirective 的服务类:isLevel 的判断逻辑:进行 Component 单元测试时,我们可以使用下面的 MockFeatureLevelDirective 进行 Mock.import { MockFeatureLevelDirective } from '../../../../shared/test/mock-feature-level-directive';import { Feature

2021-12-01 16:05:26 215

原创 SAP 电商云 Spartacus UI 同 SAP Customer Data Cloud 的集成

SAP Customer Data Cloud 允许您启用自定义注册和登录,还可以管理用户配置文件和 consent 信息。要将 SAP Customer Data Cloud 与 Spartacus 集成,您必须具备以下条件之一:SAP Commerce Cloud 2011,以及 SAP Commerce Cloud,Integration Extension Pack 2108SAP Commerce Cloud 2005 以及 SAP Commerce Cloud Integration E

2021-12-01 08:06:58 16

原创 在阿里云 ECS 上试图安装 SAP Commerce Cloud 的 137 错误

45分钟的时候就卡死了:14:23分虽然 putty 登录不上了,但是控制台里看到 CPU 占用率还是超过 20%:并且云盘的读写次数和读写速度都居高不下:https://help.sap.com/viewer/a74589c3a81a4a95bf51d87258c0ab15/2105/en-US/8c6b9a8186691014bd8dd9635cabfaff.html608807BUILD FAILED/root/jerry/hybris/bin/platform/bui

2021-11-30 15:55:49 582

原创 SAP 电商云 Spartacus UI feature level 的一个测试

首先明确,SAP Spartacus feature level 设置在 app.module.ts 里:我们查看 cart-totals.component.html 的一个例子。如果当前 feature level 为 4.2,则使用 cx-progress-button,否则使用普通 button.那么我们使用如下三种情况进行测试。level 为 4.1最后的结果:使用普通 buttonlevel 为 4.2:使用 progress buttonlevel 为 4.

2021-11-30 13:56:04 10

原创 使用 powershell 控制 ABAP 程序一次失败的尝试

https://www.autoitscript.com/forum/topic/204729-powershell-com-files/https://docs.microsoft.com/en-us/dotnet/framework/interop/registering-assemblies-with-comC:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe ActiveXPosh.dll /codebasehttps://www

2021-11-30 10:31:43 15

原创 SAP Commerce Cloud 切换 delivery mode 会触发 promotionresult 的删除

切换 delivery mode 会触发 promotionresult 的删除SQL 语句为:delete from promotionresult where PK = ? and (sealed is null or sealed=’*****’ )数据库表的名称:promotionresult执行2次

2021-11-30 10:15:58 214

原创 Cypress 的 before 和 beforeEach 钩子函数的使用方式

假设您有一个 spec,其中包含几个测试。 在这些测试中,您将打开一个页面并测试一些功能。 每次您想使用 .visit() 命令打开该页面时:it('test #1', () => { cy.visit('/') // rest of your test})it('test #2', () => { cy.visit('/') // rest of your test})通过几次测试,事情可能会以某种方式重复。 对于这种情况,您可以改为使用 before()

2021-11-30 10:13:17 75

原创 关于 SAP Commerce Cloud 启动时报 Address already in use - bind 的错误消息

今天我本地的 Commerce Cloud 启动不了了:错误消息:Address already in use: bind成功启动的话,tomcat 服务器日志,有 Server startup in xxx ms 的提示:发现 9001 被进程号为 4 的进程占用了:tasklist|findstr “4”进程号为 4 的进程是系统进程:以前的 log 也有这个错,不影响:更多Jerry的原创文章,尽在:“汪子熙”:...

2021-11-30 09:15:51 16

原创 SAP 电商云 Spartacus Checkout 端到端测试

测试文件:projects\storefrontapp-e2e-cypress\cypress\integration\accessibility\group-skipping.e2e-spec.ts注释这段代码,可以跳过不必要的测试:出现了错误:此时 continue 按钮点不了, 因为处于 disabled 状态:分析下图代码,第 46 行代码点击了 delivery mode 之后,会触发一个 HTTP put 请求。在该请求执行完之前,continue button 处于 disab

2021-11-30 09:09:50 14

原创 SAP Fiori 的 UI 新主题 Horizon

SAP’s UI Technologies supporting the new Horizon visual theme of SAP FioriSAP 正在转变我们的设计和开发文化,更加专注于帮助人们更快、更轻松地完成工作并取得更好的成果。 如果您还没有阅读过相关内容,请先阅读我们首席设计官 Benedikt Lehnert 的这篇博文,然后再继续阅读:体验心态:重新设计我们在 SAP 构建产品的方式。SAP 的新设计语言是 SAP Fiori 的演变。 新的视觉主题 Horizon 为基于可访问的

2021-11-30 08:26:22 184

原创 jQuery find 和 filter 方法的区别

源代码:<!DOCTYPE html><html><head> </script></head><body class="jchartfx_body"><div> <input type="radio" disabled id="html" name="fav_language" value="HTML"> <label for="html">HTML</label&

2021-11-29 17:04:28 205

原创 关于 SAP 电商云 Spartacus UI 修改 div 层级结果是否算是 breaking change 的问题

这里理论上也可以连续点击,每次点击产生一个 HTTP PUT 请求:修改之后:修改之前:Changing anything that affects the rendering of the existing DOM. Note: Additions, changes, or deletions of aria attributes (for screen readers) are not considered breaking changes.更多Jerry的原创文章,尽在:“汪子

2021-11-29 14:53:43 74

原创 关于编程等宽字体 Cascadia Code

之前有读者看了我文章里代码截图之后,给我留言,Jerry,你为什么不用等宽字体呢?确实,我对编程等宽字体没有什么研究,感谢这位读者对我文章细心的阅读。网上做了一番功课,最后我选择了 Cascadia Code 这款等宽字体。看一下效果。图1和图2 分别是在 Visual Studio Code 里的非等宽字体和等宽字体 Cascadia Code,可见等宽字体确实能治疗程序员的强迫症。在 Visual Studio Code 里更换字体,注意如果字体名称中有空格符号,则整个字体名称需要用单引号包裹起

2021-11-29 11:54:03 179

原创 关于 SAP 电商云 Spartacus UI checkout 流程的一些讨论

What is behavior before Jerry’s fixThe chapter below described the behavior BEFORE Jerry’s fix.Scenario1First step of checkout: shipping address pageurl: http://localhost:4299/electronics-spa/en/USD/checkout/shipping-addressWhen we directly access th

2021-11-29 10:07:57 172

dgreadiness_v3.6.zip

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

2021-02-17

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

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

2021-04-06

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

程序员

2021-02-20

SAP CRM WebClient UI 培训 Slide

SAP CRM WebClient UI 培训 Slide

2021-07-04

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

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

2020-11-24

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

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

2021-04-16

SAP Fiori Elements Overview 页面的创建.mp4

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

2021-05-23

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

汪子熙的留言板

发表于 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的粉丝

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