Tuesday, December 18, 2012

Dynamics AX Tools from InformationSource


Hi All,
        Please have the below list for Dynamics AX tools available for Presales,Sales,Analysis,Upgrade & more...


1.   Application analysis Tool (Beta): The Application Analysis tool is designed to enable developers to easily understand how the application has been constructed. The tool can analyze X++ code, create UML sequence diagrams of the data model using progressive discovery.

2.   Data Migration Framework Tool (Beta): The Data Migration Framework (Beta) is an extension to Microsoft Dynamics AX that provides a way to migrate data from external sources to source Microsoft Dynamics AX 2012.

The framework also supports exporting and importing data (for entities defined in the Data Migration Framework) from a Microsoft Dynamics AX 2012 instance to another one.

3.   Combine XPO Tool (Beta): The Combine XPO Tool (Beta) 1.0 is a command line program that combines a set of interdependent XPO files into a single XPO. For example, if a team of developers is making code changes to different aspects of an application, use this tool to merge those changed files into one file.

4.   Security Development Tool (Beta): The Security Development Tool (Beta) is intended to simplify the creation and maintenance of security artifacts such as roles, duties and privileges. It displays entry point permissions for a given role, duty or privilege and allows you to create new security artifacts on the basis of access through various entry points. The tool allows you to test newly a created\modified security role, duty or privilege from the same interface without using a different test user account. In addition, the tool also allows you to record business process flows and identify the entry points used.

5.   Code Upgrade Service Tool (Beta): The Code Upgrade Service Tool (Beta) is designed to help Microsoft Dynamics AX developers upgrade their X++ code to Microsoft Dynamics AX 2012. The service analyzes X++ code patterns and automatically fixes some patterns, provides suggestions on how to fix other patterns, categorizes upgrade tasks, and enables developers to add their own patterns to be analyzed.

6.   Security Upgrade Advisor Tool (Beta): The Security Upgrade Advisor Tool (Beta) is intended to help simplify the process of upgrading security settings from an earlier version of Microsoft Dynamics AX to Microsoft Dynamics AX 2012. It compares entry point and permissions between systems and generates a list of matching privileges that can be used a particular role. The role-to-privilege mapping is based on the user group-to-access right mapping in earlier versions of Microsoft Dynamics AX systems. The tool is designed as an aid for upgrading security settings and is not one click solution. Developers are advised to review each suggestion carefully before making any changes.

7.   Intelligent Data Management Framework Tool: The Intelligent Data Management Framework Tool is designed to help system administrators optimize the performance of Microsoft AX installations. The Intelligent Data Management Framework assesses the health of the Microsoft Dynamics AX applications, analyses current usage patterns, and helps reduce database size.

Enjoy DAX!!!

Monday, December 10, 2012

AX 2012 R2 in 25 Clicks

Hi All,
      As you know the much awaited AX 2012 R2 is launched so lets have a install/upgrade overview on AX 2012 R2 in just 25 clicks :

1) Start the Setup Program.

 2) Click "Microsoft Dynamics AX Components" under Install.
 3) Click Next.
 4) Select "I accept the license terms" *.
 5) Choose Appropriate Option.
 6) Processing will start.

 7) Choose "Add or modify components".
 8) Select Options to install/upgrade.
 9) Review the Errors/warnings and click on "Configure" check box for the applicable errors. and click "Configure".
 10) Click "Start" to start configuring components as per AX needs.
 11) Select "Configure existing database (for upgrade scenarios)".
 12) Specify your existing databases.
 13) Choose models to upgrade.
 14) Specify the "Temp" location for setup files.
 15) Specify the SSAS details.
 16) Specify credentials (we just have used the dummy account) for learning purpose only. Use your AD authenticated account details.
 17) Specify .net BC account (if its not already there in AX)
 18) Choose your Languages (en-US) in this demo.
 19) Specify Data Crawler Account details.

 20) SSRS Database details.
 21) User Account for SSRS Access.

22) Click Install.
23) Verify the installation.

Enjoy DAX !!!

Monday, November 5, 2012

AX 2012 : Data Migration Framework(DMF)


The Data Migration Framework for Microsoft Dynamics AX 2012 is an extension that helps you migrate data into Microsoft Dynamics AX. Examples of the data that you can migrate include master data, open stock, and balances.

