Fonte em lote do SAP SuccessFactors

Esta página descreve como extrair dados de qualquer entidade no Módulo Central do funcionário SuccessFactors do SAP em Google Cloud com o Cloud Data Fusion.

Para mais informações, consulte a visão geral do SAP no Google Cloud.

Antes de começar

Configure os seguintes sistemas e serviços usados pelo SAP Plug-in SuccessFactors:

  1. Configure o sistema SuccessFactors do SAP. É necessário configurar permissões no sistema SAP.
  2. Implante o plug-in do SAP SuccessFactors no Cloud Data Fusion. Você precisa implantar uma versão do plug-in que compatíveis com a versão do Cloud Data Fusion.
    • Se você fizer upgrade da versão da instância ou do plug-in do Cloud Data Fusion, avalie o impacto das mudanças no escopo funcional e no desempenho do pipeline.
  3. Estabeleça a conectividade entre o Cloud Data Fusion e o SAP SuccessFactors.
    • Certifique-se de que a comunicação entre os Instância do Cloud Data Fusion e da instância SuccessFactors do SAP.
    • Para instâncias particulares, configure o peering de rede VPC.

Configurar o plug-in

  1. Acessar a interface da Web do Cloud Data Fusion e clique em Studio.
  2. Verifique se Pipeline de dados – lote está selecionado (não Tempo real).
  3. No menu Origem, clique em SuccessFactors. Os SuccessFactors do SAP aparece no pipeline.
  4. Para configurar a origem, acesse o nó do SuccessFactors do SAP e clique em Propriedades.
  5. Insira as propriedades a seguir. Para uma lista completa, consulte Propriedades:

    1. Insira um Label para o SuccessFactorsnode SAP: exemplo: SAP SuccessFactors tables.
    2. Insira os detalhes da conexão. É possível configurar uma nova conexão única ou uma conexão existente e reutilizável.

      Conexão única

      Para adicionar uma conexão única ao SAP, siga estas instruções etapas:

      1. Mantenha a opção Usar conexão desativada.
      2. Na seção Conexão, insira as seguintes informações da conta da SAP nestes campos:

        1. Forneça as credenciais do SAP.
        2. No campo URL base do SAP SuccessFactors, insira o URL base da sua conta do SAP SuccessFactors.
        3. No campo Nome de referência, insira um nome para a conexão que identifica essa origem para a linhagem.
        4. No campo Entity Name, insira o nome da entidade que você está extraindo, por exemplo, people.
        5. Para gerar um esquema com base nos metadados da SAP que mapeia os tipos de dados da SAP para os tipos de dados correspondentes do Cloud Data Fusion, clique em Get schema. Para mais informações, consulte Mapeamentos de tipo de dados.
        6. No campo URL do proxy, insira o URL do proxy, incluindo o protocolo, o endereço e a porta.
        7. Opcional: para otimizar a carga de ingestão do SAP, insira o seguintes informações:

          1. Para extrair registros com base nas condições de seleção, clique em Opções de filtro e Selecionar campos.
          2. Em Expandir campos, insira uma lista de campos de navegação que serão expandidos nos dados de saída extraídos. Por exemplo, customManager.
          3. Em Outros parâmetros de consulta, insira os parâmetros que serão incluídos. ao URL, por exemplo, fromDate=2023-01-01&toDate=2023-01-31
          4. No campo Associated entity name, insira o nome da entidade a ser extraída, por exemplo, EmpCompensationCalculated.
          5. No campo Tipo de paginação, digite um tipo, por exemplo, Server-side pagination.

      Conexão reutilizável

      Para reutilizar uma conexão, siga estas etapas:

      1. Ative a opção Usar conexão.
      2. Clique em Procurar conexões.
      3. Clique no nome da conexão.

      Se não houver uma conexão, crie uma reutilizável seguindo estas etapas:

      1. Clique em Adicionar conexão > SAP SuccessFactors.
      2. Na página Criar uma conexão do SAP SuccessFactors que é aberta, insira um nome e uma descrição da conexão.
      3. Forneça as credenciais do SAP. Você pode pedir ao administrador do SAP para os valores de nome de usuário e senha de logon SAP.
      4. No campo URL do proxy, insira o URL do proxy, incluindo o protocolo, o endereço e a porta.
      5. Clique em Criar.

Propriedades

