Quality Assurance for Dynamics AX-Based ERP Solutions

By Anil Kumar Gupta
  • Instant online access to over 7,500+ books and videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Introduction to Dynamics AX

About this book

Dynamics AX is a next-generation ERP system that can be customized in any area to provide a competitive edge by facilitating ERP implementations that follow the time-proven processes being used by businesses. This ERP system not only provides additional flexibilities but also has some other unique features such as its layered customization approach, separation of language elements from code, feature keys, etc. All these features add great value allowing implementation of solutions in a flexible, cost-effective, risk-free, and timely manner but these things may add challenges in quality assurance of these solutions.

This book discusses the methodology to ensure quality standards in Dynamics AX customization projects and IBI-compliant independent software vendor application development. Dynamics AX customization is not equivalent to fresh application development; however, Dynamics is so flexible that it allows customization in almost all areas, which poses greater challenges for correctness, accuracy, and trustworthiness of customized Dynamics AX-based ERP solutions.

This book discusses the quality expectations from Dynamics AX-based ERP solutions, best practices that need to be followed to meet the quality expectations, and the strategies to test a customized Dynamics AX ERP application.

Publication date:
February 2008
Publisher
Packt
Pages
168
ISBN
9781847192912

 

Chapter 1. Introduction to Dynamics AX

Today's business environment is a very competitive, dynamic, and turbulent place where the key for business survival is being closer to the customer and delivering value-added products and services in the shortest possible time.

Therefore, the following things should be eliminated:

  • Unknown or inaccurate job costs

  • Inventories that do not meet or far exceed production requirements

  • Duplication of effort to capture vital data that impacts employee efficiency

  • Commonly setting inaccurate customer expectations

  • Missing promised delivery dates regularly

  • Operations performance not being achieved to an economical level

  • Little or no ability to forecast and plan production requirements with any degree of accuracy

This in turn demands:

  • Coherent working of various organs of a business

  • Enhanced operating efficiency by calculating and forecasting various business parameters

  • Efficient resource utilizations through better planning

  • Better customer relations, meeting deadlines, resolving issues promptly, and meeting quality standards with reasonable cost

Information technology empowers businesses to meet the above challenges through Enterprise Resource Planning(ERP) solutions.

Dynamics AX is an ERP solution from Microsoft, which is becoming very popular due to its characteristics. We will discuss the key characteristics of an ERP solution and Dynamics AX. During customization all these characteristics should be retained, hence we will also discuss how we can preserve these qualities during customization by studying the various best practices related to Graphical User Interface, technical design, trustworthy computing, and defect management. These also consist of most of the IBI specifications related to quality control in Dynamics AX IBI-compliant projects.

We will also discuss verifying different kind of characteristics through various kinds of testing. Lastly, we will discuss some Dynamic AX built-in tools that could be useful for testing activities.

In this chapter we will discuss:

  • Key characteristics of an ERP solution

  • Advantages and disadvantages of an ERP solution

  • Dynamics AX as an ideal ERP system

  • An overview of Dynamics AX customization, IDE, files system, and layer system

 

Introduction to ERP


An ERP system is a strategic tool, which can help businesses to achieve the previously listed goals. It is a collection of various business processes in an integrated fashion, which simulates the real-world business functions and provides seamless integrated information at all the required places in an appropriate form. It helps the enterprise link, utilize, and allocate its resources in the best possible manner, and control them on a real‑time basis. It enables the enterprise to achieve world-class performance by streamlining its processes, optimizing the resources, and taking quick, accurate, and consistent decisions.

