I am getting the following error while doing Logical Loop Check:
self-referential attribute: b5@Rules_test_doc
number of rules in this loop: 3
number of attributes in loop chain: 3
number of relationships in loop chain: 0
The rule engine will be seeded with information from a database.
My requirement is to set a value to the attribute (X) = "ABC" if (X) is null and (Y) is 0
( in 10.4 NULL is represented by unknown)
You would have to have an intermediate field here to achieve this. It definitely is a logical loop in OPA terms, since you are trying to use X to prove X.
To solve it you would need to do:
attribute (X) = "ABC" if (X_input) is null and (Y) is 0
Or for a "real" example:
the person's processing office:
"london" | the person's provided procesing office is currently unknown
the person's provided procesing office | otherwise
So if no processing office has been provided by the database, (i.e. "null") it effectively defaults to London.
You could then use "the person's processing office" as normal throughout the rules, confident that it should never be unknown.
Edited by: Ben Rogers on Jan 8, 2013 1:28 PM
Can I persist the value back to the database (using 10.4 batch processor) if I am using the intermediate attribute? I need to persist the value of attribute (X) or the person's processing office. However the input database column is same.
I am assuming we can configure for one column to point to multiple OPA attributes.