List of Best Practice Error and Warning Messages

When using the Microsoft Dynamics AX development environment, you should adhere to a set of best practices. The X++ compiler checks the code for best practice issues. These issues can result in best practice errors, warnings, or informational messages.

Error and warning messages require changes in the X++ code, but informational messages do not require any user action. Informational messages are rare and self-explanatory.

The following sections list error and warning messages. The usage of these messages can vary in Microsoft Dynamics AX. For example, if you cannot find a warning message in the warning message table, it might be in the error message table. Each table is sorted alphabetically by the message text. All error and warning messages are shown exactly as they appear in the code.

Error Messages

The following table lists the best practice error messages. Many error messages are also discussed in more detail in other Help topics. Where appropriate, the table contains links to specific locations in other Help topics where messages are discussed in further detail.

Error message text Error icon

Description

BPError code and label

%1 %2 not used

For more information, see the following topics:

Method Variable Not Used, @SYS60464

%1 is an unwanted object name.

For more information, see How to: Add Rules for Objects.

Unwanted Object, @SYS85681

%1 property of %2 is not valid.

Ensure that the menu item name assigned to the form Web control is valid.

Form Web Control Unknown Menu Item Name, @SYS93552

Action menu item not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowNoActionMenuItem, @SYS108556

Approve outcome must exist and be enabled

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowApprovalOutcomesInvalid, @SYS108546

Category not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowTemplateNoCategory, @SYS108536

Class name must by postfixed with %1

For more information, see Best Practices for Interfaces.

Class Name, @SYS87660

Code to handle the InventDimId field must be added to the Multisite Activation Wizard.

For more information, see Best Practices: Table Fields.

BPErrorTableFieldInventDimIdNotMultiSiteActivated, @SYS123160

Configuration key must be provided for a perspective.

For more information, see Best Practices for Perspectives.

Perspective Missing Configuration Key, @SYS94657

Configuration key not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowNoConfigKey, @SYS108553

Configuration Key with ID %1 is unknown.

Ensure that renamed configuration keys have not created a mismatch between the name referenced and the current IDs.

Configuration Key Unknown, @SYS73068

Control label is a copy of its display method label

For more information, see Best Practices for Forms.

Label Is Copy Of Display Method, @SYS60361

Control label is a copy of its field label

For more information, see Best Practices for Forms.

Report Label Is Copy Of Fields Label, @SYS57599

Control name %1 is not unique.

For more information, see the following topics:

Form Control Name Not Unique, @SYS87713

CurrencyCodeField does not use an extended data type derived from CurrencyCode.

For more information, see Best Practices for Currency Code Fields.

Field Currency Code Field Invalid, @SYS89379

CurrencyCodeField must not be blank when CurrencyCode is set to CurrencyCodeField.

For more information, see Best Practices for Currency Code Fields.

Field Currency Code Field Empty, @SYS89329

CurrencyCodeTable must not be blank when CurrencyCode is set to CurrencyCodeField.

For more information, see Best Practices for Currency Code Fields.

Field Currency Code Table Empty, @SYS89328

CurrencyDateField %1 does not use an extended data type derived from Date.

For more information, see Best Practices for Table Field Properties.

Field Currency Date Field Invalid, @SYS97998

CurrencyDateField must not be blank when CurrencyDate is set to CurrencyDateField.

For more information, see Best Practices for Table Field Properties.

Field Currency Date Field Empty, @SYS98000

CurrencyDateTable %1 does not have a relationship with this table, or no unique index exists on the target end of a relationship with that table

For more information, see Best Practices for Table Field Properties.

Field Currency Date Table Invalid, @SYS98002

CurrencyDateTable must not be blank when CurrencyDate is set to CurrencyDateField.

For more information, see Best Practices for Table Field Properties.

Field Currency Date Table Empty, @SYS97995

Current table and table %1 have Delete Actions in both directions.

For more information, see Best Practices for Delete Actions.

Table Delete Action Both Directions, @SYS74301

Data object class %1 is missing method %2.

For more information, see Best Practices: Application Integration Framework

BPErrorAIFDataObjectExtraMethod, @SYS124617

Data object class %1 has extra method %2.

For more information, see Best Practices: Application Integration Framework

BPErrorAIFDataObjectExtraMethod, @SYS124618

Delete Actions related to an unknown table with ID: %1

For more information, see the following topics:

Table Delete Action Unknown Table, @SYS74302

Display/Edit method must be defined using a type

For more information, see Using the display Method Modifier.

Display Edit No Extended Return Type, @SYS55403

Display menu item not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowNoDisplayMenuItem, @SYS108559

Due date provider does not reference a valid class implementing the WorkflowDueDateProvider interface

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementDueDateProviderInvalid, @SYS108545

Element outcome '%1' ActionMenuItem property does not reference a valid action menu item

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementOutcomeActionMIInvalid, @SYS108549

Element outcome '%1' ActionMenuItem property not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementOutcomeNoActionMI, @SYS108547

Element outcome '%1' ActionWebMenuItem property does not reference a valid web action menu item

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementOutcomeActionWMIInvalid, @SYS108548

