Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
5 replies
Subscribers
5 subscribers
Views
2853 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Integrations
I've added a "exception flow" by adding a Exception rule on the Qu
scotte
over 9 years ago
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
0
jorgea272
over 9 years ago
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.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Chris
over 9 years ago
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.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 9 years ago
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)."
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Eduardo Fuentes
Appian Employee
over 9 years ago
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."
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
scotte
over 9 years ago
Thanks for the updates!
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel