AX 2012 raises a flag for several BP deviations such as
- Missing alternate index
- Primary key fields that are editable
- Primary key fields that are not mandatory
FinOps BP Checks did not identify these. I checked all the items listed under BP settings in Dynamics 365 Options. What am I missing. How do I get it to perform those checks? Here are the monikers for BP Checks I am looking for.
#define.BPErrorTableOneIndexNotCluster(385) // Tables with only one index must have it defined as a cluster index. Set the ClusterIndex property for the %1 table.
#define.BPErrorTableNoRecordIdIndexButUsed(405) // The table %1 has no record ID index but uses it %2 times.
#define.BPErrorTableUniqueIndexError(406) // Unique Index Error. Upgrade script required.
#define.BPErrorTableUniqueIndexByKernel(410) // Kernel will construct a unique index for the table
#define.BPErrorTableOverlappingIndex(411) // Index '%1' is overlapped by index %2
#define.BPErrorTableIndexWithoutFields(412) // Index '%1' has no fields
#define.BPErrorTablePrimaryIndexNotUnique(413) // Primary index '%1' allows dublicates.
#define.BPErrorTableTitleField1NotDeclared(415) // Title field 1 not declared
#define.BPErrorTableSysDeleteFieldIndex(416) // Unique index %2 contains field %3 with SysDelete configuration config key.
#define.BPErrorTableReplacementKeyNotSpecified(417) // Table having multiple Alternate Key must specify Replacement Key
#define.BPErrorTableTitleField2NotDeclared(420) // Title field 2 not declared
#define.BPErrorTableTitleFieldDeprecated(421) // Do not use a deprecated field as title field. Please select another title field.
#define.BPErrorTableIndexFieldDeprecated(422) // Do not use deprecated field %1 in non-deprecated index %2. Please remove the field or deprecate the index.
#define.BPErrorTableTableFieldGroupDeprecated(423) // Do not use deprecated field %1 in field group %2. Please remove the field from the field group.
#define.BPErrorTableCollectionRelation(425) // Relation to table '%1' (using '%2') which is not in this table collection
#define.BPErrorTableCollectionSharedComp(430) // Relation to table '%1' (using '%2') which is not in this table collection or Global
#define.BPErrorTableFieldNotInFieldGroup(435) // Field is not a member of a FieldGroup
#define.BPErrorTableIndexDelConfigKeyConflict(437) // Index %1 with DEL_ prefix has configuration %2 instead of SysDelete
#define.BPErrorTableFieldNotDefinedUsingType(440) // Field must be defined using a type
#define.BPErrorTableDelConfigKeyConflict(441) // Table %1 with DEL_ prefix has configuration %2 instead of SysDeletedObjects
#define.BPErrorTableDelPrefixConflict(442) // Table %1 with SysDeletedObjects configuration key (%2) has no DEL_ prefix
#define.BPErrorTableFieldDelConfigKeyConflict(443) // Field %1 with DEL_ prefix has configuration %2 instead of SysDelete
#define.BPErrorTableFieldDelPrefixConflict(444) // Field %1 with SysDeletedObjects configuration key (%2) has no DEL_ prefix
#define.BPErrorTableFieldEnumIsMandatory(445) // Enum field is Mandatory