Element outcome '%1' EventHandler property does not reference a valid class implementing the '%2' interface

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementOutcomeEHInvalid, @SYS108551

Enum with ID %1 does not exist.

Ensure that renamed objects have not created a mismatch between the name referenced and the current IDs.

Enum Not Exist, @SYS57821

Event handler does not reference a valid class implementing the '%1' interface

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowEventHandlerInvalid, @SYS108564

Event handler not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowNoEventHandlerError, @SYS108563 

Extended Data Type is set to be right justified, should be set to left justified

For more information, see Best Practices: Performance Optimizations

BPErrorEnumRightJustified, @SYS107157

Extended data types that refer to record IDs must use RefRecId or a derived extended data type.

For more information, see Best Practices for Table Fields.

Type Extends Rec Id, @SYS92962

Extended data types that refer to table IDs must use RefTableId or a derived extended data type.

For more information, see Best Practices for Table Fields.

Type Extends Table Id, @SYS92963

Field %1 with DEL_ prefix has configuration %2 instead of SysDeletedObjects.

For more information, see Tables Best Practice Checks.

BPErrorTableFieldDelConfigKeyConflict, @SYS107044

Field group autoreport contains too few fields (%1).

For more information, see Best Practices for Field Groups.

Table Field Group Missing Fields, @SYS55439

Field Help is a copy of the Enum Help

For more information, see Best Practices for Table Field Properties.

Field Help Is Copy Of Enum Help, @SYS55431

Field Help is a copy of the Extended Data Type Help of the field

For more information, see Best Practices for Table Field Properties.

Field Help Is Copy Of Extended Help, @SYS55429

Field is not a member of a field group

For more information, see the following topics:

Table Field Not In Field Group, @SYS55434

Field label is a copy of the Enum label

For more information, see Best Practices for Table Field Properties.

Field Label Is Copy Of Enum Help, @SYS55430

Field label is a copy of the Extended Data Type label of the field

For more information, see the following topics:

Field Label Is Copy Of Extended Help, @SYS55428

Field must be defined using a type

For more information, see Best Practices for Table Field Properties.

Table Field Not Defined Using Type, @SYS55426

Field with ID %1 does not exist in table %2

A field in a table can be referenced by the field ID in several ways. For example, the field ID can be referenced by a relation, or by a field group. This error can be resolved by determining where the field ID is being referenced.

Form Group Field Id Unknown In Table (Also: Table Relation Unknown Extern Field, Table Relation Unknown Field, Type Field Not Exist In Table), @SYS55418

Fields using RefRecId or a derived type must have a relation defined for that field.

For more information, see Best Practices for Table Relations.

Table Field Ref Rec Id Without Relation, @SYS92956

Form group (%1) and table group (%2) have different numbers of fields. Consequently, they cannot be AOS optimized.

For more information, see Best Practice Options: AOS Performance.

Form Group Control Dif Num Of Fields, @SYS68381

Form reference does not exist %1

For more information, see Best Practice Options: Reference.

Table Unknown Form Ref, @SYS55414

Help defined on a control that cannot display Help

Help Not Defined, @SYS85234

Hierarchy provider does not reference a valid class implementing the WorkflowHierarchyProvider interface

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementHierarchyProviderInvalid, @SYS108543

Index %1 has no fields

For more information, see Best Practices for Indexes.

Table Index Without Fields, @SYS87147

Index %1 is overlapped by index %2.

For more information, see Best Practices for Indexes.

Table Overlapping Index, @SYS87145

Invalid reference to workflow category

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowTemplateCategory, @SYS108537

Label %1 cannot end with a period ('.').

Label Wrong End Sign, @SYS55433

Label and Help are equal

For more information, see the following topics:

Label And Help Are Equal, @SYS55404

Method is not referenced in X++ code or indirectly

Add a call to the unused method, or remove the method.

Method Not Used, @SYS55408

Method run on %1 and has AOSRunMode set to %2

For more information, see Application Object RunOn Property Overview.

Method Bound Wrong, @SYS85345

Missing tag '%1' in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationParamTagMissing, @SYS107110

Missing tag 'returns' in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationReturnsTagMissing, @SYS107110

Missing tag 'summary' in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationSummaryTagMissing, @SYS107110

More than one tree node with this path: %1

For more information, see Best Practice Options: Unique Tree Node Names in the AOT.

AOT Path Not Unique, @SYS68375

No caching set up for the Table

For more information, see Best Practices for Table Properties.

Table No Caching, @SYS55412

No caption defined

For more information, see the following topics:

Caption Not Defined, @SYS60369

No Help defined

For more information, see Best Practices for Table Field Properties.

Help Not Defined, @SYS55407

No Label defined

Add a label using Tools and then Developer. For more information, see the following topics:

Label Not Defined, @SYS55406

No such data source %1

For more information, see Best Practices for Form Design Properties.

Form Group Control Unknown DS, @SYS68379

Not connected to a Security Key.

Ensure that the SecurityKey property has been set on objects that require it.

Security Key Not Connected, @SYS73076

Object has changed ID since previous release. Old ID was %1.

