Oracle EBS Inventory Item 匯入(庫存物料匯入)

來源:互聯網
上載者:User

 

庫存物料(Inventory Item)匯入

物料匯入/匯出主要的目的是在不同系統之間的資料的匯入/匯出,以某一種資料資訊格式和某一種傳輸方式擷取資料。在不同系統間的資料匯入/匯出必須解決的最重要的問題是資料校正,以滿足資料在不同系統間的可用性。根據這兩周的學習,總結一下Item匯入遇到的一些問題和解決的方法。

資料匯入在處理流程上大致分為三個部分:

(1)是處理資料檔案,插入客戶化介面表;

(2)是處理客戶化介面表資料,插入標準介面表;

(3)是提交標準請求,匯入標準表。

在匯入的類型上來說,有三種情況:

(1)建立物料

(2)更新物料

(3)組織分配

API中主要涉及的都是客戶化和標準系統的銜接問題,所以熟悉標準系統資料表,介面表,客戶化表是一個非常重要的過程,在API中還會調用系統的標準匯入請求,標準匯入的資料必須是符合系統的資料,所以API中一個重要步驟就是驗證資料,處理資料。用一個Master Item 的匯入作例子。

1. API被調用及輸出關係

庫存Master Item 匯入API的起點是客戶化介面表,終點是標準表,而客戶化介面表的資料來源可以是多種,取決於介面程式(平台)的整體架構,無論是檔案還是資訊流的形式,經過適當處理之後,匯入客戶化介面表,並且有必有提供資料批次的唯一標識和資料行層級的唯一標識。匯入程式所定義的並發程式應該在資料處理之後被調用,必要參數是資料的批次標識,並發程式應該返回資料匯入處理的狀態和必要的錯誤/警告資訊(如果有)。

2. API虛擬碼

Begin

擷取參數;

根據資料批次號,從客戶化介面表擷取資料;

FOR EACH Record

驗證資料;

判斷資料建立/更新/分配標識位;

匯入系統介面表;

END FOR;

提交系統匯入系統標準請求;

列印錯誤報表;

End

3. Master Item 匯入涉及到的主要的表/視圖及描述

Table Name

Select

Insert

Update

Delete

Description

org_organization_definitions

X

系統組織定義

mtl_system_items_b

X

X

X

系統標準物料基表

mtl_system_items_b_kfv

系統標準物料關鍵性彈性域視圖

mtl_item_revisions_b

X

X

X

系統標準物料修訂基表

mtl_item_categories_v

X

系統標準物料類別視圖

mtl_item_categories

X

X

X

系統標準物料類別表

mtl_system_items_interface

X

X

X

系統標準物料介面表

mtl_item_revisions_interface

X

X

X

系統標準物料修訂表

mtl_item_categories_interface

X

X

X

系統標準物料類別表

xxinv_item_int

X

X

客戶化介面表

mtl_interface_errors

X

X

系統標準介面錯誤表

mtl_units_of_measure_vl

X

系統標準物料度量單位多語言視圖

mtl_parameters

X

系統標準組織參數表

mtl_default_category_sets_fk_v

X

系統標準類別集視圖

mtl_category_sets

X

系統標準類別集表

mtl_categories_b_kfv

X

系統標準類別集視圖

mtl_categories_kfv

X

系統標準類別集關鍵性彈性域視圖

4. 特殊邏輯

(1) 驗證客戶化介面表資料

Item匯入API是根據資料的批次號,從客戶化介面表擷取相應資料,驗證過程主要依據大致和標準物料的標準是一致的,雖說在提交標準請求時,系統也會驗證資料,但是標準請求只有輸入輸出,過程不可見,所以在客戶化介面表這個階段驗證可以保證資料錯誤的可控制性;另一方面,系統請求一般請款比較慢,特別是計劃的周期請求,多個批次也容易混淆,所以在客戶化表中驗證,如果不符合要求,直接返回,省去標準請求所耗費的資源。

主要驗證有:非空驗證,組織驗證,單位驗證,修訂編號驗證,類別驗證等,涉及到的表或視圖之前列過了。

(2) 是否是新物料(建立物料/更新物料/組織分配)

這裡的判斷決定了匯入程式需要往標準介面表裡插入幾次,主要原因是,如果是一個新物料,系統中不存在,則需要往這個物料所對應的組織的主組織中也插入一條資料,即標準介面表裡有兩條組織不一樣的相同物料資訊。

  1. 建立物料:系統標準物料表中不存在,且標準介面表中不存在(這裡需要判斷標準介面表這個中間表的原因是,如果同一批資料是同一個物料不同的組織,而且是新物料,如果不判斷系統介面表,就會有多個主組織資料存在於系統介面表中,提交標準請求時,就會出現重複記錄的錯誤
  2. 更新物料:同一個物料,同一個組織存在
  3. 組織分配:統一個物料,主組織物料存在,子組織物料不存在

(3) 標準請求

物料匯入請求:Item Import(包括item和revision資訊)

類別分配請求:Item Category Assignment Open Interface(category資訊)

(4) Revision處理

客戶化介面表的記錄有revision資訊存在,則要處理revision。新/舊/分配 的判斷和(2)中基本一致。在做這一部分的時候,發現了一個問題,Revision在標準系統中是字串類型的,所以在比較舊的修訂編號和新的修訂編號的時候,特別要注意數位位元問題,例如 :‘9’ 這個字串是比 ’10’ 這個字串“大”,但 ’09’ 這個字串比 ’10’ 這個字串“小”。驗證通過之後直接往標準介面表裡匯入,修訂編號取最“大”的一個。

Revision的標準請求合并在物料資訊匯入的標準請求(Item Import)。

(5) Category處理

Category處理存的標準請求時單獨的,叫Item Category Assignment Open Interface,這裡的特殊邏輯總結為如下幾種:

  1. 新物料,無category資訊:分配當前category set 下得預設category
  2. 新物料,有category資訊:分配這個category 給主組織物料和當前子組織物料
  3. 更新,無category資訊:不處理
  4. 更新,有category資訊:更新當前組織category資訊
  5. 組織分配,有category資訊,分配這個category資訊給這個子組織
  6. 組織分配,無category資訊,不處理

在處理Category標準請求的時候,與物料資訊不同的是,這個標準請求沒有“1”或者“2”的標識參數標識建立或者更新操作模式,提交標準請求的順序是先提交物料資訊請求(item import),再提交類別請求(category assignment),多次測試這個標準請求和物料資訊的標準請求後發現,在物料資訊的標準請求完成之後,已經有這category資訊在標準類別表視圖(mtl_item_categories_v)中了,category資訊是預設的category,所以此時提交category
assignment的標準請求,只能去update(以上a—f的6中情況都是這樣處理),而update操作必須有”old_category”這個資訊,所以在update之前需要獲得這個物料老的category;如果是新物料,則更新default category。(default category就是當前category set 下的default category)

(6) 組織分配屬性衝突

匯入程式常見的錯誤是,在物料組織分配的時候,有可能出現“master child conflict”。在標準Item的屬性控制中,有“master level”和“org level”兩種,如果某一屬性設定成了“master level”,則在匯入時,要麼不匯入這個屬性資訊,要麼匯入的必須和主組織的屬性資訊一致,否則就會報這個錯誤(系統標準功能)。匯入程式API中有必要判斷,在組織分配的情況下,從客戶化介面表到標準介面表匯入的時候,並且把一些客戶化介面表裡面沒有,但是屬性控制中為“master
level”的屬性值,賦為主組織的屬性。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.