
SAP ABAP 李斌的私货笔记本
文章平均质量分 90
本专栏记录我从事 SAP ABAP 开发的一些个人开源项目、业务应用、解决方案、开发工具、经验见解和其他有意思的事情,计划到23年发布约60篇,非入门,若文中有不当之处欢迎纠正,我会后续修订或发布补充文章,望读有所得。
李BIN的笔记
李斌,企业数字化转型一线顾问,长期从事快消/零售/电商/制造行业。专注 SAP 企业管理软件,主职 SAP 系统管理、ABAP 开发、业务顾问,涵盖 SAP ECC/S4/BW/HCM/HANA ,在 IT 内控和审计、集团报告、系统集成领域有丰富经验和独到见解。目前有任务管理服务、接口管理服务等自研产品被多个客户生产使用。同时在数字化新质生产力方面主攻飞书、AI、低代码、RPA 。本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。
展开
-
SAP ABAP 关于 RFC 函数和接口的开发经验总结
直到当前 S4 系统,RFC 函数仍是 SAP 通讯核心。这篇文章,总结我关于 RFC 函数和接口的开发经验,文章会不定期更新以丰富和完善要点内容。原创 2023-05-16 17:21:34 · 2026 阅读 · 0 评论 -
SAP ABAP 配置表和维护视图的关系详解
在 SAP SPRO 标准配置中维护视图很多,但不意味着系统就有这么多底表,甚至要少得多。理解配置表和维护视图的关系,对 ABAP 开发配置表非常重要,甚至直接反应了 ABAPer 对中大型配置开发的掌控功底。原创 2025-03-24 17:38:02 · 40 阅读 · 0 评论 -
SAP ABAP CO核心扩展-ZCKMLQS 多物料工厂的评估数量结构报表(CKMLQS)
CKMLQS 只能查看单一物料工厂的评估数量结构,SAP 没有提供多物料工厂的评估数量结构报表。这篇文章将实现 CO核心扩展-ZCKMLQS 多物料工厂的评估数量结构报表。原创 2025-01-21 17:59:44 · 115 阅读 · 0 评论 -
开发网页爬虫获取 优快云 博客文章列表(永久生效)
我之前在《SAP ABAP 无需 Python 无需爬虫轻松获取 优快云 博客文章列表》中写的一个工具今天(2025-1-10)发现不能使用了。但我准备更新我的全部文章合集,只能重新改写一下。这篇文章,我将介绍开发网页爬虫获取 优快云 博客文章列表(永久生效)。原创 2025-01-10 17:40:37 · 628 阅读 · 0 评论 -
SAP ABAP 获取采购订单未清数量/在途库存的 6 种方式
这篇文章我总结了获取采购订单未清数量/在途库存的 6 种方式,每种方式的优劣势和适用场景有所不同。读者请结合自身需要选择。原创 2025-01-08 18:15:59 · 312 阅读 · 0 评论 -
SAP ABAP 函数测试数据目录详解三:改造和功能增强
函数测试数据目录是 SAP 的一个标准功能,原英文 test data directory for function modules。她的作用定位是辅助函数运行问题故障排除工具,特别是对 BAPI 和 接口等复杂函数。一般情况我们较少使用这个功能,通常功能完整的函数接口日志能替代她,但她给我们提供了一些特定场景下排除问题更便利更简洁的方式。这个系列我将详细讲解标准功能使用和拓展延伸应用。原创 2025-01-08 11:06:48 · 266 阅读 · 0 评论 -
SAP ABAP 函数测试数据目录详解二:技术分析
函数测试数据目录是 SAP 的一个标准功能,原英文 test data directory for function modules。她的作用定位是辅助函数运行问题故障排除工具,特别是对 BAPI 和 接口等复杂函数。一般情况我们较少使用这个功能,通常功能完整的函数接口日志能替代她,但她给我们提供了一些特定场景下排除问题更便利更简洁的方式。这个系列我将详细讲解标准功能使用和拓展延伸应用。原创 2025-01-07 17:50:58 · 54 阅读 · 0 评论 -
SAP ABAP 函数测试数据目录详解一:自动生成功能模块测试数据
函数测试数据目录是 SAP 的一个标准功能,原英文 test data directory for function modules。她的作用定位是辅助函数运行问题故障排除工具,特别是对 BAPI 和 接口等复杂函数。一般情况我们较少使用这个功能,通常功能完整的函数接口日志能替代她,但她给我们提供了一些特定场景下排除问题更便利更简洁的方式。这个系列我将详细讲解标准功能使用和拓展延伸应用。原创 2025-01-07 16:03:54 · 68 阅读 · 0 评论 -
SAP ABAP 关于 WebService API 和使用 SOAMANAGER 管理的一些问题和心得
今天运维一个 SOAMANAGER 发布的 WebService 接口,发现在 SAP GUI 上执行事务码 SOAMANAGER 没有弹出浏览器页面。其实我放弃 WebService 接口很久了,但仍有一些前期 API 需要运维,这部分接口因为历史原因,我也没有把他们切换到 ZIF 接口框架下,这下不就摊上事了吗?今天顺着这个事,我也回忆整理了 WebService API 和使用 SOAMANAGER 管理的一些问题和心得,也算是画个句号。原创 2024-09-25 10:26:21 · 310 阅读 · 0 评论 -
SAP ABAP 在 HANA 暴露数据表给 BI 系统连接和消费
帆软 BI、Smart BI、观远 BI 等都提供了封装好的 HANA 的连接器,非常方便连接到 SAP HANA 数据库。本文一步步演示了如何在 HANA 暴露数据表给 BI 系统连接和消费,适用于 SAP ERP/BW ON HANA,以及基于 HANA 开发的数据表。原创 2024-09-20 11:02:59 · 147 阅读 · 0 评论 -
SAP ABAP 细说获取 ALV REPORT 报表数据常见的 4 种方案
在 ABAP 开发或 BW BI 开发中,有一种需求是获取 SAP ERP 某个 ALV 报表的数据结果,用于其他报表再使用或者 BW BI 展现。如果这个报表在代码级别存在大量业务逻辑,难以通过数据库表、SQL 脚本、数据建模等方式重复实现,此时我们会考虑直接调用该报表获取数据结果。本文将细说获取 ALV REPORT 报表数据常见的 4 种方案,并阐述了 4 种方案的适用范围和注意事项。原创 2024-09-19 11:57:17 · 417 阅读 · 0 评论 -
SAP ABAP 增强框架:类增强(关于类和方法的增强)
今天难得空闲在闲逛时看到一个学习群里直接对类的方法源码做了 INSERT 增强,这操作确实也把我惊到了,引用群友的一句话:“这些直接插入的人最可恶了,甚至不愿意做个隐式增强”。这篇文章,我系统性整理了 SAP ABAP 类增强的知识总结,共勉!原创 2024-07-09 17:32:39 · 706 阅读 · 0 评论 -
ZPPFM 支付平台资金管理:使用 RPA 批量查询抖店账户资金账单(设计方案)
电商时代,很多企业的线上业务占比很重,大大小小的电商平台都是销售要地。与此相对应的,企业在各平台店铺中的资金账户数量众多,难以管理。其中最大的痛点莫过于各资金账户的余额没有被及时提现造成呆账。对企业而言,只有让现金流活起来才能进一步创造利润和抓住投资机会。这篇文章将详细讲解批量查询抖店账户资金账单的设计方案。原创 2024-06-28 12:11:31 · 303 阅读 · 0 评论 -
SAP ABAP BASIS 使用快照监控工具(/SDF/SMON)进行性能问题分析和常规系统监控
最近一个客户找到我说他们的 SAP 越来越卡了,要我帮他们解决这个问题,但不是针对具体功能和程序做分析优化,也没有更多的指示信息,这种情况我只能先使用监控分析工具 SMON 找出主要问题并尝试解决它。这篇文章介绍一个快照监控工具(/SDF/SMON)的详细使用方法。原创 2024-06-13 15:43:12 · 776 阅读 · 0 评论 -
SAP ABAP ST22 DUMP:顾问必备技能和常见运行时错误
查阅和处理 ST22 红头文件是顾问必需掌握的技能。红头文件是 PM 或领导最不愿看到的问题之一,却不包括 ABAPer。因为 DUMP 的发生会被 SAP 详细记录下来,具备很强的分析性,而且 DEBUG 一键直达,这不比出现了某个逻辑问题的处理简单得多吗?这篇文章我就讲讲 ST22 顾问必备的技能和常见的运行时错误,经验心得干货。原创 2024-05-22 15:05:46 · 1038 阅读 · 0 评论 -
SAP ST22 ABAP 运行时错误研究:获取 SHORT DUMP 记录,解析 FLIST 内容,实现监控和预警
最近在做 SAP 与 IM(飞书)的集成,其中有一项是需要获取 ABAP DUMP 记录,通过仪表盘统做监控和预警(轻量级 BI),在此分享我的研究结果和经验心得。原创 2024-05-21 17:42:50 · 659 阅读 · 0 评论 -
SAP ABAP 新语法 INNER JOIN 内表 新特性 详解和使用心得
INNER JOIN 内表是 ABAP 7.50+ 新特性。ABAP 语言的一个大分水岭是 7.40,从 7.40 开始,SAP 对 ABAP 语言新特性的发布越来越快。这篇文章,我以 INNER JOIN 内表为例,对照 FOR ALL ENTRIES IN 详细讲解新特性,并谈谈我对 ABAP 新语法的使用心得。原创 2023-11-13 14:14:00 · 2377 阅读 · 0 评论 -
SAP ABAP 小技巧大学问:如何处理新旧事务程序并存的情况
新旧事务程序并存在 SAP 中是常态。一方面,这种现象在 SAP 标准事务中随处可见,这与 SAP 30+ 高龄有关。另一方面,ABAP 二次开发伴随着整个 SAP 生命周期,大量的开发、迭代、优化、重构,就会经常碰到需要新旧事务程序并存的情况,这种并存可能是长久的,也可能是临时的,而随着 SAP 使用年限的增加,企业对 SAP 能力的深入挖掘和持续改善,这种并存情况只会越来越多。这篇文章,我根据具体案例结合个人经验,讲解如何处理新旧事务程序并存的情况。原创 2023-11-07 16:38:53 · 667 阅读 · 0 评论 -
SAP ABAP MM02 物料主数据增强:控制仅特定业务用户允许变更 Z1 跨/特定工厂状态
在物料主数据更改(MM02)中,控制仅特定业务用户允许变更 Z1 跨/特定工厂状态,这个需求看起来很简单,实际也很简单,因此我侧重贯穿需求到实现过程中的诸多步骤,仔细盘点那些容易让我们出错的细节,以及增强开发过程中的注意事项。原创 2023-10-26 17:46:11 · 1147 阅读 · 0 评论 -
SAP ABAP 搜索帮助出口的开发和管理
搜索帮助出口是 SAP 标准 Search Help 中提供的出口函数,用来增强搜索功能和灵活度。在 ABAP 开发中,我非常推荐使用 SE11 创建 DDIC 级别的搜索帮助,为实现某些特定需求,就需要开发搜索帮助出口。本章专门讲讲搜索帮助出口的开发和管理。原创 2023-10-16 17:30:09 · 936 阅读 · 0 评论 -
SAP ABAP VF11 冲销发票增强:禁止跨期间冲销
最近接到一个需求,销售发票禁止跨期间冲销,财务给出的说法是,在结账期间(通常是 [ 月底 27 - 次月 05 ] ),发票的关账顺序 靠前(在月底),在发票关账后,财务随之生成静态财务报告,为配合结账流程,需要控制销售发票禁止跨期间冲销(这种需求有业务流程支持是可以做的,没有的话不要做)。本文以此需求为例,一步步演示 SAP ABAP 增强的实施和开发,不要只看到怎么实现,我写整个过程,融合的管理思想,提及的注意问题才是本章主旨。原创 2023-10-13 14:39:47 · 1726 阅读 · 0 评论 -
SAP ABAP 通过增强和开发搜索帮助出口隐藏 FB08 的某个冲销原因代码
本文通过增强和开发搜索帮助出口,隐藏 FB08 的某个冲销原因代码。这是 SAP ABAP 开发中比较不常见的需求,少但是有,今天根据实际业务需求,详细讲解需求分析和开发实现过程,希望成为此类型开发的帮助指南。原创 2023-10-12 11:13:32 · 934 阅读 · 0 评论 -
SAP ABAP 开发管理报表:资源库对象目录 TADIR
开发管理报表是指用于系统开发资产管理的一系列报表,主要面向开发对象,也面向系统提供的服务。这篇文章,讲述注册表-资源库对象目录(TADIR)的技术实现和管理意义,它对开发 Leader 具有非常高的管理价值。原创 2023-09-15 22:12:12 · 931 阅读 · 0 评论 -
SAP ABAP 解决业务用户账号在执行 BAPI 程序中的权限受限问题
在实际开发中,有一种需求场景是业务用户账号明明无权限却需要成功执行 BAPI 程序,这其实不符合系统权限审计,但如果一定要做又该怎么实现呢?下面让我们从实际问题场景切入,解决业务用户账号在执行 BAPI 程序中的权限受限问题,并提出此类问题的常规解决方案。原创 2023-08-24 01:11:21 · 1299 阅读 · 0 评论 -
SAP ABAP 测试:模拟 RFC 远程调用 BAPI 和数据库提交(完整 Demo 代码)
这篇文章很重要,涉及好几个 ABAP 核心知识点,虽然看文章标题觉得比较简单。为此我专门做了这个测试:模拟 RFC 远程调用 BAPI 和数据库提交(完整 Demo 代码)。通过 Demo 更加深刻讲解 SAP ABAP 连接、BAPI 的 RFC 远程调用、更新函数机制等知识点。原创 2023-08-23 23:57:10 · 1215 阅读 · 0 评论 -
SAP 在 ABAP 中调用第三方 API Response 响应报文乱码 HTTP XML 字符集处理(完整处理机制)
在 SAP 中通过 ABAP 调用第三方 API 时,有时会遇到双方报文字符集编码不一致的情况,此时 Response 响应报文乱码。这篇文章,通过一个SAP 调用用友 ERP HTTP API 的例子,详细讲解在 ABAP 中进行字符集转换,XML 报文的 HTML 视图,以及接口日志等完整的处理机制。原创 2023-08-14 23:58:41 · 885 阅读 · 0 评论 -
ZPPFM 支付平台资金管理:批量查询支付宝商家账户余额(完整项目演示 JAVA 版)
在电商时代,平台店铺林立,店铺绑定的支付宝商家账号更多。一个企业的线上业务所占比重越大,这些支付宝商家账号的余额管理就越重要,除了监控余额变动情况外,调配资金流动创造投资机会才能让现金流活起来!本章通过操作手册的方式演示这个 JAVA 项目的实现成果。原创 2023-08-14 09:45:33 · 525 阅读 · 0 评论 -
ZPPFM 支付平台资金管理:在支付宝开放平台创建应用授权支付宝商家账户余额查询(步骤完整,输出成果)
在电商时代,平台店铺林立,店铺绑定的支付宝商家账号更多。一个企业的线上业务所占比重越大,这些支付宝商家账号的余额管理就越重要,除了监控余额变动情况外,调配资金流动创造投资机会才能让现金流活起来!这篇文章一步步带你完成应用创建和授权,并输出账户信息收集表和密钥管理成果。原创 2023-08-11 17:18:10 · 602 阅读 · 0 评论 -
SAP ABAP 新语法 在 Open SQL 中使用 SELECT OFFSET 实现分页查询
从 ABAP 751 开始,Open SQL 引入了关键字 OFFSET 用以指定 SELECT 的开始位置(OFFSET / 偏移量),在 751 之前,我们通常使用 OPEN CURSOR 和 FETCH NEXT CURSOR 的方式来实现相似功能。这篇文章,总结了 OFFSET 新语法的一些使用问题,并用 DEMO 程序在 Open SQL 中使用 SELECT OFFSET 实现分页查询。原创 2023-07-28 10:54:38 · 1237 阅读 · 0 评论 -
SAP Query 查询 ABAP 开发和运维笔记
Query 查询是 SAP 在 ABAP 应用层提供的简易报表查询工具,这几乎是一套最早期的低代码解决方案。这篇文章记录了我在工作中开发和运维 Query 的一些笔记,权当工具章节使用。原创 2023-07-25 17:47:08 · 884 阅读 · 0 评论 -
SAP 性能测试!不同数据量级下 ABAP 与 NONABAP 间各数据格式的相互转换效率(含真实测试结果和源码)
大数据时代,即使是 ERP 的数据存量也很大,数据增量也很快。这篇文章记录了我在不同数据量级下 ABAP 与 NONABAP 间各数据格式的相互转换效率(含真实测试结果和源码)。做此性能测试的目的是找到一种大数据量下,ABAP 与 NONABAP 相互转换效率最高的的数据格式,用之作为非依赖实体(数据库表)存取的 ABAP 数据载体,应用于大数据量报表的快照存取和查看。原创 2023-07-19 11:08:16 · 495 阅读 · 0 评论 -
SAP ABAP 动态编程:生成子程序池 GENERATE SUBROUTINE POOL
在 SAP ABAP 中,动态编程在面向过程和 OOP 中都占据着重要地位,特别是在 ABAP OOP 的设计模式中广泛应用。这篇文章通过 DEMO 展示生成子程序池 GENERATE SUBROUTINE POOL 的代码,末尾附带生成子程序池的 ABAP 关键字文档。原创 2023-07-14 10:48:37 · 607 阅读 · 0 评论 -
SAP ABAP 动态编程:FORM 子例程的搜索帮助、动态调用、动态生成
在 SAP ABAP 中,动态编程在面向过程和 OOP 中都占据着重要地位,特别是在 ABAP OOP 的设计模式中广泛应用。这篇文章,我以系统标准实现为引,通过两个 DEMO 程序为大家展现 FORM 子例程的搜索帮助、动态调用、动态生成。原创 2023-07-13 23:31:01 · 758 阅读 · 0 评论 -
ZPPFM 支付平台资金管理:在支付宝开放平台创建应用查询支付宝商家账户余额
在电商时代,平台店铺林立,店铺绑定的支付宝商家账号更多。一个企业的线上业务所占比重越大,这些支付宝商家账号的余额管理就越重要,除了监控余额变动情况外,调配资金流动创造投资机会才能让现金流活起来!这篇文章从技术角度指引,如何在支付宝开放平台创建应用查询支付宝商家账户余额。原创 2023-07-01 16:01:56 · 484 阅读 · 0 评论 -
SAP ERP 如何申请奇门资质获得 APPkey
SAP ERP 无法直接申请奇门资质获得 APPkey 进行奇门接口调用,这篇文章讲解此问题的解决方案,此方案也同样适用于其他同类 ISV 系统。原创 2023-06-28 17:26:18 · 1439 阅读 · 0 评论 -
SAP ABAP 无需 Python 无需爬虫轻松获取 优快云 博客文章列表
最近想将我在 优快云 上的文章列表整理出来,以方便做完整的文章目录。在网上搜了很多都是基于 Python 和爬虫的,大家知道这种方式的缺点是不稳定,容易出现各种 BUG。下面我给大家介绍一种无需 Python 无需爬虫就能轻松获取 优快云 博客文章列表的方法。原创 2023-06-12 18:15:50 · 713 阅读 · 0 评论 -
SAP ABAP 根据 HTTP 地址将电子发票的 PDF 文件下载到本地
此需求来源于财务管理要求,审计要求。开具电子发票后,开票平台提供了一个 GET 方法的 HTTP URL,通过访问这个地址可以直接下载电子发票的 PDF 文件。那在 SAP 中怎么用 ABAP 实现电子发票 PDF 文件的下载呢?原创 2023-06-06 17:14:51 · 1950 阅读 · 3 评论 -
SAP 集成泛微 OA Open API 新建流程申请接口
《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。原创 2023-06-04 18:10:35 · 2317 阅读 · 0 评论 -
SAP 调用泛微 OA Open API 前的准备工作
《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,在正式对接业务接口前,我们需要先找到所需的业务接口 API 和 通过 Token 认证鉴权。原创 2023-06-01 02:13:48 · 1208 阅读 · 0 评论 -
实战泛微 OA 消费 SAP RFC 接口函数
《SAP ERP 与泛微 OA 的系统集成》系列文章。继上一篇文章,这篇文章详细演示了泛微 OA 消费 SAP RFC 接口函数的各个步骤,并根据集成经验归纳了 RFC 接口的集成场景,是《SAP ERP 与泛微 OA 系统集成的最佳实践指南》的细分补充。原创 2023-05-31 19:49:31 · 1187 阅读 · 2 评论