Saturday, 2 September 2017

DYNAMICS AX 2012 INTERVIEW QUESTIONS PART 2

DYNAMICS AX 2012 INTERVIEW QUESTIONS PART 2


1. What are the classes, Tables, Forms and Methods used to post the Inventory.
2. What is the base class to send the on-boad E-mailing.
SysMailer and SysINetMail.
3. What are the storage Dimensions?
Site,WareHouse,PalletId,BatchNumber,SerialNumber
4. What are the Item Dimensions?
Configuration, size,Color
5. 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)
6. What is the difference between Insert and doinsert.
Insert(): To insert  the records into the database. Secure any related transactions with tts.
Doinsert():These methods should only be used under strict control because they bypass the following:
Any validations that have been set up.
Any code that was written in the insert, update, and delete methods.
7. What is the Runbase Stack?
8. 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++
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++
9. What is cluster installation?
Admin – Setup – Cluster Configuration
Click System administration > Setup > System > Cluster configuration.
You can distribute the user load in Microsoft Dynamics AX across multiple instances of Application Object Server (AOS) by creating a load balancing cluster.
10. Steps in creating number sequence?
Basic>Setup>NumberSequences> NumberSequences – Create a new number sequence.
Classes>NumberSequenceReference>LoadModule.
AR>Setup>parameters –  setup code.
Tables>CustParameters  – create method starts with numRefEDT.
Form>FormRun  – Create numberSequenceFormHandler method.
Form>FormDataSource  – Override create method.
11. Any module you are good at.    – AR,AP,Inventory,Production.
12. Collection classes
You cannot store objects in arrays or containers. The AX collection classes have been designed for storing objects. The classes are implemented in C++ to achieve the maximum performance (they are system classes).
ClassDescription
ArraySimilar to the array type except that it can hold values of any single type, including objects and records. Objects are accessed in a specific order.
ListContains elements that are accessed sequentially.
MapAssociates a key value with another value.
SetHolds values of any single type; used when order is important.
StructCan contain values of more than one type. Used to group information about a specific entity.
13. Tables in inventory?
InvetTable,InventTableModule,InventItemLocation, InventDim, InventTrans
BOMTable , WMSShipment.InventColor, InventSize
14. If you manipulate anything which layer would it affect?
The present layer where you are working and below of that layer.
15. What are the components in reports?
Methods , DataSources , Design.
16. How many types of classes are there?
System Classes and Application Classes.
117. Development tools?
Version control , Cross-reference, Code profiler, Debugger, Application Hierarchy Tree,Code Explorer, Reverse Engineer, Number of Records, Embedded Resources,  Wizards, Label.
18. Communication tools
19. Can you say few best practises in ax?
20. What is the difference between sql queries and dynamics queries.
Sql query is Select statement –
Dynamic query – AOT Query and Query class using x++.
21. What is the difference between x++ and c#?
X++ contains code and Sql select statements
C# contains only code.
22.  What are the link types in Ax?
Passive: Linked child data sources are not updated automatically. Updates of the child data source must be programmed on the active method of the master data source.
Delayed: A pause is inserted before linked child data sources are updated. This enables faster navigation in the parent data source because the records from child data sources are not updated immediately. For example, the user could be scrolling past several orders without immediately seeing each order lines.
Active: The child data source is updated immediately when a new record in the parent data source is selected. Continuous updates consume lots of resources.
InnerJoin: Selects records from the main table that have matching records in the joined table and vice versa. There is one record for each match. Records without related records in the other data source are eliminated from the result.
OuterJoin: Selects records from the main table whether they have matching records in the joined table.
And the other records also shown in the main table.
ExistJoin: Selects a record from the main table for each matching record in the joined table.
The differences between InnerJoin and ExistJoin are as follows:
–                      When the join type is ExistJoin, the search ends after the first match has been found.
–                      When the join type is InnerJoin, all matching records are searched for.
NotExistJoin: Select records from the main table that do not have a match in the joined table.
23. What can’t you store in containers
We can’t store objects in containers.
24. Difference between arrays and containers
An array can hold only items of same and its declared type. Containers store different types of data types at a time.
You can allocate memory space for an array and fill that space with values later, such as in a loop. This is efficient and performs well.
25. Logic for converting string to uppercase?
StrUpr() -Converts all the letters in a string to uppercase.
26.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.
27. D.B Abstract and final class.
Abstract forces the class to be derive subclass and final stops the class not to be derive or inheritance.
28. D.B ValidateWrite and write.
validateWrite(): Executed when a new or updated record is to be written.  Determines whether data is valid and ready to be written.
Write(): Executed when the user inserts a new record or updates an existing one. Calls theFormDataSource.validateWrite method and manages the database write operation.
29. What is dialoge class.
A dialog in AX is a simple form with a standardized layout, created by using the Dialog system class. Dialogs should allow users to enter some simple values.
Dialog Classes- DialogField, DialogGroup, DialogTabPage, DialogText, DialogWindow.
Dialog Methods – addField,addGroup,addTabPage,run,pack,unpack,
30. Pack and Unpack method?
Use the pack-unpack pattern to save and/or store the state of an object, and then later reinstantiate the same object.
Pack():create a pack method to read the state of the object and return it in a container suitable for saving or transporting between tiers. Reading the state of the object implies collecting the value of all its members. If the members are tables (records, cursors, temporary tables) or classes, it must also be possible to read their state.
Returns the state of the object as a container.
Unpack():create an unpack method that takes the packed state and reinitializes an object with it. Construct the object before creating an unpack method.
The unpack method takes the saved state of the object and reinitializes the object with it. It reinitializes the object members according to the values in the container, taking the supplied version number into account.
The method can return a Boolean that signals the result of the initialization process.
31. Architecture of MS dynamics AX.
Ax has the three tier  architecture    — 1 . client       2. AOS           3.DataBase.
32. Tell us about AIF(MSMQ).
Application Integration Framework (AIF) is the infrastructure within AX with which you can expose business logic or exchange data with other systems. AIF is comprised of three primary components:
1.Services – Enable you to expose business logic written in X++ as a service to be consumed by other applications. Within Microsoft Dynamics AX, you can create, customize, and publish services.
2.Document services – A specific implementation of services in which the Microsoft Dynamics AX business logic is exposed through document services.
3.Consume Web services – In Microsoft Dynamics AX, you can consume external Web services from your X++ code.
33. How to design a form in AX using X++?
The Form* classes enable you to manipulate, create, modify, or run forms by using X++ code. You can also modify forms during run time so, for example, one or more controls are hidden on a form, depending on the user’s selections in the preceding form.
The Form classes are all system classes and are prefixed with Form.
Form, FormRun, FormDesign, FormBuildDesign, FormDataSource, FormBuildDataSource, FormControl.
34. What is report builder?
You can create reports by using Report Builder for Microsoft SQL Server Reporting Services. You add information to the report from a report model.
When you create a report by using Report Builder for Microsoft SQL Server Reporting Services, you are using secure views of the tables available in the report model.
35. What is Index, properties in Index and types of Index?
An index is a table-specific database structure that speeds the retrieval of rows from a table. Indexes are used to improve the performance of data retrieval and to ensure the existence of unique records. It’s up to the database-specific query optimizer to use available indexes to facilitate efficient data retrieval.
Unique index and non-unique index.
36. Concept of Different Layer in AX.
syssypglsGlphfxsl1sl2sl3busbupvarvapcuscupusrusp
37. Difference between bound and unbound controls?
Form controls belong to one of three groups, depending on their data source as follows:
  • Bound control – associated with a field in an underlying table. Use bound controls to display, enter, and update values from fields in the database.
  • Unbound control – does not have a data source. Use unbound controls to display pictures and static text.
  • Calculated controls – uses a method as the data source. An example of a calculated control is the sum of two fields on a form.
