Greetings all - every once in a while, when running a Best Practice Check or creating a set of Code Upgrade Projects, you may run across errors related to RecID and TableID conflicts, which really indicate failure to properly use the RefRecID and RefTableID EDTs. Here is a listing of the most common errors seen and some suggested resolutions: 

 

Conflict Message - RecId relation missing This conflict occurs when a table contains a field that uses the RefRecId extended data type (or derived type) but no relation is defined for that field.

Resolution Tip -To resolve a RecId relation missing conflict, either define the missing relation or don’t use RefRecId as an extended data type on the field.

 

Conflict Message - TableId relation missing This conflict occurs when a table contains a field that uses the RefTableId extended data type (or derived type) but no relation is defined for that field. 

Resolution Tip - To resolve a TableId relation missing conflict, either define the missing relation or don’t use RefTableId as an extended data type on the field.

 

Conflict Message - Field uses RecId This conflict occurs when a table field uses the RecId extended data type. 

Resolution Tip - To resolve a field uses RecId conflict, you must use RefRecId or a derived extended data type and define the relation that actually uses this field.

 

Conflict Message - Field uses TableId This conflict occurs when a table field uses the TableId extended data type. 

Resolution Tip - To resolve a field uses TableId conflict, you must use RefTableId or a derived extended data type.

 

Conflict Message - Type extends RecId This conflict occurs when you create a new extended data type that extends the RecId type. 

Resolution Tip - To resolve a type extends RecId conflict, you have to change the extending type to RefRecId.

 

Conflict Message - Type extends TableId This type of conflict is similar to the type extends RecId conflict. It occurs when an extended data type extends the TableId type. 

Resolution Tip - To resolve a type extends TableId conflict, you have to change the extending type to RefTableId.