自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 资源 (16)
  • 收藏
  • 关注

原创 Adding Applications for JavaScript Storefronts in SAP 电商云

帮助文档:https://help.sap.com/viewer/b2f400d4c0414461a4bb7e115dccd779/v2011/en-US/63577f67a67347bf9f4765a5385ead33.html从 Github sample Repository 拷贝出来,js-storefront 文件夹下面有个 Spartacusstore 文件夹,进入其 manifest.json 文件,可以在 applications 数组里添加新的 Commerce 应用:执行 yar

2021-05-31 13:07:29 266 1

原创 SAP Spartacus 服务器端渲染的依赖注入之 ProductPageEventBuilder

入口:AppServerModule 的依赖:遍历这个巨大的 set:其中 ProductPageEventBuilder 正是这个 injectorDefTypes set 其中的一个元素:更多Jerry的原创文章,尽在:“汪子熙”:

2021-05-31 13:05:01 254

原创 Angular platform-server.js 里动态创建 JavaScript 标签页的场景

State transfer 的序列化和反序列化:script 的实际内容:更多Jerry的原创文章,尽在:“汪子熙”:

2021-05-30 21:57:10 289 1

原创 SAP Spartacus 服务器端 nodejs 应用里渲染 Angular Component 的一个例子

触发方式:将下列 url 粘贴到浏览器地址栏里,回车:http://localhost:4000/Open-Catalogue/Cameras/Hand-held-Camcorders/c/584最终会触发一系列递归的函数调用:refreshViewrefreshChildComponentsrefreshComponentrefreshEmbeddedViews在 refreshView 里,会调用 Component 的一系列 hook,比如 ngOnInit:注意下列这些代码

2021-05-30 21:52:12 277

原创 SAP Spartacus 服务器端渲染的单步调试

所有常规路由采用 universal engine 实现:将 req 的 app 属性保存到变量 app 里:在浏览器里访问 localhost:4000,该请求转发给 app.render 函数。这个 merge 操作,把对象 b 的属性,全部赋给对象 a:首先试图从缓存中读取 view 实例:读取 index 视图实例:得到视图构造函数:开始渲染:调试模式:调用 Universal Engine 进行渲染:下列代码是我们团队同事编写的:在哪里渲染好的呢?

2021-05-30 20:57:29 270

原创 SAP Spartacus 服务器端渲染优化引擎的参数 SsrOptimizationOptions

timeout?: number - Time in milliseconds to wait for SSR rendering to happen.单位毫秒,等待 SSR 渲染发生的时间间隔。cache?: boolean - Enable in-memory cache for pre-rendered urls.If disabled, the cache will still be used to temporarily store renders finished after csr ..

2021-05-29 18:21:07 281

原创 SAP Spartacus 服务器端渲染文件 server.js 和构建后的 main.js 对比

构建之前:构建之后:其中 express__WEBPACK_IMPORTED_MODULE_3__ 来自 module uX2x:uX2x 来自 node_modules/express/index.js:其依赖 K0zx.更多Jerry的原创文章,尽在:“汪子熙”:

2021-05-29 13:42:28 1089 2

原创 SAP Spartacus 服务器端渲染文件的 build 过程

SAP Spartacus 根目录下有个 server.ts 文件。整个文件的入口是 run 函数:run 函数里,开启一个 服务器,监听在 4000 端口上:服务器实例通过 app 函数返回:首先利用一个NgExpressEngineDecorator 获得 NgUniversal engine 实例,然后将该 engine 同 express 返回的 server 实例进行绑定:所有的静态文件,通过 browser 文件夹里的文件返回:所有的常规路由,使用 Universal Eng

2021-05-29 11:46:01 266

原创 Angular 项目 tsconfig.json 里定义的 out-tsc 还有作用吗?

在这个 StackOverflow 帖子里有介绍:What happens to the outDir in tsconfig.json for Angular projects?ng 命令的路径:根据这个 StackOverflow 帖子的定义,tsconfig.json 里定义的 outDir 无效:以 angular.json 文件里定义的 outputPath 为准:ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发

2021-05-29 11:22:12 326

原创 SAP Spartacus 服务器端渲染调试的开发端版本

