Oracle EBS VMI/寄售(6)--不能创建冲减解决方案

最近,QQ群友反应他们公司的部分VMI/寄售耗用以后,物料事务处理的“冲减通知”的创建状态一直是“待定”,如下图

其它VMI/寄售供应商或该供应商的耗用,在该事务处理之前或之后都可以通过创建冲通知产生一揽子发放。反复提交请求“创建冲减通知单”也没有作用。

我提供了一条SQL在后台查询有没有产生一揽子发放,如下

Select PRA.*
  From MTL_CONSUMPTION_TRANSACTIONS MCT, PO_RELEASES_ALL PRA
 Where MCT.CONSUMPTION_RELEASE_ID = PRA.PO_RELEASE_ID
   And MCT.TRANSACTION_ID = &TRANSACTION_ID

经过查询没有产生一揽子发放单。
再提供一条SQL在后台查询VMI/寄售事务处理表有没有记录,如下

Select MCT.*
  From MTL_CONSUMPTION_TRANSACTIONS MCT
 Where MCT.TRANSACTION_ID = &TRANSACTION_ID

他所查询的结果也是没有记录。汗!!!不可能呀,这么会没有记录呢?其它的VMI/寄售用什么方式产生一揽子发放呢?

通常VMI/寄售耗用时,物料事务处理会产生多条记录,以(设置)子库存移耗用会产生4条记录如下,其中有一条记录的TRANSACTION_ID与MTL_CONSUMPTION_TRANSACTIONS.TRANSACTION_ID字段对应,本例的TRANSACTION_ID为最后一条21136347

Oracle EBS VMI/寄售(6)--不能创建冲减解决方案_第1张图片

经过多次测试不同TRANSACTION_ID值,找到后台对物料事务处理记录如下:

通过查看记录字段CONSUMPTION_RELEASE_ID(一揽子发放的PO_RELEASE_ID)、CONSUMPTION_PROCESSED_FLAG(Y表示已产生一揽子发放;N表示未产生一揽子发放)和BATCH_ID(为249611,说明创建减冲通知时产生的批标识ID),判断结果:没有产生一揽子发放,并且提交“创建冲减通知”请求。但是后续没有自动提交“创建冲减通知工作进程”,有可能DBA维护系统时,强制Kill该请求的进程,导致请求中断。

首先,我们要从VMI/寄售耗用到一揽发放业务的了解。如下图
Oracle EBS VMI/寄售(6)--不能创建冲减解决方案_第2张图片

参考:Oracle EBS 寄销/VMI(2)-->采购篇

再次,提交“创建冲减通知”以后会自动提交请求“创建冲减通知工作进程”。其中,请求“创建冲减通知”通过包INV_CONSUMPTION_ADVICE_PROC的过程batch_allocation分配mtl_consumption_transactions.batch_id的值,而请求“创建冲减通知工作进程”创建一揽子发放单,并且更新表MTL_CONSUMPTION_TRANSACTIONS字段:CONSUMPTION_RELEASE_ID和CONSUMPTION_PROCESSED_FLAG。

根据以上介绍,本案的解决二种方案:

1.提交请求“创建冲减通知工作进程”。

2.修改对应未产生一揽子发放的VMI寄售事务处理表,如下

UPDATE mtl_consumption_transactions
   SET consumption_po_header_id   = Null,
       consumption_release_id     = Null,
       BATCH_ID                   = Null
 Where CONSUMPTION_PROCESSED_FLAG = 'N'
   And BATCH_ID Is Not Null
   And error_code Is Null

然后,提交“创建冲减通知”请求。

本案QQ群友采用了第二种方案解决结果如下

你可能感兴趣的:(Oracle EBS VMI/寄售(6)--不能创建冲减解决方案)