SAP SuccessFactors 批次來源

本頁說明如何使用 Cloud Data Fusion,將 SAP SuccessFactors Employee Central 模組中的任何實體資料擷取至Google Cloud 。

詳情請參閱 Google Cloud上的 SAP 總覽

事前準備

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

  1. 設定 SAP SuccessFactors 系統。您必須在 SAP 系統中設定權限
  2. 在 Cloud Data Fusion 中部署 SAP SuccessFactors 外掛程式。您必須部署與 Cloud Data Fusion 版本相容的外掛程式版本。
    • 如果您升級 Cloud Data Fusion 執行個體或外掛程式的版本,請評估這些變更對管道功能範圍和效能造成的影響。
  3. 建立 Cloud Data Fusion 和 SAP SuccessFactors 之間的連線
    • 確認 Cloud Data Fusion 執行個體與 SAP SuccessFactors 執行個體之間已啟用通訊。
    • 如為私人執行個體,請設定虛擬私有雲網路對等互連

設定外掛程式

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

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

      一次性連線

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

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

        1. 提供 SAP 憑證。
        2. 在「SAP SuccessFactors 基本網址」欄位中,輸入 SAP SuccessFactors 帳戶的基本網址。
        3. 在「Reference name」欄位中,輸入用於識別這個來源的連線名稱。
        4. 在「實體名稱」欄位中,輸入要擷取的實體名稱,例如 people
        5. 如要根據 SAP 的中繼資料產生資料結構,將 SAP 資料類型對應至相應的 Cloud Data Fusion 資料類型,請按一下「取得資料結構」。詳情請參閱資料類型對應
        6. 在「Proxy URL」欄位中輸入 Proxy 網址,包括通訊協定、位址和通訊埠。
        7. 選用:如要最佳化 SAP 的擷取負載,請輸入下列資訊:

          1. 如要根據選取條件擷取記錄,請按一下「篩選器選項」和「選取欄位」
          2. 在「Expand fields」中,輸入要於擷取的輸出資料中展開的導覽欄位清單。例如:customManager
          3. 在「其他查詢參數」中,輸入要加入網址的參數,例如 fromDate=2023-01-01&toDate=2023-01-31
          4. 在「Associated entity name」欄位中,輸入要擷取的實體名稱,例如 EmpCompensationCalculated
          5. 在「分頁類型」欄位中輸入類型,例如 Server-side pagination

      可重複使用的連線

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

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

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

      1. 依序點選「新增連線」>「SAP SuccessFactors」
      2. 在隨即開啟的「Create a SAP SuccessFactors connection」(建立 SAP SuccessFactors 連線) 頁面中,輸入連線名稱和說明。
      3. 提供 SAP 憑證。您可以向 SAP 管理員詢問 SAP 登入使用者名稱和密碼值。
      4. 在「Proxy URL」欄位中輸入 Proxy 網址,包括通訊協定、位址和通訊埠。
      5. 按一下 [建立]。

屬性

屬性 已啟用巨集 必要屬性 說明
標籤 資料管道中的節點名稱。
使用連線 使用可重複使用的連線。如果使用連線,您不需要提供憑證。詳情請參閱「管理連線」。
名稱 可重複使用的連線名稱。
參照名稱 唯一識別源資料來源,並為中繼資料加上註解。
SAP SuccessFactors 基本網址 SuccessFactors API 的基本網址。
實體名稱 要擷取的實體名稱。不支援具有二進位資料類型屬性或大量資料的實體。舉例來說,系統不支援 UserBadgesBadgeTemplates
SAP SuccessFactors 使用者名稱 用於驗證的使用者 ID,類似 USER_ID@COMPANY_ID。例如 sfadmin@cymbalgroup
SAP SuccessFactors 密碼 用於使用者驗證的 SAP SuccessFactors 密碼。
篩選器選項 限制輸出資料量量的篩選條件,例如 Price gt 200。請參閱支援的篩選器選項
選取欄位 要保留在擷取資料中的欄位。例如:CategoryPriceNameAddress。如果欄位留空,則所有非導覽欄位都會保留在擷取的資料中。

