與 Oracle EBS 整合

Oracle EBS (E-Business Suite) 整合功能支援「訂單到現金」資料模型,並使用 Incorta 擷取資料。Incorta 會使用代管或私人執行個體,將 Oracle 的資料擷取至 BigQuery CDC 資料集,並處理 CDC。接著,Cortex Framework 會使用 Cloud Composer 協調 BigQuery 工作,將 CDC 資料轉換並具體化為報表資產。

下圖說明如何透過 Oracle EBS 營運工作負載取得 Oracle EBS 資料:

Oracle EBS 資料來源

圖 1:Cortex Framework - Oracle EBS - Incorta 整合總覽。

Deployment 設定

下表列出設定 Oracle EBS 工作負載的參數:config.json 檔案會設定從任何資料來源 (包括 Oracle EBS) 轉移資料所需的設定。這個檔案包含 Oracle EBS 的下列參數:

參數 意義 預設值 說明 比對 Oracle 來源欄位
OracleEBS.itemCategorySetIDs 項目類別集 [1100000425] 用於分類項目的集合清單。 MTL_ITEM_CATEGORIES.CATEGORY_SET_ID
OracleEBS.currencyConversionType 貨幣換算類型 "Corporate" 要在匯總表格中使用的貨幣轉換類型。 GL_DAILY_RATES.CONVERSION_TYPE
OracleEBS.currencyConversionTargets 貨幣換算目標 ["USD"] 要納入匯總表格的目標幣別清單。 GL_DAILY_RATES.TO_CURRENCY
OracleEBS.languages 語言 ["US"] 要顯示項目說明等欄位譯文的語言清單。 FND_LANGUAGES.LANGUAGE_CODE
OracleEBS.datasets.cdc CDC 資料集 - CDC 資料集。 -
OracleEBS.datasets.reporting 報表資料集 "REPORTING_OracleEBS" 報表資料集。 -

資料擷取

請洽詢 Incorta 代表,並參閱 Oracle EBS for Google Cortex 設定指南,瞭解如何從 Oracle 擷取資料至 BigQuery。

雖然 Incorta 支援以各種間隔排定資料擷取作業,但為獲得最佳效能和最新資料,建議您排定每天執行 Incorta 資料擷取作業。如果您的用途需要處理已刪除的資料,請務必按照 Incorta 說明文件「處理來源刪除作業」中的操作說明啟用這些資料。

報表設定

本節將說明環境所需的報表設定。

Cloud Composer Airflow 連線

建立名為 oracleebs_reporting_bq 的 BigQuery Airflow 連線,BigQuery 運算子會使用這項連線執行報表轉換。詳情請參閱「管理 Airflow 連線」說明文件。

Materializer 設定

src/OracleEBS/config/reporting_settings.yaml 中尋找具體化設定。 根據預設,維度標題匯總資料表每天都會具體化。報表層資料表也會依日期分區。如有需要,可以自訂分割區和叢集。詳情請參閱「叢集設定」和「資料表分區」。

資料模型

本節說明 Oracle EBS「訂單到現金」邏輯資料模型。每個小節都會說明下列 Oracle EBS 實體關係圖 (ERD)。

Oracle EBS 的實體關係圖

圖 2:Oracle EBS:實體關係圖。

基本事實檢視畫面

這些是 ERD 中的藍色物件,也是 CDC 資料表上的檢視畫面,除了部分資料欄名稱別名外,沒有任何轉換。

維度資料表

這些是 ERD 中的紫色物件,包含報表資料表使用的相關維度屬性。根據預設,系統會根據部署設定參數值 (如適用) 篩選這些維度。這項整合功能也會使用 Cortex K9 公曆維度做為日期屬性,而這項維度預設會部署。

標頭表格

這些是 ERD 中的綠色物件,包含已聯結的事實和維度,用於說明訂單和發票等標頭層級的業務實體。標題表格會依據與每個實體相應的主要事件日期 (例如 ORDERED_DATEINVOICE_DATE) 分割。

巢狀和重複的行

SalesOrdersSalesInvoices 資料表包含名為 LINES巢狀重複欄位。這些欄位會將各種訂單明細和發票明細歸入相關標題下。如要查詢這些巢狀欄位,請使用 UNNEST 運算子將元素整併為資料列,如提供的範例指令碼 (src/OracleEBS/src/reporting/ddls/samples/) 所示。

巢狀和重複屬性

部分表格含有額外的巢狀重複欄位,例如 ITEM_CATEGORIESITEM_DESCRIPTIONS,其中相同屬性的多個值可能適用於實體。如果取消巢狀結構的重複屬性,請務必篩選出單一屬性值,以免過度計算指標。

已套用應收款項

SalesAppliedReceivables 是獨一無二的表格,因為實體可以參考自己的月結單,也可以參考附有現金收據的月結單。因此,有巢狀 (但非重複) 的 INVOICECASH_RECEIPT 欄位,其中 CASH_RECEIPT 欄位只會在 APPLICATION_TYPE = 'CASH' 時填入。

匯總資料表

這些是 ERD 中的紅色物件,並從標題表格匯總至每日指標。這些資料表也會依主要事件日期進行分區。匯總資料表只包含加總指標 (例如計數、總和),不包含平均值和比例等指標。也就是說,使用者必須推導出非加總指標,才能確保在匯總至較高細節程度 (例如每月) 時,指標能正確推導。請參閱 src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql 等範例指令碼。

貨幣換算金額

每個匯總資料表都會使用 CurrencyRateMD 維度,建立 AMOUNTS 的巢狀重複欄位,其中包含轉換為部署設定中指定各目標幣別的貨幣指標。使用這些指標時,請務必篩選單一目標幣別或目標幣別群組,以避免重複計算。您也可以在 src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql 等範例指令碼中查看這項資訊。

巢狀線屬性和測量指標

SalesOrdersDailyAgg 資料表包含名為 LINES 的巢狀重複欄位,可區分行層級屬性和指標 (例如 ITEM_CATEGORY_NAMEAMOUNTS),以及標題層級屬性和指標 (例如 BILL_TO_CUSTOMER_NAMENUM_ORDERS)。請注意,查詢這些細微資料時,請務必分開查詢,以免重複計算。

雖然發票也有標題與明細的概念,但表格 SalesInvoicesDailyAgg 只包含明細層級的指標,因此結構與 SalesOrdersDailyAgg 不同。

後續步驟