Origine batch SAP SuccessFactors

Questa pagina descrive come estrarre i dati da qualsiasi entità all'interno del modulo SAP SuccessFactors Employee Central in Google Cloud con Cloud Data Fusion.

Per ulteriori informazioni, consulta la panoramica di SAP su Google Cloud.

Prima di iniziare

Configura i seguenti sistemi e servizi utilizzati dal plug-in SAP SuccessFactors:

  1. Configura il sistema SAP SuccessFactors. Devi configurare le autorizzazioni nel tuo sistema SAP.
  2. Esegui il deployment del plug-in SAP SuccessFactors in Cloud Data Fusion. Devi eseguire il deployment di una versione del plug-in compatibile con la versione di Cloud Data Fusion.
    • Se esegui l'upgrade della versione dell'istanza o del plug-in Cloud Data Fusion, valuta l'impatto delle modifiche sull'ambito funzionale e sul rendimento della pipeline.
  3. Stabilisci la connettività tra Cloud Data Fusion e SAP SuccessFactors.
    • Assicurati che la comunicazione sia abilitata tra l'istanza Cloud Data Fusion e l'istanza SAP SuccessFactors.
    • Per le istanze private, configura il peering di rete VPC.

Configura il plug-in

  1. Vai all'interfaccia web di Cloud Data Fusion e fai clic su Studio.
  2. Verifica che sia selezionata l'opzione Pipeline di dati - Batch (non In tempo reale).
  3. Nel menu Origine, fai clic su SuccessFactors. Il nodo SAP SuccessFactors viene visualizzato nella pipeline.
  4. Per configurare l'origine, vai al nodo SAP SuccessFactors e fai clic su Properties (Proprietà).
  5. Inserisci le seguenti proprietà. Per un elenco completo, consulta Proprietà.

    1. Inserisci un'etichetta per il nodo SAP SuccessFactors, ad esempio SAP SuccessFactors tables.
    2. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione esistente riutilizzabile.

      Connessione una tantum

      Per aggiungere una connessione una tantum a SAP:

      1. Mantieni disattivata l'opzione Usa connessione.
      2. Nella sezione Connessione, inserisci le seguenti informazioni dell'account SAP in questi campi:

        1. Fornisci le credenziali SAP.
        2. Nel campo SAP SuccessFactors Base URL (URL base SAP SuccessFactors), inserisci l'URL base del tuo account SAP SuccessFactors.
        3. Nel campo Nome di riferimento, inserisci un nome per la connessione che identifica questa origine per la cronologia.
        4. Nel campo Nome entità, inserisci il nome dell'entità che stai estraendo, ad esempio people.
        5. Per generare uno schema basato sui metadati di SAP che mappa i tipi di dati SAP ai tipi di dati Cloud Data Fusion corrispondenti, fai clic su Genera schema. Per ulteriori informazioni, consulta Mappature dei tipi di dati.
        6. Nel campo URL proxy, inserisci l'URL del proxy, inclusi protocollo, indirizzo e porta.
        7. (Facoltativo) Per ottimizzare il carico di importazione da SAP, inserisci le seguenti informazioni:

          1. Per estrarre i record in base alle condizioni di selezione, fai clic su Opzioni filtro e Seleziona campi.
          2. In Espandi campi, inserisci un elenco di campi di navigazione da espandere nei dati di output estratti. Ad esempio, customManager.
          3. In Parametri di query aggiuntivi, inserisci i parametri da aggiungere all'URL, ad esempio fromDate=2023-01-01&toDate=2023-01-31.
          4. Nel campo Nome entità associata, inserisci il nome dell'entità da estrarre, ad esempio EmpCompensationCalculated.
          5. Nel campo Tipo di paginazione, inserisci un tipo, ad esempio Server-side pagination.

      Connessione riutilizzabile

      Per riutilizzare una connessione esistente:

      1. Attiva l'opzione Usa connessione.
      2. Fai clic su Browse connections (Sfoglia connessioni).
      3. Fai clic sul nome della connessione.

      Se non esiste una connessione, creane una riutilizzabile seguendo questi passaggi:

      1. Fai clic su Aggiungi connessione > SAP SuccessFactors.
      2. Nella pagina Crea una connessione SAP SuccessFactors che si apre, inserisci un nome e una descrizione per la connessione.
      3. Fornisci le credenziali SAP. Puoi chiedere all'amministratore SAP i valori del nome utente e della password di accesso SAP.
      4. Nel campo URL proxy, inserisci l'URL del proxy, inclusi protocollo, indirizzo e porta.
      5. Fai clic su Crea.

Proprietà

