RefRecID in Dynamics AX 4

Dynamics AX 4.0 will generate unique RecIds per table, whereas Axapta 3.0 generates unique RecIds per company account. 
This may have a great impact on the use of EDT RefRecId in AX development. In Axapta 3.0, we can directly use refRecId for table fields, because recId is unique per company account. Well, in AX 4, it is not the case anymore, how can you reference the recId within the same company account? For example, recId 5637144576 can exist in Address table, AddressCountryRegion table and AddressCounty table.

As a result, in AX 4, do not use the RefRecID data types directly for table fields. The way we use RefRecId data types is create a new EDT derived from EDT RefRecId, and define a relation for it. Then use the new created EDT for table fields.

You may find VendTransOpen table as a sample. The table field RefRecId in VendTransOpen is derived from EDT VendTransRefRecId which extends EDT RefRecId. And a relationship is defined on VendTransRefRecId, which is "VendTransRefRecId == VendTrans.RecId".
Since AX 4.0 will generate unique RecIds per table, and by changing the RecID from a 32-bit to a 64-bit integer, the number of RecIDs available is increased to 2-to-the-64, AX 4.0 does not include SysRecIdRepair utility. 

This entry was posted in Axapta Development. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s