Fuente por lotes de SAP SuccessFactors

En esta página, se describe cómo extraer datos de cualquier entidad dentro del módulo de la Central para empleados de SAP SuccessFactors a Google Cloud con Cloud Data Fusion.

Para obtener más información, consulta la descripción general de SAP en Google Cloud.

Antes de comenzar

Configura los siguientes sistemas y servicios que usa el complemento SAP SuccessFactors:

  1. Configura el sistema SAP SuccessFactors. Debes Configura permisos en tu sistema SAP.
  2. Implementa el complemento SAP SuccessFactors en Cloud Data Fusion. Debes implementar una versión del complemento que sea compatible con la versión de Cloud Data Fusion.
    • Si actualizas la versión de Cloud Data Fusion de servicio o complemento, evalúa el impacto de los cambios en la el alcance funcional y el rendimiento de la canalización.
  3. Establece conectividad entre Cloud Data Fusion y SAP SuccessFactors.

Cómo configurar el complemento

  1. Ir a la interfaz web de Cloud Data Fusion y haz clic en Studio.
  2. Verifica que esté seleccionada la opción Data Pipeline - Batch (no Realtime).
  3. En el menú Source, haz clic en SuccessFactors. El nodo SAP SuccessFactors aparecerá en tu canalización.
  4. Para configurar la fuente, ve al nodo de SAP SuccessFactors y haz clic en Properties.
  5. Ingresa las siguientes propiedades. Para obtener una lista completa, consulta Propiedades:

    1. Ingresa una Etiqueta para el nodo SAP SuccessFactors, por ejemplo, SAP SuccessFactors tables.
    2. Ingresa los detalles de la conexión. Puedes configurar una nueva conexión única o una conexión existente y reutilizable.

      Conexión única

      Para agregar una conexión única a SAP, sigue estos pasos:

      1. Mantén la opción Usar conexión desactivada.
      2. En la sección Connection, ingresa la siguiente información de la cuenta de SAP en estos campos:

        1. Proporciona las credenciales de SAP.
        2. En el campo SAP SuccessFactors Base URL, ingresa tu código de SAP. URL base de la cuenta de SuccessFactors.
        3. En el campo Reference name, ingresa un nombre para la conexión que identifica esta fuente para el linaje.
        4. En el campo Nombre de la entidad, ingresa el nombre de la entidad. que estás extrayendo, por ejemplo, people.
        5. Para generar un esquema basado en los metadatos de SAP que asigne los tipos de datos de SAP a los tipos de datos de Cloud Data Fusion correspondientes, haz clic en Obtener esquema. Para obtener más información, consulta Asignaciones de tipos de datos.
        6. En el campo URL de proxy, ingresa la URL de proxy, incluida la protocolo, dirección y puerto.
        7. Opcional: Para optimizar la carga de transferencia desde SAP, ingresa el la siguiente información:

          1. Para extraer registros según las condiciones de selección, haz clic en Filtrar opciones y Seleccionar campos.
          2. En Expandir campos, ingresa una lista de campos de navegación. se expandan en los datos de salida extraídos. Por ejemplo, customManager
          3. En Parámetros de consulta adicionales, ingresa los parámetros que deseas agregar a la URL, por ejemplo, fromDate=2023-01-01&toDate=2023-01-31.
          4. En el campo Nombre de la entidad asociada, ingresa el nombre de la entidad de destino, por ejemplo, EmpCompensationCalculated
          5. En el campo Tipo de paginación, ingresa un tipo, por ejemplo, Server-side pagination.

      Conexión reutilizable

      Para volver a usar una conexión existente, sigue estos pasos:

      1. Activa Usar conexión.
      2. Haz clic en Browse connections.
      3. Haz clic en el nombre de la conexión.

      Si una conexión no existe, crea una conexión reutilizable. Para ello, haz lo siguiente: siguiendo estos pasos:

      1. Haz clic en Agregar conexión > SAP SuccessFactors.
      2. En la página Create a SAP SuccessFactors connection que se abre, haz lo siguiente: ingresa un nombre y una descripción para la conexión.
      3. Proporciona las credenciales de SAP. Puedes pedirle al administrador de SAP los valores del nombre de usuario y la contraseña de acceso a SAP.
      4. En el campo URL del proxy, ingresa la URL del proxy, incluido el protocolo, la dirección y el puerto.
      5. Haz clic en Crear.

Propiedades

