C/AL

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 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.[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 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);
gollark: ↑
gollark: I don't think we have enough voice channels.
gollark: https://images.squarespace-cdn.com/content/v1/58bcaa0f46c3c4c07ac4a3a8/1605461043050-G47U5JJN13POET6G3V1E/ke17ZwdGBToddI8pDm48kPTrHXgsMrSIMwe6YW3w1AZ7gQa3H78H3Y0txjaiv_0fDoOvxcdMmMKkDsyUqMSsMWxHk725yiiHCCLfrh8O1z4YTzHvnKhyp6Da-NYroOW3ZGjoBKy3azqku80C789l0p52bY8kZn6Mpkp9xtPUVLhvLurswpbKwwoDWqBh58NLxQZMhB36LmtxTXHHtLwR3w/Screenshot+2020-11-15+at+17.06.02.png
gollark: I see.
gollark: How are you measuring their power output?

See also

References

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


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.