So at first i was using find('-') because total records vary from under 10 to 600.000... i dont modify the database , just counting and categorizing them. 1 example had 150 records total and the transaction would freeze for minutes on the exact same two or three records when run for the first time a day ( every following time it would still freeze but for only a second or two. I've tried to do this in a report and in a cu with the same results. Even the records are the same every time. Debugging wouldn't help me because the freeze happens right before the entrance point into the next record. When using FINDSET(FALSE) i don't encounter the same problem. I have also commented out all content inside the loop - same problem.
part of code
IF l_RSubscrLine.FIND('-') THEN
BEGIN
REPEAT
{code}
UNTIL l_RSubscrLine.NEXT = 0; // this is where the debugger freezes
END;
Any ideas are appreciated.
Cheers.
Answers
In this article there is a very good explanation:
https://dynamicsuser.net/nav/b/waldo/posts/what-impact-does-my-c-al-have-on-sql
In loops you have to use FINDSET and never FINDFIRST.