Page 1 of 1

RunQuery without Defined Results Throws Confusing Exception

Posted: August 9th, 2024, 6:59 pm
by CathyC
I have a case where it seems like EASYProcess is broken, but after looking at it closer, it is functioning as it should, but is not user friendly and giving errors that dont tell the user anything. Can something be done to provide better messaging to the user?
If making some minor changes is easy, it will add some value so that EASYProcess doesn't look broken to users who don't understand how it works.

I have a submethod in a model
image.png
In that submethod, it identified a service, "GetRows", as the output.
image.png
image.png (15.12 KiB) Viewed 1695 times
image.png
image.png (15.12 KiB) Viewed 1695 times
In the controller, I want to reference that node from the model. I used the Assistant panel, and expanded it, but it never loads:
image.png
So I figured that I could just pull in the "GetRows" parent and fill in the rest my own, but it throws an exception:
image.png
The "GetRows" service is a RunQuery against JDE:
image.png
Notice the Results are not defined. If I add those...
image.png
and refresh, it shows the results now:
image.png
The problem is that before, its not obvious that it will always say "loading values..." and never find the results. It could give a better message or at least show the Output/Result part of the tree since every service will have that.


Now if I drag in the top level, it will not throw any exception:
image.png
I can drag in any level and it doesnt throw an exception:
image.png
So a couple of fixes could be made:
  1. when a RunQuery results are not defined, it can't show the columns it will return, but it could and should still show the Output/Result part of the tree
  2. when a RunQuery results are not defined, expanding the tree shows the "Loading Results..." text that will never go away. There could be logic to check if it is lacking results and instead not try to retrieve them.
  3. When a RunQuery results are not defined, pulling in the top node, which should work, throws an exception "exception has been thrown by the target of an invocation". A fix could be made to allow this without an exception.