SAP ODP 批次來源

本頁面提供在 Cloud Data Fusion 中設定 SAP ODP 外掛程式的指南。

SAP ODP 外掛程式可透過 Cloud Data Fusion,從 SAP 應用程式大量整合資料到 BigQuery 或其他支援的目標系統。外掛程式的主要功能如下:

支援的軟體版本

軟體 版本
SAP S4/HANA SAP S4/HANA 1909 以上版本
SAP ECC SAP ERP6 NW 7.31 SP16 以上版本
SAP JCo SAP JCo 3.0.20 以上版本
Cloud Data Fusion 6.3 以上版本

如要進一步瞭解 Google Cloud上的 SAP,請參閱「 Google Cloud上的 SAP 總覽」

事前準備

設定 SAP ODP 外掛程式使用的下列系統和服務:

  1. 設定 SAP ERP 系統。 這個程序包含下列步驟:
    • 安裝 SAP 傳輸檔案。
    • 設定必要的 SAP 授權和角色。
    • 設定 SAP Java Connector。
  2. 在 Cloud Data Fusion 中部署 ODP 外掛程式

    • 重要事項:請選擇與 Cloud Data Fusion 版本相容的外掛程式版本。
    • 如果您升級 Cloud Data Fusion 執行個體或外掛程式的版本,請評估變更對管道功能範圍和效能的影響。
  3. 在 Cloud Data Fusion 和 SAP 之間建立 RFC 連線

    • 確認 Cloud Data Fusion 執行個體與 SAP 伺服器之間的通訊已啟用。
    • 如果是私人執行個體,請設定 VPC 網路對等互連
    • SAP 系統和 Cloud Data Fusion 執行個體必須位於同一個專案。

