+ All Categories
Home > Documents > Dynamics AX Interview Questions

Dynamics AX Interview Questions

Date post: 07-Nov-2014
Category:
Upload: john-ramarao
View: 664 times
Download: 9 times
Share this document with a friend
Description:
2012 ax dynamics interview questions
Popular Tags:
22
Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/ Page | 1 101 Dynamics AX Interview Questions Mukesh Hirwani Follow me @ BlogSpot: http://mukesh-ax.blogspot.in/ Microsoft Community: http://community.dynamics.com/product/ax/axtechnical/b/mukeshhirwani_dynamicsax/default.aspx
Transcript
Page 1: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 1

101 Dynamics AX

Interview Questions

Mukesh Hirwani

Follow me @

BlogSpot: http://mukesh-ax.blogspot.in/

Microsoft Community:

http://community.dynamics.com/product/ax/axtechnical/b/mukeshhirwani_dynamicsax/default.aspx

Page 2: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 2

AX 2012 Technical

1. What’s new in Dynamics AX 2012

SSAS - Analysis service project wizard.

AOS - Validfrom and validto columns, Unit of work class, Inheritance among the tables

Client -Form styles, Search and parts

EP - Sharepoint 2010, listpge famework, windows live authentication

Morphe x - Models and model store, dev. workspace, some layers renamed and powershell

SSRS – Labels in reports, auto reports, cross reference can access, unlimited dimensions

X++ -Eventing, attributes, .Net proxies to X++ classes, faster compilition

2. What are the architecture changes done in AX 2012 R2?

The model store and the transaction data are stored in separate OLTP databases. In other versions

of Microsoft Dynamics AX 2012 prior to Microsoft Dynamics AX 2012 R2, the model store and

transaction data are stored in a single OLTP.

3. What are Partitions? What is the purpose of partitions in Microsoft Dynamics AX 2012 R2?

http://msdn.microsoft.com/en-us/library/jj677285.aspx

4. What are Models and Model store? Managing Models? http://technet.microsoft.com/en-us/library/hh335184.aspx

5. Table Keys: Surrogate, Alternate, Replacement, Primary, and Foreign [AX 2012] http://msdn.microsoft.com/en-us/library/hh812105.aspx

6. Table properties

Property Description

Abstract Specifies whether or not the table supports inheritance. The default value is No. If the value is Yes, the table cannot be a direct target of X++ SQL statements such as update_recordset and select. This property is unavailable when the SupportInheritance property is set to No. For more information, see http://msdn.microsoft.com/en-in/library/gg881053.aspx.

CountryRegionCodes Specifies the country region codes where the table is applicable or valid. The client framework and application may make use of this property to enable or disable country or region specific features. This is implemented as a comma-separated list of ISO country codes in a single string. The values must match data contained in the global address book.

Page 3: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 3

CountryRegionContextField Specifies the field that will be used to identify the country context. This relates to the CountryRegionCodes property.

CreatedDateTime Indicates whether the system maintains the CreationDate and CreationTime fields for the records in a table. This field contains the date when a record was created.

Extends Derives the table from another table that is chosen as the property value. The value is null when the SupportInheritance property is set to Yes. For more information, see http://msdn.microsoft.com/en-in/library/gg881053.aspx.

ListPageRef Specifies a display menu item that points to a form that can show a list of this record type.

Model Specifies which model the table is in. A model is a logical grouping of elements in a layer. An element can exist in exactly one model in a layer. Examples of elements are a table or class. The same element can exist in a customized version in a model in a higher layer.

PreviewPartRef Specifies the Info Part or Form Part to be used in the enhanced preview. An info part shows a collection of data fields from a specified query. An info part uses metadata to describe how the data appears. A form part represents a pointer to a form.

ReplacementKey Specifies the fields to display as the identifier for data in some form controls.

SupportInheritance Setting this property to Yes enables you to set a value for other inheritance related properties such as Extends and Abstract. When you set the value to Yes, any fields on the table are dropped and must be created again.

TableType Replaces the Temporary property found in Microsoft Dynamics AX 2009. For more information, see http://msdn.microsoft.com/en-in/library/gg863308.aspx.

ValidTimeStateFieldType Specifies the type of date-time field for the system to use when it tracks data within time spans.

