Oracle EBS Interface/API(17)-Import application form (Import issues with application lines from different suppliers for the same batch of the same material)

Background:
         When importing purchase requisitions, with the same batch of material interface table with rows of different suppliers to submit a request "to apply import" after the completion of system integration is always the default "Sourcing Rules" where a supplier .

Solution: The
reference code example is as follows:

DECLARE
  Lt_Pr_Rec      Po_Requisitions_Interface_All%ROWTYPE;
  Ln_Org_Id      NUMBER := 82; --业务实体标识
  Ln_Employee_Id NUMBER := 1972; --编制人(员工)标识
BEGIN
  -- Init Applications Context
  Mo_Global.Init('PO');
  Mo_Global.Set_Policy_Context('S', Ln_Org_Id);
  Fnd_Global.Apps_Initialize(User_Id => 110, Resp_Id => 293824, Resp_Appl_Id => 20003);

  Lt_Pr_Rec.Header_Description    := 'PR申请导入测试'; --申请题头说明
  Lt_Pr_Rec.Authorization_Status  := 'INCOMPLETE'; --状态
  Lt_Pr_Rec.Preparer_Id           := Ln_Employee_Id; --编制人标识
  Lt_Pr_Rec.Preparer_Name         := 'Joe Li'; --编制人
  Lt_Pr_Rec.Interface_Source_Code := 'Manual Import'; --导入来源
  Lt_Pr_Rec.Org_Id                := Ln_Org_Id; --业务实体标识
  Lt_Pr_Rec.Requisition_Type      := 'PURCHASE'; --申请类型
  --Who Column
  Lt_Pr_Rec.Last_Updated_By   := Fnd_Global.User_Id;
  Lt_Pr_Rec.Last_Update_Date  := SYSDATE;
  Lt_Pr_Rec.Last_Update_Login := Fnd_Global.User_Id;
  Lt_Pr_Rec.Creation_Date     := SYSDATE;
  Lt_Pr_Rec.Created_By        := Fnd_Global.Login_Id;
  --Line 1
  Lt_Pr_Rec.Destination_Type_Code         := 'INVENTORY'; --目的地类型
  Lt_Pr_Rec.Quantity                      := 1; --申请数量
  Lt_Pr_Rec.Batch_Id                      := '20191120'; --导入批次标识
  Lt_Pr_Rec.Autosource_Flag               := 'P'; --控制自动来源
  Lt_Pr_Rec.Item_Id                       := 17492890; --物料标识
  Lt_Pr_Rec.Item_Segment1                 := 'MDA2914PVC001'; --物料编码
  Lt_Pr_Rec.Charge_Account_Id             := 1079; --借记帐户标识
  Lt_Pr_Rec.Unit_Of_Measure               := 'PCS'; --单位
  Lt_Pr_Rec.Uom_Code                      := 'PCS'; --单位代码
  Lt_Pr_Rec.Line_Type                     := '货物'; --行类型
  Lt_Pr_Rec.Reference_Num                 := 'Manual Import*20191120'; --行参考编号
  Lt_Pr_Rec.Destination_Organization_Id   := 126; --目的库存组织标识
  Lt_Pr_Rec.Destination_Organization_Code := '11G'; --目的库存组织代码
  Lt_Pr_Rec.Destination_Subinventory      := 'M01'; --子库存代码
  Lt_Pr_Rec.Deliver_To_Location_Id        := 225; --地点标识
  Lt_Pr_Rec.Deliver_To_Location_Code      := 'Gobao-11G-TianJing'; ---地点
  Lt_Pr_Rec.Deliver_To_Requestor_Id       := 1432; --申请标识
  Lt_Pr_Rec.Deliver_To_Requestor_Name     := 'Alan Chen,'; --申请人
  Lt_Pr_Rec.Suggested_Vendor_Name         := '广东XXXX有限公司'; --供应商
  Lt_Pr_Rec.Suggested_Vendor_Id           := 221; --供应商标识
  Lt_Pr_Rec.Suggested_Vendor_Site         := 'XXX-GuangDong'; --供应商地点
  Lt_Pr_Rec.Suggested_Vendor_Site_Id      := 160; --供应商地点标识
  Lt_Pr_Rec.Need_By_Date                  := To_Date('2017-12-21', 'yyyy-mm-dd'); --需要日期
  Lt_Pr_Rec.Source_Type_Code              := 'VENDOR';
  INSERT INTO Po_Requisitions_Interface_All
  VALUES Lt_Pr_Rec;
  --Line 2
  Lt_Pr_Rec.Org_Id                        := Ln_Org_Id; --业务实体标识
  Lt_Pr_Rec.Requisition_Type              := 'PURCHASE'; --申请类型
  Lt_Pr_Rec.Destination_Type_Code         := 'INVENTORY'; --目的地类型
  Lt_Pr_Rec.Quantity                      := 200; --申请数量
  Lt_Pr_Rec.Authorization_Status          := 'INCOMPLETE'; --状态
  Lt_Pr_Rec.Batch_Id                      := '20191120'; --导入批次标识
  Lt_Pr_Rec.Autosource_Flag               := 'P'; --控制自动来源
  Lt_Pr_Rec.Item_Id                       := 17492890; --物料标识
  Lt_Pr_Rec.Item_Segment1                 := 'MDA2914PVC001'; --物料编码
  Lt_Pr_Rec.Charge_Account_Id             := 1079; --借记帐户标识
  Lt_Pr_Rec.Unit_Of_Measure               := 'PCS'; --单位
  Lt_Pr_Rec.Uom_Code                      := 'PCS'; --单位代码
  Lt_Pr_Rec.Line_Type                     := '货物'; --行类型
  Lt_Pr_Rec.Reference_Num                 := 'Manual Import*20191120'; --行参考编号
  Lt_Pr_Rec.Destination_Organization_Id   := 126; --目的库存组织标识
  Lt_Pr_Rec.Destination_Organization_Code := '11G'; --目的库存组织代码
  Lt_Pr_Rec.Destination_Subinventory      := 'M02'; --子库存代码
  Lt_Pr_Rec.Deliver_To_Location_Id        := 225; --地点标识
  Lt_Pr_Rec.Deliver_To_Location_Code      := 'Gobao-11G-TianJing'; ---地点
  Lt_Pr_Rec.Deliver_To_Requestor_Id       := 1432; --申请标识
  Lt_Pr_Rec.Deliver_To_Requestor_Name     := 'Alan Chen,'; --申请人
  Lt_Pr_Rec.Suggested_Vendor_Name         := '广州XXXX有限公司'; --供应商
  Lt_Pr_Rec.Suggested_Vendor_Id           := 134; --供应商标识
  Lt_Pr_Rec.Suggested_Vendor_Site         := 'XXX_GrangZhou'; --供应商地点
  Lt_Pr_Rec.Suggested_Vendor_Site_Id      := 237; --供应商地点标识
  Lt_Pr_Rec.Need_By_Date                  := To_Date('2017-11-23', 'yyyy-mm-dd'); --需要日期
  Lt_Pr_Rec.Source_Type_Code              := 'VENDOR'; --来源
  INSERT INTO Po_Requisitions_Interface_All
  VALUES Lt_Pr_Rec;
