このページでは、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 インスタンス間の通信が有効になっていることを確認します。
- プライベート インスタンスの場合は、VPC ネットワーク ピアリングを設定します。
プラグインを構成する
- Cloud Data Fusion ウェブ インターフェースに移動し、[Studio] をクリックします。
- [Realtime] ではなく、[Data Pipeline - Batch] が選択されていることを確認します。
- [ソース] メニューで [SuccessFactors] をクリックします。SAP SuccessFactors ノードがパイプラインに表示されます。
- ソースを構成するには、SAP ODP ノードに移動して、[プロパティ] をクリックします。
次のプロパティを入力します。完全版リストについては、プロパティをご覧ください。
- SAP SuccessFactors ノードの [ラベル] を入力します(例:
SAP SuccessFactors tables
)。 接続の詳細を入力します。新しい 1 回限りの接続または再利用可能な既存接続を設定できます。
1 回限りの接続
SAP に 1 回限りの接続を追加するには、次の手順に従います。
- [接続を使用] はオフのままにします。
[接続] セクションで、SAP アカウントの次の情報をこれらのフィールドに入力します。
- SAP 認証情報を指定します。
- [SAP SuccessFactors のベース URL] フィールドに、SAP SuccessFactors アカウントのベース URL を入力します。
- [参照名] フィールドに、リネージのこのソースを識別する接続の名前を入力します。
- [エンティティ名] フィールドに、抽出するエンティティの名前を入力します(例:
people
)。 - SAP のデータ型を対応する Cloud Data Fusion のデータ型にマッピングする SAP のメタデータに基づいてスキーマを生成するには、[スキーマを取得] をクリックします。詳細については、データ型のマッピングをご覧ください。
- [プロキシ URL] フィールドに、プロトコル、アドレス、ポートを含むプロキシ URL を入力します。
省略可: SAP からの取り込み負荷を最適化するには、次の情報を入力します。
- 選択条件に基づいてレコードを抽出するには、[フィルタ オプション] と [フィールドを選択] をクリックします。
- [フィールドを展開] で、抽出された出力データで展開するナビゲーション フィールドのリストを入力します。例:
customManager
- [追加のクエリ パラメータ] に、URL に追加するパラメータ(
fromDate=2023-01-01&toDate=2023-01-31
など)を入力します。 - [関連エンティティ名] フィールドに、抽出するエンティティの名前を入力します(例:
EmpCompensationCalculated
)。 - [ページネーション タイプ] フィールドに、タイプを入力します(例:
Server-side pagination
)。
再利用可能な接続
既存の接続を再利用する手順は次のとおりです。
- [接続を使用] をオンにします。
- [接続を参照] をクリックします。
接続名をクリックします。
接続が存在しない場合は、次の手順で再利用可能な接続を作成します。
- [接続を追加] > [SAP SuccessFactors] をクリックします。
- 表示された [SAP SuccessFactors 接続を作成] ページで、接続名と説明を入力します。
- SAP 認証情報を指定します。SAP ログオンのユーザー名とパスワードの値は SAP 管理者に問い合わせることができます。
- [プロキシ URL] フィールドに、プロトコル、アドレス、ポートを含むプロキシ URL を入力します。
- [作成] をクリックします。
- SAP SuccessFactors ノードの [ラベル] を入力します(例:
プロパティ
プロパティ | マクロ対応 | 必要なプロパティ | 説明 |
---|---|---|---|
ラベル | × | ○ | データ パイプラインのノードの名。 |
接続を使用 | × | × | 再利用可能な接続を使用します。接続を使用する場合は、認証情報を提供する必要はありません。詳細については、接続を管理するをご覧ください。 |
名前 | × | ○ | 再利用可能な接続の名前。 |
参照名 | × | ○ | リネージのソースを一意に識別し、メタデータをアノテーションします。 |
SAP SuccessFactors のベース URL | ○ | ○ | SuccessFactors API のベース URL。 |
エンティティ名 | ○ | ○ | 抽出するエンティティの名前。Binary データ型のプロパティまたは大量のデータを含むエンティティはサポートされていません。たとえば、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 |
論理 OR | /RecurringDeductionItem?$filter=amount le 20 or amount gt
4 |
Not |
論理否定 | /RecurringDeductionItem?$filter=not
endswith(payComponentType, 'SUPSPEE_US') |
算術演算子 | ||
Add |
Addition | /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 |
Modulo | /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
内の 1 人の従業員のデータです。
プロパティの例 | 値の例 |
---|---|
externalCode | SAP_EC_PAYROLL_1000_0101201501312015_456_416 |
個人 ID | 456 |
ユーザー | user-1 |
雇用 ID | 416 |
給与プロバイダ ID | SAP_EC_PAYROLL |
有効なお支払い期間の開始日 | 01/01/2015 |
有効なお支払い期間の終了日 | 01/31/2015 |
Company ID | BestRun Germany(1000) |
お支払い | 01/28/2015 |
通貨 | EUR(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 の詳細を確認する。