Fuente por lotes de SAP SuccessFactors

En esta página se describe cómo extraer datos de cualquier entidad del módulo Employee Central de SAP SuccessFactors enGoogle Cloud con Cloud Data Fusion.

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

Antes de empezar

Configure los siguientes sistemas y servicios que utiliza el complemento SAP SuccessFactors:

  1. Configura el sistema SAP SuccessFactors. Debes configurar los permisos en tu sistema SAP.
  2. Despliega el complemento de 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 tu instancia o complemento de Cloud Data Fusion, evalúa el impacto de los cambios en el ámbito funcional y el rendimiento de la canalización.
  3. Establece la conectividad entre Cloud Data Fusion y SAP SuccessFactors.
    • Asegúrate de que la comunicación esté habilitada entre la instancia de Cloud Data Fusion y la de SAP SuccessFactors.
    • En el caso de las instancias privadas, configura el emparejamiento entre redes de VPC.

Configurar el complemento

  1. Ve a la interfaz web de Cloud Data Fusion y haz clic en Studio.
  2. Comprueba que esté seleccionada la opción Flujo de procesamiento de datos - Lote (no En tiempo real).
  3. En el menú Fuente, haz clic en SuccessFactors. El nodo SAP SuccessFactors aparece en tu canalización.
  4. Para configurar la fuente, vaya al nodo SAP SuccessFactors y haga clic en Propiedades.
  5. Introduce las siguientes propiedades. Para ver una lista completa, consulta Propiedades.

    1. Introduce una etiqueta para el nodo de SAP SuccessFactors. Por ejemplo, SAP SuccessFactors tables.
    2. Introduce los detalles de la conexión. Puedes configurar una conexión nueva y puntual o una conexión reutilizable que ya tengas.

      Conexión única

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

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

        1. Proporciona las credenciales de SAP.
        2. En el campo URL base de SAP SuccessFactors, introduce la URL base de tu cuenta de SAP SuccessFactors.
        3. En el campo Nombre de referencia, introduce un nombre para la conexión que identifique esta fuente para el linaje.
        4. En el campo Nombre de la entidad, introduce el nombre de la entidad que quieras extraer (por ejemplo, people).
        5. Para generar un esquema basado en los metadatos de SAP que asigna los tipos de datos de SAP a los tipos de datos correspondientes de Cloud Data Fusion, haga clic en Obtener esquema. Para obtener más información, consulta Asignaciones de tipos de datos.
        6. En el campo URL del proxy, introduce la URL del proxy, incluido el protocolo, la dirección y el puerto.
        7. Opcional: para optimizar la carga de ingestión de SAP, introduce la siguiente información:

          1. Para extraer registros en función de las condiciones de selección, haz clic en Opciones de filtro y Seleccionar campos.
          2. En Expandir campos, introduzca una lista de campos de navegación que se van a expandir en los datos de salida extraídos. Por ejemplo, customManager.
          3. En Parámetros de consulta adicionales, introduzca los parámetros que quiera añadir a la URL. Por ejemplo, fromDate=2023-01-01&toDate=2023-01-31.
          4. En el campo Nombre de la entidad asociada, introduce el nombre de la entidad que se va a extraer (por ejemplo, EmpCompensationCalculated).
          5. En el campo Tipo de paginación, introduzca un tipo (por ejemplo, Server-side pagination).

      Conexión reutilizable

      Para reutilizar una conexión, sigue estos pasos:

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

        .

      Si no existe ninguna conexión, crea una reutilizable siguiendo estos pasos:

      1. Haz clic en Añadir conexión > SAP SuccessFactors.
      2. En la página Crear una conexión de SAP SuccessFactors que se abre, introduzca 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 inicio de sesión de SAP.
      4. En el campo URL del proxy, introduce la URL del proxy, incluido el protocolo, la dirección y el puerto.
      5. Haz clic en Crear.

Propiedades

Propiedad Compatible con macros Propiedad obligatoria Descripción
Etiqueta No El nombre del nodo de su canalización de datos.
Usar conexión No No Usar una conexión reutilizable. Si se usa una conexión, no es necesario que proporcione las credenciales. Para obtener más información, consulta Gestionar conexiones.
Nombre No 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 Nombre de la entidad que se va a extraer. No admite entidades que tengan propiedades con el tipo de datos binario o grandes volúmenes de datos. Por ejemplo, no se admiten UserBadges ni 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 de filtro que restringe el volumen de datos de salida. Por ejemplo, Price gt 200. Consulta las opciones de filtro admitidas.
Seleccionar campos No Campos que se conservarán en los datos extraídos. Por ejemplo, Category, Price, Name y Address. Si el campo 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 (,).
Mostrar campos No Lista de campos de navegación que se van a desplegar en los datos de salida extraídos. Por ejemplo, customManager. Si una entidad tiene registros jerárquicos, la fuente genera un registro por cada fila de la entidad que lee. Cada registro contiene un campo adicional que incluye el valor de la propiedad de navegación especificada en Expand Fields (Ampliar 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 va a usar. La paginación del lado del servidor usa la paginación basada en la instantánea. Si se intenta usar la paginación basada en instantáneas en una entidad que no admite la función, el servidor fuerza automáticamente la paginación con desplazamiento del cliente en la consulta.
Algunos ejemplos de entidades que solo admiten la paginación del lado del servidor son BadgeTemplates, UserBadges y EPCustomBackgroundPortlet. No se transfiere ningún registro si se elige la paginación del lado del cliente en estas entidades, ya que se basa en la API Count, que devuelve -1 como respuesta.

El valor predeterminado es Paginación en el servidor.

Opciones de filtro admitidas

Se admiten los siguientes operadores:

Operador Descripción Ejemplo
Operadores lógicos
Eq Igual /EmpGlobalAssignment?$filter=assignmentClass eq 'GA'
Ne No igual. /RecurringDeductionItem?$filter=amount ne 18
Gt Superior a /RecurringDeductionItem?$filter=amount gt 4
Ge Mayor o igual que /RecurringDeductionItem?$filter=amount ge 18
Lt Inferior a /RecurringDeductionItem?$filter=amount lt 18
Le Menor o igual que /RecurringDeductionItem?$filter=amount le 20
And Y lógico /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 por precedencia /RecurringDeductionItem?$filter=(amount sub 5) gt 8

Asignaciones de tipos de datos

En la siguiente tabla se muestra una lista de tipos de datos de SAP con los tipos de Cloud Data Fusion correspondientes.

Tipo de datos de SuccessFactors Tipo de datos de 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 prácticos

En el siguiente ejemplo se muestran los datos de un empleado de 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 de proveedor de nóminas SAP_EC_PAYROLL
Inicio del periodo de pago efectivo 01/01/2015
Fin del periodo de pago efectivo 31/01/2015
ID de la empresa BestRun Germany (1000)
Pago 28/01/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

Ejemplo de flujo de procesamiento

Consulta configuraciones de ejemplo 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": {}
      }
  }
  

Siguientes pasos