It is recommended that object IDs remain unchanged, especially for tables and fields. Changing an ID value can cause errors during upgrade.

For more information, see the following topics:

Object Id Conflict, @SYS93546

Object has changed name since previous release. Old name was %1.

For more information, see Best Practices for Table Field Properties.

Object Name Conflict, @SYS93547

One of the properties ParticipantProvider or HierarchyProvider must be defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementNoProvider, @SYS108542

Parent class contains abstract methods. Make class abstract or implement abstract methods %1.

For more information, see Best Practice Options: Abstract.

Class Not Marked Abstract, @SYS74077

Parent Configuration Key with ID %1 is unknown.

Ensure that the configuration key value assigned to the ParentKey property is valid.

Configuration Parent Key Unknown, @SYS73075

Parent Security Key with ID %1 is unknown.

Ensure that the security key value assigned to the ParentKey property is valid.

Security Key Unknown, @SYS74743

Participant provider does not reference a valid class implementing the WorkflowParticipantProvider interface

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementParticipantProviderInvalid, @SYS108541

Primary index %1 allows duplicates.

For more information, see Best Practices for Index Properties.

Table Primary Index Not Unique, @SYS90099

Property %1 must contain a label ID such as @SYS4711, not %2

For more information, see Best Practices for Extended Data Type Properties.

Help Is Text, @SYS60289

Property %1 must contain a label ID such as @SYS4711, not %2

For more information, see the following topics:

Label Is Text, @SYS60289

Reference to action menu item is invalid

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowActionMenuItemInvalid, @SYS108557

Reference to display menu item is invalid

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowDisplayMenuItemInvalid, @SYS108560

Reference to object not in version control (%1)

In the version control system, ensure that you have created all the new objects that the code depends on.

Method Refers Local Object, @SYS86883

Reference to web action menu item is invalid

For more information, see Workflow Best Practice Checks.

BPError WorkflowWebActionMenuItemInvalid, @SYS108558

Reference to web URL menu item is invalid

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowWebURLMenuItemInvalid, @SYS108561

Referenced menu does not exist

For more information, see Best Practice Options: Reference.

Menu Reference Unknown Ref Menu, @SYS55488

Relation %1 has no fields.

For more information, see Best Practices for Table Relations.

Table Relation No Fields, @SYS92955

Required access level is No access and Security Key has been set to %1.

For more information, see Best Practices for Menu Items.

Menu Function Access Level No Access, @SYS74738

Required element '%1' does not reference a valid workflow element

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowTemplateRequiredElementInvalid, @SYS108538

Required element '%1' does not reference same document as the workflow template

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowTemplateRequiredDocumentInvalid, @SYS108539

RunBase classes should be able to run on 'Called From' (Ensure pack and unpack are implemented correctly to allow PromptProm to marshal the class across tiers)

For more information, see Best Practices: Performance Optimizations

BPErrorClassRunBaseMarkedOnServer, @SYS107159

RunBase implementations must have a static description method.

For more information, see Best Practice Options: RunBase Implementation.

Class No Static Description, @SYS72474

Security Key with ID %1 is unknown

Ensure that renamed security keys refer to the correct ID, or ensure that the security key has been created.

Security Key Unknown, @SYS73073

Table %1 does not exist.

For more information, see Best Practices for Form Design Properties.

Form Property Non Standard Value, @SYS75683

Table %1 with DEL_prefix has configuration %2 instead of SysDeletedObjects.

For more information, see Tables Best Practice Checks.

BPErrorTableDelConfigKeyConflict, @SYS107042

Table %1 with SysDeletedObjects configuration key (%2) has no DEL_ prefix.

For more information, see Tables Best Practice Checks.

BPErrorTableDelPrefixConflict, BPErrorTableDelPrefixConflict, BPErrorTableIndexDelConfigKeyConflict, @SYS107043

Table fields that refer to record IDs must use RefRecId or a derived extended data type.

For more information, see Best Practices for Extended Data Types.

Table Field Uses Rec Id, @SYS92960

Table fields that refer to table IDs must use RefTableId or a derived extended data type.

For more information, see Best Practices for Extended Data Types.

Table Field Uses Table Id, @SYS92961

Table group %1 is unknown (%2)

Check whether the reference by the form group to the table group is still valid.

You might need to delete the form group control, create a new field group, and then add a new form group control.

Form Group Control No Rel Table Group, @SYS73328

Table is missing Clustered Index

For more information, see Best Practices: Performance Optimizations

BPErrorTableNoClusteredIndex, @SYS107155

Table is missing Primary Index

For more information, see Best Practices: Performance Optimizations

BPErrorTableNoPrimaryIndex, @SYS107156

Table with ID %1 does not exist

Ensure that renamed tables have not created a mismatch between the name referenced and the current IDs.

Table Relation Unknown Extern Table (Also: Table Relation Unknown Table, Type Extern Table Unknown), @SYS55416

Tag '%1' exists more than once in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationDuplicated, @SYS107215

Tag '%1' has no content in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationParamMissing, @SYS107150

Tag '%1' in XML documentation doesn't match actual implementation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationParamWrongName, @SYS107113

