與 Oracle EBS 整合

Oracle EBS (E-Business Suite) 整合功能支援「訂單到現金」資料模型,並使用 Incorta 擷取資料。Incorta 會使用代管或私有執行個體,將 Oracle 的資料擷取到 BigQuery CDC 資料集,並處理 CDC。接著,Cortex Framework 會使用 Managed Service for Apache Airflow 協調 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 說明文件「處理來源刪除作業」中的操作說明啟用這些資料。

報表設定

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

Managed Airflow Airflow 連線

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

Materializer 設定

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

資料模型

本節說明 Oracle EBS Order to Cash 邏輯資料模型。每個小節都會說明下列 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 不同。

後續步驟