简单聊聊 ABAP 变量消耗的内存空间这个话题的试读版
本教程之前的文章介绍了 ABAP 调试器的用法: 13. 最浅显易懂的 SAPGUI 里 ABAP 调试器的使用方法介绍 有朋友向我咨询:ABAP 调试器里变量显示标签里,如果对于一个内表变量,Val 栏下的 [1x3(28)]Standard Table 是什么意思? 为了准确回答这个问题,我们就得简单了解下 ABAP 程序里的变量,在运行时消耗的内存空间这个问题。 在本教程第四
Spartacus Storefront 里的 currency 和 language 的 store 设计
currency 和 language 都持久化在 local storage 里了: app.config.ts? Failing E2E tests: The site context tests are failing 涉及到的文件: currency-checkout-page.e2e-spec.tslanguage-checkout-page.e2e-spec.ts
如何使用 ST05 事物码,快速找到访问指定数据库表的 ABAP 代码试读版
在实际项目开发过程中,ABAP 顾问可能会经常接到这类需求: 调研 SAP 标准产品某个功能的具体实现位置,在此基础上做增强开发。 比如下图是 SAP CRM 产品主数据管理应用的搜索页面。 点击 Search 按钮之后,我们能够看到根据指定的搜索条件,在 ABAP 后台数据库表里搜索之后得到的结果: 现在我们已经从组里其他同事那里得知产品搜索时需要访问数据库表 COMM_PROD
英语不好,对 SAP 英文文档有所畏惧,该怎么办?
有朋友在我的 零基础快速学习 ABAP这套教程的其中一篇文章ABAP 编程语言中的系统字段(System Fields)里留言: 哪里不懂点哪里。可是总是对英文文档有畏惧心理,汪老师有没有啥建议呀 ?感觉想要做好这一行这一点还是挺重要的。 如果条件允许,笔者真的建议大家直接阅读 SAP 原版的英文文档。原因如下: SAP 原版的英文文档最为权威,而官方网站上其他语言比如中文版的帮
SAP UI5 Fiori 应用在启动时向 ABAP 后台发起的 OData 请求序列分析
本文的写作动机,来源于我的知识星球里一位朋友的提问: 我们现在在 BTP 上给 successfactors 增强一个功能,画面 fiori ,针对画面上的fo 字段或者 picklist 类型字段,为了方便画面比较容易输入值,下拉框里面的值一般通过什么方式做成,而且不影响性能,现在我们考虑通过追加代码去取得下拉框的值,但是画面初期打开的时候,如果这样项目特别多,特别影响性能,想问一下有什么
SAP ABAP 一个有用的程序正确性辅助工具,Checkpoint group 的使用方法介绍
本教程前一篇文章介绍的内容: 74. 学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能 有读者向我提问:一个 ABAP 程序植入了应用日志的记录功能之后,有没有办法暂时 deactivate 程序里这些日志记录的行为? 答案是不能。只要我们在代码里编写了应用日志的记录功能,每次 ABAP 程序执行,就会忠实地将日志记录下来,从而供用户在事物码 SL
SAP ABAP 系统里 Checkpoint group 的创建
ABAP Checkpoint group(检查点组)是一个可传输的存储库对象,其中定义了分配的检查点的激活设置。可以使用事务 SAAB 或通过 ABAP Workbench 的前向导航(forward navigation)来创建检查点组并维护激活设置。 要创建检查点组,只需指定名称和描述。 该名称在当前SAP系统中必须是唯一的,由不超过30个字符的字符串组成。 说明最长可达 80 个字符。
学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能试读版
笔者在知乎上回答了一个关于 SAP 系统权限管控的问题: SAP 有没有办法可以跳过权限测试 function? 在问题的回答里笔者提到: 如果是 SAP ABAP 系统,并且用户具有开发权限,那么可以进入调试模式,在调试器里使用 debugger-> Goto Statement 来绕过权限检查的代码。 然而这种行为会被记录到系统日志即事物码 SM21 里。如果因为绕过
SAP ABAP Application Log 的使用方法
SAP ABAP Application Log 的使用场景: (1) 当你想记录应用程序的执行进度,以便以后在需要时重建它;(2) 当开发人员不确定/无法调试代码(前台/后台)并且想深入了解错误原因时,可以通过检查应用程序日志来确定问题所在的确切位置。 使用事物码 SLG0 创建一个对象,该对象用于识别开发人员在 ABAP 代码里使用的 Application log. 这里创建一个名叫
关于 ABAP 的运行时错误 ITAB_ILLEGAL_ORDER
一个朋友在我的知识星球里提问: Jerry 您好!请教一个问题,在生成物料凭证的时候,有个比较奇怪的问题,在函数MARD_MD_ARRAY_READ,第154行的时候会提示运行时错误:ITAB_ILLEGAL_ORDER,内表中的排序不正确;跟着查看是在132行的时候读取v_mard_md的数据未排序,然后后面按照取出来的数据插入到内表MARD_TAB_MD之后,也是未排序的,然后在154行
ABAP TEST-SEAM 的使用方法
语句 TEST-SEAM 引入了一个称为 seam 的测试 SEAM,它由 END-TEST-SEAM 关闭。 当前程序的测试类(test class)可以使用语句 TEST-INJECTION 将语句块 statement_block 替换为在那里定义的注入。如果没有对 test seam 执行注入,则执行原始代码。 test seam 具有以下属性: 可以在单个编译单元中定义多个 te
使用 SAP UI5 3D Viewer 控件显示 3D 模型效果试读版
借助 SAP UI5 控件家族提供的 3D Viewer 控件,我们可以直接在浏览器里实现一些基本的 3D 可视化功能。 首先看一看按照本教程的步骤,完成开发后,得到的 3D 显示效果如何。 我们启动应用,可以看到屏幕下方有两个按钮,左边的按钮可以从本地加载一个 3D 模型文件,一种支持的后缀为 .vds. 这个扩展名与 SAP Visual Design Stream 文件格式和相应的文件类
如何配置 jad,让 Eclipse 可以自动显示反编译之后的 .class 源代码
默认情况下,如果 Eclipse 里想查看一个没有 Source Code attach 的 Java 类的源代码: 会在 Class File Editor 里看到下面的提示:Source not found: 我们可以使用一个名叫 JAD 的工具,帮助我们将 .class 进行反编译,这样可以直接在 Eclipse 里查看这些类的源代码了。 JAD for Eclipse 的插件
SAP UI5 FlexBox Layout 布局的概念和具体使用案例介绍试读版
SAP UI5 官网提到了所谓 FlexBox Layout 布局的概念。文档提到,FlexBox 布局可以让 SAP UI5 界面上的控件充分利用屏幕可用空间,避免空间的浪费或者控件之间出现重叠的现象发生。 其实这个 FlexBox 布局并非 SAP UI5 独创,而是 HTML 支持的标准布局方式之一,sap.m 命名空间下的 FlexBox,只是对这种布局方式的包装器,方便 SAP U
如何手动通过增强的方式,给 SAP ABAP 数据库表增添新的字段
有个朋友向我咨询关于 SAP 产品增强字段扩展(Field Extensibility) 的问题: Jerry,你好。看过你写的SAP产品增强Field Extensibility文章,对扩展字段在物理数据库的结构还不是很清楚,创建一个扩展字段后,物理数据库中是在SAP标品的表中加列,还是有一个关联表?或者说这是不是有多种可选的策略?想问一下这一块细节。 这位朋友应该看的是笔者这篇
如何使用 SEGW 的 redefine 功能对 SAP 标准 OData 服务进行扩展
正如本教程的开篇介绍文章SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)所提到的,SAP OData 服务开发,从实现技术上来说,可以分为三大类。因此本教程也分为三大部分,分别进行介绍。本文是本教程的文章目录。 作者简介Jerry Wang,2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。Jerry 是 SAP 社区导师,SA
使用 SAP CRM Application Enhancement Tool(AET) 创建扩展字段
本文的英文版,发表在 SAP 社区 wiki 上,原文标题:Step by step to create new fields on UI via Application Extension Tool 登录 SAP CRM WebClient UI,点击 Personalization 超链接: 点击超链接 Personalize Settings, 选中 Enable configura
ABAP include structure 的一个具体用法
在客户系统中使用 append structure 增强 SAP 结构或 SAP 表,这种行为并不构成修改(modification)。这一点在 SAP 官网 得到确认。 为客户系统中的 SAP 对象创建的附加结构,位于客户命名空间(或特殊开发项目合作伙伴的命名空间)中,因此不会被升级覆盖。 SAP 建议客户的增强开发,也使用来自客户名称空间的名称创建这种类型的追加结构的组件,以避免命名冲突
SAP ABAP Append structure 介绍
Append structure(附加结构)是 ABAP 字典中附加到另一个结构或数据库表并将其组件附加到它们的结构。 Append structure 可以添加到 SAP 在客户系统中提供的结构和数据库表中。一个 Append structure 仅能分配给一个表或结构。 但是,一张表或结构允许被分配多个 Append structure 。 Append structure 的组件必须满足表字
什么是 SAP ABAP 的 include structure
结构(注意 structure 并不是数据库表或视图)可以作为包含结构(include structures)包含在数据库表中。 只有当一个结构的组件满足所有的表字段先决条件时,该结构才能包含在表中。 特别注意一点,包含的结构不能包含任何子结构(sub structure)。 必须通过定义后缀来绕过任何命名冲突。 与在常规结构中一样,可以为 include 指定一个组的名称。 当包含一个结