SAP采购订单入库后不允许修改单价增强
需求:S4在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’。
判断流程:是否有入库凭证
如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能新增一条PBXX的条件,这里判断时
还要判断有没有PBXX或者只有PB00.
找增强的位置SMOD,然后搜索包ME包含的增强点,这个增强的位置就在


CMOD创建一个项目,填入增强点用于管理。双击ZXM06U43创建就行,直接在这里写代码。

最后附上代码
注意:使用的是S4环境,获取采购订单条件的表不一样,S4的是PRCD_ELEMENTS,ecc的好像是KONV.
*&---------------------------------------------------------------------*
*& 包含 ZXM06U43
*&---------------------------------------------------------------------* data: sum_menge type ekbe-menge. if sy-tcode = 'ME22N' or sy-tcode = 'ME22'. loop at tekpo. "判断是否有入库记录
select menge,shkzg into table @data(lt_ekbe)
from ekbe
where ebeln = @tekpo-ebeln
and ebelp = @tekpo-ebelp
and bewtp = 'E'. loop at lt_ekbe assigning field-symbol(<ls_ekbe>).
if <ls_ekbe>-shkzg = 'S'.
sum_menge = sum_menge + <ls_ekbe>-menge.
else.
sum_menge = sum_menge - <ls_ekbe>-menge.
endif.
endloop. check sum_menge > ."有入库记录
sum_menge = . select kposn, "项目
kschl, "条件类型
kbetr "价格
into table @data(lt_price)
from prcd_elements
where knumv = @i_ekko-knumv
and kposn = @tekpo-ebelp. read table lt_price assigning field-symbol(<ls_price>) with key kposn = tekpo-ebelp "是否有新增条件
kschl = 'PBXX'.
if sy-subrc = . read table tkomv assigning field-symbol(<ls_komv>) with key kschl = 'PBXX'.
if sy-subrc = .
if <ls_price>-kbetr <> <ls_komv>-kbetr. "修改了价格
message e899(mm) with tekpo-ebeln tekpo-ebelp '由于已经收货,不允许修改价格。'.
endif. else. "删除了价格
message e899(mm) with tekpo-ebeln tekpo-ebelp '由于已经收货,不允许修改价格。'.
endif. else."原po没有新增条件价格, read table tkomv with key kschl = 'PBXX' transporting no fields.
if sy-subrc = . "新增了价格
message e899(mm) with tekpo-ebeln tekpo-ebelp '由于已经收货,不允许修改价格。'.
endif.
endif.
endloop. endif.
在CMOD激活这个增强就行了。
作者:明光烁亮
出处:http://www.cnblogs.com/hezhongxun/
微信号:HEme922 欢迎加好友一起交流SAP! 视频资料共享。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
SAP采购订单入库后不允许修改单价增强的更多相关文章
- 【MM系列】SAP 采购订单收货后不能修改价格的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...
- 【MM系列】SAP 采购订单的批量修改
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改 前言 ...
- 【ABAP系列】SAP 销售订单的行项目里条件的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 销售订单的行项目里条件的 ...
- SAP采购订单历史明细报表源代码(自己收藏)
SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF } ...
- SAP采购订单审批记录增强
采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...
- SAP采购订单屏幕增强
转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增 ...
- SAP 采购订单收货时报错:对于采购订单xxxx无收货可能
因为这个问题查了挺长时间,所以写在博客里记录下. 报错详细: 每个公司的配置不同,我公司遇到的这个问题原因是这里的确认控制是从信息记录带过来的,问题解决方法是,修改下确认控制的选项: 修改确认控制的后 ...
- SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0
1.sm30 维护 视图 TCVIEW 修改对应字段的显示长度
- U811.1接口EAI系列之三--采购订单生成--VB语言
采购订单业务,下面是具体代码与参数说明: 下面调用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html 作者:王春天 2013-10-31 ...
随机推荐
- prometheus+grafana实现监控过程的整体流程
prometheus安装较为简单,下面会省略安装步骤: 一.服务器启动 Prometheus启动 ./prometheus --config.file=prometheus.yml Grafana启动 ...
- Java基础部分脑图
这两天事情多,Java摸鱼了,就抽空写了一个脑图聊以自慰,表示自己还是学了的 下面这些全会了,恭喜你,Java的基础你可以毕业了
- Oracle数据库表和表列讲解
如果将数据库比作一个存储东西的储物柜,表就像是储物柜上的各个抽屉,每个抽屉分门别类地存放了各种数据,在设计和规划数据库时,表的定义和规划往往相当重要,良好的表设计决定了程序人员编写程序的便利性与数据库 ...
- 16个实例讲述如何写好App描述
App描述很重要,很多人都知道,但你有没有亲自比较.研究过别人的app是如何描述的呢? 毫无疑问,app描述页面不仅仅是描述,它更多是一个销售页面,开发者不能面对面向用户营销自己的产品,因此app ...
- Unity Shader and Effects Cookbook问题记录
1.p61的specular计算,涉及到的一个参数“_SpecColor”是在Unity的官方cginc文件(UnityLightingCommon.cginc)中,是直接赋颜色给这个参数,反应到你模 ...
- Kafka,RocketMQ,RabbitMQ部署与使用体验
前言 近期在研究各种消息队列方案,为了有一个直观的使用体验,我把Kafka,RocketMQ,RabbitMQ各自部署了一遍,并使用了最基本的生产与消费消息功能.在部署过程中也遇到一些问题,特此记录. ...
- 一、华为模拟器eNSP下载与安装教程
简单介绍一下 eNSP: eNSP是一款由华为提供的免费的图形化网络仿真工具平台,它将完美呈现真实设备实景(包括华为最新的ARG3路由器和X7系列的交换机),支持大型网络模拟,让你有机会在没有真实设备 ...
- k8s yaml示例
Kind选择 https://kubernetes.io/zh/docs/concepts/workloads/controllers/ Pod示例 apiVersion : v1 #版本v1 kin ...
- 基于ffmpeg不同编码方式转码后的psnr对比
一.测试说明: 源文件:1080psrc.mp4 时长:900秒 源文件信息:Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [S ...
- hexo部署在码云中 无样式问题
在本地localhost:4000 运行如下 上传码云之后打开Gitee Pages服务 如下 同时控制台打印 解决方法 找到根目录下的_config.yml中的url 和 root # url: h ...