Page 4: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 4

AX 2012 R2

Property Description

SaveDataPerPartition

Shows whether the table has a system field named Partition. This is meant to be a read-only system field. If the table has a Partition field, each record is assigned to one partition. Each record is kept hidden from data access operations that are run under the context of other partitions.

7. AOT Elements

Node Description

Data Dictionary

Contains the data types and tables that make up the database. Also contains objects to control access to the data. It contains the following sub nodes:

Tables: Tables that contain the Microsoft Dynamics AX data.

Maps: Enables you to create associations between closely related (but non-identical) table fields and methods.

Views: Enables you to join data from different tables, and then to select which fields you want to display.

Extended Data Types: Data types that extend one of the primitive data types or another extended data type.

Base Enums: Enumerable types that contain a list of literals.

License Codes: Determines which components of Microsoft Dynamics AX functionality are available to a company.

Configuration Keys: Allows administrators to enable or disable features in the application for all users.

Security Keys: Security keys are obsolete in Microsoft Dynamics AX 2012 and only exist to use for reference during a code upgrade. There is a new security framework, which is called role-based security. For more information on the new security framework, see What's New: Security for Developers in Microsoft Dynamics AX 2012 and Role-based Security in the AOT for Developers.

Table Collections: Collections of tables that contain data that is often shared between companies.

Perspectives: Collections of tables that were used to organize information for report models.

Macros Contains the source code for the macros used by the standard application. In addition to viewing the existing code, you can add your own macros.

Classes

Contains the source code for the application (X++) classes.

You can also use system classes (also known as kernel classes). They are listed in the System Documentation\Classes node.

Forms Dialog boxes in the user interface that are used to access the database.

Parts Contains controls you can use to retrieve and show a collection of data. For more information, see Parts.

Page 5: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 5

Data Sets Provides a generic data access layer that allows for external presentation layers to bind to Microsoft Dynamics AX tables and data types. For more information, see Data Sets for Enterprise Portal.

SSRS Reports Contains SQL Server Reporting Services reports that are included with Microsoft Dynamics AX.

Reports Enables users to print or display summary information from the database.

Visual Studio Projects

Contains projects created in Visual Studio and added to Microsoft Dynamics AX by using Application Explorer. Project types that can be added to this node include Dynamics AX Model Projects, C Sharp Projects, Visual Basic Projects, Web Application Projects, and Analysis Services Projects. For more information, see Visual Studio Integration and How to: Add a Visual Studio Project to the AOT.

Report Libraries Used to store Microsoft Dynamics AX 2009 SQL Server Reporting Services report libraries that are being upgraded for the Microsoft Dynamics AX 2012 AOT environment.

Queries Used as the source of records for forms and reports.

Jobs Typically holds small X++ programs that are used to test new code.

Menus Contains the menus you want the end user to see.

Menu Items Contains a complete list of the items that can be presented in a menu. Menu items act as a higher layer of abstraction for forms, reports, and so on.

Web Contains objects related to Web development.

Services Contains services that are exposed by Microsoft Dynamics AX.

Service Groups Contains collections of services that are frequently consumed and managed together. All the services in a service group are published in a single WSDL file.

Workflow Contains the workflow model elements used to create a workflow configuration. This node contains Categories, Tasks, Approvals, and Templates. For more information, see Implementing Workflow for Microsoft Dynamics AX.

Security Contains the objects you use to implement application security, such as roles and permissions.

Resources Contains references to image and animation files.

Label Files Contains label files that store labels for all user interface elements. For more information, see Label Editor.

References Contains references to Microsoft .NET assemblies and to external Web services. Both types of references can be used in X++ statements.

Help Documentation Sets

Specifies the documentation sets on the Help Server.

System Documentation Contains items that represent system (kernel) classes, functions, tables, and so on.

8. Layers & their usage.

Layer Description

USR The user layer is for user modifications, such as reports.

CUS The customer layer is for modifications that are specific to a company.

VAR Value Added Resellers (VAR) can make modifications or new developments to the VAR layer as specified by the customers or as a strategy of creating an industry specific solution.

ISV When an Independent Software Vendor (ISV) creates their own solution, their modifications are saved in the ISV layer.

Page 6: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 6

SLN The solution layer is used by distributors to implement vertical partner solutions.

