Posts Tagged ‘data partitions’

Data Partitions with Dynamics Ax 2012 R2

October 24, 2012 2 comments

– This is one of the key feature of Dynamics Ax 2012 R2.

– A data partion helps sharing the Ax install base but not the data

– This is a powerful feature that can help companies use the same installation. Takes away the hassle of updating multiple

What it means functionally ?

– As we had company id’s there is one level on top of it now, called the partition key.

– The partition key on the status bar indicates your active partition.

– System Data like AIF, Configuration, Batch are shared between the partitions. While Application data like address book, Unit of
measure are shared only between the companies within each partitions

– Partition is identified through the client configuration.

– Like Default company there will be a default partition called the “initial”

– Users belong only to a particular partition

– There can be companies with the same name in multiple partitions.E.g Every partition will have the default company ‘DAT’

– Intercompany doesn’t work across partitions

Mircosoft Recommends: Implementation choice must be made carefully as the companies between two partitions cannot be merged and Intercompany features cannot be used. The only option is to use Data migration tool kit for data export import between partitions and AIF for inter company operations
How is it achieved Technically ?

– A new partition table is introduced with a Key and the Recid field

– There is a new field called ‘PartitionRecid’ in everytable and as the dataareaid was by default applied to all contexts(Forms
queries) the partition key will also be added. So a look in to the SQL trace would transalate a Dax query as follows

Ax Query
Select * From CustTable

SQL (Before Partition)

Select * from custTable where dataareaid = ‘Dat’

SQL (After data partiion)

Select * from custTable where data areaid = ‘Dat’ and Partion key = ‘Initial’

– No cross company query on partitions are allowed like the cross company query

– You can know the current partition through ‘getcurrentpartitionrecid()’ similar to ‘curext()’

– Batch servers work across partitions

– AIF works across partitions

Programming Impact
— BC.Net new parameter to mention the partition id
— AIF Envelope includes partition id
— Workflow created in the AOT as metadata is shared but while you have to create workflow configuration in each partition.

– New table property like “SaveDataPerPartition” has been introduced like the “SaveDataPerCompany”. So for AIF, Batch tables – Save
data per partition is set to “No”