26 October 2015

Party primary address non-covered cases

There is quite logical feature of party primary address in AX 2012, description of which I was not able to find on technet or msdn. Please find the details below.

Description
Only an address which is valid now and has no expiration can be set as Primary.
Only valid now address which never expires can be set as primary

It sounds logical: primary address must be valid and usually has indefinite lifetime.
However, there are use cases which do not fit.

Case 1. New primary address in future
A party informs about a new primary address starting from next month. The new address can be added, but can not be marked as primary in future. It means the user must remember the case and set primary on the new address later when it becomes valid.

Case 2. Primary address expiration
A party informs about business suspension for a period required to move to a new location. The case is more theoretical, but it is not possible to change Effective or Expiration on primary address:
Effective and Expiration can not be modified on party primary address

I believe it was a trade-off as such cases are rare and a solution is quite complicated. Address Effective and Expiration are defined in LogisticsPostalAddress table. Address Primary setting is defined in DirPartyLocation.IsPrimary and is duplicated in DirPartyTable.PrimaryAddressLocation.

Hints
I would like to suggest to discuss mentioned cases with customers, so everything is clear and there are no surprises.