Tag '%1' in XML documentation is not supported.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationUnsupported, @SYS107111

Tag 'exception' has no content in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationExceptionMissing, @SYS107150

Tag 'permission' has no content in XML documentation.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationPermissionMissing, @SYS107150

Task outcomes must contain one enabled outcome of type Complete

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowTaskNoCompleteOutcome, @SYS108552

The caption of the group control is a copy of its table data group label

For more information, see Best Practices for Forms.

Caption Is Copy Of Data Group Label, @SYS68389

The class will be discontinued in a later version %1. Use: %2.

For more information, see Best Practices for Use of Discontinued Functionality.

Method Discontinued In Later Vers, @SYS69514

The Client/Server setup is different from the parent class.

For more information, see Best Practices for Method Modifiers.

Class Run On, @SYS74731

The configuration key for the Table Field is a copy of the configuration key for the Base Enum.

For more information, see Best Practices for Table Field Properties.

Table Field Configuration Key Is Copy, @SYS91245

The configuration key for the Table Field is a copy of the configuration key for the Extended Data Type.

For more information, see Best Practices for Table Field Properties.

Table Field Configuration Key Is Copy, @SYS91243

The control Help text is a bad copy, and it should not be defined here.

For more information, see Best Practices for Table Field Properties.

Field Help Is Copy Of Enum Help (Also: Field Help Is Copy Of Extended Help), @SYS72533

The CurrencyCodeTable %1 does not have a relationship with this table, or no unique index exists on the target end of a relationship with that table.

For more information, see Best Practices for Table Field Properties.

Field Currency Code Table Invalid, @SYS89330

The Dimension field must always be the only field in the Dimension group.

For more information, see Best Practices for Field Groups.

Table Field Group Missing Fields, @SYS74735

The fields in the relation are incompatible. '%1.%2' is %3 characters too short.

Ensure that the data types of the fields are identical, or at least compatible between the two sides of the relation. Ensure that the strings in the foreign key are at least as long as the strings in the corresponding primary key.

Table Relation Fields Incompatible (Also: Type Fields Incompatible), @SYS55422

The form size exceeds the maximum of %1 * %2 pixels. Current size %3 * %4 (%5\% * %6\%).

For more information, see Best Practices for Forms.

Form To High, @SYS75346

The keyword forceliterals must not be used in the query expression

For more information, see X++ Standards: select Statements.

TwC Dangerous API, @SYS81941

The method will be discontinued in a later version %1%2%3. Use %4

For more information, see Best Practices for Use of Discontinued Functionality.

Method Discontinued In Later Vers (Also: Method Dict Method Display Id Not Used), @SYS68910

The primary key field cannot be edited on update (AllowEdit must be set to No)

For more information, see Best Practices for Table Field Properties.

Table Primary Key Editable, @SYS60598

The primary key field must be mandatory.

For more information, see Best Practices for Table Field Properties.

Table Primary Key Not Mandatory, @SYS56378

The referenced application object does not exist (%1 %2).

For more information, see Best Practices for Existence of Referenced Application Objects.

Menu Function Unknown Ref Object, @SYS72553

Title field %1 must be declared.

For more information, see Best Practices for Declared Title Fields.

Table Title Field1 Not Declared, @SYS56377

Title field 2 must be different from title field 1

For more information, see the following topics:

Table Title Field2 Not Declared, @SYS83885

TwC: Assert usage of API %1 because it is protected by Code Access Security.

For more information, see the following topics:

TwC Dangerous API, @SYS98156

TwC: Parameters to API %1 must be validated.

When code contains calls to system or kernel methods that may harm Microsoft Dynamics AX, the parameter data passed into those calls must be reviewed to ensure that the calls are harmless. After review, you may need to suppress the best practice error. For more information, see the following topics:

TwC Dangerous API, @SYS90609

TwC: Validate data displayed in form is fetched using record level security. Dangerous API %1 used.

For more information, see Best Practices: Avoiding Potential Security Issues.

BPErrorTwCEnsureRecordLevelSecurity, @SYS98155

Type Help is a copy of the Enum Help

For more information, see Best Practices for Extended Data Type Properties.

Type Help Is Copy Of Enum Help, @SYS55451

Type label is a copy of the Enum label

For more information, see Best Practices for Extended Data Type Properties.

Type Help Is Copy Of Enum Help, @SYS55450

Type label is a copy of the Extended (..) Data Type label of the type

For more information, see Best Practices for Extended Data Type Properties.

Type Label Is Copy Of Extended Help, @SYS55448

Unique index %1 contains field %2 with SysDelete configuration config key assigned to it.

A field in an index has been made obsolete by an upgrade to Microsoft Dynamics AX because it was marked with SysDelete. This field was part of a unique index. Redesign the unique index. For more information, see Unique Indexes.

Table Sys Delete Field Index, @SYS99948

Unique index error: Fields removed from unique index: %1. Upgrade script required.

For more information, see Unique Indexes.

Table Unique Index Error, @SYS93535

Unique index error: Previous nonunique index is now unique. Upgrade script required.