The Data Migration Framework is available from the InformationSource services download page.

The Beta 2 version of the Data Migration Framework includes support for the following new features:
  • ODBC connections as a data source.
  • Microsoft Dynamics AX databases as a data source. You can now export and import Microsoft Dynamics AX, and copy company information by using Data Migration Framework entities.
  • Direct table and composite entity types.  
    • direct table entity enables you to migrate data from a source to a target Microsoft Dynamics AX table directly, without going through a staging table or applying any business logic.Unlike other entities, data cannot be pushed from one source table to multiple target tables. The direct table entity must be a one to one mapping from source to target.
    • composite entity groups multiple related entities together. An example of a composite entity is a Sales Order and Sales Line entities combined together.
      Parallel execution of threads to move data from staging to target tables.
  • Using the Data Migration Framework as a service. The framework can now be executed by external applications.
  • Error-handling enhancements. The Data Migration Framework provides more detailed logs, and can skip rows that contain errors.
  • Number sequence support.
  • Remote installations of Microsoft SQL Server Integration Services. It is no longer necessary to install Integration Services on the same computer as the Application Object Server (AOS).



Data Migration Framework User Guide : Click here for Source

Data Migration Framework Installation : Click here for Step by Step

Data Migration Framework Demo Files : Click here for Files


Enjoy DAX!!!

Friday, July 27, 2012

Office 15 Customer Preview


Microsoft Office 15 Customer Preview is now available for trial to enable you to experience the revolutionary features of Office 15 applications.
It will provide a diverse range of services including Office ProPlus, Office 365 Small Business Premium and Office 365 Enterprise for diverse business requirements.
Tapping the Market Opportunities with Office 15
Business in Cloud-Office 15 will bring in considerable opportunities in cloud as more and more customers purchase software through the cloud.

Capture the Market Opportunity-Analysts predict that delivering software-as-a-service (SaaS) will continue to offer tremendous revenue-generating opportunities.

Differentiate your Business-By understanding the capabilities of Office 15, you can provide the best business productivity experience for your customers.

Sign up now to try Office 15.



Source : Microsoft

Friday, July 13, 2012

AX 2012 : Delete All Transactions

Hi,
    Today we will look at, How to delete all transactions from AX 2012. Previously we were using SysDatabaseTransDelete class to do the same but as of now we need to modify that class to work properly with AX 2012 due to DB changes :


We need to modify the SysDatabaseTransDelete.handletable method with the below code :

void handleTable(SysDictTable sysDictTable)
{
    TableGroup      tableGroup;

    if (tableSet.in(sysDictTable.id()))
        return;
    tableSet.add(sysDictTable.id());

    if (sysDictTable && !sysDictTable.isTmp() && !sysDictTable.isMap())
    {
        tableGroup = sysDictTable.tableGroup();

        // Handle company specific tables to be deleted
        if (sysDictTable.dataPrCompany())
        {
            switch(tableGroup)
            {
                case TableGroup::Transaction:
                case TableGroup::WorksheetHeader:
                case TableGroup::WorksheetLine:
                //FIX - Support new AX2012 transaction table types
                case TableGroup::TransactionHeader:
                case TableGroup::TransactionLine:
                    this.handleTransTable(sysDictTable);
                    break;
                default:
                    this.handleNonTransTable(sysDictTable);
                    break;
            }
        }
        else
        {
            // Handle global tables to be deleted
            switch(tableGroup)
            {
                case TableGroup::Transaction:
                case TableGroup::WorksheetHeader:
                case TableGroup::WorksheetLine:
                //FIX - Support new AX2012 transaction table types
                case TableGroup::TransactionHeader:
                case TableGroup::TransactionLine:
                    this.handleGlobalTransTable(sysDictTable);
                    break;
                default:
                    break;
            }
        }
    }
}


Enjoy DAX!!!

Wednesday, June 20, 2012

Site Services & Commerce Services in AX 2012


Site Services

Organizations can use Sites Services for Microsoft Dynamics ERP to easily build web sites that extend their business processes to the Internet and integrate smoothly with Microsoft Dynamics AX, often with no need for IT support. Before you can use Sites Services, you need to sign up for an account. In many organizations, the IT department or a partner sets up, customizes, and maintains Sites Services.

