Thursday, January 14, 2016

How to create a new model in AX 7 depends on AX 7 architecture - packages, models, layers

This article will make more clarify my previous post about extensions and customizations in AX 7.

Purpose of the article: 
1. Understand how to create a new module in AX 7;
2. Understand how packages and layers cooperates with modules in AX 7.


Make your choose 
We have 2 ways to create a new module

1. Create new package (create a new module in a new package);
2. Select existing package (create a new module in a existing package).

Let's take in basic Tax package that includes module Tax in SYS layer. 
As in AX 2012 a module can exists only in one layer.


Create a new module in a new package
Purpose: extends standard Tax functionality by adding a few new reports.


1. Name your model and choose a layer where a module is going to be created


2. Choose "Create new package"


3. Choose packages, which elements you want to use. For our purpose it's "ApplicationPlatform", "Tax" and "TaxFormAdaptor". Don't check any packages that you do not need. In the future, you will have an opportunity to compile whole single package and also whole package with his related packages. So, it will take a long time to make compilation in second case.


4. Check your selected data one more time 


5. Let's check that package and module were created properly. 

Our created project will be linked to a new module in a layer VAR


Also check that folders for package and module were created


In AOT we can find out that new module existed in a new package


Finally we can create a few new reports and deploy whole package to production environment without compilation any other packages. Pretty simple and can be done without any pause in production work, without any risk. In the future we can create a new module in this package and extend this package.



Consuming packages


Packages consumed by



Create a new module in an existing package
Purpose: extends standard Tax functionality by adding a few new reports and make modifications in a standard reports.

Comments to purpose: making modifications in a standard reports (functionality) is a wrong way. Better way is copying of a standard report to our new module and modifying it.

1. Name your model and choose a layer where a module is going to be created


2. Choose "Select existing package" and select Tax package


3. We are not allowed to choose referenced package, because existed package already has referenced packages. You can change referenced packages for existed package late in "Update model parameter" form.

4. Check your selected data one more time 


5. Let's check that module was created properly. 

Our created project will be linked to a new module in a layer VAR


Also check that folder for module was created






In AOT we can find out that new module existed in chosen Tax package. Now we have 2 modules in 1 package - "Tax" in SYS layer (existed previously) and "Tax Reporting (Existing Package)"in VAR layer.


Finally we can create a few new reports in our module and customize existed reports from Tax package. When we will deploy or package to production environment we will destroy the work of Tax functionality during whole deploying process. In the future if MS will make modifications in standard reports that we changed - we will lose our changes while MS update will be finished. 



Consuming packages


Packages consumed by



Let's do the best way development. Thank you for your time.

1 comment:

  1. Hi Bohdan,

    1)Can you please clear about model and modules in ax 7?
    2)while customizing standard object, how can i identified that object belongs to which model.


    Thanks in advance.
    Regards,
    Gowtham

    ReplyDelete