1. RunBase
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. The RunBase application framework runs or batches an operation. An operation is a unit of work, such as the posting of a sales order or
calculation of a master schedule.2. RunBaseBatch
All jobs that must be able to run in a batch must inherit from this class. The RunBaseBatch framework extends the RunBase framework, and X++ classes that extend this framework can have their operations enlisted in the batch queue.
3. What is the sequence of events while a report is generated?
Init, Run, Prompt, Fetch, Print
4. Name few X++ classes related to Queries?
Query, QueryRun, QueryBuildRange, QueryBuildDataSource, QueryBuildLink
5.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.
6. Difference between edit and display method?
Display Indicates that the method's return value is to be displayed on a form or a 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.
7. 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.
8. 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 client is the first tier and handles the user interface and necessary program logic.
9.super()
This method calls the system methods to execute.It is used to instantiating the variables at the parent class. Used for code redundancy.
10.types of Delete Actions
None
Cascade
Restricted
Cascade+Restricted.
11.different types of Table groups
Miscellaneous
Parameter
Group
Main
Transaction
WorkSheetHeader
WorkSheetLine
12. 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.
13. 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.
View
- Modification through a view (e.g. insert, update, delete) generally not permitted.
- Views can be used to provide security mechanism.
- Logical Subset of Tables
- A view is only a mirror image of table which is used at places where large access to a table is required.
- View doesn't contain any data
14. what precautions you need for overriding fetch() method for a report?
Do not call super() when you override the fetch method in a report.
15.Difference between OCC (Optimistic concurrency control) and PCC (Pessimistic concurrency control)?
16.Caching15.Difference between OCC (Optimistic concurrency control) and PCC (Pessimistic concurrency control)?
- Optimistic Concurrency Control (OCC) helps increase database performance.
- Pessimistic Concurrency Control locks records as soon as they are fetched from the database for an update. However, Optimistic Concurrency only locks records from the time when the actual update is performed.
- Pessimistic concurrency was the only option available in Microsoft Axapta 3.0 (now a part of Microsoft Dynamics). You can now choose which concurrency model to use—optimistic or pessimistic.
Caches are used on both the client and the server. The Microsoft Dynamics AX run time manages the cache by removing old records when new records are added to the cache.
Client Cache
Client Cache
A client-side cache can be used only by the client. The client cache is used when a select is executed from the client tier. If no record is found in the client cache, the client then searches the server cache for the record. If the record isn't located in the server cache, it's retrieved from the database. The maximum number of records maintained in a client cache is 100 records per table for a given company.
Server Cache
A server-side cache can be used by any connection to the server. The server cache is used when a select is executed on the server tier. If no record is found in the cache, it's retrieved from the database. The maximum number of records maintained in a server cache is 2,000 records per table for a given company.
Record Caching
Microsoft Dynamics AX database record caching is a performance-enhancing feature that helps avoid database access when it's not strictly necessary. Retrieving database records from memory instead of the database significantly speeds up data access. Caching can reduce the performance penalty for repetitively accessing the same database records.
Types of Caching
Caching is transparent to the application; however, it's important to know how caching works to optimize its performance in Microsoft Dynamics AX. Following are the types of caching:
- Single-record
- Set-based
Single-record caching has the following characteristics:
- Defined at design time
- Moves records to the cache based on the table's CacheLookup property and the type of SELECT statement that is used to retrieve the record
Set-based caching has the following characteristics:
- Defined either at design time or in X++ code
- Moves sets of records to the cache
- Implemented either through the table's CacheLookup property or in code by using the RecordViewCache class
Delete() will delete one record at a time.
Delete_from can delete multiple records at a time.
17. Types of Item Dimensions & Storage Dimensions?
Item Dimension
Size,Color,Configuration
Storage Dimension
Item Dimension
Size,Color,Configuration
Storage Dimension
Site,WareHouse,Location,Pallet id, Serial number, Batch Number
FormDataSource - executeQuery() and call this method in the design field of the form.
Form — Datasource — ValidateWrite ()
Table — ValidateWrite ()
Form — Datasource — write ()
Table — insert ()
20.Sequence of Methods calls while creating the record in the Form
Form — Datasource — create ()
Form — Datasource — initValue ()
Table — initValue ()
Form — Datasource — active ()
A layer system is used to manage elements. The USR layer is the top layer and the SYS layer is the bottom layer, and each layer has a corresponding patch layer above it.
There are two layers available to both partners and customers who have a license
to access the AX source code.
The user layer is for user modifications, such as reports.
The customer layer is for modifications that are specific to a company.
VAR(Value Added Reseller layer)
Includes multi-customer solutions developed by VAR's.
ISV(Independent Software Vendor layer)
SLN(Solution layer)
There are three layers available only to Microsoft to deliver the base application.
FPK(Feature Pack layer)
SYS(System layer)
Includes multi-customer solutions developed by VAR's.
When an Independent Software Vendor (ISV) creates their own solution, their modifications are saved in the ISV layer.
The solution layer is used by distributors to implement vertical partner solutions.
FPK(Feature Pack layer)
The FPK layer is an application object patch layer reserved by Microsoft for future patching or other updates
GLS(Globalization layer)
Includes features developed for some countries that were not yet moved into the SYS layer.SYS(System layer)
When the application is modified to match country or region specific legal demands, these modifications are saved in the GLS layer.
22. .NET Business Connector
The .NET Business Connector is a client that has no user interface. It is
designed for other applications to access the Microsoft Dynamics AX business
logic. End-users can use another application as the user interface that interacts
with the AOS through the .net Business Connector
23.RecordSortedList
The RecordSortedList class inserts multiple records in a single database trip,
and can hold a subset of data from a table in a particular sort order that does not
exist as an index.
RecordInsertList
The RecordInsertList class provides array insert capabilities in the kernel. This
allows you to insert more than one record into the database at a time, which
reduces communication between the application and the database.
RecordInsertList is similar to RecordSortedList, but it has built-in client/server
support (it automatically packs data from one tier to another when needed), and it
lacks the sort order features available in RecordSortedList.
24. Scenario Based
Code optimization, There is one class in Ax. If the client wants to reduce the execution time of that operation. Its a custom class. so what are all your steps to optimize the class and reduce the time of execution
Sol :
- Use trace and code pro filer to find out the process that take much time and optimize it
- Use indexes, joins and Queries in code.
For more Questions http://ashokkancheti.blogspot.in/2014/03/dynamics-ax-2012-interview-questions.html
How call form from a class
Args args; FormRun formRun; args = new Args(formstr(CustTable)); args.record(custTableLocal); formRun = classFactory.formRunClass(args); formRun.init(); formRun.run(); formRun.wait(); formRun.detach();
FormRun.wait() (if you want to stop execution until the form is closed)FormRun.detach() (if you want not to wait for the form), not both.orUsing MenuFunction: void clicked() { Args args; args = new Args(); args.caller(this); args.parmObject(list); new MenuFunction(menuItemDisplayStr(SalesTable), MenuItemType::Display).run(args); }
Nice blog. You have provided such a useful information in this blog. Thanks for sharing.
ReplyDeleteD365 Finance and Operations Online Training
D365 Finance and Operations Training in Hyderabad
D365 Operations Training