Edit

Share via


AppSourceCop Hidden AS0131

Tables with schema should not be added.

Description

Tables with schema should not be added.

Remarks

This rule is not enabled by default since additive changes are generally allowed.

How to fix this diagnostic?

Revert the changes done by removing the tables and table extensions that have been added.

Examples triggering this rule

Example 1 - Adding a table with schema

Version 1 of the extension

// No table named MyTable

Version 2 of the extension

table 50100 MyTable
{
    // By default, the table is of type Normal

    fields
    {
        field(1; MyField; Integer) { }
    }
}

Example 2 - Adding a table extension contributing to the table schema

Version 1 of the extension

// No table extension for the table SomeTable

Version 2 of the extension

tableextension 50100 MyExtension extends SomeTable
{
    fields
    {
        field(50100; MyExtField; Integer) { } // Adding a new table extension field
    }
}

Examples not triggering this rule

Example 1 - Adding a table without schema

Version 1 of the extension

// No table named MyTable

Version 2 of the extension

table 50100 MyTable
{
    TableType = Temporary; // Temporary tables don't contribute to the schema.

    fields
    {
        field(1; MyField; Integer) { }
    }
}

Example 2 - Adding a table extension not contributing to the table schema

Version 1 of the extension

// No table extension for the table SomeTable

Version 2 of the extension

tableextension 50100 MyExtension extends SomeTable
{
    fields
    {
        field(50100; MyFlowField; Integer)
        {
            FieldClass = FlowField; // FlowFields don't contribute to the schema.
        }
    }

    procedure MyProcedure() // Procedures don't contribute to the schema.
    begin
    end;
}

AppSourceCop Analyzer
Getting Started with AL
Developing Extensions