所有欄位都必須以半形逗號 (,) 分隔。
展開欄位 在擷取的輸出資料中要展開的導覽欄位清單。例如,customManager。如果實體含有階層式記錄,來源會針對所讀取實體的每個資料列輸出記錄,每個記錄都包含額外欄位,用於儲存「展開欄位」中指定的導覽屬性值。
關聯實體名稱 要擷取的關聯實體名稱。例如 EmpCompensationCalculated
分頁類型 要使用的分頁類型。伺服器端分頁使用以快照為基礎的分頁。如果在不支援此功能的實體上嘗試使用以快照為基礎的分頁,伺服器會自動在查詢中強制使用用戶端偏移分頁。
只支援伺服器端分頁的實體範例包括 BadgeTemplatesUserBadgesEPCustomBackgroundPortlet。如果在這些實體上選擇用戶端分頁,則不會傳輸任何記錄,因為這會依賴 Count API,而該 API 會將 -1 做為回應傳回。

預設為「伺服器端分頁」

支援的篩選器選項

系統支援下列運算子:

運算子 說明 範例
邏輯運算子
Eq 等於 /EmpGlobalAssignment?$filter=assignmentClass eq 'GA'
Ne 不等於 /RecurringDeductionItem?$filter=amount ne 18
Gt 大於 /RecurringDeductionItem?$filter=amount gt 4
Ge 大於或等於 /RecurringDeductionItem?$filter=amount ge 18
Lt 小於 /RecurringDeductionItem?$filter=amount lt 18
Le 小於或等於 /RecurringDeductionItem?$filter=amount le 20
And 邏輯 AND /RecurringDeductionItem?$filter=amount le 20 and amount gt 4
Or 邏輯或 /RecurringDeductionItem?$filter=amount le 20 or amount gt 4
Not 邏輯否定 /RecurringDeductionItem?$filter=not endswith(payComponentType, 'SUPSPEE_US')
算術運算子
Add /RecurringDeductionItem?$filter=amount add 5 gt 18
Sub /RecurringDeductionItem?$filter=amount sub 5 gt 18
Mul /RecurringDeductionItem?$filter=amount mul 2 gt 18
Div /RecurringDeductionItem?$filter=amount div 2 gt 18
Mod 模數 /RecurringDeductionItem?$filter=amount mod 2 eq 0
群組運算子
( ) 優先順序分組 /RecurringDeductionItem?$filter=(amount sub 5) gt 8

資料類型對應關係

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

SuccessFactors 資料類型 Cloud Data Fusion 架構資料類型
Binary Bytes
Boolean Boolean
Byte Bytes
DateTime DateTime
DateTimeOffset Timestamp_Micros
Decimal Decimal
Double Double
Float Float
Int16 Integer
Int32 Integer
Int64 Long
SByte Integer
String String
Time Time_Micros

用途

以下範例用途是 EmployeePayrollRunResults 中單一員工的資料:

屬性範例 範例值
externalCode SAP_EC_PAYROLL_1000_0101201501312015_456_416
人員 ID 456
使用者 user-1
就業 ID 416
薪資供應商 ID SAP_EC_PAYROLL
付款週期開始時間 2015 年 1 月 1 日
有效付款週期結束 2015 年 1 月 31 日
公司 ID BestRun Germany (1000)
付款 2015 年 1 月 28 日
幣別 歐元 (EUR)
薪資執行類型 一般 (REGULAR)
系統 ID X0B

以下範例顯示 EmployeePayrollRunResults 中員工的結果:

