EBS版本:11i今天做了一外围接口,需要用到替代接收,以前没做过,现研究了下。1、设置物料可替代接收属性:职责:库存超级用户菜单:物料-》主组织物料-》接收- EBS版本:11i今天做了一外围接口,需要用到替代接收,以前没做过,现研究了下。1、设置物料可替代接收属性:职责:库存超级用户菜单:物料-》主组织物料-》接收-》允许替代接收:“是”此处对应 mtl_system_items_b.allow_substitute_receipts_flag 字段,存储为'Y'/'N',默认空为不允许替代接收。2、复制一个物料用于测试:新建一个物料301000010000010,输入物料描述后,工具菜单-》复制自。输入要复制的物料编码,即30100001000001,完成即可。 然后将此物料分配给某个组织。3、维护一个替代接收关系:菜单:物料-》产品关系在弹出的快捷窗口中选择“新建”,起始物料输入源物料,,终止物料输入新建的物料,类型选择“替代”,保存。4、创建采购订单并审批:职责:采购超级用户菜单:采购订单-》采购订单采购物料录入源物料30100001000001,数量100。在发运-》接收控制中,选择“允许替代接收”并选择接收方式为“直接交货”。发运组织选择给新物料分配的那个组织。依次填写发运、分配信息,保存并审批。订单编号:8100079285、接收:职责:采购超级用户菜单:接收-》接收选择发运填写的组织,输入订单编号:810007928并查找,弹出窗口中选新建接收,关闭此小窗口。在行标签页可以看到默认显示物料是订单物料,可以在此字段上选择,即可看到刚维护的替代接收的物料。该行信息录入完毕后,勾选此行前的复选框,保存即可。6、查询接收事务处理:稍等几十秒,等待接收事务处理完成后即可查询是否替代接收成功。职责:采购超级用户菜单:接收-》接收事务处理汇总查询界面输入采购订单编号:810007928, 亦可在物料栏位输入替代接收的物料编码,查找。选择查出的记录,点击事务处理按钮。可以看到接收物料是新建的替代接收物料,成功了!相关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);2、订单发运行是否允许替代接收SELECT Nvl(Plla.Allow_Substitute_Receipts_Flag, 'N') FROM Po_Headers_AllPha,Po_Lines_AllPla,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) ANDNvl(Mri.End_Date, SYSDATE);接口程序:相比普通物料的采购接收,在插入RTI(RCV_TRANSACTION_INTERFACE)时,替代接收需注意以下字段。1、Inspection_Status_Code 替代接收:'NOT INSPECTED' 普通接收:null。2、Substitute_Unordered_Code 替代接收:'SUBSTITUTE' 普通接收:null3、Substitute_Item_Id 替代接收:替代接收物料ID 普通接收:null另,退货时,RTI中所填写的item_id为接收物料的ID,并非订单物料ID。附:接口程序样例及测试脚本。本文出自 “路漫漫其修远兮…” 博客,请务必保留此出处
08-22 22:33