設定外掛程式

  1. 前往 Cloud Data Fusion 網頁介面,然後按一下「Studio」(工作室)
  2. 確認已選取「Data Pipeline - Batch」(資料管道 - 批次),而非「Realtime」(即時)
  3. 在「來源」選單中,點選「SapODP」。SAP ODP 節點會顯示在管道中。
  4. 如要設定來源,請前往 SAP ODP 節點,然後按一下「Properties」(屬性)
  5. 輸入下列屬性。如需完整清單,請參閱「屬性」一節。

    1. 輸入 SAP ODP 節點的標籤,例如 SAP ODP tables
    2. 輸入連線詳細資料。您可以設定新的單次連線,或是現有的可重複使用連線。

      新連結

      如要新增與 SAP 的一次性連線,請按照下列步驟操作:

      1. 請關閉「使用連線」
      2. 在「連線」專區中,在下列欄位中輸入 SAP 帳戶的資訊:

        1. 在「Reference name」(參照名稱) 欄位中,輸入連線的名稱,以識別這個來源的沿襲。
        2. 在「SAP client」(SAP 用戶端) 欄位中,輸入 SAP 內特定執行個體或環境的用戶端名稱。SAP 管理員可以提供用戶端名稱。
        3. 在「SAP language」(SAP 語言) 欄位中,輸入 SAP 登入語言。 預設值為 EN (英文)。
        4. 選取下列其中一種連線類型

          • 直接 (透過 SAP 應用程式伺服器)。如果選擇這個預設類型,請在下列欄位中輸入資訊:SAP 應用程式伺服器主機SAP 系統編號SAP 路由器
          • 負載平衡 (透過 SAP 訊息伺服器)。如果選擇這個類型,請在下列欄位中輸入資訊:SAP 訊息伺服器主機SAP 訊息伺服器服務或連接埠號碼SAP 系統 ID (SID)SAP 登入群組名稱
        5. 在「Context」(內容) 欄位中,選取您使用的資料來源類型。

        6. 在「SAP ODP source name」(SAP ODP 來源名稱) 欄位中,輸入您使用的資料來源名稱。

        7. 在「擷取類型」欄位中,選取資料擷取類型。預設值為「完整 (所有資料)」

        8. 提供 SAP 憑證:向 SAP 管理員索取 SAP 登入使用者名稱密碼

        9. 在「JCo Library Cloud Storage path」(JCo 程式庫 Cloud Storage 路徑) 欄位中,輸入 Cloud Storage 中 SAP Java Connector (SAP JCo) 的路徑,其中包含您上傳的 SAP JCo 程式庫檔案。

        10. 如要根據 SAP 的中繼資料產生結構定義,將 SAP 資料型別對應至相應的 Cloud Data Fusion 資料型別,請按一下「Get schema」(取得結構定義)。詳情請參閱「資料類型對應」。

        11. 選用步驟:如要最佳化 SAP 的擷取負載,請在下列欄位中輸入資訊:

          1. 在「SAP ODP subscriber name」(SAP ODP 訂閱者名稱) 欄位中,從有效的 DataSource 識別資料擷取的訂閱者。
          2. 使用篩選器選項,即可根據選取條件擷取記錄。
          3. 在「分割數」欄位中,您可以建立分割區來平行擷取資料記錄,進而提升效能。分割數量可能會影響 SAP 工作程序,因此請謹慎選取。
          4. 在「封裝大小」欄位中,指定要在單一 SAP 網路呼叫中擷取的記錄數量。封裝大小會影響效能和可用資源,因此請謹慎選取。

      可重複使用的連線

      如要重複使用現有連線,請按照下列步驟操作:

      1. 開啟「使用連線」
      2. 按一下「Browse connections」(瀏覽連線)
      3. 按一下連線名稱。

      如果沒有連線,請按照下列步驟建立可重複使用的連線:

      1. 依序點選「新增連線」>「SapOdp」
      2. 在隨即開啟的「Create a SapOdp connection」(建立 SapOdp 連線) 頁面中,輸入連線名稱和說明。
      3. 在「SAP client」欄位中,輸入 SAP 中特定執行個體或環境的用戶端名稱。SAP 管理員可以提供用戶端名稱。
      4. 在「SAP language」(SAP 語言) 欄位中,輸入 SAP 登入語言。 預設值為 EN (英文)。
      5. 選取下列其中一種連線類型

        • 直接 (透過 SAP 應用程式伺服器)。如果選擇這個預設類型,請在下列欄位中輸入資訊:SAP 應用程式伺服器主機SAP 系統編號SAP 路由器
        • 負載平衡 (透過 SAP 訊息伺服器)。如果選擇這個類型,請在下列欄位中輸入資訊:SAP 訊息伺服器主機SAP 訊息伺服器服務或連接埠號碼SAP 系統 ID (SID),以及 SAP 登入群組名稱
      6. 在 SAP ODP 來源名稱中,輸入 SAP 的 ODP DataSource 名稱。

      7. 提供 SAP 憑證:向 SAP 管理員索取「SAP logon username」和「Password」值。

      8. 在「JCo Library Cloud Storage path」(JCo 程式庫 Cloud Storage 路徑) 欄位中,輸入 Cloud Storage 中的 SAP Java Connector (SAP JCo) 路徑,其中包含您上傳的 SAP JCo 程式庫檔案。

      9. 在「Wait time」(等待時間) 欄位中,輸入下一次重試前要等待的時間 (以秒為單位),例如 60

      10. 在「重試次數」欄位中,輸入重試次數上限,例如 3

      11. 選用:在「Additional SAP connection properties」欄位中,輸入必須覆寫 SAP JCo 預設值的鍵/值組合。

      12. 點選「建立」

屬性

