Skip to main content

Cumulative update 2 vs. Feature pack [AX 2012]

It was a little confusing at first what the Feature pack contained. This was release recently on in 1st February 2012. This release is targeted at the five key industries: Manufacturing, Distribution, Services Industries, Public Sector, and Retail. This release also incorporates Microsoft Dynamics ERP RapidStart Services.
One major thing you will notice when you install the Feature pack it is the same build as Cumulative update 2.

Below are two screenshots. The first is Cumulative update 2 and the second is the Feature pack. Notice a few things here:
  1. Build is the same. 6.0.947.280
  2. Feature pack I installed the Extensions model (Build 6.0.1108.0). This installs into the FPK layer and is meant to put you in a good position to install the industry specific models (which I have not installed on this scenario).

In this blog entry I haven’t gone into the installation disk. In brief the install disk for the Feature Pack is the latest and it comes bundled with all these in there. Including the Retail component installation which is now part of the install wizard.

Correction update:
Feature pack kernel is actually 6.0.947.862

Just an additional note regarding the Extensions model. It is not option, it must be installed.
Microsoft Dynamics AX extensions for the following industries:
  • Process Manufacturing - Process manufacturing production and logistics for Microsoft Dynamics AX. Allows you to manage production, inventory, and costs in a process-controlled environment, such as in the food, chemical, and pharmaceutical industries.
  • Public Sector - Addresses the special controls, rules, and regulations of Public Sector organizations.
  • Project Management – Allows you to invoice customers for various billing scenarios, such as billing per unit of delivery and billing when a milestone is completed. You can also create customer and vendor retentions, and manage workers on projects.
  • Retail - Provides mid-market and large retailers a complete head office and point of sale (POS) solution.
This model is required when you install Microsoft Dynamics AX 2012 Feature Pack. If the model includes functionality that you do not plan to use, turn off the appropriate license codes and configuration keys. Do not uninstall this model to remove unwanted functionality. Uninstalling models that are released by Microsoft will place your system in an unsupported state. If you have uninstalled this model, you must reinstall it using the instructions found in How to: Export and Import a Model.

As Brandon mentions in his blog. Microsoft strong recommendation is you to update any clients on previous versions of AX 2012 to the feature pack. Here is the link to Microsoft page on this
The Microsoft Dynamics AX 2012 Feature Pack—Why You Should Adopt it Moving Forward 

Additional links:
List of build numbers

Popular posts from this blog

AX - How to use Map and MapEnumerator

Similar to Set class, Map class allows you to associate one value (the key) with another value. Both the key and value can be any valid X++ type, including objects. The types of the key and the value are specified in the declaration of the map. The way in which maps are implemented means that access to the values is very fast. Below is a sample code that sets and retrieves values from a map. static void checkItemNameAliasDuplicate(Args _args) { inventTable inventTable; Map map; MapEnumerator mapEnumerator; NameAlias nameAlias; int counter = 0; ; map = new Map(Types::String, Types::Integer); //store into map while select inventTable { nameAlias = inventTable.NameAlias; if (!map.exists(nameAlias)) { map.insert(nameAlias, 1); } else { map.insert(nameAlias, map.lookup(nameAlias) + 1); } } //retrieve fro

AX - How to use Set and SetEnumerator

The Set class is used for the storage and retrieval of data from a collection in which the values of the elements contained are unique and serve as the key values according to which the data is automatically ordered. You can create a set of primitive data types or complex data types such as a Class, Record or Container. Below is sample of a set of records. static void _Set(Args _args) {     CustTable       custTable;     Set             set = new Set(Types::Record);     SetEnumerator   setEnumerator;     ;     while select custTable     {         if (custTable && !         {             set.add(custTable);         }     }     if (!set.empty())     {         setEnumerator = set.getEnumerator();         setEnumerator.reset();         while (setEnumerator.moveNext())         {             custTable = setEnumerator.current();             info(strfmt("Customer: %1",custTable.AccountNum));         }     } } Common mistake when creating a set of recIds

Import document handling (attachment) files #MSDyn365FO

Out of the box you have limited data entities for migrating attachments. If you search what is already in the AOT, you will see a few various examples. I suggest you look at the LedgerJournalAttachmentsEntity as it is the simplest and cleans to copy from. I wont go into detail but I will give a quick run down of what it looks like. Use the DocuRefEntity as your main datasource. It does most of the work for you. Set your table you want to import for as the child datasource Add the Key You will need to add the postLoad method. There is minor code to update the virtual field FileContents. Below is an export I did for the general journal attachments. The import zip structure should be the same way. It will create the usual artifacts such as the excel, manifest and package header xml files. You will see a Resources folder under that. If you drill down to the resources you will see the attachments. This is an export and it used the document GUID for uniqueness. The other thing is the extensi