I've added a "exception flow" by adding a Exception rule on the Qu

I've added a "exception flow" by adding a Exception rule on the Query Database smart service. I setup a Rule that checks the "output" data field AC!jdbc_error_flag = True. So if there is a DB error the documentation says that field is set to True, then it should flow in the direction of the exception. This is not happening. Can you not put a Exception on a Query Database Smart service and if not does anyone know how to catch a exception here and take a different flow? Thanks!...

OriginalPostID-130336

OriginalPostID-130336

  Discussion posts and replies are publicly visible

  • I don't think you can use an AC on your exception because by the time that node gets to the output part, the node has completed so there would be nothing to exception. The exception works when the node is active (before the output gets set). What you could do is have a rule node that is triggered on the change of a PV. So if the JDBC error flag is true, set that PV as true, then have that rule node trigger on that PV to take whatever action you're looking for. You may also need to evaluate that jdbc_error PV after the completion of the query database smart service.
  • You can use an exception on a Query DB node, but in your scenario it would be best to set the "Pause Node On Error" setting to false, record the error flag into a pv! and use that pv! in a decision node on the regular output path of the DB node. That way the DB node completes with or without error, you can check for an error and flow your process as necessary. We do this currently to force error'd DB nodes to all wait for process to process messaging (before flowing back into itself), so during a DB outage we can resume all processes with one click of a management process instead of hundreds manually one by one.
  • Also keep in mind that intermediate events such as Exception Flows are for Attended Tasks and not Unattended nodes as explained in the documentation (forum.appian.com/.../Exception_Flows.html)

    "On an unattended activity, the activity and the exception triggers are started at the same time. It is not possible to determine which one completes first. This applies to Rule Events (as well as any Timer Events that have met their schedule conditions prior to node activation)."
  • Notice how the approach described above analyzes the error flag in the subsequent node, that's what you are supposed to do; the documentation doesn't refer to exception flows but to handle the error later in the process just like the user describes above.

    "The Error Occurred Output indicates true if an error has occurred during execution. SAVE this value to a process variable to enable exception processing on the SUBSEQUENT activity in the process flow."