For more information, see Unique Indexes.

Table Unique Index Error, @SYS93534

Unique index error: Unique index introduced. Upgrade script required.

For more information, see Unique Indexes.

Table Unique Index Error, @SYS93533

Use Client/Server neutral functionality. Do not use: %1%2%3. Use: %4.

For more information, see Best Practices for Method Modifiers.

Method Neutral Funct Not Used, @SYS54379

Version mismatch of packed container. Check implementation of SysPackable interface.

For more information, see Best Practices for Interfaces.

Class Sys Packable, @SYS93536

Workflow document does not reference a valid class deriving from WorkflowDocument

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowDocumentInvalid, @SYS108555

Workflow document not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowNoDocument, @SYS108554

XML documentation is not well-formed.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationNotWellFormed, @SYS107112

Warning Messages

Warning message text Warning icon

Description

BPError code and label

%1 on control is set to nonauto (Date format)

For more information, see X++ Standards: Dates.

Report Date Format Set Non Auto, @SYS60296 + @SYS23272

%1 on control is set to nonauto (Decimal separator)

For more information, see Best Practices for Extended Data Type Properties.

Report Date Format Set Non Auto, @SYS60296 + @SYS24260

%1 on control is set to nonauto (%2)

For more information, see Best Practices for Extended Data Type Properties.

Report Thousand Sep Set Non Auto, @SYS60296

A data entry form should have at least two tab pages.

For more information, see Forms Best Practice Checks.

Form Property Non Standard Value, @SYS84385

A display or edit method has the same name as this field. Rename the method or the field, and check whether field groups that contain this field should contain the method instead.

For more information, see Best Practices for Table Field Properties.

Table Field Has Same Name As Method, @SYS97063

Adjustment property for field %1 of table %2 does not match its related field %3 of table %4

For more information, see Best Practices for Table Field Properties.

Table Relationship Field Adjustment, @SYS91673

A document handling button on an Action Pane should have its Name property set to "Attachments".

For more information, see Best Practices: List Pages.

BPErrorListPageDocHandlingCmdButtonNameNotAttachments, @SYS116209

A document handling button on an Action Pane should use the label @SYS114630 for its Text property.

For more information, see Best Practices: List Pages.

BPErrorListPageDocHandlingCmdButtonTextNotAttachments, @SYS116210

A List Page must have a grid.

For more information, see Best Practices: List Pages.

BPErrorListPageFormHasNoGrid, @SYS116225

A List Page must have a single Action Pane.

For more information, see Best Practices: List Pages.

BPErrorListPageFormHasNoActionPane , BPErrorListPageFormHasTooManyActionPanes, @SYS116224

All buttons on an Action Pane should have their ShowShortcut properties set to "No" to suppress the addition of extra characters for pneumonic usage.

For more information, see Best Practices: List Pages.

BPErrorListPageActionPaneButtonShowShortcutNotNo, @SYS116207

An Action Pane should not be present on a form that isn't a List Page or other Content Page.

For more information, see Best Practices: List Pages.

BPErrorFormHasActionPane, @SYS116229

AnalysisSelection should not be Auto for a table that is visible for analysis.

For more information, see Best Practices for Table Properties.

Table Analysis Selection Auto, @SYS89276

AnalysisVisibility should not be Auto for a field in a table that is visible for analysis.

For more information, see Best Practices for Table Field Properties.

Field Analysis Visibility Auto, @SYS89279

AnalysisVisibility should not be Auto for a nonsystem table.

For more information, see Best Practices for Table Properties.

Table Analysis Visibility Auto, @SYS89275

AnalysisVisibility should not be Auto for security keys that have no parent security key

For more information, see Best Practices for Analysis Visibility.

Security Key Analysis Visibility Auto, @SYS89711

Class should have at least one member

For more information, see Best Practice Options: Missing Member Function.

Class Missing Member, @SYS55390

Configuration Key is %1

Ensure a valid configuration key name is being used, rather than a placeholder value like "Not decided."

Configuration Key Specific (Also: Configuration Parent Key Specific, Security Key Specific), @SYS72461

Consider %1 method to run on %2 because it uses: %3

For more information, see the following topics:

Method Consider Run On, @SYS54211

Consider alternative to single quoted text %1 appearing in %2

For more information, see Best Practice Options: Single Quoted Text.

Method Single Quoted Text, @SYS68040

Consider autodeclaring the form control %1

For more information, see Best Practices for Form Control Properties.

Method Not Auto Declared, @SYS68393

Consider restructuring the %1 method because it has calls to the %2 server methods: %3, and the %4 client methods: %5.

For more information, see Best Practices for Method Modifiers.

Method Consider Restructuring, @SYS54324

Consider use of delete_from because method contains 'while select ... ..delete()'

For more information, see Best Practices for Table Methods.

Method Delete From Not Used, @SYS55398

Consider use of more specialized intrinsic functionality because method contains %1

For more information, see Intrinsic Functions.

Method Identifier Str Used, @SYS55399

Consider using a field list for select of %1. Only %2% of record size is used.

For more information, see X++ Standards: select Statements.

Select Using Field List, @SYS91289