Now it is obvious that an ERP solution should have one essential characteristic—ability to integrate various business functions. However, there are greater expectations from a usable ERP system. The following list summarizes the business needs and expected characteristics of an ERP solution.

  • Total Cost of Ownership (TCO): An ERP solution is not just a tool; it is an organization-wide synchronization of business processes and hence is a very large size software application, which could take several years to implement. The TCO does not only consist of ERP product cost and customization cost, it also includes the cost to bring about cultural changes in the organization (training, etc.). In such a large size project, TCO is one of the critical decision criteria.

  • Flexibility: An ERP solution may have to be modified (both in configuration and coding) as per the needs of the business organization, which may change with time due to changes in business size, strategy, or legal system. It should be able to run on different hardware and databases to use the company's heterogeneous collection of systems. The ERP should be customizable so that ERP business processes can be modified as per the unique business processes of the organization.

  • Usability: The solution must be useful to the end user to fulfill his or her mission, and enable "Joy of Work" at the same time. This can be turned into reality by adopting known standards, consistency, and intuitive UI design.

  • Coherence of business processes: The advantages of an ERP solution can be unleashed only when it offers coherence of business processes, i.e. information is available at all required places, it is not necessary to enter the same data twice, and the existing information is reused wherever relevant and possible.

  • Modular: An ERP system should have open system architecture. This means that any module should have the capability to be interfaced or detached whenever required without affecting the other modules.

  • Integration: Enterprises may already be using some IT infrastructure and might not want the complete infrastructure to change for some reason (such as cost, strategic reasons, etc.). It should be easy to integrate new modules or external applications to the existing solutions.

  • Trustworthiness: An ERP system should be trustworthy i.e. it should have the following attributes:

    • Security: To ensure that information and data are safe and confidential.

    • Privacy: Information security is essential else competitors could reap the benefits of business-critical data as well as the methodology for various business processes. Hence privacy is a critical element.

    • Reliability: In today's extremely complex IT applications such as ERP solutions, end-to-end reliability is a key challenge for meeting customers' expectations and making an ERP application trustworthy.

  • Responsiveness: An ERP system should not only handle normal load conditions but also abnormal conditions, such as heavy workloads at the end of financial year due to closing reports and projection reports.

  • Internationalization: If an ERP system is being implemented or used in multiple geographic locations, the ERP solution must be properly internationalized with:

    • Different languages and character sets.

    • Ability to present data in a format used in each locale.

  • Localization: Whenever an ERP system is implemented, the major cost of customization occurs for two things, localization as per local needs and adaptation as per industry or sector-specific needs. The following need to be considered to localize an ERP system:

    • Governmental, legal, and market requirements: e.g. social medical benefits in payroll, weekdays for a business (as they are different in different parts of the world).

    • Cultures: e.g. in some places the name of a person may consists of two parts—the first and last—while in other parts of the world, it may be composed of five parts.

    • Standards: e.g. financial reporting standards.

    • Formats: e.g. date, time.

    • Currencies.

    • Time zones.

    • Users.

  • Scalability: Business sizes change with time and hence a small ERP solution—few modules, few features enabled, few users, and only a few transactions—should be able (and is expected!) to grow.

  • Code documentation: Once an ERP system is implemented, it may be used for several years and hence may be maintained by several developers or companies. During its life span it may require modification due to changes in the business needs and hence it is necessary to understand the code written by various developers in order to modify it. Hence code documentation is needed. Code should be well documented from different perspectives such as code changes, features related to code changes, etc.

Advantages of an ERP System

The benefits of ERP systems can be categorized into the following categories:

  • Operational control

  • Management control

  • Strategic planning

Now we will discuss all the benefits of these categories.

Operational Control

The critical advantage of an ERP system is improved operational control and hence the following benefits are offered:

  • Reduced operating costs by better planning (and hence improved resource utilization)

  • Lower inventory control cost due to better visibility and efficiency

  • Cost savings due to reduction in duplicated efforts

  • Reduction in non-value added activities (lean processing)

  • Improved capacity utilization due to efficient operations

  • Lower CRM cost due to better customer expectation management i.e. meeting timeline and cost savings due to improved operational control

  • Adherence to defined process

Management Control

Another critical advantage of an ERP system is improved management control. ERP systems offer better accessibility to data so that management can have up-to-the-minute access to information for decision making and managerial control. An ERP system helps track actual costs of activities and performs activity-based costing.

A few benefits in this category are as follows:

  • Improvement in decision making through more accurate and real-time data as well as historic data

  • Availability of instant information to all concerned organs of the business

  • Data standardization and accuracy across the enterprise as it allows Single Point of Entry (i.e. at the source of that data), and hence single source of truth

  • Reduced Lead and Cycle Times and hence ease in meeting customer expectations regarding timelines

Strategic Planning

An ERP system enables top management for strategic planning i.e. planning future goals and objectives and formulating strategies to achieve those goals and objectives keeping historical data in consideration.

  • Improved planning and forecasting due to availability of historical data and analysis data

  • Better financial control through extended capabilities for financial estimations, analysis of cash flow, and monitoring of various transactions

Disadvantages of an ERP System

