Oracle EBS Interface/API(17)-申請單導入(相同批次相同物料不同供應商申請行導入問題)

背景:
         採購申請導入時,相同批次同相物料接口錶行不同供應商,提交請求“申請導入”完成以後,系統總是默認“來源補充規則”其中一個供應商

解決方法:
參考代碼實例如下:

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;

重點注意代碼中“Lt_Pr_Rec.Autosource_Flag := 'P'; --控制自動來源” 表示指定接口錶行中供應商


通過啓用調試日誌找出默認供應商規則,它根據“來源補充規則”的優先級高低分別: 級別>分配比例
1.級別數值越大優先級越高
2.分配比例越高優先級越高
參考標準包Mrp_Sourcing_Api_Pk.Mrp_Sourcing代碼:

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;

參考官方文檔:Frequently Asked Questions: Requisition Import (文檔 ID 224025.1)如下內容
How can I avoid sourcing from overriding my vendor information?
You have to set the autosource_flag to 'P' for partial sourcing.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章