当前位置:Gxlcms > mysql > EBS替代接收实例、sql查询及接口程序

EBS替代接收实例、sql查询及接口程序

时间:2021-07-01 10:21:17 帮助过:52人阅读

EBS版本:11i今天做了一外围接口,需要用到替代接收,以前没做过,现研究了下。1、设置物料可替代接收属性:职责:库存超级用户菜单:物料-》主组织物料-》接收-

EBS版本:11i


今天做了一外围接口,需要用到替代接收,以前没做过,现研究了下。

1、设置物料可替代接收属性

职责:库存超级用户

菜单:物料-》主组织物料-》接收-》允许替代接收:“是”

此处对应 mtl_system_items_b.allow_substitute_receipts_flag 字段,存储为'Y'/'N',默认空为不允许替代接收。

234942421.jpg


2、复制一个物料用于测试:

新建一个物料301000010000010,输入物料描述后,工具菜单-》复制自。输入要复制的物料编码,即30100001000001,完成即可。 然后将此物料分配给某个组织。

235452218.jpg


3、维护一个替代接收关系:

菜单:物料-》产品关系

在弹出的快捷窗口中选择“新建”,起始物料输入源物料,,终止物料输入新建的物料,类型选择“替代”,保存。

000533870.jpg


4、创建采购订单并审批:

职责:采购超级用户

菜单:采购订单-》采购订单

采购物料录入源物料30100001000001,数量100。

在发运-》接收控制中,选择“允许替代接收”并选择接收方式为“直接交货”。

发运组织选择给新物料分配的那个组织。

依次填写发运、分配信息,保存并审批。

订单编号:810007928

001926727.jpg


5、接收:

职责:采购超级用户

菜单:接收-》接收

选择发运填写的组织,输入订单编号:810007928并查找,弹出窗口中选新建接收,关闭此小窗口。

在行标签页可以看到默认显示物料是订单物料,可以在此字段上选择,即可看到刚维护的替代接收的物料。

该行信息录入完毕后,勾选此行前的复选框,保存即可。

003433900.jpg


6、查询接收事务处理:

稍等几十秒,等待接收事务处理完成后即可查询是否替代接收成功。

职责:采购超级用户

菜单:接收-》接收事务处理汇总

查询界面输入采购订单编号:810007928, 亦可在物料栏位输入替代接收的物料编码,查找。

选择查出的记录,点击事务处理按钮。

可以看到接收物料是新建的替代接收物料,成功了!

004823970.jpg


相关SQL:

1、物料是否允许替代接收:

SELECT Nvl(Msi.Allow_Substitute_Receipts_Flag, 'N') FROM Mtl_System_Items_b Msi WHERE Msi.Inventory_Item_Id = Pi_Item_Id AND Msi.Organization_Id = Pi_Organization_Id AND Inventory_Item_Status_Code IN ('有效', 'Active') AND Nvl(Enabled_Flag, 'N') = 'Y' AND Nvl(Start_Date_Active, Trunc(Pi_Transaction_Date)) <= Trunc(Pi_Transaction_Date) AND Nvl(End_Date_Active, Trunc(Pi_Transaction_Date) + 1) > Trunc(Pi_Transaction_Date);


2、订单发运行是否允许替代接收

SELECT Nvl(Plla.Allow_Substitute_Receipts_Flag, 'N') FROM Po_Headers_All Pha, Po_Lines_All Pla, Po_Distributions_All Pda, Po_Line_Locations_All Plla WHERE 1 = 1 AND Pda.Po_Distribution_Id = Pi_Distribution_Id AND Pda.Line_Location_Id = Plla.Line_Location_Id AND Pda.Po_Header_Id = Pha.Po_Header_Id AND Pla.Po_Header_Id = Pha.Po_Header_Id AND Pla.Po_Line_Id = Pda.Po_Line_Id AND Pha.Po_Header_Id = Pi_Header_Id AND Nvl(Plla.Cancel_Flag, 'N') <> 'Y' AND Nvl(Plla.Closed_Code, 'OPEN') NOT IN ('CLOSED', 'CLOSED FOR RECEIVING', 'FINALLY CLOSED') AND Nvl(Plla.Approved_Flag, 'N') = 'Y';


3、供应商是否允许替代接收

SELECT Nvl(Pv.Allow_Substitute_Receipts_Flag, 'N') FROM Po_Vendors Pv WHERE Vendor_Id = Vn_Vendor_Id;


4、是否存在产品关系

SELECT COUNT(1) FROM Mtl_Related_Items_All_v Mri WHERE 1 = 1 AND Mri.Inventory_Item_Id = Vn_Item_Id AND Mri.Related_Item_Id = Vn_Substitute_Item_Id AND Mri.Relationship_Type_Id = 2 AND Mri.Reciprocal_Flag = 'Y' AND SYSDATE BETWEEN Nvl(Mri.Start_Date, SYSDATE) AND Nvl(Mri.End_Date, SYSDATE);


接口程序:

相比普通物料的采购接收,在插入RTI(RCV_TRANSACTION_INTERFACE)时,替代接收需注意以下字段。

1、Inspection_Status_Code

替代接收:'NOT INSPECTED'

普通接收:null。

2、Substitute_Unordered_Code

替代接收:'SUBSTITUTE'

普通接收:null

3、Substitute_Item_Id

替代接收:替代接收物料ID

普通接收:null


另,退货时,RTI中所填写的item_id为接收物料的ID,并非订单物料ID。


附:接口程序样例及测试脚本。



本文出自 “路漫漫其修远兮…” 博客,请务必保留此出处

人气教程排行