Tipos de variables de reglas
Puede asignar varios tipos de valores a sus variables de reglas.
Una variable de regla puede representar una constante, una expresión, un término de negocio o una
colección de términos de negocio. Define una variable de regla asignándole un nombre y un valor. Elija el nombre, y el valor puede ser texto, un número o una expresión aritmética. El valor también puede ser un término de negocio predefinido que ya está en la regla (por ejemplo, customer). Una vez establecida una variable, puede utilizarla en cualquier parte de la regla que declare la variable.
Variables de regla que definen constantes
El uso más simple de una variable de regla es declarar un valor constante.
Por ejemplo, la
variable maxAmount facilita la comprensión de la siguiente regla, y garantiza que las partes if y
then de la regla utilicen el mismo valor:
definiciones establecer maxAmount en 1000000; si el importe de 'el préstamo' es como mínimo maxAmount Entonces en 'el informe del préstamo', rechazar los datos con el mensaje "El préstamo no puede exceder de " + maxAmount;
Restricciones de las variables de regla
Puede restringir aún más una variable en la parte ' definitions de una regla utilizando el operador ' where.
Ejemplo
En la regla siguiente,
where restringe la variable loyal customer
a clientes de la categoría Gold:
definiciones establecer 'cliente fiel' en un cliente cuya categoría es Gold; si el valor de la cesta de la compra del 'cliente fiel' es mayor a 200 dólares Entonces aplicar el superdescuento;
Ejemplo
La regla siguiente declara que la variable senior
Gold customer es un cliente que está en la categoría Gold y tiene al menos 65 años de edad:
definiciones establecer 'cliente Oro senior' en un cliente donde todas las condiciones siguientes son ciertas: - la categoría de este cliente es Oro - la edad de este cliente es como mínimo 65;
Variables de regla que hacen referencia a más de una aparición de un término de negocio
Si un término de negocio tiene más de una definición en una regla, debe definir las diferentes definiciones.
Cuando los desarrolladores habilitan la variable
automática para un término de negocio, la palabra the identifica la variable automática en entornos locales que
usan este artículo. Por ejemplo, si usa la palabra customer
como un término de negocio en sus reglas, los desarrolladores pueden definir una variable
automática llamada the customer, a la que podrá hacer referencia en las reglas.
Si tiene una regla que
requiera que se refiera a más de una aparición de un cliente, deberá definir las otras apariciones en la parte definitions
de la regla, por ejemplo:
definiciones defina el solicitando como un cliente; establecer 'cliente fiel' en un cliente; si todas las condiciones siguientes son true: - el aspirante está casado con 'cliente fiel' - 'cliente fiel' está asegurado Entonces actualizar puntuación del aspirante;
Las variables son útiles en las reglas que hacen referencia a las relaciones entre dos o más cosas del mismo tipo.
Por ejemplo, la siguiente condición implica dos clientes distintos:
si ’cliente 1’ está casado con ’cliente 2’
La condición identifica y nombra dos clientes diferentes: customer
1 y customer 2. El término de negocio "cliente" varía, y puede definir dos variables de cliente para escribir una regla como la siguiente:
definiciones establecer ’cliente 1’ en un cliente; establecer ’cliente 2’ en un cliente; si ’cliente 1’ está casado con ’cliente 2’ y ’cliente 2’ está asegurado Entonces actualizar puntuación del ’cliente 1’;
Variables de reglas que recuperan todas las apariciones de un término de negocio
Puede usar el operador
BAL all <...> para crear una variable que recupere
una lista de todas las apariciones de un término de negocio, por ejemplo:
definiciones establecer 'clientes oro' en todos los clientes donde la categoría de este cliente es oro; establecer 'cliente Oro junior' en un cliente en 'clientes oro' donde la edad de este cliente es como máximo 15; establecer 'cliente Oro senior' en un cliente en 'clientes oro' donde la edad de este cliente es como mínimo 65;
El ejemplo crea tres variables:
gold customers: Una lista de los clientes de la categoría Gold.junior gold customer: Un cliente de la lista de clientes Gold cuya edad es como máximo de 15 años.senior gold customer: un cliente de la lista de clientes Gold cuya edad es como mínimo de 65 años.