I am looking for the best way to implement verification of the data entered in a form. In other words, how to handle incorrect data. I want a gentle information/warning message and the ability to correct the data directly on the form.
One possibility seems to be REPORT ERROR. However, that rolls the entire transaction back. I can specify the rule that issues the REPORT ERROR as 'dynamic' and 'Do not run on server' - this is slightly better as it displays the message without aborting the transaction. However, it seems that this works only for the objects own attributes, not for the reference attributes edited with inline editing. If I try to use the REPORT ERROR in the BO rules of the reference object, there is no alert and the log shows "Action REPORT ERROR is not allowed during initialisation" - although there is no initialisation, I am editing an already existing object (also, 'Form initialization' is specified as 'No' for the rule).
Furthermore, I could not get any Process Failure rules to catch the REPORT ERROR messages.
Aware_support wrote in this post:
UI actions such as ENTER NEW, EDIT, DISPLAY MESSAGE etc COMMIT the current transaction. Everything that happens before these actions is committed, so if the REPORT ERROR is after them only the part starting from the last UI action will be rolled back
Does this imply that if I have a process with a rule 'EDIT Object' or 'VIEW Object' and define Process Failure rules for that process, any REPORT ERROR triggered by the object cannot be handled by the Process Failure rules?