屬性 含巨集功能 必要屬性 說明
標籤 資料管道中的節點名稱。
使用連線 使用可重複使用的連線。如果使用連線,則不需要提供憑證。詳情請參閱「管理連線」。
名稱 可重複使用的連線名稱。
SAP 用戶端 SAP 系統中的特定執行個體或環境。
SAP 語言 SAP 使用者介面和資料的顯示與處理語言。
連線類型 SAP 連線類型:「直接」或「負載平衡」
SAP 應用程式伺服器主機 只有直接連線類型會使用這個主機名稱,這個主機名稱來自 SAP 應用程式伺服器,該伺服器是 SAP 用戶端 (例如 SAP 網頁介面、網頁瀏覽器或行動應用程式) 和基礎資料庫之間的仲介層。
SAP 系統編號 僅限直接連線類型,這個號碼是指派給每個 SAP 系統的專屬 ID。例如:00
SAP 路由器 僅適用於「直接」連線類型,這是 Proxy 伺服器的路由器字串,可為 SAP 系統與外部用戶端或合作夥伴之間的通訊提供安全通道。
SAP Message Server 主機 僅適用於「負載平衡」連線類型,這是主機名稱,可協助在 SAP 中多個應用程式伺服器之間進行負載平衡。
SAP 訊息伺服器服務或通訊埠號碼 僅適用於「負載平衡」連線類型,這是 SAP 訊息伺服器監聽 SAP 用戶端和應用程式伺服器內送連線的網路通訊埠。
SAP 系統 ID (SID) 只有「Load balanced」(負載平衡) 連線類型會為每個 SAP 系統指派這個 ID。
SAP 登入群組名稱 多個 SAP 應用程式伺服器的邏輯分組或設定名稱。預設為 PUBLIC
物件類型 不適用 不適用 支援的物件類型:資料來源/擷取器ABAP 核心資料服務
SAP ODP 來源名稱 SAP 資料來源或 CDS 檢視區塊名稱 (例如 2LIS_02_ITM)。
擷取類型 外掛程式支援下列兩種資料擷取類型:
  • 完整 (所有資料):擷取所有可用資料。
  • 同步 (根據先前的執行作業自動選取):根據 SAP 中先前的執行類型和狀態,決定應執行完整、差異 (增量) 或復原 (從上次執行作業復原資料) 模式。在初始管道執行作業 (ODP 模式 F) 中,這個外掛程式會擷取完整資料,並在後續管道執行作業 (ODP 模式 D、R) 中擷取變更資料。
SAP 登入使用者名稱 SAP 的使用者名稱
建議:如果使用者名稱會定期變更,請使用巨集
SAP 登入密碼 SAP 密碼。
建議:使用安全巨集
GCP 專案 ID Google Cloud 專案 ID。
SAP JCo 程式庫 GCS 路徑 您上傳 SAP JCo 程式庫檔案的 Cloud Storage 路徑。
取得結構定義 不適用 不適用 外掛程式會根據 SAP 的中繼資料產生結構定義,將 SAP 資料類型對應至相應的 Cloud Data Fusion 資料類型。請參閱資料類型對應關係
SAP ODP 訂閱者名稱 ODP 訂閱者,用於從有效的 SAP 資料來源或 CDS 檢視區塊擷取資料。必須包含下列資訊:
  • 最多 32 個字元,不含空格
  • 只能包含 azAZ09_/
  • 從相同 SAP DataSource 擷取資料的不同管道專屬
