本頁說明如何使用 Cloud Data Fusion,將 SAP SuccessFactors Employee Central 模組中的任何實體資料擷取至Google Cloud 。
詳情請參閱 Google Cloud上的 SAP 總覽。
事前準備
設定 SAP SuccessFactors 外掛程式使用的下列系統和服務:
- 設定 SAP SuccessFactors 系統。您必須在 SAP 系統中設定權限。
- 在 Cloud Data Fusion 中部署 SAP SuccessFactors 外掛程式。您必須部署與 Cloud Data Fusion 版本相容的外掛程式版本。
- 如果您升級 Cloud Data Fusion 執行個體或外掛程式的版本,請評估這些變更對管道功能範圍和效能造成的影響。
- 建立 Cloud Data Fusion 和 SAP SuccessFactors 之間的連線。
- 確認 Cloud Data Fusion 執行個體與 SAP SuccessFactors 執行個體之間已啟用通訊。
- 如為私人執行個體,請設定虛擬私有雲網路對等互連。
設定外掛程式
- 前往 Cloud Data Fusion 網頁介面,然後按一下「Studio」。
- 確認已選取「資料管道 - 批次」 (而非「即時」)。
- 在「Source」選單中,按一下「SuccessFactors」。SAP SuccessFactors 節點會顯示在管道中。
- 如要設定來源,請前往 SAP SuccessFactors 節點,然後按一下「Properties」。
輸入下列屬性。如需完整清單,請參閱「屬性」。
- 輸入 SAP SuccessFactors 節點的標籤,例如
SAP SuccessFactors tables
。 輸入連線詳細資料。您可以設定新的一次性連線,或現有的可重複使用的連線。
一次性連線
如要新增一次性 SAP 連線,請按照下列步驟操作:
- 關閉「Use connection」。
在「Connection」專區中,請在下列欄位中輸入 SAP 帳戶的相關資訊:
- 提供 SAP 憑證。
- 在「SAP SuccessFactors 基本網址」欄位中,輸入 SAP SuccessFactors 帳戶的基本網址。
- 在「Reference name」欄位中,輸入用於識別這個來源的連線名稱。
- 在「實體名稱」欄位中,輸入要擷取的實體名稱,例如
people
。 - 如要根據 SAP 的中繼資料產生資料結構,將 SAP 資料類型對應至相應的 Cloud Data Fusion 資料類型,請按一下「取得資料結構」。詳情請參閱資料類型對應。
- 在「Proxy URL」欄位中輸入 Proxy 網址,包括通訊協定、位址和通訊埠。
選用:如要最佳化 SAP 的擷取負載,請輸入下列資訊:
- 如要根據選取條件擷取記錄,請按一下「篩選器選項」和「選取欄位」。
- 在「Expand fields」中,輸入要於擷取的輸出資料中展開的導覽欄位清單。例如:
customManager
。 - 在「其他查詢參數」中,輸入要加入網址的參數,例如
fromDate=2023-01-01&toDate=2023-01-31
。 - 在「Associated entity name」欄位中,輸入要擷取的實體名稱,例如
EmpCompensationCalculated
。 - 在「分頁類型」欄位中輸入類型,例如
Server-side pagination
。
可重複使用的連線
如要重複使用現有的連線,請按照下列步驟操作:
- 開啟「Use connection」。
- 按一下「瀏覽連線」。
按一下連線名稱。
如果不存在連線,請按照下列步驟建立可重複使用的連線:
- 依序點選「新增連線」>「SAP SuccessFactors」。
- 在隨即開啟的「Create a SAP SuccessFactors connection」(建立 SAP SuccessFactors 連線) 頁面中,輸入連線名稱和說明。
- 提供 SAP 憑證。您可以向 SAP 管理員詢問 SAP 登入使用者名稱和密碼值。
- 在「Proxy URL」欄位中輸入 Proxy 網址,包括通訊協定、位址和通訊埠。
- 按一下 [建立]。
- 輸入 SAP SuccessFactors 節點的標籤,例如
屬性
屬性 | 已啟用巨集 | 必要屬性 | 說明 |
---|---|---|---|
標籤 | 否 | 是 | 資料管道中的節點名稱。 |
使用連線 | 否 | 否 | 使用可重複使用的連線。如果使用連線,您不需要提供憑證。詳情請參閱「管理連線」。 |
名稱 | 否 | 是 | 可重複使用的連線名稱。 |
參照名稱 | 否 | 是 | 唯一識別源資料來源,並為中繼資料加上註解。 |
SAP SuccessFactors 基本網址 | 是 | 是 | SuccessFactors API 的基本網址。 |
實體名稱 | 是 | 是 | 要擷取的實體名稱。不支援具有二進位資料類型屬性或大量資料的實體。舉例來說,系統不支援 UserBadges 和 BadgeTemplates 。 |
SAP SuccessFactors 使用者名稱 | 是 | 是 | 用於驗證的使用者 ID,類似 USER_ID@COMPANY_ID 。例如 sfadmin@cymbalgroup 。 |
SAP SuccessFactors 密碼 | 是 | 是 | 用於使用者驗證的 SAP SuccessFactors 密碼。 |
篩選器選項 | 是 | 否 | 限制輸出資料量量的篩選條件,例如 Price gt 200 。請參閱支援的篩選器選項。 |
選取欄位 | 是 | 否 | 要保留在擷取資料中的欄位。例如:Category 、Price 、Name 、Address 。如果欄位留空,則所有非導覽欄位都會保留在擷取的資料中。所有欄位都必須以半形逗號 (,) 分隔。 |
展開欄位 | 是 | 否 | 在擷取的輸出資料中要展開的導覽欄位清單。例如,customManager 。如果實體含有階層式記錄,來源會針對所讀取實體的每個資料列輸出記錄,每個記錄都包含額外欄位,用於儲存「展開欄位」中指定的導覽屬性值。 |
關聯實體名稱 | 是 | 否 | 要擷取的關聯實體名稱。例如 EmpCompensationCalculated 。 |
分頁類型 | 是 | 是 | 要使用的分頁類型。伺服器端分頁使用以快照為基礎的分頁。如果在不支援此功能的實體上嘗試使用以快照為基礎的分頁,伺服器會自動在查詢中強制使用用戶端偏移分頁。 只支援伺服器端分頁的實體範例包括 BadgeTemplates 、UserBadges 和 EPCustomBackgroundPortlet 。如果在這些實體上選擇用戶端分頁,則不會傳輸任何記錄,因為這會依賴 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_externalCod e |
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": {} } }
後續步驟
- 進一步瞭解 Google Cloud上的 SAP。