Cortex Framework 適用的 SAP ERP 整合。

SAP ERP 適用的 Google Cloud Cortex Framework 資料基礎層需要連線至來源系統原始資料。SAP ECC 和 SAP S/4HANA 皆支援。

部署 Cortex Framework 內容前,必須先將相關 SAP ERP 資料表複製到 BigQuery。如要達成這個目標,請將資料存放在專用的原始層資料集,以進行變更資料擷取 (CDC) 處理,或使用已建立的 CDC 管道,直接將資料饋送至資料基礎層。詳情請參閱「複製 SAP ERP 資料的技術相關規定」。

只要能以原始資料表格式將資料複製到 BigQuery,您可以使用任何複製工具。舉例來說,Google Cloud 解決方案包括 BigQuery Connector for SAP (需要 SAP SLT) 和 BigQuery Toolkit for SAP。

為確保從 SAP ERP 複製的原始資料集與 Cortex Framework 資料基礎層相容,請務必符合下列需求。

複製 SAP ERP 資料的技術相關規定

請務必檢查並完成下列技術規定,將 SAP 資料複製到 BigQuery 中的 Cortex Framework。

  1. 原始資料結構:來自 ECC 或 S/4HANA 的資料應以與 SAP 基礎資料表相同的結構,且未經業務轉換,存放在 BigQuery 中。資料表必須以 SAP 中的必要欄位名稱、類型和精細度進行複製。

  2. 資料表設定:要轉換的資料表清單定義於 table_settings.yaml 檔案 (位於 config/cortex/data_foundation/sap 底下)。 如果部署期間缺少必要資料表,取決於該資料表的特定資料產品就會失敗。

  3. 中繼資料規定:您必須將 SAP 來源中的 DD03L 等中繼資料表,複製到原始資料集 (在 config/config.yaml 中設定為基礎模組的來源)。請注意,這些中繼資料表必須存在於原始資料集中,但不得納入資料基礎 table_settings.yaml 檔案,且不會由資料基礎層處理。請確認複製的 DD03L 資料表包含您打算擷取的所有資料表 (例如自訂或補充資料表,如 sflight) 的欄位中繼資料記錄。Cortex Framework 建構指令碼和依附元件解析器會讀取這些中繼資料列,以識別資料欄清單、資料型別,以及資料表之間的主鍵關係。

  4. 大小寫:為確保與 Cortex Framework 資料模型相容,BigQuery 中複製的 SAP 資料表名稱必須為小寫 (例如,SAP 資料表 MARA 在 BigQuery 中會變成 mara)。

  5. 物件名稱 (資料欄) 和特殊字元:如果物件名稱 (資料欄) 包含特殊字元 (例如 /、- 或開頭底線 _),Cortex 會採用一般清除模式:

    • 所有非英數字元都會替換為底線 _。
    • 開頭不得為底線和數字。舉例來說,/GOOG/TEST 會轉換為 goog_test,_DATAAGING 會轉換為 dataaging。如果您的複製工具會保留開頭底線,則必須在 Data Foundation 層執行正規化步驟 (別名)。
  6. 資料傳播欄位:為支援 CDC (變更資料擷取) 和資料傳播,複製的 SAP 資料表必須具備下列條件:

    • 名為 operation_flag 的作業旗標 (L = 初始載入、I = 插入、U = 更新、D = 刪除)。
    • 名為 recordstamp 的時間戳記 (在載入時填入目前的時間戳記)。
    • 選用:在複製的 _DS_RAW 資料表中選擇額外欄位 is_deleted (BOOLEAN),初始載入時預設為 false。Cortex 產生的執行階段檢視畫面會參照這個資料欄,但如果複製工具未產生這個資料欄,則可在執行前從 CDC 和檢視畫面範本中移除。
  7. 資料類型:為確保相容性,必須將 SAP 資料類型對應至 BigQuery 資料類型:

    標準作業的必要條件:

    資料類型 SAP BigQuery 資料類型 說明
    DATS DATE 日期資料類型
    TIMS TIME 時間資料類型
  8. 強烈建議使用,可確保精確度和相容性:

    • CURR (幣別) 和 QUAN (數量) 對應至 NUMERIC 或 BIGNUMERIC (請避免使用 FLOAT64,以免財務計算發生四捨五入錯誤)。
    • NUMC (數字字元) 對應至 STRING (保留文件編號和項目編號的前置零,確保聯結成功)。
  9. 酬載壓縮:為避免 BigQuery 中填入 NULL 空白 SAP 欄 (初始值 為空格或零等), 請確保在連接器 設定中停用酬載壓縮 (或啟用「傳送未壓縮的資料」)。這可確保空字串或零值在目標中會保留原樣,而不是預設為 NULL。