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 以上版本

如要進一步瞭解 SAP on Google Cloud,請參閱「SAP on Google Cloud簡介」。

事前準備

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

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

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

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

設定外掛程式

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

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

      新連結

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

      1. 關閉「Use connection」
      2. 在「Connection」專區中,請在下列欄位中輸入 SAP 帳戶的相關資訊:

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

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

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

        7. 在「擷取類型」欄位中,選取資料擷取類型。預設值為「Full (all data)」

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

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

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

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

          1. 在「SAP ODP 訂閱者名稱」欄位中,指出要從有效的資料來源擷取資料的訂閱者。
          2. 使用篩選器選項,即可根據所選條件擷取記錄。
          3. 您可以在「分割次數」欄位中建立分割區,以便並行擷取資料記錄,進而提升效能。分割數量可能會影響 SAP 工作程序,因此請務必謹慎選取。
          4. 在「Package size」欄位中,指定在單一 SAP 網路呼叫中要擷取的記錄數量。套件大小會影響效能和可用資源,因此必須謹慎選用。

      可重複使用的連線

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

      1. 開啟「Use connection」
      2. 按一下「瀏覽連線」
      3. 按一下連線名稱。

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

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

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

      7. 提供 SAP 憑證:請 SAP 管理員提供 SAP 登入使用者名稱和「密碼」值。

      8. 在「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 Message Server 服務或通訊埠號碼 僅限負載平衡連線類型,這是 SAP 訊息伺服器監聽 SAP 客戶端和 SAP 應用程式伺服器傳入連線的網路通訊埠。
SAP 系統 ID (SID) 僅適用於負載平衡連線類型,這個 ID 會指派給每個 SAP 系統。
SAP 登入群組名稱 多個 SAP 應用程式伺服器的邏輯群組或設定名稱。預設為 PUBLIC
物件類型 不適用 不適用 支援的物件類型:資料來源/ExtractorABAP 核心資料服務
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 訂閱者名稱 從有效的 SAP 資料來源或 CDS 檢視畫面擷取資料的 ODP 訂閱者。必須包含下列資訊:
  • 長度上限為 32 個半形字元,不含空格
  • 僅包含 azAZ09_/
  • 針對從相同 SAP DataSource 擷取資料的不同管道,此值皆為唯一
如果您將這個欄位留空,Cloud Data Fusion 會使用專案 ID、命名空間和管道名稱組合產生 ID。您可以重複使用先前的訂閱項目,例如由第三方工具建立的訂閱項目。
等待時間 這個屬性可讓資料工程師在每次從 Cloud Data Fusion 到 SAP 的網路呼叫後,選擇適當的等待時間。
重試次數 等待網路呼叫完成時的重試次數。
篩選器選項 (相等) 欄位必須讀取的值。
篩選器選項是包含中繼資料欄位名稱和值組合的清單。這些屬性會定義從 SAP 資料來源讀取資料時要套用的篩選器條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。必須是簡單類型 (不是 ARRAYRECORDUNION)。使用範例
欄位名稱:MTART
值:FERT
篩選器選項 (範圍) 欄位必須讀取的值的下限和上限。
篩選器選項是包含中繼資料欄位名稱和值組合的清單。這些屬性會定義從 SAP 資料來源讀取資料時要套用的篩選器條件。系統只會擷取符合條件的記錄。
篩選器鍵對應至結構定義中的欄位。格式為低和高。使用方式範例
欄位名稱: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)、時間戳記 時間戳記

限制

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

  • 系統不支援超過 50k 的套件大小。
  • 不支援差異擷取的資料來源在同步模式下會失敗。
  • 在自訂資料來源中,如果未處理套件大小,則管道在大量資料擷取作業中會失敗。

用途

系統支援兩種擷取內容:

  • 資料來源或擷取器 (SAPI)
  • ODP 上下文 ABAP CDS (ABAP_CDS)

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

ODP 資料來源 背景資訊 完整擷取 差異擷取
SAP Standard 預先提供 SAPI 支援 支援
自訂 (Z*) SAPI 支援 支援
SAP Standard 預先提供 ABAP_CDS 支援 支援
自訂 (Z*) ABAP_CDS 支援 支援

後續步驟