FPK The FPK layer is an application object patch layer reserved by Microsoft for future patching or other updates. For more information, see Patch Layers.

GLS When the application is modified to match country or region specific legal demands, these modifications are saved in the GLS layer.

SYS The standard application is implemented at the lowest level, the SYS layer. The application objects in the standard application can never be deleted.

Common AX Questions

9. OOPs concepts

Class : Class is the 1st OOPs concept .Class defines the characteristics of objects which includes its

attributes , fields properties and behavior . Let us say we have a class called car , then the color ,

model number , top speed can be its attributes and properties . Accelerating , breaking , turning

will be its behavior .

Objects: Objects can be considered as a thing that performs a set of related functions

.Programming objects are used to model real worlds objects. An object is also an instant of a class

. For our class Car , Ferrari will be our object

Instance : One can have an instance of a class; the instance is the actual object created at runtime.

The set of values of the attributes of a particular object is called its state. The object consists of

state and the behaviour that’s defined in the object’s class.

Method :Also called as functions in some programming languages , methods defines the

behavior of particular objects . For our Car class , turning() , breaking () will be our methods .

Inheritance : a parent class can inherit its behavior and state to children classes. This concept was

developed to manage generalization and specialization in OOP .Lets say we have a class called Car

and Racing Car . Then the attributes like engine no. , color of the Class car can be inherited by the

class Racing Car . The class Car will be Parent class , and the class Racing Car will be the derived

class or child class

Abstraction : representing only the important details without including all the details . For

example the car Ferrari can be treated as simple car only .

Encapsulation:The wrapping up of data and functions into a single unit is called as encapsulation

. For example the class car has a method turn () .The code for the turn() defines how the turn will

occur . So we don’t need to define how Mercedes will turn and how the Ferrari will turn separately

. turn() can be encapsulated with both.

Page 7: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 7

Polymorphism: Its an important OOPs concept , Polymorphism means taking more than one

forms .Polymorphism allows the programmer to treat derived class members just like their parent

class’s members. More precisely, Polymorphism in object-oriented programming is the ability of

objects belonging to different data types to respond to calls of methods of the same name .If a

Dog is commanded to speak(), this may elicit a bark(). However, if a Pig is commanded to speak(),

this may elicit an oink(). Each subclass overrides the speak() method inherited from the parent

class Animal.

10. Differences:

a. MorphX & Intellimorph

MorphX is the Microsoft Dynamics AX IDE( Integrated Development Environment) which

includes:

- Data Dictionary

- Tools for creating menus, forms and reports for Windows- and Web clients

- Compiler and debugger for the object oriented programming language X++

- Version control system

- Label (multi language text) systems

IntelliMorph is the Runtime Environment embedded in Microsoft Dynamics AX, that

draws menus, forms, and reports for Windows- and Web-clients with the correct

contents, size, and layout according to:

- The language your texts are displayed in.

- What features you can access.

- How wide you want the fields on your installation.

- The formats you are using for dates and numbers.

b. RunBase & RunBaseBatch

RunBase class: 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.The RunBase framework uses

the Dialog framework to prompt a user for data input. It uses the SysLastValue framework

to persist usage data and the Operation Progress framework to show operation progress.

class RunBase extends Object implements SysSaveable, SysRunable

RunBaseBatch class: 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.

class RunBaseBatch extends RunBase implements Batchable

Page 8: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 8

RunBaseReport class: The RunBaseReport class makes all reports batchable and creates

a standard dialog box.

class RunBaseReport extends RunBaseBatch

This class is instantiated through the SysReportRun Class. It should be used by all

reports. The purpose of the class is to:

- Make all reports batchable

- Create a standard dialog

If you are creating more complex reports, it might be necessary to inherit from this

class. If this is the case, you must create the following methods:

lastValueElementName(). Returns the report name.

description(). Static.

main(). Static.

c. Element & this

"this" can be used in any objects to reference the current object and member methods.

MorphX forms and reports are composite objects.

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 "this" will reference the datasource but

"element" will reference the "FormRun".

d. COM & .NET Business Connector

.NET Business Connector provides interoperability with the .NET Framework. This is

enabled by providing Windows Server SDK managed classes.

COM Business Connector provides Microsoft COM interoperability. This is enabled by