Consider using keyword 'firstonly' for select of %1.

For more information, see X++ Standards: select Statements.

Select Using First Only, @SYS91288

Control is not defined using anything (type, field or method)

Assign a source of information to the report control. Bind the control to a type, field, or method, or remove the control.

Report Control Use Not Defined, @SYS60363

Control is set to fixed width

For more information, see Best Practices for Form Control Properties.

Report Control Set Fixed Width, @SYS60297

CurrencyCode should be SecondaryCurrency when the field uses an extended data type derived from AmountMSTSecondary and the field is visible for analysis.

For more information, see Best Practices for Currency Code Fields.

Field Currency Code Secondary Currency, @SYS89712

CurrencyDate should not be Auto when a field is using an extended data type derived from money or moneyMST and the field is visible for analysis

For more information, see Best Practices for Table Field Properties.

Field Currency Date Auto, @SYS98001

Display methods must be typed ('%1 %2')

For more information, see Best Practices for Unique Labels.

Table No Extended Return Type, @SYS60362

Display/edit method does not use an Enum or Extended Data Type as return type: %1

For more information, see Best Practices for Use of Labels.

Table No Extended Return Type, @SYS72489

Do not disable the control by setting Enabled to No. Set AllowEdit to No and Skip to Yes.

For more information, see Best Practices for Disabling Technique.

Form Disabling Technique, @SYS72538

Do not write to parameters (such as %1 in line %2, column %3)

For more information, see Best Practices for Parameters.

Method Variable Dont Write To Parms, @SYS60115

Duplicated user interface texts. Fields: %1.

For more information, see Best Practices for Labels.

Table Duplicate UI Text Field, @SYS75650

Duplicated user interface texts. Method %1.

For more information, see Best Practices for Labels.

Table Duplicate UI Text Method, @SYS72498

Element outcome '%1' EventHandler property should be defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowElementOutcomeNoEH, @SYS108550

Enum field is Mandatory

For more information, see Best Practices for Table Field Properties.

Table Field Enum Is Mandatory, @SYS55432

Enum is not referenced in X++ code, in the table field or in an Extended Type

For more information, see Best Practices for Extended Data Type Properties.

Enum Not Used, @SYS55470

Event handler should be defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowNoEventHandlerWarning, @SYS108562

Field is not referenced in X++ code

Add a reference to the field, or remove the unreferenced field.

Table Field Not Used, @SYS55427

FieldGroup AutoReport does not exist.

For more information, see Best Practices for Field Groups.

Table Missing Group Auto Report, @SYS55415

Help must end with a period or a question mark.

For more information, see Best Practices for Table Field Properties.

Help End Wrong Sign, @SYS72462

If Adjustment is set to Left, the StringSize for field %1 of table %2 must be greater than or equal to its related field %3 of table %4.

Increase the StringSize of the foreign key field.

Table Relationship Foreign Key To Short, @SYS91675

If Adjustment is set to Right', the StringSize for field %1 of table %2 must match that of its related field %3 of table %4.

For more information, see the following topics:

Table Relationship Field String Length, @SYS91674

Illegal name %1 %2: %3. Use parent, child, or sibling.

Terms like father, mother, sister, and brother should not be part of a member name. Replace the improper term with parent, child, or sibling.

Method Illegal Name, @SYS57827

Implement static construct to allow for modifications.

For more information, see Best Practices for Static Construct Methods.

Class No Static Construct, @SYS82256

Label is changed on the control from %1 to %2

For more information, see Best Practices for Form Control Properties.

Label Changed At Control, @SYS60298

Label on control is set to fixed width

For more information, see Form Control Properties.

Report Controls Label Set Fixed, @SYS60295

List Page Action Panes must have their VerticalSpacing property set to zero.

For more information, see Best Practices: List Pages.

BPErrorListPageControlVerticalSpacingNotZero, @SYS116212

List Page Action Panes must have their Width property set to "Column width".

For more information, see Best Practices: List Pages.

BPErrorListPageActionPaneWidthNotColumnWidth, @SYS116211

List Page controls must not have any vertical spacing between them.

For more information, see Best Practices: List Pages.

BPErrorListPageControlVerticalSpacingNotZero, @SYS116208

List Page datasources must have their AllowCreate set to "No".

For more information, see Best Practices: List Pages.

BPErrorListPageFormDataSourceAllowsCreate, @SYS116227

List Page datasources must have their AllowEdit set to "No".

For more information, see Best Practices: List Pages.

BPErrorListPageFormDataSourceAllowsEdit, @SYS116226

List Page datasources must have their StartPosition set to "First".

For more information, see Best Practices: List Pages.

BPErrorListPageFormDataSourceStartPositionNotFirst, @SYS116228

List Page grids must have their AllowEdit property set to "No".

For more information, see Best Practices: List Pages.

BPErrorListPageGridAllowsEdit, @SYS116213

List Page grids must have their Datasource property set to a valid datasource.

For more information, see Best Practices: List Pages.

BPErrorListPageGridDataSourceEmpty, @SYS116217

List Page grids must have their DefaultAction property set to a button on the form. The DefaultAction property should normally point to a button that performs the "Open" action.

