ABAP 设置开票后不允许修改采购订单价格

2023-11-07 14:52

本文主要是介绍ABAP 设置开票后不允许修改采购订单价格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ABAP 设置开票后不允许修改采购订单价格
增强:MM06E005
EXIT_SAPMM06E_012
INCLUDE ZXM06U43 .

&---------------------------------------------------------------------
*& 包含 ZXM06U43
&---------------------------------------------------------------------

***设置开票后不允许修改采购订单价格-公司间PO
DATA:BEGIN OF lt_ekbe OCCURS 0,
ebeln LIKE ekbe-ebeln,
ebelp LIKE ekbe-ebelp,
gjahr LIKE ekbe-gjahr,
belnr LIKE ekbe-belnr,
buzei LIKE ekbe-buzei,
bewtp LIKE ekbe-bewtp,
bwart LIKE ekbe-bwart,
shkzg LIKE ekbe-shkzg,
bamng LIKE ekbe-bamng,
END OF lt_ekbe.

IF sy-tcode = 'ME22N'OR sy-tcode = 'ME23N'OR sy-tcode = 'ME29N'OR sy-tcode = 'ME21N' .IF i_ekko-bsart = 'Z005'OR i_ekko-bsart = 'Z009'OR i_ekko-bsart = 'Z010'.LOOP AT tekpo.REFRESH lt_ekbe.SELECTekbe~ebelnekbe~ebelpekbe~gjahrekbe~belnrekbe~buzeiekbe~bwartINTO CORRESPONDING FIELDS OF TABLE lt_ekbeFROM ekbeJOIN rbkp ON ekbe~belnr EQ rbkp~belnrAND ekbe~gjahr EQ rbkp~gjahrWHERE ekbe~ebeln EQ tekpo-ebelnAND ekbe~ebelp EQ tekpo-ebelpAND ekbe~bewtp EQ 'Q'AND rbkp~stblg EQ ''AND rbkp~rbstat <> '2'.IF lt_ekbe[] IS NOT INITIAL.SELECT kposn, "项目kschl, "条件类型kbetr  "价格INTO TABLE @DATA(lt_price)FROM prcd_elementsWHERE knumv = @i_ekko-knumvAND kposn = @tekpo-ebelpAND kinak = ''AND kschl = 'P101'.READ TABLE lt_price INTO DATA(lv_price1) WITH KEY kposn  = tekpo-ebelpkschl  = 'P101'.IF sy-subrc = 0.READ TABLE tkomv INTO DATA(ls_komv1) WITH KEY kschl = 'P101'knumv = i_ekko-knumvkposn = tekpo-ebelp.IF sy-subrc = 0.IF lv_price1-kbetr <> ls_komv1-kbetr.MESSAGE e899(mm) WITH tekpo-ebeln tekpo-ebelp '由于已经开票,不允许修改价格。'.ENDIF.ENDIF.ENDIF.ENDIF.ENDLOOP.ENDIF.
ENDIF.

***设置开票后不允许修改采购订单价格-公司间PO

这篇关于ABAP 设置开票后不允许修改采购订单价格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit

使用Spring Cache时设置缓存键的注意事项详解

《使用SpringCache时设置缓存键的注意事项详解》在现代的Web应用中,缓存是提高系统性能和响应速度的重要手段之一,Spring框架提供了强大的缓存支持,通过​​@Cacheable​​、​​... 目录引言1. 缓存键的基本概念2. 默认缓存键生成器3. 自定义缓存键3.1 使用​​@Cacheab

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja