当前位置: 首页 > article >正文

ABAP BAPI_PO_CREATE1实战:如何绕过信息记录直接设置PO净价(附代码示例)

ABAP BAPI_PO_CREATE1深度实战绕过信息记录精准控制采购订单价格的五种策略在SAP采购订单创建过程中信息记录Info Record中的价格通常会作为默认值自动带出但实际业务场景往往需要更灵活的价格控制。当遇到特殊采购、紧急订单或价格协商等情况时开发人员需要掌握绕过信息记录直接设置净价的技术方案。本文将深入剖析BAPI_PO_CREATE1的核心参数组合提供五种实战验证过的价格控制策略并附上可直接复用的代码模板。1. 理解采购订单价格确定机制在SAP标准流程中采购订单价格的确定遵循一套严格的优先级规则。系统首先会检查是否存在框架协议如合同、计划协议然后查找信息记录最后才会考虑手工输入的价格。这种机制虽然保证了数据一致性但在以下典型场景中会成为障碍临时性价格调整如大宗采购折扣特殊供应商协议如长期合作优惠价系统外价格审批流程如需要保留审批痕迹紧急采购时的价格锁定需求通过分析MM模块的定价例程我们发现价格控制主要涉及三个关键要素条件技术PB00总价、PBXX净价等条件类型来源控制是否从上游文档继承价格计算模式总价与净价的转换逻辑 价格确定流程伪代码 IF 存在有效合同 THEN 采用合同价格 ELSEIF 存在信息记录 THEN 采用信息记录价格 ELSE 允许手工输入价格 ENDIF2. 核心参数组合实战2.1 基础组合NO_PRICE_FROM_PO PO_PRICE这是最直接的价格控制方案通过两个参数的协同工作实现精准控制参数名层级有效值作用描述NO_PRICE_FROM_PO抬头级别X禁止从任何上游文档PO、合同等复制价格但仍会考虑信息记录POITEM-PO_PRICE行项目1/21将NET_PRICE作为总价写入PB002作为净价写入PBXX并删除其他条件DATA: ls_poheader TYPE bapimepoheader, ls_poitem TYPE bapimepoitem, lt_poitem TYPE TABLE OF bapimepoitem. ls_poheader-no_price_from_po X. 禁止从上游文档带价格 ls_poitem-po_price 2. 将净价直接写入条件表 ls_poitem-net_price 100.50. 设置自定义净价 APPEND ls_poitem TO lt_poitem. CALL FUNCTION BAPI_PO_CREATE1 EXPORTING poheader ls_poheader IMPORTING exppurchaseorder lv_ebeln TABLES poitem lt_poitem.2.2 增强方案结合BADI实现动态控制当需要根据业务规则动态决定价格策略时可以实现BBP_PO_INBOUND_BADIMETHOD if_ex_bbp_po_inbound~change_inbound_po. 根据自定义逻辑决定价格策略 IF cs_po_item-matnr SPECIAL_MATERIAL. cs_po_item-po_price 2. cs_po_item-net_price 88.00. ENDIF. ENDMETHOD.对比两种方案的适用场景特性BAPI直接控制BADI增强实施复杂度低中维护便利性高需要开发资源业务规则支持静态动态系统升级影响小需要重新测试适合场景简单价格覆盖复杂价格逻辑3. 高级应用场景解析3.1 混合模式价格管理在实际项目中常常需要同时处理不同定价策略的行项目。以下代码展示了如何在同一个PO中应用多种价格策略DATA: lt_items TYPE TABLE OF bapimepoitem. 行项目1完全自定义净价 ls_item-po_item 00010. ls_item-po_price 2. ls_item-net_price 150.00. APPEND ls_item TO lt_items. CLEAR ls_item. 行项目2保留信息记录价格但禁止从PO带价 ls_item-po_item 00020. ls_item-po_price . APPEND ls_item TO lt_items. 抬头设置 ls_header-no_price_from_po X.3.2 条件类型深度控制对于需要精细管理条件类型的场景可以直接操作条件表DATA: lt_conditions TYPE TABLE OF bapimeposconditions. ls_condition-itm_number 00010. ls_condition-cond_type PBXX. 净价条件类型 ls_condition-cond_value 100.00. APPEND ls_condition TO lt_conditions. CALL FUNCTION BAPI_PO_CREATE1 EXPORTING poheader ls_header TABLES poitem lt_items pocond lt_conditions.4. 常见问题与解决方案问题1设置NO_PRICE_FROM_PO后价格仍从信息记录带出原因该参数仅控制不从上游文档带价格不影响信息记录解决方案同时设置PO_PRICE2并明确指定NET_PRICE问题2自定义价格在审批后被系统覆盖原因工作流配置了价格重算解决方案检查SWU3中的工作流配置或使用BADI拦截审批过程问题3条件类型PBXX未按预期更新原因计算方案配置问题解决方案检查事务代码OPKP中的定价方案配置5. 性能优化与最佳实践批量处理优化当处理大量PO时建议预先获取所有物料主数据使用BAPI_ACC_PRICE_CONDITIONS批量维护条件考虑后台作业方式错误处理模板CALL FUNCTION BAPI_PO_CREATE1 ... TABLES return lt_return. LOOP AT lt_return INTO ls_return WHERE type CA AEX. 处理错误逻辑 ENDLOOP. IF lv_error_flag abap_true. CALL FUNCTION BAPI_TRANSACTION_ROLLBACK. ELSE. CALL FUNCTION BAPI_TRANSACTION_COMMIT. ENDIF.调试技巧在调试器中设置断点于RV_CONDITION_BASE模块使用MM06E事务模拟价格确定过程检查表KONV确认条件更新结果

