Introducción: –
En la integración de SuccessFactors, a menudo existe el requisito de obtener registros delta de SuccessFactors. Esto se puede lograr mediante el uso de las API de OData y la aplicación de filtros en los campos LastModifiedDateTime/LastModifiedOn.
Este blog explicará cómo usar el campo LastModifiedDateTime/LastModifiedOn en el filtro y cómo se recibe una respuesta diferente de SuccessFactors según la posición del campo lastModifiedOn en la expresión del filtro.
Planteamiento del problema: –
Obtener registros de las API de SF de Odata en modo delta aunque el filtro LastModifiedOn/LastModifiedDateTime no esté satisfecho. Este problema puede ocurrir con cualquier entidad de Odata en SuccessFactors y este blog lo ayudará a comprender por qué sucede y cómo deshacerse de él.
Resolución: –
Considere el siguiente ejemplo de un empleado en SuccessFactors.
Hay un cambio de fecha futura en la información del trabajo para este empleado (fecha de vigencia: 1calle marzo de 2023). Consulte la siguiente captura de pantalla.
El evento anterior de nueva contratación también se agregó en el pasado. Captura de pantalla de PFB.
Ahora intentemos consultar a este empleado con el filtro LastModifiedOn >= ‘2023-02-01T00:00:00Z’. Tenga en cuenta que estoy ejecutando esta consulta el 10 de febrero de 2023.
Encuentre la respuesta a continuación de SuccessFactors
Es evidente que a pesar de que el valor del campo LastModifiedOn no cumplió con la condición del filtro, el registro ha persistido en la respuesta. Cualquiera que preste atención notará que la respuesta incluye el registro efectivo actual, aunque no cumpla con la condición del filtro. Esto se debe a la condición de filtro aplicada.
La posición del campo consultado (en este caso, LastModifiedOn) juega un papel crucial en la determinación del resultado. Si el campo consultado se encuentra en el lado izquierdo del operador, el alcance de la búsqueda se expande para incluir registros de entidades y registros de auditoría. En el caso mencionado anteriormente, el registro de la entidad no cumplió con la condición de filtro. Pero un registro de auditoría tenía un registro con fecha futura que cumplía con la condición del filtro. Es por eso que la respuesta incluía los detalles del empleado, que comprenden los datos vigentes actuales.
Sin embargo, si el campo se coloca en el lado derecho del operador, solo los registros de entidad se considerarán en el ámbito de búsqueda. Por lo tanto, ejecutar la consulta de esta manera no daría ninguna respuesta de SuccessFactors. Consulte las capturas de pantalla a continuación.
Respuesta de SF: –
Por lo tanto, la ubicación del campo lastModifiedOn se puede cambiar para cumplir con sus requisitos específicos.
Para obtener información más detallada, consulte este enlace
Conclusión: –
Así es como las condiciones de filtro LastModifiedOn/LastModifiedDateTime en las API de SuccessFactors OData se pueden usar de manera eficiente para cumplir con los requisitos.
Espero que este blog ayude. 😊
Saludos,
Dhairya Khimsaria
Consultor sénior, Veritas Prime Labs
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073