我按照这篇文章手动安装 SAP Spartacus 3.3.0版本并启用服务器端渲染 SSR 的介绍,启用了 SAP Spartacus 服务器端渲染,并且按照SAP Spartacus服务器端渲染模式下的调试方法 介绍的办法,在 Visual Studio Code 里启用了调试模式。但是 SAP Spartacus 服务器端渲染, 用 node 执行的 main.js 文件,经过 minification,文件内所有空格和注释均被删除过。这给调试带来了一些困难。其实,这是因为我们在 setup 服务

2021-05-28 21:11:47 269

原创 SAP Spartacus 3.3.0 版本服务器端渲染的优化

https://sap.github.io/spartacus-docs/server-side-rendering-optimization/为什么要引入服务器端渲染优化?Without SSR optimization, it is possible for the following to occur:Pages do not render quickly enough, which leads to SSR using too much memory, and eventually it f

2021-05-27 21:18:56 251

原创 SAP Spartacus 3.3.0 SSR 的一个问题,当浏览器刷新时,SSR 失效

Dear experts,I found one issue regarding Spartacus SSR in version 3.3.0.I have created a sample store using schematics:ng add @spartacus/schematics@latest --baseUrl https://spartacus-demo.eastus.cloudapp.azure.com:8443/ --baseSite=electronics-spa --ssr

2021-05-27 19:55:59 324

原创 SSR rendering exceeded timeout 3000, fallbacking to CSR for