providing a Microsoft COM-based interface. COM Business Connector is no longer going

to be supported in Ax 2012

e. Concurrent user & Named user

Named User: specific individuals are licensed

Concurrent user: you may have ‘N’ number but you can access only few use the Ax

simultaneously.

Page 9: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 9

f. Primary key & Foreign key

Primary key is the unique key of a table, for example ID.

Say, you have a student table, the primary key is usually student id, as there won't be

two students with the same id.

As for foreign key, it's a key to define the relationship between two tables.

Say, there is another table called StudentEvent, which it contains a PersonInCharge field.

In this StudentEvent table, the primary key is EventID, where the PersonInCharge is

actually storing the StudentID, which it is the foreign key to the Student table. This actually

defines the relationship between Student table and StudentEvent table.

g. Construct & New methods

Method new() actually constructs a class and finalize() destructs.

Method construct() is a best practice to use when creating an instance. In this method

you code how to construct a specific class.

h. Normal, field fixed & related field fixed relations

Lets say you have ClothesTable and ClothesOrders.

ClothesTable has the following fields: ClotheId, Name and CollectionTypeId

MenClothesOrder has the following fields: OrderId, ClotheId, Qty OrderId could be a

number sequence and Qty entered manually bby the user.

CollectionTypeId has the following elements:

0 - Men

1 - Women

2 - Children

Example 1: Related Fixed Field

On MenClothesOrder we create a new relation to ClothesTable and specify the follwing

two:

1. Normal = ClotheId to ClotheId (Best practice to specify this on the EDT) and

2. Related Fixed Field 0 = ClothesTable.CollecTionTypeId.

Page 10: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 10

This shows that the lookup to the clothes table should show only clothes with the same

ClotheId (point 1) AND clothes that are of type Men (point 2) because the our table deals

with order for mens' clothes. We use 0 because Menis element 0 in the Enum.

Example 2: Fixed Field

This kinda works the other way round:

Imagine you have a ClothesOrders table (generic) and you have seperate tables for

MenClothesTable, WomenClothesTable and ChildrenClothesTable. Fixed field says that

the specified normal relation (on ClotheId) to MenClothesTable only works if the

CollectionTypeId of the current record is set to 0 (Men) else the relation is disabled.

i. Table & View in AOT

Table : Relational Database is composed of tables that contain related data.

View :

1. Views are created from one or more than one table by joins, with selected columns.

2. Views are created to hide some columns from the user

3. Views reduces the effort for writing queries to access specific columns every time.

4. View doesn't contain any data.

j. Auto design & Generated design in reports

Auto designs take full advantage of MorphX, they allow for dynamic templates, auto

headers and auto sums based on criteria established in the query.

Generated designs are static, and will not automatically adjust to changes made in the

query or report template. It is recommended using auto designs. You should only consider

using generated designs in special cases where a fixed layout is needed. Generated

designs are generally only required where the layout is fixed by contract or statute, or

when you need to use pre-printed forms such as checks and purchase orders. Generated

designs have some extra sections for adding headers and footers to body sections. Beside

that auto designs and generated designs use the same type of sections.

k. Business connector & External Connector

l. VSS & TFS

Visual source safe for versioning – VSS last version is 2005

TFS- Tem foundation server - versioning

m. Refresh(),reread(),research() & executeQuery()-

1. Refresh

Page 11: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 11

This method basically refreshes the data displayed in the form controls with whatever is

stored in the form cache for that particular datasource record. Calling refresh() method

will NOT reread the record from the database. So if changes happened to the record in

another process, these will not be shown after executing refresh().

2.refreshEx

This method should be used sparingly, in cases where multiple rows from the grid are

updated, resulting in changes in their display Options, as an example. So you should avoid

using it as a replacement for refresh(), since they actually have completely different

implementations in the kernel.

3. Reread

Calling reread() will query the database and re-read the current record contents into the

datasource form cache. This will not display the changes on the form until a redraw of the

grid contents happens

4. Research

Calling research() will rerun the existing form query against the database, therefore

updating the list with new/removed records as well as updating all existing rows. This will

honor any existing filters and sorting on the form, that were set by the user.

5. ExecuteQuery

Calling executeQuery() will also rerun the query and update/add/delete the rows in the