For more information, see Best Practices: List Pages.

BPErrorListPageGridDefaultActionEmpty, @SYS116214

List Page grids must have their Height property set to "Column height".

For more information, see Best Practices: List Pages.

BPErrorListPageGridHeightNotColumnHeight, @SYS116215

List Page grids must have their ShowRowLabels property set to "Yes".

For more information, see Best Practices: List Pages.

BPErrorListPageGridShowRowLabelIsNotYes, @SYS116216

List Page grids must have their Width property set to "Column width".

For more information, see Best Practices: List Pages.

BPErrorListPageGridWidthNotColumnWidth, @SYS117724

List Pages  must have a name that ends with "ListPage".

For more information, see Best Practices: List Pages.

BPErrorListPageFormNameDoesNotEndInListPage, @SYS116218

List Pages must have their BottomMargin property set to "Auto".

For more information, see Best Practices: List Pages.

BPErrorListPageFormBottomMarginNotAuto, @SYS116222

List Pages must have their LeftMargin property set to "Auto".

For more information, see Best Practices: List Pages.

BPErrorListPageFormLeftMarginNotAuto, @SYS116220

List Pages must have their RightMargin property set to "Auto".

For more information, see Best Practices: List Pages.

BPErrorListPageFormRightMarginNotAuto, @SYS116221

List Pages must have their TitleDatasource property set.

For more information, see Best Practices: List Pages.

List Pages must have their TopMargin property set to "Auto".

For more information, see Best Practices: List Pages.

BPErrorListPageFormTopMarginNotAuto, @SYS116219

List Page Action Panes must have their VerticalSpacing property set to zero.

For more information, see Best Practices: List Pages.

BPErrorListPageControlVerticalSpacingNotZero, @SYS116212

List Page Action Panes must have their Width property set to "Column width".

For more information, see Best Practices: List Pages.

BPErrorListPageActionPaneWidthNotColumnWidth, @SYS116211

Method availability can be set explicitly to %1 via the Standard Public setting.

For more information, see Best Practices for Method Modifiers.

Method Access Can Be Set Explicitely, @SYS68392

Method contains code in unrequired braces %1 .... }

For more information, see X++ Layout.

Method Non Needed Block Style Used, @SYS59225

Method contains constant numeric value: %1

For more information, see X++ Standards: Constants.

Method Constant Numeric Arg Used, @SYS55396

Method contains labels in single quotes: >%1<

For more information, see X++ Standards: Constants.

Method Label In Single Quotes, @SYS55395

Method contains parenthesis round case constant: %1

For more information, see the following topics:

Method Parenthesis Round Case Const, @SYS55397

Method is empty

For more information, see Best Practices for Empty Methods.

Method Is Empty, @SYS68904

MinNoOfDecimals is greater than NoOfDecimals

For more information, see Form Control Properties.

Form Control Min No Of Decimals (Also: Report Control Min No Of Decimals), @SYS96235

Missing super call in new method of sub class.

For more information, see Best Practices for new and static new... Methods.

Method Missing Super Call, @SYS62822

Module not defined

For more information, see Workflow Best Practice Checks.

BPErrorWorkflowCategoryNoModuleDefined, @SYS108540

New should be protected.

For more information, see Best Practices for new and static new... Methods.

Class New Not Protected, @SYS82255

No self relation set up for the Table. Rename function will not be available.

For more information, see Best Practices for Table Relations.

Table No Self Relation, @SYS56050

No unique index set up for the table

For more information, see Unique Indexes.

Table No Unique Index, @SYS60691

Only parameters must start with an underscore, not variables such as %1

For more information, see the following topics:

Method Variable With Underscore, @SYS60113

Relation line %1 has possible errors in setup of the Configuration Keys. Field %2 has Configuration Key set %3 and field %4 has Configuration Key set %5.

For more information, see Best Practices for Table Relations.

Configuration Key Sets Not Ok, @SYS74477

Relation line %1 has possible errors in setup of the Configuration Keys. Type %2 has Configuration Key set %3 and field %4 has Configuration Key set %5.

For more information, see Best Practices for Table Relations.

Configuration Key Sets Not Ok, @SYS74534

Relation to table %1 (using %2) which is not in this table collection

For more information, see Best Practices for Relations.

Table Collection Relation, @SYS68398

Relations defined for a single record ID field should be defined on the extended data type for that field.

For more information, see Best Practices for Table Fields.

Table Field Ref Rec Id Relation On Table, @SYS92957

Report design orientation is not set to Auto

For more information, see Best Practices for Report Properties.

Report Des Orientation Not Set Auto, @SYS60368

Report has generated design %1

For more information, see Best Practices for Report Design.

Report Has Generated Design, @SYS60365

Report template %1 does not exist

For more information, see Best Practices for Report Properties.

Report Unknown Template, @SYS60367

Security Key is %1

Ensure a valid security key name is being used, rather than a placeholder value like "Not decided."

Security Key Specific, @SYS73072

Security key should not be specified on container controls because it prevents personalization.

For information about the personalization choices that are possible for container controls, see Form Control Properties.

