First of all I want to give a shout out to the great people in the thread I found here, which was soooo helpful for me to understand context, looping and batches better: FOR EACH within FOR EACH Loop??? &hilit=pass+context+process&sid=656fb7043273e5ce06ca10c7a3b0c48c#p34017
Of particular help was the article that Mark posted on his site: https://awareimdevelopers.com/2017/09/19/the-execution-context-of-awareim/
After reading both a couple times, it finally sank in and I was able to resolve all the problems that have been dogging me for over a week...except one.
I ran into a situation where, depending on the option selected by the user, the operation can freeze because processes that were suspended (thanks to batches) won't resume when the time comes. The screen just hangs with the processing "---" graphic continually moving even though the log viewer has stopped. The strange thing is that the option that hangs is more restrictive, having one fewer batch than another option that performs perfectly.
Unlike with infinite loops, I don't get an internal error if I wait (and there's no indication of an error in the log). The system just seems to be waiting for a response that never comes and I have to close the tab and load/lock the configurator.
The only thing I can figure is that my batches tend to end unceremoniously. I'll have a series of "If...Then" "Else If...Then" statements with no "Else" at the end. If an instance makes it through the gauntlet without another process getting called, it's batch is finished and suspended processes can resume.
Is there an else statement that I can make that would signal a response to the system that a batch is finished?

