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.
2. 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.
3. 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.
4.What are the 4 types of files we need to copy to the standard folder?
*.aod, *.ahd, *.ald, *.add, *.khd
5. 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.
6. How can we restrict a class to be further extended?
using Final Keyword for ex: public final class <ClassName>
7.Which are classes are used for data import export?
SysDataImport and SysDataExport
8. From which table u can get the user permissions stored in Ax?
AccessRightList table.
9.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.
10. What is the sequence of events while a report is generated?
Init, Run, Prompt, Fetch, Print
11. Name few X++ classes/Coreclasses related to Queries?
Query, QueryRun, QueryBuildRange, QueryBuildDataSource, QueryBuildLink
Query, QueryRun, QueryBuildRange, QueryBuildDataSource, QueryBuildLink
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
QUES:Define IntelliMorph
QUES: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.
QUES: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.
QUES:Define X++
X++ is the object-oriented programming language that is used in the MorphX environment .
QUES:Differenciate 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.
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.
QUES: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
QUES: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.
QUES: Difference between Index and Iindex 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).
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).
QUES: Difference between temp table and container.
1.Data in containers are stored and retrieved sequentially, but a temporary table enables you to define indexes to speed up data retrieval.
2. 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.
3. 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
Data dictionary
1.What is an EDT, Base Enum, how can we use array elements of an EDT,
2.Definition and use of Maps, how AddressMap (with methods) is used in standard AX
3.What is the difference between Index and Index hint?
Utility and use of find method.
4.How many types of data validation methods are written on table level?
5.How many types of relations are available in Axapta, Explain each of them.
6.When the recid is generated, what is its utility, what are the different types of Table groups defined on table properties.
7.Difference between Primary & Cluster index.
8.How many kind of lookups can be made and how.
9.How can we utilize field groups in forms
10.How many types of Delete Actions are there in Standard Ax and define the use of each
11.If any record is created in table I want to fetch the date & time stamp, how will you do that
12.What is the function of super()
Classes
1. What is an abstract class, what is the utility of an abstract method
2. Multiple inheritance possible or not, if not how can we overcome that.
3. What is an interface, Why do we implement it
4. Do we need to write main method, give reasons
5. What is difference between new & construct method
6. What is the utilty of the RunOn property
7. What is main class used in batch process OR which class will you inherit to make a batch job
8. How can we make a batch job occur at regular interval
9. What is the main utility of classes in standard Ax
10. Which class is called when we create a SO/PO.
11. What are classes used to write query.
12. What is a static method, why do we make static methods and where can we write it.
13. When do we make methods private or protected.Forms
14. What is the basic structure of a form
15. Utility of init(), run(), wait() methods
16. What are different types of Link Types available in a form datasource, justify each of them
17. Properties of a form datasource
18. validateWrite() method can be written in form datasource as well as table level, when should we write it in form DS and when in table. Similar in case of write() method
19. How can we call table level methods from form DS (similar methods)
20. What is the difference between form init() & DS init()
21. When a form opens what are the sequential methods called.
22. Where is the best place to write code to perform filter in a form
23. What are the different types of menu items available, explain each of them
24. A action type menu item is attached to a form but in the drop down the menu item is not appearing, what could be the problem
Report
1. What are the two most important methods
2. When do block the super() method of fetch
3. Can we make a report from wizard, if yes from where
4. What is a Programmable Section, how we use it in reports
5. What is the difference between Auto Design Spec & Generated Design
6. How can we sort the DS, what facility we can get in by placing fields in Ranges
7. What is the role of executeSection
8. What are Queries, how do we use them
Menu Items
1. What is the use of Parameter, Enum TypeParameter/Enum Parameter properties of display
2. Why do we provide Configuration key & Security key
3. Normally what do we attach in Output
4. Normally what do we attach in Action
General Questions
1. What is difference between select & select firstonly statements
2. What are the keywords used to access data from "multiple companies" and "one company to another company".
3. How can we override a lookup
4. How do the following methods work in a form DS.
ds.refresh(), ds.research(), ds.reread(), in what situation we should these methods
5. On closing a form name the methods which are invoked
6. What are security key/configuration keys, how do we use it in Ax
7. How can we provide user level/user group level security
8. What is a virtual company
9. What is Visual MorphXplorer, what do we do with that?(Reverse engineering tool has replaced Visual MorphXplorer)
10. What is the function of Application Hierarchy Tree
11. If you want to monitor the database activity, where can you get that
12. Where can we find the Label log and what is its utility
13. What are the tools you will use to upgrade any object
14. What is the difference between display() and edit() methods, how do we use each
15. What is the use of System Documentation/Application Developer Documentation/Application Documentation
Few More Questions on DAX
1.What are the classes, Tables, Forms and Methods used to post the sales orders.
2. What are the classes, Tables, Forms and Methods used to post the purchase orders.
3. What are the classes, Tables, Forms and Methods used to post the Ledgers.
4. What are the classes, Tables, Forms and Methods used to post the Inventory.
5. What is the base class to send the on-boad E-mailing.
6. What are the storage Dimensions?
7. What are the Item Dimensions?
8. What is the difference between RunBase and RunBaseBatch?
9. How do you create a NumberSequence for existing Module and also fro new Module.
10.What is the difference between Insert and doinsert.
11.What is the Runbase Stack?
DIFFERENCE
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.Defauld 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++
select * FROM CustTable;
select CustTable;
both are same.
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++
LEARN SHORT CUT AND MAKE YOUR SELF MORE FASTER.....
Viewing/Navigation options
Accelerator Keys
|
Task Description
|
Alt+F1
|
Show Navigation Pane (if it is not in auto-hide mode)
This shortcut works from both MDI & SDI windows, so it is a good shortcut to get back to the main workspace.
|
Shift+Alt+F1
|
Enable/Disable auto-hide for the Navigation Pane
|
Ctrl+Shift+D
|
Toggles the Content Pane between Developer and Content modes. Developer mode makes the content frame (where Area pages & List pages are viewed) restorable/minimizable so it is easier to work with developer windows.
|
Ctrl+F1
|
Open global search pane
|
Alt+F5
|
Toggle the docking status of a docking window
|
Alt+F6
|
Move to the next docked window
|
Alt+Shift+F6
|
Move to the previous docked window
|
Ctrl+F6
|
Move to the next MDI window
|
Ctrl+Shift+F6
|
Move to the previous MDI window
|
Ctrl+Shift+V
|
Open “Version control parameters” form
|
Ctrl+W
|
Open a new workspace
|
F11
|
Focus the Address Bar in edit mode (works from anywhere)
|
Alt+Left Arrow
|
Shortcut for the Back button on the Address bar
|
Alt+Right Arrow
|
Shortcut for the Forward button on the Address bar
|
From AreaPage, ListPage or developer (MDI) window
| |
Alt+M
|
Show the Microsoft Dynamics AX Command Bar
|
Alt+W
|
Show Windows menu
Hint: do this then press “a” to close all windows.
|
Alt+V
|
Show View menu
|
Alt+H
|
Show Help menu
|
Alt
|
Show Keytips
Press the corresponding key to navigate directly to ActionPaneTab/Group/Button
There may be one or more ActionPaneTabs/Groups/Buttons with the same letter for a Keytip. To execute a duplicate Keytip, keep pressing the letter until focus is on the one you want and then hit Enter.
|
Accelerator Keys
|
Task Description
|
Ctrl+N
|
Create a new record
|
Ctrl+S
|
Save current record
|
Alt+F9
|
Delete record(s)
|
Ctrl+F4
|
Close the active window (saving changes)
|
Esc
or
Ctrl+Q
|
Close the active window (cancelling changes)
|
Alt+F4
|
Close the active window from SDI form (saving changes), Close the application from the main window
|
Ctrl+P
|
Print auto-report associated with current form
|
Ctrl+A
|
Select all rows in the currently active data source (works regardless of whether you are in a grid or not)
|
Alt+Down Arrow
|
Drops down a lookup field or drop-down-list
|
Ctrl+Alt+F4
or
|
Go to Main Table Form
|
F10
|
Activate the form’s menu bar (File, Edit, etc.)
|
Enter or Tab
|
Move to the next field
Enter will skip over buttons and will move to fields across tabs.
Tab will navigate to buttons and will always stay on the same tab page.
|
Shift+Enter or Shift+Tab
|
Move to the previous field (same caveats as previous row)
|
Ctrl+Shift+Home
|
Go to the first entry field in the form
|
Ctrl+Shift+End
|
Go to the last entry field in the form
|
Ctrl+Page Up
|
Go to the previous field group
|
Ctrl+Page Down
|
Go to the next field group
|
Shift+F10
|
Open context menu for current field
|
Page Up
|
Move to the previous page of records
|
Page Down
|
Move to the next page of records
|
Ctrl+Home
|
Move to the first record
|
Ctrl+End
|
Move to the last record
|
F5
|
Refresh all data sources on the current form
|
Ctrl+F5
|
Restore only the active record
|
Accelerator Keys
|
Task Description
|
Ctrl+F
|
Find by Field (clears previously applied filters)
|
Ctrl+K
|
Filter by Field (appends to previously applied filters)
|
Alt+F3
|
Filter by Selection
|
Ctrl+F3
|
Open Advanced Filter window
|
Ctrl+Shift+F3
|
Clear all filters
|
Within a Grid
| |
Ctrl+G
|
Enable/Disable Filter by Grid
|
Ctrl+Up Arrow
|
From a grid cell, move focus to the Filter by Grid input cell for that column (Filter by Grid must be enabled)
|
On a ListPage
| |
Shift+F3
|
Focus the Quick Filter (“Type to filter” area)
|
Focus in Quick Filter
| |
Enter
|
Execute/Clear Quick Filter
|
Down Arrow
|
Drop down the Quick Filter’s Field Chooser menu
|
Actions Specific to Grids
Accelerator Keys
|
Task Description
|
Ctrl+E
|
Export to Excel (only contents of grid)
|
Ctrl+C
|
Copy:
1) If Single cell is selected, copies just that cell contents
2) If the entire row is selected or multiple rows are selected, copies values for ALL fields on all the rows (including those off the grid)
|
Up/Down Arrow
|
Move focus to the next/previous record, unselecting the current record
|
Ctrl+Up/Down Arrow
|
Move focus to the previous/next record, leaving the current record marked and not marking the newly focused record
|
Shift+Up/Down Arrow
|
Move focus to the previous/next record, leaving the current record marked and marking the newly focused record
|
Ctrl+Shift+Home/End
|
Mark all records between the currently selected record and the first/last record
|
Editable Grids
| |
Shift+Space
|
Mark the current record, leaving previously marked records marked.
|
Read-only Grids
(such as on a ListPage)
| |
Enter
|
Execute default action (only on ListPage grids, usually opens the corresponding details form for selected record)
For, Non-ListPage forms, Enter will move to the next field
|
Left Arrow
|
Move focus one field to the left. If focus is already in the left-most column, hitting Left Arrow will “mark” the row.
|
Right Arrow
|
Move focus one field to the right.
|
Ctrl+Space
|
Mark the current record, leaving previously marked records marked.
|
Shift+Space
|
Mark all records between the current record and the top-most marked record (or the top record if none are marked), leaving previously marked records marked.
|
Shift+Page Up/Page Down
|
Mark all records between the currently selected record and the previous/next page of records.
|
Hi,
ReplyDeletePlease share some interview questions for Trade & Logistics functional....
Thanks,
Nirmal
what is difference between cluster and non-cluster indes in ax
ReplyDeletemadhu its good question-
ReplyDeletecluster index-
-it is one in the table
-it define order of records in which it physically stored
Non-cluster-
-define logical order to store data in table
-by default non cluster index is enabled for table
for example if u create cluster index and non cluster index on emplid for Empl Table
and fetch data through select statement, it will come in order to emplid for cluster index
what are the classes tables forms for SO PO Inventory Management, pls explain this question and also u have any material for T&L Interview questions
DeleteFor the sales cycle(SO) following tables are used:
DeleteSales Confirmation:CustConfirmJour, CustConfirmTrans
Sales Packing Slip:CustPackingSlipJour, CustPackingSlipTrans
Sales Invoice:CustInvoiceTable,CustInvoiceTrans,CustTrans
and Classes--
SalesFormLetter
SalesFormLetter_Comfirm
SalesFormLetter_PackingSlip
SalesFormLetter_Invoice etc.
and similar to SO we can find out PO objects.
Hi Jitendra,
DeleteI think u have missed SalesFormLetter_ PickingList and tables for that are (WMS-Warehouse Managemt System)WmsPickingRoute , WmsPickingTrans.
The process for SalesOrder is as following:
SalesFormLetter -> is the Parent Class
SalesFormLetter_ Confirm
SalesFormLetter_ PickingList
SalesFormLetter_ PackingSlip
SalesFormLetter_ Invoice.
Hope It ll help.
Thanks,
NandaKishore Varre.
www.gearupdax.blogspot.com
Thanks for the article, excellent stuff.
ReplyDeleteI have seen interesting Interview Questions and Answers here.
what are the tables classes forms in SO PO Inventory management
ReplyDeletewhat is the diff b/w views and temporary tables
ReplyDeleteView is mapping on multiple tables. temporary table could be table in memory for temporary transactional purposes.
Deletewhat are the advantages of using table inheritance
ReplyDeletevery informative ,Thanks for sharing
ReplyDelete