Security Key Not Allowed, @SYS91028

SingularLabel should be provided for a table that is visible for analysis.

For more information, see Best Practices for Table Properties.

Table Singular Label Empty, @SYS89278

Table fields with AnalysisVisibility set to DefaultField or High should be in included in at least one perspective

For more information, see Best Practices for Table Field Properties.

Field Visible But Not In Perspective, @SYS94645

Table group is %1.

For more information, see Best Practices for Table Properties.

Table No Table Group, @SYS55413

Table has a record ID index but does not seem to use the record ID field explicitly for lookup

For more information, see the following topics:

Table Rec Id Field Used Useless, @SYS60597

Table has no record ID index but does use the record ID field explicitly in relation in %1

For more information, see the following topics:

Table No Record Id Index, @SYS60524

Table has no record ID index but does use the record ID field explicitly in select ... where in %1

For more information, see Best Practices for Table Properties.

Table No Record Id Index Select, @SYS60523

Table has no record ID index but uses it %1 times

For more information, see Best Practices for Table Properties.

Table No Record Id Index But Used, @SYS60522

Table has record ID index but does not use record ID field explicitly

For more information, see Best Practices for Table Properties.

Table Record Id Index Not Use Field, @SYS60520

Table is using CreatedDateTime +or ModifiedDateTime, RecId index needs to be created.

For more information, see Tables Best Practice Checks.

BPErrorRecIDNeededCreatedModifiedDateTime, @SYS127410

Tables with AnalysisVisibility set to High, Medium, or Low should be included in at least one perspective

For more information, see Best Practices for Analysis Visibility.

Table Visible But Not In Perspective, @SYS94641

Tables with only one index should have it defined as a cluster index

For more information, see Clustered Indexes.

Table One Index Not Cluster, @SYS68395

Tag '%1' in XML documentation is not supported.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationUnsupported, @SYS107111

The Construct method must only instantiate the class. Consider using a static new pattern instead.

For more information, see Best Practices for Static Construct Methods.

Class Construct Pattern, @SYS82257

The CurrencyCode property should not be Auto if the field is derived from the money Extended Data Type and the AnalysisVisibility property is set to High or Low.

For more information, see Best Practices for Table Field Properties.

Field Currency Code Auto, @SYS89378

The designs property %1 is disabled and data source %2 has property %3 on table %4 set to true. Set the designs property %1 to Yes to ensure that the form restarts in the previous company.

Set the design property to Yes.

Form Property Non Standard Value, @SYS77537

The design property %1 is enabled, but the property %3 on table %4 for data source %2 has not been set correctly. Set the design property %1 to No to prevent the form from restarting in the previous company.

Set the design property to No.

Form Property Non Standard Value, @SYS77486

The group could be based on a (new) table field group

For more information about groups on forms, see Best Practices for Forms.

Form Group Could Be Based On New Group, @SYS68387

The group is empty

For more information about groups on forms, see Best Practices for Forms.

Form Group Is Empty, @SYS68388

The group should be given a logical name

For more information about groups on forms, see Forms Best Practice Checks.

Form Group No Logical Name, @SYS68385 = @SYS68384

The primary index should be defined because a unique index exists

For more information, see the following topics:

Table Unique Index No Primary, @SYS68396

The property %1 has a nondefault value %2. Expected %3.

All form properties that have an Auto or Default setting should be kept at that setting. For more information, see Best Practices for Form Design Properties.

Form Property Non Standard Value, @SYS72374

The property %1 should be set to %2.

For more information, see Best Practices for Form Design Properties.

Form Property Non Standard Value, @SYS84109

The word %1 is not spelled correctly.

For more information, see Best Practices for Spelling.

Doc Node Spelling Mistake, @SYS84009

This class without members does not extend any other class

For more information, see Best Practice Options: Missing Member Function.

Class No Member Not Extend, @SYS55391

This date construction can be illegal: %1

For more information, see Best Practice Options: Date Features.

Method Illegal Date Construction, @SYS68391

ttsbegin/ttscommit are unbalanced with %1

For more information, see X++ Standards: ttsBegin and ttsCommit.

Method Unbalanced Ttsbegin Commit, @SYS57826

TypicalRowCount should not be Auto for a table that is visible for analysis.

For more information, see Best Practices for Table Properties.

Table Typical Row Count Auto, @SYS89277

Unextended class without members is not extended by any other class

Add a member to the class, or remove the class.

Class Unextended Not Extend, @SYS55392

Use other construction than this illegal one: %1%2%3

For more information, see Best Practices for Static Construct Methods.

Method Illegal Construction Used, @SYS55400

Variable %1 is not written, but read.

For more information, see Best Practices for Use of Variables.

Method Variable Read But Not Written, @SYS60114

Wrong security key. Security key must match position in Main Menu.

For more information, see Best Practices for Menu Items.

BPCheck, @SYS76678

XML documentation not written for this method.

For more information, see Best Practices: XML Documentation.

BPErrorXmlDocumentationMissing, @SYS107198

See Also

Setting Up Best Practices Checks

Best Practices: Avoiding Potential Security Issues