BEGIN <Befehl 1>; <Befehl 2>; … <Befehl n>; END;
Verbundanweisungen
BEGIN und END sind Verbundanweisung und somit eine Art Kontrollstruktur in C/AL.
Hinweise
In manchen Fällen erlaubt die C/AL-Syntax nur die Verwendung einer einzigen Anweisung. Wenn Sie jedoch mehr als eine einfache Anweisung ausführen müssen, können Sie die Anweisungen als Verbundanweisung schreiben, indem Sie die Anweisungen zwischen den Schlüsselwörtern BEGIN und END einschließen.
Die einzelnen Anweisungen sind durch ein Semikolon getrennt. In C/AL wird ein Semikolon zur Trennung von Anweisungen verwendet und nicht, wie in anderen Programmiersprachen, als Terminator-Symbol für eine Anweisung. Dennoch führt ein zusätzliches Semikolon vor einem END nicht zu einem Fehler, da es vom Compiler als leere Anweisung interpretiert wird.
Blöcke
Die BEGIN-END-Struktur wird auch als Block bezeichnet. Blöcke können sehr nützlich sein, um auf die anderen Kontrollstrukturen in C/AL zu verweisen.
Wenn ein BEGIN auf THEN, ELSE oder DO folgt, sollte es in der gleichen Zeile stehen und mit einem Leerzeichen vorangestellt werden.
Beispiel
Zunächst werden zwei neue Variable hinterlegt.
Name | Datentyp | Subtyp |
---|---|---|
Customer | Record | Customer |
No | Code |
Anschließend wird folgender C/AL-Code eingefügt.
IF NOT Customer.GET(No) THEN BEGIN Customer.INIT; Customer.VALIDATE("No.",No); Customer.INSERT(TRUE); END;
Dies lässt sich auch um einen zusätzlichen Block wie folgt erweitern:
IF NOT Customer.GET(No) THEN BEGIN Customer.INIT; Customer.VALIDATE("No.",No); Customer.INSERT(TRUE); END ELSE BEGIN Customer.Name := 'Max Mustermann'; Customer.MODIFY(TRUE); END;