[progress Communities] [progress Openedge Abl] Forum Post: Re: Catch Behavior Question -...

  • Thread starter Thread starter Laura Stern
  • Start date Start date
Status
Not open for further replies.
L

Laura Stern

Guest
I just posted the answer and it seems to have disappeared. At the risk of having it show up twice, I will post it here again: This is due to our infinite loop protection. Since there is no user interaction in the REPEAT block, we change the NEXT to LEAVE- even though you explicitly said to do NEXT. Questionable behavior, I would say, but expected. So if you add an UPDATE statement inside the REPEAT block (just for experimental purposes), you'll see that it does repeat the block. In the FOR EACH block, it allows you to go NEXT since you are moving to the next record and that in itself is a change, so we don't need to fear that nothing in the block will change. We are not smart enough to see that inside the REPEAT block you are doing NEXT on a QUERY, which would have the same effect as iterating through the FOR EACH. Right now, I cannot think of a way to get around this. You can't even add PROCESS EVENTS because that (for reasons that I cannot explain) is NOT treated as a user interaction. You should log a bug. Maybe we can add a startup parameter that will turn off infinite loop protection.

Continue reading...
 
Status
Not open for further replies.
Back
Top