Proprietà Macro attivata Proprietà obbligatoria Descrizione
Etichetta No Il nome del nodo nella pipeline di dati.
Utilizzare la connessione No No Utilizza una connessione riutilizzabile. Se viene utilizzata una connessione, non è necessario fornire le credenziali. Per saperne di più, consulta Gestire le connessioni.
Nome No Il nome della connessione riutilizzabile.
Nome di riferimento No Identifica in modo univoco l'origine della sequenza e annota i metadati.
URL di base di SAP SuccessFactors L'URL di base dell'API SuccessFactors.
Nome entità Il nome dell'entità da estrarre. Non supporta le entità con proprietà con il tipo di dati Binary o grandi volumi di dati. Ad esempio, UserBadges e BadgeTemplates non sono supportati.
Nome utente SAP SuccessFactors L'ID utente per l'autenticazione, simile a USER_ID@COMPANY_ID. Ad esempio, sfadmin@cymbalgroup.
Password SAP SuccessFactors La password SAP SuccessFactors per l'autenticazione dell'utente.
Opzioni di filtro No La condizione di filtro che limita il volume dei dati in uscita, ad esempio Price gt 200. Consulta le opzioni di filtro supportate.
Seleziona campi No Campi da conservare nei dati estratti. Ad esempio, Category, Price, Name, Address. Se il campo viene lasciato vuoto, tutti i campi non di navigazione verranno conservati nei dati estratti.

Tutti i campi devono essere separati da virgole (,).
Campi espandibili No Elenco dei campi di navigazione da espandere nei dati di output estratti. Ad esempio, customManager. Se un'entità ha record gerarchici, la sorgente genera un record per ogni riga dell'entità che legge, con ciascun record contenente un campo aggiuntivo che contiene il valore della proprietà di navigazione specificata in Espandi campi.
Nome entità associata No Nome della persona giuridica associata che viene estratta. Ad esempio, EmpCompensationCalculated.
Tipo di paginazione Il tipo di paginazione da utilizzare. La paginazione lato server utilizza la paginazione basata su istantanee. Se viene tentata la paginazione basata su istantanee su un'entità che non supporta la funzionalità, il server forza automaticamente la paginazione con offset client sulla query.
Alcuni esempi di entità che supportano solo la paginazione lato server sono BadgeTemplates, UserBadges e EPCustomBackgroundPortlet. Non vengono trasferiti record se viene scelta la paginazione lato client per queste entità, in quanto si basa sull'API Count, che restituisce -1 come risposta.

Il valore predefinito è Impaginazione lato server.

Opzioni di filtro supportate

Sono supportati i seguenti operatori:

Operatore Descrizione Esempio
Operatori logici
Eq Uguale /EmpGlobalAssignment?$filter=assignmentClass eq 'GA'
Ne Non uguale /RecurringDeductionItem?$filter=amount ne 18
Gt Maggiore di /RecurringDeductionItem?$filter=amount gt 4
Ge Maggiore o uguale a /RecurringDeductionItem?$filter=amount ge 18
Lt Minore di /RecurringDeductionItem?$filter=amount lt 18
Le Minore o uguale /RecurringDeductionItem?$filter=amount le 20
And E logico /RecurringDeductionItem?$filter=amount le 20 and amount gt 4
Or O logico /RecurringDeductionItem?$filter=amount le 20 or amount gt 4
Not Negazione logica /RecurringDeductionItem?$filter=not endswith(payComponentType, 'SUPSPEE_US')
Operatori aritmetici
Add Somma /RecurringDeductionItem?$filter=amount add 5 gt 18
Sub Sottrazione /RecurringDeductionItem?$filter=amount sub 5 gt 18
Mul Moltiplicazione /RecurringDeductionItem?$filter=amount mul 2 gt 18
Div Divisione /RecurringDeductionItem?$filter=amount div 2 gt 18
Mod Modulo /RecurringDeductionItem?$filter=amount mod 2 eq 0
Operatori di raggruppamento
( ) Raggruppamento per priorità /RecurringDeductionItem?$filter=(amount sub 5) gt 8

Mappature dei tipi di dati

La tabella seguente è un elenco dei tipi di dati SAP con i tipi Cloud Data Fusion corrispondenti.

Tipo di dati SuccessFactors Tipo di dati dello schema 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

Casi d'uso

Il seguente caso d'uso di esempio riguarda i dati di un singolo dipendente in EmployeePayrollRunResults:

Proprietà di esempio Valore di esempio
externalCode SAP_EC_PAYROLL_1000_0101201501312015_456_416
ID persona 456
Utente utente-1
ID impiego 416
ID fornitore di servizi di gestione della payroll SAP_EC_PAYROLL
Inizio del periodo di pagamento effettivo 01/01/2015
Fine del periodo di pagamento effettivo 31/01/2015
ID azienda BestRun Germania (1000)
Pagamento 28/01/2015
Valuta Euro (EUR)
Tipo di elaborazione della paga Regolare (REGOLARE)
ID sistema X0B

L'esempio mostra i risultati per un dipendente 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

Pipeline di esempio

Consulta le configurazioni di esempio nel seguente file 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": {}
      }
  }
  

Passaggi successivi