Table object

Tables are the core objects used to store data in Business Central. No matter how data is registered in the product - from a web service to a finger swipe on the phone app, the results of that transaction will be recorded in a table.

The structure of a table has four sections:

  • The first block contains metadata for the overall table, such as the table type.
  • The fields section describes the data elements that make up the table, such as their name and the type of data they can store.
  • The keys section contains the definitions of the keys that the table needs to support.
  • The final section details the triggers and code that can run on the table.

Table extensibility limitations

Important

Only tables with the Extensible property set to true can be extended.

Note

Extension objects can have a name with a maximum length of 30 characters.

Important

System and virtual tables can't be extended. System tables are created in the ID range of 2.000.000.000 and above. For more information about object ranges, see Object ranges.

Table object limits

The table object has limitations that are mostly dictated by SQL Server, such as the maximum record size, number of fields, and the number of keys.

For more information about current limitations on the table object, see Object specifications and limitations.

Snippet support

Typing the shortcut ttable will create the basic layout for a table object when using the AL Language extension for Microsoft Dynamics 365 Business Central in Visual Studio Code.

Tip

Use Ctrl+Space to trigger IntelliSense and get assistance on code completion, parameter info, quick info, and member lists. For more information about snippets, see Syntax and snippets.

Add tooltips on table fields

Starting in Business Central 2024 release wave 1, you can define tooltips on table fields. When a tooltip is defined on a table field, any page that uses the field automatically inherits the tooltip.

For more information, see Add tooltips to table and page fields.

Table example

This table stores address information and it has four fields; Address, Locality, Town/City, and County.

table 50104 Address
{
    Caption = 'Sample table';
    DataPerCompany = true;

    fields
    {
        field(1; Address; Text[50])
        {
            Description = 'Address retrieved by Service';

            // in 2024 release wave 1, you can define tooltips on the table field level
            // uncomment the Tooltip line below to try it out
            // ToolTip = 'Address retrieved by Service';
        }
        field(2; Locality; Text[30])
        {
            Description = 'Locality retrieved by Service';
        }
        field(3; "Town/City"; Text[30])
        {
            Description = 'Town/City retrieved by Service';
        }
        field(4; County; Text[30])
        {
            Description = 'County retrieved by Service';

            trigger OnValidate();
            begin
                ValidateCounty(County);
            end;

        }
    }
    keys
    {
        key(PrimaryKey; Address)
        {
            Clustered = TRUE;
        }
    }

    var
        Msg: Label 'Hello from my method';

    trigger OnInsert();
    begin

    end;

    procedure MyMethod()
    begin
        Message(Msg);
    end;
}

System fields

The Dynamics 365 Business Central platform will automatically add several system fields to tables. For more information, see System Fields.

See also

AL development environment
Table overview
Table extension object
Adding tooltips to table and page fields
SqlTimestamp property
Table keys
Table, table fields, and table extension properties
Object specifications and limitations