grid. The difference in behavior from research is described below.

ExecuteQuery should be used if you have modified the query in your code and need to

refresh the form to display the data based on the updated query.

n. formDataSource.queryRun().query() & formDataSource.query()-

An important thing to mention here is that the form has 2 instances of the query object -

one is the original datasource query (stored in formDataSource.query()), and the other is

the currently used query with any user filters applied (stored in

formDataSource.queryRun().query()).

When the research method is called, a new instance of the queryRun is created, using the

formDataSource.queryRun().query() as the basis. Therefore, if the user has set up some

filters on the displayed data, those will be preserved.

This is useful, for example, when multiple users work with a certain form, each user has

his own filters set up for displaying only relevant data, and rows get inserted into the

underlying table externally (for example, through AIF).

Calling executeQuery, on the other hand, will use the original query as the basis, therefore

removing any user filters.

Page 12: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 12

This is a distinction that everyone should understand when using research/executeQuery

methods in order to prevent possible collisions with the user filters when updating the

query.

11. Delete actions & its types

Types of delete action

a. Cascade

A cascading deletion action will delete all records in the related table, where the foreign key is

equivalent to the primary key of the current table. That is, deleting the parent record will also

delete the child record(s) in the related table.

This cascading will take place whether the deletion is performed in code or directly by a user

through the user interface.

b. Restricted

A restricting delete action will raise an error message if the user tries to delete a record, where

records exist in the related table where the foreign key is equivalent to the primary key of the

current table.

This error will only appear if the deletion is performed through the user interface. A deletion from

X++ code will be allowed to proceed and will not be cascaded to the related table. In this case the

programmer should call .validateDelete() themselves prior to the call to .delete()

c. Cascade+Restricted

This delete action normally works as a Restricted delete action. However if the deletion is

performed through X++ code, no error will be raised and the deletion will be cascaded to the

related table.

12. Table groups & its types

Table groups provide a method for categorizing tables according to the type of data they contain.

When exporting data, you can use table groups to filter records. For example, if you wanted to

specify that customers should be exported but customer transactions should not. The table group

that a table belongs to is defined by the TableGroup property of the table.

The available table group values are listed in the following table.

Table group Use this group for a table with these characteristics Examples

Parameter

The table contains data primarily used as parameters or setup information for one of the main tables (a table that has a TableGroup property of Main). CustParameters,

VendParameters The table typically contains only one record per company.

Group

The table contains data primarily used to categorize one of the main tables (a table that has a TableGroup property of Main). CustGroup,

VendGroup There is a one-to-many relationship between a Group table and a Main table.

Main The table is one of the principal tables in the application and contains data for a central business object.

CustTable, VendTable

Page 13: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 13

The table typically holds static, base information.

There is a one-to-many relationship between a Main table and a Transaction table.

Transaction The table contains transaction data. CustTrans,

VendTrans The table is typically not used for data entry directly.

WorksheetHeader

The table typically categorizes information in the WorkSheetLine tables.

SalesTable There is a one-to-many relationship between a WorkSheetHeader table and a WorkSheetLine table.

WorksheetLine

The table contains information to be validated and made into transactions.

SalesLine In comparison to the data contained in a Transaction table, the data in WorkSheetLine tables is temporary and may be deleted without affecting system stability.

Miscellaneous The table does not fit in any of the other categories. This is the default value for a new table.

TableExpImpDef

13. Creation of PO & SO thru code (AX 2009)

Code for creating Sales order:

SalesTableType and SalesLinetype. Insert() should be called for creating the sales order.

static void createSalesTable(CustAccount _custAccount)

{

SalesTable salesTable;

NumberSeq NumberSeq;

;

NumberSeq =

NumberSeq::newGetNumFromCode(SalesParameters::numRefSalesId().numberSequence);

salesTable.SalesId = NumberSeq.num();

salesTable.initValue();

salesTable.CustAccount = _custAccount;

salesTable.initFromCustTable();

salesTable.insert();

}

Example: Create a Sales Line

static void createSalesLine(SalesId _salesId, ItemId _itemId)

