SAP ABAP 平台新的编程模型
ABAP 编程语言的演变在过去 40 多年中开发的所有 SAP 功能中,大部分都是用 ABAP 编写的。ABAP 编程语言是我们的旗舰语言,并且已经证明它是开发业务应用程序的经过验证的强大平台。 多年来,SAP 对 ABAP 编程语言进行了更新和现代化,我们可以区分 3 个主要里程碑: 经典 ABAP 编程语言(最高至 Netweaver ABAP 7.50)SAP FIORI 的 ABA
ABAP Netweaver 和 ABAP Platform 这两个名词的辨析
本文简述 SAP Netweaver 平台的演变。 SAP kernel 是任何基于 ABAP 技术栈的 SAP 系统的核心组件。它由在服务器上运行以处理与系统的连接并执行 SAP 程序的可执行文件组成。 SAP 内核的开发始于 1988 年,尽管 SAP R/3 于 1992 年正式推出。SAP kernel 已成为过去 30 年来几乎所有基于 ABAP 技术栈的 SAP 产品的基础,比如
SAP 电商云 Spartacus UI 有状态 的 url 和 title 属性的赋值代码
有状态的 URLSpartacus 为店面的每一部分提供了一个带有状态地址的 URL。这使用户可以更轻松地浏览店面,还允许网络爬虫对每个页面进行索引。因此,可以通过社交媒体、机器人和搜索索引共享更多页面。 一个例子: 为了为所有内容提供有状态的 URL,Spartacus 允许深层链接来寻址任何页面。URL 路由配置还可以考虑多站点上下文,以便可以启动和缓存店面特殊变体的有状态 URL。
如何修改 Windows10 操作系统里某种文件类型的默认图标
Windows10 用久了,想必大家对系统内默认的文件类型对应的图标感到审美疲劳了。比如下图的文本文件的默认图标: 本文介绍如何通过修改注册表的方式来更改这些默认的图标显示。 以管理员的身份运行注册表应用 regedit,路径: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts:
TypeScript Partial 使用的一个小技巧
TypeScript 提供了一些工具性质的类型定义来方便开发人员进行一些通用的类型定义。Partial 是其中之一。 看个例子: interface Todo { title: string; description: string; } const todo1 = { title: 'organize desk', descri
SAP 电商云 Spartacus UI DeliveryComponent 的依赖设计
该 Component 具有5个依赖: 为了修复 bug,我需要引入 checkout service 和 cart service. 如果直接在该构造函数里注入,这实际上算是修改了 constructor signature,按照 Spartacus 编程规范,这算是引入了 breaking change - 重大更改。 但我们观察到,该 Component 类的依赖之一,checkout
如何在 SAP 电商云 Spartacus UI 里新建一个页面
因为 SAP Spartacus UI 是基于 CMS 驱动的,因此流程是:我们首先在 SAP Commerce Cloud Backoffice 创建新的 content page, CMS Component 以及相关内容,然后再到 SAP Spartacus 层,新建一个 Angular Component,映射到之前 Commerce Cloud Backoffice 里创建的 CMS C
SAP Commerce Cloud 里的 Solr 架构简介
大多数电子商务网站都在其网站上提供搜索功能,尤其是用于搜索产品详细信息。 产品是任何电子商务网站中的主要搜索数据。 由于 Hybris 用于开发电子商务网站,因此 Hybris 中的 Solr 用于更快地搜索网站中的产品。 请看下图,了解如何在 Hybris 中使用 Solr: Hybris 中的 Solr 概述每当用户访问店面中的任何数据时,它可以来自hybris DB或Solr,具
OData API 和 Restful API 这两个概念的区别和联系
我们在 SAP API Business Hub 里能看到 OData,SOAP 和 Restful 三种“不同”类型的 API: 它们之间到底有什么区别和联系? OData vs REST: What is REST?REST(REpresentational State Transfer)是一种软件架构风格,它定义了如何使用 HTTP 协议在两个不同的系统之间发送消息。 REST 最初
什么是 TypeScript 的 Module Augmentation
在进入模块扩充之前,让我们看看一些 TypeScript 合并原则,这些原则将随着我们的进步而变得有用。 TypeScript 支持创建同名的 class 和 interface: class Food { cheese: string; } interface Food { bacon: string; } const food = new Food(); f
借助 SAP 电商云 Spartacus UI 提供的 Schematics 辅助您的前端项目升级
将 Spartacus 升级到新的主要版本(例如,从 3.x 到 4.0)时,Spartacus 迁移机制会自动修复新版本中修改或删除的代码。 当您处理功能或错误,或对 Spartacus 源代码进行任何其他更改时,您需要更新原理图作为完成定义的一部分。 通过将这些更新迭代地作为 DoD 的一部分对源代码进行每次更改,您就不必在开发周期结束时花费大量时间升级迁移机制,因此,它更容易 为新的主要版
SAP Spartacus Session affinity
参见这个讨论。 后端运行在多个 pods/节点时,当子序列请求过早进入时,后端将无法跨集群 发送缓存失效请求。此外,如果多个请求分散在多个节点上,则会消耗延迟和不必要的资源。 对于单个客户端,Spartacus 应该尽可能多地与单个后端交互。这在传统上称为“粘性会话”。 CCv2为此做了部分准备。它将 ROUTE cookie 添加到响应中。但是,此 cookie 不可配置且不使用 Same
使用 Recipe 安装 SAP Commerce Cloud
Installing SAP Commerce Using Installer Recipes 要出于开发和演示目的自动安装 SAP Commerce,您可以使用安装程序配 方。 Recipes 是负责创建目录、移动文件、更新配置和属性文件以及初始化系统的 gradle 脚本。 安装程序目前仅用于在开发环境中安装 SAP Commerce 或用于演示目的。 不要使用安装程序在生产环境中安装 S
Cypress 基础 - 元素的定位
Cypress basics: Selecting elements Selecting a single element语法: cy.get('.selector') 首先,让我们看看 .selector 部分的内容。 Cypress 通过查询 DOM 来选择元素。 如果您曾经玩过 CSS 或使用过 jQuery,或者如果您熟悉 JavaScript 中的 docume
关于编程等宽字体 Cascadia Code
之前有读者看了我文章里代码截图之后,给我留言,Jerry,你为什么不用等宽字体呢?确实,我对编程等宽字体没有什么研究,感谢这位读者对我文章细心的阅读。网上做了一番功课,最后我选择了 Cascadia Code 这款等宽字体。 看一下效果。图1和图2 分别是在 Visual Studio Code 里的非等宽字体和等宽字体 Cascadia Code,可见等宽字体确实能治疗程序员的强迫症。
SAP 软件的精髓之一:各种各样的决定机制 - Determination Logic
这是 Jerry 2021 年的第 74 篇文章,也是汪子熙公众号总共第 351 篇原创文章。 本来想写一篇 SAP UI5 应用和 SAP 电商云 UI 开发的语言决定机制的,由于文章篇幅原因,最后决定分成两篇文章来写。本文是 SAP 软件决定机制的概要介绍,下一篇文章再介绍这种决定机制,在 SAP UI5 中的应用。 SAP 软件中的决定机制,往往容易被忽视,不是因为这种机制不重要,而是因
使用 RxJs Observable 来避免 Angular 应用中的 Promise 使用
我们通过一个具体的例子来阐述。 考虑您正在构建一个搜索输入掩码,该掩码应在您键入时立即显示结果。 如果您曾经构建过这样的东西,那么您可能会意识到该任务带来的挑战。 不要在每次击键时都点击搜索端点 将搜索端点视为您按请求付费。不管它是不是你自己的硬件。我们不应该比需要的更频繁地敲击搜索端点。基本上我们只想在用户停止输入后点击它,而不是每次击键时点击它。 不要在后续请求中使用相同的查
SAP 电商云 Spartacus UI 同 SAP Customer Data Cloud 集成运行时的 api
在 Chrome 开发者工具 console 里,输入 gigya(就是 SAP Customer Data Cloud,简称 CDC,被收购之前的名称),能看到下列信息: account 节点下的 api: localinfo: 在 SAP Spartacus cdc integration library 里面定义了 GigyaLoginPageTemplate 和对应的 conte
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 2108S
使用 Angular Transfer State 的一个具体例子
Using TransferState API in an Angular v5 Universal App 让我们用一个具体的例子来说明这篇文章。 我们有一个天气应用程序,在其侧边栏中显示城市列表。 当您单击城市名称时,该应用程序会显示该城市的当前天气。 因为我们希望我们的应用程序是可抓取和可索引的,所以我们使它通用:城市页面在服务器上呈现,存储为 HTML 文件并由 HTTP 服务器提供服