C/AL BREAK Statement
You use the BREAK statement to terminate the iteration statement in which it appears.
You typically use the BREAK statement in the repeating statements such as FOR, FOREACH, WHILE, or REPEAT to stop an iteration or loop when certain conditions are met.
The BREAK statement is different than the BREAK Function (Report, XMLport). Although both stop an iteration or loop, the BREAK function will also terminate the trigger in which it is run.
The following code example loops through a .NET Framework collection that contains a generic list of elements and returns each element as text in a message. However, the BREAK statement terminates the iteration when the text equivalent of the element is Item 2.
Create the following local variables in a Dynamics NAV object, such as a codeunit.
|mylist||DotNet||System.Collections.Generic.List`1.'mscorlib, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b77a5c561934e089'|
|element||DotNet||System.Object.'mscorlib, Version=126.96.36.199, Culture=neutral, PublicKeyToken=b77a5c561934e089'|
Add the following C/AL code (for example, on the OnRun trigger of the codeunit).
// Instantiate the .NET Framework collection object mylist := mylist.List(); // Populate the collection mylist.Add('Item 1'); mylist.Add('Item 2'); mylist.Add('Item 3'); mylist.Add('Item 4'); // Iterate through the collection FOREACH element IN mylist DO BEGIN MESSAGE(FORMAT(element)); IF FORMAT(element) = 'Item 2' THEN BREAK; END;
Compile and run the Dynamics NAV object.