{

SalesLine salesLine;

;

salesLine.clear();

salesLine.SalesId = _salesId;

Page 14: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 14

salesLine.ItemId = _itemId;

salesLine.createLine(NoYes::Yes, // Validate

NoYes::Yes, // initFromSalesTable

NoYes::Yes, // initFromInventTable

NoYes::Yes, // calcInventQty

NoYes::Yes, // searchMarkup

NoYes::Yes); // searchPrice

}

//Code for posting Sales order Invoice

static void createSalesOrder(Args _args)

{

SalesFormLetter formLetterObj;

formLetterObj = SalesFormLetter::construct(DocumentStatus::Invoice);

formLetterObj.update(SalesTable::find(“SO-101248″));

}

Code to Create Purchase Order and Post the Invoice:

Following Job creates the Purchase order from code and post the invoice by making use of

PurchFormLetter class. If you don't have demo data , please test with your input values.

static void Dev_CreatePO_and_Invoice(Args _args)

{

NumberSeq numberSeq;

Purchtable Purchtable;

PurchLine PurchLine;

PurchFormLetter purchFormLetter;

;

ttsbegin;

numberSeq =

NumberSeq::newGetNumFromCode(purchParameters::numRefPurchaseOrderId().NumberSequ

ence,true);

// Initialize Purchase order values

Purchtable.initValue();

Purchtable.PurchId = numberSeq.num();

Purchtable.OrderAccount = '3000';

Purchtable.initFromVendTable();

if (!Purchtable.validateWrite())

Page 15: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 15

{

throw Exception::Error;

}

Purchtable.insert();

// Initialize Purchase Line items

PurchLine.PurchId = Purchtable.PurchId;

PurchLine.ItemId = 'B-R14';

PurchLine.createLine(true, true, true, true, true, false);

ttscommit;

purchFormLetter = purchFormLetter::construct(DocumentStatus::Invoice);

purchFormLetter.update(purchtable, // Purchase record Buffer

"Inv_"+purchTable.PurchId, // Invoice Number

systemdateget()); // Transaction date

if (PurchTable::find(purchTable.PurchId).DocumentStatus == DocumentStatus::Invoice)

{

info(strfmt("Posted invoiced journal for purchase order %1",purchTable.PurchId));

}

}

Change the DocumentStatus to packingSlip , if you want to post packing slip.

14. Flow of SSRS report generation in Dynamics AX-

AX menu item from rich client->Report viewer opens->Issues request to report server->

Report server connects Dynamics AX(.NET BC)->Fetches the data->Return to client

15. How can we create primary key for a table?

Post by Amer atiya, explaining the process of Primary key creation

16. What precautions you need for overriding fetch() method for a report?

MSDN link of how to override the fetch Method to Filter Data for Reports.

17. Difference between OCC (Optimistic concurrency control) and PCC (Pessimistic concurrency control)?

MSDN Link explaining OCC and PCC

Page 16: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 16

18. How many types of MAP there in Dynamics AX? http://arsalanax.blogspot.com/2012/01/types-of-map-in-dynamics-ax.html

19. What is cache lookup what is it used for?

Dynamics AX Caching

20. Difference between table and views?

Table vs. views

21. Why we use dialog? And how to accomplished it?

MSDN Link explaining dialog

22. What are the different type of index?

Index Overview

23. Difference b/w cascade + restricted and restricted delete actions?

Delete actions in AX

24. In which case delete_from and delete() have same result?

Delete() will delete one record at a time.

Delete_from can delete multiple records at a time.

25. Explain sales/purchase order processes in AX.

Purchase Order

Sales Order

.

26. Table properties?

Tables Overview

27. Different types of relation? Explain it detail?

Relations in Tables

Page 17: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 17

28. Explain Queries? What’s it used for?

AOT Query

X++ Query

29. Explain different types of reports? There are two types of reports in AX

SSRS Reports

X++ Reports

30. Differentiate auto design spec & Generated design? Which one is a preferable choice and Why? Report Design for X++ Reports

31. What are all the add- on tools you used in Dynamics AX (It’s an indirect question for AIF) http://technet.microsoft.com/en-us/library/gg731810.aspx

32. Explain primary index and Cluster index? Explain in detail? http://msdn.microsoft.com/en-us/library/bb278358.aspx

33. What is the default index for a table?

Default Index in Table

34. Did you work with EP (Enterprise Portal & Workflow) how you can implement this features into your projects?