38. How to create runtime query?
You can create a query to retrieve data by using the query classes.
Query, QueryRun, QueryBuildDataSource, QueryBuildRange, QueryBuildLink,  QueryBuildDynaLink
39. What is optimistic concurrency control and 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.
Following are the advantages of using OCC:
  • Fewer resources are used to hold the locks during the update process.
  • Records are locked for a shorter length of time.
  • Records remain available for other processes to update if they have been selected from the database but haven’t yet been updated.
The disadvantage of using OCC is that the update can fail if another process updates the same record. If the update fails, it must be retried. This can lead to a reduction in database performance.
OCC makes it possible for other processes to update a record even after it has been fetched. You can catch update conflicts by catching the UpdateConflict and UpdateConflictNotRecoveredexceptions.
40. What are transactions?
41. How to lock transactions?
42. What are macros?
Macros act as a container for defining variables used for frequent tasks. The purpose of macros is to make statements easy to reuse. A macro can’t be executed independently as a class.
An advantage macro is that the maintenance is done in only one place.
Three types of macros
Macro libraries – is a standalone macro that contains a collection of local macros.
Standalone macros – is created by using the macro node in the AOT.
Local macros  –  is declared with in a method.
43. What is the default link type property?   –    Delayed.
44. Default join in select statement (Queries) – innerJoin
45. Difference between validate write and validate field?
validateWrite(): Executed when a record is written to the database, before the data change is committed in the database.
validateField():Executed when you leave a field in a record. For example, after entering changes to a field on a grid control, you could click another field in that same record or on a different record. Or you could click another control on that same form.
The super() method invokes field validation checks, as guided by the value of the Validateproperty.
46. Do we have validate write and validate field in form level?
FormDataSource – validateWrite()
FormDataSourceField  – validate().
47. What are the methods required for posting a purchase order?
48. How to give null in select query?
Select table where table.field == “ ” ;
49. What is cache lookup and IsLookup what is it used for?
CacheLookup : Determines how to cache the records retrieved during a lookup operation.
Types –  None , NotInTTS, Found, FoundAndEmpty,EntireTable.
IsLookup : For report models, it specifies whether the table information is incorporated into other tables that reference it when a report model is generated.
For OLAP cubes, it determines whether to generate a consolidated dimension or a distinct dimension. You can specify one of the following values.
  • Yes – Indicates that attributes from the table are to be consolidated into the parent dimension (star schema).
  • No – Indicates that a separate dimension is to be generated for the table (snowflake schema).
