A C/AL statement is a code instruction that when it is executed, causes operations to occur, which can change one or more variables or initiate read and write transactions to the database.
A C/AL statement is built from expressions.
A C/AL expression is a group of characters (data values, variables, arrays, operators, and functions) that can be evaluated, with the result having an associated data type. An expression is a fundamental C/AL concept. All expressions in C/AL are built from the following:
- 
          Constants
- 
          Variables
- 
          Operators
- 
          Functions
- 
          Keywords
For more information about constants, variables, operators, functions, and keywords, see Elements of C/AL Expressions.
Example 1
For this example, consider the following C/AL code.
|  Copy Code | |
|---|---|
| Amount := 34 + Total; | |
This line of code is also called a statement. The following table illustrates how the statement can be broken into smaller elements.
| Element | Description | 
|---|---|
| 34 + Total | An expression. This expression consists of an arithmetic operator (+) and two arguments (34 and Total), which could also be called sub-expressions. Every valid C/AL expression can be evaluated to a specific value. | 
| := | The assignment operator. When the expression on the right side has been evaluated, this operator is used to assign or store the value in the variable on the left side. | 
| Amount | A variable. Used to reference a memory location where data is stored. | 
Example 2
An expression can be used as an argument for a C/AL function. Consider the following C/AL statement.
|  Copy Code | |
|---|---|
| Date := DMY2DATE(31, 12, 2001); | |
This function takes three simple expressions as arguments: 31, 12, and 2001.
Typical Expressions
Depending on the elements in the expression, the evaluation gives you a value with a C/AL data type. The following table shows some typical expressions.
| Expression | Evaluates to | Description | 
|---|---|---|
| 'Welcome to Hawaii' | The string 'Welcome to Hawaii' | Evaluates to itself. | 
| 'Welcome ' + 'to Hawaii' | The string 'Welcome to Hawaii' | Evaluates to a concatenation of the two strings. | 
| 43.234 | The number 43.234 | Evaluates to itself, a decimal number. | 
| ABS(-7234) | The number 7234 | A function that evaluates to a number. | 
| len1 < 618 | TRUE or FALSE, depending on the value of len1 | A comparison between a variable and a numeric constant, which evaluates to a Boolean value. | 
These examples show that when C/AL expressions are evaluated, the results have a specific data type. For more information about data types, see C/AL Data Types.