EP in AX 2012

35. Can you just point out some best practice you used when u develop a project?

http://msdn.microsoft.com/en-us/library/aa658028.aspx

36. What is cache lookup what is it used for? http://msdn.microsoft.com/en-in/library/bb278240.aspx

37. Different types of relation? Explain it detail?

http://msdn.microsoft.com/en-in/library/aa675395.aspx

38. What are all the add- on tools you used in Dynamics AX (It’s an indirect question for AIF) http://technet.microsoft.com/en-us/library/gg731810.aspx

39. AOS Load balancer concept/Clustering http://technet.microsoft.com/en-us/library/dd309627.aspx

Page 18: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 18

40. Dynamics AX security hierarchy

http://technet.microsoft.com/en-us/library/aa496919.aspx

41. AX 2012 Workflow configuration

http://technet.microsoft.com/en-us/library/hh227472.aspx

42. Web Services concept

http://technet.microsoft.com/en-us/library/gg731848.aspx

43. Version Control System in AX 2012

http://msdn.microsoft.com/en-us/library/aa639568.aspx

44. Reverse Engineering tool

http://msdn.microsoft.com/en-us/library/aa499193.aspx

45. MS Visio UML(Data & Object),ERD

http://msdn.microsoft.com/en-us/library/aa552178.aspx

46. Unit test framework

http://msdn.microsoft.com/en-us/library/aa874515.aspx

47. AX 2012 Debugger concepts

http://msdn.microsoft.com/en-us/library/gg860898.aspx

48. Cross reference tool

http://msdn.microsoft.com/en-us/library/aa626961.aspx

49. Document Management

http://technet.microsoft.com/en-us/library/aa549988.aspx

50. Print Management

http://technet.microsoft.com/en-us/library/dd309604.aspx

51. Containers and its functions

http://msdn.microsoft.com/en-us/library/aa874816.aspx

52. Data Crawler

http://msdn.microsoft.com/en-in/library/bb190090.aspx

53. Intrinsic functions

http://msdn.microsoft.com/en-us/library/aa626893.aspx

Page 19: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 19

54. Concept of cubes & MDX queries in SQL.

http://msdn.microsoft.com/en-us/library/cc615265.aspx

55. Integration from .NET

http://technet.microsoft.com/en-us/library/hh500187.aspx

56. Events on a form & report

http://msdn.microsoft.com/en-us/library/aa655101.aspx

57. Purpose of following methods in AX

a. Init(),run(),validatewrite(),write(),close(),canClose() etc.

58. What is an EDT, Base Enum, how can we use array elements of an EDT?

http://msdn.microsoft.com/en-us/library/aa675074.aspx

59. Definition and use of Maps, how AddressMap (with methods) is used in standard AX?

http://msdn.microsoft.com/en-us/library/bb278211.aspx

60. How can we utilize field groups in forms

http://msdn.microsoft.com/en-us/library/aa609505.aspx

61. What is an abstract class, what is the utility of an abstract method

http://www.axaptapedia.com/Abstract_classes

62. Multiple inheritance possible or not, if not how can we overcome that.

Multiple inheritance is not support. Use interfaces and/or composition instead

63. What is an interface, why do we implement it?

http://msdn.microsoft.com/en-us/library/aa892319.aspx

64. Do we need to write main method, give reasons?

http://msdn.microsoft.com/en-us/library/aa673265.aspx

65. What is the utility of the RunOn property?

Identifies where the logic will execute on Server, Client, and Called from (From where object is

called)

66. How can we make a batch job occur at regular interval?

http://technet.microsoft.com/en-us/library/hh208476.aspx

67. Which class is called when we create a SO/PO.

SalesFormLetter + SalesFormLetter_xxx, PurchFormLetter + PurchFormLetter_xxx

Page 20: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 20

68. What is a static method, why do we make static methods and where can we write it?

http://msdn.microsoft.com/en-us/library/aa584754.aspx

69. When do we make methods private or protected?

http://msdn.microsoft.com/en-us/library/aa676482.aspx

70. Utility of init(), run(), wait() methods

71. What are different types of Link Types available in a form data source, justify each of them?

http://msdn.microsoft.com/en-us/library/gg844014.aspx