如果將這個欄位留空,Cloud Data Fusion 會結合專案 ID、命名空間和管道名稱,產生 ID。您可以重複使用先前的訂閱項目,例如第三方工具建立的訂閱項目。
等待時間 資料工程師可透過這項屬性,在 Cloud Data Fusion 對 SAP 進行每次網路呼叫後,選取適當的等待時間。
重試次數 等待網路呼叫完成時的重試次數。
篩選器選項 (等於) 欄位必須具有的值,才能讀取。
篩選器選項是中繼資料欄位名稱及其值配對的清單。 這些條件會定義從 SAP 資料來源讀取資料時套用的篩選條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。必須是簡單類型 (不是 ARRAYRECORDUNION)。使用範例
欄位名稱:MTART
值:FERT
篩選器選項 (範圍) 值必須介於低值和高值之間,系統才會讀取欄位。
篩選器選項是中繼資料欄位名稱及其值配對的清單。 這些條件會定義從 SAP 資料來源讀取資料時套用的篩選條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。格式為 low AND high。使用範例
欄位名稱:ERDAT
低值:2023-11-01
高值:2023-11-30
篩選器選項 (小於或等於) 欄位值必須小於或等於這個值。
篩選器選項是中繼資料欄位名稱及其值配對的清單。 這些條件會定義從 SAP 資料來源讀取資料時套用的篩選條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。必須是簡單類型 (不是 ARRAYRECORDUNION)。使用範例
欄位名稱:MATNR
值:10008
篩選器選項 (大於或等於) 欄位必須大於此值才能讀取。
篩選器選項是中繼資料欄位名稱及其值配對的清單。 這些條件會定義從 SAP 資料來源讀取資料時套用的篩選條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。必須是簡單類型 (不是 ARRAYRECORDUNION)。使用範例
欄位名稱:MATNR
值:10008
篩選器選項 (不等於) 定義欄位不得等於的值,才能讀取。
篩選器選項是中繼資料欄位名稱及其值配對的清單。 這些條件會定義從 SAP 資料來源讀取資料時套用的篩選條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。必須是簡單類型 (不是 ARRAYRECORDUNION)。使用範例
欄位名稱:MTART
值:FERT
要產生的分割數量 建立分割區,以便平行擷取記錄。
執行階段引擎會在擷取記錄時,建立指定數量的分割區 (和 SAP 連線)。
調高這個值時請務必謹慎,因為這會增加與 SAP 的同時連線數
建議:為每個管道規劃 SAP 連線,以及同時執行的管道總數。
如果值為 0 或留空,Cloud Data Fusion 會根據可用的執行器數量、要擷取的記錄和封裝大小,選擇適當的值。
套件大小 (以 KB 為單位) 單一 SAP 網路呼叫中要擷取的記錄數量。這是指 SAP 在每次網路擷取呼叫期間,於記憶體中緩衝處理的記錄數。
設定這項屬性時請特別注意。多個資料管道擷取資料時,記憶體用量可能會達到尖峰,導致因 Out of memory 錯誤而失敗。
  • 請輸入正整數。
  • 如果輸入 0 或留空,外掛程式會使用標準值 70000,或適當計算的值。
  • 如果資料管道因 Out of memory 錯誤而失敗,請縮減封包大小,或增加 SAP 工作程序可用的記憶體。
其他 SAP 連線屬性 設定其他 SAP JCo 屬性,覆寫 SAP JCo 預設值。 舉例來說,設定 jco.destination.pool_capacity = 10 會覆寫預設的連線集區容量。

資料類型對應關係

下表列出 SAP 資料類型和對應的 Cloud Data Fusion 類型。

SAP 資料類型 ABAP 類型 SAP description Cloud Data Fusion 資料類型
INT1 (數字) b 1 位元組整數 整數
INT2 (數字) 2 位元組整數 整數
INT4 (數字) i 4 位元組整數 整數
INT8 (數字) 8 8 位元組整數 long
DEC (數字) p BCD 格式的封裝數字 (DEC) decimal
DF16_DECDF16_RAW (數字) a 十進位浮點 8 位元組 IEEE 754r 雙精度值
DF34_DECDF34_RAW (數字) e 十進位浮點 16 位元組 IEEE 754r 雙精度值
FLTP (數字) f 二進位浮點數 雙精度值
CHARLCHR (字元) c 字元字串 字串
SSTRINGGEOM_EWKB (字元) 字串 字元字串 字串
STRING (字元) 字串 字元字串 CLOB 位元組
NUMCACCP (字元) n 數字文字 字串
RAWLRAW (位元組) x 二進位資料 位元組
RAWSTRING (位元組) xstring 位元組字串 BLOB 位元組
DATS (日期/時間) d 日期 日期
TIMS (日期/時間) t 時間 時間
TIMS (日期/時間) utcl Utclong)、TimeStamp 時間戳記

限制

為確保 pipeline 定義和執行作業正確無誤,請查看下列外掛程式限制:

  • 不支援超過 5 萬個套件。
  • 不支援差異擷取的資料來源在同步模式下會失敗。
  • 在自訂資料來源中,如果未處理封包大小,管道就會在擷取大量資料時失敗。

用途

系統支援兩種擷取情境:

  • 資料來源或擷取器 (SAPI)
  • ODP 環境 ABAP CDS (ABAP_CDS)

ODP 外掛程式支援下列標準和自訂資料來源,適用於兩種情境:

ODP 資料來源 背景資訊 完整擷取 差異擷取
SAP 標準預先交付 SAPI 支援 支援
自訂 (Z*) SAPI 支援 支援
SAP Standard pre delivered ABAP_CDS 支援 支援
自訂 (Z*) ABAP_CDS 支援 支援

後續步驟