EmployeePayrollRunResults_externalCode EmployeePayrollRunResults_mdfSystemEffectiveStartDate amount createdBy createdDate
SAP_EC_PAYROLL_2800_0101201901312019_305_265 1/31/2019 0:00:00 70923.9 sfadmin 12/10/2019 15:32:20
SAP_EC_PAYROLL_2800_0101201901312019_310_270 1/31/2019 0:00:00 64500 sfadmin 12/10/2019 15:32:20
SAP_EC_PAYROLL_2800_0201201902282019_305_265 2/28/2019 0:00:00 70923.9 sfadmin 12/10/2019 15:32:20
SAP_EC_PAYROLL_2800_0201201902282019_310_270 2/28/2019 0:00:00 64500 sfadmin 12/10/2019 15:32:20
SAP_EC_PAYROLL_2800_0301201903312019_305_265 3/31/2019 0:00:00 70923.9 sfadmin 12/10/2019 15:32:20

範例管道

請參閱下列 JSON 檔案中的設定範例:

  {
      "artifact": {
          "name": "data-pipeline-1",
          "version": "DATA_FUSION_VERSION",
          "scope": "SYSTEM"
      },
      "description": "",
      "name": "Demo_SuccessFactors_BatchSource",
      "config": {
          "resources": {
              "memoryMB": 2048,
              "virtualCores": 1
          },
          "driverResources": {
              "memoryMB": 2048,
              "virtualCores": 1
          },
          "connections": [
              {
                  "from": "SAP SuccessFactors",
                  "to": "BigQuery"
              }
          ],
          "comments": [],
          "postActions": [],
          "properties": {},
          "processTimingEnabled": true,
          "stageLoggingEnabled": false,
          "stages": [
              {
                  "name": "SAP SuccessFactors",
                  "plugin": {
                      "name": "SuccessFactors",
                      "type": "batchsource",
                      "label": "SAP SuccessFactors",
                      "artifact": {
                          "name": "successfactors-plugins",
                          "version": "PLUGIN_VERSION",
                          "scope": "USER"
                      },
                      "properties": {
                        "useConnection": "false",
                        "username": "${username}",
                        "password": "${password}",
                        "baseURL": "${baseUrl}",
                        "referenceName": "test",
                        "entityName": "${EmpCompensation}",
                        "proxyUrl": "${ProxyUrl}",
                        "paginationType": "serverSide",
                        "initialRetryDuration": "2",
                        "maxRetryDuration": "300",
                        "maxRetryCount": "3",
                        "retryMultiplier": "2",
                        "proxyUsername": "${Proxyusername}",
                        "proxyPassword": "${Proxypassword}"
                      }
                  },
                  "outputSchema": [
                      {
                          "name": "etlSchemaBody",
                          "schema": ""
                      }
                  ],
                  "id": "SAP-SuccessFactors"
              },
              {
                  "name": "BigQuery",
                  "plugin": {
                      "name": "BigQueryTable",
                      "type": "batchsink",
                      "label": "BigQuery",
                      "artifact": {
                          "name": "google-cloud",
                          "version": "BIGQUERY_PLUGIN_VERSION",
                          "scope": "SYSTEM"
                      },
                      "properties": {
                        "useConnection": "false",
                        "project": "auto-detect",
                        "serviceAccountType": "filePath",
                        "serviceFilePath": "auto-detect",
                        "referenceName": "Reff",
                        "dataset": "SF_Aug",
                        "table": "testdata_proxy",
                        "operation": "insert",
                        "truncateTable": "true",
                        "allowSchemaRelaxation": "true",
                        "location": "US",
                        "createPartitionedTable": "false",
                        "partitioningType": "TIME",
                        "partitionFilterRequired": "false"
                      }
                  },
                  "outputSchema": [
                      {
                          "name": "etlSchemaBody",
                          "schema": ""
                      }
                  ],
                  "inputSchema": [
                      {
                          "name": "SAP SuccessFactors",
                          "schema": ""
                      }
                  ],
                  "id": "BigQuery"
              }
          ],
           "schedule": "0 1 */1 * *",
        "engine": "spark",
        "numOfRecordsPreview": 100,
        "rangeRecordsPreview": {
            "min": 1,
            "max": "5000"
        },
        "description": "Data Pipeline Application",
        "maxConcurrentRuns": 1,
        "pushdownEnabled": false,
        "transformationPushdown": {}
      }
  }
  

後續步驟