Ejemplos del resultado del seguimiento de pruebas de directivas
Esta sección contiene ejemplos de salida de pruebas de directivas para diferentes tipos de hechos.
Clase .Net
Regla de ejemplo "TestRule1" en la directiva "LoanProcessing":
IF test.get_ID > 0
THEN <do something>
Salida:
SEGUIMIENTO DEL MOTOR DE REGLAS PARA CONJUNTO DE REGLAS: LoanProcessing 3/16/2004 9:50:28 AM
FACT ACTIVITY 3/16/2004 9:50:28 AM
Identificador de instancia del motor de reglas: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: MyTest.test
Identificador de instancia de objeto: 872
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 16/3/2004 9:50:28 AM
Identificador de instancia del motor de reglas: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nombre del conjunto de reglas: LoanProcessing
Expresión de prueba: MyTest.test.get_ID > 0
Valor del operando izquierdo: 100
Valor del operando derecho: 0
Resultado de la prueba: True
AGENDA UPDATE 3/16/2004 9:50:28 AM
Identificador de instancia del motor de reglas: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA DESENCADENADA 16/3/2004 9:50:28 AM
Identificador de instancia del motor de reglas: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
FACT ACTIVITY 3/16/2004 9:50:28 AM
Identificador de instancia del motor de reglas: 9effe3f9-d3ad-4125-99fa-56bb379188f7
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: MyTest.test
Identificador de instancia de objeto: 872
DataConnection/TypedDataRow
Regla de ejemplo "TestRule1" en la directiva "LoanProcessing":
IF NorthWind.CustInfo.CreditCardBalance > 0
THEN <do something>
Salida:
SEGUIMIENTO DEL MOTOR DE REGLAS PARA CONJUNTO DE REGLAS: LoanProcessing 3/16/2004 8:30:16 AM
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: DataConnection:Northwind:CustInfo
Identificador de instancia de objeto: 874
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 16/3/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Expresión de prueba: seleccione * de [CustInfo] donde [CreditCardBalance] > 0
Valor del operando izquierdo:
Valor del operando derecho:
Resultado de la prueba: True
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 177556
ACTUALIZACIÓN DE AGENDA 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 177559
ACTUALIZACIÓN DE AGENDA 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 177558
ACTUALIZACIÓN DE AGENDA 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA ACTIVADA 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA ACTIVADA 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA ACTIVADA 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: DataConnection:Northwind:CustInfo
Identificador de instancia de objeto: 874
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 177559
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 177558
ACTIVIDAD DE DATOS 3/16/2004 8:30:16 AM
Identificador de instancia del motor de reglas: 1aad35bb-0599-470b-b0fa-73b3fa1dfb83
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 177556
En el ejemplo anterior se indica que tres filas de la tabla CustInfo cumplen la condición de la regla. Por eso hubo que imponer únicamente tres TypedDataRows en el motor y se produjo una actualización de agenda y activación de reglas para cada instancia.
TypeDataTable/TypedDataRow
Regla de ejemplo "TestRule1" en la directiva "LoanProcessing":
IF NorthWind.CustInfo.CreditCardBalance > 0
THEN <do something>
Salida:
SEGUIMIENTO DEL MOTOR DE REGLAS PARA RULESET: LoanProcessing 3/17/2004 11:27:35 AM
ACTIVIDAD FACT 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataTable:Northwind:CustInfo
Identificador de instancia de objeto: 377
ACTIVIDAD FACT 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 376
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 17/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Expresión de prueba: TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
Valor del operando izquierdo: 500
Valor del operando derecho: 0
Resultado de la prueba: True
AGENDA UPDATE 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
ACTIVIDAD FACT 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 375
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 17/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Expresión de prueba: TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
Valor del operando izquierdo: 1000
Valor del operando derecho: 0
Resultado de la prueba: True
AGENDA UPDATE 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
ACTIVIDAD FACT 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 374
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 17/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Expresión de prueba: TypedDataRow:Northwind:CustInfo.CreditCardBalance > 0
Valor del operando izquierdo: 35000
Valor del operando derecho: 0
Resultado de la prueba: True
AGENDA UPDATE 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA DESENCADENADA 17/3/2004 11:27:35 a. m.
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA DESENCADENADA 17/3/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA DESENCADENADA 17/3/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
FACT ACTIVITY 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataTable:Northwind:CustInfo
Identificador de instancia de objeto: 377
FACT ACTIVITY 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 375
FACT ACTIVITY 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 374
FACT ACTIVITY 3/17/2004 11:27:35 AM
Identificador de instancia del motor de reglas: 0f7bcdf3-8103-4990-a740-acaeee386439
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedDataRow:Northwind:CustInfo
Identificador de instancia de objeto: 376
Nota
En el ejemplo anterior se muestra que TypedDataTable contenía tres filas y todas estaban declaradas como TypedDataRow. Todas se evaluaron como True en la condición, lo que hizo que la regla se agregara a la agenda y se activara.
TypedXmlDocument
Regla de ejemplo "TestRule1" en la directiva "LoanProcessing":
IF Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
THEN <do something>
Salida:
SEGUIMIENTO DEL MOTOR DE REGLAS PARA CONJUNTO DE REGLAS: LoanProcessing 3/17/2004 9:23:05 AM
FACT ACTIVITY 3/17/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
Identificador de instancia de objeto: 858
FACT ACTIVITY 3/17/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Operación: Assert
Tipo de objeto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
Identificador de instancia de objeto: 853
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 17/3/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Expresión de prueba: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType.TimeInMonths >= 4
Valor del operando izquierdo: 6
Valor del operando derecho: 4
Resultado de la prueba: True
AGENDA UPDATE 3/17/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Operación: Agregar
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
REGLA DESENCADENADA 17/3/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Nombre de la regla: TestRule1
Criterios de resolución de conflictos: 0
FACT ACTIVITY 3/17/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case
Identificador de instancia de objeto: 858
FACT ACTIVITY 3/17/2004 9:23:05 AM
Identificador de instancia del motor de reglas: 51ffbea4-468f-4ce8-8ab7-977cadda2e2b
Nombre del conjunto de reglas: LoanProcessing
Operación: Retirar
Tipo de objeto: TypedXmlDocument:Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType
Identificador de instancia de objeto: 853
En este ejemplo se muestra que un TypedXmlDocument se afirmó en el motor con un tipo de documento de "Microsoft.Samples.BizTalk.LoansProcessor.Case". Según el selector XPath definido en la regla, el motor creó y afirmó un typedXmlDocument secundario con el tipo "Microsoft.Samples.BizTalk.LoansProcessor.Case:/Root/EmploymentType" basado en el tipo de documento y la cadena del selector.
Dado que este TypedXmlDocument secundario fue evaluado como True en la condición, se originó una actualización de agenda y activación de reglas. Los elementos primarios y secundarios typedXmlDocument se retiraron.
Función Update
Directiva de ejemplo "Order"
Regla "InventoryCheck"
IF Inventory.AllocateInventory == True
THEN Order.inventoryAvailable == True
Update(Order)
Regla "Ship"
IF Order.inventoryAvailable == True
THEN Shipment.ShipOrder
Salida:
SEGUIMIENTO DEL MOTOR DE REGLAS PARA CONJUNTO DE REGLAS: Orden 17/3/2004 10:31:17 AM
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Assert
Tipo de objeto: TestClasses.Order
Identificador de instancia de objeto: 448
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Expresión de prueba: TestClasses.Order.inventoryAvailable == True
Valor del operando izquierdo: null
Valor del operando derecho: True
Resultado de la prueba: False
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Assert
Tipo de objeto: TestClasses.Shipment
Identificador de instancia de objeto: 447
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Assert
Tipo de objeto: TestClasses.Inventory
Identificador de instancia de objeto: 446
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Expresión de prueba: TestClasses.Inventory.AllocateInventory == True
Valor del operando izquierdo: True
Valor del operando derecho: True
Resultado de la prueba: True
ACTUALIZACIÓN DE AGENDA 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Agregar
Nombre de regla: InventoryCheck
Criterios de resolución de conflictos: 0
REGLA ACTIVADA 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Nombre de regla: InventoryCheck
Criterios de resolución de conflictos: 0
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Actualización
Tipo de objeto: TestClasses.Order
Identificador de instancia de objeto: 448
PRUEBA DE EVALUACIÓN DE CONDICIÓN (COINCIDENCIA) 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Expresión de prueba: TestClasses.Order.inventoryAvailable == True
Valor del operando izquierdo: True
Valor del operando derecho: True
Resultado de la prueba: True
ACTUALIZACIÓN DE AGENDA 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Agregar
Nombre de la regla: Enviar
Criterios de resolución de conflictos: 0
REGLA ACTIVADA 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Nombre de la regla: Enviar
Criterios de resolución de conflictos: 0
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Retirar
Tipo de objeto: TestClasses.Order
Identificador de instancia de objeto: 448
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Retirar
Tipo de objeto: TestClasses.Shipment
Identificador de instancia de objeto: 447
ACTIVIDAD DE DATOS 3/17/2004 10:31:17 AM
Identificador de instancia del motor de reglas: 533f2fb6-a91f-49c1-8f36-e03a27ca9d72
Nombre del conjunto de reglas: Order
Operación: Retirar
Tipo de objeto: TestClasses.Inventory
Identificador de instancia de objeto: 446
En este ejemplo, la condición asociada a la regla Ship se evalúa como False la primera vez que se comprueba. Sin embargo, cuando la regla InventoryCheck se activa, el campo inventoryAvailable de Order cambia y se emite un comando Actualizar en el motor para el objeto Order. Esto hace que vuelva a evaluarse la regla Ship. En esta ocasión la condición se evalúa como verdadera y la regla Ship se activa.
Nota
Si las reglas están escritas incorrectamente, el encadenamiento directo con la función Update puede ocasionar un bucle infinito. Si esto ocurriera, recibirá un mensaje de error al probar la directiva en el Compositor de reglas de negocio con el texto "El motor de reglas detectó un bucle de ejecución".