Regla de llamada desde el script
Este ejemplo muestra cómo llamar de forma sencilla a cualquier regla desde una regla de script, lo que puede resultar útil, por ejemplo, al crear una orquestación compleja.
Leos Rehacek
Template author
Este flujo de decisiones demuestra la capacidad de invocar una regla específica desde dentro de una Scripting Rule de forma programática. En lugar de un Decision Flow, esta orquestación utiliza un script para pasar datos de entrada a una regla hija (una Decision Table) y recuperar los resultados para su posterior procesamiento o salida. Este patrón es útil para construir orquestaciones complejas donde la ejecución de la regla depende de una lógica definida en JavaScript.
Componentes de la solución
La solución consta de dos reglas principales contenidas dentro de la carpeta Call Rule From Script:
Child Table: Una Decision Table que funciona como un motor de búsqueda, asignando detalles del producto basados en un código de categoría. Esta tabla define la lógica de negocio para mapear los códigos de categoría a productos bancarios específicos. Evalúa el código (categoryCode) para determinar el nombre del producto y el código del producto.
Input: La tabla acepta un código (por ejemplo, "OA" o "SA").
Lógica:
Si el código es OA, devuelve "Regular Account" (OAO1).
Si el código es SA, puede devolver "Saving Account Standard" (SAO1) o "Saving Account Premium" (SAO2).
Output: Devuelve el productName y productCode.
Call Rule From Script: Una regla de Scripting que actúa como orquestador. Acepta la entrada, llama a la tabla utilizando su alias único y genera las filas coincidentes como salida. No contiene una tabla de decisión por sí misma, sino que utiliza JavaScript para aprovechar el motor de DecisionRules (DR).
Lógica:
Utiliza la función DR.solve para dirigirse a la regla hija por su alias.
Pasa la variable de entrada categoryCode a la regla hija.
Utiliza una estrategia de "solucionador" estándar (SolverStrategy.STANDARD).
Resultado: El script registra el resultado y mapea la salida de la Decision Table (tableResult) a la variable de salida del script matchedRows.
More Templates
See Other Templates
Pruebas A/B
Descubra una forma sencilla de asignar un grupo de prueba para realizar pruebas A/B en sus decisiones.
Precios basados en el riesgo
Descubra una forma sencilla de aplicar una matriz de precios basada en riesgo adecuada en función del tipo de cliente.
Normas de elegibilidad y política
Descubra una forma sencilla de definir y ejecutar varios conjuntos de reglas y obtener el resultado de la decisión final.