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;