Microsoft Dynamics AX includes four Sites Services solutions:
  • Online case request – Customer support representatives can accept feedback and questions for case management.
  • Human resources recruitment – Human resources staff can display ads for job openings online and receive applications from candidates.
  • Request for quotation – A purchasing agent can post purchasing needs online and vendors can review them and respond with quotations.
  • Unsolicited vendor registration – The purchasing department can accept unsolicited vendor registrations.
You can also create your own Internet-based solutions. Following are some examples:
  • Marketing - Create a marketing campaign that collects and tracks sales leads.
  • Customer service - Publish customer service information and collect customer feedback.
  • Product registration - Provide a convenient site for customers for product registration.

    For more information please click here.

Commerce Services

Organizations can use Commerce Services for Microsoft Dynamics ERP to sell products online easily through established marketplaces such as eBay and online stores that the organizations themselves create.
Catalogs and product listings are centrally managed, and sales orders flow seamlessly back into Microsoft Dynamics AX for processing.
Using Commerce Services provides the following benefits:
  • Sell through multiple channels by extending your sales presence to your own online store and online marketplaces, such as Amazon, eBay, and others.
  • Provide seamless inventory management between Microsoft Dynamics AX and the online store. Changes in stock levels are automatically reflected in the online store.
  • Provide seamless payments between Microsoft Dynamics AX and the online store. With Commerce Services payment processing is integrated between an organization’s online shopping cart and its back office software.
  • Provide seamless order management between Microsoft Dynamics AX and the online store: Commerce Services ties together online customer acquisition efforts with back-office order fulfillment.

For more information please click here.


Enjoy DAX!!!

Friday, June 15, 2012

HcmWorkerImportService to create/import worker into AX 2012

Hi All,
         Today we will be having a look at the AIFDocumentServices to create Worker (Contractor/Employee) into AX 2012 using HcmWorkerImportService.

Pre-requisites:
1) AX 2012 with CU2
2) Demo Data
3) Visual Studio Dev Tools

Scenario:
Wants to create/import worker into AX 2012 from an external application.

Solution:

  1. Create a Service Group in AOT
  2. Rename it to HcmWorkerImportDemo
  3. Drag the "HcmWorkerImportService" into your newly created service group.
  4. Right Click on the "HcmWorkerImportDemo" & click on Deploy Service Group.
  5. Go to System Administration -> Setup -> Services & Application Integration Framework -> Inbound Ports
  6. Find your "HcmWorkerImportDemo" Inbound port & Copy the WSDL Address.
  7. Create a C# Console Application.
  8. Right click on your solution -> add Service Reference -> Paste the WSDL Address
  9. Type the Reference Name like "ABC"
  10. Include ABC as a namespace.
  11. Modify the main() method with the below code :
            HcmWorkerImportServiceClient proxy = new HcmWorkerImportServiceClient();
            CallContext context = new CallContext();
            context.Company = "ceu"; //Company Name

            AxdHcmWorkerImport worker = new AxdHcmWorkerImport();
            AxdEntity_HcmWorker hcmWorkerTable = new AxdEntity_HcmWorker();

            AxdEntity_DirPerson_DirPerson party = new AxdEntity_DirPerson_DirPerson();
            party.NameAlias = "Kuldeep";
            party.Gender = AxdEnum_Gender.Male;
            party.MaritalStatus = AxdEnum_DirPersonMaritalStatus.Married;

            AxdEntity_DirPersonName personName = new AxdEntity_DirPersonName();
            personName.FirstName = "Kuldeep";
            personName.MiddleName = "Singh ";
            personName.LastName = "Godara";
            party.DirPersonName = personName;

            hcmWorkerTable.DirPerson = party;

            AxdEntity_HcmEmployment personEmployment = new AxdEntity_HcmEmployment();
            personEmployment.EmploymentType = AxdEnum_HcmEmploymentType.Contractor;
            personEmployment.LegalEntity = "ceu"; //Company Name

            hcmWorkerTable.HcmEmployment = new AxdEntity_HcmEmployment[1] { personEmployment };

            worker.HcmWorker = new AxdEntity_HcmWorker[1] { hcmWorkerTable };

            try
            {
                proxy.create(context, worker);
                Console.WriteLine("Success");
                Console.ReadLine();
            }
            catch
            {
                throw;
            }
12. Run the Application.
13. Cross Check your worker into AX 2012.


Enjoy DAX !!!

Monday, June 11, 2012

