- Harold Abelson and Julie Sussman
- Charles Eames
So far, we have reviewed the basic objects of NAV 2017 such as tables, data fields, pages, queries, and reports. For each of these, we reviewed triggers in various areas, triggers whose purpose is to be containers for C/AL code. When triggers are fired (invoked), the C/AL code within is executed.
In this chapter, you'll start learning the C/AL programming language. Many things you already know from your experience programming in other languages. Some of the basic C/AL syntax and function definitions can be found in the NAV 2017 Help, as well as in the MSDN Library sections for Microsoft Dynamics NAV.
As with most of the programming languages, we have considerable flexibility to define our own model for our code structure. However, when we are inserting new code within existing code, it's always a good idea to utilize the model and follow the structure that exists in the original code. When we feel compelled to improve on the model of the existing code, we should do so in small increments, and we must take into account the effect of our changes on upgradability.
The goal of this chapter is to help us to productively use the C/SIDE development environment and be comfortable in C/AL. We'll focus on the tools and processes that we will use most often. We will also review concepts that we can apply in more complex tasks down the road. In this chapter, we will cover the following topics:
- C/SIDE Object Designers and their navigation
- C/AL Syntax, Operators, and Built-in Functions
- C/AL Naming conventions
- Input/Output functions
- Creating custom functions
- Basic Process Flow structures