Professional Documents
Culture Documents
Development ............................................................................................. 20
Configuring a new type of custom operating unit .....................................................................20
Define a new Base Enum value ........................................................................................... 21
Define a view ................................................................................................................... 21
Define a new menu item .................................................................................................... 24
Hierarchy designer extensibility .............................................................................................25
Create or customize an end-to-end application scenario............................................................26
Audience
This white paper is targeted at implementers who need to model organizations in Microsoft Dynamics
AX. Defining organizational structures is an important part of a Microsoft Dynamics AX
implementation, and it requires input from executives such as the controller, the chief financial officer,
the chief executive, the chief operating officer, and the head of human resources. Partner consultants
and IT managers who are working on an implementation should be aware of the impact of the
organization model on the application features and scenarios. Independent software vendors (ISVs)
can also benefit from understanding the organization model for extensibility scenarios for specific
vertical industries with unique organization requirements.
Legal entities
A legal entity is an organization with a registered or legislated legal structure that is granted the
authority to enter into legal contracts and that is required to prepare statements that report on its
performance.
A legal entity and company in Microsoft Dynamics AX 2012 are semantically the same. However, some
functional areas in the application are still based on a data model using company (or DataArea). These
areas may have the same limitations as in Microsoft Dynamics AX 2009, and may have an implicit
data security boundary.
Operating units
An operating unit is an organization that divides the control of economic resources and operational
processes among people who have a duty to maximize the use of scarce resources, to improve
processes, and to account for their performance.
Deployment scenarios
The duplicate company feature was used extensively to copy data from one company to another in
Microsoft Dynamics AX 2009. Duplicate company functionality also was used to build development or
test environments and deployment scenarios that moved data from one environment to another. We
have deprecated this feature in Microsoft Dynamics AX 2012. We recommend that you now use the
Microsoft Dynamics AX export and import data feature (found at System administration > Common
> Data export/import) to support scenarios that previously required the duplicate company feature.
Follow these steps to use an existing legal entity as a template for other legal entities.
1. Create a legal entity that will be used as a template.
2. Create all configuration data for the legal entity.
3. Use the Microsoft Dynamics AX export and import data feature to export this legal entity to a file
such as TMP.dat.
Create new legal entities and import the TMP.dat file into each one individually. Shared and per-
company data will be imported. Subsequent imports of other legal entities into the new legal entities
would merge the shared data.
Notes
Configuration data is usually stored in tables that have one of the following values in their
TableGroup metadata property: Reference, Parameter, Group, Miscellaneous, or
Framework. If you want to include master data, include tables with a value of Main in their
TableGroup metadata property.
You are required to select table groups on the form during export only if transaction data has been
created in the legal entity. In general, tables with their TableGroup property set to a value of
Application scenarios
The organization model is integrated with the application modules in Microsoft Dynamics AX. There are
two types of scenarios:
The organization model framework is integrated with other application frameworks.
Transaction scenarios make use of integrations to create end-to-end scenarios.
Address book
All internal organizationslegal entity, operating unit, and teamare types of the Party entity. This
means that these organizations leverage the capabilities of the address book to store address and
contact information.
Financial dimensions
Legal entities and operating units can be used to define financial dimensions, and those financial
dimensions can be used in account structures.
Using organizations as financial dimensions enables analysis of an organizations financial
performance. The relationships between organizations described through hierarchies can also be used
as constraints if two types of organizations are used as separate financial dimensions in the account
structure.
The following illustration shows the list of entities that can be used as financial dimensions. To
navigate to this form, click General ledger > Setup > Dimensions > Dimensions. Create a new
dimension and click Use values from to see the list of entities.
10
For more information about financial dimensions and account structures, see the online help
documentation and the Microsoft Dynamics AX 2012 white paper Implementing the Financial Account
and Dimension Framework for Microsoft Dynamics AX 2012 Applications.
Policy framework
In Microsoft Dynamics AX 2012, a business policy can be defined for an organization by using the
policy framework. The policy framework can be used to define policies for expense reports, purchase
requisitions, audit control of documents, and vendor invoice payments.
The policy framework provides support for override and default behavior for organizations based on
their hierarchies, and enables internal management control of organizations to facilitate cost control,
fraud detection, better operating efficiency, and better performance in general.
11
12
13
The policy rule is applied when a new purchase requisition is created for this organization.
For more information about the policy framework and complete steps to set up policies, see the online
help documentation.
14
15
4. Complete the following steps to grant data security access for organizations:
a. Grant a selected user access to specific organizations or to all organizations.
b. Select an organization hierarchy or a list of legal entities. (The second option is provided to
support backward compatibility.)
c. Select a specific set of organizations from the hierarchy or list.
d. Select Grant with children to give access to an organization and all organizations below it in
the hierarchy. To grant access to a specific organization only, select Grant.
Note If a new organization is added below an organization where the user has been granted
access, the user will automatically get access. Effectively, organization updates are reflected in the
data security access when you select Grant with children.
16
Transaction scenarios
There are several application areas that make use of the new organization model framework. The
primary impact has been in the following modules. Here is a brief description of the usage. For a
complete description and steps for the scenarios in these areas, see the online help documentation.
Human resources
In human resources, workers hold employment contracts in a legal entity and have a position in a
department. All transaction scenarios in human resources leverage these concepts to view and modify
data.
17
18
19
Vendor payment internal control To define policies for payment of Only legal entities
vendor invoices
For details about the application scenarios related to purposes, see the online help documentation.
Development
You can extend the organization model to support ISV or partner customization or configuration
scenarios.
20
Define a view, DimAttributeOMBranchView, which is similar to views created for other types of
operating units. For example, DimAttributeOMBusinessUnit was created for business units.
Optionally, define a new menu item that corresponds to this operating unit to create new
instances of this type of operating unit.
Define a view
1. In the AOT, click Data Dictionary. Right-click Views and then click New View.
2. In Name, type DimAttributeOMBranchView.
21
***Element: VIE
VIEW #DimAttributeOMBranch
PROPERTIES
Name #DimAttributeOMBranch
Label #Branch
TitleField1 #Value
TitleField2 #Name
DeveloperDocumentation #@SYS320938
Origin #{B440F32B-A1F0-4AAE-AB32-1E90998D263E}
ENDPROPERTIES
22
BLOCKS
BLOCK #OMOperatingUnit
PROPERTIES
Name #BackingEntity
Table #OMOperatingUnit
UniqueId #1000
ENDPROPERTIES
FIELDLIST
PROPERTIES
ENDPROPERTIES
ENDFIELDLIST
LINES
LINE #OMOperatingUnitType
PROPERTIES
Name #OMOperatingUnitTypeOMBranch
Table #OMOperatingUnit
Field #OMOperatingUnitType
Value #OMBranch
ENDPROPERTIES
ENDLINES
BLOCKS
BLOCK #DirPartyTable
PROPERTIES
Name #DirPartyTable
Table #DirPartyTable
UniqueId #1001
ENDPROPERTIES
FIELDLIST
PROPERTIES
ENDPROPERTIES
ENDFIELDLIST
LINES
ENDLINES
BLOCKS
ENDBLOCKS
ASSOCIATIONS
ASSOCIATION
JOINDATASOURCE #BackingEntity
MASTERFIELD #RecId
DETAILSFIELD #RecId
ENDASSOCIATIONS
ENDBLOCK
ENDBLOCKS
GROUPBY
ENDGROUPBY
HAVING
ENDHAVING
ORDERBY
ENDORDERBY
ENDBLOCK
ENDBLOCKS
ENDQUERY
FIELDS
VIEWFIELD #Key
23
ENDVIEWFIELD
VIEWFIELD #Value
PROPERTIES
Name #Value
Table #DimAttributeOMBranch
ExtendedDataType #OMOperatingUnitNumber
StringSize #8
DataSource #BackingEntity
DataField #OMOperatingUnitNumber
Origin #{850EB71F-5E32-43A1-B67F-6C902AD7635B}
ENDPROPERTIES
ENDVIEWFIELD
VIEWFIELD #Name
PROPERTIES
Name #Name
Table #DimAttributeOMBranch
ExtendedDataType #DirPartyName
StringSize #100
DataSource #DirPartyTable
DataField #Name
Origin #{A584A32F-27EA-4C27-BABA-168AE4074FD8}
ENDPROPERTIES
ENDVIEWFIELD
ENDFIELDS
GROUPS
ENDGROUPS
METHODS
ENDMETHODS
ENDVIEW
***Element: END
This menu item will launch an operating unit form only for creating operating units of type Branch.
This step is optional.
1. In the AOT, click Menu Items. Right-click Display and then click New Menu Item.
2. In Name, type OMBranch.
3. In Label, type Branches.
4. In Object, type OMOperatingUnit.
5. In EnumTypeParameter, type OMOperatingUnitType.
6. In EnumParameter, type Branch.
24
class OmHierDesignExtClass
{
#ResAppl
#define.LegalEntityTopGradient("#FFA5CDFF")
#define.LegalEntityBottomGradient("#FF7EB8FF")
#define.LegalEntityBorderColor("#FF3F5C80")
#define.LegalEntityImageID(10052)
#define.BusinessUnitTopGradient("#FFA6ECFF")
#define.BusinessUnitBottomGradient("#FF80E3FF")
#define.BusinessUnitBorderColor("#FF407280")
#define.BusinessUnitImageID(10053)
#define.CostCenterTopGradient("#FFFFA8A6")
#define.CostCenterBottomGradient("#FFFF8280")
#define.CostCenterBorderColor("#FF7F4140")
#define.CostCenterImageID(10524)
#define.DepartmentTopGradient("#FFE2FFA6")
#define.DepartmentBottomGradient("#FFD6FF80")
#define.DepartmentBorderColor("#FF6B8040")
#define.DepartmentImageID(10054)
25
#define.DefaultTopGradient("#FFA5CDFF")
#define.DefaultBottomGradient("#FF7EB8FF")
#define.DefaultBorderColor("#FF3F5C80")
#define.BranchTopGradient("#FFE2FFA6")
#define.BranchBottomGradient("#FFD6FF80")
#define.BranchBorderColor("#FF6B8040")
#define.RentalLocationTopGradient("#FFFFA8A6")
#define.RentalLocationBottomGradient("#FFFF8280")
#define.RentalLocationBorderColor("#FF7F4140")
#define.RegionTopGradient("#FFCEA6FF")
#define.RegionBottomGradient("#FFB880FF")
#define.RegionBorderColor("#FF5C4080")
#define.DefaultOrganizationImageID(10901)
#define.DefaultOrganizationImageName("Icon10901")
FormRun m_HDForm;
OMOrganizationHierarchy m_omOH;
}
Notes:
A similar customization can be performed for a new type of operating unit by customizing this
class to add a new border color, top gradient color, and bottom gradient color. Without the
customization, the hierarchy designer uses default colors for a new type of operating unit.
A customization to add a new custom purpose is out of scope of this white paper. Adding a new
custom purpose requires customization of the OMHierarchyPurposeTableClass class and the
HierarchyPurpose base enumeration. Customization must extend to the application scenario
where the custom purpose will be used.
A more complex customization of the OMHierarchyPurposeTableClass class is required if you
want to force the design of balanced hierarchies.
26
27
This document is provided as-is. Information and views expressed in this document, including URL and other
Internet Web site references, may change without notice. You bear the risk of using it.
Some examples depicted herein are provided for illustration only and are fictitious. No real association or
connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You
may copy and use this document for your internal, reference purposes. You may modify this document for your
internal, reference purposes.
Microsoft, Microsoft Dynamics, and the Microsoft Dynamics logo are trademarks of the Microsoft group of
companies.
28