Calculate Time Consumption in AX 2012


Hi All,
          There is a very useful function timeConsumed() in Global class which we can use to calculate the time taken to execute business logic in AX 2012.
This function will return time consumed string in the form of XX hours XX minutes XX seconds (00:00:00). It handles up to a 24 hour time difference not dependent on start/end time. 

Limitation: If time consumed is greater then 24 hours will only report time over 24 hour intervals.
Code: 
static void DemoTimeConsumed(Args _args)
{
    FromTime startTime = timeNow();
    int i;
    str res;
    ;
   
    for (i = 1 ; i <= 2650000; i++)
    {
        res+= int2str(i);     
    }
       
    info(strFmt("Total time consumed with this operation is  %1", timeConsumed(startTime, timeNow())));
}

Enjoy DAX!!!

Monday, June 4, 2012

AX 2012 AIF Calling via WCF

Hi,
     Today we will look at "How to call a AX2012 Service into a WCF App.
The CustCustomerService (External name CustomerService) can be used to create a customer in Ax through AIF. When using the http adapter and consuming this service in a .Net Application, this is a tried and tested way to do it. Notice the DirPartyTable assignment in the code. You do not need to specify the DirParty member, but that is where the customer name is held in Ax 2012


static void WebServiceTest()
{
    using (Ax2012WebService.CustomerServiceClient custClient = new Ax2012WebService.CustomerServiceClient())
    {
        var context = new Ax2012WebService.CallContext() { Company = "ceu" };
        var customers = new Ax2012WebService.AxdCustomer
            {
                CustTable = new Ax2012WebService.AxdEntity_CustTable[] 
                    { 
                        new Ax2012WebService.AxdEntity_CustTable() 
                        { 
                            CustGroup="10", 
                            TaxGroup="CA", 
                            DirParty = new Ax2012WebService.AxdEntity_DirParty_DirPartyTable[1] 
                            {
                                new Ax2012WebService.AxdEntity_DirParty_DirOrganization() 
                                    { LanguageId = "en-us", Name = "SS 001" }
                            }
                        }
                    }
            };
        custClient.create(
            context,
            customers
            );
    }
}


Enjoy DAX!!!

Wednesday, April 25, 2012

Convert/Upgrade MorphX Report to SSRS in Dynamics AX


One of the major change in Dynamics AX 2012 is related to reporting services. Though we were able to develop some SSRS reports in AX 2009 as well with limitted framework functionality. However, in AX 2012 SSRS reporting framework is much more enhanced. Currently, you can import your AX traditional reports of MorphX in 2012 with no change. However, you cannot develop new MorphX reports in 2012. So this is the right time to move all your MorphX reports to SSRS as in future releases of AX MorphX framework will be completey removed.

In order to migrate AX reports to SSRS report following are some important points
        1.       Create a new query and make exactly the same query used in X++ report.
        2.       Move all your business logic to RDP (Report data provider) class.
        3.       AutoDesign reports of X++ will be replaced by AutoDesign in SSRS reports.
        4.       Generated Design on X++ report will be replaced by PrecisionDesign in SSRS reports.

         Please have a look on the guidance to upgrade report here.

           Enjoy DAX !!!

Tuesday, April 24, 2012

Bar Code Setup in AX 2009

Hi,
   In this post we will be discussing about How to setup barcodes in AX 2009 as many companies use barcodes for different purposes like:
Tagging Items – To identify items
Tagging pallets – To identify pallets
Tagging locations – To identify locations

Microsoft Dynamics Axapta 2009 supports use of bar codes which can be setup using very simple steps. This article contains two main setups:
STEP 1: The first step is to set up the bar code to be used using AX Barcode setup form.
STEP 2: The second step is to associate the bar code with the item

STEP 1: Set up the bar code to be used using AX Barcode setup form.
1. From Dynamics AX client navigate to:
Basic > Setup > Bar code setup
2. On the overview tab, Click New and enter details:









3. In the General Tab enter Minimum and Maximum length.














Bar code setup
Type the name of the bar code.
Description
Enter a description of the bar code.
Bar code type
Select the bar code type from the list.











Font
Select a font for the bar code from the list of available fonts installed in Microsoft Windows.
Size
Specify the font size of the bar code.
Minimum length
Specify the minimum length allowed for the bar code.
Maximum length
Specify the maximum length allowed for the bar code.

