Auf dieser Seite wird beschrieben, wie Sie mit Cloud Data Fusion Daten aus beliebigen Entitäten im SAP SuccessFactors Employee Central-Modul inGoogle Cloud extrahieren.
Weitere Informationen finden Sie in der Übersicht zu SAP in Google Cloud.
Hinweis
Richten Sie die folgenden Systeme und Dienste ein, die vom SAP SuccessFactors-Plug-in verwendet werden:
- Konfigurieren Sie das SAP SuccessFactors-System. Sie müssen Berechtigungen in Ihrem SAP-System einrichten.
- SAP SuccessFactors-Plug-in in Cloud Data Fusion bereitstellen Sie müssen eine Plug-in-Version bereitstellen, die mit der Cloud Data Fusion-Version kompatibel ist.
- Wenn Sie die Version Ihrer Cloud Data Fusion-Instanz oder Ihres Cloud Data Fusion-Plug-ins aktualisieren, sollten Sie die Auswirkungen der Änderungen auf den Funktionsumfang und die Leistung der Pipeline bewerten.
- Stellen Sie eine Verbindung zwischen Cloud Data Fusion und SAP SuccessFactors her.
- Achten Sie darauf, dass die Kommunikation zwischen der Cloud Data Fusion-Instanz und der SAP SuccessFactors-Instanz aktiviert ist.
- Richten Sie für private Instanzen VPC-Netzwerk-Peering ein.
Plug-in konfigurieren
- Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
- Achten Sie darauf, dass Datenpipeline – Batch ausgewählt ist (nicht Echtzeit).
- Klicken Sie im Menü Quelle auf SuccessFactors. Der SAP SuccessFactors-Knoten wird in Ihrer Pipeline angezeigt.
- Klicken Sie zum Konfigurieren der Quelle auf den SAP SuccessFactors-Knoten und dann auf Properties (Attribute).
Geben Sie die folgenden Properties ein. Eine vollständige Liste finden Sie unter Properties.
- Geben Sie ein Label für den SAP SuccessFactors-Knoten ein, z. B.
SAP SuccessFactors tables
. Geben Sie die Verbindungsdetails ein. Sie können eine neue einmalige Verbindung oder eine vorhandene wiederverwendbare Verbindung einrichten.
Einmalige Verbindung
So fügen Sie eine einmalige Verbindung zu SAP hinzu:
- Lassen Sie die Option Verbindung verwenden deaktiviert.
Geben Sie im Abschnitt Verbindung die folgenden Informationen aus dem SAP-Konto in die entsprechenden Felder ein:
- Geben Sie die SAP-Anmeldedaten an.
- Geben Sie in das Feld SAP SuccessFactors Base URL (SAP SuccessFactors-Basis-URL) die Basis-URL Ihres SAP SuccessFactors-Kontos ein.
- Geben Sie im Feld Referenzname einen Namen für die Verbindung ein, mit dem diese Quelle für die Herkunft identifiziert wird.
- Geben Sie im Feld Entity Name (Entitätsname) den Namen der zu extrahierenden Entität ein, z. B.
people
. - Klicken Sie auf Schema abrufen, um ein Schema auf Basis der Metadaten von SAP zu generieren, das SAP-Datentypen den entsprechenden Cloud Data Fusion-Datentypen zuordnet. Weitere Informationen finden Sie unter Datentypzuordnungen.
- Geben Sie in das Feld Proxy-URL die Proxy-URL ein, einschließlich Protokoll, Adresse und Port.
Optional: Geben Sie die folgenden Informationen ein, um die Datenaufnahme aus SAP zu optimieren:
- Wenn Sie Datensätze basierend auf Auswahlbedingungen extrahieren möchten, klicken Sie auf Filteroptionen und dann auf Felder auswählen.
- Geben Sie unter Felder maximieren eine Liste der Navigationsfelder ein, die in den extrahierten Ausgabedaten maximiert werden sollen. Beispiel:
customManager
- Geben Sie unter Zusätzliche Suchparameter die Parameter ein, die der URL hinzugefügt werden sollen, z. B.
fromDate=2023-01-01&toDate=2023-01-31
. - Geben Sie im Feld Name der verknüpften Entität den Namen der zu extrahierenden Entität ein, z. B.
EmpCompensationCalculated
. - Geben Sie im Feld Paginierungstyp einen Typ ein, z. B.
Server-side pagination
.
Wiederverwendbare Verbindung
So verwenden Sie eine vorhandene Verbindung wieder:
- Aktivieren Sie Verbindung verwenden.
- Klicken Sie auf Verbindungen durchsuchen.
Klicken Sie auf den Namen der Verbindung.
Wenn keine Verbindung vorhanden ist, erstellen Sie eine wiederverwendbare Verbindung. Gehen Sie dazu so vor:
- Klicken Sie auf Verbindung hinzufügen > SAP SuccessFactors.
- Geben Sie auf der Seite SAP SuccessFactors-Verbindung erstellen einen Namen und eine Beschreibung für die Verbindung ein.
- Geben Sie die SAP-Anmeldedaten an. Sie können den SAP-Administrator um den Nutzernamen und das Passwort für die SAP-Anmeldung bitten.
- Geben Sie in das Feld Proxy-URL die Proxy-URL ein, einschließlich Protokoll, Adresse und Port.
- Klicken Sie auf Erstellen.
- Geben Sie ein Label für den SAP SuccessFactors-Knoten ein, z. B.
Attribute
Attribut | Makro aktiviert | Erforderliche Property | Beschreibung |
---|---|---|---|
Label | Nein | Ja | Der Name des Knotens in Ihrer Datenpipeline. |
Verbindung verwenden | Nein | Nein | Verwenden Sie eine wiederverwendbare Verbindung. Wenn eine Verbindung verwendet wird, müssen Sie die Anmeldedaten nicht angeben. Weitere Informationen finden Sie unter Verbindungen verwalten. |
Name | Nein | Ja | Der Name der wiederverwendbaren Verbindung. |
Referenzname | Nein | Ja | Hiermit wird die Quelle eindeutig für die Datenverlaufskontrolle identifiziert und die Metadaten werden kommentiert. |
SAP SuccessFactors-Basis-URL | Ja | Ja | Die Basis-URL der SuccessFactors API. |
Name der Entität | Ja | Ja | Der Name der zu extrahierenden Entität. Entitäten mit Attributen vom Typ „Binary“ oder große Datenmengen werden nicht unterstützt. Beispielsweise werden UserBadges und BadgeTemplates nicht unterstützt. |
SAP SuccessFactors-Nutzername | Ja | Ja | Die Nutzer-ID für die Authentifizierung, ähnlich wie USER_ID@COMPANY_ID . Beispiel: sfadmin@cymbalgroup . |
SAP SuccessFactors-Passwort | Ja | Ja | Das SAP SuccessFactors-Passwort für die Nutzerauthentifizierung. |
Filteroptionen | Ja | Nein | Die Filterbedingung, mit der das Ausgabedatenvolumen eingeschränkt wird, z. B. Price gt 200 . Unterstützte Filteroptionen |
Felder auswählen | Ja | Nein | Felder, die in den extrahierten Daten beibehalten werden sollen. Beispiele: Category , Price , Name , Address . Wenn das Feld leer bleibt, werden alle Felder außer den Navigationsfeldern in den extrahierten Daten beibehalten.Alle Felder müssen durch Kommas (,) getrennt sein. |
Felder maximieren | Ja | Nein | Liste der Navigationsfelder, die in den extrahierten Ausgabedaten maximiert werden sollen. Beispiel: customManager . Wenn eine Entität hierarchische Einträge hat, gibt die Quelle einen Datensatz für jede Zeile in der gelesenen Entität aus. Jeder Datensatz enthält ein zusätzliches Feld, das den Wert der Navigationseigenschaft enthält, die in den zu erweiternden Feldern angegeben ist. |
Name der verknüpften Entität | Ja | Nein | Name der verknüpften Entität, die extrahiert wird.
Beispiel: EmpCompensationCalculated . |
Typ der Paginierung | Ja | Ja | Die zu verwendende Paginierung. Bei der serverseitigen Paginierung wird die Snapshot-basierte Paginierung verwendet. Wenn versucht wird, die Snapshot-basierte Paginierung für ein Entitätsobjekt auszuführen, das diese Funktion nicht unterstützt, erzwingt der Server automatisch die Client-Offset-Paginierung für die Abfrage. Beispiele für Entitäten, die nur serverseitige Paginierung unterstützen, sind BadgeTemplates , UserBadges und EPCustomBackgroundPortlet . Wenn für diese Entitäten die clientseitige Paginierung ausgewählt wird, werden keine Daten übertragen, da sie auf der Count API basiert, die -1 als Antwort zurückgibt.Der Standardwert ist Serverseitige Paginierung. |
Unterstützte Filteroptionen
Folgende Operatoren werden unterstützt:
Operator | Beschreibung | Beispiel |
---|---|---|
Logische Operatoren | ||
Eq |
Gleich | /EmpGlobalAssignment?$filter=assignmentClass eq 'GA' |
Ne |
Ungleich | /RecurringDeductionItem?$filter=amount ne 18 |
Gt |
Größer als | /RecurringDeductionItem?$filter=amount gt 4 |
Ge |
Größer als oder gleich | /RecurringDeductionItem?$filter=amount ge 18 |
Lt |
Kleiner als | /RecurringDeductionItem?$filter=amount lt 18 |
Le |
Kleiner als oder gleich | /RecurringDeductionItem?$filter=amount le 20 |
And |
Logisch und | /RecurringDeductionItem?$filter=amount le 20 and amount gt
4 |
Or |
Logisch oder | /RecurringDeductionItem?$filter=amount le 20 or amount gt
4 |
Not |
Logische Negation | /RecurringDeductionItem?$filter=not
endswith(payComponentType, 'SUPSPEE_US') |
Arithmetische Operatoren | ||
Add |
Addition | /RecurringDeductionItem?$filter=amount add 5 gt 18 |
Sub |
Subtraktion | /RecurringDeductionItem?$filter=amount sub 5 gt 18 |
Mul |
Multiplikation | /RecurringDeductionItem?$filter=amount mul 2 gt 18 |
Div |
Division | /RecurringDeductionItem?$filter=amount div 2 gt 18 |
Mod |
Modulo | /RecurringDeductionItem?$filter=amount mod 2 eq 0 |
Gruppierungsoperatoren | ||
( ) |
Gruppierung nach Vorrang | /RecurringDeductionItem?$filter=(amount sub 5) gt 8 |
Datentypzuordnungen
In der folgenden Tabelle sind SAP-Datentypen mit den entsprechenden Cloud Data Fusion-Typen aufgeführt.
SuccessFactors-Datentyp | Cloud Data Fusion-Schemadatentyp |
---|---|
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 |
Anwendungsfälle
Im folgenden Beispiel werden die Daten für einen einzelnen Mitarbeiter in EmployeePayrollRunResults
verwendet:
Beispiel-Property | Beispielwert |
---|---|
externalCode | SAP_EC_PAYROLL_1000_0101201501312015_456_416 |
Personen-ID | 456 |
Nutzer | user-1 |
Beschäftigungs-ID | 416 |
ID des Lohn- und Gehaltsabrechnungsanbieters | SAP_EC_PAYROLL |
Beginn des effektiven Zahlungszeitraums | 01.01.2015 |
Ende des gültigen Zahlungszeitraums | 31.01.2015 |
Unternehmens-ID | BestRun Deutschland (1.000) |
Auszahlung | 28.01.2015 |
Währung | Euro (EUR) |
Typ der Lohnabrechnung | Normal (REGULAR) |
System-ID | X0B |
Das Beispiel zeigt die Ergebnisse für einen Mitarbeiter in 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 |
Beispielpipeline
In der folgenden JSON-Datei finden Sie Beispielkonfigurationen:
{ "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": {} } }