相关文章:

ABAP BAPI_PO_CREATE1实战:如何绕过信息记录直接设置PO净价(附代码示例)

ABAP BAPI_PO_CREATE1深度实战:绕过信息记录精准控制采购订单价格的五种策略 在SAP采购订单创建过程中,信息记录(Info Record)中的价格通常会作为默认值自动带出,但实际业务场景往往需要更灵活的价格控制。当遇到特殊采…...

3个颠覆性技巧:用手柄打造你的跨平台B站娱乐中心

3个颠覆性技巧:用手柄打造你的跨平台B站娱乐中心 【免费下载链接】wiliwili 第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 你是否厌倦了手机小…...

8大网盘直链下载助手技术解析:JavaScript驱动的下载体验革新

8大网盘直链下载助手技术解析:JavaScript驱动的下载体验革新 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 …...

从零开始:用CloudCompare完成平面距离测量的完整工作流

从零开始:用CloudCompare完成平面距离测量的完整工作流 在三维数据处理领域,精确测量平面间的距离是许多工程和科研项目的关键步骤。无论是建筑行业的BIM模型验证,还是制造业的质量控制,亦或是地质勘探中的层位分析,都…...

VMware虚拟化环境部署FLUX小红书V2:隔离开发环境搭建指南

VMware虚拟化环境部署FLUX小红书V2:隔离开发环境搭建指南 1. 环境准备与虚拟机配置 在开始部署FLUX小红书V2之前,我们需要先搭建一个合适的虚拟化环境。VMware作为业界领先的虚拟化平台,能够为我们提供稳定且高性能的隔离开发环境。 首先确…...

Design Compiler实战:set_input_delay命令的10种典型用法与避坑指南

Design Compiler实战:set_input_delay命令的10种典型用法与避坑指南 在数字IC设计流程中,RTL综合阶段对时序约束的精确把控往往决定着芯片最终性能的成败。作为Synopsys Design Compiler的核心约束命令之一,set_input_delay的正确使用直接关系…...

Android日志查看终极指南:用Logcat Reader快速调试移动应用

Android日志查看终极指南:用Logcat Reader快速调试移动应用 【免费下载链接】LogcatReader A simple app for viewing logcat logs on an android device. 项目地址: https://gitcode.com/gh_mirrors/lo/LogcatReader 在Android应用开发过程中,实…...

