Top 18 Microsoft Dynamics Ax Interview Questions You Must Prepare 19.Mar.2024

Primary index: It works on unique indexes. The data should be unique and not null. Retrieve data from the database.

Clustered Index: It works on unique and non unique indexes. Retrieve data from the AOS.

The advantages of having a cluster index are as follows:

  1. Search results are quicker when records are retrieved by the cluster index, especially if records are retrieved sequentially along the index.
  2. Other indexes that use fields that are a part of the cluster index might use less data space.
  3. Fewer files in the database; data is clustered in the same file as the clustering index. This reduces the space used on the disk and in the cache.
  4. The disadvantages of having a cluster index are as follows:
  5. It takes longer to update records (but only when the fields in the clustering index are changed).
  6. More data space might be used for other indexes that use fields that are not part of the cluster index (if the clustering index is wider than approximately 20 characters).

The Application Object Tree (AOT) is a tree view of all the application objects within Microsoft Dynamics AX. The AOT contains everything you need to customize the look and functionality of a Microsoft Dynamics AX application.

  • Display indicates that the method’s return value is to be displayed on a form or a report.
  • The value cannot be altered in the form or report.
  • Edit indicates that the method’s return type is to be used to provide information for a field that is used in a form. The value in the field can be edited.

An index is a table-specific database structure that speeds the retrieval of rows from the table. Indexes are used to improve the performance of data retrieval and sometimes to ensure the existence of unique records.

  • Perspectives can organize information for a report model in the Application Object Tree (AOT).
  • A perspective is a collection of tables. You use a report model to create reports.
  • Table collection is a collection of table, which sharing across all the virtual companies.

Overriding is the derived classes and the parent class are defined in a method that is derived according to the override function.

Overloading is a function that has the similar signatures but has different parameters.

In properties of data source table set the Start Position property as last.

  • Form init (): in it is activated immediately after new and creates the run-time image of the form.
  • DS init (): Creates a data source query based on the data source properties.

The form data source init method creates the query to fetch data from the database and sets up links if the form is linked to another form.

The data contract class contains in the X++ class have parm methods. The Data Member Attribute method is defined as the beginning step for the class that is defined with many parameters used in SSRS report.

Pass By Reference: In Pass by reference address of the variable is passed to a function. Whatever changes made to the formal parameter will affect to the actual parameters

  • Same memory location is used for both variables.(Formal and Actual)
  • It is useful when you required to return more than 1 values.

Pass By Value:

  • In this method value of the variable is passed. Changes made to formal will not affect the actual parameters.
  • Different memory locations will be created for both variables.
  • Here there will be temporary variable created in the function stack which does not affect the original variable.

In case of pass by value, the change in the sub-function will not cause any change in the main function whereas in pass by reference the change in the sub-function will change the value in the main function.

Pass by value sends a COPY of the data stored in the variable you specify, pass by reference sends a direct link to the variable itself. So if you pass a variable by reference and then change the variable inside the block you passed it into, the original variable will be changed. If you simply pass by value, the original variable will not be able to be changed by the block you passed it into but you will get a copy of whatever it contained at the time of the call.

The MorphX Development Suite is the integrated development environment (IDE) in Microsoft Dynamics AX used to develop and customize both the Windows interface and the Web interface.

The class implementing is the interface that implements all interface methods and there will not be any abstract Class requirement. There are many access modifiers available like abstract, protected, virtual, internal, public and many more that are useful in the abstract Classes. Abstract classes will be very fast when compared to interfaces.

Abstract class contains both the incomplete or complete methods and the interface is the signature for a particular method. The abstract class is the implemented methods but the interface cannot be an implement methods.

The abstract class contains constructors, fields or destructors for implementing the properties. The interface does not contain constructors, fields or destructors but they have only property’s signature with no implementation.

The abstract class does not support the multiple inheritances and the interface supports multiple inheritances. The class can also inherit more number of interfaces but only a single abstract class.

The User Interface Builder Class is the layout parameter dialog box which opens when a report is running in the Microsoft Dynamics AX. The User Interface also adds the customization and additional fields for the dialog.

Some of the UI Builder Class scenarios used are:

  • Group the dialog fields
  • Override the dialog field events
  • For adding customized lookup dialog field
  • To bind the dialog fields with contract parameters
  • For changing layouts in dialog
  • Adding more custom controls in dialog

  • refresh () will not reread the record from the database.  It basically just refreshes the screen with whatever is stored in the form cache.
  • reread () will only re-read the CURRENT record from the DB so you should not use it to refresh the form data if you have added/removed records.  It’s often used if you change some values in the current record in some code, and commit them to the database using .update() on the table, instead of through the form data source.  In this case .reread () will make those changes appear on the form.
  • research() will rerun the existing form query against the data source, therefore updating the list with new/removed records as well as updating existing ones.  This will honour any existing filters and sorting on the form.
  • executeQuery () is another useful one.  It should be used if you have modified the query in your code and need to refresh the form.  It’s like research() except it takes query changes into account.

Microsoft Dynamics AX is multi-language, multi-currency, industry-specific, global ERP Product and one of the Microsoft’s Dynamics ERP Family.

X++ is the object-oriented programming language that is used in the MorphX environment.

The Microsoft Dynamics AX Object Server (AOS) is the second-tier application server in the Microsoft Dynamics AX three-tier architecture.

The 3-tier environment is divided as follows:

  1. First Tier – Intelligent Client
  2. Second Tier – AOS
  3. Third Tier – Database Server

In a 3-tier solution the database runs on a server as the third tier; the AOS handles the business logic in the second tier. The thin client is the first tier and handles the user interface and necessary program logic.

Virtual company accounts contain data in certain tables that are shared by any number of company accounts. This allows users to post information in one company that will be available to another company.