MOVETO
— define limit on number of consecutive
dfmoveto() calls
During processing of an edit check, it is possible for one edit check or a combination of edit checks to create a loop. Specifically, a loop can occur when:
dfmoveto() statement,
resulting in a move to the other fielddfmoveto()
statement in a single edit check can move the focus back to a
previous field allowing subsequent traversal to move the focus back
to the current field and triggering the same edit check
A loop is detected after a number of consecutive dfmoveto()
invocations.
By default this number is 20.
When a loop is detected, edit checks processing halts.
In an interactive environment, a warning dialog is displayed and the user has
the option of aborting the current edit check or allowing it to continue,
presumably resulting in another loop shortly thereafter.
In batch edit checks, the current edit check is always aborted.
It is possible, although highly unlikely,
for a particularly complex combination of edit checks to invoke
dfmoveto() more than the default number of times, 20,
without a loop existing.
In this case, the limit on the loop can be raised by setting the
number attribute of the
MOVETO element to a higher value.
This element applies to all of the BATCH elements in the
current BATCHLIST.