STEP 2: Associate the bar code with the item
1. From Dynamics AX 2009 Client navigate to:
Inventory management > Items > Setup button > Bar codes

Use this form to set up multiple bar codes for each item, in addition to setting up bar codes according to item configurations and dimensions. Bar codes identify items and register inventory information.
For example, you can set up bar codes for each color of an item, and then for every sale you register the item and the item color. In this way, you know the number of items on stock by color.

Tabs
Overview tab
Get an overview of the bar codes that are associated with an item. You can also create, modify, or delete the bar codes.
General tab
View specific information about an item and the bar code that is associated with it. The information is grouped into four areas, such as information about the Item, Bar code, Setup, and Item dimension. On the General tab, you can also create, delete, or modify a bar code.
Fields
Item number
This is a unique user-defined code that is assigned when items are created. It is recommended that special characters or spaces not be used in the item number.
Item numbers can be generated by the system by linking the item number to a Number sequences (form).
Configuration
Select an item configuration to specify an item with specific attributes.
Size
Specifies the size of the item.
Color
Specifies the color of the item.
Bar code setup
Select the bar code type that you would like to apply to the item.
Scanning
Used for scanning items with us.
To be printed
Used when printing.
Bar code
Bar code digits.
Dimension No.
Identification of dimensions for the item.
Quantity
Quantity in the inventory units of the item.
Description
Brief description of the transaction.
Warehouse
Enter the warehouse in which you store your items.
Batch number
Enter the batch number dimension. If you select Edit lines and Explode lines in the upper section of the Shipment /Receive form, you can edit the batch number for the transfer order line.
Location
Location inside a warehouse. If you select Edit lines and Explode lines in the upper section of the Shipment /Receive form, you can edit the location number for the transfer order line.
Pallet ID
Unique ID for the pallet (Serial Shipping Container Code).
Serial number
Serial number dimension. If you select Edit lines and Explode lines in the upper section of the Shipment/Receive form, you can edit the serial number for the transfer order line.
Inventory Button
Click Inventory > Dimensions display to select the inventory dimensions to appear in the Item - bar code form.

Enjoy DAX !!!

Wednesday, April 4, 2012

Discard USR Layer Changes in AX 2012

With the advent of model management in Dynamics AX 2012, Microsoft has gotten rid of the ax.aod files which in previous versions of DAX constituted the layers.
In DAX 2012 adjustments for the meta data model and code are stored in the modelstore in the database.

In previous version deleting a layer containing adjustments to the standard application consisted of delete the ax.aod file and synchronizing and compiling.

How is this done in DAX 2012 ?

The answer is a command-line tool called AxUtil.

To delete e.g. the usr-layer in the application do the following:

1) Shut down all AOS-servers but one (applicable only if you have more than one AOS running).
2) Go to command line interface on the server where the last AOS is running.
3) Go to the folder where DAX's management utilities are placed, e.g.
C:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities
4) Run the Axutil like this:
Axutil delete /layer: /db:


To delete the usr-layer in the MicrosoftDynamicsAx database:
Axutil delete /layer:usr /db:MicrosoftDynamicsAxBelow an example is shown:
















5) Restart the AOS
6) Start the DAX client.
7) In the process of starting up, DAX will detect that something has happened with the modelstore, and prompt you with:





























Choose the action appropriate for your situation.
8) Start the remaining AOSes.

Enjoy DAX!!!

Wednesday, March 21, 2012

Model Management in AX 2012 & Differences between XPO & Models


Working with Models in AOT

To create a new model

1.       Open the Development Workspace.
2.        Choose Tools > Model management > Create model.
3.       Specify the parameters of the new model. The following table lists the parameters you have to supply values for.
Parameter
Description
Model name
The name that identifies the model.
Model publisher
The name of the organization that is creating the model.
Layer
The layer in which the model is created.
Version
The initial version number for the model. The number must have the form x.x.x.x, with the segments representing the major, minor, build, and revision for the model.
Model description
A description of the contents of the model.
Model display name
The friendly name that is displayed for the model.
4.       Select Set as current model to have the new model become the active model in the Development Environment.
5.       Click OK to create the new model.

To specify the current model

