SAP SuccessFactors-Batchquelle

Auf dieser Seite wird beschrieben, wie Sie Daten aus beliebigen Entitäten im SAP SuccessFactors Employee Central-Modul mit Cloud Data Fusion in Google Cloud extrahieren.

Weitere Informationen finden Sie in der Übersicht über SAP in Google Cloud.

Hinweise

Richten Sie die folgenden Systeme und Dienste ein, die von SAP verwendet werden SuccessFactors-Plug-in:

  1. SAP SuccessFactors-System konfigurieren Du musst Berechtigungen in Ihrem SAP-System einrichten.
  2. SAP SuccessFactors-Plug-in bereitstellen in Cloud Data Fusion Sie müssen eine Plug-in-Version bereitstellen, ist mit der Cloud Data Fusion-Version kompatibel.
    • Wenn Sie die Version von Cloud Data Fusion aktualisieren oder Plug-in die Auswirkungen der Änderungen auf den Funktionsbereich und Leistung der Pipeline prüfen.
  3. Verbindung zwischen Cloud Data Fusion und SAP herstellen SuccessFactors
    • Stellen Sie sicher, dass die Kommunikation zwischen den Cloud Data Fusion-Instanz und die SAP SuccessFactors-Instanz.
    • Richten Sie für private Instanzen VPC-Netzwerk-Peering ein.

Plug-in konfigurieren

  1. Zur Weboberfläche von Cloud Data Fusion und klicke auf Studio.
  2. Achten Sie darauf, dass Data Pipeline – Batch (Datenpipeline – Batch) ausgewählt ist (nicht Realtime).
  3. Klicken Sie im Menü Source (Quelle) auf SuccessFactors. Die Erfolgsfaktoren von SAP in Ihrer Pipeline.
  4. Wenn Sie die Quelle konfigurieren möchten, rufen Sie den SAP SuccessFactors-Knoten auf und klicken Sie auf Properties (Attribute).
  5. Geben Sie die folgenden Eigenschaften ein. Eine vollständige Liste finden Sie unter Properties:

    1. Geben Sie ein Label für den SAP SuccessFactorsnode ein – für Beispiel: SAP SuccessFactors tables.
    2. Geben Sie die Verbindungsdetails ein. Sie können einmalig eine neue Verbindung einrichten, oder eine vorhandene wiederverwendbare Verbindung.

      Einmalige Verbindung

      So fügen Sie eine einmalige Verbindung zu SAP hinzu: Schritte:

      1. Lassen Sie Verbindung verwenden deaktiviert.
      2. Geben Sie im Abschnitt Verbindung die folgenden Informationen ein. aus dem SAP-Konto in die folgenden 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. Gib im Feld Referenzname einen Namen für die Verbindung, die diese Quelle für die Herkunft identifiziert.
        4. Geben Sie im Feld Entity Name (Entitätsname) den Namen der zu extrahierenden Entität ein, z. B. people.
        5. Zum Generieren eines Schemas basierend auf den Metadaten aus SAP, das die SAP-Datentypen in entsprechende Cloud Data Fusion-Daten klicken Sie auf Schema abrufen. Weitere Informationen finden Sie unter Datentypzuordnungen.
        6. Geben Sie im Feld Proxy-URL die Proxy-URL einschließlich Protokoll, Adresse und Port.
        7. Optional: Geben Sie zum Optimieren der Aufnahmelast von SAP den Parameter folgende Informationen:

          1. Um Datensätze basierend auf Auswahlbedingungen zu extrahieren, klicken Sie auf Filteroptionen und Felder auswählen:
          2. Geben Sie in das Feld Maximierungsfelder eine Liste von Navigationsfeldern ein. die in den extrahierten Ausgabedaten erweitert werden. Beispiel: customManager
          3. Geben Sie unter Zusätzliche Abfrageparameter die hinzuzufügenden Parameter ein. an die URL anhängen. Beispiel: fromDate=2023-01-01&toDate=2023-01-31
          4. Geben Sie im Feld Name der verknüpften Entität den Namen des zu extrahieren, z. B. EmpCompensationCalculated
          5. Geben Sie in das 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, indem Sie 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 für die Werte für Nutzername und Passwort der SAP-Anmeldung.
      4. Geben Sie im Feld Proxy-URL die Proxy-URL einschließlich Protokoll, Adresse und Port.
      5. Klicken Sie auf Erstellen.

Properties

Attribut Makro aktiviert Erforderliche Property Beschreibung
Label Nein Ja Der Name des Knotens in Ihrer Datenpipeline.
Verbindung verwenden Nein Nein Wiederverwendbare Verbindung verwenden. 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 Identifiziert eindeutig die Quelle für die Herkunft und annotiert die Metadaten.
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. Wird nicht unterstützt Entitäten mit Attributen vom Typ „Binär“ oder großen Volumes von Daten. 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, die das Ausgabedatenvolumen einschränkt, z. B. Price gt 200. Weitere Informationen finden Sie in der unterstützten Filteroptionen.
Felder auswählen Ja Nein Felder, die in den extrahierten Daten beibehalten werden sollen. Beispiele: Category, Price, Name, Address. Wenn das Feld leer gelassen wird, Felder, die keine Navigationsfelder sind, bleiben in den extrahierten Daten erhalten.

Alle Felder müssen durch Kommas (,) getrennt sein.
Felder erweitern Ja Nein Liste der Navigationsfelder, die in der extrahierten Datei erweitert werden sollen und Ausgabedaten. Beispiel: customManager. Wenn eine Entität hierarchischen Datensätze gibt die Quelle einen Datensatz für jede Zeile im Entität, die er liest, wobei jeder Datensatz ein zusätzliches Feld enthält, das enthält den Wert der Navigationseigenschaft, die im Feld zum Maximieren angegeben ist. Felder.
Name der verknüpften Entität Ja Nein Name der verknüpften Entität, die extrahiert wird. Beispiel: EmpCompensationCalculated.
Paginierungstyp Ja Ja Der zu verwendende Paginierungstyp. Serverseitige Paginierung eine Snapshot-basierte Paginierung. 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 die serverseitige Paginierung unterstützen, sind BadgeTemplates, UserBadges und EPCustomBackgroundPortlet. In folgenden Fällen werden keine Einträge übertragen: wird für diese Entitäten die clientseitige Paginierung ausgewählt, da sie auf Die Count API, die -1 als Antwort zurückgibt

Die Standardeinstellung 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
( ) Vorranggruppierung /RecurringDeductionItem?$filter=(amount sub 5) gt 8

Datentypzuordnungen

In der folgenden Tabelle sind die SAP-Datentypen mit den entsprechenden Cloud Data Fusion-Typen.

Datentyp „SuccessFactors“ 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 Anwendungsfall werden die Daten einer einzelnen Mitarbeitenden in einem EmployeePayrollRunResults:

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 effektiven Zahlungszeitraums 31.01.2015
Unternehmens-ID BestRun Deutschland (1000)
Auszahlung 28.01.2015
Währung EUR (EUR)
Typ der Lohnabrechnung Regulär (REGULAR)
System-ID X0 Mrd.

Das Beispiel zeigt die Ergebnisse für eine 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