SM59 事物码里的错误消息 SECSTORE035
系统无法访问全局键值,其存储位置在配置文件参数 rsec/securestorage/keyfile 中指定。 使用事物码 RZ11,输入 rsec/securestorage/keyfile,点击 Display: 当这个参数路径指向的 .pse 文件包含非法字符或者文件内容小于 48 个字符,或者指向的 .pse 文件压根就不存在的时候,就会报这个错误。 我们在 SM59 里
利用 ALV 实现增删改查系列之二:仅让 ALV 报表某一列允许被编辑试读版
本系列前一篇文章 69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态,我们介绍了如何让 SAP ABAP ALV 报表进入可编辑状态。在该状态下,ALV 报表的每一行,每一列都可以被任意修改,如下图所示: 但是在实际的项目中,更常见的需求是,ALV 报表只允许部分列能够编辑。 本文介绍只将 ALV 报表的部分列设置为可编辑状态的技术实现。 先看一下实现的效果。执行
我与外企上司的四个职场故事
标题:我与外企上司的四个职场故事我在目前这家任职的外企从事软件开发工作,已经整整十五年了。本系列文章通过介绍我与自己上司的四个职场小故事,想和大家分享在外企里,一个程序员除了埋头提升自己技术之外,还有哪些其他的软技能和能力需要去着力培养。 故事1 – 程序员要去德国出差3个月,但食住行等问题迟迟没有搞定我曾经在公司参加了一个很重要的全球开发项目,需要去德国总部出差三个月。公司差旅流程规定,如果出
利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态试读版
在 CSDN 和我的知识星球里有朋友向我提出同样的问题,询问如何在 ALV 里实现增删改查操作。 虽然需求只有一句话,但是这个需求背后涉及到的知识点不少,因此笔者会通过几篇文章的篇幅,来介绍这个需求的详细实现步骤。 本文先解决第一个障碍,如何让 ALV 报表进入可编辑状态? 笔者通过一个 ABAP 报表来说明。 ALV Grid 控件里每个单元格的状态有两种: non-edita
使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
一套适合 SAP UI5 初学者循序渐进的学习教程本专栏计划的文章数在 300 篇左右,到 2022年11月19日为止,目前已经更新了 149 篇,专栏完成度为 49.6%.作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SAP 中国技术大使。在长达 15 年的 SAP 标准产品开发生涯里,Jerry
SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别
最近有朋友在我的知识星球里向我提问,SAP ABAP CDS view 的 INNER JOIN 和 Association 的功能可以理解为一样吗? (关于加入我的知识星球的方式,请移步本文文末) 本文就来聊一聊这个话题。既然 CDS view 里同时支持了 INNER JOIN 和 Association 两种操作,那说明二者必然存在一些差异。 首先创建一个包含 INNER JOIN 的
SAP ABAP CDS view Association 引入的缘由
ABAP CDS view 支持三种 join 方式: Inner JoinLeft Outer joinRight outer join 我们使用 ABAP Development Tool 的 CDS view 向导创建一个 CDS view: 向导里包含的 $ 和大括号就是占位符,需要开发人员自己指定: 我们把占位符替换成实际的 SFLIGHT 和 SPFLI. 激
Node.js Event Loop 处理的几大周期介绍
Node.js Event Loop 处理的几大周期如下图所示: Timer:通过 setTimeout() 或 setInterval() 安排的一切都将在这里处理。 IO 回调:这里将处理大部分回调。 由于 Node.js 中的所有用户态代码基本上都在回调中(例如,对传入 http 请求的回调会触发级联回调),这就是用户态代码。 IO轮询:轮询下一次运行要处理的新事件。 Set
Node.js Event Loop 的三大常见理解误区和正确概念辨析
Node.js Event loop 监控器。高的 frequency 和低的持续时间是最理想的 event loop 状态。 上图显示三点半到五点半之间,event loop 的 frequency 骤降,然后 duration 居高不下。 Node.js 是一个基于事件的平台。 这意味着在 Node 中发生的一切都是对事件的反应。通过 Node 的事务会遍历级联的回调(a cascade
关于 ABAP 开发对象的原始语言版本(Original Language)
当创建新的存储库对象时,例如 ABAP 词典中的程序、类或数据库表,必须指定其原始语言。ABAP 开发框架隐式将当前登录语言设置为其原始语言。 作为开发项目中开发对象的一部分创建的所有可翻译文本(包括描述性短文本和长文本、程序的文本元素以及数据类型或接口的文档)都分配有指定的原始语言。 这些文本是在从原始语言到目标语言的翻译过程中(由开发人员触发)以其他语言创建的。 一旦指定,目前还没有技术
关于 SAP ABAP 报表的多语言显示问题试读版
本专栏计划的文章数在 150 篇左右,到 2022年11月9日为止,目前已经更新了 63 篇,专栏完成度为 42%笔者这套零基础快速学习 ABAP从 2021年4月10日写下第一篇文章以来,感谢广大学习者一如既往的支持。本教程计划花费 150 左右的篇幅,向大家详细介绍 SAP ABAP 开发的方方面面。 大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教
答网友提问 - SAP Business Technology Platform(BTP) 的计费模式
我的知识星球 有朋友向我提问: S4HANA(本地部署或云版)跟SAP家族系统以及非SAP系统的集成,sap的标准/推荐做法是通过BTP还是直接连接,或者是根据目标系统分别选择?有参考链接最好了。 还有BTP的收费模式是什么样的,是不是比较贵? 关于第一个问题,我已经做了解答。 其实这个 Pricing 的问题可以在 SAP 官网上找到答案。 Google 上搜索关键字 SAP
关于在 Angular 应用里重复调用 RouterModule.forRoot(ROUTES) 的讨论
在延迟加载模块中调用 forRoot,后果是将在延迟加载模块注入器中创建所有全局服务的新实例,这将导致不可预知的结果。 仅在根应用程序模块 AppModule 中调用 forRoot, 在任何其他模块中调用它,尤其是在延迟加载的模块中,是违背 Angular 路由模块的设计本意的,并且可能会产生运行时错误。 确保导入 forRoot 方法的结果,而不要将它添加到任何其他@NgModule 列表
Angular RouterModule.forRoot(ROUTES) 和 forChild(ROUTES)的区别
不少 Angular 初学者在学习 Angular 路由框架时,对 forRoot 和 forChild 这两个方法的差异都心生疑惑。 Angular 官网对两个方法的解释: forRoot 创建一个包含所有指令、给定路由和路由器服务本身的模块。 forChild 创建一个包含所有指令和给定路由的模块,但不包含路由器服务。 但缺乏具体的例子。 Module with provid
Angular 应用开发里使用 ForRoot 解决 Lazy Loaded Module 里单例行为丢失的问题
笔者在 Angular 实际项目开发中曾经遇到这样一个需求: 我们想创建一个共享模块,它将包含一个配置来设置布尔值(作为标志)以启用或禁用其他模块的某些功能。 其他模块可以在 Angular 应用程序的引导期间加载,也可以是延迟加载的模块。 ForRoot 的使用场景当我们想要跨应用程序维护服务的单个实例(单例)时使用,这些应用程序也将具有延迟加载的模块。 举个例子,看看托管在 St
一软一硬:记录我的工作电脑两次出现性能问题的分析思路和解决过程
作为一个程序员,每天工作中糟心的事情之一,莫过于自己用来编码的计算机,运行速度忽然变得奇慢无比。尤其像我这种年过四旬仍然在一线从事编码工作的老程序员来说,只有靠不断提高单位时间的产出效率,来弥补和年轻程序员体力和精力上的差距。所以工作电脑性能忽然急剧下降,是一件让我无法接受的事情。 作为一个在 SAP 领域工作了 15 年的开发人员(详情参考我的文章:一个 SAP 开发工程师的成长史),我已经记
S/4HANA(本地部署或云版)跟 SAP 家族系统以及非SAP系统的集成的推荐方式
笔者的知识星球,有朋友提问: S4HANA(本地部署或云版)跟SAP家族系统以及非SAP系统的集成,sap的标准/推荐做法是通过BTP还是直接连接,或者是根据目标系统分别选择?有参考链接最好了。 首先 SAP S/4HANA 的技术栈,后台是 ABAP,前台是 SAP UI5 前端框架开发的 Fiori 应用,基于 JavaScript. 无论是 SAP S/4HANA 同 SAP
答疑 - SAP OData 框架处理 Metadata 元数据请求的实现细节
我的知识星球 里有一个朋友提出了 SAP OData 服务 metadata 缓存方面的疑问,本文就来详细说一说: jerry,啥时候有时间给介绍一下fiori的Metadata数据系统的处理机制吧。我现在在做的一个项目,用rap开发的。rap开发的service binding,在maintain service注册时,开始注册的服务命名错了。后来发现了后就删除了重新创建了一次。结果就
如何处理 Angular 单页面应用里的 a 标签,避免点击后重新加载整个应用
问题描述客户已经实现了一些“free html”组件,它是 HTML 的标题和包装器,与 OCC 响应一起作为内容。 <div [innerHTML]="data?.content | safeHtml"></div> 这个 HTML 里包含了 anchor element: <div class="starItem"
SAP 电商云 Spartacus UI Configurable Product 的页面设置
关键字CPQ,Product Configuration,Product Configure,Product Variant 变体是在某些方面彼此不同但基于相同基本模型的产品。 变体的一个示例是 T 恤的颜色和尺寸。 在 Spartacus 中启用变体功能,并在 SAP Commerce Cloud 中配置产品后,客户可以在店面中选择具有他们选择的变体(或多个变体)的产品。 启用 varian