SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求
不知道业务怎么配置的,创建销售单时,一堆计划行类别,什么CN,DN。。。都有,但是审核后需要计划行变更为CP,这样在MD04才能看到需求。
原有逻辑是弄个后台程序,审核后调一下,更新一下计划行,这样是会有需求的。。。
但是,业务有个习惯喜欢VA02直接审,或者是交货后还来修改等等。。。这时候就需要在VA02里做增强。,
原本的开发还是调程序。。。这就产生了很多问题。后来我自己写增强审核的时候自动修改计划行类别,巴特,不产生需求。。。这特么鬼,后来各种找,各种DEBUG,找到根源了。。。
Now,来个增强,实现:MV45AFZZ USEREXIT_SAVE_DOCUMENT_PREPARE
IF ( i_stonO = '20' AND i_stonN = '30' ).LOOP AT XVBEP INTO GX_VBEP.LY_I = SY-TABIX.CASE VBAK-AUART.WHEN 'ZOR' .IF GX_VBEP-ETTYP <> 'CP' AND GX_VBEP-ETTYP <> 'ZD'.GX_VBEP-ETTYP = 'CP'.IF SY-TCODE = 'VA01'.ELSEIF SY-TCODE = 'VA02'.GX_VBEP-UPDKZ = 'U'.GX_VBEP-BEDSD = 'X'.GX_VBEP-BDAALT = '05'.GX_VBEP-BDART = '05'.GX_VBEP-PLART = '0'.IF XVBBE[] IS INITIAL.GW_VBBE-MANDT = SY-MANDT.GW_VBBE-VBELN = GX_VBEP-VBELN.GW_VBBE-POSNR = GX_VBEP-POSNR.GW_VBBE-ETENR = GX_VBEP-ETENR.GW_VBBE-MBDAT = GX_VBEP-EDATU.GW_VBBE-VBTYP = 'C'.GW_VBBE-BDART = '05'.GW_VBBE-PLART = '0'.GW_VBBE-UPDKZ = 'I'.GW_VBBE-OMENG = GX_VBEP-LMENG.GW_VBBE-VMENG = GX_VBEP-BMENG.GW_VBBE-MEINS = GX_VBEP-VRKME.GW_VBBE-PZMNG = GX_VBEP-LMENG.GW_VBBE-AUART = XVBAK-AUART.GW_VBBE-KUNNR = XVBAK-KUNNR.READ TABLE XVBAP INTO GX_VBAP WITH KEY POSNR = GX_VBEP-POSNR.IF SY-SUBRC = 0.LY_J = SY-TABIX.GX_VBAP-SUMBD = 'A'.GX_VBAP-UPDKZ = 'U'.GX_VBAP-BEDUP = 'X'.MODIFY XVBAP FROM GX_VBAP INDEX LY_J TRANSPORTING SUMBD UPDKZ BEDUP.GW_VBBE-MATNR = GX_VBAP-MATNR.GW_VBBE-WERKS = GX_VBAP-WERKS.GW_VBBE-LGORT = GX_VBAP-LGORT.GW_VBBE-CHARG = GX_VBAP-CHARG.GW_VBBE-AWAHR = GX_VBAP-AWAHR.GW_VBBE-VPZUO = GX_VBAP-VPZUO.ENDIF.INSERT GW_VBBE INTO XVBBE INDEX GX_VBEP-ETENR.ENDIF.ENDIF.ENDIF.WHEN 'ZKB' .IF GX_VBEP-ETTYP <> 'E1'.GX_VBEP-ETTYP = 'E1'.IF SY-TCODE = 'VA01'.ELSEIF SY-TCODE = 'VA02'.GX_VBEP-UPDKZ = 'U'.GX_VBEP-BEDSD = 'X'.GX_VBEP-BDAALT = '05'.GX_VBEP-BDART = '05'.GX_VBEP-PLART = '0'.IF XVBBE[] IS INITIAL.GW_VBBE-MANDT = SY-MANDT.GW_VBBE-VBELN = GX_VBEP-VBELN.GW_VBBE-POSNR = GX_VBEP-POSNR.GW_VBBE-ETENR = GX_VBEP-ETENR.GW_VBBE-MBDAT = GX_VBEP-EDATU.GW_VBBE-VBTYP = 'C'.GW_VBBE-BDART = '05'.GW_VBBE-PLART = '0'.GW_VBBE-UPDKZ = 'I'.GW_VBBE-OMENG = GX_VBEP-LMENG.GW_VBBE-VMENG = GX_VBEP-BMENG.GW_VBBE-MEINS = GX_VBEP-VRKME.GW_VBBE-PZMNG = GX_VBEP-LMENG.GW_VBBE-AUART = XVBAK-AUART.GW_VBBE-KUNNR = XVBAK-KUNNR.READ TABLE XVBAP INTO GX_VBAP WITH KEY POSNR = GX_VBEP-POSNR.IF SY-SUBRC = 0.LY_J = SY-TABIX.GX_VBAP-SUMBD = 'A'.GX_VBAP-UPDKZ = 'U'.GX_VBAP-BEDUP = 'X'.MODIFY XVBAP FROM GX_VBAP INDEX LY_J TRANSPORTING SUMBD UPDKZ BEDUP.GW_VBBE-MATNR = GX_VBAP-MATNR.GW_VBBE-WERKS = GX_VBAP-WERKS.GW_VBBE-LGORT = GX_VBAP-LGORT.GW_VBBE-CHARG = GX_VBAP-CHARG.GW_VBBE-AWAHR = GX_VBAP-AWAHR.GW_VBBE-VPZUO = GX_VBAP-VPZUO.ENDIF.INSERT GW_VBBE INTO XVBBE INDEX GX_VBEP-ETENR.ENDIF.ENDIF.ENDIF.WHEN 'ZSP' .READ TABLE XVBAP INTO GX_VBAP WITH KEY POSNR = GX_VBEP-POSNR.IF SY-SUBRC = 0.IF GX_VBAP-PSTYV = 'ZSNN' AND GX_VBEP-ETTYP <> 'ZN'.GX_VBEP-ETTYP = 'ZN'.IF SY-TCODE = 'VA01'.ELSEIF SY-TCODE = 'VA02'.GX_VBEP-UPDKZ = 'U'.GX_VBEP-BEDSD = 'X'.GX_VBEP-BDAALT = '05'.GX_VBEP-BDART = '05'.GX_VBEP-PLART = '0'.IF XVBBE[] IS INITIAL.GW_VBBE-MANDT = SY-MANDT.GW_VBBE-VBELN = GX_VBEP-VBELN.GW_VBBE-POSNR = GX_VBEP-POSNR.GW_VBBE-ETENR = GX_VBEP-ETENR.GW_VBBE-MBDAT = GX_VBEP-EDATU.GW_VBBE-VBTYP = 'C'.GW_VBBE-BDART = '05'.GW_VBBE-PLART = '0'.GW_VBBE-UPDKZ = 'I'.GW_VBBE-OMENG = GX_VBEP-LMENG.GW_VBBE-VMENG = GX_VBEP-BMENG.GW_VBBE-MEINS = GX_VBEP-VRKME.GW_VBBE-PZMNG = GX_VBEP-LMENG.GW_VBBE-AUART = XVBAK-AUART.GW_VBBE-KUNNR = XVBAK-KUNNR.READ TABLE XVBAP INTO GX_VBAP WITH KEY POSNR = GX_VBEP-POSNR.IF SY-SUBRC = 0.LY_J = SY-TABIX.GX_VBAP-SUMBD = 'A'.GX_VBAP-UPDKZ = 'U'.GX_VBAP-BEDUP = 'X'.MODIFY XVBAP FROM GX_VBAP INDEX LY_J TRANSPORTING SUMBD UPDKZ BEDUP.GW_VBBE-MATNR = GX_VBAP-MATNR.GW_VBBE-WERKS = GX_VBAP-WERKS.GW_VBBE-LGORT = GX_VBAP-LGORT.GW_VBBE-CHARG = GX_VBAP-CHARG.GW_VBBE-AWAHR = GX_VBAP-AWAHR.GW_VBBE-VPZUO = GX_VBAP-VPZUO.ENDIF.INSERT GW_VBBE INTO XVBBE INDEX GX_VBEP-ETENR.ENDIF.ENDIF.ELSEIF GX_VBAP-PSTYV = 'ZSAN' AND GX_VBEP-ETTYP <> 'CP'.GX_VBEP-ETTYP = 'CP'.IF SY-TCODE = 'VA01'.ELSEIF SY-TCODE = 'VA02'.GX_VBEP-UPDKZ = 'U'.GX_VBEP-BEDSD = 'X'.GX_VBEP-BDAALT = '05'.GX_VBEP-BDART = '05'.GX_VBEP-PLART = '0'.IF XVBBE[] IS INITIAL.GW_VBBE-MANDT = SY-MANDT.GW_VBBE-VBELN = GX_VBEP-VBELN.GW_VBBE-POSNR = GX_VBEP-POSNR.GW_VBBE-ETENR = GX_VBEP-ETENR.GW_VBBE-MBDAT = GX_VBEP-EDATU.GW_VBBE-VBTYP = 'C'.GW_VBBE-BDART = '05'.GW_VBBE-PLART = '0'.GW_VBBE-UPDKZ = 'I'.GW_VBBE-OMENG = GX_VBEP-LMENG.GW_VBBE-VMENG = GX_VBEP-BMENG.GW_VBBE-MEINS = GX_VBEP-VRKME.GW_VBBE-PZMNG = GX_VBEP-LMENG.GW_VBBE-AUART = XVBAK-AUART.GW_VBBE-KUNNR = XVBAK-KUNNR.READ TABLE XVBAP INTO GX_VBAP WITH KEY POSNR = GX_VBEP-POSNR.IF SY-SUBRC = 0.LY_J = SY-TABIX.GX_VBAP-SUMBD = 'A'.GX_VBAP-UPDKZ = 'U'.GX_VBAP-BEDUP = 'X'.MODIFY XVBAP FROM GX_VBAP INDEX LY_J TRANSPORTING SUMBD UPDKZ BEDUP.GW_VBBE-MATNR = GX_VBAP-MATNR.GW_VBBE-WERKS = GX_VBAP-WERKS.GW_VBBE-LGORT = GX_VBAP-LGORT.GW_VBBE-CHARG = GX_VBAP-CHARG.GW_VBBE-AWAHR = GX_VBAP-AWAHR.GW_VBBE-VPZUO = GX_VBAP-VPZUO.ENDIF.INSERT GW_VBBE INTO XVBBE INDEX GX_VBEP-ETENR.ENDIF.ENDIF.ENDIF .ENDIF.WHEN OTHERS.ENDCASE.MODIFY XVBEP FROM GX_VBEP.ENDLOOP.ENDIF.
转载于:https://www.cnblogs.com/sapSB/p/5569636.html
SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求相关推荐
- SAP销售订单历史修改后台表
SAP销售订单历史修改后台表 The change history will be stored into these tables only if the data element for the ...
- SAP 销售订单状态
VBAK 是销售订单凭证(Sales document) 的抬头表,VBUK是销售订单凭证的状态表,包括订单的各种状态如交货状态,总体状态,开票状态等,但VBUK没有提供基于销售组织的字段,因此SAP ...
- SAP 销售订单无法在MD04显示
在进行SAP相关MRP策略测试时发现,不管选择何种策略,创建销售订单后,MD04无法显示销售订单的信息.通过OVZG维护需求等级.OVZH检查需求类型,还是没有解决问题: 在今天在另一个105系统中进 ...
- 【ABAP】SAP销售订单定价值变更
SAP销售订单定价值变更 大家在日常业务中是否碰到过下图这样的情况,增值税专用发票上的单价小数位有8位(因为这个价格是不含税单价,是在开发票时输入含税单价后系统自动算出来的),然后在SAP中做销售订单 ...
- sap 订单状态修改时间_SAP中对于获取订单的状态
在SAP中对于如何获取订单的状态,提供了至少两个函数,分别是 STATUS_READ 和 STATUS_TEXT_EDIT.下面简单介绍这两个函数 1.STATUS_READ 改函数的实现原理大 ...
- [性能] SAP销售订单取数逻辑优化---索引表
我也分享了许多篇性能优化的帖子,主要集中在sql.语法及合理的索引方面.我们在表上加索引确实能大幅提升性能,但是索引的数量.所需字段及利用率都是我们在新建索引时需要考虑的,对于大多数abaper而言, ...
- SAP 销售订单冻结无法交货问题
1 报错 :作为信用检查结果,销售订单为交货而冻结 解决办法: (1) 事务码 VKM3 :将冻结的订单解冻. (2)打上√ 后,点击绿色小旗子,再点保存. 如果是信贷余额不足,需要先增加信贷额度,f ...
- SAP销售订单关联的生产成本核算
销售订单相关的生产中的预先成本核算 需求等级(Requirement class)使您可以在销售订单中设立一状态,此状态需要一已创建的成本估算.如果成本状态(即将进行成本核算)为销售订单而设置,便不 ...
- SAP销售订单到外向发货
1.客户物料信息记录 创建客户物料信息记录(VD51) 回车之后,进入下一屏,输入物料编号 VD53进行查看 2.销售凭证 SAP中的销售凭证就是销售订单(SO) 1)创建(VA01) 回车 输入物料 ...
最新文章
- recorder-list
- altert/html打印出来的是[object Object]
- MySQL之数据库对象查看工具mysqlshow
- python opencv创建图像_OpenCV-Python 展示图像(1)
- Linux 蓝牙读写,实战Linux Bluetooth编程(三) HCI层编程
- access如何保存小数点后_如何把示波器当记录仪用
- 矩形变弧度角_科普时光 | 下颌角手术需要咬肌切除吗?
- 【mysql union all limit的使用】
- 人工智能艺术:一场用算法固定创意的马拉松
- 微信小程序--瀑布流
- C语言六边形蜂巢数组,生活中的数学之奇妙的蜂窝构造
- 无法自动修复此计算机鼠标按不了机,win10系统罗技M558鼠标无法自动连接的修复方法...
- 小程序昵称突然变成了微信用户头像变成了默认
- 随便聊聊,关于大学,未来的规划
- 数据挖掘——航空公司客户价值分析(分析+建模)
- 电磁炉各主要元件名词,符号及功能解析
- Flutter淘宝App之首页聚划算倒计时的实现
- 网易云音乐再成功融资!2018年成数字音乐资本大年
- 支付账户跨行转账将被叫停 免费转账时代或终结
- 一份非常适合收藏的Android进阶面试题!附面试题答案
热门文章
- ZooKeeper官方文档学习笔记05-ZooKeeper的屏障(Barrier)和队列(Queue)教程
- 【网络安全工程师面试合集】—Web安全攻防技术演化
- git push报错 ! [remote rejected] master -> master (push declined due to email privacy restrictions)
- easyui tree设置选中节点的方法
- vba循环通过键盘某个按键按下退出循环_默纳克3000+最新系统小键盘的使用方法...
- protobuf协议_gRPC 使用 protobuf 构建微服务
- python中类的构成_Python类的构成元素
- linux查看服务器mib,Linux MIB目录的打开和查看
- java默认异常处理_spring boot 默认异常处理的实现
- P3:线性分类、损失函数与梯度下降