Source de lot SAP SuccessFactors

Cette page explique comment extraire les données de n'importe quelle entité du module SAP SuccessFactors Employee Central versGoogle Cloud avec Cloud Data Fusion.

Pour en savoir plus, consultez la présentation de SAP sur Google Cloud.

Avant de commencer

Configurez les systèmes et services suivants utilisés par le plug-in SAP SuccessFactors:

  1. Configurez le système SAP SuccessFactors. Vous devez configurer des autorisations dans votre système SAP.
  2. Déployer le plug-in SAP SuccessFactors dans Cloud Data Fusion Vous devez déployer une version de plug-in compatible avec la version de Cloud Data Fusion.
    • Si vous mettez à niveau la version de votre instance ou de votre plug-in Cloud Data Fusion, évaluez l'impact des modifications sur la portée fonctionnelle et les performances du pipeline.
  3. Établissez une connectivité entre Cloud Data Fusion et SAP SuccessFactors.
    • Assurez-vous que la communication est activée entre l'instance Cloud Data Fusion et l'instance SAP SuccessFactors.
    • Pour les instances privées, configurez l'appairage de réseaux VPC.

Configurer le plug-in

  1. Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Studio.
  2. Vérifiez que Pipeline de données – lot est sélectionné (et non Temps réel).
  3. Dans le menu Source, cliquez sur SuccessFactors. Le nœud SAP SuccessFactors apparaît dans votre pipeline.
  4. Pour configurer la source, accédez au nœud SAP SuccessFactors, puis cliquez sur Properties (Propriétés).
  5. Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez la section Propriétés.

    1. Saisissez un libellé pour le nœud SAP SuccessFactors (par exemple, SAP SuccessFactors tables).
    2. Saisissez les informations de connexion. Vous pouvez configurer une connexion ponctuelle ou une connexion existante réutilisable.

      Connexion unique

      Pour ajouter une connexion ponctuelle à SAP, procédez comme suit:

      1. Laissez l'option Utiliser la connexion désactivée.
      2. Dans la section Connexion, saisissez les informations suivantes du compte SAP dans les champs suivants:

        1. Fournissez les identifiants SAP.
        2. Dans le champ URL de base SAP SuccessFactors, saisissez l'URL de base de votre compte SAP SuccessFactors.
        3. Dans le champ Nom de la référence, saisissez un nom pour la connexion qui identifie cette source pour la lignée.
        4. Dans le champ Entity Name (Nom de l'entité), saisissez le nom de l'entité que vous extrayez (par exemple, people).
        5. Pour générer un schéma basé sur les métadonnées de SAP qui mappe les types de données SAP sur les types de données Cloud Data Fusion correspondants, cliquez sur Obtenir le schéma. Pour en savoir plus, consultez la section Mappages des types de données.
        6. Dans le champ URL du proxy, saisissez l'URL du proxy, y compris le protocole, l'adresse et le port.
        7. Facultatif: pour optimiser la charge d'ingestion à partir de SAP, saisissez les informations suivantes:

          1. Pour extraire des enregistrements en fonction de conditions de sélection, cliquez sur Options de filtrage, puis sur Sélectionner des champs.
          2. Dans Développer les champs, saisissez une liste de champs de navigation à développer dans les données de sortie extraites. Exemple : customManager.
          3. Dans Paramètres de requête supplémentaires, saisissez les paramètres à ajouter à l'URL (par exemple, fromDate=2023-01-01&toDate=2023-01-31).
          4. Dans le champ Nom de l'entité associée, saisissez le nom de l'entité à extraire (par exemple, EmpCompensationCalculated).
          5. Dans le champ Type de pagination, saisissez un type (par exemple, Server-side pagination).

      Connexion réutilisable

      Pour réutiliser une connexion existante, procédez comme suit:

      1. Activez l'option Utiliser la connexion.
      2. Cliquez sur Parcourir les connexions.
      3. Cliquez sur le nom de la connexion.

      Si une connexion n'existe pas, créez-en une réutilisable en procédant comme suit:

      1. Cliquez sur Ajouter une connexion > SAP SuccessFactors.
      2. Sur la page Créer une connexion SAP SuccessFactors qui s'ouvre, saisissez un nom et une description de la connexion.
      3. Fournissez les identifiants SAP. Vous pouvez demander à l'administrateur SAP les valeurs du nom d'utilisateur et du mot de passe de connexion SAP.
      4. Dans le champ URL du proxy, saisissez l'URL du proxy, y compris le protocole, l'adresse et le port.
      5. Cliquez sur Créer.

Propriétés

Propriété Macro activée Propriété obligatoire Description
Label Non Oui Nom du nœud de votre pipeline de données.
Utiliser la connexion Non Non Utilisez une connexion réutilisable. Si une connexion est utilisée, vous n'avez pas besoin de fournir d'identifiants. Pour en savoir plus, consultez la page Gérer les connexions.
Nom Non Oui Nom de la connexion réutilisable.
Nom de référence Non Oui Identifie de manière unique la source de la traçabilité et annote les métadonnées.
URL de base SAP SuccessFactors Oui Oui URL de base de l'API SuccessFactors.
Nom de l'entité Oui Oui Nom de l'entité à extraire. N'est pas compatible avec les entités qui ont des propriétés avec le type de données binaires ou de grands volumes de données. Par exemple, UserBadges et BadgeTemplates ne sont pas compatibles.
Nom d'utilisateur SAP SuccessFactors Oui Oui ID utilisateur pour l'authentification, semblable à USER_ID@COMPANY_ID. Par exemple, sfadmin@cymbalgroup.
Mot de passe SAP SuccessFactors Oui Oui Mot de passe SAP SuccessFactors pour l'authentification des utilisateurs.
Options de filtrage Oui Non Condition de filtre qui limite le volume de données de sortie (par exemple, Price gt 200). Consultez les options de filtrage compatibles.
Sélectionner des champs Oui Non Champs à conserver dans les données extraites. Par exemple, Category, Price, Name, Address. Si vous ne renseignez pas ce champ, tous les champs autres que ceux de navigation seront conservés dans les données extraites.

Tous les champs doivent être séparés par une virgule (,).
Développer les champs Oui Non Liste des champs de navigation à développer dans les données de sortie extraites. Par exemple, customManager. Si une entité comporte des enregistrements hiérarchiques, la source génère un enregistrement pour chaque ligne de l'entité qu'elle lit, chaque enregistrement contenant un champ supplémentaire contenant la valeur de la propriété de navigation spécifiée dans les champs à développer.
Nom de l'entité associée Oui Non Nom de l'entité associée qui est extraite. Par exemple, EmpCompensationCalculated.
Type de pagination Oui Oui Type de pagination à utiliser. La pagination côté serveur utilise la pagination basée sur des instantanés. Si une pagination basée sur des instantanés est tentée sur une entité qui n'est pas compatible avec cette fonctionnalité, le serveur force automatiquement la pagination avec décalage client sur la requête.
Des exemples d'entités qui n'acceptent que la pagination côté serveur sont BadgeTemplates, UserBadges et EPCustomBackgroundPortlet. Aucun enregistrement n'est transféré si la pagination côté client est choisie pour ces entités, car elle repose sur l'API Count, qui renvoie -1 en réponse.

Pagination côté serveur est la valeur par défaut.

Options de filtrage acceptées

Les opérateurs suivants sont acceptés :

Opérateur Description Exemple
Opérateurs logiques
Eq Égal à /EmpGlobalAssignment?$filter=assignmentClass eq 'GA'
Ne Not Equal (Non égal à) /RecurringDeductionItem?$filter=amount ne 18
Gt Supérieur à /RecurringDeductionItem?$filter=amount gt 4
Ge Supérieur ou égal /RecurringDeductionItem?$filter=amount ge 18
Lt Moins de /RecurringDeductionItem?$filter=amount lt 18
Le Inférieur ou égal /RecurringDeductionItem?$filter=amount le 20
And Opérateur logique "et" /RecurringDeductionItem?$filter=amount le 20 and amount gt 4
Or Opérateur logique "ou" /RecurringDeductionItem?$filter=amount le 20 or amount gt 4
Not Négation logique /RecurringDeductionItem?$filter=not endswith(payComponentType, 'SUPSPEE_US')
Opérateurs arithmétiques
Add Addition /RecurringDeductionItem?$filter=amount add 5 gt 18
Sub Soustraction /RecurringDeductionItem?$filter=amount sub 5 gt 18
Mul Multiplication /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
Opérateurs de regroupement
( ) Groupement par priorité /RecurringDeductionItem?$filter=(amount sub 5) gt 8

Mappages des types de données

Le tableau suivant liste les types de données SAP avec les types Cloud Data Fusion correspondants.

Type de données SuccessFactors Type de données du schéma 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

Cas d'utilisation

L'exemple de cas d'utilisation suivant concerne les données d'un seul employé dans EmployeePayrollRunResults:

Exemple de propriété Exemple de valeur
externalCode SAP_EC_PAYROLL_1000_0101201501312015_456_416
ID de la personne 456
Utilisateur user-1
Numéro d'identification de l'employeur 416
ID du fournisseur de paie SAP_EC_PAYROLL
Début de la période de paiement effective 01/01/2015
Fin de la période de paiement effective 31/01/2015
ID de l'entreprise BestRun Allemagne (1 000)
Paiement 01/28/2015
Devise EUR (EUR)
Type d'exécution de la paie Standard (REGULAR)
ID du système X0B

L'exemple montre les résultats d'un employé dans 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

Exemple de pipeline

Consultez des exemples de configurations dans le fichier JSON suivant:

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

Étape suivante