Global Address Framework
Applies To: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012
The global address book (GAB) framework allows information to be shared across companies and entities. Records in the GAB contain fields for postal address, email address, and other similar information. GAB records also contain fields for the associated person or organization, which is called the party. The following table lists key concepts of the global address book.
Term |
Definition |
---|---|
Party |
An entity that assumes a legally binding role when participating in contractual relationships. A party can be a person or organization and it can be internal or external to an organization. A person or organization that participates in economic activities. A party can be internal or external to an organization. |
Address book |
A list of address book records. |
Location |
A broad term that can mean any of the following loosely related items:
|
Roles that are associated with party records include customer, vendor, prospect, and contact. An individual party can be associated with one or more party roles in a Microsoft Dynamics AX company.
Date Effective Names
Names for organization and person are date-effective. Date-effective names are supported by the use of the ValidTimeStateFieldType property of the table. The affected tables include:
DirOrganizationName
DirPersonName
Security Policies and Address Book
You can use the security policies that are under AOT > Security > Policies to restrict which parties or locations can be accessed by users. You can use policies to restrict access to parties or locations by legal entity or by address book.
Restricting Party by Legal Entity
You can restrict user access to party records by legal entity. Users belonging to that legal entity can view only the party records associated with that legal entity. There are two policies in this group, and they must be implemented together to meet the full requirement of this data restriction:
DirRestrictViewPartyInLegalEntity
DirRestrictViewPartyTableInLegalEntity
Restricting Parties by Address Book
You can restrict access to party records by address book. Once an address book is created and populated, you create a team and add users to the team. You then assign the team to one or more address books. Only members of a team assigned to an address book will have access to its records. The following policies are used together to meet the full requirement of this data restriction:
DirRestrictPartyTableInAddressBook
DirRestrictViewPartyInAddressBook
DirRestrictViewPartyInAddressBook_Cust
DirRestrictViewAddressBook
Restricting Locations
You restrict user access to private address and contact information through the LogisticsLocationPrivacy policy. This policy is automatically enabled and is integrated into the address book infrastructure through the global address book parameters. The restrictions are role-based.
DirRestrictPartyTableInAddressBook
DirRestrictViewPartyInAddressBook
DirRestrictViewPartyInAddressBook_Cust
DirRestrictViewAddressBook
Associating Address Information to a Party Record
The DirParty class handles most of the operations related to address book for a party. You can also use the concrete classes for certain roles, such as CustomerEntity, VendorEntity, and ContactPersonEntity. The address related methods in the DirParty class include the following:
Method |
Description |
---|---|
createOrUpdateContactInfo |
Creates or updates an electronic address record for a party. This method takes a DirPartyContactInfoView parameter. |
createOrUpdatePostalAddress |
Creates or updates a postal address record for a party. This method takes a DirPartyPostalAddressView parameter. |
getPrimaryElectronicAddressLocation |
Retrieves the primary electronic address of a particular party record for a particular method type, such as Phone, Fax, Telex, E-mail, or URL. This method returns a LogisticsLocationEntity class instance. |
getPrimaryPostalAddressLocation |
Retrieves the primary postal address of a particular party record. This method returns a LogisticsLocationEntity class instance. |
parm* methods |
These are attributes of party information that can be either retrieved or updated. |
addLocation |
A static method that creates a relationship between a party and a location. This method also creates the roles relationship table. |
findElectronicAddressByRole |
A static method that finds the contact information about a party of a certain type and purpose. If no primary record is found, it returns the first record, based on the date of creation. This method returns a LogisticsElectronicAddress record. |
findPostalAddressByRole |
A static method that finds the contact information about a party of a certain purpose. If no primary record is found, it returns the first record, based on the date of creation. This method returns a LogisticsPostalAddress record. |
primaryElectronicAddress |
A static method that retrieves the primary electronic address of a party, based on the method type. This method returns a LogisticsElectronicAddress record. |
primaryPostalAddress |
A static method that retrieves the primary postal address of a party. This method returns a LogisticsPostalAddress record. |
write |
Commits any changes to the party record information. |
Tip
Concepts such as customer and vendor are more specific than party is. Some of those concepts correspond to X++ classes that derive from the DirParty class. Examples include the classes CustomerEntity, VendorEntity, and ContactPersonEntity. We recommend that you use the most specific class that applies to whichever party concept you are working with.
Note
Classes such as DirParty, and the enhancements that make address updates necessary in only one location, were introduced in Microsoft Dynamics AX 2012.
See also
How To: Update a Postal Address for a Contact Person
Announcements: New book: "Inside Microsoft Dynamics AX 2012 R3" now available. Get your copy at the MS Press Store.