C/AL


C/AL was the programming language used within C/SIDE the Client/Server Integrated Development Environment in Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central up until version 14. It has been replaced by AL. C/AL is a Database specific programming language, and is primarily used for retrieving, inserting and modifying records in a Navision database. C/AL resembles the Pascal language on which it is based. The original C/AL compiler was written by Michael Nielsen.

Examples

Hello World

This is the classic Hello World example. Since the C/SIDE does not have a console to output text, this example is made using a dialog box as the visual interface.

MESSAGE;

Filtering and retrieving record

Variables in C/AL are not defined through code, but are defined via the variable declaration menu in the C/AL editor. In this example Item is assumed to be a variable of type Record.

IF Item.GET THEN
MESSAGE;
Item.RESET;
Item.SETRANGE;
Item.FINDLAST;

Looping and data manipulation

Looping over a recordset and modifying the individual records is achieved with only a few lines of code.

Item.RESET;
Item.SETRANGE;
IF Item.FINDSET THEN
REPEAT
IF Item."Profit %" < 20 THEN BEGIN
Item."Profit %" := 20;
Item.MODIFY;
END;
UNTIL Item.NEXT = 0;
Item.MODIFYALL;