Though we have discussed a lot about the benefits of ERP, there are two sides to every coin and an ERP system is not an exception. Here are a few disadvantages of ERP systems:

  • Customization is limited in many situations: Many of the ERP solutions don't allow customization in other than reporting i.e. the information contained in a report and presentation of information. It poses serious limitations on the advantages of an ERP system, since businesses differ from one another for sure. No two businesses are exactly the same. So a true well designed global ERP system should readily allow partners and customers to customize and get the most out of the system to realize their full potential. Unfortunately, except Dynamics AX, almost all other ERP solutions have too many limitations on customization.

  • The need to reengineer business processes: As mentioned earlier almost all ERP solutions don't allow much customization, and hence businesses are compelled to adopt the business processes suggested by that ERP system, which may involve risk. Businesses may not be willing to reengineer their business processes as they are using time-proven processes suitable for their custom needs and conditions. Since Dynamics AX allows customization in almost all areas, this risk is not involved as there is minimal need for business process reengineering.

  • Rigidity: ERP solutions may be too rigid for specific organizations that are either new or want to move in a new direction in the near future.

 

Introduction to Dynamics AX


Microsoft Dynamics AX is an integrated, adaptable business management solution that offers great flexibility and easily adapts itself to ever-changing business needs. In other words it offers competitive advantage by delivering a complete easy-to-use, scalable enterprise resource planning (ERP) package to automate and streamline processes across your financials, customer relationships, business services, human resources, and supply chain.

Traditional ERP vendors appealed customers not to customize the software for ease of upgrade, etc. As we discussed earlier, every business has some uniqueness, which gives that business organization a leading edge. Such unique features can only be implemented in an ERP system by customizing it. If an ERP system prevents businesses from following unique business processes that provide them a competitive advantage, nobody will be interested in deploying such a system. Hence an ERP system should be easily customizable. It will definitely enable businesses to get most out of the system to realize their full potential.

Microsoft Dynamics AX is an adaptable business management solution useful especially if you're in the manufacturing/distribution, e-business, wholesale, or service industry. It offers manufacturers a broad functionality that supports build-to-order, engineer-to-order, and build-to-forecast supply chain models across both discrete and batch-process manufacturing modes.

Dynamics AX also delivers a range of financial capabilities including the ability to consolidate accounts with subsidiaries or distribution centers and give employees access to accounting, reporting, and extensive analysis tools at levels appropriate to their positions. Dynamics AX gives you everything you need for fast and reliable data intake and processing, and enables you to make informed decisions and achieve business goals.