当我使用 node dist/jerryssr/server/main.js 时,遇到了如下的提示信息:SSR rendering exceeded timeout 3000, fallbacking to CSR for /显然,SSR 没有启用成功。按照这篇 StackOverflow 讨论的帖子介绍的解决方案:加上 timeout: 0 的参数,关闭超时机制:const ngExpressEngine = NgExpressEngineDecorator.get(engine, { ti

2021-05-27 19:34:40 438

原创 手动安装 SAP Spartacus 3.3.0版本并启用服务器端渲染 SSR

使用 ng new jerryssr 创建一个空的 Angular 项目:确保项目创建成功。ng add @spartacus/schematics@latest --baseUrl https://spartacus-demo.eastus.cloudapp.azure.com:8443/ --baseSite=electronics-spa --ssr弹出提示信息:Please choose which configuration you would like to add. (Use arr

2021-05-27 18:13:36 337 2

原创 如何找出 SAP电商云产品明细页面读取后台数据的代码具体位置

以如下这个产品明细页面为例:http://localhost:4200/electronics-spa/en/USD/product/553637/nv10观察浏览器 url 的格式:/product/553637/nv10在 default-routing-config.ts 里,得知 product/ 后的 553637 代表 productCode,而 nv10 则是 product name.因为我使用的是默认的 CSR 即客户端渲染模式,所以首先看到一个只包含 loading 的 HT

2021-05-26 10:38:39 440

原创 手动为 SAP Spartacus 添加 SSR 支持的步骤

ng add @spartacus/schematics --ssr在用 SAP Spartacus 开发的 store 里,能看到 devDependencies 里具有 @spartacus/schematics 的依赖:这是 SAP Spartacus Schematics 的一部分:https://sap.github.io/spartacus-docs/schematics.Spartacus schematics allow you to install Spartacus libra

2021-05-26 10:29:48 451

原创 Angular 项目里的 tsconfig.json

https://www.typescriptlang.org/docs/handbook/tsconfig-json.htmlThe presence of a tsconfig.json file in a directory indicates that the directory is the root of a TypeScript project.文件夹里若存在 tsconfig.json, 说明这个文件夹是 TypeScript 项目的根文件夹。It specifies the roo

2021-05-25 18:20:42 467

原创 Angular 项目工程文件结构介绍

https://angular.io/guide/file-structureYou develop applications in the context of an Angular workspace.Angular 应用开发人员在 Angular workspace(工作空间)的上下文里进行应用开发。A workspace contains the files for one or more projects.一个工作空间包含若干文件,这些文件属于一个或多个 projects.A

2021-05-25 18:08:49 990 2

原创 从 ng build 支持的参数 --prod,谈谈 Angular workspace configuration

语法:ng build project options作用:编译 Angular 应用到 output 文件夹里,通常名称为 dist. 必须在工作空间目录下执行。输入参数:project, 可以为应用或者 library.支持的参数使用 ng build --help 查看所有支持的参数。其中这个选项值得一说:–prodShorthand for “–configuration=production”.是 --configuration=production 的简写形式。When tru

2021-05-25 16:53:17 1735 2

原创 科大讯飞语音转文字以及中文分词的Java测试代码

我录了一段音存储在这个test.m4a文件里,语音内容为"测试一下Netweaver对于并发请求的响应性能"。使用如下Java代码进行测试:package com.iflytek.msp.lfasr;import java.util.HashMap;import org.apache.log4j.Logger;import com.alibaba.fastjson.JSON;import com.iflytek.msp.cpdb.lfasr.client.LfasrClientImp;i

2021-05-24 22:11:16 1012

原创 具有SmartFilterBar 的 SAP Fiori Elements 自动触发的搜索操作

ContextContainer.load 之后,自动触发 Search 操作:

2021-05-24 21:24:39 426

原创 初,中,高级的 ABAPer 应该各自具备什么水准的开发能力

一个朋友在我微信公众号留言:初,中,高级的 ABAPer 应该各自具备什么水准的开发能力。以下是我的一些粗浅理解:初级 ABAP 开发人员,能根据设置文档进行功能实现,编写相关代码。遇到功能不能工作时,在中级 ABAP 开发人员的帮助下,能够通过调试的方式进行故障排查。中级 ABAP 开发人员,能够根据业务顾问传达的需求,配合高级 ABAP 开发人员一起,写出详细的设计文档。能根据设计文档独立完成功能实现。熟练掌握 ABAP 服务器常用的工具,并能够灵活运用来解决工作中遇到的实际问题。对于自己

2021-05-24 21:21:25 1450 2

原创 SAP Spartacus angular.json 中定义的 serve-ssr

直接不带参数运行 ng run:An unhandled exception occurred: Cannot determine project or target for command.See “C:\Users\I042416\AppData\Local\Temp\ng-FXVlA1\angular-errors.log” for further details.在 Angular 项目的 angular.json 文件里,定义了所谓的 project:storefrontapp而

2021-05-24 20:02:32 417

原创 Angular Schematics 学习笔记

网址:https://angular.io/guide/schematicsA schematic is a template-based code generator that supports complex logic.一个 Schematic 是一个基于模板的代码生成器,能支持复杂逻辑。It is a set of instructions for transforming a software project by generating or modifying code.Sche

2021-05-24 11:03:33 510 2

原创 在 SAP BTP Kyma Runtime 上使用 Redis 读取和存储数据

https://developers.sap.com/tutorials/cp-kyma-redis-function.htmlThis sample provides a Redis deployment and two serverless functions that interact with it.这个例子提供了一个 Redis 应用部署和两个使用 Redis 的 serverless 函数。The function cache-order will be set to subscri

2021-05-23 20:56:11 377

原创 如何查看 SAP Spartacus PageLayoutComponent 里的 template$ 的值

SAP Spartacus PageLayoutService.ts 里的 templateName$ get 操作:返回一个 Observable 对象,包裹的类型为 string.pipe 的第一个操作 filter,目的是确保 page 对象的 template 属性一定存在,避免接下来第二个 map 操作出现返回被 Observable 包裹的 undefined 值的情况。而在 PageLayoutComponent 实现里,有一个同名属性。从 layoutName$ 返回的逻辑看,优先从

2021-05-23 13:58:36 304

原创 答网友问:如果用 OData 就能直接和 SAP 系统互通,BTP 和 CPI 这样的平台意义在哪里呢?

有朋友提问:外部SaaS应用通过ODATA API访问SAP标准接口,直接从本方应用发起访问就可以,无需借助PI或者BTP类的平台吧?既然这样,通过BTP或CPI来构建应用相对比直接在第三方平台上构建应用的好处是什么呢?是因为这2个平台除了获取数据,有更多关于流程设计和类似扩展插件(不用重复造轮子)的功能,并可以发布到SAP应用市场吗?也就是如果我不需要这些插件辅助,不到应用市场发布,是可以绕过这些平台的。关于 SAP 和第三方系统之间的集成,我写过一篇短文:SAP S/4HANA Cloud 系

2021-05-23 12:51:13 1259 1

原创 一步步将 SAP Commerce Mock 应用部署到 SAP BTP Kyma Runtime

The Kyma mock application contains lightweight substitutes for SAP applications to ease the development and testing of extension and integration scenarios based on Varkes.什么是 Kyma Mock 应用?它们是 SAP 应用轻量级的替代物,为了便于开发和测试基于 Varkes 的扩展和集成场景而生。Together with S.

2021-05-23 11:38:55 361

原创 SAP BTP Kyma Runtime dashboard 打开报缺少缺陷的错误消息该如何解决

登录 SAP BTP 测试帐号,确保 Entitlements->Service Assignments 下有一个 Kyma runtime,类型为 trial environment:点击 Enable Kyma 按钮:创建一个 Kyma Environment:耐心等待环境创建好之后,在 Active 列下面能看到创建好的一个实例。点击 Go to Dashboard:发现遇到下列的错误消息:Not enough permissionsYou don’t have eno

2021-05-23 10:40:12 343

原创 SAP S/4HANA Cloud 系统集成的一些场景介绍

如下图所示:SAP S/4HANA 集成有下列这些类型:用户移动设备同 SAP 云的集成SAP 云系统之间的集成SAP 云系统同物联网解决方案的集成SAP On-Premises 解决方案同 SAP 云的集成SAP On-Premises 系统间的集成SAP On-Premises 系统同物联网解决方案的集成SAP 系统集成的技术手段之一:API - Application Programming Interface,典型的类型如下:ODataSOAP - Simple Objec

2021-05-22 16:09:58 949

原创 最详细的 SAP ABAP Web Service 创建和消费步骤讲解

本文原版发表于 SAP 官方社区,当时用的英文版写作,标题为:Step by step to create, consume and trace web service in ABAP systemhttps://blogs.sap.com/2014/05/20/step-by-step-to-create-consume-and-trace-web-service-in-abap-system/总共阅读量超过 18 万。How to create web service provider in A

2021-05-22 15:16:46 2454 1

原创 Angular 依赖注入学习笔记之工厂函数的用法

网址:https://angular.institute/diWe can transfer any data through our apps, transform it and replace it.我们能传递任何数据到我们的应用里,改变其形态,并且替换。Another case: document and fetch can work in your browser correctly. But one day you need to build your app in SSR or pr

2021-05-22 11:33:58 409 1

原创 SAP Spartacus 如何获得当前渲染页面的 CMS 元数据

PageLayoutService 实现里有一个 cms 依赖:CmsService.当前页面元数据信息,通过 cms.getCurrentPage 维护。从 routingService 里拿到当前页面上下文,再从 central 的 ngRx store 里抽取实际数据:routingService.getPageContext 的实现:从 store里读取。关于 TypeScript 的箭头函数,下列两种写法都正确:第一种:没有给该函数指定返回类型,TypeScript 编译器自动

2021-05-22 08:25:49 267 1

原创 Angular Universal 学习笔记 - 客户端渲染和服务器端渲染的区别

https://github.com/angular/universalUniversal 的命名由来:We believe that using the word “universal” is correct when referring to a JavaScript Application that runs in more environments than the browser. (inspired by Universal JavaScript)参考了一个能运行在除浏览器之外的其他环

2021-05-22 08:23:50 341 1

原创 使用 Angular Universal 实现服务器端渲染

原文链接:https://medium.com/geekculture/implement-server-side-rendering-using-angular-universal-b32ebd9b8b29Normally Angular is a framework that is used to build Single Page Applications (SPA’s) and executes on the browser which means angular application ren

2021-05-21 20:19:49 392 1

原创 Angular 服务器端渲染的学习笔记(二)

官网地址:https://angular.io/guide/universal使用服务器端渲染,可以提前让服务器加载一些异步数据,比如从数据库里读取产品的描述信息,便于爬虫读取。网络爬虫一般不会通过执行 JavaScript 的方式去异步加载 HTML.因此通常情况下,我们需要服务器先执行一些 JavaScript 片段,才能将生成的页面返回给客户端。SSR 可以生成一个应用的静态版本,但并不意味着该版本完全可用。应用页面的静态版本,大多数 DOM 元素都已经提前加载。这种情况下,不需要等待 Angular

2021-05-21 18:30:42 718 1

原创 Angular 服务器端渲染的学习笔记(一)

官网链接:https://angular.io/guide/universalAngular Universal, a technology that renders Angular applications on the server.Angular Universal 是一种将 Angular 应用渲染于服务器平台上的技术。A normal Angular application executes in the browser, rendering pages in the DOM in res

2021-05-21 09:59:30 545 1

原创 第三方外部 Saas提供商如何跟使用 SAP 系统的客户进行对接接口集成

最近收到一位朋友的咨询:作为第三方外部 Saas提供商,想要跟使用 SAP 系统的客户进行对接接口集成,需要了解哪些 SAP 的版本?和常见对接技术语言,方式,协议,注意事项?首先这个问题范畴确实比较大。随着近些年来 SAP 向云端转型,收购了很多公司的云产品,SAP 的产品线不再像本世纪初那样主要由 基于 ABAP 技术栈的产品组成。我们可以首先把 SAP 产品按部署方式,分为基于 On-Premises (本地部署) 和基于 Cloud 两种类型。On-Premises:SAP ERP,SAP

2021-05-20 13:21:50 993 2

原创 如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置

如图:假设我们通过下列 url,打开 SAP Spartacus 一个产品的明细页面,我们想找出是哪个 Angular Component,实现了该明细页面。http://localhost:4200/electronics-spa/en/USD/product/553637/nv10打开 Chrome 开发者工具,查看 Product 明细页面的 HTML 源代码,能找到 cx-page-layout 节点,class 值为 ProductDetailsPageTemplate.因此,Produ

2021-05-18 12:05:03 361 2

原创 ABAP 编程语言的变量,常量和字面量,以及文本符号

在 Jerry 的前一篇文章ABAP 标准培训教程 BC400 学习教程之四:ABAP 编程语言的数据类型里,我们实际上已经涉及到了 ABAP 字面量的一种:如下图高亮的 ‘01’ 所示,该文本字面量由两个单引号包裹的字符0和1组成:除了文本字面量之外,ABAP 还有数字字面量:上图代码的语义是,把数字字面量 123 和 -123 的值,分别赋给 ABAP 整型变量 lv_int1 和 lv_int2.ABAP 常量从某种意义上说,同 ABAP 字面量有相似之处。ABAP 常量通过关键字 CON

2021-05-16 21:59:28 2007 3

如何使用 ABAP 创建包含不同字体大小的 Word 文档-模板文件

本模板文件同笔者的 ABAP 教程配套使用。使用 ABAP 代码,结合这个模板文件,能通过编程的方式,创建出具有不同字体大小和样式的 Word 文档出来。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 自研框架有深入的研究。

2022-08-07

使用 ABAP 创建 Word 文档的工具库

使用 ABAP 创建 Word 文档的工具库,在笔者的 ABAP 专栏里会使用这个工具库,向大家介绍,如何通过 ABAP 编程语言来创建和修改 .docx 格式的本地文件。注意,这个工具库并非基于过时的 OLE 技术,而是利用 .docx 文件实际上是基于 Open Office 格式的事实,直接操作底层的 XML 源代码的方式来操控 Word 文档。

2022-08-06

一个解析 JSON 数据的标准类

一个解析 JSON 数据的标准类

2022-04-17

SAP Fiori 和 SAP UI5 开发学习路线图

内容参考我的专栏:一套适合 SAP UI5 开发人员循序渐进的学习教程,地址:https://blog.csdn.net/i042416/category_11395500.html Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和“汪子熙”微信公众号上发表过多篇关于 SAP UI5 工作原理和源码解析的文章。 Jerry 也是从 SAP UI5 菜鸟一路走过来,深知只有 ABAP 开发背景的开发者,向 SAP UI5 开发领域转型的不易,因此我在业余时间设计了这份适合 SAP UI5 初学者的学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。这些知识点可能不像我的 UI5 源码分析系列文章那么深入,但力求浅显易懂。

2022-03-25

UI5 Inspector,一款好用的 Chrome 扩展

适用于 SAP UI5 应用开发人员,我的专栏《一套适合 SAP UI5 开发人员循序渐进的学习教程》对这个工具有详细介绍。

2022-02-22

使用 JavaScript 上传 PDF 和 Excel 文件到 ABAP 服务器并解析

Jerry 微信公众号文章 使用 JavaScript 上传 PDF 和 Excel 等二进制文件到 ABAP 服务器并进行解析 的附属资源,包含了文章介绍知识要点对应的源代码实现。

2021-11-13

FileUpload.zip

没有使用任何框架,原生 JavaScript 上传文件到 ABAP 服务器

2021-11-07

SAP CRM WebClient UI 培训 Slide

SAP CRM WebClient UI 培训 Slide

2021-07-04

SAP Fiori Elements Overview 页面的创建.mp4

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

2021-05-23

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

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

2021-04-16

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

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

2021-04-06

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

程序员

2021-02-20

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

空空如也

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

TA关注的人

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