ABAP 百科全书
文章平均质量分 90
如果想系统学习 ABAP,请使用笔者另一套教程《零基础快速学习 ABAP》。
本教程是笔者 17 年使用 ABAP 中积累的零散知识点,没有系统整理过,请大家根据实际需要决定是否订阅。
为避免同行恶意搬运文章,象征性设置成付费专栏。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
汪子熙
企业管理软件资深开发专家
展开
-
什么是 SAP 系统中的 Roll Area
Roll area是 SAP 系统内存管理的一个组成部分,主要为每个用户会话提供短期内存存储。当用户登录 SAP 系统时,系统会自动为该会话分配一定量的Roll area。该区域主要用于存储局部变量、内部表和函数调用时的栈信息。随着会话的进行,如果Roll area被填满,系统会自动使用更大的内存区域,如页面区(Paging area)和扩展内存(Extended memory)来存储额外的数据。Roll area是 SAP 系统内存管理的基础,对于保持系统的响应速度和处理效率至关重要。通过合理配置和优化。原创 2024-04-25 15:01:09 · 378 阅读 · 0 评论 -
SAP ABAP 事务码 RZ12 里的 Max Requests in Queue(%) 参数的作用介绍
参数在 SAP 系统中设定为默认值 5% 是基于系统设计的最佳实践和对系统性能维护的综合考虑。这一设置反映了在保证系统高效运行和防止资源过载之间的一种平衡。在深入探讨这一决策的背后原因之前,有必要理解 SAP 系统中调度器和对话队列的工作机制及其对系统性能的影响。原创 2024-04-25 15:52:34 · 292 阅读 · 0 评论 -
SAP ABAP DBSQL_SQL_ERROR 错误
处理的问题需要系统地分析和综合考虑多方面因素。从优化查询、调整硬件资源到定期维护,每一个措施都是确保系统稳定运行的重要步骤。通过这种方法ical approach,我们不仅可以解决当前的问题,还能预防未来可能发生的类似问题,保证系统的长期稳定性和可靠性。原创 2024-04-26 21:50:01 · 846 阅读 · 0 评论 -
什么是 SAP ABAP 里的 dispatcher 调度器
在 SAP ABAP 系统中,调度器(Dispatcher)是一个核心的系统组件,它负责管理和分配工作进程(Work Process)。调度器的主要职能是接收来自用户的请求,将这些请求分配给适当的工作进程,并管理这些工作进程的状态和队列。在详细探讨调度器的具体功能和重要性之前,了解 SAP 系统的基本架构和工作进程的种类是非常重要的。原创 2024-04-26 21:51:53 · 222 阅读 · 0 评论 -
适用于 SAP ABAP 的 AWS 开发包
这个 SDK 其实就是一系列自开发 ABAP 类和其他 ABAP 开发对象的集合,为 ABAP 开发人员封装了调用包括 AWS S3 Object Store API 在内的所有 AWS 服务的技术细节。ABAP SDK for AWS 的分发,没有采取目前流行的 abapGit,而是沿用了传统的 ABAP Transport 机制。SDK 的代码封装完成度很高,随便找个 ABAP 开发人员也能读懂,通过 HTTP 请求调用 AWS 服务的技术细节已经完全成为黑盒子了。Google 上一搜,很多资料。原创 2024-04-29 22:26:50 · 368 阅读 · 0 评论 -
什么是 ABAP 编程语言里的 sy-subrc
sy-subrc是 ABAP 编程中不可或缺的组成部分,正确理解和利用这个系统字段,对于编写高效、可靠的 SAP 应用程序非常重要。通过上述示例可以看到,无论是数据查询、批量处理还是异常管理,sy-subrc都发挥着核心作用。合理使用sy-subrc可以帮助开发者更好地控制程序流程,处理各种运行时情况,从而提高代码的质量和用户的体验。原创 2024-05-08 19:51:59 · 318 阅读 · 0 评论 -
将ABAP On-Premises系统连接到中央检查系统以进行自定义代码迁移
官网前置条件在 SAP Cloud Platform ABAP 环境中,您已被分配角色 SAP_CORE_BC_CCM。 此角色允许您使用通信对象连接 SAP Cloud 和本地实例在您的本地系统中,您已安装以下内容:(1)具有管理员权限的 SAP Cloud Connector。(2)Java 8.一切就绪后,system landscape 如下:Open SAP Cloud Connector在您的浏览器中,登录到您的内部部署系统的 SAP Cloud Connector。 如果原创 2021-07-16 21:02:18 · 379 阅读 · 2 评论 -
如何在 SAP BTP 平台 ABAP 编程环境里消费基于 SOAP 的 Web Service
这是 Jerry 2021 年的第 47 篇文章,也是汪子熙公众号总共第 324 篇原创文章。Jerry 2014 年时,曾经在 SAP 社区上写过一篇英文博客,介绍了如何在 ABAP On-Premises 系统里,创建和消费 Web Service:Step by step to create, consume and trace web service in ABAP system这篇文章的中文版,请移步这个链接:最详细的 SAP ABAP Web Service 创建和消费步骤讲解到了原创 2021-07-17 15:20:55 · 637 阅读 · 0 评论 -
在 Excel 内使用 ODBC 消费 SAP ABAP CDS view
Consuming CDS View Entities Using ODBC-Based Client Tools本文介绍通过基于 ODBC(Open Database Connectivity) 的 SQL 语句访问 ABAP 系统 CDS view 数据的方法。ODBC 是一套标准的访问数据库的 API.Why an ODBC Driver for ABAP?在某些情况下,您希望对 ABAP 系统拥有的 CDS 对象进行外部 SQL 读取访问。对 ABAP 系统底层 SAP HANA 数据库的直原创 2021-09-07 14:23:48 · 417 阅读 · 0 评论 -
基于 abapGit 和 abaplint 的 ABAP 持续集成的一个例子
这是 Jerry 2021 年的第 61 篇文章,也是汪子熙公众号总共第 338 篇原创文章。短歌行曹操对酒当歌,人生几何!譬如朝露,去日苦多。慨当以慷,忧思难忘。何以解忧?唯有杜康。青青子衿,悠悠我心。但为君故,沉吟至今。呦呦鹿鸣,食野之苹。我有嘉宾,鼓瑟吹笙。明明如月,何时可掇?忧从中来,不可断绝。越陌度阡,枉用相存。契阔谈讌,心念旧恩。月明星稀,乌鹊南飞。绕树三匝,何枝可依?山不厌高,海不厌深。周公吐哺,天下归心。Jerry 之前写过一篇文章,使用 abapGi原创 2021-09-12 08:57:19 · 680 阅读 · 0 评论 -
聊聊 C 语言和 ABAP 这两门编程语言的关系
为什么这篇文章要把 C 语言和 ABAP 放在一起讲,而不是别的语言比如 Java 和 ABAP呢?因为 ABAP 语言底层是基于 C/C++ 实现的,包括其关键字(比如最简单的关键字 WRITE 的 C++ 实现有 2 千多行)和虚拟机(ABAP Runtime)。SAP 内部的一群计算机科学家们发明了 ABAP 这门伟大的语言,由它实现的各种 SAP 应用帮助了全球超过 180 个国家和地区的客户们更好地运行其业务。通过 Google 我们能搜索到一些关于这些 SAP 计算机科学家们的介绍,比如这个链原创 2022-05-01 17:13:22 · 597 阅读 · 0 评论 -
云端的 ABAP Restful 服务开发以及通过 abapGit 传输到其他系统的详细步骤
在本地部署环境即 On-Premises 环境下,如果想将 ABAP Netweaver 里的资源以 Restful API 的方式暴露出来,SICF这个事务码绝对是一大利器。我们只需要在SICF里合适的路径下创建节点,为该节点创建一个ABAP类,就可以专注于实现接口定义的方法IF_HTTP_EXTENSION~HANDLE_REQUEST, 在里面编写应用逻辑了。应用开发人员无需关注和操心这些ABAP类什么时候被实例化和调用,可以把这个HANDLE_REQUEST方法看作是一个回调函数,当请求到来时,原创 2022-05-21 19:24:41 · 326 阅读 · 0 评论 -
SAP Restful ABAP Programming 编程模型的 Action 实现和云端调试介绍
笔者之前的文章如何使用 Restful ABAP Programming 编程模型开发一个支持增删改查的 Fiori 应用,已经对 SAP Restful ABAP Programming 编程模型(以下简称 RAP)进行了一个最基本的介绍。我们简单回顾一下之前文章的内容:在SAP云平台ABAP编程环境里创建了一个Z表,然后基于这张自定义数据库表创建了CDS view,基于该view创建Service Definition,把view暴露成服务,然后通过Behavior Definition实现对Z表的增删原创 2022-06-02 21:04:26 · 530 阅读 · 0 评论 -
SAP 云平台上的 ABAP 编程环境里如何消费第三方服务
在ABAP On-Premises环境下,使用ABAP编程消费第三方服务,相信很多ABAP顾问都已经非常熟悉了,无非就是使用CL_HTTP_CLIENT或者CL_REST_HTTP_CLIENT来发送和接收HTTP请求。下图这短短的38行代码,展示了如何使用ABAP工具类CL_HTTP_CLIENT去访问百度首页并拿到回复。从百度返回的响应,通过方法GET_CDATA获得,存储于变量rv_data内:当然如果我们是做正式的产品开发的话,一般不会把第三方服务的URL硬编码在应用程序里,而是通过事务码SM59创原创 2022-06-02 21:52:14 · 404 阅读 · 0 评论 -
SAP 云平台 ABAP 编程环境的前世今生
SAP Cloud Platform发布后很长一段时间,在SAP各大技术社区里,能感觉到ABAP从业者们内心一丝隐隐的失落:尽管SAP和其他IT公司一道,大步迈开了向云端转型的步伐,在SAP云平台上通过BYOL(Bring Your Own Language)的架构,实现了对业界流行编程语言的支持,这使得拥有Java,nodejs,PHP,Python,Ruby,Go等编程技能的开发人员们,也能加入SAP生态圈这个大家庭。不过ABAP从业者们“被云时代抛弃”的这份尴尬,随着SAP云平台 ABAP编程环境的原创 2022-06-04 18:44:28 · 391 阅读 · 0 评论 -
有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?
SAP BTP ABAP 环境是用于 ABAP 开发的 SAP 平台即服务 (PaaS) 产品,使开发人员能够利用其传统的本地 ABAP 专业知识,在 SAP 业务技术平台中开发和运行 ABAP 应用程序,或者作为 SAP 软件的扩展或作为独立应用程序。在我们进入 云端 ABAP 技术细节的讨论之前,不知道大家是否思考过一个问题:为什么 SAP 要把 ABAP 编程环境引入 SAP Cloud Platform?SAP 安装的客户群将其现有的内部部署 SAP Business Suite 和 SAP Net原创 2022-06-04 22:03:27 · 373 阅读 · 0 评论 -
使用 Prometheus 监控 SAP ABAP 应用程序
Prometheus是由SoundCloud开发的监控系统的开源版本,logo是一个燃烧的红色火炬,这应该是有情怀的工程师们向泰坦巨神的后代,偷偷盗走天火,传给人类的普罗米修斯表示的敬意。2016年,由Google发起的Linux基金会(Cloud Native Computing Foundation,CNCF)将Prometheus纳入其第二大开源项目,在开源社区十分活跃,SAP Kyma也使用了Prometheus作为其监控组件。Prometheus采用Pull方式获取监控信息,并提供了多维度的数据模原创 2022-06-05 14:58:07 · 370 阅读 · 0 评论 -
CRM One order里user status和system status的mapping逻辑
新建一个Opportunity,将其status 设置成E0001( User status):保存之后,在数据库里针对该Opportunity不仅仅存储了用户手动选择的user status E0001 - Open,还保存了如下的system status I1002:这个user status到system status的mapping 逻辑:找到transaction ...原创 2019-07-17 10:40:19 · 418 阅读 · 0 评论 -
SAP ABAP 系统同微软 Office 套件进行 Desktop Integration 的工作原理
SAP 集成技术允许开发人员将与 OLE 兼容的桌面应用程序(例如 Microsoft Office、Lotus SmartSuite 或 Visio)集成到 SAP 系统中。通信和数据传输工作原理如下:SAP GUI( Presentation 服务器)和 SAP 应用程序服务器之间的通信在 4.0 版中得到了扩展。这使得在 SAP GUI(控制框架)中包含 ActiveX 控件成为可能。以 Office Excel 为例,在 Options -> Customize Ribbon 里将 Develope原创 2022-07-11 10:41:04 · 358 阅读 · 0 评论 -
SAP 订单编排和流程增强概述
SAP产品里的订单处理,无论是On-Premises解决方案还是云产品,我认为归根到底可以概括成四个字:订单编排,包含两个层次的内容:1. 单个订单通过业务流程或者工作流驱动的状态迁移;2. 多种订单类型协同工作,完成一个完整的端到端的业务员流程。比如SAP CRM里经典的User Status(用户自定义状态)和System Status(SAP标准状态)的设计,通过引入Business...原创 2018-12-13 14:03:06 · 669 阅读 · 0 评论 -
如何在 Linux 系统下使用 PHP 和 ODBC 连接 SAP HANA
在深入探讨 ODBC(开放数据库连接,Open Database Connectivity)之前,我们先明确一点:ODBC 是一个标准化的数据库访问方式,旨在使得各种数据库系统之间的数据访问变得简单和一致。这个技术由微软在上世纪 90 年代初期推出,目标是创建一个独立于数据库类型的数据访问接口,以促进不同类型数据库间的信息交换。ODBC 的工作原理基于「驱动程序」的概念。这些驱动程序充当了客户端应用程序与数据库之间的中间人,负责转换应用程序的查询请求为特定数据库理解的查询语言。原创 2024-03-10 16:30:36 · 767 阅读 · 0 评论 -
什么是 SAP JCO
SAP JCO 为企业应用系统提供了一种高效的方式来集成 Java 和 SAP 系统。在实际使用中,JCO 不仅可以帮助企业实现跨系统的数据集成,还可以帮助 Java 应用程序调用 SAP 系统中的关键功能。无论是在电子商务、财务管理,还是其他需要跨平台集成的场景中,SAP JCO 都能够发挥其重要作用。原创 2024-10-02 11:04:32 · 542 阅读 · 0 评论 -
什么是 ABAP 编程语言的 RTTC 特性?
ABAP RTTC 的核心功能就是允许在运行时根据具体的需求定义数据类型,而不是依赖编译时的类型定义。这项技术主要通过一组特定的 ABAP 类和方法实现,例如和等,它们负责描述和生成结构、表和基本数据类型。动态处理 Web 服务或接口的返回数据,不同接口会返回不同的数据结构;创建自定义的复杂数据结构用于传输或处理;在运行时生成或操作尚未确定的字段或表。借助 RTTC,开发者可以根据实际的业务逻辑或者接口的需求生成特定的结构或表,避免提前确定结构的限制,进而提高系统的灵活性和可扩展性。原创 2024-09-30 16:55:39 · 109 阅读 · 0 评论 -
什么是 SAPRouter
SAProuter 是一款应用软件,旨在为客户的网络与 SAP 系统之间提供远程连接。它在实际应用中可以实现多个关键功能,比如提升网络安全性、控制连接、记录连接日志、解决网络配置问题等。SAProuter 主要通过在网络拓扑结构中充当路由器,帮助不同的应用程序之间建立安全通信。在今天的复杂网络环境中,许多企业面临着如何确保远程访问和内部系统之间安全高效通信的挑战。而 SAProuter 的设计正是为了应对这些挑战,使得公司能够更好地管理网络上的 SAP 系统,同时保证连接的安全和性能。原创 2024-09-29 14:12:09 · 240 阅读 · 0 评论 -
什么是 ABAP Daemons
ABAP Daemons 提供了一种高效的后台处理机制,特别适用于需要长时间运行、实时处理和异步任务的场景。它们与传统的后台作业和同步进程相比,具备显著的优势,尤其是在可靠性和扩展性方面。通过实际案例可以看出,ABAP Daemons 能够显著优化复杂系统中的实时数据处理和监控任务,帮助企业实现更加灵活和高效的 IT 架构。这种后台任务处理机制对于需要实时性和高频处理的行业,特别是物流、金融和制造等领域,有着广泛的应用前景。原创 2024-09-29 14:05:38 · 444 阅读 · 0 评论 -
什么是 ABAP 编程语言里的 sy-subrc
sy-subrc是 ABAP 编程中不可或缺的组成部分,正确理解和利用这个系统字段,对于编写高效、可靠的 SAP 应用程序非常重要。通过上述示例可以看到,无论是数据查询、批量处理还是异常管理,sy-subrc都发挥着核心作用。合理使用sy-subrc可以帮助开发者更好地控制程序流程,处理各种运行时情况,从而提高代码的质量和用户的体验。原创 2024-09-28 18:37:29 · 456 阅读 · 0 评论 -
SAP ABAP Webdynpro 还值得学吗?
当然在上班时间内,作为一个职业程序员,我会尽自己最大努力去掌握这个框架的使用方法,并且当客户遇到一些复杂的问题,需要深入的 Angular 知识才能够解答时,我也愿意花费时间和精力,去深入研究相关的源代码,啃一些硬骨头,帮助客户解决问题。随着时代发展和用户习惯的改变,产生了一些新的需求,比如在多平台,不同类型的设备上运行应用,SAP UI5 在实现这类需求时先天上更有优势。它也是该环境中其他 UI 框架的基础。其次,SAP UI5 和 Angular 在 SAP 技术生态圈里的地位,孰轻孰重,不言而喻。原创 2024-05-11 09:46:53 · 371 阅读 · 0 评论 -
浅谈企业级应用中的业务开关和 Feature Level 的概念
ABAP 业务开关和 SAP 电商云 Spartacus UI 的 Feature Level,二者实现原理各不相同,但都能够给客户提供一定的自由度,让其灵活控制某些业务功能的启用和关闭。原创 2024-05-24 00:30:00 · 619 阅读 · 0 评论