Errors generated by the Policy Exception rules
Generally, if any of the exception rules throw
an error, PolicyCenter logs the
exception. PolicyCenter rolls
back any changes made by the exception rules to that PolicyPeriod. (This is not true,
however, if you made the changes in a separate bundle, which Guidewire
explicitly does not recommend.)
PolicyCenter handles each PolicyPeriod over which it runs
the exception rules in a separate transaction. Therefore, if PolicyCenter encounters an error
in PolicyPeriod B, it
does not roll back changes to PolicyPeriod
A.
A special loophole exists in the case
of the ConcurrentDataChangeError
error, which occurs any time that two separate transactions try to change
the same data. This can happen quite easily in exception rules. For instance,
imagine that someone is the process of editing a PolicyPeriod entity at the same
time that the exception rules try to make changes to it. If there is
a ConcurrentDataChangeError,
the batch process still rolls back the changes, but remembers the ID
of the PolicyPeriod. It
then tries to run exception rules on it again at a later time. This is
standard behavior across all exception rules.
