SAP SuccessFactors-Batchquelle

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:

  1. Konfigurieren Sie das SAP SuccessFactors-System. Sie müssen Berechtigungen in Ihrem SAP-System einrichten.
  2. 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.
  3. 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

  1. Rufen Sie die Cloud Data Fusion-Weboberfläche auf und klicken Sie auf Studio.
  2. Achten Sie darauf, dass Datenpipeline – Batch ausgewählt ist (nicht Echtzeit).
  3. Klicken Sie im Menü Quelle auf SuccessFactors. Der SAP SuccessFactors-Knoten wird in Ihrer Pipeline angezeigt.
  4. Klicken Sie zum Konfigurieren der Quelle auf den SAP SuccessFactors-Knoten und dann auf Properties (Attribute).
  5. Geben Sie die folgenden Properties ein. Eine vollständige Liste finden Sie unter Properties.

    1. Geben Sie ein Label für den SAP SuccessFactors-Knoten ein, z. B. SAP SuccessFactors tables.
    2. 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:

      1. Lassen Sie die Option Verbindung verwenden deaktiviert.
      2. Geben Sie im Abschnitt Verbindung die folgenden Informationen aus dem SAP-Konto in die entsprechenden Felder ein:

        1. Geben Sie die SAP-Anmeldedaten an.
        2. Geben Sie in das Feld SAP SuccessFactors Base URL (SAP SuccessFactors-Basis-URL) die Basis-URL Ihres SAP SuccessFactors-Kontos ein.
        3. Geben Sie im Feld Referenzname einen Namen für die Verbindung ein, mit dem diese Quelle für die Herkunft identifiziert wird.
        4. Geben Sie im Feld Entity Name (Entitätsname) den Namen der zu extrahierenden Entität ein, z. B. people.
        5. 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.
        6. Geben Sie in das Feld Proxy-URL die Proxy-URL ein, einschließlich Protokoll, Adresse und Port.
        7. Optional: Geben Sie die folgenden Informationen ein, um die Datenaufnahme aus SAP zu optimieren:

          1. Wenn Sie Datensätze basierend auf Auswahlbedingungen extrahieren möchten, klicken Sie auf Filteroptionen und dann auf Felder auswählen.
          2. Geben Sie unter Felder maximieren eine Liste der Navigationsfelder ein, die in den extrahierten Ausgabedaten maximiert werden sollen. Beispiel: customManager
          3. 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.
          4. Geben Sie im Feld Name der verknüpften Entität den Namen der zu extrahierenden Entität ein, z. B. EmpCompensationCalculated.
          5. Geben Sie im Feld Paginierungstyp einen Typ ein, z. B. Server-side pagination.

      Wiederverwendbare Verbindung

      So verwenden Sie eine vorhandene Verbindung wieder:

      1. Aktivieren Sie Verbindung verwenden.
      2. Klicken Sie auf Verbindungen durchsuchen.
      3. Klicken Sie auf den Namen der Verbindung.

      Wenn keine Verbindung vorhanden ist, erstellen Sie eine wiederverwendbare Verbindung. Gehen Sie dazu so vor:

      1. Klicken Sie auf Verbindung hinzufügen > SAP SuccessFactors.
      2. Geben Sie auf der Seite SAP SuccessFactors-Verbindung erstellen einen Namen und eine Beschreibung für die Verbindung ein.
      3. Geben Sie die SAP-Anmeldedaten an. Sie können den SAP-Administrator um den Nutzernamen und das Passwort für die SAP-Anmeldung bitten.
      4. Geben Sie in das Feld Proxy-URL die Proxy-URL ein, einschließlich Protokoll, Adresse und Port.
      5. Klicken Sie auf Erstellen.

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_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

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": {}
      }
  }
  

Nächste Schritte