BREAK
BREAK is used to break a loop or to skip ITERATEs.
- If BREAK has an earlier SUPPRESS, then no message is sent. If there is no earlier SUPPRESS, then it sends what it has at that point, which could be a partial message.
- If BREAK is inside an ITERATE, then it breaks the iteration.
- If BREAK is outside of ITERATE, then it stops the translation completely.
- If BREAK is in an IF action on the root level, then the engine exits the entire translation.
In an ITERATE, the BREAK action causes the translation engine to immediately exit the current ITERATE and move to the next action after the ITERATE. If the ITERATE is nested, then the BREAK only breaks out of the current loop, not the entire nest.
If a BREAK is encountered outside of an ITERATE, then the translation ends immediately and the current parse tree is encoded. Rules set by SUPPRESS are followed as if the translation had normally ended.
Actions on the same level and behind the BREAK are unreachable.
To use BREAK on a condition in an ITERATE, use IF and BREAK together.
Note: BREAK is restricted to ITERATE.