C/AL

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 80.131.39.63 (talk) at 19:20, 8 October 2014 (→‎Looping and data manipulation). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

C/AL (Client/server Application Language) is the programming language used within C/SIDE the Client/Server Integrated Development Environment in Microsoft Dynamics NAV (Formerly known as Navision Attain). 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 it is based on. The original C/AL compiler was written by Michael Nielsen[1]

Examples

Hello World

This is the classic Hello World example. Since the C/SIDE (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 records

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('Item name is: %1',Item."Description");

  Item.RESET;
  item.SETFILTER(...);

.

Looping and data manipulation

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

  Item.SETRANGE("Blocked",TRUE);
  IF Item.FINDSET THEN
    REPEAT
      IF Item."Profit" < 10 THEN BEGIN
        Item."Profit %" := 10;
        Item.MODIFY(TRUE);
      END;
    UNTIL Item.NEXT == 0;
  Item.MODIFYALL("Blocked",FALSE);

See also

References

  1. ^ Studebaker, David, "Programming Microsoft Dynamics NAV 2009," p. 8 (2009)

External links