72. Properties of a form data source.

http://msdn.microsoft.com/en-us/library/aa676742.aspx

73. 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?

User input validation must be performed in form datasource validate. Validation which involves

data to be fetched from different table or validation with a complex logic must be written to

table validate write.

74. How can we call table level methods from form DS (similar methods)

Use Table name.

75. Where is the best place to write code to perform filter in a form

http://msdn.microsoft.com/en-us/library/aa892864.aspx

76. What are the different types of menu items available, explain each of them

http://msdn.microsoft.com/en-us/library/aa596556.aspx

77. Can we make a report from wizard, if yes from where

From the development workspace, click Tools, click Development tools, click Wizards, and then

click Report Wizard.

78. How can we sort the DS, what facility we can get in by placing fields in Ranges

http://mukesh-ax.blogspot.in/2011/04/query-ranges-in-x.html

79. Import Customer dimension using X++ in AX 2012?

http://mukesh-ax.blogspot.in/2012/09/update-customervendor-dimensions-ax-2012.html

80. Delete transactional data in AX 2012?

http://mukesh-ax.blogspot.in/2012/09/delete-transaction-data-ax-2012.html

Page 21: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 21

81. How to add financial dimensions to a form?

http://mukesh-ax.blogspot.in/2012/09/how-add-financial-dimension-on-forms.html

82. Encrypt/Decrypt data in AX 2012?

http://mukesh-ax.blogspot.in/2012/09/encryptdecrypt-in-ax-2012.html

83. Electronic Payments for Vendor in AX 2012?

http://mukesh-ax.blogspot.in/2012/08/aif-vendor-electronic-payment-ax-2012.html

84. Automated Model deployment using scripts?

http://mukesh-ax.blogspot.in/2012/07/model-deployment-ax-2012.html

85. Ledger journal import using X++ in AX 2012?

http://mukesh-ax.blogspot.in/2012/06/ledger-journal-import-using-x.html

86. Creating vendors using X++ in AX 2012?

http://mukesh-ax.blogspot.in/2012/06/creating-vendors-thru-x-in-ax-2012.html

87. What is Product Information Management in AX 2012?

http://mukesh-ax.blogspot.in/2012/06/product-information-management-ax-2012.html

88. Develop new Workflow in AX 2012?

http://mukesh-ax.blogspot.in/2012/06/ax-2012-workflow-customization.html

89. What is Segmented Entry Control in AX 2012?

http://mukesh-ax.blogspot.com/2012/06/segmented-entry-control-on-forms-in.html

90. Security in AX 2012?

91. How to import CSV file in AX 2012?

http://mukesh-ax.blogspot.in/2012/02/dynamics-ax-2012-aif-import-csv-file.html

92. Employee data tables in AX 2012?

http://mukesh-ax.blogspot.in/2012/02/employee-data-tables-in-ax-2012.html

93. Reports development in AX 2012?

http://mukesh-ax.blogspot.in/2012/02/development-of-ssrs-reports-dynamics-ax.html

94. How to create a report using cube in AX 2012?

http://mukesh-ax.blogspot.in/2012/01/creating-reporting-services-report.html

Page 22: Dynamics AX Interview Questions

Mukesh Hirwani BlogSpot: http://mukesh-ax.blogspot.in/

Page | 22

95. How to import data using Excel Add-Inn?

http://mukesh-ax.blogspot.in/2012/01/dynamics-ax-2012-data-import-using.html

96. How to develop SSRS report using RDP class?

http://mukesh-ax.blogspot.in/2011/12/report-data-provider-rdp-as-data-source.html

97. How to debug .net code executing thru AX?

http://mukesh-ax.blogspot.in/2011/12/debugging-business-logic-in-ax-2009.html

98. How to consume web service in AX 2012?

http://mukesh-ax.blogspot.in/2011/10/consuming-web-services-in-ax-2012.html

99. How to execute Direct SQL Statement in X++?

http://mukesh-ax.blogspot.in/2011/08/direct-sql-statements-in-x.html

100. How to handle Number sequence?

http://mukesh-ax.blogspot.in/2011/08/direct-sql-statements-in-x.html

101. How to create new Role center?

http://mukesh-ax.blogspot.in/2011/04/new-role-center-in-ax.html


Recommended