Las reglas en importaciones y cambios masivos tienen un comportamiento propio, distinto del que se ve en la pantalla. La nota de SAP 2283442 lo explica en tres puntos: los cambios masivos usan el mecanismo de importación, en ellos solo se ejecutan reglas de la información del puesto, y las reglas al cambiar se ejecutan aunque el campo no haya cambiado. El último punto es el que más sorprende y el que más problemas genera.
En la pantalla, una regla al cambiar corre solo cuando el usuario cambia el campo al que está asignada. AR_CC por departamento corre cuando alguien elige un departamento. En una importación, en cambio, la misma regla corre en todas las filas, haya cambiado el departamento o no. Si la regla no tiene una condición que la proteja, puede pisar datos en forma masiva. Un centro de costos cargado a propósito en el archivo, distinto del que la regla establecería, quedaría reemplazado.
Por eso la lección propone revisar el contexto de cada regla al cambiar antes de una carga masiva. En el VIDEO 4.2, AR_CC por departamento queda con No en las importaciones y en los cambios masivos. En el ejercicio de la L4, la tabla de contextos para la migración de la filial decide regla por regla: las que completan o derivan datos que el archivo ya trae, con No; las validaciones que tienen que frenar datos inválidos, con Sí.
La condición "está vacío" es otra protección. AR_Modalidad por defecto solo establece la modalidad si está vacía, así que, aunque corra en una importación, en el peor caso completa los vacíos. Es una razón más para incluir esa condición en todos los valores por defecto.
La importación tiene, además, su propia opción para las reglas. En la U4 vimos que la configuración de importación de Employee Central permite habilitar las reglas de negocio para las entidades seleccionadas. Si las reglas no están habilitadas para una entidad, no corren en sus importaciones, sin importar el contexto. El contexto de regla trabaja a un nivel más fino: entre las reglas habilitadas, decide cuáles corren en cada situación.
Los cambios masivos tienen una particularidad más: solo ejecutan reglas de la información del puesto, según la nota 2283442. Una regla de la compensación no corre en un cambio masivo, aunque su contexto diga Sí. Si un cambio masivo de grado tiene que ajustar la compensación, la lógica tiene que estar en la información del puesto, por ejemplo en una regla entre entidades como AR_Grupo de pago por grado.
Para una migración, el criterio práctico es probar la carga con un archivo pequeño en la instancia de prueba, con las reglas y los contextos tal como van a estar en productivo, y comparar el resultado con el archivo. Si algún valor cambió respecto de lo que traía el archivo, una regla corrió donde no tenía que correr.
También conviene repetir la revisión de contextos después de cada importación del modelo de datos, porque la nota 2831751 advierte que pueden volver a Sí.
