Receiving 时动态插入 Subinventory Locator

在 Subinventory 下面还有 Locator 控制. 对于一个 sub 是否启用 locator 控制, 实在 Subinventory form 里面控制的.

比较常用的是 Item Level, 在 item 层次定义是否启用locator 控制, 这里的 locator 要是 Sub 里面已经定义好的. 也可以选择 Dynamic entry, 动态插入 locator. 这个 locator 可以是这个 Sub 里面还没有的, 动态生成.

在Receipts 界面收货的时候, 输入 Sub 和一个 locator. 这个 locator 可以是这个 Sub 已经存在的, 也可以是整个 Org 都不存在的, 但不可以是这个 Sub 不存在, 但是存在于其他 Sub 里面的

保存这个 Form, 于是就动态生成了一个 locator

select * from MTL_ITEM_LOCATIONS 
where SUBINVENTORY_CODE = 'yuSub' 
and SEGMENT1 = 10
and SEGMENT2 = 1
and SEGMENT3 = 6;
在这条记录里面记录了这个 locator 的基本信息, 包括所属 Organization, Sub, 各个segment, enabled_flag, status_id 等等.

但是需要注意的是, Form 上的 Locator 是一个 Key Flexfield, 这个 field 是由 Form 自动插入表中的

INSERT INTO MTL_ITEM_LOCATIONS(
ENABLED_FLAG, 
SUMMARY_FLAG, 
START_DATE_ACTIVE, 
END_DATE_ACTIVE, 
LAST_UPDATE_DATE, 
LAST_UPDATED_BY, 
SEGMENT1, 
SEGMENT2, 
SEGMENT3, 
ORGANIZATION_ID, 
INVENTORY_LOCATION_ID) 
VALUES (
'Y', 
:sumflg, 
to_date(:sdate, 'J'), 
to_date(:edate, 'J'), 
SYSDATE, 
:user_id, 
:SEGMENT1, 
:SEGMENT2, 
:SEGMENT3, 
:ORGANIZATION_ID, 
:INVENTORY_LOCATION_ID)
这里并没有插入 Locator 所属的 SUBINVENTORY_CODE, 也没有插入这个 Locator 的 STATUS_ID.

实际的做法是, 在 Form 保存的时候, 调用了触发器 RCVRCERC.fmb -> RCV_TRANSACTION -> PRE-UPDATE

在这个触发器里面调用了

rcv_receipts_eh2.event ('PRE-UPDATE');
在 RCVRCERL.pld, PACKAGE BODY RCV_RECEIPTS_EH2, event = 'PRE-UPDATE' 里面接着调用
rcv_locator_control.set_locator_attributes (event);
在 RCVCOTRX.pld, PACKAGE BODY RCV_LOCATOR_CONTROL, PROCEDURE  set_locator_attributes, event = 'PRE-UPDATE'

update mtl_item_locations
set    subinventory_code = X_subinventory
where  inventory_location_id = X_locator_id
and    organization_id = X_organization_id
and    subinventory_code is null;
update mtl_item_locations
set    status_id = l_locator_status
where  inventory_location_id = X_locator_id;
这样就完善了 Locator 记录里面的 Sub 和 Status.

在 RCVTXERE.pld,  RCV_TRANSACTIONS_1.event (event = 'PRE-UPDATE') OR (event = 'PRE-INSERT') 里面也有同样的代码, 做了同样的事情. 但那可能不是对应 Recepts 界面收货的情况, 而是其他的业务.


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值