Dynamics Ax 2012 Interview Questions
Dynamics Ax 2012 Interview Questions
Interview Questions:
1. 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.
4. 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
8. From which table u can get the user permissions stored in Ax?
AccessRightList table.
12. 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.
13. 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.
14. 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.
15. Define X++
X++ is the object-oriented programming language that is used in the MorphX environment .
16. Differentiate refresh(),reread(),research(),executequery()
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.
17. 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
18. 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.
20. .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.
21. 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
23. How many types of data validation methods are written on table level?
validateField(),validateWrite(),validateDelete(),aosvalidateDelete(),aosvalidateInsert(),
aosvalidateRead(),aosvalidateUpdate().
24. 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.
60. 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. Reusability 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. Reusability is not available.
61. How can we sort the DS, what facility we can get in by placing fields in Ranges
this.query().datasource(1).addsortfield(fieldnum(tablename,fieldname),sorting:ascending);
65. What is the use of Parameter, Enum Type Parameter/Enum Parameter properties of MenuItems?
Parameters: Specify the arguments that are passed to the object. Optional.
Enum TypeParameter and Enum Parameter: Choose an enumerated type as a parameter for the
Object, and then select an enum value as the EnumParameter property. Optional.
These properties are typically used when one form is used in several different situations. You can change
the behavior of the form, depending on the EnumParameter value. For example, the PriceDiscGroup
form is used by three different display menu items (PriceDiscGroup_*), which each have a different
EnumParameter value. In the form's initmethod, a switch construct checks the value, and then the
form is created accordingly.
Security key: Security keys allow administrators to set security on a user group level. Minimizing access
on a user group level helps to reduce the attack surface against potential attacks.
The main reasons to apply user-level security are to:
Allow users to do only their designated tasks.
Protect sensitive data in the database.
Prevent users from inadvertently breaking an application by changing code or objects on which the
application depends.
You need to apply a security key to:
Tables
Views
Menus
Menu items
Form controls
Report controls
70. What are the keywords used to access data from "multiple companies" and "one company to another
company".
A cross-company query returns data for several companies in a single run.
To create a cross-company query:
In X++, use the crossCompany keyword on the X++ select statement.
In X++, set the allowCrossCompany property method to true on an instance of the Query class.
In the AOT, set the AllowCrossCompany property to Yes on a node under Query.
74. How can we provide user level/user group level security - By using security keys.
75. What is Visual MorphXplorer, what do we do with that?(Reverse engineering tool has replaced Visual
MorphXplorer)
77. If you want to monitor the database activity, where can you get that?
Administration>Reports>DataBase information
Administration>inquiries> DataBase information
Administration>Reports>Size of Company accounts
78. Where can we find the Label log and what is its utility?
Tools>DevelopmentTools>Label>Label log.
Use this form to view the history of labels within the system and re-create labels that have been deleted.
View a record of all changes made to the label files.
w Each label is described in terms of its identification (ID), language, status, label text, and by whom
and when it was modified. A label can also contain a description, which is displayed at the bottom of the
form.
Button
Recreate Re-create the selected label.
80. What are the tools you will use to upgrade any object? - Compare
81. What is the use of System Documentation/Application Developer Documentation/Application
Documentation
System Documentation is intended for developers under the functions subnode there are hundreds of
useful functions you will use when programming in x++.
Application Developer Documentation, under this node you find documentation about tables and
classes used by Ax. description about tables and classes for developers.
82. What are the classes, Tables, Forms and Methods used to post the sales orders.
SalesTableType and SaleslineType classes will get called while creating the orders.
SalesFormLetter* classes will be used to post the sales order at various document status(packing, invoice
etc).
SalesParm* tables are used to prepare the data for posting
CustConfirmJour, CustConfirmTrans - when a sales order gets confirmed
CustPackingSlipJour, CustPackingSlipTrans - when a packing slip is posted.
CustInvoiceTable,CustInvoiceTrans - when an invoice is posted.
These are some of the maily used tables.
83. What are the classes, Tables, Forms and Methods used to post the purchase orders.
84. What are the classes, Tables, Forms and Methods used to post the Ledgers.
85. What are the classes, Tables, Forms and Methods used to post the Inventory.
86. What is the base class to send the on-boad E-mailing.
SysMailer and SysINetMail.
87. What are the storage Dimensions?
Site,WareHouse,PalletId,BatchNumber,SerialNumber
88. What are the Item Dimensions?
Configuration, size,Color
89. What is the difference between RunBase and RunBaseBatch?
RunBase: To create a job or an Action class - a program that carries out processes, such as accepting
parameters from the user and then updating records in the database - you use the RunBase framework.
The framework is implemented by the RunBase application class and supplies many features, which
include the following:
Query
Dialog, with persistence of the last values entered by the user
Validate
The RunBase class is a framework for classes that need a dialog for user interaction and that need the
dialog values to be saved per user.
RunBaseBatch: You can design your own batch job by extending the RunBaseBatch class. You can
also write code to schedule the batch to run. The batch runs on the Application Object Server (AOS)
93. Difference between sql and x++ statement--
SELECT-
1.Table buffer on the FROM in x++ clause ,not the table as in SQL
2.ORDER BY clause precedes the WHERE clause
3.! for negation ,not NOT as in SQL
4.&& and || for logical operator ,not AND or OR as in SQL.
5.* and ? for like wildcards ,not % and _ as in SQL.
JOIN CLAUSE-
1.Join clause has no ON keyword in x++,use WHERE instead
2.Default JOIN direction is left .
3.there are no LEFT and RIGHT keyword for JOIN in x++
4.The FROM clause is optional when:
-No column is listed or
-Only one table is listed in the SELECT in x++
OTHERS-
1.The WHILE SELECT statement provides an automatic cursor for return rows in x++
2.There is no HAVING keyword in x++
3.No null values are return in x++
105. What is the difference between sql queries and dynamics queries.
Sql query is Select statement –
Dynamic query – AOT Query and Query class using x++.
111.What is JumpRef()?
The user activates the Go to main table command from the shortcut menu on the control or by pressing
CTRL+ALT+F4. The super() call opens the main table that contains data for the field.
132. What are the methods required for posting a purchase order?
140. Primary Key in tables (In dynamics AX don’t have primary key)
142. What are all the add- on tools you used in Dynamics AX (It’s an indirect question for AIF)
143. Did you work with EP (Enterprise Portal & Workflow) how can you implement this features into your
projects?
2. Variables declared in a Java interface is by default final. An abstract class may contain non-
final variables.
3. Members of a Java interface are public by default. A Java abstract class can have the usual
flavors of class members like private, protected, etc..
4. Java interface should be implemented using keyword “implements”; A Java abstract class
should be extended using keyword “extends”.
5. An interface can extend another Java interface only, an abstract class can extend another
Java class and implement multiple Java interfaces.
6. A Java class can implement multiple interfaces but it can extend only one abstract class.
7. Interface is absolutely abstract and cannot be instantiated; A Java abstract class also cannot
be instantiated, but can be invoked if a main() exists.
8. In comparison with java abstract classes, java interfaces are slow as it requires extra
indirection.
Interview Questions:
1. Tell about your Self.
2. What kind of Customizations you have done.
3. How you will create Table in Ax. In that Table how you will define Indexes, Relations, Delete Actions
and Methods. Tell me the steps First what you will do, First you will define Indexes or Relations. Why?
4. What is Naming Conventions in Ax?
5. What is Index? How many types of Indexes are there? What is unique index and non-unique?
6. What is Cluster Index?
7. What is Cache Look Up? More Questions on regarding Cache Look Up?
8. What is FormRef?
9. What is Configuration Key? Why need of configuration keys?
10. What is Security Key?
11. What is Record Level Security?
12. How the ax is providing security. What are the ways?
13. Types of Relations.
14. Types of Delete Actions.
15. What kind of methods you will create will create a Particular Table?
16. What is Table Collections?
17. How you will create different Environments like Aos1, Aos2……………..so on……
18. For Example: 150 users are Accessing Aos1.How you will assign users to Aos2 for that what you
required. More Questions on regarding AOS
19. Tell me the Invent Table Form Data sources?
20. Invent Dim Table What it stores?
21. What is Table Group? When you creating new tables in ax by default what is the Table Group?
22. Can you tell me the Sales Table, Table Group? What it consists
23. How you will do the SSRS Repots in AX?
24. What are all the New Features are added in Ax 2009?
25. How to install Ax 2009? What it Require? How you will install in Win XP & Vista? More Questions on
regarding Ax Installation.
26. What is Workflow? How you will do this? Ex: For Po how to configure Workflow? Steps…..
27. For New Module how to Achieve Workflow. Steps. more Questions on regarding WF
28. How you will configure Workflow For AR
29. How to install Workflow. What it requires (software’s).
30. Weather Workflow requires EP?
31. What is EP? What it requires (software’s). More Questions on regarding EP.
32. What is Number Sequence? How you will do that? Number Sequence Steps…
33. How you configure Number Sequence in Ax? For Example I created one record in ABC Form. I didn’t
save the record. I just deleted the record. In that Case what will happen? What comes next….
34. What is Global Address Book?
35. How can you use the Global Address Book?
36. How can you Create New Employee?
37. What is the use of Virtual Companies?
38. At form Level how you will define Query Build Classes. How you will do that
39. Tell me Form Level Data Source Methods.
40. What is Execute Query
41. What is Init at form Methods
42. Types of Inventory Dimensions?
43. Types of Item Dimensions?
44. Types of Storage Dimensions?
45. Types of Dimensions in AX?
46. How to define Composite Queries in Ax?
47. Number Sequence Classes.
48. Types of Link Types?
49. Inner Join and Exists Join?
50. Oops Concepts?
51. What is inheritance?
52. Types of Inheritance?
53. What is Abstract Class in Ax? How you will define?
54. What is interface?
55. Tell me Interfaces Classes in Ax?
56. What is RunBase?
57. Where we can create item in Ax2012?
58. Difference between change company and cross company?
59. What is surrogatekey in 2012?
60. How to import data one application to another application?
61. Differences in 2009 and 2012?
62. What are the differences between Ax2009 and Ax2012?
63. Table method sequences? Validate write and write methods? Need of write method?
64. What is the mandatory property when creating the Table?
65. What is delete actions and what is Cascade+Restricted?
66. What is the return type of find method?
67. What is Primary index and Clustered index?
68. What is the frameworks in Ax ?
69. What is Run base framework?
70. When we create the dialog run method is needed? If not how to run the method?
71. Is it possible to move the var layer modifications to usr layer? For ex ; if one user has created objects
in var , how we can move these objects to usr layer? ---- by using compare tool
72. How to move modifications from dev instance to Test and Prod instance?
73. What is layer architecture?
74. What is the return type of unpack() method ?
75. What is the form methods sequence?
76. What is init() method in a form?
77. What are the report method sequences?
78. When you open a report, how many times call the fetch?
79. What is the execute method? How many times it calls?
80. What are the mandatory properties of a table?
81. What is intivalue() in a table and in a form?
82. what is cascade+Restricted? Differences among the delete actions?
83. What are the joins? Explain?
84. What are all the methods call when you save a record in a table?
85. What is polymorphism?