1.       Open the Development Workspace.
2.       Choose Tools > Model management > Change current model.
3.       From the models in the current layer, select the model that you want to be the current model. Any changes you make to AOT resources will be stored in this model.
4.       Click OK. The display name of the current model is displayed in the status bar in the Development Workspace.

To set the default model

1.       Open the Development Workspace.
2.       Choose Tools > Options.
3.       Click Development to display the options for the Development Workspace.
4.       Expand the General group.
5.       Set the Startup model to the model that you want to be active when you start the Development Workspace.
6.       Click Close.

To move AOT elements between models

1.       In the AOT, right-click the element that is in the incorrect model.
2.       Click Move to model.
3.       Select the model that you want to move the element to. You can select models only in the current AOS layer.
4.       Click OK.

To view installed models

1.       Open the Development Workspace.
2.       Choose Tools > Model management > Models installed. The Models installed window opens.
3.       View the details about the models that are installed.
4.       Click Close.

To list model elements

1.       Open the Development Workspace.
2.       Choose Tools > Model management > Models elements. The Model elements window opens. This window lists all elements of the models that are installed for Microsoft Dynamics AX.
Description: Description: TipTip
The Page Up and Page Down keys are helpful when you browse this large list.
3.       Click Close.

To display model information in AOT nodes

1.       Open the Development Workspace.
2.       Choose Tools > Options.
3.       Click Development to display the options for the Development Workspace.
4.       Expand the Application object tree group.
5.       Set the Application object model. Choose one of the following values:
·         Show no models
·         Show on all elements
·         Show on elements in current layer only
·         Show on elements in current model only
6.       Click Close.

To create a project from a model

1.       Open the Development Workspace.
2.       Choose Tools > Model management > Create project from model.
3.       Select the model that will be used as the source of the project content.
4.       Supply the name of the new project to be created.
5.       Click OK. The project will be created that has the elements from the model.

Resolve Conflicts after model import

When you import a model into the model store, the resources in the model may have conflicts with resources in other models that are already part of that layer. If you use thepush option when importing the model, the conflicting resources will be put into a new conflict model that is located in the patch layer for the current layer in the AOS. This new model will have a name that indicates it contains resources that have caused a conflict. For example the model named Facility Management (Conflict 1) contains the resources that caused a conflict when the Facility Management model was being imported.
Often, it is a developer responsibility to help resolve conflicts that occur when a model is imported. Use the following procedure as a general guideline to help you through this process.

To resolve conflicts after importing a model

1.       Determine whether any conflicts occurred during the model import process.
·         If you imported a model from the command line, the results returned from the command will indicate whether conflicts occurred during the import process.
·         If you do not know the results of the import process, use the Models installed command as described in How to: View Model Information to view the list of models that are installed. If you see any conflict models in a patch layer, they will contain the resources that caused the conflict.
2.       Retrieve the list of resources that caused conflicts. Use the view command to see the list of resources in the conflict model. These are the conflicts that you have to resolve. For detailed information about how to list resources in a model, see How to: View and Verify Contents of a Model. For example, the following command uses axutil.exe to list resources in the Facility Management (Conflict 1) model:
axutil.exe view /model:"Facility Management (Conflict 1)" /verbose
3.       In the AOT, select a resource that has a conflict. Right-click the resource and choose Compare. In the Comparison window, click Compare to see the differences between the resource in the patch layer and the resource in the main layer.
4.       Resolve the conflict. There are many ways to resolve the conflict, depending on the resource type and the actual conflict. Some of the ways to resolve the conflict include the following:
·         Use the information and the available actions from the Comparison window to merge changes from the conflict model into an existing layer.
·         Make a change in the resource in an existing model in the current layer. For example, if two different models in the layer have modified the same resource, you could consider creating a new “shared” model in the layer that contains a single version of the resource that can be used by both of the other models.
·         Switch to the patch layer and modify the resource there. In some cases, this is the easiest way to resolve the conflict.
Description: Description: TipTip
You can switch to the patch layer by creating a new configuration with the Microsoft Dynamics AX 2012 Configuration tool. You can also switch to a specific patch layer by using the following command to start Microsoft Dynamics AX:
Ax32.exe –AOL=USP
5.       Repeat the conflict resolution process for each resource in the conflict model.
After you have resolved all of the conflicts, consider removing the conflict model from the patch layer. That way, somebody looking at the system will not assume that there are model conflicts that have to been resolved. If you are leaving a resource in the patch layer, move the resource out of the conflict model into another model in the patch layer. Then delete the conflict model.



