A C/AL statement is a code instruction that when executed, causes operations to occur, which can alter 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:

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.

  CopyCode imageCopy 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 also could 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.

  CopyCode imageCopy 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 results in 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 numerical 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.