50. Difference between table and views?
A Microsoft Dynamics AX view is a virtual table that contains the data records and fields that are specified by a query.Like a table, a view uses fields and rows to represent data records. However, the data in a view is not stored as a database object but is dynamically created when the view is accessed. A view uses a query to retrieve data fields from one or more database tables.
When you create a view, the view definition is generated and stored in the database. When that view is accessed, the view dynamically retrieves the data that satisfies the view definition.
Views are read-only. The data fields and tables that a view uses cannot be updated from that view.
BenefitDescription
Focused dataA view enables you to retrieve and return only the data that is relevant for a particular user or scenario.
Customized dataA view enables you use a complex query to create a highly-customized set of data. For example, a view often represents data as a single table that was retrieved from multiple joined tables and used many conditions.
PerformanceA view can improve performance by returning only relevant fields to the user. In addition, a view definition is compiled which may provide better performance than calling an equivalently complex query.
51. In which case delete_from and delete() have same result?
When deleting only one record in the table.
52. Explain sales/purchase order processes in AX.
53. Can you just tell the table properties that you can remember?
55. Explain different types of reports?
AOT Reports , Using X++ – Report classes, Using Report wizard.
56. Primary Key in tables (In dynamics AX don’t have primary key)
57. What is the default index for a table?
The system index is created on the RecId and DataAreaId fields if the DataAreaId field exists. Otherwise the system index is created on the RecId field. You can see system indexes in the database but they aren’t visible in the AOT.
58. What are all the add- on tools you used in Dynamics AX (It’s an indirect question for AIF)
59. Did you work with EP (Enterprise Portal & Workflow) how can you implement this features into your projects?60. Difference between this and element?
this & element: this can be used in any objects to reference the current object and member methods.
In forms the collection of objects is contained within a FormRun object. You can reference members in the outer formrun object by using the element reference.
If your code is placed at the top level there are no functional difference between this and element.
If your code is placed in a formdatasource but this will reference the datasource but element will reference the formrun.
You cannot use element to refer table or class object.

No comments:

Post a Comment

Labels

#veryusefulcode (1) AIF (8) AOT Maps (1) Args (1) Ax 2009 Reports (2) AX 2012 navigation (1) Ax 2012 Interview Questions (1) AX 7 (2) AX Architecture (1) Ax Backup (1) AX Workflow (2) AX2012 (1) AX2012 R2 (1) Ax2012R3 (1) AX2012R3 Dynamics Connector Step by Step Installation and Configuration (1) AX2012R3 EP Step by Step Installation and Configuration EP R3 (1) AX2012R3 HelpServer Step by Step Installation and Configuration (1) AX2012R3 Rapid Start Connector Step by Step Installation and Configuration (1) AX2012R3 Report Server and Analysis Server Step by Step Installation and Configuration (1) AX7 (1) Best practices (1) Blocking user to enter (1) Collection Classes (1) Container (1) D365FO (3) Data Migration Frame Work ax 2012R3 (1) Deleting duplicate Record from Table – Ax2012 (1) Delivery due date notification workflow in Ax 2012 (1) Development Steps EP (1) Dimensions (1) DIXF (1) DMF in Ax 2012 R3 (1) Dynamics Ax 2012 Interview Questions (1) DYNAMICS AX 2012 INTERVIEW QUESTIONS PART 2 (1) DYNAMICS AX 7 (1) EDT relation Migration Tool (1) EP AX 2012 (1) Ep Lookup (1) Error (1) Event Handler (1) F5 (1) File Handling (4) Filter on AX2012 Listpage (1) filtering (2) financial dimensions in AX 2012 (3) form (1) images (1) Installation and Configration (4) Installation and Configuration (11) Installation of Management Reporter 2012 for AX 2012 (1) Interaction class in ax 2012 (1) Interview Question (1) Interview Questions For Ax 2012 (1) Invent DIm (1) Jobs (2) license (1) List page and form menuitem enable code (1) Methods (1) microsoft Dynamics AX 365FO (1) Number Sequence Generation – AX 2012 (5) Number Sequence2012 (1) OLTP-OLAP (1) Passing Args (1) Passing form caller and menu item caller in ax 2012 (1) Passing Multiple Records Args (1) Posting in Ax 2012 (1) POSTING PURCHASE ORDER (1) Query (1) Query Filter Form (2) Query Ranges in X++ (1) Question and Answer (1) Report (1) Reports Controller class (1) RLS in ax 2009 (1) SALES ORDER IMPORT/EXPORT FRAMEWORK BY DMF (1) Security (1) security roles (1) Security Sysqueryrangeutil (1) Sharepoint 2016 (1) SQL SERVER (1) SSRS (2) SSRS Reports Controller class (2) Table collections & Virtual company (1) Time (1) TIPS AND TRICKS (1) Web service AIF (3) Web Services on IIS (AIF) Step by Step Installation and Configuration (1) workflow ax2012 (1) Workflow installation (1) Workflow Method (3) X++ (1)