List of Error and Warning Messages
Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012
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. This topic also includes information about compilation errors.
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 |
Description |
BPError code and label |
---|---|---|
%1 %2 not used |
For more information, see the following topics: |
Method Variable Not Used, @SYS60464 |
The class %1 is obsolete. Instead, use the class %2. |
Use the class indicated by the error message. |
BPErrorClassDiscontinuedInLaterVers, @SYS69514 |
%1 is an unwanted object name. |
For more information, see How to: Add Rules for Elements. |
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 Practices. |
BPErrorWorkflowNoActionMenuItem, @SYS108556 |
Approve outcome must exist and be enabled |
For more information, see Workflow Best Practices. |
BPErrorWorkflowApprovalOutcomesInvalid, @SYS108546 |
Category not defined |
For more information, see Workflow Best Practices. |
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 Practices. |
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 Forms Best Practices. |
Label Is Copy Of Display Method, @SYS60361 |
Control label is a copy of its field label |
For more information, see Forms Best Practices. |
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 |
CodeField does not use an extended data type derived from CurrencyCode. |
For more information, see Best practice parameters. |
Field Currency Code Field Invalid, @SYS89379 |
CurrencyCodeField must not be blank when CurrencyCode is set to CurrencyCodeField. |
For more information, see Best practice parameters. |
Field Currency Code Field Empty, @SYS89329 |
CurrencyCodeTable must not be blank when CurrencyCode is set to CurrencyCodeField. |
For more information, see Best practice parameters. |
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 practice parameters. |
Table Delete Action Both Directions, @SYS74301 |
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 Practices. |
BPErrorWorkflowNoDisplayMenuItem, @SYS108559 |
Due date provider does not reference a valid class implementing the WorkflowDueDateProvider interface |
For more information, see Workflow Best Practices. |
BPErrorWorkflowElementDueDateProviderInvalid, @SYS108545 |
Element outcome '%1' ActionMenuItem property does not reference a valid action menu item |
For more information, see Workflow Best Practices. |
BPErrorWorkflowElementOutcomeActionMIInvalid, @SYS108549 |
Element outcome '%1' ActionMenuItem property not defined |
For more information, see Workflow Best Practices. |
BPErrorWorkflowElementOutcomeNoActionMI, @SYS108547 |
Element outcome '%1' ActionWebMenuItem property does not reference a valid web action menu item |
For more information, see Workflow Best Practices. |
BPErrorWorkflowElementOutcomeActionWMIInvalid, @SYS108548 |
Element outcome '%1' EventHandler property does not reference a valid class implementing the '%2' interface |
For more information, see Workflow Best Practices. |
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 Practices. |
BPErrorWorkflowEventHandlerInvalid, @SYS108564 |
Event handler not defined |
For more information, see Workflow Best Practices. |
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 Ref table or a derived extended data type. |
For more information, see Best Practices: 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: Table Fields. |
Type Extends Table Id, @SYS92963 |
Field %1 with DEL_ prefix has configuration %2 instead of SysDeletedObjects. |
For more information, see Best Practices: Tables. |
BPErrorTableFieldDelConfigKeyConflict, @SYS107044 |
Table is using CreatedDateTime or ModifiedDateTime, RecId index needs to be created. |
For more information, see Best Practices: Tables. |
BPErrorRecIDNeededCreatedModifiedDateTime, @SYS127410 |
RecID field cannot be part of the NaturalKey index. |
For more information, see Best Practices: Tables. |
BPErrorTableNaturalKeyWithRecID, @SYS129768 |
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 parameters. |
Form Group Control Dif Num Of Fields, @SYS68381 |
Form reference does not exist %1 |
For more information, see Best practice parameters. |
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 Practices. |
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 Practices. |
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 parameters. |
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 > Labels > Label Editor. 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 |
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 Practices. |
BPErrorWorkflowElementNoProvider, @SYS108542 |
Parent class contains abstract methods. Make class abstract or implement abstract methods %1. |
For more information, see Best practice parameters. |
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 |
Participant provider does not reference a valid class implementing the WorkflowParticipantProvider interface |
For more information, see Workflow Best Practices. |
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 Practices. |
BPErrorWorkflowActionMenuItemInvalid, @SYS108557 |
Reference to display menu item is invalid |
For more information, see Workflow Best Practices. |
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 Practices. |
BPError WorkflowWebActionMenuItemInvalid, @SYS108558 |
Reference to web URL menu item is invalid |
For more information, see Workflow Best Practices. |
BPErrorWorkflowWebURLMenuItemInvalid, @SYS108561 |
Referenced menu does not exist |
For more information, see Best practice parameters. |
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 element '%1' does not reference a valid workflow element |
For more information, see Workflow Best Practices. |
BPErrorWorkflowTemplateRequiredElementInvalid, @SYS108538 |
Required element '%1' does not reference same document as the workflow template |
For more information, see Workflow Best Practices. |
BPErrorWorkflowTemplateRequiredDocumentInvalid, @SYS108539 |
RunBase classes should be able to run on 'Called From' (Ensure pac 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 parameters. |
Class No Static Description, @SYS72474 |
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 Best Practices: Tables. |
BPErrorTableDelConfigKeyConflict, @SYS107042 |
Table %1 with SysDeletedObjects configuration key (%2) has no DEL_ prefix. |
For more information, see Best Practices: Tables. |
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 Practices. |
BPErrorWorkflowTaskNoCompleteOutcome, @SYS108552 |
The caption of the group control is a copy of its table data group label |
For more information, see Forms Best Practices. |
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 practice parameters. |
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 Forms Best Practices. |
Form To High, @SYS75346 |
The form must include a grid that contains ValidFrom and ValidTo fields when that form has a data source with ValidTimeStateAutoQuery set to DateRange. |
Checks that a grid exists that contains the ValidFrom and ValidTo fields when a form has a data source with ValidTimeStateAutoQuery property set to DateRange. For more information, see Valid Time State Tables and Date Effective Data. |
BPErrorFormValidTimeStateMissingValidToOrFromDate, @SYS133561 |
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 practice parameters. |
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 practice parameters. |
Menu Function Unknown Ref Object, @SYS72553 |
Title field %1 must be declared. |
For more information, see Best practice parameters. |
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 |
Class is packing element IDs instead of element names. |
For more information, see Best Practices for Interfaces. |
BPErrorClassSysPackableElementIds, @SYS130592 |
Workflow document does not reference a valid class deriving from WorkflowDocument |
For more information, see Workflow Best Practices. |
BPErrorWorkflowDocumentInvalid, @SYS108555 |
Workflow document not defined |
For more information, see Workflow Best Practices. |
BPErrorWorkflowNoDocument, @SYS108554 |
XML documentation is not well-formed. |
For more information, see Best Practices: XML Documentation. |
BPErrorXmlDocumentationNotWellFormed, @SYS107112 |
Do not use braces around the case blocks in a switch statement. |
You have braces around a case block in a switch statement that must be removed. For more information, see Switch Statements. |
BPErrorMethodNoBracketsInCaseBlocks, @SYS152524 |
Do not use the <syntax> tag in XML documentation. The syntax is automatically derived from the method declaration, and must not be explicitly provided. |
You have a <syntax> tag in XML documentation that must be removed. XML documentation is denoted by triple slash (///) comments at the start of a method. |
BPErrorXmlDocumentationSyntaxForbidden, @SYS152515 |
Line item workflow '%1' event handler does not reference a valid class implementing the '%2' interface |
Best practice rule for event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowEHInvalid , @SYS152823 |
Line item workflow relation '%1' not found on workflow document query '%2’ |
Best practice rule for event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowRelationNotFound, @SYS152835 |
Line item workflow relation '%1' is invalid. Relation must be configured with a fetch mode of 1:n on workflow document query '%2' |
Best practice rule to support event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowRelationInvalid, @SYS152836 |
Line item workflow relation not defined |
Best practice rule to support event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowRelationEmpty, @SYS152837 |
Line item workflow type '%1' not found |
Best practice rule to support event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowTypeNotFound, @SYS152839 |
Workflow document query not found on line item workflow type '%1' |
Best practice rule to support event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowTypeQueryNotFound, @SYS152840 |
Line-item workflow relation '%1' does not match root datasource on line item workflow type document query '%2' |
Best practice rule to support event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowTypeQueryNoMatch, @SYS152841 |
Line item workflow must have at least one line item workflow type |
Best practice rule to support event handling that is now supported for approvals and tasks. For more information, see How to: Create a Workflow Event Handler. |
BPErrorWorkflowLineItemWorkflowNoTypes, @SYS152842 |
The Company association type cannot be used for this workflow type because the table for the primary data source used by the workflow type is not configured to 'Save Data Per Company'. |
Choose an alternative association type. This best practice rule was added to support organizational model types in workflow. For more information, see Associate a workflow with an organization. |
BPErrorWorkflowInvalidAssociationTypeCompany, @SYS190334 |
The Global and Other association types cannot be used for this workflow type because the table for the primary data source used by the workflow type is configured to 'Save Data Per Company'. |
Best practice rule to support organizational model types in workflow. For more information, see Associate a workflow with an organization. |
BPErrorWorkflowInvalidAssociationTypeGlobalOther, @SYS190335 |
An association type relation must be selected when the association type is Other |
Best practice rule to support organizational model types in workflow. For more information, see Associate a workflow with an organization. |
BPErrorWorkflowMissingAssociationTypeRelation, @SYS190336 |
A class extending the SysTableExtension class should not have any member variables. |
Best practice rule to enforce that the SysTableExtension class does not have any member variables. It is used to support the extension of the base class SysTableExtension. Use the SysTableExtension class to override the table data defaults. |
BPErrorSysTableExtensionHasStates, @SYS190373 |
The node's path exceeds the maximum length of 400 characters. Reduce number of nesting levels or rename nodes. |
Reports tree node paths that exceed a string size of 400. |
BPErrorTreenodePathExceedsMaxLength, @SYS300071 |
Table is using CreatedDateTime or ModifiedDateTime, RecId index needs to be created. |
BPErrorRecIDNeededCreatedModifiedDateTime, @SYS127410 |
|
The upgrade script is missing required attribute %1. |
Checks that the upgrade script has the required Description attribute. |
BPErrorMissingReqDesc @SYS309412 |
The upgrade script is missing required attribute %1. |
Checks that the upgrade script has the required Type attribute. |
BPErrorMissingReqType, @SYS309412 |
The upgrade script is missing required attribute %1. |
Checks that the upgrade script has the required Stage attribute. |
BPErrorMissingReqStage, @SYS309412 |
The upgrade script is missing required attribute %1. |
Checks that the upgrade script has the required Table attribute. |
BPErrorMissingReqTable, @SYS309412 |
The upgrade script method cannot be static. |
Checks that the upgrade script is a non-static method. |
BPErrorMethodIsStatic, @SYS309410 |
The upgrade script method cannot accept parameters. |
Checks that the upgrade script method has no parameters. |
BPErrorMethodHasParams, @SYS309411 |
Table %1 specified in the UpgradeScriptTableAttribute is not valid. |
Checks that the table stated in the attribute of an upgrade script exists in the AOT. |
BPErrorTableNotFound, @SYS309400 |
Configuration Key %1 specified in the UpgradeScriptConfigKeyAttribute is not valid. |
Checks that the configuration key stated in the attribute of an upgrade script exists in the AOT. |
BPErrorConfigurationKeyNotFound, @SYS309401 |
Class %1 specified in the UpgradeDependsOnModuleAttribute is not valid. |
Checks that the class name stated in the attribute of an upgrade script exists in the AOT. |
BPErrorClassNameNotFound, @SYS309404 |
Method %1 in class %2 specified in the UpgradeDependsOnModuleAttribute is not valid. |
Checks that the method name stated in the attribute of an upgrade script exists in the AOT. |
BPErrorMethodNameNotFound, @SYS309403 |
The upgrade script does not have a valid version defined [#define.version(sysReleasedVersion)] in the class declaration. |
Checks that the script version stated in the attribute of an upgrade script exists in the AOT. |
BPErrorInvalidScriptVersion, @SYS309415 |
Return type covariance: Return values must both be either tables or maps (%1.%2). |
Checks that the inherited return values must both be tables or both be maps. |
BPErrorInheritedReturnTypeMustBeTableOrMap, @SYS309721 |
Return type covariance: Methods must return the same map (%1.%2). |
Checks that the inherited methods must return the same map. |
BPErrorInheritedReturnTypeMustBeSameMap, @SYS309722 |
The %1 relation to the %2 table does not have an upgrade script assigned. You must assign an upgrade script or exclude it from upgrade validation. |
The unit of measure table is now global. At upgrade, company-specific units will be merged using user-defined mapping. This requires that existing tables that have relations to the unit of measure also apply the mapping. This best practice checks for relations to unit of measure and confirms that the relation to unit of measure is registered with an upgrade script or that the table is marked to be excluded from the upgrade. The following code illustrates how to register a unit of measure upgrade job: UnitOfMeasureUpgradeExecutor::registerUpgradeJobs() The following code illustrates how to exclude a unit of measure table: UnitOfMeasureUpgradeValidator::registerExcludedRelations() For information on pre-upgrade tasks regarding units of measure see the following topics, Units, Unit conversions, Fixed units, and Unit texts. |
BPErrorTableRelationNoUnitUpgrade, @SYS310791 |
A non-surrogate key primary index is not valid for a company-specific table |
Checks that the primary key for a company-specific table is a surrogate key. |
BPErrorNonSurrogateKeyForPerCompanyTable, @SYS315491 |
Use of labels for developer documentation |
Checks that all the tables have a description of the table specified in the DeveloperDocumentation property. |
BPErrorDeveloperDocumentationNotDefined, @SYS118413 |
Framework classes must have a disclaimer in the ClassDeclaration to discourage customizations. |
Checks that the framework classes providing platform functionality have a message on them to discourage developers from customizing them. Customizing and extending classes that provide platform functionality may cause problems with future upgrades. |
BPErrorClassFrameworkDisclaimer, @SYS316340 |
The framework class disclaimer must be placed after the XML documentation. |
Framework classes have a disclaimer to discourage developers from customizing them. Customizing and extending classes providing platform functionality may cause problems with future upgrades. Checks that the disclaimer is placed after the XML documentation, meaning after the /// comments. |
BPErrorClassFrameworkDisclaimerPosition, @SYS316341 |
Each perspective entity (table or view) must have at most 1 parent. |
Checks that the perspective entity (table or view) has at most one parent. |
BPErrorPerspectiveEntityMultipleParents, @SYS316698 |
Each perspective entity (table or view) must have at most 1 child. |
Checks that the perspective entity (table or view) has at most one child. |
BPErrorPerspectiveEntityMultipleChildren, @SYS316701 |
Each perspective entity (table or view) must have a corresponding child for each parent. |
Checks that the perspective entity (table or view) has a corresponding child for each parent. |
BPErrorPerspectiveEntityMissingChild, @SYS316700 |
Each perspective entity (table or view) must have a corresponding parent for each child. |
Checks that the perspective entity (table or view) has a corresponding parent for each child. |
BPErrorPerspectiveEntityMissingParent, @SYS316699 |
In each perspective entity the parent type should be the same as the child type if present. |
Checks that in a perspective entity, the parent type is the same as the child type if one exists. |
BPErrorPerspectiveEntityParentChildTypesNotEqual, @SYS316702 |
Perspectives where SharedDimensionContainer=Yes cannot have fields where AnalysisUsage is Measure or Both. Perspective %1, table or view %2, field %3. |
When a perspective has the SharedDimensionContainer property set to True, the AnalysisUsage property for fields should not be marked as Measure or Both. Setting the SharedDimensionContainer property to True indicates that the perspective will be used to create dimensions only. The perspective will not be used to create a cube, measure group, or measure. For more information, see Best Practices for Perspectives. |
BPErrorPerspectiveMeasureInSharedDimensionContainer, @SYS322558 |
%1 or %2 must not be used in the sys layer. |
Checks that the UpgradeModuleDependsOnMeAttribute attribute and UpgradeTaskDependsOnMeAttribute attribute are not used in the SYS layer. |
BPErrorExternalUseOnlyAttribute, @SYS327183 |
Inconsistent usage of AOSAuthorization property for a table in chain of inheritance. Ensure that both tables %1 and %2 have authorization either enabled or disabled. |
Checks that all the tables in the inheritance hierarchy have the same value for authorization: either Enabled or Disabled. |
BPErrorTableTPFIntegrity, @SYS327320 |
Allowed CacheLookUp values for this TableGroup is %1 |
Checks that the cache lookup is valid for the table group. |
BPErrorInvalidCacheLookUpAndTableGroup, @SYS327950 |
Service group must have a valid description |
Checks that the Description property for a service group is provided. The description value must be a valid label. |
BPErrorServiceGroupMustHaveDescription, @SYS328359 |
Service must have a valid Namespace property |
Checks that the Namespace property for a service is set to a valid namespace. You may not use the default URI, for example https://tempuri.org. |
BPErrorServiceMustHaveNamespace, @SYS328364 |
Entry point is not in any privilege |
Checks that the entry point is in a privilege. A menu item (display, output, action), service operation, Web URL, Web action, and Web content managed nodes must be added as an entry point in a privilege. |
BPErrorSecEntryPointNotCoveredByPrivilege, @SYS329300 |
Menu item points to a class that is not a RunBase class; it should probably have a linked permission object |
Checks that the menu item has a linked permission. If the class that executes from the menu item launches a form, then the linked permission should point to the form. If the class is executing X++ code that requires access to tables that enable AOS authorization, then the linked permission should point to a code permission that grants the appropriate access. |
BPErrorSecClassMenuDoesNotHaveLinkedPermission, @SYS329302 |
All duties should be part of a role |
Checks that a duty is assigned to a process cycle that is assigned to a role. |
BPErrorSecDutyNotCoveredByRole, @SYS329307 |
All duties should be part of a process cycle |
Checks that a duty is assigned to a process cycle that is assigned to a role. |
BPErrorSecDutyNotCoveredByProcessCycle, @SYS329308 |
A form that is not associated with other forms should be linked to at least one menu item |
Checks that a form is linked to a menu item. If a form is not associated with another form or linked to a menu item, it will not be accessible. Forms are launched from a menu item or from another form. |
BPErrorSecFormNotLinkedToMenuItem, @SYS329310 |
Non-system-managed %1 resource with incorrect managed by value %2 |
Best practice security check that a non-system-managed resource has Managed By value set to Manual. |
BPErrorSecNonSystemResourceDoesNotHaveManagedBy, @SYS329375 |
Privilege is not in any duty. |
Best practice security rule that checks that the privilege is set to a valid duty. |
BPErrorSecPrivilegeNotPartofDuty, @SYS329303 |
Missing SysEntryPointAttribute on service operation |
Checks that the SysEntryPointAttribute attribute on the service operation because it is exposed externally. |
BPErrorSecServiceOperationDoesNotHaveSEP, @SYS329376 |
Missing processReport method |
Checks that the report has a processReport method. |
BPErrorSecSSRSRDPPR, @SYS329374 |
Missing SysEntryPointAttribute on SSRS RDP class |
Checks that the SQL Server Reporting Services report data provider class has a processReport method defined with a SysEntryPointAttributeSysEntryPointAttribute attribute specified. |
BPErrorSecSSRSRDPSysEP, @SYS329373 |
Info part not linked to menu items |
Best practice security rule that checks that an Info Part is linked to a menu item. An Info Part is a collection of related data fields you can associate with a record in a form. You use Info Parts to create a FactBox for a form or the preview pane for a list page. To add an Info Part to a form, you use a menu item that links to the Info Part. |
BPErrorSecInfoPartNotInMenuItem, @SYS329309 |
DeveloperDocumentation label should not be marked to be translated. |
Checks that the DeveloperDocumentation property will not be translated. The label used in the DeveloperDocumentation property should have the {Locked} keyword in the comment for the label. |
BPErrorDeveloperDocumentationNotLocked, @SYS330248 |
The help provider class isn't specified for this online documentation set |
The HelpProviderClass property must be set if the ContentLocation property is set to Online for a Help Document Set. |
BPErrorHelpProviderClassEmpty, @SYS331955 |
Query %1 can not be made searchable because it has zero or more that one data sources. |
Checks that a searchable query has exactly one data source. You will get a best practice violation if no data source is specified or if more than one data source is specified. |
BPErrorSearchableQueryNoDataSource, @SYS333623 |
Query %1 cannot be made searchable because it does not have the SearchLinkRefName property or the FormRef property set on the root table %2. |
Checks that the searchable query has the SearchLinkRefName property or the FormRef property set on the root table. If not, the search results will not appear. |
BPErrorSearchableQueryNoSearchLinkOnTable, @SYS334877 |
Query %1 is searchable but it does not have the SearchLinkRefName property set to a URL menu item on the root table %2. The search results in will not appear in Enterprise Portal. |
Checks that the searchable query has the SearchLinkRefName property set to a URL menu item on the root table. If not, the search results will not appear in Enterprise Portal. |
BPErrorSearchableQueryNoSearchLinkRefUrl, @SYS334878 |
Query %1 is searchable but it does not have the FormRef property set to a form on the root table %2. The search results in will not appear in the Microsoft Dynamics AX client. |
Checks that the searchable query has the FormRef property set to a form on the root table or the search results will not appear in the Microsoft Dynamics AX client. |
BPErrorSearchableQueryNoFormRef, @SYS334879 |
Query %1 cannot be made searchable because it does not have the TitleField1 or TitleField2 set on the root table %2. |
Checks that the valid searchable query has the TitleField1 or the TitleField2 fields set on the root table. |
BPErrorSearchableQueryNoTitleFields, @SYS334876 |
Update permissions for the search crawler role |
Checks that the search crawler role has permissions for the table that was used in the query. |
BPErrorSearchableQueryNoTablePermissions, @SYS334872 |
Query %1 cannot be made searchable because it has a root table that is a transaction table with no index on the ModifiedDateTime field. |
Checks that the searchable query has a root table that is a transaction table with an index on the ModifiedDateTime field. |
BPErrorSearchableQueryNoIndexOnTransactionTable, @SYS333624 |
Element has changed name since previous release. If the rename is intentional then suppress this violation; otherwise, update the LegacyID. Old name was: %1 |
Checks that the element has the same name as for the previous release of Microsoft Dynamics AX. If the change was intentional, suppress the violation. This best practice check is not new, the message has been updated. This check has been modified due to the changes regarding installation specific IDs. |
BPErrorObjectNameConflict, @SYS335103 |
The element has an origin value that is different from the origin value in a previous version of Microsoft Dynamics AX. |
Checks that the element had the same origin value in earlier versions of Microsoft Dynamics AX. The origin value is the beginning value of the element. This check was added due to the changes regarding installation specific IDs. |
BPErrorObjectOriginMismatch, @SYS335100 |
Element has no LegacyID assigned and was shipped in a previous version. All ID-based elements already shipped must have a LegacyID. Set Legacy ID to %1. |
Checks that the element has a LegacyID property assigned because the element was shipped in an earlier version of Microsoft Dynamics AX. This check was added due to the changes regarding installation specific IDs. |
BPErrorLegacyIdMissing, @SYS335102 |
Element has a different LegacyID than previous shipped version. Please update LegacyID, old LegacyId was %1. |
Checks that the value specified in the LegacyID property occurs in the earlier version of Microsoft Dynamics AX. A LegacyID specifies an identifier element from a previous version of Microsoft Dynamics AX. This check was added due to the changes regarding installation specific IDs. |
BPErrorLegacyIDConflict, @SYS335101 |
The element does not have an origin value. This element must have a non-null origin value. |
Checks that the element has an origin value. This element must have an origin value that is not NULL. This check was added due to the changes regarding installation specific IDs. |
BPErrorOriginNull, @SYS335099 |
Do not use a deprecated field as title field. Please select another title field. |
Checks that deprecated fields are not used as title fields. |
BPErrorTableTitleFieldDeprecated, @SYS338823 |
Do not use deprecated field %1 in non-deprecated index %2. Please remove the field or deprecate the index. |
Checks that deprecated fields are not used as indexes. Replace the deprecated field or remove the index. |
BPErrorTableIndexFieldDeprecated, @SYS338822 |
Do not use deprecated field %1 in field group %2. Please remove the field from the field group. |
Checks that the deprecated field is not used in a field group. Remove the deprecated field from the field group. |
BPErrorTableTableFieldGroupDeprecated, @SYS338821 |
Control %1 bound to table field group has name that does not match default name of %2, consequently the control requires storage and cannot be optimized |
For more information, see Best Practices for Form Control Properties. |
BPErrorFormGroupCannotBeOptimized, @SYS68376 |
The form group and table group have different fields at position %1: '%2' != '%3', consequently the control requires storage and cannot be optimized |
For more information, see Best Practices for Form Control Properties. |
BPErrorFormGroupControlDifFieldsAtPos, @SYS68382 |
Warning Messages
Warning message text |
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 Practices. |
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 |
Class should have at least one member |
For more information, see Best practice parameters. |
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), @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 parameters. |
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 practice parameters. |
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 practice parameters. |
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 practice parameters. |
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 practice parameters. |
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 Practices. |
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 Practices. |
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 practice parameters. |
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 Practices. |
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 practice parameters. |
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: 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 |
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 Best Practices: Tables. |
BPErrorRecIDNeededCreatedModifiedDateTime, @SYS127410 |
Tables with AnalysisVisibility set to High, Medium, or Low should be included in at least one perspective |
For more information, see Best practice parameters. |
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 Forms Best Practices. |
Form Group Could Be Based On New Group, @SYS68387 |
The group is empty |
For more information about groups on forms, see Forms Best Practices. |
Form Group Is Empty, @SYS68388 |
The group should be given a logical name |
For more information about groups on forms, see Forms Best Practices. |
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 practice parameters. |
Doc Node Spelling Mistake, @SYS84009 |
This class without members does not extend any other class |
For more information, see Best practice parameters. |
Class No Member Not Extend, @SYS55391 |
This date construction can be illegal: %1 |
For more information, see Best practice parameters. |
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 |
The class %1 cannot be constructed with the X++ keyword New. You can use %2. |
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 practice parameters. |
Method Variable Read But Not Written, @SYS60114 |
XML documentation not written for this method. |
For more information, see Best Practices: XML Documentation. |
BPErrorXmlDocumentationMissing, @SYS107198 |
Compilation Errors
The following table lists the compiler error messages. Many error messages are also discussed in more detail in other Help topics.
Error Message Text |
Description |
---|---|
Illegal second format. |
|
Minute is not between 00-59. |
|
Illegal Time. |
|
Second is not between 00-59. |
|
Minute is not between 00-59. |
|
Hour is not between 00-23. |
|
Unicode escape requires exactly 4 or 8 hexadecimal digits after \u or \U. |
|
Number is too big. |
|
Illegal date . |
|
Month is not between 1-12. |
|
Year is not between 1900-2154. |
|
The macro has already been defined with a different value. |
|
An } (end brace) is missing in the macro. |
|
An ) (end parenthesis) is missing in the macro. |
|
The macro was terminated prematurely. |
|
The macro is too complex. |
|
Too many arguments have been specified for the macro. |
|
The %1 macro does not exist. |
|
This symbol cannot be used in scripts. |
|
Lexical error. |
|
The script was terminated prematurely. |
|
An overflow occurred in the internal parser stack. |
|
Syntax error. |
|
Operand types are not compatible with the operator. |
|
Table %1 does not exist. |
|
The table does not contain this index. |
|
Assignment or comparison loses precision. |
|
Empty compound statement. |
|
The table is out of range or does not exist. |
|
The table %1 does not contain the field %2. |
|
System fields may not be inserted or updated. |
|
Variable %1 has not been declared. |
|
The wrong number of arguments has been specified for the method . |
|
Argument '%1' is incompatible with the required type. |
|
%1 |
|
The enumeration does not exist . |
|
The name %1 has already been assigned to another variable. |
|
The internal object code must not exceed 64K. |
|
Overflow in an internal compiler stack. |
|
Insufficient memory to run job. |
|
Best Practice: Class names should start with an uppercase letter. |
|
Unreachable code. |
|
Method %1 never returns a value. |
|
Not all paths in %1 return a value. |
|
A SWITCH statement may not contain more than one default part. |
|
A BREAK statement was found in an illegal context. BREAK statements occur in the context of a SWITCH, WHILE, DO, or FOR statement. |
|
This modifier is not allowed on interfaces. |
|
The new method of a derived class does not call super(). |
|
The new method of a derived class is not guaranteed to call super() on the inherited class. Provide an unconditional call to super(). |
|
Array index %1 is out of bounds. Maximum value is %2. |
|
Best Practice: Member name %1 should start with a lowercase letter. |
|
The field must be a data element that allows assignment. |
|
Abstract and interface methods can not be static or final. |
|
Declarations are illegal in interfaces. |
|
%1 is not a class. Only classes (not interfaces) can extend classes. |
|
This data element cannot be used here. |
|
Interfaces must extend interfaces, not classes. |
|
%1 is not a class. Only classes can implement interfaces. |
|
%1 is not an interface. |
|
EDIT and DISPLAY methods must be public. |
|
Object could not be created because class %1 is abstract. |
|
Object could not be created because abstract method %1 has not been implemented. |
|
Column %1 has been specified more than once in the ORDER BY list. Columns in the ORDER BY list must be unique. |
|
An error occurred while running the job . |
|
Abstract methods may only be declared in abstract classes. |
|
Edit and Display modifiers are illegal here. |
|
The Client and Server modifiers may only be used on static methods. |
|
This access modifier has already been supplied. |
|
Conflicting access modifier given. |
|
AND and OR are used at the same level in an expression. |
|
The variable is not an array. |
|
The variable is an array. |
|
Final class %1 may not be extended. |
|
Numbered field references in keys cannot be used. |
|
Derived method %1 may not restrict access level defined for superclass. |
|
Method %1 is declared final and may not be overridden. |
|
Index type must be numeric. |
|
Method %1 is declared private and may not be overridden. |
|
The method is declared protected and may only be called from methods in classes derived from %1. |
|
The method is declared private and may only be called from methods in class %1. |
|
An aggregate function is not allowed for a read-only field. |
|
A field has not been selected in the SEARCH command. |
|
The field has already been selected . |
|
The type does not exist. |
|
A method named %1 has already been declared. |
|
The field is not an array. |
|
Illegal use of WHERE expression. |
|
The class %1 does not contain this method . |
|
The variable is not of the type CLASS. |
|
%1 is not a class. |
|
%1 is not a class method. |
|
RETRY is used outside a CATCH command. |
|
The table %1 does not contain the method %2. |
|
The map does not exist. |
|
The map does not contain this method . |
|
The operand is not compatible with the type of the method. |
|
The method cannot return a value. |
|
The method %1 has not been declared. |
|
The method override must be declared with the same return type as the base method. |
|
The method override has an incorrect number of parameters. |
|
One of the parameters for the overridden function has an incorrect type. |
|
The display method has an incorrect parameter profile. |
|
The edit method has an incorrect parameter profile. |
|
Super() not allowed here. |
|
The class variable cannot be initialized here. Use the new method. |
|
The specified class hierarchy is incorrect. |
|
The name of the overridden method cannot be changed. |
|
The method already exists. |
|
The class already exists. |
|
The operand for the method is not an element. |
|
Nofetch is not allowed here. |
|
The name %1 is already used in an outer scope. |
|
Cannot execute on server. |
|
Container and unbounded string fields are not allowed in a WHERE expression. |
|
Container and unbounded string fields are not allowed in an ORDER BY or GROUP BY list. |
|
Cannot add or remove static keyword for this method. |
|
Variables declaration is too long. Legal size is approximately 32K in chars. |
|
The argument should be a class. |
|
The RecId index is not enabled on the table. |
|
Illegal base type in array %1. |
|
Name is too long. Truncate name to %1. |
|
Interfaces may not be instantiated. |
|
Abstract methods cannot contain code or declarations. |
|
The selection field list (%1 fields) does not match the insertion field list (%2 fields). |
|
Attempt to match a specific array field element (%1) to an array (%2). |
|
Cannot match field %1 to field %2. |
|
Field selections using * are illegal in INSERT statements. |
|
Updating views is not supported. |
|
Keyword is not allowed for this statement type. |
|
Inner or outer join is illegal in this context. |
|
'%1' table hint is not compatible with '%2' table hint. |
|
Cannot implicitly convert type '%1' to '%2'. An explicit conversion might exist; use System.Convert. |
|
No more Rec IDs. |
|
The Client modifier may not be used on data access methods. |
|
Illegal use of SETTING expression. |
|
Attempt to use a field from an exists or notexists join in an illegal context. |
|
Order by and group by clauses are not allowed in update_recordset statements. |
|
Unable to run an update query that references both temporary and permanent database tables. Rewrite your query to only reference one type of table. |
|
Qualified field names are required to use an ORDER BY and GROUP BY clause in the same SELECT statement. When using qualified field names, SELECT statements can only contain a maximum of one ORDER BY clause and one GROUP BY clause. When using unqualified field names, SELECT statements can either contain multiple ORDER BY clauses or multiple GROUP BY clauses. |
|
Cannot mix unqualified ORDER BY or GROUP BY clauses with qualified ORDER BY or GROUP BY clauses. |
|
When using qualified field names, statements can only contain a maximum of one ORDER BY clause and one GROUP BY clause. When using unqualified field names, statements can either contain multiple ORDER BY clauses or multiple GROUP BY clauses. |
|
Unqualified and qualified field names cannot be used in the same ORDER BY or GROUP BY clause. |
|
Qualified field names cannot be used in field SELECT statements. |
|
Table names do not match. The table referenced in the qualified field name must match the table referenced in the SELECT statement. |
|
Invalid join mode in union query. Join mode of the second level data source for query of type union can only be exists or notexist. |
|
Field mismatch in union query. Field '%1' is not compatible with field '%2'. |
|
Field number mismatch in union query. Field number in '%1' is not the same as the field number in '%2'. |
|
Field ‘%1’ can only be used once in the ORDER BY clause. Fields used in the ORDER BY clause must be unique. |
|
Field ‘%1’ can only be used once in the GROUP BY clause. Fields used in the GROUP BY clause must be unique. |
|
Temporary tables can have either Group By or Order By fields, but not both. |
|
The specified sequence of Group By and Order By fields is not supported. |
|
Variable %1 is not an array. |
|
The variable %1 does not match the field %2. |
|
The variable %1 does not match field %2.Each must be defined using the same extended data type. |
|
Variable %1 must be a container. |
|
The use of the keyword CROSSCOMPANY is invalid in this context. |
|
An aggregate field cannot be specified on a query data source that is selected for update. |
|
There was an invalid use of %1 unbound string during insert. |
|
The size of variable %1 does not match the size of field %2. A loss of data is possible. |
|
Invalid use of the DataAreaId field in a cross-company query. |
|
Invalid use of a container field during insert. |
|
A cross-company UNION ALL query cannot contain both a company specific and global table unless the data area field is explicitly selected. |
|
Field '%1' is used in an EXISTS JOIN or NOTEXISTS JOIN clause and cannot be used in a GROUP BY and ORDER BY clause. |
|
Invalid usage of crosscompany in this context. |
|
Cannot set a table as temporary which is part of inheritance hierarchy . |
|
The %1 attribute class has not been declared. |
|
The name %1 is not a class that extends the %2 class. |
|
Attribute classes cannot be used on the %1 function. Attribute classes can be used only on class or table methods, class declarations, or delegates. |
|
Argument %1 loses precision during assignment or comparison. |
|
Variables %1 and %2 to validTimeState has to be date or utcdatetime type. |
|
Variable %1 has to be date or utcDateTime. |
|
Invalid usage of validtimestate in this context . |
|
The %1 class is obsolete. %2 |
|
The %1 method is obsolete. %2 |
|
Calling setTmp is not allowed on a valid time state table buffer. |
|
Table does not contain a valid time state key. A unique index needs to be marked as a valid time state key. |
|
The type %1 must designate a compatible class, an interface, or a table. |
|
The managed type %1 is not known. Add a reference to the assembly containing the type. |
|
The static type of the expression is incompatible with the type %1. |
|
The class %1 should not be declared as private. |
|
The .NET managed namespace %1 was not found. The corresponding assembly is not registered in the AOT References, or the assembly file has not been copied to the Client\Bin\ directory under the installation path. |
|
Table %1 cannot be filtered with a validTimeState clause because its ValidTimeStateFieldType property is None. |
|
The wrong number of parameters are passed during object creation. |
|
Parameter %1 must have a default value. |
|
The type on the throw statement must be a value of the Exception enum. |
|
The array parameter %1 cannot specify the array size. |
|
Parameter %1 cannot be a str type array. Use the Array class for a parameter of str values . |
|
Managed arrays do not support the syntax of a direct indexer. Use the GetValue and SetValue methods to access the elements in managed arrays. |
|
The event handler definition is invalid. The static method %1 does not exist in the class %2. |
|
The event handler definition is invalid. The static method %1 in class %2 cannot be used because it is not public. |
|
The event handler definition is invalid. The static method %1 in class %2 does not return void. |
|
The number of parameters in the method %1, in class %2, does not match the event definition. |
|
A parameter in the method %1, in class %2, does not match the event definition. |
|
The event handler definition is invalid. The method %1 does not exist in the class %2. |
|
The event handler definition is invalid. The method %1 in class %2 cannot be used because it is not public. |
|
The event handler definition is invalid. The method %1 in class %2 does not return void. |
|
Map and view fields cannot be assigned to fields in an update_recordset statement. |
|
%1 %2 method is not supported when the Data Sources ChangeGroupMode property is set to None. |
|
%1 %2 method is not supported when the Data Sources ChangeGroupMode property is set to ImplicitInnerOuter. |
|
The join keyword is illegal in this context. |
|
Static constructors are not supported. |
|
Invalid call to abstract method . |
|
An event handler cannot subscribe to itself. |
|
Overriding a delegate is not supported. |
|
A derived table in table inheritance cannot override system field. |
|
The assignment is invalid because the variable %1 is read only. |
|
To use the attribute SysEntryPointAttribute, the method must run on the server tier. Add the server keyword to the X++ method declaration, or change the RunOn property of the class that contains the method. |
|
The event handler definition is invalid. The method %1 in class %2 must have exactly one argument of type XppPrePostArgs or must match the method signature exactly. |
See also
Best Practices: Avoiding Potential Security Issues
Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.