Propriedade Macro ativada Propriedade obrigatória Descrição
Rótulo Não Sim O nome do nó no pipeline de dados.
Usar conexão Não Não Use uma conexão reutilizável. Se uma conexão for usada, você não precisa forneça as credenciais. Para mais informações, consulte Gerenciar conexões.
Nome Não Sim O nome da conexão reutilizável.
Nome de referência Não Sim Identifica de forma exclusiva a fonte da linhagem e anota os metadados.
URL base do SuccessFactors do SAP Sim Sim O URL base da API SuccessFactors.
Nome da entidade Sim Sim O nome da Entity a ser extraída. Não compatível entidades que têm propriedades com o tipo de dados binários ou grandes volumes de dados. Por exemplo, UserBadges e BadgeTemplates não são compatíveis.
Nome de usuário do SAP SuccessFactors Sim Sim O ID do usuário para autenticação, semelhante a USER_ID@COMPANY_ID: Por exemplo, sfadmin@cymbalgroup.
Senha do SAP SuccessFactors Sim Sim A senha do SAP SuccessFactors para autenticação do usuário.
Opções de filtro Sim Não A condição de filtro que restringe o volume de dados de saída. por exemplo, Price gt 200. Consulte as opções de filtro compatíveis.
Selecionar campos Sim Não Campos que serão preservados nos dados extraídos. Para exemplo: Category, Price, Name Address. Se o campo for deixado em branco, todos os campos que não são de navegação serão preservados nos dados extraídos.

Todos os campos precisam ser separados por vírgula (,).
Abrir campos Sim Não Lista de campos de navegação a serem expandidos nos dados de saída extraídos. Por exemplo, customManager Se uma entidade tiver registros hierárquicos, a fonte gera um registro para cada linha do entidade lida, com cada registro contendo um campo extra que contém o valor da propriedade de navegação especificada no campo Campos.
Nome da entidade associada Sim Não Nome da entidade associada que está sendo extraída. Por exemplo, EmpCompensationCalculated
Tipo de paginação Sim Sim O tipo de paginação a ser usado. A paginação do lado do servidor usa a paginação baseada em snapshots. Se a paginação baseada em snapshot for em uma entidade que não oferece suporte ao recurso, o servidor força automaticamente a paginação de deslocamento do cliente na consulta.
Exemplos de entidades que só oferecem suporte para paginação no lado do servidor são BadgeTemplates, UserBadges e EPCustomBackgroundPortlet. Nenhum registro é transferido se a paginação do lado do cliente for escolhida nessas entidades, porque ela depende da API Count, que retorna -1 como resposta.

O padrão é Paginação do servidor.

Opções de filtro compatíveis

Os seguintes operadores são aceitos:

Operador Descrição Exemplo
Operadores lógicos
Eq Igual /EmpGlobalAssignment?$filter=assignmentClass eq 'GA'
Ne Diferente /RecurringDeductionItem?$filter=amount ne 18
Gt Maior que /RecurringDeductionItem?$filter=amount gt 4
Ge Maior ou igual a /RecurringDeductionItem?$filter=amount ge 18
Lt Menor que /RecurringDeductionItem?$filter=amount lt 18
Le Menor ou igual a /RecurringDeductionItem?$filter=amount le 20
And "E" lógico /RecurringDeductionItem?$filter=amount le 20 and amount gt 4
Or Lógico ou /RecurringDeductionItem?$filter=amount le 20 or amount gt 4
Not Negação lógica /RecurringDeductionItem?$filter=not endswith(payComponentType, 'SUPSPEE_US')
Operadores aritméticos
Add Adição /RecurringDeductionItem?$filter=amount add 5 gt 18
Sub Subtração /RecurringDeductionItem?$filter=amount sub 5 gt 18
Mul Multiplicação /RecurringDeductionItem?$filter=amount mul 2 gt 18
Div Divisão /RecurringDeductionItem?$filter=amount div 2 gt 18
Mod Módulo /RecurringDeductionItem?$filter=amount mod 2 eq 0
Operadores de agrupamento
( ) Agrupamento de precedência /RecurringDeductionItem?$filter=(amount sub 5) gt 8

Mapeamentos de tipo de dados

A tabela a seguir é uma lista de tipos de dados SAP com os tipos correspondentes do Cloud Data Fusion.

Tipo de dados SuccessFactors Tipo de dados do esquema do 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

Casos de uso

O exemplo de caso de uso a seguir são os dados de um único funcionário em EmployeePayrollRunResults:

Exemplo de propriedade Valor de exemplo
externalCode SAP_EC_PAYROLL_1000_0101201501312015_456_416
ID da pessoa 456
Usuário user-1
ID do emprego 416
ID do provedor de folha de pagamento SAP_EC_PAYROLL
Início do período de pagamento efetivo 01/01/2015
Fim do período de pagamento efetivo 31/01/2015
ID da empresa BestRun Alemanha (1000)
Pagamento 28/01/2015
Moeda EUR (EUR)
Tipo de execução da folha de pagamento Comum (REGULAR)
ID do sistema X0B

O exemplo mostra os resultados de um funcionário em EmployeePayrollRunResults:

EmployeePayrollRunResults_externalCod r 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

Exemplo de pipeline

Confira exemplos de configurações no seguinte arquivo 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": {}
      }
  }
  

A seguir