document.body.ondragstart = "return false";document.body.onselectstart = "return false"; microsoft dynamics ax interview questions: November 2010

Tuesday, November 30, 2010

Absolute and relative updates?

Absolute update ensures that changes to a value in a record are saved exactly as they are entered regardless of any other user updates.
User A User B
- User B reads the value 100
User A reads the value 100 -
User A writes the value 200 -
- User B writes the value 200
Final Database value 200 -
Relative update can be used in multi-user environment. This allows multiple users work on the same record at the same time. Here morphX combines each of the user’s modifications before the record is saved in the data base.
User A User B
- User B reads the value 100
User A reads the value 100 -
User A writes the value 200 -
- User B writes the value 300
Final Database value 400 -

What is an Update Strategy in Ax?

Axapta updates only the specific fields that the user has modified not the entire row in the database.

What are Foundation classes, explain?

5 classes:
1. Sets: A set is a container class that may hold any number of distinct values. The order in which the elements occur during iteration is not defined by the sequence in which the elements are inserted.
*** Adding a value to the set which already exists is ignored and does not increase the no. of elements in the set.

2. Map: Map is a data type that associated one (key) value to another value. Both the key and value may be of any valid x++ types.
3. Lists: They are named as Sequential storage of data (Duplicated allowed)
      Lists are the structures that may contain any number of elements that are accessed sequentially. The traversal of the list element is very fast.
4. Arrays: Array is a collection of variables all of the same type, and the variable holds one value at a given time.
      X++ supports only one-dimensional arrays, which have 3 types:
      DYNAMIC - int I [].
      FIXED LENGTH - real r [100] and
      PARTLY ON DISK – date d [, 10] dynamic array of dates with only 10 elements in memory. 10 is a memory element.
                          NoYes e [100, 10] fixed length array, with 10 elements in memory. Value 10 is an optional and if specified, only memory items are stored in memory at once and the rest are stored on disk. These disk items are automatically loaded when referenced, here x++ swaps automatically.
5. Struts: Structures are the entities that may hold any number if values of any x++ types. Struts are used to group info pertaining to a specific entity

. Explain table relations? Explain the purpose with an example?

3 relations:
      a. Normal: Represents one column value related to a column in another  table.
Your browser may not support display of this image.
      b. Field fixed: This relation is used when one column field in a table can relate to several columns in another tables. Means based on a specific value of one field another field value changes.
      Example: If we have a table called Parent, which contains two fields named Check (Enum 0 or 1), Name. If there is a situation where based on the Check column value the value or drop down for Name should differ. Here if Check column is marked than Name should get the drop down list from the EmplTable and if Check is not marked than it should be from CustTable. 

  1. Related field fixed: This relation is used to restrict the records retrieved (shown in lookup) from the related table by applying some constraint to it.
          Example: In a table field called Name if we want to lookup only the employees whose status is checked than we must have to use this relation.
Here’s the depiction which shows the above scenario

How do you create purchase order from sales order?

After creating SO, from the SalesTable, we have a menu item called Functionsà Create Purchase Order.
Your browser may not support display of this image.

By Clicking on it will opens a new form called Create Purchase Order
Your browser may not support display of this image.
Click Ok.

What are the different types of menu items?

3 types Display: For forms, Action: for classes, Output: for reports. Add more

What are the different types of joins? Explain with example

4 types of joins:
      a. Inner Join: Used to combine records from 2 tables wherever there are
      Matching values in common field.
      b. Outer Join: Join all the records in one table even if there are no matching Values in the joined field from the second table.
      c. Exists Join: Combine records from one table wherever there exists a value  in a common field in another table.
      d. Non-exists join: Combine records from one table wherever a value in a
      Common field in another table does not exist.

. What are macros?

Macros are nothing but a piece of X++ code that can be used in several places. Advantage is there maintenance can be done from one place.
MorphX has built in macro preprocessor. Basically there are 3 kinds of macros:
  1. Stand-alone macro: It is created using the macro-node of the AOT.
  2. Macro library: It is a stand alone macro which contains local macros.
  3. Local Macro: A local macro is declared with in a method or stand alone macro

What are configuration keys and security keys?

Evolution of keys:
Security System: Security in Ax was created to make the system more intuitive and flexible and also easier for the administrator to setup.
With the version of 3.0 the configuration and security system was introduced. This is an extension of the feature key system.
The feature keys are replaced by the 2types of keys: Configuration and Security. Means the double functions the feature keys previously had is now replaced with 2 types of keys each having ONE function.
Feature keys allows us to turn on and off the application functionality without having to customize the entire application and changes on user basis User Groups\\Feature Key permissions like read only such as Field Level security and Functionality a user needs to see ex: If AR person than no need too access the Production Series and so we can remove access by unchecking the check box.
Configuration keys: are used to enable and disable the functionality, to acquire the Configuration functionality we need to have already uploaded License information in to our Ax system. Setup is done from Administration\\Setup\\System\\Configuration.
Security keys: Having setup the configuration keys, security must be considered. Security keys are used to control the access to the functionality for users. Security keys can be setup for user groups. Security keys control access to the tables, menu items.
Security keys are used almost every where the feature keys were except for indexes, fields and types. Why not used for these objects?
Indexes: The performance of indexes must be available to all the users and every where the object is used.
Fields: Security on fields must be setup from the user group permissions forms, under the table they belongs to.
Types: Security can only be applied to fields, making the concept if indirect access obsolete (Outdated/Out of date)
Setup is done from Administration\\Setup\\Security\\User group permissions.

What is the difference between indexhint and index? How many types of indexes are there?

Normally when quering if we use index it shows that the retrieving should happen based on the field used in the index, but here irrespective of this field if any best index is available DB chooses it and performs query, but if we use the index hint than DB id forced to use the specified index instead of any one.

How many types of delete actions are there? Explain each of them with example

4 types:
None- If any record is deleted from the main table and there is a record the child table, than it will not be deleted.
Cascade- Deletes the corresponding record in the linked table based on the relational key columns
Restricted- Doesn't allow us to delete the record in the main table and says "The record may not be deleted. Transactions exist in table 'Child'".
Cascade + Restricted-If we do deletions from X++ it is treated as restricted, where as if we do deletion from Form it is treated as the cascade.

What is the purpose of runonproperty

Property which makes the object to run and use the resources of the values set

What are the different link types?

Active, Passive, Delayed, Inner , Outer ,exsits  and notexist

What are EDT'S and the purpose of it?

EDTs are user defined types created on the basis of Primitive types such as real, string, integer, date and composite type like container. We can create a new type called name and its type as string and this type name again can be used any where the primitive and composite types used.
Our code would be easier to read, since variable have meaningful data type and also properties of the new type would be used as the default in forms and reports. ALL STANDARD CONVERSIONS ARE APPLICABL

What are the layers in Axapta and what is the purpose of each layer?

8 layers:
SYS- Lowest layer where the standard application is implemented.
GLS-MBS certifies and distributes a solution that has not been developed in-house.
DIS-Country specific legal demands are saved in this layer
LOS-Distributor implements local partner specific solutions
BUS-Partner generic solutions, here Axapta ensures that the top level application objects are used
VAR-Industry specific solutions are saved in this layer
CUS-Company generic modifications done by the Administrator
USR-End user may wish to save his/her own modifications, for eg: repor

What are the three relations in Ax 2009?

 There are three relations in Ax 2009

1) Normal

2)Filed fixed

3)Related Field fixed