API实现批次序列号的销售出库

需求简介:

         随着制造企业对生产销售的控制越来越高,越来越多的制造型企业增加了对物料的批次、序列号的控制。我们可以在库存职责中的:物料 –> 主组织物料/组织产品 -> 库存TAB页:来这只某个库存组织中是否启用序列或者是批次。

 

 

         启用物料的批次、序列控制后,该无聊在采购入库、销售出库都需要填写相应有效批次序列。

         Ebs中我们经常会碰到要实现自动化的公司间事务处理,比如自动销售出库,自动的采购入库。本文就将讲解如何实现带序列号、批次控制的销售出库。

         Ebs的界面上手工的进行销售出库,我们是去修改物料搬运单的属性,物料搬运单 -> 处理物料搬运单 -> 处理物料搬运单分配。如果启用序列、批次号控制,“序列/批次”按钮将会亮起来。  


         既然实在处理物料搬运单时修改的批次、序列,我们首先就会想到物料搬运单的API来实现这个功能:(挑库确认之前)可使用的API有:

Ø  INV_MOVE_ORDER_PUB.Process_Move_Order

Ø  INV_MOVE_ORDER_PUB.Process_Move_Order_Line

 

API中的p_trolin_tbl(i).lot_numberp_trolin_tbl(i).serial_number_startp_trolin_tbl(i).serial_number_end是允许设置和修改。但是让人失望的是,虽然修改了但是挑库发运却看不出任何效果,发出去的物料根本就不是我们指定的批次和序列。

这是因为,库存事务处理是根据下面三个表中的数据进行处理的,而不是根据物料搬运单行。

Ø  MTL_MATERIAL_TRANSACTIONS_TEMP (库存事务处理临时表)

Ø  MTL_TRANSACTION_LOTS_TEMP       (批次临时表)

Ø  MTL_SERIAL_NUMBERS_TEMP         (序列号临时表)

然而这三个表ORACLE并没有提供API来修改它们。

那么我们想:既然是临时表,为何不直接UPDATE它们?那么我们就试一试。

处理步骤:

1.         创建销售订单

2.         挑库发放(非自动确认)

3.         使用INV_MOVE_ORDER_PUB.Process_Move_Order_Line修改物料搬运单行

4.         更新MMTMLTMST表中的相关数据

5.         挑库确认

6.         发运确认

 

如果你的版本是12.1以后,那么发运过程中的请求将会报错,ERROR_CODESerial Mssing(序列号控制的情况下出现,批次中不会出现,MetaLink补丁解决这个BUG)。

 

但是不管怎么样,去直接UPDATE一个表总让人觉得不好(而且还有BUG),那么如果办呢?

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值