Microsoft Dynamics Ax Interview Questions and Answers
Below are few Microsoft Dynamics Ax Interview Questions, where in most of the interviewers would be asking on the following areas, have a look at them.
- What is Microsoft Dynamics AX?
Microsoft Dynamics AX is a multi-language, multi-currency, industry-specific, global enterprise resource planning (ERP) software product.
Microsoft Dynamics AX is also know as AXAPTA in previous versions and now referred as DAX is a registered ERP solution from Microsoft Dynamics family targeting mid-size to large scale enterprises with highly intuitive, exclusive and scalable features with rich user experience. Microsoft Dynamics AX ERP is the best value and scalable ERP in the market.
Microsoft Dynamics AX streamlines Financial management, Customer relationship, Human capital management and Supply chain processes and supports operational and administrative processes for organizations in Manufacturing, Retail, Service oriented industries and the Public sector.
- What is the difference between Auto Design Spec & Generated Design
Auto Design: An auto design is a report design that has a layout that is automatically generated based on the data for the report. You can use auto designs for most common reports. Re-usability is available.
This uses Report template and Section template. Header ,Section Group and Footer is not available.
Generate Design or Precision design: You can create a precision design for a report that requires a very precise layout. It doesn’t use Section template and Report template. Re-usability is not available.
- Difference between following
condel :- Use condel to delete one or more items from a container.
confind :- Use confind to locate a sequence of items in a container.
conins :- Use conins to insert some items into a container.
conlen :- Use conlen to find out how many items there are in a container.
connull :- Use connull to explicitly dispose of the contents of a container.
conpeek :- Use conpeek to extract an item from a container, and to convert it into another data type
conpoke :- Use conpoke to replace (poke) an item in a container.
- Difference between edit and display method
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 in a form. The value in the field can be edited.
- Difference between perspectives and table collection
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.
- What are the 4 types of files we need to copy to the standard folder?
*.aod – application object data file
*.ahd – Application Online Help Data file
*.ald – Application Label data file.
*.add – Application Developer Documentation Data file
*.khd – Kernel Online Help Data
And other files are
*.ahi – Application Online Help Index files
*.adi – Application Developer Documentation Index files
*.ali – Application Label Index files
*.alt – Application Label Temporary file.
*.alc – Application Label Cache file
*. aoi – Application Object Index file
*.khd – Kernel Online Help Data
*.khi – Kernel Online Help Index files
- Why we use virtual companies?
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.
- How can we restrict a class to be further extended?
Using Final Keyword for ex: public final class <ClassName>
- Which classes are used for data import export?
SysDataImport and SysDataExport
- From which table u can get the user permissions stored in Ax?
- What should we do if we need last record to be active when a form is opened?
In properties of datasource table set the StartPosition property as last.
- What is the sequence of events while a report is generated?
Init, Run, Prompt, Fetch, send,Print
- Name few X++ classes/Coreclasses related to Queries?
Query, QueryRun, QueryBuildRange, QueryBuildDataSource, QueryBuildLink
- What is an index?
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.
- Define IntelliMorph?
IntelliMorph is the technology that controls the user interface in Microsoft Dynamics AX. The user interface is how the functionality of the application is presented or displayed to the user.
IntelliMorph controls the layout of the user interface and makes it easier to modify forms, reports, and menus.
- Define MorphX ?
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.
- Define X++ ?
X++ is the object-oriented programming language that is used in the MorphX environment .
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 datasource. 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.
- Define AOT?
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
- Define AOS ?
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:
First Tier – Intelligent Client • Second Tier – AOS • 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.
- Difference between temp table and container?
Data in containers are stored and retrieved sequentially, but a temporary table enables you to define indexes to speed up data retrieval.
Containers provide slower data access if you are working with many records. However, if you are working with only a few records, use a container.
Another important difference between temporary tables and containers is how they are used in method calls. When you pass a temporary table into a method call, it is passed by reference. Containers are passed by value. When a variable is passed by reference, only a pointer to the object is passed into the method. When a variable is passed by value, a new copy of the variable is passed into the method. If the computer has a limited amount of memory, it might start swapping memory to disk, slowing down application execution. When you pass a variable into a method, a temporary table may provide better performance than a container
- What is an EDT, Base Enum, how can we use array elements of an EDT?
EDT – To reuse its properties. The properties of many fields can change at one time by changing the properties on the EDT. Relations can be assigned to an edt are known as Dynamic relations.
EDT relations are Normal and Related field fixed.
Why not field fixed – field fixed works on only between two tables 1- 1 relation. And Related field fixed works on 1- many tables.so edt uses related field fixed.
BaseEnum – which is a list of literals. Enum values are represented internally as integers. you can declare up to 251 (0 to 250) literals in a single enum type. To reference an enum in X++, use the name of the enum, followed by the name of the literal, separated by two colons . ex – NoYes::No.
- Definition and use of Maps, how AddressMap (with methods) is used in standard AX?
Maps define X++ elements that wrap table objects at run time. With a map, you associate a map field with a field in one or more tables. This enables you to use the same field name to access fields with different names in different tables. Map methods enable to you to create or modify methods that act on the map fields.
Address map that contains an Address field. The Address map field is used to access both the Address field in the CustTable table and the ToAddress field in the CustVendTransportPointLine table
- What is the difference between Index and Index hint?
Adding the “index” statement to an Axapta select, it does NOT mean that this index will be used by the database. What it DOES mean is that Axapta will send an “order by” to the database. Adding the “index hint” statement to an Axapta select, it DOES mean that this index will be used by the database (and no other one).
- How many types of data validation methods are written on table level?
- How many types of relations are available in Axapta, Explain each of them?
Normal Relation: enforce referential integrity such as foreign keys. For displaying lookup on the child table.
Field fixed: works as a trigger to verify that a relation is active, if an enum field in the table has a specific value then the relation is active. It works on conditional relations and works on enum type of data.
Ex- Dimension table
Related field fixed: works as a filter on the related table.it only shows records that match the specified value for an enum field on the related table.
- When the recid is generated, what is its utility?
when the record is entered in the table the recid is generated by the kernel.it is unique for each table.
- Difference between Primary & Cluster index?
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:
Search results are quicker when records are retrieved by the cluster index, especially if records are retrieved sequentially along the index.
Other indexes that use fields that are a part of the cluster index might use less data space.
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.
The disadvantages of having a cluster index are as follows:
It takes longer to update records (but only when the fields in the clustering index are changed).
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).
- How many kind of lookups can be made and how?
By using table relations
Using EDT relations.
Using morphx and using X++ code(Syslookup class).
- How many types of Delete Actions are there in Standard Ax and define the use of each?
- What is the function of super()
This method calls the system methods to execute.
It is used to instantiating the variables at the parent class. Used for code redundancy.
- Utility and use of find method.
All the tables should have at least one find method that selects and returns one record from the table that matches the unique index specified by the input parameters. The last input parameter in a find method should be a Boolean variable called for update or update that is defaulted to false. When it is set to true, the caller object can update the record that is returned by the find method.
- What are the different types of Table groups defined on table properties?
- Multiple inheritance possible or not, if not how can we overcome that?
In X++, a new class can only extend one other class; multiple inheritance is not supported. If you extend a class, it inherits all the methods and variables in the parent class (the superclass).
We can use Interfaces instead of multiple inheritance in Ax.
- Do we need to write main method, give reasons?
Yes, but to open the class from action menu item we have to create main method of class.
- What is difference between new & construct method?
new(): used to create a memory to the object.
Construct(): You should create a static construct method for each class. The method should return an instance of the class.
- What is the utility of the RunOn property
Application objects such as reports, tables, and methods can run on the application object server (AOS) or the client. An object can also have the RunOn property value set to Called from. Objects set to Called from can run from either the client or server, depending on where the object is called from. This topic describes the RunOn property, tiers that class objects can run on, and hints about using AOSRunMode.
Default value of RunOn for Classes – Called from
MenuItems – Client
- What is main class used in batch process OR which class will you inherit to make a batch job?