El evento de regla es el momento en que una regla de negocio se ejecuta. La regla define qué hacer; el evento define cuándo. Se elige al asignar la regla en Gestionar configuración empresarial, y la academia lo describe como el disparador: sin un evento, la lógica SI y ENTONCES nunca corre.
Los elementos HRIS tienen seis eventos, que resumimos en la Tabla 1.4 de la lección. Al iniciar (onInit) corre en el alta o la recontratación, en Añadir nuevo empleado, y al crear un objeto de fundamento. Al cambiar (onChange) corre cuando el usuario cambia el valor de un campo. Al guardar (onSave) corre cuando se guarda la página. Al mostrar (onView) corre cuando se muestran campos transitorios, que se calculan en el momento y no se guardan. Alerta al guardar (saveAlert) corre cuando se guarda un registro con alertas, como vimos en la U5 L4. Y después de guardar (onPostSave) corre una vez guardados los cambios, para disparar eventos de servicios inteligentes.
Una diferencia importante es dónde se asigna cada uno. Al cambiar es el único evento que se asigna a un campo y no al elemento: la regla corre cuando ese campo cambia. Todos los demás se asignan al elemento. Por eso, en el VIDEO 1.2, AR_CC por departamento se asigna entrando al campo departamento de jobInfo, mientras que AR_Validar horas semanales, en la L2, se asigna directamente en jobInfo, al guardar.
El evento también condiciona lo que el usuario ve. Con al cambiar, el resultado aparece mientras se completa el formulario: el centro de costos se ve en cuanto se elige el departamento. Con al guardar, el resultado aparece recién al guardar, y si el usuario había cambiado el valor a mano, la regla lo pisa sin aviso. La lección lo resume en un criterio: lo que ayuda a completar va al cambiar; lo que controla o deriva, al guardar.
Hay restricciones que vienen de las notas de SAP y de la academia. Los mensajes no se muestran al iniciar, según la nota 3345944, así que una validación nunca se asigna con ese evento. El evento al mostrar no se puede usar para los cambios hechos en Añadir nuevo empleado. Y según la nota 3696599, solo al guardar y al cambiar admiten contexto de regla, el tema de la L4.
Muchos escenarios fijan el evento. Las reglas de Disparar flujos de trabajo solo se asignan al guardar; las de Reglas al iniciar para alta y recontratación, solo al iniciar; las de alertas, con alerta al guardar. En esos casos la elección ya está hecha por el escenario. Donde el escenario deja elegir, la decisión es de diseño, y conviene tomarla pensando en el usuario que carga los datos y en las importaciones, donde algunos eventos se comportan distinto.
Un error frecuente en proyectos es asignar la misma regla con dos eventos por las dudas. A veces tiene sentido, como una validación al cambiar para avisar antes y al guardar para bloquear. Pero si no hay una razón, la regla corre dos veces, y eso complica el diagnóstico cuando algo sale mal.
