- 博客(40)
- 收藏
- 关注
原创 IDCNAR 应收账款账龄报表--账龄逻辑优化(付款起算日期)
本文分析了SAP应收账款账龄计算中付款起算日期的逻辑,指出在隐式增强ficn_due_calculation中,READ操作会覆盖自定义获取的日期,导致账龄计算错误。同时,源码未清空历史记录,造成明细数据重复汇总。通过函数z_get_original_aging_date递归查询原始凭证的ZFBDT,但存在深度限制与覆盖风险,需优化逻辑以避免数据污染和计算偏差。
2026-07-16 10:24:26
379
原创 帆软报表直连SAP HANA数据库的配置--本地环境测试记录
本文介绍了在帆软报表中配置SAP HANA数据库连接的步骤。首先需要在指定目录添加相关驱动文件,并确保在编辑器启动前完成。其次详细说明了帆软服务器的配置方法,包括数据库类型选择和连接参数设置。最后提供了验证连接的方法,并给出一个实用技巧:通过执行特定SQL查询获取Schema名称。整个过程强调了驱动文件添加时机的重要性,为使用帆软连接SAP HANA数据库提供了完整指导。
2026-04-21 13:05:34
74
原创 宜搭报表 自定义页面通过html组件引用门户 实现自定义js(记录用户进入及停留时长)+可播报门户
摘要:本文介绍了一种在自定义页面中通过HTML组件实现用户访问时长统计的解决方案。由于拖拉拽组件操作不便,采用iframe嵌入方式,通过强制全屏CSS样式覆盖宜搭默认布局,确保门户页面完全展示。代码包含固定定位容器、100%视窗尺寸设置、z-index置顶等关键样式,以及iframe的无边框全屏实现方案,有效解决了组件布局限制问题。
2026-03-26 10:06:25
99
原创 ABAP 性能调优- SQL + LOOP 的优化技巧
摘要:本文针对SAP系统中LOOP处理10万级数据量导致的性能问题,提出SQL优化方案。原方案使用FOR ALL ENTRIES查询后通过LOOP处理数据,调整为通过LEFT JOIN两次关联VBPA表(分别获取售达方AG和付款方RE数据),将数据合并为单行输出。优化后执行时间从显著降低到秒级完成,有效解决了大数据量下的性能瓶颈问题。该方案通过减少循环次数和数据库访问次数,实现了性能的大幅提升。
2026-03-04 10:54:22
94
原创 ABAP 性能调优-ST12
摘要: ST12是结合SE30和ST05功能的性能分析工具,提供四种追踪模式:Current Mode(常用)、User/Tasks、Workprocess和Schedule。使用时输入程序名或事务码,运行后分析时间消耗占比,确定优化方向。核心分析功能包括:ABAP Trace(Top-Down分析,定位高耗时方法)、Performance Trace(Bottom-Up分析,识别低效SQL)、SQL Summary(聚合表耗时,发现重复查询)。重点关注高耗时的SQL或代码逻辑,如循环嵌套或缺失索引问题。(
2026-03-02 14:41:58
360
原创 Dify平台聊天助手 Postman调用API案例
本文介绍了如何通过Postman调用聊天API:首先获取API密钥,然后在请求头中添加Authorization参数。调用时需要填写query(提问内容)、response_mode(建议使用blocking模式)、conversation_id(首次留空)和user(必填用户标识)。文章配有示意图说明API密钥获取和Postman参数设置方法,帮助开发者快速实现API调用。
2026-02-24 13:35:49
332
原创 ABAP 创建销售订单SO报错--客户XXXX未对销售范围XXXX XX XX定义(产品组被替换)
摘要 ABAP代码中指定产品组10却报错显示20,主要由于配置问题。检查发现可能原因包括:物料主数据基本视图设置、销售凭证类型配置中的项目产品组选项、或事务BP中销售范围定义。解决方案包括:1)修改物料主数据的产品组;2)在事务VOV8中取消销售类型配置的项目产品组选项;3)在事务BP中调整销售范围的产品组设置。可根据实际业务需求选择适合的修改方式。
2026-02-06 10:53:06
391
1
原创 ABAP 创建销售订单报错-计划行类别Z4不存在
摘要: 检查SAP订单配置时,需在VA01确认行项目类型,通过VOV6验证计划行类别是否存在,并在VOV5检查行项目类型、MRP类型与计划行类别的配置匹配。发现物料主数据的MRP类型未维护,导致配置问题。需补充MRP类型数据以确保订单处理正常。
2026-02-06 10:14:52
295
1
原创 ABAP 采购订单增强--自定义校验提示 && E类型阻断
摘要: 本文介绍了SAP BADI增强ME_PROCESS_PO_CUST在采购订单校验中的应用。CHECK方法用于全量数据校验,通过ch_failed阻断PO生成并弹出消息;PROCESS_ITEM方法处理单条行项目变更,通过mmpur_business_obj_id绑定错误到指定行。针对前台可能强制保存的情况,提出解决方案:在CHECK/PROCESS_ITEM中设置标识变量lv_yn,并通过EXPORT存储到内存,后续程序通过IMPORT读取该标识判断是否允许保存。文中包含代码片段展示数据获取、消息绑
2026-01-28 11:03:47
339
1
原创 ABAP 采购发票、销售发票、交货过账凭证、物料凭证、POD凭证 等冲销、交货单物理删除案例
本文介绍了SAP系统中不同业务场景下的凭证冲销操作代码片段。主要包括:1)使用BAPI_GOODSMVT_CANCEL函数冲销MIGO产生的物料凭证;2)SD交货过账和POD确认的取消流程,包含VLPOD事务取消POD确认和VL09事务取消发货;3)使用BAPI_BILLINGDOC_CANCEL1函数冲销SD发票。每个代码片段都包含关键参数设置和结果处理逻辑,展示了SAP系统中常见的凭证冲销技术实现方法。
2026-01-27 16:57:10
129
1
原创 ABAP--启用后台作业
本文展示了SAP ABAP中创建后台任务的代码示例。通过JOB_OPEN函数获取任务名称和编号,使用SUBMIT命令提交程序ZMMR01H作为后台任务,最后用JOB_CLOSE关闭任务。关键注意事项包括:后台任务不会等待执行完成,程序需通过sy-batch区分前后台逻辑,且只有start-of-selection事件能识别sy-batch参数。代码演示了完整的后台任务创建流程,包含错误处理机制,适用于需要异步执行的场景。
2026-01-22 16:43:49
97
1
原创 ABAP--PS模块-项目创建(CJ20N)、状态调整、预算维护
摘要 该文档主要介绍SAP系统中项目管理的相关事务和功能实现,包括: 项目事务操作: CJ01/02/03:项目创建、修改、查看 CJ91/92/93:模板操作(可调整WBS公司代码) CJ20N:项目创建 项目创建实现: 使用BAPI_PROJECT_MAINTAIN函数创建项目 包含项目定义、WBS元素创建及层级关系设置 支持自动提交和错误回滚机制 预算管理: CJ30:维护原始预算 CJ37:补充预算(调整/调减) CJ38:预算返回 提供BAPI(KBPP_EXTERN_UPDATE_CO)实现预算
2026-01-22 10:34:25
449
1
原创 ABAP 采购订单开票(MIRO)报错:M8 504 开发票数量大于收货数量 (50 EA)
摘要 本文介绍了SAP系统中发票校验数量差异的排查方法。通过消息号断点定位到MRM_QUANTITY_CHECK模块,比较收货凭证(lfbnr)中的收货数量与开票数量进行验证。同时建议使用MB5S事务码核对PO的"已收货但未开票"余额作为系统认可的可开票数据,并检查PO是否勾选了"基于收货的发票校验"选项,该选项要求必须先收货才能开票。这些方法可帮助用户快速定位并解决发票校验中的数量差异问题。
2026-01-21 16:32:15
229
1
原创 ABAP S4 新语法记录(如+with、select内表、range、过滤器filter、分组loop…group、字符串拼接含空格)
本文总结了ABAP开发中的11个实用技巧,包括EXISTS判断、WITH子句、CASE语句、内表查询、字符串拼接与截取、过滤器使用、LOOP分组、字符串拼接、REDUCE计数、RANGE定义以及带空格的字符串拼接。这些技巧涵盖了SQL查询优化、数据处理和字符串操作等常见场景,如使用CONCAT和Substring进行字符串处理,FILTER进行数据筛选,LOOP...GROUP...进行分组统计等。每个技巧都配有示例代码和关键注意事项,如WITH子句只能接一个SQL语句,内表查询需要加@前缀等,为ABAP开
2026-01-16 10:55:37
234
1
转载 ABAP---ABAP2XLSX代替ALSM_EXCEL_TO_INTERNAL_TABLE导入 & 动态创建表结构
摘要 本文介绍了ABAP中两种Excel导入方式的对比及优化方案。针对传统ALSM_EXCEL_TO_INTERNAL_TABLE方法依赖本地Excel环境导致不稳定的问题,提出采用abap2xlsx开源方案的替代方案。abap2xlsx通过解析Excel的XML底层结构,无需本地安装Excel软件,支持前后台运行且稳定性高。文章详细说明了abap2xlsx的安装方法(通过abapgit)和具体实现案例,并提供了一个封装好的通用函数ZFM_ABAP2XLSX,该函数支持动态表结构创建、日期类型处理等功能。最
2026-01-05 13:15:34
139
原创 OO ALV---两个alv同屏展示:使用分割容器
摘要 本文展示了如何在SAP ABAP中实现两个ALV表格同屏展示,使用分割容器技术。主要内容包括: 创建停靠容器和分割器,将屏幕分为上下两部分,分别放置销售订单抬头(VBAK)和行项目(VBAP)数据 实现双击事件处理:点击抬头行自动查询并显示对应的行项目数据 添加自定义工具栏按钮,包括分隔符和"查看明细"功能按钮 优化显示效果:动态更新标题、防止滚动条重置、设置初始显示比例(60:40) 关键代码涉及容器创建、ALV对象初始化、事件处理类定义和用户交互优化。
2025-12-31 10:31:25
209
1
原创 ABAP SD模块-服务订单创建时dump 消息号NR(751) CL_SD_SLS_TRANS_MGR===========CP
摘要:通过调试发现系统报错与销售凭证号码段有关。在dump前设置断点获取系统消息号,定位到RV_BELEG(销售凭证号码段对象)存在问题。检查号码段配置发现异常,导致销售凭证生成失败。需要调整RV_BELEG中的号码段设置以解决该错误。
2025-11-14 18:01:55
179
原创 ABAP 生产订单组件长文本保存后,可READ, 但是前台确不显示
摘要:本文提供了一个工单组件长文本创建案例的ABAP代码。关键点包括:1) 使用函数模块CO_ZK_TEXTKEY_RESB获取文本键;2) 设置文本头信息(THEAD结构)包括对象类型、文本键等;3) 构建文本行内容并保存;4) 更新RESB表的LTXSP字段。需特别注意RESB-LTXSP字段赋值和保存文本时的语言代码一致性。代码中包含错误处理机制,成功时提交事务,失败时回滚。
2025-10-30 13:30:01
173
原创 PP 创建生产订单提示没有工艺路线选中
摘要:在ABAP系统中创建工单时,仅需填写生产版本即可自动带出工艺路线。若出现问题,需进行两项排查:1)检查物料+工厂的版本(代码C252);2)验证主数据中的工艺路线类型设置是否正确。文中配有相关界面截图辅助说明。
2025-09-26 09:57:20
662
原创 ABAP 特殊字符的过滤、日期格式检查(自定义函数)
摘要: 该SAP函数Z_DATA_FILTERING用于数据清洗与格式校验,主要功能包括: 特殊字符过滤:替换危险字符(如#、!、&、:)为全角格式,并清除制表符、换行符等不可见字符; 日期格式化:支持多种分隔符(- / .)的日期输入,统一转换为YYYYMMDD格式; 时间校验:检查HHMMSS或HH:MM:SS格式有效性; 数据类型处理:支持字符型(转大写)、数字型及物料号转换,提供错误信息返回。通过宏定义实现ALPHA和物料号格式标准化,确保数据合规性。
2025-09-25 17:14:17
761
原创 ABAP EXCEL模板数据上传 及 注意事项
摘要: 本文介绍了ABAP程序处理Excel文件上传的关键注意事项和实现方法。主要内容包括:1) Excel文件格式限制(xls最大65536行,xlsx支持1048576行);2) WPS与Microsoft Excel的ABAP调用方式差异;3) 提供完整的ABAP代码示例,实现通过ALSM_EXCEL_TO_INTERNAL_TABLE函数将Excel数据导入SAP内表,包含文件选择对话框、数据读取和错误处理逻辑。代码演示了如何正确处理Excel行列数据映射到ABAP内表结构的技术要点。
2025-09-24 10:54:20
344
原创 ABAP SMW0下载Excel模板并填充&&剪切板方式粘贴
这篇文章介绍了两种使用ABAP代码操作Excel的方法。第一种方法是下载Excel模板并填充数据,通过OLE自动化技术创建Excel对象,设置单元格值,并支持合并单元格操作。第二种方法是利用剪贴板方式填充数据,可以显著提升操作速度,同时提供了列宽自适应调整的功能。代码示例展示了如何创建Excel应用实例、打开工作簿、选择工作表、填充数据以及释放对象等完整流程。两种方法都包含了详细的参数说明和错误处理机制,适用于不同的Excel操作场景。
2025-09-23 11:29:40
1780
1
原创 ABAP DOI格式输出 案例
ABAP程序实现Excel模板上传功能 摘要:该ABAP程序通过DOI技术实现了Excel模板的上传和操作功能。核心模块包括: 创建DOI对象并初始化Excel文档 提供GUI界面(STA_0100)显示Excel内容 实现数据导出功能,支持保存到本地桌面 包含完善的资源释放机制,确保程序退出时清理所有对象 程序采用OLE2技术栈控制Excel文档,包含工作表操作、单元格处理等功能模块,并提供了进度指示器增强用户体验。关键特性包括数据保护/解除保护机制,以及通过GUI前端服务实现的文件保存对话框。
2025-09-20 14:14:39
655
原创 ABAP TRY CATCH
SQL异常捕获摘要:SAP ABAP中可通过TRY-CATCH捕获SQL异常,使用cx_root或cx_sy_open_sql_db类获取错误信息。示例1展示主键重复异常处理,将错误文本存入变量并设置sy-subrc;示例2演示通用方法,通过cx_root捕获变量赋值或表操作异常并输出错误信息。两种方式均避免程序异常终止,实现优雅的错误处理。注意TRY块内避免使用PERFORM ON COMMIT语句。
2025-09-16 09:06:57
656
原创 ABAP http SSL 证书 SSSLERR_PEER_CERT_UNTRUSTED (-102)
摘要:解决SAP系统SSL握手失败问题(SSSLERR_PEER_CERT_UNTRUSTED)。首先通过SMICM事务查看日志,确认证书验证失败。然后使用浏览器访问API地址,获取证书序列号并与日志比对,导出相关证书。最后在SAP系统中通过STRUST事务导入缺失的证书,完成信任链配置。该方法通过交叉验证证书信息并补全信任链,解决了因证书不信任导致的连接问题。
2025-09-11 16:12:20
558
原创 ABAP 物料主数据视图更新(BDC / BAPI)
通过如下函数读取所有视图,并对指定的SELECTION视图打上X(字段fval)如果字段类型是数量或金额 需要定义char类型的字段替代传值–如下案例。因为mrp视图1234是连着的,所以读取第一个X的位置 + 2 即可。所以这里不能使用录屏生成的index,需要通过增强的方式判断下**因为物料视图扩充的不同 导致mm02回车的视图选择不同。这里是 MRP / 成本 / 会计视图的修改案例。方法2(非增强,通过视图函数获取)eg:mrp3视图的配置变量。不设置MRP不会更新。
2025-09-08 11:22:52
882
原创 ABAP 销售订单开票 BAPI_BILLINGDOC_CREATEMULTIPLE
摘要 该代码展示了使用BAPI接口创建多个开票凭证的SAP实现过程。主要步骤包括:1) 通过销售订单号查询相关数据;2) 构建开票凭证输入数据表;3) 调用BAPI_BILLINGDOC_CREATEMULTIPLE函数批量创建;4) 根据返回结果处理事务提交或回滚。代码包含完整的数据校验、错误处理和事务管理逻辑,实现了销售订单到开票凭证的自动化处理流程。
2025-08-27 17:20:13
620
原创 生产订单 CO02 物料清单重新展开(BOM主数据重读) && SM12的锁释放
该代码实现了生产订单的批量修改和下达功能。主要流程包括:1) 通过BAPI_PRODORD_CHANGE修改订单生产版本和BOM展开日期;2) 检查修改结果,失败则回滚;3) 成功后释放订单锁;4) 使用BAPI_PRODORD_RELEASE重新下达订单。关键点:使用ENQUE_DELETE释放SM12中的锁记录,修改后需重新下达订单状态。代码处理了各种异常情况,并通过状态灯和消息字段反馈执行结果。
2025-08-27 09:06:02
314
原创 ABAP 事务VA41服务订单创建 BAPI_CONTRACT_CREATEFROMDATA && 创建出具发票计划
SAP合同创建BAPI示例摘要 本文展示了使用BAPI_CONTRACT_CREATEFROMDATA创建SAP销售合同的编程示例。代码结构包含: 合同抬头数据准备(销售组织、分销渠道等) 合作伙伴数据设置(售达/送达方) 合同日期信息配置 行项目数据填充(物料、工厂、数量等) 价格条件处理 行项目级合同日期设置 该示例完整演示了通过BAPI创建包含多个行项目的销售合同所需的数据准备过程,涵盖了合同创建的主要业务字段和数据结构。
2025-08-25 11:11:41
296
原创 ABAP CS11/2/3 新增自定义字段
该摘要总结了SAP系统中CS11/2/3事务码与模块池SAPMC29L的关联性,以及自定义字段添加方法。要点包括: CS11/2/3共享模块池SAPMC29L,通过事务码可定位对应程序(如CS12对应RCS12001) 添加自定义字段步骤: 在STPOX_ALV结构中使用数据元素新增字段 在FORM stb_fields_tb_prep中对alv_stb内表进行隐式增强 (字数:99)
2025-07-31 18:07:35
226
原创 ABAP 生产订单(工单) 创建 、状态变更、 VIN绑定 、 组件增删改
本文介绍了SAP系统中生产订单创建、状态管理及组件操作的相关代码实现。主要包括:1)使用BAPI_PRODORD_CREATE函数创建生产订单,支持从销售订单生成;2)通过BAPI_PRODORD_RELEASE函数实现订单状态下达;3)使用SERNR_ADD_TO_PP等函数处理VIN码的添加与删除;4)利用BAPI_NETWORK_COMP_GETDETAIL等函数实现组件增删改操作,特别注意反冲标识和散装物料标识的互斥性。文中还强调了订单号的补零处理等注意事项,并提供了完整的代码示例。
2025-07-31 08:50:19
1746
原创 BOM 行项目增强-客户字段
本文介绍了在SAP系统中通过CMOD增强实现BOM表自定义字段维护的方法。主要步骤包括:1)创建CI_STPO结构并添加客户字段;2)建立CMOD项目分配PCSD0002增强点;3)编写ZXCSAU02和ZXCSAU03增强逻辑实现数据传递;4)创建子屏幕并控制字段编辑权限;5)通过CSAP_MAT_BOM_CREATE BAPI维护自定义字段。最终实现了在BOM维护界面显示并控制自定义字段的功能,为BOM表扩展了客户化字段支持。
2025-07-30 08:43:43
500
原创 ABAP 汇率更新、创建、读取
摘要:本文介绍了SAP系统中汇率管理功能,包含汇率读取(事务码OB08)、汇率创建/更新(使用BAPI_EXCHANGERATE_GETDETAIL和BAPI_EXCHANGERATE_CREATE函数模块)的实现方法,并提供了货币类型转换逻辑(美元、欧元等转人民币)。针对汇率更新失败问题,给出了通过OBBS事务码配置汇率类型的解决方案。代码示例展示了汇率处理流程,包括数据转换(除以100)、事务提交和错误处理机制。
2025-07-07 15:38:35
1044
1
原创 采购申请行项目增强 ME51N 自定义字段( ALV行项目中展示、编辑 ) && BAPI 传值
d.BADI: ME_PROCESS_REQ_CUST 、 方法:FIELDSELECTION_ITEM。b.程序SAPLMEGUI --屏幕3214、添加自定义字段。c.程序LMEMFSF0Z—FORM: LMEMFSF0Z。a.结构增加自定义字段(也可以插入CI_EBANDB)通过上述语句匹配自定义字段和元数据的关系。
2025-06-05 17:04:11
578
原创 ABAP 采购订单 销售订单 -条件价格的获取
本文介绍了采购订单和销售订单的价格查询方法。采购订单通过关联EKKO(抬头)和EKPO(项目)表,结合PRCD_ELEMENTS表中的kinak条件筛选获取有效价格;销售订单同样使用PRCD_ELEMENTS表查询条件价格。两种订单类型均依赖PRCD_ELEMENTS表来获取价格信息,文中的示意图和SQL示例展示了具体的查询方式。
2025-04-08 15:50:22
516
原创 SAP 过账期间(FI、MM、CO)
本文总结了SAP系统中MM、FI、CO模块的关键操作:MM模块涉及过账期间设置(MMRV)和期间开关(MMPV),强调期间只能顺延不可回溯;FI模块使用OB52事务处理;CO模块通过KSP1事务操作。内容简明扼要地呈现了各模块的核心事务代码和注意事项。
2024-11-28 10:45:41
295
原创 ABAP 变式物料A在创建销售订单时替换为物料B的问题---V1595
摘要 SAP销售订单创建(VA01)时出现变式匹配错误的问题分析及解决方案。问题表现为系统提示无法找到匹配物料变式的消息。经检查发现,原因是多个子物料对应同一父物料且特征相同(业务不规范),导致系统按MRP3视图中的变式匹配列表默认选择第一个物料。解决方案为在销售行项目类别(VOV7)中修改相关参数。该问题在SAP社区有类似案例参考。
2024-11-07 16:51:36
314
原创 ABAP BOM创建 & 变更号更改 & BOM组件修改
本文主要介绍了SAP系统中BOM(物料清单)创建与变更的常见问题及解决方法。对于BOM创建函数CSAP_MAT_BOM_MAINTAIN和CSAP_MAT_BOM_CREATE的使用差异进行了说明,并提供了针对无法新增可选BOM问题的自定义解决方案。在变更号处理方面,重点阐述了如何获取最新变更号、处理明细行多次变更的情况,以及更改变更号时需要注意的日期格式和系统配置要求。文章还包含了一个ABAP报表程序示例,演示了如何通过程序处理变更号相关操作,包括Excel数据导入、数据验证和日期格式转换等功能。
2024-11-05 10:33:42
1860
原创 ABAP ALV--REUSE_ALV_GRID_DISPLAY_LVC &单元格编辑、颜色&下拉框&参数(固定列/布局格式/行选择/ALV刷新自动优化列宽) & alv缓存
alv的 REUSE_ALV_GRID_DISPLAY_LVC 实现方式 涉及的相关知识点(如单元格编辑、颜色、alv缓存、列宽优化等)
2023-08-10 10:58:13
319
原创 ABAP F4 自定义搜索帮助
本文介绍了在SAP系统中实现F4搜索帮助的两种方法:程序方式和屏幕方式。在程序方式中,通过定义内表结构、填充数据,并调用F4IF_INT_TABLE_VALUE_REQUEST函数来显示搜索帮助;在屏幕方式中,则通过在PROCESS ON VALUE-REQUEST事件中添加FIELD...MODULE语句来实现。两种方法均可为输入字段提供值选择功能,其中程序方式更灵活,而屏幕方式更简洁。摘要重点突出了实现F4搜索帮助的关键技术要点和两种实现方式的差异。
2021-04-12 16:16:56
39
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