别再只盯着NVMe了!聊聊企业级存储里SAS硬盘那些‘不起眼’但至关重要的设计细节

别再只盯着NVMe了!聊聊企业级存储里SAS硬盘那些‘不起眼’但至关重要的设计细节 在企业级存储领域,NVMe凭借其超高的性能指标吸引了大量关注,但作为存储硬件工程师或系统架构师,我们深知SAS(Serial Attached SCSI&…...

如何让Mac原生支持NTFS读写?终极免费解决方案完全指南

如何让Mac原生支持NTFS读写?终极免费解决方案完全指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management fo…...

写段代码教会你什么是HOOK技术?HOOK技术能干什么?谓

为 HagiCode 添加 GitHub Pages 自动部署支持 本项目早期代号为 PCode,现已正式更名为 HagiCode。本文记录了如何为项目引入自动化静态站点部署能力,让内容发布像喝水一样简单。 背景/引言 在 HagiCode 的开发过程中,我们遇到了一个很现实的问…...

AirPodsDesktop:3步解锁完整AirPods功能,Windows/Linux用户的终极解决方案

AirPodsDesktop:3步解锁完整AirPods功能,Windows/Linux用户的终极解决方案 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/A…...

别再用旧系统了!给高通410板子(JZ02_V10)刷上OpenWRT,顺便搞定短信转发(保姆级避坑)

高通410开发板OpenWRT改造指南:从刷机到短信转发全流程解析 手里那块吃灰的高通410开发板终于有了用武之地!相比原厂Debian系统的臃肿和功能局限,OpenWRT带来的不仅是轻量级路由体验,更能通过基带模块实现短信转发等实用功能。本文…...

Qwen3.5-2B算法优化实战:提升LSTM时序数据预测与多模态融合效果

Qwen3.5-2B算法优化实战:提升LSTM时序数据预测与多模态融合效果 1. 引言:当LSTM遇上多模态 最近在做一个股票预测项目时遇到个有趣问题:传统LSTM模型只看K线走势数据,效果总是不太稳定。后来发现,市场情绪对股价影响…...

Informer时序模型实战:从数据预处理到预测结果可视化

1. Informer时序模型入门指南 时序预测是AI领域一个经典问题,从股票价格到电力负荷,从气象数据到设备传感器读数,都需要预测未来趋势。传统方法如ARIMA在处理长期依赖时表现不佳,而Informer模型通过改进Transformer架构&#xff0…...

Debian 12 远程桌面配置:VNC 服务搭建与优化指南

1. 环境准备与基础安装 在开始配置VNC远程桌面之前,我们需要确保Debian 12系统已经完成基础环境准备。我建议先更新系统到最新状态,这样可以避免后续出现依赖问题。打开终端输入以下命令: sudo apt update && sudo apt upgrade -y接下…...

S2-Pro量化金融分析模拟:基于历史数据的简单策略回测与报告生成

S2-Pro量化金融分析模拟:基于历史数据的简单策略回测与报告生成 1. 引言:当AI遇上量化金融 最近有个做投资的朋友跟我抱怨:"每天盯着K线图眼睛都快瞎了,有没有什么工具能帮我自动分析股票走势?"这让我想到…...

告别Arduino!用VSCode+ESP-IDF给零知ESP32开发AI语音项目,效率翻倍指南

从Arduino到专业级开发:VSCodeESP-IDF构建ESP32 AI语音系统实战指南 当你的ESP32项目从简单的传感器读取升级到需要整合语音识别、网络通信和图形界面的复杂系统时,Arduino IDE的局限性就会逐渐显现。编译速度慢、依赖管理混乱、调试工具简陋等问题会严…...

C# SerialPort 类中 Handshake 属性的实战应用与优化策略

1. 理解Handshake属性的核心作用 串口通信就像两个人用对讲机通话,如果一方说得太快,另一方可能根本听不清。这时候就需要一个协调机制,让双方保持同步。在C#的SerialPort类中,Handshake属性就是这个协调员,专门负责管…...

科哥IndexTTS2 V23实战:智能客服语音合成完整流程解析

科哥IndexTTS2 V23实战:智能客服语音合成完整流程解析 1. 快速部署与界面概览 1.1 一键启动WebUI服务 IndexTTS2 V23版本提供了极简的部署方式,只需执行以下命令即可启动服务: cd /root/index-tts && bash start_app.sh启动过程会…...

2026最权威的五大降重复率方案横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当今之时,人工智能生成内容愈发普遍,在此情形下,怎样切实…...

从一次“翻车”的漏洞复现说起:记CVE-2018-7490中那个找不到的/tmp/flag

从一次“翻车”的漏洞复现说起:CVE-2018-7490排查实录 那天下午,我像往常一样打开Vulfocus靶场,准备复现uWSGI目录穿越漏洞(CVE-2018-7490)。这个漏洞在安全圈已经讨论多年,原理清晰明了——通过构造特殊的…...

Qwen3-0.6B-FP8部署教程:NVIDIA驱动兼容性检查、CUDA版本匹配与验证方法

Qwen3-0.6B-FP8部署教程:NVIDIA驱动兼容性检查、CUDA版本匹配与验证方法 想快速体验一个轻量级但能力不俗的大语言模型吗?Qwen3-0.6B-FP8就是一个绝佳的选择。它虽然体积小巧,但在推理、对话和指令遵循方面表现亮眼,特别适合个人…...

VideoAgentTrek Screen Filter 与传统图像处理库(如OpenCV)结合应用

VideoAgentTrek Screen Filter 与 OpenCV 结合应用:打造更智能的混合图像处理流水线 最近在做一个项目,需要从视频流里实时识别并处理特定的屏幕区域,比如监控摄像头拍到的电脑屏幕或者广告屏。一开始我直接用了 VideoAgentTrek Screen Filt…...

暗黑2存档编辑器实战宝典:d2s-editor深度评测与完全指南

暗黑2存档编辑器实战宝典:d2s-editor深度评测与完全指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 作为一名暗黑破坏神2的忠实玩家,你是否曾为刷不到心仪的装备而苦恼?是否想尝试不同的b…...

3分钟搞定抖音批量下载:从零开始的高效内容采集实战指南

3分钟搞定抖音批量下载:从零开始的高效内容采集实战指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback sup…...

专业级ModBus主站工具:QModMaster的工业通信架构深度解析

专业级ModBus主站工具:QModMaster的工业通信架构深度解析 【免费下载链接】qModbusMaster Fork of QModMaster (https://sourceforge.net/p/qmodmaster/code/ci/default/tree/) 项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster 在工业自动化领域…...

Onekey Steam Depot清单下载工具:技术原理与实战指南

Onekey Steam Depot清单下载工具:技术原理与实战指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey Steam游戏清单获取不再是技术难题——Onekey工具通过自动化流程简化Depot清单下…...

从零搭建一个基于Vue的组件库(打包、发布、文档)

从零搭建一个基于Vue的组件库(打包、发布、文档) 在当今前端开发中,组件化已成为提升效率的关键。许多团队选择自建组件库以满足业务需求,但如何从零开始搭建一个完整的Vue组件库?本文将围绕打包、发布和文档三个核心…...

为什么你的游戏手柄需要这个神奇驱动?ViGEmBus让所有设备变专业控制器

为什么你的游戏手柄需要这个神奇驱动?ViGEmBus让所有设备变专业控制器 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想象一下,你心…...

Warehouse vs. Depot:从存储到转运的物流核心设施对比解析

1. 仓库与仓储站:物流世界的"冰箱"与"微波炉" 想象一下,你家的冰箱和微波炉有什么区别?冰箱适合长期保存食物,而微波炉则是快速加热的中转站。物流行业中的仓库(Warehouse)和仓储站&am…...