将来发运导致库存事务处理问题

转载 2015年11月18日 11:03:36

涉及到使用将来日期发运订单问题。原因:由于工厂的销售订单在挑库结束后由EDI程序接受对方确认发运信息后自动完成SO的确认发运。然而客户要求提前实现AR开票业务,这样就意味着工厂接受到的订单确认发运信息中的发运日期有可能是将来日期,如下图所示:

  

将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴
 系统标准功能能够实现OM将来发运的功能,而且在AR下可以开发票,但随之而来的另一个问题出现了:
INV模块无法实现将来期间日期的出入库,从而引发物料,成本等相关问题。

      所以我们要解决的问题主要分两部分:1.实现将来发运功能。2.解决将来日期发运在INV遗留的问题。应客户的愿望我们采取如下的解决方案:

1.实现将来发运功能

①设置允许将来发运日期的参数

首先我们需要设置标准功能来实现将来发运的功能,然后再解决INV的问题,如下图,再OM下我们需要进行如下设置后就可以用将来日期来发运SO.。

 

将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴
②使用将来日期来发运销售订单

项目中是由客户化程序自动发运确认,这里为了演示方便我们使用手动发运确认。如下图,订单创建了交货并成功挑库后我们使用将来日期来发运确认:  

将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴
这是会报实际发运日期是将来日期的警告:
将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴
 
 同时订单行的状态是已发运,下一步是运行接口,如果正常发运则行的状态应该是Interfaced。
将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴
 

 

这时我们来查看后台请求时会发现“Interface Trip Stop”请求报警告,警告信息是“The date you have entered cannot be a date in the future.  Please enter a past date or today's date.”

③开AR发票是正常的
如下图,在LOV中可以找到该事务处理号(本系统中设置为交货号)则说明可以开AR发票(如果找不到可以到INV模块推一下工作流后再回来查看)。

将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴

 

2.解决将来日期发运在INV遗留的问题。

INV模块无法实现将来期间日期的出入库,但我们可以先完成确认发运(从而可以开AR发票),然后等到事物处理时间<=当前时间 的时候再进行Interface.

①首先我们来看一下mtl_transactions_interface 这个接口表 

将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴

这条数据卡在接口表里,原因是使用了将来日期,注意当前PROCESS_FLAG为3。

②制作并发请求完成Interface

这是我们可以做一个并发程序程序的主函数如下

    CURSOR cur_mti_errors(p_organization_id IN NUMBER) IS
      SELECT mti.transaction_interface_id,
             mti.transaction_header_id,
             mti.process_flag,
             mti.transaction_date,
             mti.error_code
      FROM mtl_transactions_interface mti
     WHERE mti.organization_id = p_organization_id
       AND mti.source_code = 'ORDER ENTRY'
       AND mti.transaction_date <= SYSDATE
       AND (mti.ERROR_CODE LIKE
           'Transaction date is a future date%The date you have entered cannot be a date in the future%'    
               OR mti.ERROR_CODE LIKE
           '事务处理日期%是将来日期%您输入的日期不能是将来日期%')
       AND mti.process_flag = 3;

这个CURSOR将当前时间可以进行Interface的数据查询出来(注意transaction_date <= SYSDATE )
然后将process_flag 置 1,如下:
      UPDATE mtl_transactions_interface mti
         SET mti.process_flag = 1
       WHERE mti.transaction_interface_id = rec_mti_errors.transaction_interface_id;

最后调用Interface Trip Stop – SRS

    --------------------------------------------------
    -- Submit Request:'WSHINTERFACES':连接行程停靠站请求
    --------------------------------------------------
    v_request_id := fnd_request.submit_request('WSH',
                                               'WSHINTERFACES',  --连接行程停靠站请求
                                               '',
                                               TO_CHAR(SYSDATE,'YYYY/MM/DD HH24:MI:SS'),
                                               FALSE,
                                               'ALL',            --Mode
                                               '',               --Trip Stop
                                               p_delivery_id,    --Delivery
                                               0,                --Debug Level
                                               '',               --Batch ID
                                               '',               --Trip Type
                                               p_organization_id,--Organization
                                               1,                --Number Of Child Process
                                               1,                --Stops per Batch
                                               CHR(0));
