C/AL
This article includes a list of general references, but it remains largely unverified because it lacks sufficient corresponding inline citations. (December 2009) |
Paradigm | Imperative |
---|---|
Designed by | Michael Nielsen |
Developer | Microsoft |
Influenced by | |
Pascal |
C/AL (Client/server Application Language) was the programming language used within C/SIDE the Client/Server Integrated Development Environment in Microsoft Dynamics NAV (Formerly known as Navision Attain) and Microsoft Dynamics 365 Business Central up until (and including) version 14. It has been replaced by . 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.[1]
Examples[]
Hello World[]
This is the classic Hello World example. Since the (Client/Server Integrated Development Environment) does not have a console to output text, this example is made using a dialog box as the visual interface.
MESSAGE('Hello, world!');
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('31260210') THEN
MESSAGE(STRSUBSTNO('Item name is: %1',Item.Description));
Item.RESET;
Item.SETRANGE("No.",FromItem,ToItem);
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("Blocked",TRUE);
IF Item.FINDSET THEN
REPEAT
IF Item."Profit %" < 20 THEN BEGIN
Item."Profit %" := 20;
Item.MODIFY(TRUE);
END;
UNTIL Item.NEXT = 0;
Item.MODIFYALL("Blocked",FALSE);
See also[]
References[]
- ^ Studebaker, David, "Programming Microsoft Dynamics NAV 2009," p. 8 (2009)
External links[]
- Pascal programming language family
- Query languages
- Microsoft Dynamics
- Microsoft programming languages
- Computer programming stubs