使用 Angular 14 的 inject 函数优化对 Ngrx 的使用方式
我们先看 Angular 里一个常规的使用 Ngrx Store 的例子: 上面这段代码的缺陷是,Component 作为 UI 的展现层,直接依赖于作为第三方库的 Store API —— 一个合乎逻辑的措施是,将这个逻辑通过 facade 服务的思路,抽取到一个 service 中,以保护 Component 免受库弃用或破坏性更改(breaking changes)的影响。 在 An
通过 SAP UI5 ODataModel API 在 JavaScript 代码里访问 OData 元数据试读版
在本教程第 24 个步骤里,我们介绍了 SAP UI5 OData 模型最基本的使用方法: SAP UI5 应用开发教程之二十四 - 如何使用 OData 数据模型 我们通过 url http://localhost:8080/webapp/index.html?sap-ui-debug=true 访问这个应用的调试模式,能够在 Chrome 开发者工具 network 面板里,观察到一个通过
访问 SAP 电商云 Storefront 时遇到的 HTTP 403 错误
我访问一个客户部署在 SAP CCV2 上的 Storefront 时,遇到如下错误消息: Access DeniedYou don’t have permission to access “http://xxxs-us/en_US/USD/“ on this server.Reference #18xxx2f Chrome 开发工具的网络选项卡显示,403 错误发生在多个 Jav
SAP UX 用户体验师这个职位的技能要求和日常工作内容介绍
最近有朋友向我咨询关于 SAP UX 用户体验或者界面设计的工作岗位的一些情况。本文简单聊一聊这个话题。 注意:本文不代表 SAP 官方观点,仅仅是我作为一个开发人员,根据自己平时和 UX 同事协同工作的一些观察写作而成。 我们首先来看看 SAP 官方招聘对 UX 这个职位的工作要求。 我们找到 SAP招聘 这个官方订阅号,点击搜索图标: 输入关键字 UX,然后按照发布时间排序,点击
SAP UI5 本地开发时 ui5.yaml 文件对构建 Release 版本应用目录的影响分析试读版
本教程第 40 步骤,笔者介绍了如何制作 SAP UI5 应用能够部署到 Web 服务器上的 Release 版本(或者称作 Distribution 版本),即如何用工具自动生成 component-preload.js 文件: SAP UI5 应用开发教程之四十 - 如何制作包含了 component-preload.js 在内的 SAP UI5 发布版本 有读者现学现用,马上使用第九个步
如何确认 SAP Spartacus SSR Transfer State 已经正常工作了
在检查一些客户项目时,我注意到一旦返回 SSR 响应,浏览器仍然会执行页面和组件的 XHR 请求。 我使用的代码为: provideConfig(<StateConfig>{ state: { ssrTransfer: { keys: { [CMS_FEATURE]: StateTransferType.TRANSFER_ST
关于 SAP Spartacus 重定向部分外部 url 到后台系统的问题
许多客户将采用逐步(route-by-route)的方式从 Accelerator 迁移到 spartacus,这意味着客户将使用不同的系统在同一域中同时驱动部分店面。 我们希望支持具有可配置的路由,并可选择从 SPA 中退出并重新加载页面以允许后端驱动的响应(基于 URL 模式)。 只要我们在 SPA 的范围内,我们只执行 interal 导航,因为使用了 Angular 的 routerL
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
本专栏计划的文章数在 150 篇左右,到 2022年10月24日为止,目前已经更新了 60 篇,专栏完成度为 40%笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大学习者的支持,目前已经更新了 56 篇。本教程计划花费 150 以上的篇幅,向大家详细介绍 SAP ABAP 开发的方方面面。 大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解
Eclipse 给 Java 应用创建 Run configuration 时找不到 main type 的错误消息
我在 Eclipse 里选中 com 文件夹下选中一个 .java 文件,这个 Java 文件实现了 public static void main(String[] args) 方法,我想作为一个 Java 应用直接运行它。 选择 Run As -> Java Application: 遇到错误消息:Selection does not contain a main type:
SAP Java Connector 正常运行所需的网络配置
SAP JCO 在本地安装成功并且将目录加到 PATH 环境变量后,运行命令行: java -jar sapjco3.jar 如果看到下列弹出窗口,说明 JCO 配置成功。 JCo 使用基于 TCP/IP 的 CPI-C 协议进行底层网络通信。通常TCP/IP协议是操作系统提供的一种通信服务。因此,作为 JCo 工作的先决条件,必须配置 TCP/IP 服务。 如果您的机器上安装了有
SAP Java Connector 组件介绍
SAP Java Connector 3.1 运行时环境由两部分组成: sapjco3.jar - 包含 JCo 的 Java 运行时类的存档{library prefix}sapjco3{shared library extension} - 包含 JCo 原生代码的 JNI 库 JCo 的 JNI 库包含用于网络通信的本机代码。 JCo 存档和 JNI 库之间只有松散的耦合,但是 JC
SAP Java Connector 的配置指南
SAP Java 连接器 (JCo) 3.1 需要 Java 运行时环境 (JRE) 版本 8 或 11。有关受支持平台和 Java 运行时环境的最新详细列表,请参阅 SAP 说明 2786882。 最新版本的 SAP Java 连接器可从 SAP 支持门户网站下载,网址为 https://support.sap.com/jco。 在那里,您还可以找到各种支持的平台和处理器的所有可用分发包以及 P
SAP Spartacus SSR 模式下 index.html 页面的响应逻辑调试
入口:所有的 regular route 都使用 universal engine: 简而言之,Angular Universal 是 Angular 的预渲染解决方案。 在普通的单页应用程序中,我们通常将数据带到客户端,然后在客户端最后一秒构建代表该数据的 HTML。 但是在某些情况下,出于充分的理由,我们可能希望提前进行渲染,例如在服务器上或在应用程序构建时:这正是 Angular Un
关于 SAP Spartacus SSR 3.4.5 版本优化的 reuseCurrentRendering flag
concurrency: 50 means that OptimizedSsrEngine will perform at most 50 parallel rendering tasks. 支持同时处理 50 个并发渲染请求。 With the option reuseCurrentRendering enabled, it means: At most 50 different URL
Http failure response 0 Unknown error 错误分析
使用下面这段代码在 Angular 应用里进行 HTTP 访问: this.httpClient.get(url).subscribe(response => { //do something with response }, err => { console.log(err.message); }, () => { console.log('co
在 ABAP 开发工具运行时错误显示界面里植入思否猫
我们开发人员每天编程,调试代码,不可避免地会遇到运行时异常和运行时错误。一旦运行时错误发生,程序会非正常终止,标志着程序的实际执行情况同我们的预期有差异,想必每一位开发人员看到运行时错误心情都不会太好。 笔者平时使用的后台开发语言是 ABAP,使用的开发 IDE 是 SAPGUI,因此尝试着把思否社区的吉祥物,一只可爱的思否猫,植入到 ABAP 运行时错误显示界面上来,试图让思否猫给遇到运行时错
关于 SAP AMDP 调用错误消息 client-specific and restricts access to a client
近日一个朋友做 SAP AMDP 开发时,遇到如下错误消息:XXX is client-specific and restricts access to a client. The calling AMDP method XX must also allow this restriction. 本文将这个错误消息相关的背景知识记录如下。 发生问题的场景是在基于 S4/HANA 系统的 AB
SAP UI5 index.html 根节点的 css 类填充逻辑
打开笔者 SAP UI5 教程的任何一个应用,可以在 index.html 里找到根节点的这些 css 类: 其中如下图高亮显示的三个 css 类,都带上了 desktop 的后缀: 这些 css 类是怎么填充的? 如果不是 phone,也不是 tablet,那就一定是 desktop 了,采取的是排除法的逻辑。 desktop: 然后调用 changeRootCSSClass,给
Windows 环境下 Python 环境安装
到 python 官网下载: https://www.python.org/downloads/ 我选择 Windows embeddable package(64 bit): 下载到本地后,是一个 zip 包:python-3.10.8-embed-amd64,我把它解压后放到这个文件夹:C:\app\python-3.10.8-embed-amd64 然后添加环境变量 path:
SAP UI5 的声明式初始化 Component 定义(Declarative API for Initial Components)
一套适合 SAP UI5 初学者循序渐进的学习教程本专栏计划的文章数在 300 篇左右,到 2022年10月14日为止,目前已经更新了 141 篇,专栏完成度为 47%.作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry 曾经