委外采购申请或委外订单收货完成后,造成的MRP异常处理
由于SAP系统的委外倒冲,有时候会多冲(1PCS),造成MRP运算后异常,如图:
分析原因:
由于委外申请或委外订单所对应的预留单(表RESB)中提货数量大于需求数量造成的。
处理方法:
(1)当委外申请对应的预留单中提货数量大于需求数量时。
把委外申请单的结算标识勾选并保存即可,如图:
通过程序批量处理(示意代码):
“找出所有有问题的采购申请
SELECT
eban~werks "工厂
eban~matnr "物料
eban~txz01 "物料描述
eban~banfn "采购申请
eban~bnfpo "行项目
eban~bsart "凭证类型
eban~bstyp "项目类别
eban~loekz "删除标识
eban~frgkz "审批状态
eban~ekgrp "采购组
eban~badat "采购申请创建日期
eban~lfdat "采购申请交货日期
eban~frgdt "采购申请批准日期
eban~menge "采购申请数量
eban~lgort "库位
INTO CORRESPONDING FIELDS OF TABLE gt_itab
FROM eban
INNER JOIN RESB on eban~BANFN = RESB~BANFN AND eban~BNFPO = RESB~BNFPO
WHERE eban~werks IN s_werks
AND eban~matnr IN s_matnr
AND eban~banfn IN s_banfn
AND eban~bnfpo IN s_bnfpo
AND RESB~matnr IN s_matnr1
AND Pstyp = '3' "项目类别
AND loekz NE 'X' "删除标识
AND ebakz NE 'X' "结算标识
AND RESB~ENMNG > RESB~BDMNG "提货数量大于需求单
”循环处理有问题的委外采购申请
DATA:lt_return TYPE STANDARD TABLE OF bapireturn,
ls_return TYPE bapireturn.
FIELD-SYMBOLS : <FS_PR> TYPE BAPIMEREQITEM .
DATA : I_RETURN TYPE TABLE OF BAPIRET2 ,
K_PRITEMX LIKE BAPIMEREQITEM ,
I_PRITEM_GET TYPE TABLE OF BAPIMEREQITEM ,
I_PRITEM_GET_LINE LIKE LINE OF I_PRITEM_GET ,
I_PRITEMX TYPE BAPIMEREQITEMX OCCURS 0 ,
IS_PRITEMX TYPE BAPIMEREQITEMX ,
I_PRITEM TYPE TABLE OF BAPIMEREQITEMIMP ,
I_PRITEM_LINE LIKE LINE OF I_PRITEM ,
I_SERVICES TYPE TABLE OF BAPI_SRV_SERVICE_LINE ,
I_SERVICES_LINE LIKE LINE OF I_SERVICES ,
I_SERVICESX TYPE TABLE OF BAPI_SRV_SERVICE_LINEX ,
I_SERVICESX_LINE LIKE LINE OF I_SERVICESX ,
K_RETURN LIKE LINE OF I_RETURN,
* LV_TABIX LIKE SY-TABIX
lv_number LIKE bapimereqheader-preq_no ,"Pr 单号
l_flag TYPE c
.
LOOP AT gt_itab INTO gs_itab WHERE mark = 'X'.
"获取PR 明细 并更新结算状态
lv_number = gs_itab-banfn.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_number
IMPORTING
output = lv_number.
CALL FUNCTION 'BAPI_PR_GETDETAIL' "获取明细
EXPORTING
NUMBER = lv_number
SERVICES = 'X'
TABLES
RETURN = I_RETURN
PRITEM = I_PRITEM_GET
SERVICELINES = I_SERVICES .
IF SY-SUBRC = 0 .
LOOP AT I_PRITEM_GET INTO I_PRITEM_GET_LINE .
I_PRITEM_GET_LINE-CLOSED = 'X' .
I_PRITEM_GET_LINE-REQ_BLOCKED = '1' .
I_PRITEM_GET_LINE-REASON_BLOCKING = '尾量不需执行' .
* If pr is locked clear deletion indicator to unlock it.
MOVE-CORRESPONDING I_PRITEM_GET_LINE TO I_PRITEM_LINE .
IF I_PRITEM_LINE-DELETE_IND = 'L' .
CLEAR I_PRITEM_LINE-DELETE_IND .
ENDIF .
IS_PRITEMX-PREQ_ITEM = I_PRITEM_LINE-PREQ_ITEM .
* k_pritemx-delete_ind = 'X'.
IS_PRITEMX-PREQ_ITEMX = 'X' .
IS_PRITEMX-CLOSED = 'X' .
IS_PRITEMX-REQ_BLOCKED = 'X' .
IS_PRITEMX-REASON_BLOCKING = 'X' .
APPEND IS_PRITEMX TO I_PRITEMX .
CLEAR K_PRITEMX .
APPEND I_PRITEM_LINE TO I_PRITEM .
CLEAR I_PRITEM_LINE .
ENDLOOP .
CLEAR I_RETURN .
CALL FUNCTION 'BAPI_PR_CHANGE' "更新状态
EXPORTING
number = lv_number
TABLES
return = I_RETURN
pritem = I_PRITEM
pritemx = I_PRITEMX
* pritemtext = lt_pritemtext
.
IF Sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X' .
ENDIF.
LOOP AT I_RETURN INTO ls_return WHERE type = 'A'
OR type = 'E'
OR type = 'X'.
ENDLOOP.
IF sy-subrc = 0.
CONCATENATE gs_itab-MESSAGE '结算标识错误:' ls_return-message INTO gs_itab-MESSAGE.
gs_itab-light = '@0A@'.
MODIFY gt_itab FROM gs_itab.
ELSE.
gs_itab-light = '@08@'.
MODIFY gt_itab FROM gs_itab.
ENDIF.
Free : I_RETURN,I_PRITEM,I_PRITEMX.
ENDIF.
CLEAR gs_itab.
CLEAR : lv_number.
ENDLOOP.
(2)委外订单对应的预留单中提货数量大于需求数量时。
把相应的委外订单中“交货已完成”勾选(个别S4 Hana 有时间重复操作,即选取消勾选,保存,然后再勾选,再保存)
通过程序批量找到相应的委外采购订单并处理
SELECT
EKKO~LIFNR "供应商编号
EKPO~matnr "物料
EKPO~txz01 "物料描述
EKKO~BEDAT "凭证日期
EKKO~EBELN "采购申请
EKPO~EBELP "行项目号
EKKO~FRGKE "审批标识
EKPO~menge "采购数量
EKPO~MEINS "采购单位
EKPO~ELIKZ "交货已经完成
EKPO~werks "交货工厂
RESB~RSNUM "预留单号
RESB~RSPOS "预留项目号
RESB~BDMNG "需求量
RESB~ENMNG "提货数量
RESB~matnr as matnr1 "预留物料
INTO CORRESPONDING FIELDS OF TABLE gt_itab
FROM EKKO
INNER JOIN EKPO ON EKKO~EBELN = EKPO~EBELN
INNER JOIN RESB on EKPO~EBELN = RESB~EBELN AND EKPO~EBELP = RESB~EBELP
WHERE EKPO~werks IN s_werks
AND EKPO~matnr IN s_matnr
AND EKKO~EBELN IN s_EBELN
AND EKPO~EBELP IN s_EBELP
AND RESB~matnr IN s_matnr1
AND EKPO~PSTYP = '3' "项目类别
AND EKPO~LOEKZ NE 'X' "删除标识
AND EKPO~ELIKZ NE 'X'
AND RESB~ENMNG > RESB~BDMNG "提货数量大于需求单
全部查询出来之后,可以手工处理,也可通写程序处理,还可以通过事务码MASS批理处理。
最后,就可以看到效果如下:
委外采购申请或委外订单收货完成后,造成的MRP异常处理相关推荐
- SAP WM 采购订单收货后LT06报错-Allowed storage unit types not defined for storage type Z03-
SAP WM 采购订单收货后LT06报错-Allowed storage unit types not defined for storage type Z03- 1,如下的storage type ...
- SAP WM 采购订单收货后LT06报错-No bin types have been assigned to storage unit type IP-
SAP WM 采购订单收货后LT06报错-No bin types have been assigned to storage unit type IP- 1,如下的storage type Z03, ...
- SAP QM 采购订单收货时没有Vendor CoA就不让收货过账的实现
SAP QM 采购订单收货时没有Vendor CoA就不让收货过账的实现 物料号757, 指派了QM Control Key 0005, Certificate Type Z01,没有激活检验类型. ...
- SAP WM 针对采购订单收货时候不能自动获取物料主数据里的Special Movement Indicator?
SAP WM 针对采购订单收货时候不能自动获取物料主数据里的Special Movement Indicator? SAP WM模块里有一个标记叫做Special Movement Indicator ...
- SAP MM 标准采购组织的分配对于寄售采购订单收货的影响
SAP MM 标准采购组织的分配对于寄售采购订单收货的影响 PO 4100004022 是一个寄售的采购订单, 采购组织是CSAS, 工厂代码SZSP.采购信息记录也是有的, MIGO试图对该采购订单 ...
- SAP WM 采购订单收货后LT06上架界面弹出的QM Sample小窗口如何不让其出现?
SAP WM 采购订单收货后LT06上架界面弹出的QM Sample小窗口如何不让其出现? MIGO 101 to do GR against purchase order, Posted, and ...
- 采购订单收货后不能修改价格的增强
采购订单收货后不能修改价格的增强 增强名:MM06E005 出口:EXIT_SAPMM06E_012 IF SY-TCODE <> 'ME22N' AND SY-TCODE <&g ...
- SAP MM 采购订单收货被取消了还是不能增加新的delivery cost!
SAP MM 采购订单收货被取消了还是不能增加新的delivery cost! PO# 8500015169, we did GR and cancelled GR, there is no IR f ...
- SAP中采购订单收货和发票收据选项的控制逻辑分析
下图截取自采购订单中的收货和发票的相关选项.其明确控制逻辑到底是什么?勾选与否又有什么影响.结合实际应用经验分析梳理一下. 在采购订单中,收货和发票收据可以由后台配置的订单类型做不同定义代入一个默认值 ...
最新文章
- 随堂小测app冲刺(六)
- msvc/gcc:中用#pragma指令关闭特定警告(warning)
- HBase应用快速学习
- xtrabackup 恢复单个表【转】
- Qt使用MSVC编译器关闭“warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告的方法
- python2.7读取csv文件_13.1. csv — CSV 文件读写 — Python 2.7.18 文档
- ASP.NET Core 自动检查编译项目组件配置
- Machine Learning - XVIII. Application Example Photo OCR应用实例-照片OCR(Week10)
- Citrix 桌面云 XenApp_XenDesktop_7.18 部署
- 什么是弱密码,如何避免
- java调用考勤机_zkteco iface702 中控考勤机java开发步骤一---连接考勤机
- 【爬虫】谷歌、必应、百度图片爬取用于深度学习
- (转)《蜗居》带给校园男女多少悲喜
- 应用排行榜第一名脸萌仅仅是刹那的烟火
- 微信小程序--小程序及微信生态圈
- 板绘:一支没有墨水的笔的故事
- asp.net负载均衡方案[转]
- ucosii操作系统和linux,请高手介绍下uCOSII和Linux的差异?
- 22岁天才少女加入华为,曾获编程界的奥林匹克世界冠军
- 树洞程序php,树洞表白墙程序