- 博客(93)
- 收藏
- 关注
原创 在 SALV 中创建自定义按钮和事件处理 (SAP List Viewer)
这样,您就可以定制 SAP 列表查看器,以满足特定的业务需求,并改善 SAP 应用程序中的用户体验。在部署到生产环境之前,请始终遵循 SAP 开发最佳实践,并在开发环境中彻底测试您的 SALV 增强功能。虽然 SALV 提供了一系列标准功能,但在某些情况下,你可能需要通过添加自定义按钮并处理与它们关联的事件来增强用户体验。过程:为了实现这个 首先,我们必须创建一个报告程序,然后我们必须在该本地类中创建一个本地类 create Handle click 并添加函数方法并实现该方法。
2025-02-06 10:48:24
307
原创 了解 ALV 中的 field catalog (ABAP List Viewer)
在 ABAP 中,字段目录是使用 ALV (ABAP List Viewer) 定义内部表中的数据显示方式的关键元素。它提供对 ALV 中显示的字段的各种属性的控制,例如列标题、对齐方式、可见性、可编辑性等。关键概念:Field Catelog 字段目录:这是一个表(对于现代 ALV 网格,通常为lvc_t_fcat类型,对于旧 ALV 网格,通常为),其中包含有关 ALV 中显示的内部表的每个字段的元数据。它定义了每列的显示方式(例如,列标题、字段对齐方式、输出长度)。
2025-02-04 18:22:42
560
原创 开发方法论:如何寻找 SAP 的 BADI
在 SAP 中,BADI(Business Add-In)是一种增强技术,允许你在不修改标准代码的情况下扩展 SAP 的功能。SE18在“BADI定义”字段中输入已知的 BADI 名称,或使用通配符进行模糊搜索。点击“执行”查看 BADI 列表。SE24SE24输入类名,点击“显示”。在方法中设置断点,运行相关事务代码。当程序执行到断点时,查看调试器中的变量exit_name,它通常包含正在调用的 BADI 名称。ST05ST05执行你想要增强的事务代码。停止跟踪并分析结果,查找与表。
2025-02-04 18:21:24
1009
原创 使用 ABAP 进行应用程序日志记录
注:这里我使用的是标准报文类 BPFS(报文编号:006),如果系统中没有该类报文,则使用事务代码 SE91 创建一个新的报文,或重复使用任何现有报文。因此,现在当客户提出 Ticket 时,您可以做的第一步就是:检查生产中的应用程序日志。在国家内部,只要应用程序与特定的状态相关,我就会根据状态创建子对象。您可以将下面的代码写入增强程序/用户退出程序/报告程序(任何自定义代码),以便在执行时生成日志。完成对象和子对象的创建后,就该编写实际创建应用程序日志的代码了。来监控基于对象的应用程序日志。
2024-12-27 23:46:27
715
原创 如何获取 ABAP 内表中的重复项
要识别 ABAP 内表中的重复项,可以结合使用排序和循环。在 ABAP 中,您可以使用简单的逻辑来识别和显示内表中的重复数据。一种常见的方法是使用。来标记或分离重复数据。,则可以使用另一种使用循环的方法。
2024-12-24 22:45:11
747
原创 内表中的 GROUP BY 详解
不会太复杂吧?了解了这些简单的事实后,你可以继续阅读文档,做一些更复杂的事情,例如,利用组键定义的 RHS 可以使用表达式这一事实,或者使用FOR表达式代替LOOP AT。
2024-12-22 01:02:09
292
原创 何时在 ABAP 变量中使用 “Clear”、“Refresh ”或 “Delete”?
假设,编译器 ABAP 将分配相当于 1 字符大小的内存(内存 ID 为 433443)。赋值,变量或内存 ID 433443 就会包含这个 “X ”值。
2024-12-20 10:35:39
232
原创 ABAP SQL 取日期+时间最新的一条数据
我们 SAP 系统的表数据中日期和时间是作为主键的,那么如果通过 ABAP SQL 取到最新日期的最新时间呢。另外,通过 ABAP 取出所有数据,存到内表,然后对内表排序取第一条也能实现相同的效果。我们在系统对接的时候,外部系统可能会推送多个数据给到我们。解决方案:可以通过两个。的时间,另一个时间是。
2024-12-18 16:29:19
938
原创 如何在 SALV 测试表中创建条目(ALV_CHCK、ALV_T_T2 等)
【代码】如何在 SALV 测试表中创建条目(ALV_CHCK、ALV_T_T2 等)
2024-12-18 16:01:24
218
原创 SAP 运维排错:如何解决 504 网关超时错误?
只有当服务器不响应您的请求时才会出现 504 错误,请检查您的连接属性和网关属性,如果遇到任何困难,一般联系您服务器管理员。
2024-12-18 11:35:54
332
原创 ABAP 7.4 新语法:使用 FOR LOOP 语法循环内表到新内表
的简单 For 循环。索引关键字在这里是可选的。这段代码只是将数据从一个表转移到另一个表。语句也称为迭代表达式。
2024-12-17 18:09:09
1081
原创 运维报错:SALV报错 CX_SALV_OBJECT_NOT_FOUND
在使用 SALV 的情况下,运行报错:CX_SALV_OBJECT_NOT_FOUND。原因:大概率是 GUI STATUS 设置了,但是没有激活。我的程序使用自定义的屏幕状态。
2024-12-17 14:03:39
416
原创 SAP ABAP 计算带 WHERE 条件的内表行数
在 SAP ABAP 中,从 7.40 版开始,可以使用 REDUCE 表达式计算内部表中带有条件的行数。在此之前,开发人员使用 LOOP 遍历表,并为每个匹配条件递增计数器。在 7.40 之前DATA: lv_count TYPE i.LOOP AT gt_alv INTO gs_alv WHERE sel = 'X'. lv_count = lv_count + 1.ENDLOOP.在 7.40 之后DATA(lv_count) = REDUCE i( INIT x = 0 FOR gs
2024-12-13 17:57:42
318
原创 刷新 ALV GRID 并保留位置和当前单元格
编辑:您可以在下面找到我的方法,但不一定非要使用它才能实现您的目标。老实说,我已经不记得为什么要创建一个单独的版本了,因为只有光标的行为与最初的版本有些不同。原文链接:https://abapblog.com/articles/tricks/22-refresh-alv-grid-and-keep-position-and-current-cell。或更改用于在 ALV 网格上显示数据的内部表时,可能会发生这样的情况:使用。这里没有特殊的编码,只是按照正确的顺序使用标准的 ALV 网格方法。
2024-12-12 16:56:38
622
原创 SAP 运维报错 E:M7226 不正确的移动类型的更新控制(输入 101 X X)
注释:关于移动类型标识的配置表存在 T156SC、T156SY 和 T156T 表中。解决方案:在 IDOC 段中维护对应的移动标识。创建物料凭证记账的时候,移动类型。,但是传给行项目表结构。
2024-12-12 16:45:01
838
原创 10 本你应该阅读的 ABAP 书
此外,这本书将是一本物有所值的书,因为你将把它作为快速参考指南一直使用到将来。所有程序员都需要参加培训课程或阅读此类书籍,以了解 ABAP 的最新功能和技术。新的功能特性可以提高您的编程技巧,使您的程序更加现代化。
2024-12-10 21:39:05
1609
原创 运维排错系列:Excel上传失败,在剪切板有大量信息。是否保存其内容...
ActiveClipboard (ACB): Office 的一项功能,允许存储先前的副本,以便以后粘贴不同的先前副本。注意:在设置 AcbControl 之前,必须关闭所有 Office 应用程序(包括 Outlook 等),任务管理器中没有正在运行的实例。否则,当这些应用程序关闭时,它们会将密钥写回到这些应用程序启动时的状态。在导入 Excel 数据到 SAP 的时候,某些时刻系统会出现如下的弹窗。,这个函数模块在上传记录高于 9999 时,就会报这个错误。这里不多过于介绍,后面会有一篇专门的文章。
2024-12-09 13:47:13
1117
原创 【译】为 SAP 表维护视图 (SM30) 创建选择屏幕
原文链接: https://www.saphub.com/abap-dictionary/sap-abap-tmg-selection-screen/原文标题:Create Selection Screen for SAP Table Maintenance View (SM30)通常,带有单个屏幕的 SAP 表维护视图 (SM30) 会显示表中的所有记录,如下所示。下面的程序可以停用 SM30 中的“新条目”、“复制”和“删除”按钮。如果我们只想根据用户选择在 SAP 表维护视图 (
2024-12-06 21:04:22
769
原创 编辑 IDOC 以传递更改的字段值
介绍:对于两个不同系统之间的通信,我们可能会使用 IDOC。例如:如果是 EWM-IM/LE 货物,我们使用 IDOC。本博客的范围:由于目标系统存在一些问题,IDOC 可能会失败,并留下错误。在大多数情况下,IDOC 中的参数值不正确可能是根本原因。如果要通过更改一个或多个区段中的值来测试 IDOC 的行为,则可以使用以下过程。过程:第 1 步) 使用 T-code WE03 或 WE05 打开并搜索相应的 IDOC,并使用 IDOC 编号或其他合适的搜索参数打开并搜索所需的选择参数。第 2 步
2024-12-05 11:39:40
406
原创 运维排错之 IDOC:在工厂 & 中,过账到当前期间 &/&
有些时候,因为外部接口和 SAP 对接总会有一些报错,导致财务关账了,但是还是有上个月的物料库存移动,导致过账失败。在运维一段时间后,发现一般遇到 IDOC 报错,都是数据问题。因 IDOC 与外部系统接口,已经经过从期初上线运行检验,在对应接口如果没有动过,是不会产生很奇怪的异常。所以只需要将 SAP 标准报错放到网上去查询解决方案就行。
2024-12-05 10:34:50
631
原创 ADBC 查询语法介绍:EXECUTE_QUERY
可使用该方法有一个字符串类型的强制输入参数STATEMENT,必须向其传递语法正确的SELECT语句。与 DML 语句一样,SET_PARAM方法可用于将 ABAP 数据对象绑定到占位符。查询结果将在返回值RESULT_SET中返回对类对象的引用。该对象的方法允许访问查询的结果集。为了在数据库 LUW 结束后保留结果集,可以在方法的输入参数中填入 X。结果对象的类提供了以下用于将结果集读入 ABAP 数据对象的实例方法,
2024-12-04 17:46:08
1161
原创 SD顾问不得不知道的 10 个 ABAP 技巧
我当时的假设是错误的,要想在 SAP 领域生存并取得优异成绩,你应该只掌握 SAP SD,而不需要了解 SAP 的编程语言(即 ABAP)。通过了解这一主题的实用性,我决定就此撰写一篇博客,并发布在 SCN 的职业版块上,以便所有入门级和中级 SAP 专业人士都能提高自己的 SAP ABAP 技能,为自己的 SAP 职业生涯增添动力。如果你知道这个工具,无需 ABAP 顾问的帮助,你就可以创建一个小报告并满足客户的要求。随着时间的推移,我意识到,要成为一名完美的 SAP 功能顾问,ABAP 是必备的要素。
2024-12-03 21:02:49
749
原创 运维技巧:SAP模块顾问不得不知道的详细调试技术
Debugging “调试 ”是一个与编程直接相关的术语。它是所有软件专业人员使用的通用术语,与语言和平台无关。“调试”,顾名思义,就是用来调试程序(debug the program)。换句话说,调试就是慢动作、一步一步地执行程序,这样人们就能仔细发现程序/软件是如何工作的。通常情况下,调试是用来找出程序/软件不工作的原因!调试通常用于修复程序中的错误,但在 SAP 中,调试总是用于理解程序本身的流程。多年来,“调试 ”一直是软件行业的重要讨论和开发重点。然而,在某些语言中,修复错误仍然是一场噩梦。
2024-12-02 16:47:01
853
原创 SAP HANA 上进行 ABAP 开发:简介
SAP ABAP 多年来一直在快速发展。随着 S/4HANA 的推出,ABAP 逐渐成为一门更令人印象深刻、更富有成效的语言。如果你问我 ABAP 是如何改进的,答案就是 “代码到数据 ”范式。传统的方法包括将数据从数据库引入到我们的演示服务器,进行数据密集型计算和过滤,然后将过滤后的数据呈现给用户。新的 HANA 方法是将我们的代码推送到所有数据所在的数据库层,在数据库层进行计算,然后只将相关记录带到演示服务器。
2024-12-02 09:46:36
1694
原创 SAP HANA 中重处理或者删除 IDOC
不同的信息类型(如交货确认或采购订单)通常代表不同的特定格式,即 IDoc 类型。但是,具有相关内容的多个报文类型可以分配给一个 IDoc 类型: 例如,IDoc 类型 ORDERS01 传递 “逻辑 ”报文类型 ORDERS(采购订单)和 ORDRSP(订单确认)。业务数据在 IDoc 接口中以 IDoc 格式保存,并作为 IDoc 转发。由于该事务可以重新处理任何 IDoc,因此对于传统的 SAP 业务用户来说,该事务毫无用处。最重要的功能和视图,并说明哪些有用的功能可用于 IDoc 处理。
2024-11-30 11:05:00
673
原创 如何定义字段符号和将数据对象分配给字段符号
字段符号使用语句声明。字段符号的名称应括在带角括号(和)中。您可以使用TYPE引用或LIKE引用定义字段符号,就像定义其他数据对象一样。你也可以通过TYPE ANY来定义通用字段符号。在定义通用.类型的字段符号时,只能将相同类型的数据对象分配给字段符号。如果您计划静态访问结构的组件,这将非常有用。例如,如果要处理物料主数据MARA结构体的各个组件,那么就应该完全定义字段符号。如果打算使用字段符号动态指向任何字段或结构,可以使用TYPE ANY附加语句将字段符号定义为通用类型,如下所示。
2024-11-29 14:39:34
1068
原创 深入理解 SAP ABAP 动态编程:通过动态获取表内容弹出详情ALV
文章深入探讨了 SAP ABAP 中的动态编程,先介绍静态编程在某些情况的局限性,引出动态编程概念,包括多种处理方式及相关概念,如字段符号、数据引用、RTTS 等。以通过 ALV 显示物料信息为例,阐述字段符号能使程序动态化,解决静态编程处理大量字段时的繁琐和硬编码问题。
2024-11-28 18:06:08
1271
原创 如何优雅的使用 SAP 日志功能:应用程序日志
本文主要介绍如何优雅使用 SAP 日志功能中的应用程序日志,包括其类型、常见的业务应用程序日志、显示方式、数据保存与删除、回调功能、自定义日志对象等,并通过示例程序加以说明,强调合理运用可提升开发效率。
2024-11-27 16:44:27
1733
原创 SAP 运维排错日志:VL643 “库存确定后,& & 的数量保持未清状态”
英文报错:VL643: “Quantity of & & remains open after stock determination”在 WMS 系统中发布的货物问题时,由于 VL643 错误(数量&在确定库存后仍处于开放状态),队列在 SAP 系统中卡住。
2024-11-27 10:55:10
702
原创 算法思维初学者指南
这篇文章是算法思维初学者指南,介绍了算法的概念,强调其是解决问题的核心。以现实例子阐述逻辑,列举不同算法类型,如暴力、递归等,还给出找数字列表最大值的示例及 Python 代码。最后说明了算法的优点如提供清晰准确方案等,也指出了设计困难耗时等缺点。
2024-11-26 18:10:01
922
原创 软件开发的核心原则
本文主要介绍了软件开发的多种核心原则,包括 DRY(不要重复自身)、KISS(保持简单)、YAGNI(只包含必需功能)、避免过早优化、完成胜于完美、选择最合适的等,还阐述了 SOLID 原则、奥卡姆剃刀、得墨忒耳定律、测量两次切割一次、最小惊讶原则等。这些原则能帮助开发者构建可靠高效的软件系统,实现工程目标。
2024-11-26 18:08:48
1329
原创 如何在 Eclipse 中调试ABAP程序
ADT 中的调试器是一个重要的诊断工具,可用于分析 ABAP 应用程序。使用调试器,您可以通过在运行时 Debug 单步执行(F5)程序来确定程序无法正常工作的原因。这使您可以看到正在执行的语句以及随着程序的进行而变量值的变化。要使用调试器,您首先决定从哪里开始调试过程。一种方法是在,运行程序并在设置的断点处停止。
2024-11-25 18:10:06
2590
原创 ABAP 快速入门之 Hello World 和 ALV 列表
ABAP 是 SAP 开发的一种编程语言,用于在 SAP 环境中对业务应用程序进行编程。得益于 ABAP 对象增强功能,ABAP 以前只是过程性语言,现在也是一种面向对象语言。
2024-11-25 18:09:01
1233
原创 对于所有批评 ABAP 7.4 语法的人
这篇文章是写给那些告诉我他们喜欢 7.4 新功能语法中的某些内容,但认为不应该过度使用,应该避免使用 REDUCE 和其他所有不必要的奇怪东西的人的。
2024-11-22 18:02:56
428
原创 SAP 零售方案 CAR 系统的介绍与研究
当今时代,零售业务是充满活力和活力的业务领域之一。每天,由于销售运营和客户行为,它都会生成大量数据。因此,公司迫切需要管理数据并从中检索见解。它将帮助公司朝着正确的方向发展他们的业务。这就是为什么公司用来处理零售业务数据的工具应该是敏捷和强大的。它必须对实时客户和销售数据具有高度反应性,并对其进行分析以检索有价值的见解。它是为零售商提供可靠的业务解决方案的关键 SAP 产品之一。它收集销售点 (POS)、客户和销售数据,并将它们存储在数据存储库中。
2024-11-22 17:12:20
1663
原创 运维方法论:利用 TSTCT 模糊搜索相关的事务码功能
如图,关于交货单相关的功能和事务码就有这些,找到你需要修改的程序改改新业务逻辑即可。文本在 SE16N 进行搜索,找到前人开发过的功能。
2024-11-21 16:08:00
249
Modern ABAP Cheat Sheet: ABAP 整洁语法之道
2024-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人