END;

Pay attention to the code " Lt_Pr_Rec.Autosource_Flag :='P'; --Control automatic source means the supplier in the specified interface table row


Find out the default supplier rule by enabling the debug log, which is based on the priority of the "source supplement rule": Level> Allocation Ratio
1. The larger the level value, the
higher the priority 2. The higher the allocation ratio, the higher the priority.
Reference standard Package Mrp_Sourcing_Api_Pk.Mrp_Sourcing code:

SELECT Misl.Vendor_Id
      ,Misl.Vendor_Site_Id
      ,Misl.Source_Organization_Id
      ,Misl.Allocation_Percent
      ,Nvl(Misl.Rank, 9999)
      ,Misl.Sourcing_Rule_Id
  FROM Mrp_Item_Sourcing_Levels_v Misl
 WHERE Misl.Source_Type IN (1, 3)
   AND Misl.Inventory_Item_Id = Arg_Item_Id
   AND Misl.Organization_Id = Arg_Dest_Organization_Id
   AND Misl.Assignment_Set_Id = Var_Set_Id
   AND Arg_Autosource_Date BETWEEN Misl.Effective_Date AND Nvl(Disable_Date, To_Date(2634525, 'J'))
   AND Po_Asl_Sv.Check_Asl_Action('2_SOURCING'
                                 ,Misl.Vendor_Id
                                 ,Misl.Vendor_Site_Id
                                 ,Arg_Item_Id
                                 ,-1
                                 ,Arg_Dest_Organization_Id) <> 0
   AND Nvl(Nvl(p_Source_Organization_Id, Misl.Source_Organization_Id), -23453) =
       Nvl(Misl.Source_Organization_Id, -23453)
 ORDER BY Misl.Sourcing_Level ASC
         ,Allocation_Percent DESC
         ,Nvl(Misl.Rank, 9999) ASC;

Refer to the official documentation: Frequently Asked Questions: Requisition Import (Document ID 224025.1) following
How the I CAN Avoid Vendor Sourcing from overriding My Information?
By You have have to the SET at The autosource_flag to 'P' for partial Sourcing.

Guess you like

Origin blog.csdn.net/chenxianping/article/details/103155632