AppSourceCop Error AS0005
Fields must not change name
Fields must not change name; their names are case-sensitive. This might break the upgrade of existing installations and dependent extensions.
Version 1.0 of the app:
table 50 MyTable
{
fields
{
field(1; Identifier; Integer) { }
}
}
Version 2.0 of the app:
table 50 MyTable
{
fields
{
field(1; Id; Integer) { }
}
}
The field Identifier
was renamed to Id
, this is not allowed and will trigger this rule.
Version 1.0 of the app:
table 50 MyTable
{
fields
{
field(1; Id; Integer) { }
}
}
Version 2.0 of the app:
table 50 MyTable
{
fields
{
field(1; ID; Integer) { }
}
}
The field Id
had its casing changed to ID
, this is not allowed and will trigger this rule.
Version 1.0 of the app:
table 50 MyTable
{
fields
{
field(10; "Cust. Rep."; Text[40])
{
ObsoleteState = Pending;
}
}
}
Version 2.0 of the app:
table 50 MyTable
{
fields
{
field(10; "Alt. Name"; Text[40])
{
ObsoleteState = Pending;
}
}
}
The field Cust. Rep.
was renamed to Alt. Name
. It is not allowed to change the name of a field if it is obsolete in both the previous and the new version, because the field is still part of the extension's API.
Note
This rule validates all fields independently of their Accessibility or ObsoleteState, because they are used when synchronizing the schema defined in the extension to the database.
AppSourceCop Analyzer
Get Started with AL
Developing Extensions