Friday, November 11, 2011

Differences between different versions of AX (AX 4.0 , AX 2009 and AX 2012) - Part -1

Hi All,


This is Gayathri and I would like to take the privilege to start my first blog post with the differences between various AX versions. I have divided these differences into 9 major sections and posted them into 3 different posts. I hope these 3 posts will help the AX newbies and for the people who would like to get a quick look at the differences.

From past few years Giridhar Raj has been sharing all his experience in AX to us via this blog. First of all, I would like to thank Giridhar for making me a contributor to this blog.



Overview

S.No.
AXAPTA 4.0
AXAPTA 5.0
AXAPTA 2012
Implementation Process in AX 2012
1
Normal Menu
Normal Menu
Jewel Menu
2
Normal Navigation Pane
Normal Navigation Pane
Redesigned Navigation Pane which can be personalised by the users and also users can access more modules with one click
Can be personalized by users through the View button in the command bar
3
Status Bar
Status Bar
Status Bar can be personalised by each user(Tools > Options)
It is controlled by using the Status Bar Style Property within the form design
4
List Page
When the form template is set to ListPage, the form cannot have code that is running on the client
Shared List Page MetaData This is displayed in both the client and the Enterprise Portal
5
No Action Pane Strip
New Action Pane Strip control provides an action pane similar to Windows Explorer Bar.
This can be enabled by setting the ActionPane.style to Strip.
6
No Fact Boxes
Fact Boxes provides info related to the record displayed by the host form or List Page. InfoParts, FormParts, CueParts
7
No Preview Panes
Preview Pane displays more info abt the selected record in a list page.
Add a PartReference node to the Forms.Part node of the List Page.
Set the PartLocation property of the PartReference to PreviewPane
8
No Fast Tabs
Fast Tab: New vertical presentation style where lots of data can be displayed in a highly accessible way.
1. More than one tab page can be displayed at a time
2. Display of summary fields without being expanded.
1. Set Tab.Style property to Fast Tabs
2. Summary fields can be specified by setting the FastTabSummary property on a control within the tab page, or ideally by adding a field to the AutoSummary group on a table so that the field is made into a summary field when it is positioned in a Fast Tab page.
9
No Document View
Document view is introduced into client forms to provide developers and users the ability to have a read-only representation of data that reduces the risk of accidental changes.
Developers can permanently set the mode for a control or a control container by using the ViewEditMode property at design time.
10
Gray box-shaped row labels
The gray box-shaped row labels were displayed on the left side of each grid row are now replaced by Grid Check Boxes
Grid.RowLabels and Grid.MultiSelect
properties are used to control these elements.
11
Preview - a tooltip was displayed that provided the user a one- or
two-field preview of that record.
Enhanced Previews - more visible, available on any grid, also as specified by developers
1.Foreign key/any control: Set the Control.PreviewPartRef property to point to a Part (InfoPart or FormPart).
2.Table Foreign key: Table.PreviewPartRef property to point to a Part.
12
No Segmented Entry Control
Segmented entry control simplifies the task of entering complex account and
dimension combinations.
13
ActiveX control: ability to extend the user interface
Managed Control Host: Support for external controls is extended by adding support for both .NET managed controls and WPF controls
AOT > New Form > Right click Design > New Control > ManagedHost.
14
Forms used to save as a whole object
Now they save at child element levels, like Tables and Classes. This reduces metadata
conflicts when merging solutions into a single layer.
15
Controls and menu items cannot use metadata properties
Controls and menu items can use metadata properties to automatically disable or hide based on country/region context.
16
Not support
Forms support exporting changes from a single layer such as Tables
and Classes.
17
Not present
The CueGroup and InfoPart model concepts use granular metadata and layer export such as classes and tables.
18
The Filter-by-Grid, Filter-by-Field, Field-by-Value, Filter-by-
Selection
, and Advanced Filter dialog boxes support filtering on
outer joined fields by using the ON clause.
The Filter-by-Grid, Filter-by-Field, Field-by-Value, Filter-by-Selection, and Advanced Filter dialog boxes support filtering on
outer joined fields by using the WHERE clause instead of the ON clause.
19
Help System
A new Help system is used to supply Help documentation for the application and
development workspaces. No compilation, rebuilding, or AOT deployments are necessary to add Help documentation
New help content can be added by adding property formatted HTML files to the help server.
20
Users could only export data out of Microsoft Dynamics AX.
Microsoft Office Add-Ins: Both export and import data. Advantages are:
1. Lightweight reporting
2. Editing data in Excel
3. Improved Export to Excel for Remote Desktop Services
4. Import data using Excel
5. Templates and documents
21
No Work Items
Work Items: provides an alternative assignment and management model for task elements in workflows.
1. Create a queue for a specific document type.
2. Assign the queue to a queue group.
3. Add users to the queue.
4. Activate the queue.
5. Create a workflow and add a task element.
6. Set up the assignment to a specific queue. Then, when a record of that document type is submitted to workflow, a work item will be created and assigned to the queue.
22
Document Handling
Improved Document handling includes
support for URLs and a document file web service. Also ease the document handling process for companies that are geographically dispersed and that want to maintain their
paper-based documents in one location.
A URL can be attached to a transaction and a workflow definition can be configured to route paper-based document files for review.
• A new document file web service is added that can be used to retrieve document file metadata and route the data to the appropriate parties by using workflow.
• Document data can be entered, and the document file can be attached to the new transaction. This creates an audit trail for the original document.
23
Alerts - particular to a single legal entity
Alert rules are created at the company level if the data is associated with a company.
Alerts number sequence setup is included in Organization administration > Setup > Application parameters.
24
No Global Address Book
Company specific Global Address Book(Common Repository). Addresses are still stored in the entity tables, it was synchronized to the global address book tables
Global Address Book defined for global data. They are defined one time for the system and not one time for each company.
a.
Address Transition: all the data associated to an entity's address was stored in the entity table.
a.
Address Transition: the address info was still stored in the entity tables, it was synchronized to the global address book tables.
a.
Address Transition: the transition is complete by removing the synchronization and duplicate fields from the entity tables. Address data is stored
in the common address book tables.
b.
Data Normalization: the address was usually stored on the header and each line for each transaction.
b.
Data Normalization: the address was usually stored on the
header and each line for each transaction.
b.
Data Normalization: address duplication is reduced by storing the address one time and having each transaction or journal table reference the address record.
c.
No Address Defaulting
c.
No Address Defaulting
c.
Address Defaulting: users can select which address should be used as the default for a transaction.
d.
No Global Address Book Import
d.
No Global Address Book Import
d.
Global Address Book Import: As addresses are normalised, if data with an address is imported, both the address and data tables need to be updated.So, it has problems when it is loading nested and related tables.
To resolve this, AIF document services are updated to correctly import to the global address book.
The Microsoft Dynamics AX add-in for Excel is added to simplify
calling the AIF document service.
MorphX
S.No.
AXAPTA 4.0
AXAPTA 5.0
AXAPTA 2012
Implementation Process in AX 2012
1
The setup program installs deployment files, such as the Application Object Data (AOD) and Application Label Data (ALD) files on a file share.
The setup program installs deployment files, such as the Application Object Data (AOD) and Application Label Data (ALD) files on a file share.
The AOD & ALD files are now stored in the model store and alternate Model Store. Model store is stored in the SQL database.
2
AX stores the metadata in the application files called AOD files on a file share. AOS reads the application files to etrieve the necessary objects at run time. The AOS retrieves the metadata from the AOD files.
AX stores the metadata in the application files called AOD files on a file share. AOS reads the application files to etrieve the necessary objects at run time. The AOS retrieves the metadata from the AOD files.
SQL Server-based Model Store: The AOD files are replaced by a SQL Server database named the model store. The AOS retrieves the metadata from the model store instead of AOD files.
3
AOD files are stored in Application directory
AOD files are stored in Application directory
Model Files are stored in SQL database.
4
Models can be exported, installed, or uninstalled from the model store. Models are identified by a name and a publisher, and have a set of properties that can be changed, including a version number.
5
.aod is the extension for application files
.aod is the extension for application files
.axmodel is the extension for Model
6
Management of AOD:
Management of AOD:
Management of Models:
1. AXUtil.exe command-line utility is used to create, export, import, uninstall, and list installed models.
2. Programmatically: Developers can use the DLL(axutilib.dll) to create custom interfaces to manage models.
3. PowerShell cmdlets used to create scripts to perform actions repeatedly along with create,export etc.
1.Go to Start > All Programs > Accessories > Command Prompt.
2.Enter the following command to go to the appropriate directory. Cd "c:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\Bin".
3.Open the administrative utility axutil.exe.
4.Enter the command axutil.exe /? and then click Enter.
5.Review the various commands and parameters that are used by each cmd.
7
AOD Files are used for storing the elements.
AOD Files are used for storing the elements.
AOD files are no longer used and are replaced by the model store. So AOD files from earlier versions are loaded into the new model store.
During version upgrade or on the Tools menu by clicking Tools > Code upgrade > Import AOD File.
8
The current model can be set at the command line (AxUtil.exe), or by selecting the startup model in the User Option. To set the startup model in User Options select Tools > Options > Development > Startup model.
9
Displaying Model Tags: The AOT supports displaying which model a particular element belongs to, in addition to the familiar layer tags
Tools > Options > Development > AOT > Application object model.
10
Moving Model Elements: Any element created in the current layer can easily be moved to another model in the same layer. Right-clicking the element and then selecting Move to model.
11
Workspace: The application workspace and development workspace are combined
Workspace: The application workspace and development workspace are combined
Workspace: The application workspace and development workspace are separated. The developer workspace contains all the tools and features a developer needs for creating and customizing an application. Saved changes in the Development Workspace are always synchronized with the Application Workspace within the same client instance.
12
Normal X++ Editor
Normal X++ Editor
X++ Editor based on hosting a Visual Studio 2010 Editor Framework control.
13
Normal X++ classes and methods are used for development
Normal X++ classes and methods are used for development
X++ classes and methods can now be decorated with metadata in the form of attribute classes. An attribute class is any non-abstract class that inherits from the SysAttribute class. Detailed metadata is assigned through the constructor of the attribute class.
14
The system administrator had to manually copy label files from one environment to another.
The system administrator had to manually copy label files from one environment to another.
The label files are installed as part of the model file. Developers can view and import label (ALD) files in the Labels node in the AOT.
15
Application Hierarchy Tree
Application Hierarchy Tree
Type Hierarchy Browser: It enables browsing type hierarchies in the application model, including table inheritance. It also provides a view of members across the hierarchy. The view provides navigation to edit the method members.
16
No Type Hierarchy Context
No Type Hierarchy Context
Type Hierarchy Context provides contextual hierarchy information about types. It can be docked in the developer workspace. When you select a node in the AOT, it shows the parents from the object to the built-in kernel base types. You can navigate to the Type Hierarchy Browser for any of the nodes in the context hierarchy.
17
Reverse engineering is a feature that is used by partners to easily retrieve detailed information about the structures and relationships of the Microsoft Dynamics AX business logic and data model.
Reverse engineering is a feature that is used by partners to easily retrieve detailed information about the structures and relationships of the Microsoft Dynamics AX business logic and data model.
Reverse engineering tool is improved to support table inheritance and automatically includes parent elements in the generated models.
The Reverse Engineering tool lets you visualize data and object models generated from projects in Microsoft Dynamics AX. These models are created as Microsoft Visio documents.
Right-click a project and select Add-ins > Reverse Engineer.
Data Access
S.No.
AXAPTA 4.0
AXAPTA 5.0
AXAPTA 2012
Implementation Process in AX 2012
1
Relational Modeling:
1. Data normalization
2. Support date effectiveness
3. Support relationship defined at the table level instead of at EDT.
2
Able to define relations at EDT and Table levels.
Able to define relations at EDT and Table levels.
The ability to define relations on EDTs is removed
3
No Table Inheritance
No Table Inheritance
Table Inheritance: Just as an X++ class can inherit from another class, a table can inherit from another table. A table that inherits from the base table is called a derived table. the terms parent table and child table are used to describe foreign key relationships, not inheritance
4
No Surrogate Key
No Surrogate Key
A surrogate key is a system generated value that acts as the primary key of a table. This value is typically used instead of a set of fields called the natural key which would typically act as the primary key of a table. Microsoft Dynamics AX 2012 uses RecId as the surrogate key.
5
The client supports lookup controls where the form’s table contains alternate foreign keys. Because the natural foreign key is contained on the form’s table, no additional query joins are needed to obtain an end-user understandable value.
The client supports lookup controls where the form’s table contains alternate foreign keys. Because the natural foreign key is contained on the form’s table, no additional query joins are needed to obtain an end-user understandable value.
New and refactored tables will be using the RecId surrogate key as their primary key, replacing the keys that contain user understandable values.
6
No Date Effectiveness
No Date Effectiveness
Date effectiveness is an ability of the application to associate valid from and to dates with the application artifacts. Eg: an agreement valid date ranges.
Also it provides the functionality to create forms that manage editing of past, current and future records.
7
No Unit Of Work
No Unit Of Work
Unit of Work enables the developer to group tables so they are treated as one single transaction. It allows the developer to have one single trip to the Application Object Server (AOS) to change multiple records.
The Unit Of Work feature supports client form ONE-TO-ONE relationship joins.
The Unit Of Work feature supports the X++ ONE-TO-ONE relationship and ONE-TO-MANY relationship joins.
8
Data Access Framework: The records in the Temporary Table are stored in the db.
Data Access Framework: The records in the Temporary Table are stored in the db.
Data Access Framework:
TempDB Temporary Tables
is now a drop-down menu with several options. The enum value TempDB is the new type of temporary table that is hosted in the underlying Microsoft SQL Server database. The enum value InMemory is the legacy type of temporary table that is hosted in the client.
9
When changing the configuration key to disable a table, the table is dropped from the SQL database, deleting all data in the table.
When changing the configuration key to disable a table, the table is dropped from the SQL database, deleting all data in the table.
When the configuration key for a table that is listed in the AOT is disabled, the corresponding table in the underlying database management system is not dropped.
10
No Expression Operators for Inheritance
No Expression Operators for Inheritance
Expression Operators for Inheritance(is & as):
is
operator is used to test whether an object is, either directly or by inheritance, of a given type. The as operator is similar to the is operator, the difference is the return value:
•IS returns a Boolean
•AS returns NULL or the designated value as the designated type
11
No QueryFilter
No QueryFilter
The new QueryFilter class can be used to filter the result set from an outer join. The QueryFilter class produces different results than the QueryBuildRange class in outer joins. The results are different because the QueryFilter class filters later in the internal query process and helps prevent rows with null values from appearing in the result set.
12
No Full Text Index
No Full Text Index
Full-text functionality that enables AX to search business data over a large volume of text data or documents. These can be automatically updated at the same time that the data is changed in the associated tables.
In the AOT, the ChangeTracking property of a full-text index can be set to either Auto or Manual. Indexes with the Auto property are updated automatically by the SQL Server as data is changed in associated tables. Indexes with the Manual property must be manually updated at a specified interval. The ChangeTracking property defaults to Auto for a new full-text index. Use the ChangeTracking property for optimum response time and throughput for the Microsoft Dynamics AX application.
13
No Computed Columns in Views
No Computed Columns in Views
A computed column is the output of a computation that inputs a regular column.
14
16 byte object ID
16 byte object ID
The 16 byte object ID is upgraded to 32 bytes. This change exponentially increases the number of object IDs.
15
No Eventing
No Eventing
Eventing lets the user use a publisher and subscriber model when manifesting changes occurring in the X++ application. Events can be modeled in metadata or be used as a programming construct and can be handled in either X++ code or in managed code.
..........Other 6 sections to be continued in my next posts
Click on the following links to view the differences on other sections...........

4 comments:

Abdul Qadir Khan said...

Thanks Gridhar for this blog. I successfully found a way to hide the summary on my fasttab by emptying my table > AutoSummary group.

However I had difficulty in reading your blog due to an erronous page layout as your right bar widgets are overlapping the blog post area, please do correct that.

Abdul Qadir Khan said...

Thanks Gridhar for this blog. I successfully found a way to hide the summary on my fasttab by emptying my table > AutoSummary group.

However I had difficulty in reading your blog due to an erronous page layout as your right bar widgets are overlapping the blog post area, please do correct that.

Abdul Qadir Khan said...

Thanks Gridhar for this blog. I successfully found a way to hide the summary on my fasttab by emptying my table > AutoSummary group.

However I had difficulty in reading your blog due to an erronous page layout as your right bar widgets are overlapping the blog post area, please do correct that.

Abdul Qadir Khan said...

Thanks Gridhar for this blog. I successfully found a way to hide the summary on my fasttab by emptying my table > AutoSummary group.

However I had difficulty in reading your blog due to an erronous page layout as your right bar widgets are overlapping the blog post area, please do correct that.