Propiedad Macro habilitado Propiedad obligatoria Descripción
Etiqueta No El nombre del nodo en tu canalización de datos.
Usar conexión No No Usa una conexión reutilizable. Si se utiliza una conexión, no es necesario proporcionan las credenciales. Para obtener más información, consulta Administra conexiones.
Nombre No Es el nombre de la conexión reutilizable.
Nombre de referencia No Identifica de forma única la fuente del linaje y anota los metadatos.
URL base de SAP SuccessFactors La URL base de la API de SuccessFactors.
Nombre de la entidad Es el nombre de la entidad que se extraerá. No es compatible Entidades que tienen propiedades con el tipo de datos binario o grandes volúmenes de los datos. Por ejemplo, UserBadges y No se admiten BadgeTemplates.
Nombre de usuario de SAP SuccessFactors El ID de usuario para la autenticación, similar a USER_ID@COMPANY_ID Por ejemplo, sfadmin@cymbalgroup.
Contraseña de SAP SuccessFactors La contraseña de SAP SuccessFactors para la autenticación de usuarios.
Opciones de filtro No La condición del filtro que restringe el volumen de los datos de salida por ejemplo, Price gt 200. Consulta la opciones de filtro compatibles.
Seleccionar campos No Campos que se conservarán en los datos extraídos. Por ejemplo, Category, Price, Name, Address. Si se deja en blanco, se conservarán todos los campos que no sean de navegación en los datos extraídos.

Todos los campos deben estar separados por comas (,).
Expandir campos No Lista de campos de navegación que se expandirán en el archivo extraído de datos de salida. Por ejemplo, customManager. Si una entidad tiene registros jerárquicos, la fuente genera un registro para cada fila de la entidad que lee, y cada registro contiene un campo adicional que contiene el valor de la propiedad de navegación especificada en Expandir campos.
Nombre de la entidad asociada No Nombre de la entidad asociada que se está extrayendo. Por ejemplo, EmpCompensationCalculated.
Tipo de paginación El tipo de paginación que se usará. La paginación del servidor usa la paginación basada en instantáneas. Si se intenta la paginación basada en instantáneas en una entidad que no admite la función, el servidor aplica automáticamente la paginación con desplazamiento del cliente en la consulta.
Algunos ejemplos de entidades que solo admiten la paginación del servidor son BadgeTemplates, UserBadges y EPCustomBackgroundPortlet. No se transfieren registros si se elige la paginación del cliente en estas entidades, ya que se basa en la API de Count, que muestra -1 como respuesta.

El valor predeterminado es Paginación del servidor.

Opciones de filtro compatibles

Se admiten los operadores siguientes:

Operador Descripción Ejemplo
Operadores lógicos
Eq Igual /EmpGlobalAssignment?$filter=assignmentClass eq 'GA'
Ne No igual /RecurringDeductionItem?$filter=amount ne 18
Gt Mayor que /RecurringDeductionItem?$filter=amount gt 4
Ge Mayor o igual que /RecurringDeductionItem?$filter=amount ge 18
Lt Menor que /RecurringDeductionItem?$filter=amount lt 18
Le Menor o igual que /RecurringDeductionItem?$filter=amount le 20
And Lógica y /RecurringDeductionItem?$filter=amount le 20 and amount gt 4
Or O lógico /RecurringDeductionItem?$filter=amount le 20 or amount gt 4
Not Negación lógica /RecurringDeductionItem?$filter=not endswith(payComponentType, 'SUPSPEE_US')
Operadores aritméticos
Add Suma /RecurringDeductionItem?$filter=amount add 5 gt 18
Sub Resta /RecurringDeductionItem?$filter=amount sub 5 gt 18
Mul Multiplicación /RecurringDeductionItem?$filter=amount mul 2 gt 18
Div División /RecurringDeductionItem?$filter=amount div 2 gt 18
Mod Módulo /RecurringDeductionItem?$filter=amount mod 2 eq 0
Operadores de agrupación
( ) Agrupación de prioridad /RecurringDeductionItem?$filter=(amount sub 5) gt 8

Asignaciones de tipos de datos

La siguiente tabla es una lista de los tipos de datos de SAP con los tipos de Cloud Data Fusion correspondientes.

Tipo de datos de SuccessFactors Tipo de datos del esquema de 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

El siguiente ejemplo de caso de uso corresponde a los datos de un solo empleado en EmployeePayrollRunResults:

Propiedad de ejemplo Valor de ejemplo
externalCode SAP_EC_PAYROLL_1000_0101201501312015_456_416
ID de persona 456
Usuario user-1
ID de empleo 416
ID del proveedor de nómina SAP_EC_PAYROLL
Inicio del período de pago efectivo 01/01/2015
Fin del Período de Pago Efectivo 31/01/2015
ID de la empresa BestRun Alemania (1,000)
Pago 28/1/2015
Moneda EUR (EUR)
Tipo de ejecución de nómina Normal (REGULAR)
ID del sistema X0B

En el ejemplo, se muestran los resultados de un empleado en 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

Canalización de ejemplo

Consulta las configuraciones de muestra en el siguiente archivo 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": {}
      }
  }
  

¿Qué sigue?