Difference between XPO Files, Model Files & Model Store Files
A model is a set of elements in a given layer. Each layer consists of one or more models. Each layer contains one system-generated model that is specific to that layer. Every element in a layer belongs to only one model. In other words, no element can belong to two models in the same layer, and every element must belong to a model.
A model is permanently associated with the layer that is created in. If you need to move one of your models from one layer to another, you must create a project from the model in the AOT, export the project as an xpo file, create a target model in the desired layer, delete the original model to avoid having to resolve layer conflicts, and import the xpo file to the target model. If you are moving elements between models in the same layer, you can use the Move to model command in the AOT.
Models are stored in the model store. The model store is the part of the Microsoft Dynamics AX database in which all application elements for Microsoft Dynamics AX are stored. Customizations are also stored in the model store. The model store replaces the Application Object Data (AOD) files that were used in earlier versions of Microsoft Dynamics AX. Models that have been installed in the model store are used at run time.
Models can be exported to files that have the .axmodel extension. These files are called model files. Model files are deployment artifacts. Model files can be signed with strong name signing and Microsoft Authenticode signing.

Models and label files

In Microsoft Dynamics AX 2012, label files, or ALD files, are part of models. A label file must be added to a model before the model can be installed. After a model has been installed, ALD files are pulled from the model store to the local of Application Object Server (AOS) instance when the AOS is started. When the AOS is shut down, the ALD files are pushed back to the model store.
ALD files from earlier versions of Microsoft Dynamics AX are not part of a model file. However, you can import these files into the model store from the Label Files section of the Application Object Tree (AOT). Use the Create from file shortcut command.

How models improve the installation and maintenance of side-by-side customizations

In earlier versions of Microsoft Dynamics AX, multiple partner solutions could not exist side by side in the same layer. However, models now enable side-by-side customizations. Additionally, the following improvements help you work with side-by-side customizations:
·         The development environment for Microsoft Dynamics AX lets you create a project for each model that is installed. Therefore, you can quickly see all the installed customizations in a layer for a given model.
·         When you import a model, elements in the model that you are importing may conflict with another model in the same layer. You can now create a conflict model in the patch layer that is associated with the layer that you are working in. You can then resolve the conflicts in the conflict model. In earlier versions, no warnings about conflicts were displayed. Instead, elements were just replaced.
·         You can now leave the rest of the layer intact when you uninstall a model. In earlier versions, if you wanted to uninstall customizations, you had to either remove the customizations manually from the AOT or remove the layer.

How models improve the installation and maintenance of side-by-side customizations

In earlier versions of Microsoft Dynamics AX, multiple partner solutions could not exist side by side in the same layer. However, models now enable side-by-side customizations. Additionally, the following improvements help you work with side-by-side customizations:
·         The development environment for Microsoft Dynamics AX lets you create a project for each model that is installed. Therefore, you can quickly see all the installed customizations in a layer for a given model.
·         When you import a model, elements in the model that you are importing may conflict with another model in the same layer. You can now create a conflict model in the patch layer that is associated with the layer that you are working in. You can then resolve the conflicts in the conflict model. In earlier versions, no warnings about conflicts were displayed. Instead, elements were just replaced.
·         You can now leave the rest of the layer intact when you uninstall a model. In earlier versions, if you wanted to uninstall customizations, you had to either remove the customizations manually from the AOT or remove the layer.



Metadata can be installed in various ways. The following table describes each installation method that is available.
XPO files
Model files
Model store files
Installation tool
MorphX
AXUtil.exe or Windows PowerShell cmdlets
AXUtil.exe or Windows PowerShell cmdlets
The files can be uninstalled.
No
Yes
No
The files can be signed.
No
Yes
No
Microsoft Dynamics AX element IDs are preserved.
Yes, because there are no IDs in XPO files
Yes, if IDs have already been assigned
Yes
Compilation is required after installation.
Yes
Yes
No
CIL generation is required after installation.
Yes
Yes
No

The following table describes the scenarios in which we recommend you use each installation method.
Scenario
Recommended installation method
Distributing a solution to customers
Model files
Deploying a solution in a development or test environment
Model files or XPO files
Deploying a solution to a production environment
Model store files


Regards,
Kuldeep Singh