Displays a text string in a message window.

MESSAGE(String [, Value1, …])



Type: Code or text constantThis string contains the text you want the system to display in the message window. Use a backslash (\) to start a new line. Use percent signs (%) to insert variable values into the string. Place the percent where you want the system to substitute the variable value. The string can be a text constant that is enabled for multilanguage functionality. For more information, see Multilanguage Development.
Value1, …

Type: AnyAny type of C/AL variable you want to insert into String. You can insert up to 10 values.


When a message statement in the C/AL code is executed, the message is not immediately displayed. Instead, it is displayed after the C/AL code is finished executing or after the C/AL code pauses to wait for user interaction.

The window is automatically sized to hold the longest line of text and the total number of lines.

Programming Guidelines

We recommend the following guidelines for messages:

  • Always end a message with a period.
  • Supply the user with a message when the system has finished performing a task.
  • Write the message in past tense.

For more information, see Progress Windows, MESSAGE, ERROR, and CONFIRM Functions.


This example shows how to use the MESSAGE function.

This code requires you to create the following variables.

Variable DataType





This code requires you to create the following text constants.

Text constant ENU value


You can use message windows to display text and numbers: \


The number:


The text:

  Copy Code
Text := 'ABCDE';
Number := 12345.678;
// The backslash indicates a new line.
// You can concatenate strings using the + operator.
// You can insert variable values using the % symbol.
MESSAGE(Text000 + Text001 + '%1\' +Text002 + '%2', Number, Text);

The message window reads:

You can use message windows to display text and numbers:

The number: 12,345.678

The text: ABCDE

See Also


Dialog Data Type