③运行请求后查看发运行状态

      我们可以将该请求设置成计划请求,这样每天都会轮训mtl_transactions_interface表,并将可以处理的数据Interface,这样我们即可以实现提前开AR发票又不影响库存和成本。
当transaction_date <= SYSDATE时该程序运行后则调用Interface Trip Stop – SRS程序,则发运的行的状态如下

将来发运导致库存事务处理问题的解决方案 - 花刺 - 我的点点滴滴

销售订单发运后的状态为:已发运; 下一步为:运行接口 。仓库库存没有扣减

销售订单发运后的状态为:已发运; 下一步为:运行接口。仓库库存没有扣减 问题概述 在正常的销售订单发运处理后,在发运--事务处理中的行状态和下一步中分别为:已连接  不适用  但在这个销售订单发运处...
  • AndersHo
  • AndersHo
  • 2014年12月09日 15:43
  • 1271

关于销售订单挑库发放卡接口以及发运处理卡接口的处理方式

1.关于销售订单挑库发放卡接口的处理方式:         在处理异常过程中,有时会碰到销售挑库后物料已有保留,但是交易记录就一直卡接口,到待定事务处理处提交也不成功,也没任何错误提示。     ...
  • mia502908009
  • mia502908009
  • 2016年01月25日 10:13
  • 1318

销售订单行状态为“已登记”解决办法

销售订单登记之后行状态正常情况是“等待发运”,但是可能会出现行状态是“已登记”,这种是因为工作流出现了某些问题导致 解决办法: 去订单相应的职责下提交一个“重试出错的活动”请求,在参数“订单编号”...
  • huangwenkangz
  • huangwenkangz
  • 2016年10月11日 12:08
  • 730

销售订单状态

SELECT lookup_type, lookup_code, meaning, description,        DECODE (view_application_id,        ...
  • x_focus
  • x_focus
  • 2014年08月08日 14:43
  • 767

Oracle EBS OM处理销售挑库卡在待定事务处理和保留中

Oracle EBS OM 销售订单挑库,搬运单分配以后就被卡在待定事务处理和保留中
  • chenxianping
  • chenxianping
  • 2015年01月04日 21:36
  • 6476

《App 后台开发运维和架构实践》完整目录

ps:由于书的目录太长了,各大网店(京东,当当,亚马逊)都显示不完整,所以这里列出目录的完整版。...
  • newjueqi
  • newjueqi
  • 2016年06月05日 22:48
  • 17275

EBS销售订单挑库发放处理程序

在EBS实施中,经常遇到从外部传进来一个被登记的销售订单,需要通过程序进行销售订单的挑库发放下面是对SO挑库发放的实现步骤的详细实现:1. 对销售订单的有效性验证    1)检查销售订单的行是否被完全...
  • cunxiyuan108
  • cunxiyuan108
  • 2010年11月17日 14:23
  • 12272

Oracle EBS AR 发运确认未产生数据到应收接口表中

应收接口API RA_INTERFACE_LINES_ALL实践
  • chenxianping
  • chenxianping
  • 2011年05月11日 19:00
  • 7158

《App后台开发运维和架构实践》推荐序

软件开发工具的成长速度远远超过开发人员的成长速度,这是现实。 每个月,甚至每天,我们都可以见到新的类库、框架、工具、语言。它们或者极大地降低了开发的成本,或者极大地提升了开发的效率。 随之而来的问...
  • newjueqi
  • newjueqi
  • 2016年06月05日 10:33
  • 9161

《App后台开发运维和架构实践》前言

《App后台开发运维和架构实践》写作历程
  • newjueqi
  • newjueqi
  • 2016年06月05日 10:19
  • 6511
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将来发运导致库存事务处理问题
举报原因:
原因补充:

(最多只允许输入30个字)