SAP小技巧 触发单据重定价

2024-03-05 08:08
文章标签 技巧 触发 sap 定价 单据

本文主要是介绍SAP小技巧 触发单据重定价,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击蓝字 关注我们

前言

采购订单或销售订单等存在定价的单据,在抬头或行项目重要字段修改后.

比如商品/地点/数量等修改后. 会触发重新获取定价.以确保获取准确的定价.

但是也有例外. 

本文介绍了怎么让字段的修改触发重新定价

需求描述

并非所有的抬头或行项目字段的修改都会触发重新获取定价.

比如批次字段. 如果定价中启用了批次定价. 标准逻辑在批次修改后无法触发重新获取定价. 这样就会导致单据定价与实际定价不一致.

再比如, 行项目使用了增强字段档期, 不同档期的商品定价不一样. 标准逻辑在增强的档期字段修改后,  也无法触发重新获取定价.

解决方式一

对采购订单的重定价可以使用BADI 增强.

ME_DEFINE_CALCTYPE 

在增强中判断特定字段的变化,修改ch_x_lf_calctype 的内容为'B'或'C' ,强制系统重新获取定价.

解决方式二

销售订单没有找到类似的增强点. 只能在 函数 PRICING 开头添加隐式增强实现

PRICING 中添加增强对所有定价都有效.

所以可以把所有单据的刷新定价的逻辑都放在这里.

如下图,实现了通过配置单据类型及重定价方式来实现该单据的任意字段修改是否触发重定价及重定价方式

方式二的补充

但是因为在函数PRICING 中没有单据的信息. 只有KOMK/KOMP的字段可以使用.

所以如果要执行特定字段内容变化的判断. 还需要通过其它增强把单据增强字段内容传递到KOMK/KOMP的增强字段中. 再读取单据的旧值与传入的值比较.

此类增强在不同的单据中实现方式不同.

采购订单 

通过 BADI ME_PO_PRICING_CUST 实现 

或SMOD 增强 LMEKO002实现

销售订单 

通过 MV45AFZZ 中的FORM 实现.

FORM USEREXIT_PRICING_PREPARE_TKOMK

FORM USEREXIT_PRICING_PREPARE_TKOMP

发票 

通过RV60AFZZ 中的FORM 实现

FORM USEREXIT_PRICING_PREPARE_TKOMK

FORM USEREXIT_PRICING_PREPARE_TKOMP

其它涉及定价的单据也有类似的增强点. 可以传递内容到KOMK/KOMP的增强字段中.

关于批量重新定价

有了上述增强, 批量重新定价可以用两种方式实现

1. 事务代码 MASS 批量修改单据的特定增强字段,可以实现批量重定价.

2. 通过开发程序调用BAPI函数修改单据的特定增强字段,可以实现批量重定价.

总结

标准定价都是通过函数PRICING 实现的.

重定价只需控制这个函数的传入参数 CALCULATION_TYPE 即可.

标准PO的重定价增强就是在调用函数PRICING 之前允许用户修改这个传入值实现的. 

一般情况下, 使用 B 或 C 执行定价刷新.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群

这篇关于SAP小技巧 触发单据重定价的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775834

相关文章

Java 枚举的常用技巧汇总

《Java枚举的常用技巧汇总》在Java中,枚举类型是一种特殊的数据类型,允许定义一组固定的常量,默认情况下,toString方法返回枚举常量的名称,本文提供了一个完整的代码示例,展示了如何在Jav... 目录一、枚举的基本概念1. 什么是枚举?2. 基本枚举示例3. 枚举的优势二、枚举的高级用法1. 枚举

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

PMP–一、二、三模–分类–14.敏捷–技巧–看板面板与燃尽图燃起图

文章目录 技巧一模14.敏捷--方法--看板(类似卡片)1、 [单选] 根据项目的特点,项目经理建议选择一种敏捷方法,该方法限制团队成员在任何给定时间执行的任务数。此方法还允许团队提高工作过程中问题和瓶颈的可见性。项目经理建议采用以下哪种方法? 易错14.敏捷--精益、敏捷、看板(类似卡片)--敏捷、精益和看板方法共同的重点在于交付价值、尊重人、减少浪费、透明化、适应变更以及持续改善等方面。