Las funciones de reglas de Position Management son funciones que se pueden usar dentro de cualquier regla de negocio para obtener información de la estructura de posiciones. Permiten que una regla tome decisiones según quién ocupa una posición, cuántas posiciones dependen de otra o si una posición está en la estructura del usuario.
La academia lista varias. Obtener ocupante por posición devuelve el ID de usuario del ocupante de una posición; necesita el código y la fecha de inicio de la posición, y si hay varios ocupantes, devuelve uno solo. Obtener el próximo manager disponible por posición devuelve el ID del ocupante de la primera posición superior que tenga ocupante; necesita los mismos datos. Obtener el código de la posición matricial por tipo devuelve el código de la posición matricial de un tipo de relación dado, para una posición y una fecha. Obtener la cantidad de posiciones hijas devuelve cuántas posiciones dependen de una posición, en una fecha, con la opción de incluir o no las inactivas. Obtener el rango salarial por posición calcula el rango de una posición, y obtener los atributos del rango salarial devuelve su mínimo, máximo, punto medio, moneda y frecuencia. Y la función que indica si una posición está debajo de la del usuario en la jerarquía, en su versión nueva, se puede usar también al crear posiciones.
Los usos son variados. Un flujo puede agregar como aprobador al próximo manager disponible cuando la posición superior está vacante, en lugar de quedar sin aprobador. Una validación puede impedir desactivar una posición con posiciones hijas. Una regla de compensación puede advertir si un salario queda fuera del rango de la posición. Y una regla de la integración con Recruiting puede completar el manager de contratación con el ocupante de la posición superior.
Las funciones respetan la fecha efectiva. Todas reciben una fecha, y devuelven el resultado vigente en esa fecha. Es importante en las reglas que corren sobre cambios futuros o retroactivos: el ocupante de una posición hoy puede no ser el mismo en la fecha del cambio.
Hay un detalle de Obtener ocupante por posición que conviene recordar: en una posición masiva, devuelve un solo ocupante. Una regla que necesita a todos los ocupantes no puede apoyarse en esta función.
En Best Run Argentina no se usan funciones en las reglas del caso, pero el texto de la L6 las presenta porque aparecen en las reglas de clientes reales y en las consignas del examen. La academia remite a la documentación de SAP sobre las funciones de reglas de Position Management para más ejemplos.
Para un consultor, conocer estas funciones evita reglas complicadas: muchas veces lo que parece requerir varias condiciones se resuelve con una función que ya conoce la estructura.