Microsoft Dynamics AX will allow us to efficiently and effectively manage our business going forward. It allows us to continue to develop an environment that is cost effective without the functional limitations we had to contend with previously. — Pascal Kouknas, IT Director Dynamics AX and Asia Pacific, Esselte (http://www.esselte.com) (Source:http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=1000003878).

 

Dynamics AX as an Ideal ERP System


We have discussed the qualities of an ideal ERP system, now we will discuss the qualities that Dynamics AX possesses.

Total Cost of Ownership (TCO)

In any business organization, cost is the primary concern for any new initiative; an ERP system is no exception to that. Dynamics AX offers cost advantages due to following unique features:

  • Dynamics AX provides the same version of code for Web and Microsoft Windows clients, which leads to simpler, less expensive development and IT costs, and provides a great degree of ease for businesses that are either distributed or have a mobile workforce.

  • Separate layers for industry-specific verticals and country-specific localization not only offer cost savings but also reduce efforts required to implement the Dynamics AX.

  • Due to the layered technology of Microsoft Dynamics AX, customizations can be easier to build and maintain. You can customize one layer without affecting the functionality of the other layers. This means that you can adapt and upgrade your solution over time with less disruption to business, risk, and expense.

  • Because of feature keys, any functionality can be enabled or disabled for an individual user or user group. This not only gives flexibility but also reduces the total cost of ownership.

  • Since Dynamics AX is an ERP application based on common Microsoft standards, which end users are generally aware of, less effort are required to train the end user.

Flexibility

Flexibility is another important aspect in an ERP solution, but unfortunately most of the current ERP solutions lack it. For example, with an ERP package like SAP, you have to adhere to SAP's ideas about your business, what they think about uniqueness of your business and strategy. Dynamics AX has an edge due to the following features:

  • Customization flexibility: Dynamics AX allows changing anything you need. Businesses see this as a wonderful feature. This is the key for the ERP you implement, to grow as your business grows. Going with an ERP package like SAP, you have to adhere to SAP's thoughts about your business, how they think it is best for your business run. With Dynamics AX, you are in control, and, granted best business practices should be sought after, those best practices can be applied to your custom needs. This helps businesses to reduce the total cost of ownership.

  • Layered programming: Microsoft Dynamics AX offers a layered technology of customizations to facilitate building and maintenance. You can customize one layer without affecting the functionality of other layers. This means that you can adapt and upgrade your solution over time with less disruption to business, risk, and expense.

  • Feature key: Feature key code is a wonderful system. Using feature keys, features can be disabled or enabled for an individual or a user group.

Microsoft Dynamics AX combines rich out-of-the-box functionality with added flexibility, giving The Systems Depot the ability to adjust capabilities to meet its exact business needs.— Jan Sorensen, Senior Managing Consultant, BKD Technologies (http://www.sdepot.com). (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=1000003831.)

Usability

Any software or ERP package can be considered successful only if the end user can use it productively. Dynamics AX is considered to be a highly usable ERP package for the following reasons:

  • Microsoft Product: Dynamics AX is owned and developed by Microsoft. Currently Dynamics AX 4.0 is highly integrated with the different product lines of Microsoft, and with the release of Vista, DotNet 3.0, Commerce Server 2007, SharePoint Server 2007, Exchange 2007, and Office 2007, all these product lines will become even more tightly integrated into the Dynamics AX product. This means that you will be able to work from SharePoint Excel Services, and create a Spreadsheet that could work directly with Dynamics AX ERP data; and it could all be centrally managed in a decentralized controlled fashion by an information worker. Besides this Microsoft has a long-term vision for integrating various Microsoft products, for example, Microsoft is planning to support full integration of Microsoft Office PerformancePoint server and Dynamics CRM will support full integration with Dynamics AX 5.0.

  • Familiarity with Microsoft: The best way to make a company productive is to make the people in it more productive. To accomplish this goal, people need business software tools like Microsoft Dynamics that enable them to work the way they like. When you implement Microsoft Dynamics, you support and enhance the work your people do, and the way they do it. Microsoft Dynamics AX works like familiar Microsoft software such as Microsoft SQL Server, Microsoft SharePoint products and technologies, and Microsoft Office products, which means a reduced learning curve for your employees, so that they can focus on their jobs.

We also wanted the system to provide our business users with the information they needed, in an intuitive, easy-to-use environment. That's what Microsoft Dynamics AX has given us.— Tomasz Gesiarz, Director of Finance and IT, Lantmännen Unibake Poland. (http://www.lantmannen.com) (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=1000003869)

Performance

Dynamics AX 4.0 has some advanced concepts to optimize its performance. A few are listed below:

  • Data Compression: This ensures minimum time for data traveling through the network and hence performance is improved and added security is a bonus.

  • Axapta Object Server (AOS) Thread Pooling: This allows AOS to have a lower number of threads (less than the number of logged in users) and hence performance is improved.

Coherence of Business Processes

Software applications like Payroll, Accounting, Purchase management, etc. have been available for a long time, but these individual applications could not be integrated with each other and hence communication between various business processes/departments was manual, which put serious limitations on the benefits of information technology. An ERP system offers coherent working of various business processes and hence is the solution to this integration problem.

  • Dynamics AX 4.0 also includes roles-based features so that users can gain easy access to the business data relevant to their position within an organization.

  • With comprehensive features that help to automate and streamline financials, customer relationships, business services, human resource management, and supply chain processes, Microsoft Dynamics AX 4.0 brings together people, processes, and technologies located worldwide. In this way, Microsoft Dynamics AX 4.0 helps to increase the productivity and effectiveness of your business.

Through sales and purchase procedures we have minimized multiple data input and optimized workflow between the offices. Now, fewer people need to be involved in these processes.— Alexander Sharafutdinov, Chief Information Officer, UCC Shchekinoazot (http://www.n-azot.ru) (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=200916.)

Easy to Integrate

In an organization there may be a need to preserve old investment in different software application or some specialized software needs to work with an ERP system. In such cases it is necessary that an ERP system offers various industry-standard methods of integration. Microsoft has a long-term strategy to integrate various applications such as MS Office, Microsoft Office PerformancePoint server, etc. Dynamics AX can be integrated using the following technologies:

  • Microsoft Dynamics AX 4.0 includes the Application Integration Framework (AIF), which lets organizations extend the solution by easily inserting business logic from other vendors' applications with no dependencies created within the core solution. In addition, AIF acts as a web services toolbox by exposing all the application components and gives developers a head start by publishing an extensive set of web services for core business processes such as receiving and fulfilling orders.

  • Biztalk is a compatible integration adapter for Dynamics AX, which offers many advantages such as real-time visibility across the extended organization, flexibility, ease of deployment, and improved ROI.

  • Dynamics AX can be connected with external data sources using web services as well as industry-standard technologies such as Microsoft BizTalk Server, Component Object Model (COM) integration, Microsoft Message Queuing (MSMQ), Simple Object Access Protocol (SOAP), Microsoft .NET Framework, XBRL, and XML.

  • Microsoft Dynamics AX is designed with common standards shared with other Microsoft applications; it enables tighter integration and more seamless connectivity with products such as Microsoft Windows, Microsoft Office programs, and Microsoft SQL Server 2005.

  • Dynamics AX supports different Microsoft-developed document formats used by Microsoft Office Outlook messaging and collaboration client, Microsoft Office Word, and Microsoft Office Excel spreadsheet software and interoperability can be assured.

  • Unlike some business management systems that force you to use specialized tool sets, Microsoft Dynamics AX uses standard adapters based on SQL Server Reporting Services and the Microsoft Visual Studio. NET development system. This instantly enables you to access a wide variety of industry-standard integration protocols and trained integration partners that you can use to connect to the business management solutions of your business partners.

We chose Microsoft Business Solutions Dynamics AX because of the possibility of integrating it with office software suites, flexible reporting, the ability to display information in two currencies, the multilingual user interface and the functionality of the Project Module, all giving us an advanced project management system.— Agnieszka Burak, Chief Accountant ZWIK. (http://www.zwik.lodz.pl/) (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=200554.)

Internationalization

Internationalization is very much necessary when the scope of business is more than one country. The following features make Dynamics AX a true internationalized ERP solution:

  • Dynamic AX is Unicode compliant. Today Unicode is the largest industry standard character set; compliance to Unicode means that you can access new regions and transport data through many different systems with least risk of data corruption. Unicode compliance enables you to integrate with subsidiaries where the language might use a multi-bit character set such as China, Japan, and other East Asian countries.

  • Dynamics AX supports the linkage of date/currency format with locales, which enables Dynamics AX to automatically change the date format as per the standards of the locale. Dynamics AX supports multiple languages and multiple currencies (more than 36 languages and 40 currencies).

Localization

The business processes cannot be identical in different countries as there may be differences in the regulatory system, tax structure, language, currency, and locale. IntelliMorph is a feature that provides the capability to Dynamics AX to realign its Graphical User Interface according to difference in business processes. Besides that, the following features are very helpful to localize the Dynamics AX ERP package.

  • Microsoft Dynamics AX is featured to support built-in multi-site, multi-language, and multi-currency capabilities in 36 countries and 40 languages.

  • One can get local tax, regulatory, and market requirements from the localization layer of Dynamics AX.

  • The label file system is a powerful feature in Dynamics AX, which enables Dynamics AX to automatically change labels as per the locale settings.

Because of the multi-language tool in Microsoft Dynamics AX, our employees can work more productively in their local language.— Patrik Dannehall, IT Director, Haldex Europe. (http://www.haldex.com) (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=200926.)

Scalable

Businesses grow with time; a small business may turn to a multimillion dollar business tomorrow. In such cases it is necessary that an ERP solution is highly scalable, i.e. it should be able to change according to the growing business needs. The following features make Dynamics AX a highly scalable solution:

  • Dynamics AX is truly modular in structure and various modules can be added or removed easily if the core of Dynamics AX is not touched. You can use the functions you need now and unlock additional capabilities as needs arise. Dynamics AX is modular up to the second degree i.e. it is not only modular up to department level but it goes further; e.g. HR has HR 1, HR 2, HR 3.

  • With the MorphX development environment, developers can design, edit, compile, and view the changes within minutes using a single screen.

  • Microsoft Dynamics AX can easily adapt to market changes, which helps your people and business follow the market and work more effectively. Furthermore, you can extend the already powerful core solution by adding industry-specific solutions provided by a wide variety of partners and independent software vendors.

  • Dynamics AX supports the three-tier, object-oriented architecture of Microsoft. Dynamics AX integrates with other Microsoft technologies such as Microsoft SQL Server, offering you high-speed server-side performance and the capability to scale your IT infrastructure easily, so the solution can grow with the company.

Microsoft Dynamics AX is a scalable, flexible solution that is capable of supporting our technology requirements, both now and in the future.— Sébastien Batt, Manager of Microsoft Dynamics AX E-Commerce and Back-Office Systems, Stock Fenêtre. (http://www.stock-fenetre.com) (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid= 1000003854.)

Code Documentation

During the life span of an ERP system, other developers might need to understand the code written by the developer, and hence it is necessary that any modification made to the standard Dynamics AX is documented. Dynamics AX facilitates documenting why and what customizations were made by various developers, which would help a new developer to understand and customize new functionalities.

Comprehensive Functionality

Last but not least, an ERP system should be functionally rich to accommodate business processes with minimal changes in the standard ERP package. This not only enables rapid implementation, but also reduces the total cost of ownership.

  • Dynamics AX offers a wide range of industry-specific verticals developed in compliance with Microsoft Industry Builder Initiative (IBI) specifications. Compliance with IBI specifications not only ensures the quality in these verticals, but also goes beyond that (such as prompt support services, etc.). The high adaptability of Dynamics AX ensures that it can be implemented as a feature-rich ERP where all business processes are customized as per the custom need.

  • Microsoft Dynamics AX is designed to provide your customers/vendors security-enhanced access to the business information they want over the Internet. Secured Internet access helps your customers/vendors enter sales orders and find shipment status, account balances, inventory stock levels, and purchase order status—24 hours a day, 7 days a week—from anywhere in the world.

  • Built-in business models are the true power of Dynamics AX. It supports a wide types of functionality, e.g. it not only supports the various supply chain models such as build-to-order, engineer-to-order, and build-to-forecast, but also works well in mixed-mode environments.

It is now possible for us to get the data we need to react to changes and effectively manage the business in a timely fashion. The system allows us to track an individual item by group or by its specific part number. This gives us the visibility we need over the global operations,— Joe Horvath, Vice President of the Apollo Program Office, Esselte. (http://www.esselte.com) (Source: http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=1000003878.)

 

Customization of Dynamics AX


Virtually all business owners strive to do something to stand out from their competitors; the same cannot always be said for their choice of off-the-shelf software. As a result, the unique aspects of a business are often lost in a "plain vanilla" integrated enterprise application. However, the Dynamics AX solution allows businesses to integrate their unique terminology, formulas, processes, and business strategy totally and seamlessly into the software. Now we will briefly discuss some of the useful features in Dynamics AX, which are very useful for Dynamics AX customization.

MorphX

Microsoft Dynamics AX provides an integrated development environment called MorphX. It is very intuitive and enables developers to graphically design, develop, and report for both types of interfaces, i.e. Windows client and web browser interfaces. The MorphX development tools are available at the Tools | Development tools menu. This tool helps developers extensively by offering designing, editing, and compiling through a single screen. Once the changes are compiled, all changes will be reflected by the application.

The MorphX development suite is a collection of a wide range of features. which enables fast pace customization, with affordable cost, without affecting the reliability, integrity, and security of the original solution, i.e. with minimal risk involved. Another useful tool, which provides the wonderful capability to align the GUI as per the context of location, language, currency, regulatory requirements, etc. is IntelliMorph. We will discuss it in the following section.

IntelliMorph

Usually the major concern for the solution designers or developers is that a GUI entity (form, report, etc.) works well in all the languages supported. It is easy to translate different labels by using label file systems. However, the length may vary greatly, which could spoil the entire GUI design and the usability of such systems would be compromised.

In different countries, functionality may be used in a different way or some of the fields may be hidden or extra ones required. This may also be the case with different companies.

Consider a scenario where some business processes may not be implemented, and hence all connections from other business processes to this business process have to be removed. Therefore, some fields may need to be added and some removed from all the relevant business processes. Due to such addition or deletion of fields the GUI may change, which will be highly inconvenient for the user.

MorphX has a solution for the above mentioned scenarios, i.e. IntelliMorph technology. The IntelliMorph technology allows forms and reports to automatically resize the display widths to accommodate the word length, and hence the GUI remains in a presentable or useable shape.

Feature Keys

In any ERP solution we can classify three kinds of features:

  • Standard features that fit the need of the customer

  • Standard extra features that are not to be used in an implementation

  • Customization to fit the ERP to a business scenario

Isolation of unwanted features, i.e. making a subset of standard functionality by disabling a few features, can be easily done by enabling or disabling feature key codes. Using feature keys, one can create a subset of the standard functionality for an installation. The feature key system can work for a single user or a user group. This feature is another tool that makes Dynamics AX a highly adaptable ERP.

Feature keys not only work on tables, forms, reports, queries, and menus, but also beyond that, i.e. on individual classes or methods.

X++ Programming Language

The language that is used for development and writing classes and methods in Microsoft Dynamics AX's integrated development environment is an Object-Oriented language similar to Sun Microsystems JAVA and C++. It is based on JAVA with SQL embedded into the code. The language has extensive checking system for object references both at the time of compiling and also at run time. If any object in the system is found without reference then its storage is reclaimed.

The X++ language follows OOPS concepts and the concept of inheritance is valid as in any other Object-Oriented language. It offers a great advantage as the changes made in the properties at one place in Microsoft Dynamics AX should be reflected/inherited at all the places where that object is being used within Microsoft Dynamics AX. If, for example, the display property of a database field is changed from a length of 10 to a length 15 characters then it gets changed in all the forms where this field is shown or used.

A statement written in any language may be syntactically correct but it is not an assurance that it is as per the recommended best practices of programming. Dynamics AX has a built-in tool known as Dynamics AX Best Practice Check Tool.

Dynamics AX Best Practice Check Tool

Reviewing code is very time consuming as it requires reviewing each statement against a large number of checkpoints. Manual reviewing of code against such a large number of quality checkpoints is almost impossible due to cost reasons. Dynamics AX has an inbuilt tool for code scanning. It is named Dynamics AX Best Practices Check tool or ABC tool. It validates the code against over 200 checkpoints.

Application Component Management

All the objects in Microsoft Dynamics IDE can be effectively managed by automatically attaching identification of the developer who modifies any object with a date and time stamp.

The components are locked and checked out of the system when they are being worked upon. After the developer has finished working, the components are unlocked and checked into the system.

Dynamics AX Layer System

Dynamics AX offers complete flexibility to customize every aspect of it (functionality and Graphical User Interface, etc.) and elegantly preserve the various changes made by different parties in its own containers i.e. layers.

The Dynamics AX application layers are a hierarchy of levels in the Dynamics AX application source code, which ensures that you can make modifications and additions without interfering with the application objects on the level below your own.

Microsoft Dynamics AX customizations are easier to build and maintain due to the layered technology, which facilitates customizations by different partners in different layers. You can customize the features coded in one without affecting the features coded in other layers. This means that you can adapt and upgrade your solution over time with less disruption to business, risk, and expense (i.e. less risk, high adaptability, and lower TCO). For example you could choose to add a field to a standard form. The addition would be saved in your current level; the revised form would replace the standard form, but you would always be able to go back to the original one on the level below your own by simply removing the new form, and hence you can work with minimal risk of business disruption as you can always work with already working functionality.

The Dynamics AX application layer hierarchy consists of sixteen layers, which are divided into groups with two layers in each group, i.e. eight different layer categories. Each of them has a patch layer also, which is for handling patches, minor updates, service packs, hot fixes, and additional functionality. This layer design is a clear indication that Dynamics AX is built to accommodate changes by multiple parties elegantly and encourages customization. The Dynamics AX layers are designed for different Dynamics AX groups as well as for use in different types of customization, as described in following table. Layers are mentioned in the order from bottom to top:

Layer

User Groups

Characteristics

SYS (System)

Microsoft

  • The inner-most layer.

  • The layer used to implement standard Dynamics AX applications.

  • The application objects in this layer can never be deleted.

GLS (Global Solutions)

MBS Certified third parties

  • The solutions have been created with the same development standards as the standard application, and qualified as such.

  • The solutions implemented in this layer are delivered as a standard part of the Dynamics AX product.

  • These are not industry-specific verticals, rather these are core dynamics such as the Human Resource module.

DIS (Distributor)

  • Local Microsoft Business Solutions offices

  • IBI-compliant solution provider who offers country specific solutions too

  • DIS layer to include country-specific functionality.

  • Localized Application developed by IBI solution provider will remain in the DIS layer.

LOS (Local Solution)

Local MBS offices

  • Solutions in the LOS layer are protected by the license code framework that the standard application utilizes.

  • If local MBS offices want to certify and distribute a strategic local solution that has not been developed in-house (e.g. Payroll), the solution must be implemented in the LOS layer.

BUS (Business Solution)

Business Partners

  • Business partners develop and distribute vertical and horizontal solutions to other partners and customers using the BUS layer.

  • Reserved for Add-on/Vertical solution.

  • A business partner can implement any solution in this layer only after written agreement from MBS.

VAR (Value Added Reseller)

Business Partners

  • Business partners can use this layer without any business-related restrictions.

CUS (Customer)

  • Corporate enterprizes

  • Business partners

  • Corporate enterprises, as well as business partners can modify this layer.

  • The Customer and User layers are included in order to support enterprizes and individual companies in their need for in-house development, without jeopardizing the modifications made by the business partner.

USR (User)

End users

  • Individual companies or companies within an enterprize can utilize this layer to make customizations that are unique to the customer's installation.

Besides these main application layers, there are patch layers, which can be distinguished from the other application layers by the use of the letter P in the end of the layer name. The layers are: SYP, GLP, DIP, LIP, BUP, VAP, CUP, and USP. The utilization of the patch layers is not subject to any predefined MBS rules, and hence they can be used to support the customers/business partners in any way suitable. This procedure provides the option of sending out corrections without interfering with the existing layers.

All application layers are able to utilize all the tools available in the Dynamics AX MorphX Development Suite as well as all object types, tables, classes, macros, extended data types, forms, reports, and so forth. The online help is also included in the Layers technology, as well as the utilization of the label system.

Having all the object types available in every application layer makes the application layer technology very flexible and dynamic

Dynamics AX Customization Files

Each layer is technically saved in a separate file called Ax<layer>.aod, for example Axsys.aod for the SYS layer, Axdis.aod for the DIS layer, and so on. The .aod extension is an acronym for Application Object Data file. The files are stored in the Dynamics AX Standard folder under Appl.

Besides Ax<layer>.aod there are a few other files that hold different kinds of data for a layer as described in the following table.

Sr. no.

Naming Convention

Description

1

Axapd.aoi

  • aoi stands for "application object index".

  • It tells Dynamics AX where to find each individual object.

  • The file will be rebuilt the next time you log on to Dynamics AX after any customization.

2

ax<layer><language>.ald

  • ald stands for" application label data".

  • Separate file for each language in each layer.

3

ax<layer><language>.alc

  • alc stands for "application label comments".

  • Separate for each language in each layer.

4

ax<layer><language>.ali

  • ali stands for "application label index".

It should be noted that no user should be connected when the above files are directly copied, deleted, etc.

 

Summary


In this chapter we studied the challenges of business that are solved by ERP packages. To address these challenges the following key qualities are required in an ERP package:

  • Competitive and affordable cost of ownership

  • Flexibility in adaptability to business processes

  • Scalability

  • Usability

  • Coherence of business processes

  • Ease of integration

  • Internationalization

  • Localization

We also discussed the features that make Dynamics AX an ideal ERP system and the built-in tools that are helpful in preserving the qualities of Dynamics during customization.

About the Author

  • Anil Kumar Gupta

    Mr. Anil Kumar Gupta is a highly experienced Information Technology professional with proven Software Test Management and Software Process Improvement expertise. He has led various programs in diverse software projects such as ERP, eGovernance, eBanking, eLearning, system Software, Application Software, etc. in conjunction with Commercial off-the-shelf (COTS) products, Business Process Management (BPM), Customer Relationship Management (CRM), and Enterprise Resource Planning (ERP) technology solutions, J2EE, and .Net to meet and exceed challenging business needs in both the commercial and governmental sectors. His 10+ year professional career combines expertise and strong technical qualifications in many domains including but not restricted to Systems Engineering and Integration, Financial Services, and ERPs for Manufacturing and Process Industries fields using computer tools to solve complex engineering problems. His exceptional analytical and communications skills along with effective interaction with management, vendors, customers, and staff, have allowed for meeting aggressive deadlines under pressure. At the same time, Mr. Gupta identified, managed, and resolved multiple complex project tasks that included changing priorities in both team and sole-person environments. Mr. Gupta provides strong collaborative management which is task-oriented with attention given to required details and accuracy. Mr. Gupta is a self-motivated, energetic, dependable, flexible, assertive, attentive, and resourceful manager, who provides effective team support that combines interpersonal, coordination, mentoring, and verbal and written communication skills.

    During his professional career he met many challenges, which included the establishment of QA and Testing practice at EuroInfo Systems Pvt. Ltd. (Currently known as Tectura India). Tectura India is the largest MBS solution provider and globally Tectura is the biggest MBS solution provider. EIS was the pioneer in establishing a separate QC department in 2004 and this challenge was given to Anil. Due to his successful quality initiatives EIS was awarded the Global Axapta Excellence Award for the year 2005, among thousands of MBS partners. The author is the most experienced resource for Dynamics AX Testing in India and has worked for multiple IBI-compliant Dynamics AX ISV projects.

    Browse publications by this author
Book Title
Access this book, plus 7,500 other titles for FREE
Access now