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’;
Nota: Cuando una regla contiene varias apariciones de un término empresarial, la regla se activa varias veces para cubrir todas las permutaciones. En el ejemplo, hay dos clientes, de manera que la regla se activa dos veces. Si la regla tenía tres clientes, la regla se activaría seis veces.

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.