Una rama SINO SI (Else If) es una condición encadenada dentro de una misma regla de negocio. La regla evalúa la primera condición; si no se cumple, pasa a la segunda; y así hasta la última, que puede ser un SINO sin condición. Cada rama tiene su propia acción. Es la forma de resolver en una sola regla varios casos que comparten el mismo propósito, como derivar un motivo de evento.
La academia de Position Management menciona la derivación de motivos como el ejemplo típico de uso de SINO en Employee Central. En la L3 lo vemos con AR_Derivar motivo de evento, que tiene tres ramas. La primera: si la entidad legal es AR01, el motivo está vacío y el grado es distinto del anterior, evento Promoción y motivo AR_PROMO. La segunda: si la ubicación es distinta de la anterior, evento Traslado y motivo AR_TRASL. La tercera: si la entidad legal es AR01 y el motivo está vacío, el motivo de cambio de datos por defecto.
La regla más importante de las ramas es que gana la primera que se cumple. Si en un mismo cambio cambian el grado y la ubicación, la regla no llega a evaluar la rama del traslado: el registro queda como promoción. No hay un orden correcto en abstracto. Es una decisión de negocio, y la lección recomienda escribirla en la descripción de la regla. En la situación 1 del ejercicio de la L3, RR. HH. esperaba un traslado en un caso así, y la respuesta no es corregir un error, sino revisar con el cliente qué orden quiere.
El orden también importa para la última rama. El motivo por defecto tiene que estar al final, porque su condición es la más amplia: se cumple en cualquier cambio de AR01 sin motivo. Si estuviera antes, ninguna rama posterior se ejecutaría. La nota 2571698, que vimos en la U5 L2, recomienda tener ese caso por defecto para que ningún cambio quede sin motivo.
Cuando se agrega una rama nueva, hay que decidir dónde va. En el ejercicio de la L3, RR. HH. pide AR_CAMB_JOR para los cambios de horas semanales. La rama va después de la promoción y del traslado, porque si en un mismo cambio sube el grado y cambia la jornada, RR. HH. quiere que quede como promoción. Y va antes del motivo por defecto, que sigue siendo el último.
Las ramas también ayudan con un límite de diseño. En la L4 vimos que solo se permiten cinco reglas entre entidades. La forma de administrar ese límite es agrupar en una sola regla, con varias ramas, todos los cambios que van de un origen a un destino.
Para probar una regla con ramas, conviene un caso por rama, un caso que cumpla dos ramas a la vez, para confirmar el orden, y un caso que no cumpla ninguna, para confirmar el comportamiento por defecto. El plan de prueba del ejercicio de la L3 sigue exactamente esa lógica.
