Saturday 5 July 2014

Interviews Questions

HCL Questions

Tell me about your past experience?

where did you learn AX?

did you write certification or not?

Microsoft Dynamics AX architecture?

Q) AX supports 2-tier or 3-tier?

A) 3-tier

Q) Client is directly accessing database or not in 3-tier?

A) Yes, clients are 2 types, Rich and Thin,

Rich clients are directly accessing the database in AX without help of 2-tier (AOS).

What is 2-tier? What is the use?

  1. AOS is the 2-tier in AX architecture; AOS executes the business logic and application logic.

Q) What is AOF?

A) AOF is the application object file this is attached by AOS.

Q) What is the use of Indexes?

A) Indexes are used for fast retrieving of data from the database. And can be used for eliminating the duplicates in columns. (AllowDuplicates - No)

Q) How to create index in tables and navigation (steps)?

A) In tables we select field node and select which column you want to apply indexes and then drag and drop into the index node in tables. And select the index and go to the properties and select the index as cluster index.

Q) How to create number sequencing?

A) Decide which module parameters you want the number sequence in. Modify the loadModule() method of that NumberSeqReference sub class.

Q) how to write Find method and parameters?

A)The parameters for find are the table's key, and an optional Boolean used to indicate selectforUpdate. Returns a record indicated by the key.

Q) where are index files are saved in our AX?

A) In the Application folder in Program files.

Q) what is the use of Layers? And how many layers?

A) AX 2009 has 10 layers excluding the patch layers. Layers are a hierarchy of codes in which modifications made exist in that layer only and only the highest layer mods are reflected. If a mod in a layer is deleted, the lower level code starts getting used.
If you delete the layer file, you should also delete the index file to make the system regenerate it.

Q) what is Securities key and configuration key and license code? Are there any relations between them?

A)
License Keys – What modules you have bought from Microsoft.
Configuration keys - allow administrators to enable or disable features in the application for all users. Disabling features helps to minimize the attack surface against potential attacks.
Security keys - allow administrators to set security on a user group level. Minimizing access on a user group level helps to reduce the attack surface against potential attacks.

Q) OOPS? And what are they and explain each and every one?

Object-oriented programming (OOP) is a programming paradigm that uses "objects" and their interactions to design applications and computer programs. Programming techniques may include features such as information hiding, data abstraction, encapsulation, modularity, polymorphism, and inheritance.


Q) What is the meaning of Array and Container?

An array is a list of items with the same data type and the same name—only the index differs.
A container is a dynamic list of items containing primitive data types and/or some composite data types. The elements of a container can be any combination of valid types, in any order, including nested containers.


Q) What is the meaning of Conpeek? And parameters?

Retrieves a specific element from a container.
Syntax: anytype conPeek(container container, int number)

Q) How to write a Query using X++ code?
In the following example, the QueryRun class runs the query specified by the q object. The addDataSource method specifies CustTable as the data source for the query. The addRange and value methods specify account number 4005 for the query range. The addSortField method specifies that data is sorted on the Name field.
public void myQuery2()
{
Query q;
QueryRun qr;
QueryBuildDataSource qbd;
QueryBuildRange qbr;
q = new Query();
qbd = q.addDataSource(TableNum(CustTable));

qbr = qbd.addRange(FieldNum(CustTable, AccountNum));

qbr.value('4005');

qbd.addSortField(FieldNum(CustTable, Name));

qr = new QueryRun(q);
qr.prompt();

pause;
}


Q) Query methods in X++?

A) addDataSource, addRange, value, addSortField

Q) what is the difference between the Query() and QueryRun() classes?

QueryRun - Executes the query and fetches the data.
Query - The top level of the query definition. This class holds some properties itself and has one or more related data sources.

Q) Multiple Inheritance is supported in AX or not?

No


Q) how to create Lookups?

The standard lookup system in Axapta is based on the use of table field or data type relations. These specify a link between a particular data type, or particular table field, and a corresponding field in another table containing the base (reference) data.
Generally, relations are made on the datatype (EDT) in the AOT, and will then automatically apply to any table field using that EDT.
You can also make lookups run time and also lookup forms.

Q) what is the meaning of Relations? And how many types?

Field fixed
(Table.Field == <EnumValue>)
Restricts the records selected in the primary table. Only records that meet the condition are selected. The condition is ANDed with your relation.
Related field fixed
(<EnumValue> == Table.Field)
Restricts the records selected in the related table. Only records that meet the condition are selected. The condition is ANDed with your relation.

Q) joins and relations and what is the difference between the relations and joins?

Join - Used to join tables on a column that is common to both tables.
Reduces the number of SQL statements that are needed if you want to loop through a table and update transactions in a related table.
For example, if you process 500 records in a table, and want to update related records in another table, and use a nested while select to do this, there will be 501 trips to the database. If you use a join, there will be a single trip to the database.

Q)difference between the clusterindex and non clusterindex?

PrimaryIndex - Specifies the primary index. Only a unique index can be selected. The property is used for database optimization purposes and to indicate which unique index to use as the caching key. If a primary index is not specified, the unique index with the lowest ID is used as the caching key.

ClusterIndex - Specifies the cluster index. This property is used only for SQL optimization purposes.
**************************************************************



Technical:
1.    What is the use of auto report & auto lookup in field groups of a table?

Auto reports enable you to view data from a form. For example, if you open the Sales order form (Accounts receivable > Sales order), you can view a report of the data associated with that form. To view the report, click the print icon on the toolbar and select the desired auto report options.
AutoReport - You must place at least two fields in the AutoReport field group for each table, Error icon except for parameter tables. The fields placed there should be the ones that the user expects to print when they first click Print on the File menu. The fields used for the TitleField1 and TitleField2 properties are often candidates for this field group.
AutoLookup - If you do not put anything into the AutoLookup field group, the AutoLookup form will contain the fields used in the TitleField1 and TitleField2 properties, plus the field in the first unique index.

2.    What is the use of delete action? What are the types?

The DeleteAction element helps maintain database consistency when a record is deleted. Define delete actions to specify what should occur when data being deleted in the current table is related to data in another table.
For example, use a cascading delete action to specify that the system is to delete a customer's address when that customer is deleted from the CustTable table. Another example is to use a restricted delete action to prevent a customer from being deleted from the CustTable if one or more transactions exist for the customer in the CustTrans table.

3.    How EDT’s and Base Enums will be used?

Extended data types are user-defined types, based on the primitive data types Boolean, integer, real, string, and date, and the composite type container. You can also base extended data types on other extended data types.
An extended data type is a primitive data type or container with a supplementary name and some additional properties. For example, you could create a new type called Name on the basis of string and thereafter use the new type in variable and field declarations in the development environment.
The advantages of extended data types are as follows:
    * Code is easier to read because variables have a meaningful data type. For example, Name instead of string.
    * The properties you set for an extended data type are used by all instances of that type, which reduces work and promotes consistency. For example, account numbers (AccountNum data type) have the same properties throughout the system.
    * You can create hierarchies of extended data types, inheriting the properties that are appropriate from the parent and changing the other properties. For example, the ItemCode data type is used as the basis for the MarkupItemCode and PriceDiscItemCode data types.

Enums - X++ does not support constants but has an enumerable type (enum), which is a list of literals. You need to create an enum in the Application Object Tree (AOT) before you can use it.
Enum values are represented internally as integers. The first literal has number 0, the next has number 1, the next has number 2, and so on. You can use enums as integers in expressions.

4.    What is the difference between the relations in EDT’s and Tables?  When both are used?

You can add a relation to an extended data type in the Application Object Tree (AOT) based on a specific table and field. Each relation that you add can represent a different field in the table.
You can use relations on extended data types to create a relationship between fields in different tables. The relationships you define on an extended data type are automatically inherited by tables that contain fields based on this extended data type.
If you want to create a multiple field relationship, you add a relation to a table.

5.    What’s the exact use of maps?

Maps define X++ elements that wrap table objects at run time. With a map, you associate a map field with a field in one or more tables. This enables you to use the same field name to access fields with different names in different tables.

6.    What’s the difference between index and index hint?

index - Instructs the database to sort the selected records as defined by the index.
index hint - Gives the database a hint to use this index to sort the selected records as defined by the index. The database can ignore the hint.
Note: A wrong index hint can have a big performance impact. Index hints should only be applied to SQL statements that do not have dynamic where clauses or order by clauses, and where the effect of the hint can be verified.

7.    What are clustered and unique index?

PrimaryIndex - Specifies the primary index. Only a unique index can be selected. The property is used for database optimization purposes and to indicate which unique index to use as the caching key. If a primary index is not specified, the unique index with the lowest ID is used as the caching key.
ClusterIndex - Specifies the cluster index. This property is used only for SQL optimization purposes.

8.    What is the use of find and exist methods in tables?

The parameters for find are the table's key (primary, unique field), and an optional Boolean used to indicate selectforUpdate. Returns a record indicated by the key.

9.    Why should we write a dynamic query in X++?

Queries can be either static (in AOT node) or dynamic (below code)
Dynamic are better as they can be modified easily and give better performance.
In the following example, the QueryRun class runs the query specified by the q object. The addDataSource method specifies CustTable as the data source for the query. The addRange and value methods specify account number 4005 for the query range. The addSortField method specifies that data is sorted on the Name field.
public void myQuery2()
{
    Query q;
    QueryRun qr;
    QueryBuildDataSource qbd;
    QueryBuildRange qbr;
    q = new Query();
    qbd = q.addDataSource(TableNum(CustTable));

    qbr = qbd.addRange(FieldNum(CustTable, AccountNum));

    qbr.value('4005');

    qbd.addSortField(FieldNum(CustTable, Name));

    qr = new QueryRun(q);
    qr.prompt();

    pause;
}

10.  How grouping is done in the AOT query?

Group by property in the query datasource.

11.  What are the difference between the X++ query (native) and the dynamic query?

12.  What is the difference between dynamics query and AOT query?

13.  Which is the best place to put the X++ code? Forms or classes or tables?

Depends where all you want to reuse the code.
Classes - means same code can be used throughout AX.
Tables – wherever the table is used as a datasource, its code can be used.
Forms – only at the form level, the code can be used.

14.  How to link different data source in the forms? and how does the changes (active record) in header part reflect in the lines?   

Data sources can be joined together in the following ways:
    * Display data from more than one table, as if it is a single data source.
For example, fields from more than one table might be displayed in a single grid.
With this type of join, the two data sources, in many respects, function as a single data source. For example, if you use an inner join and if a user is modifying or adding data to a record in a grid, neither table will be updated until the whole "record" (grid row) is exited rather than a table being updated as the user moves from one data source to another within the row.
Notification methods, such as active, are run for both data sources. Methods that operate on the data source, such as next, executeQuery, and so on, are redirected to the data source that owns the join, the main data source. The init method is run for both and/or all data sources.
    * Display data from more than one table where there is a parent/child relationship between the data sources. The two data sources are kept visually separate.
For example, order records might be displayed as the parent data source in one grid and order lines as the child data source in another grid.

15.  What is the difference between the init value method in the table and init value method in a form?

Difference is in the hierarchy. Table is at a lower level than form.
initValue at table will be used to initialize values in a new record wherever the table is used on any form.
initValue at form datasource will be used to initialize values in a new record only on that form.

16.  When validate write, validate and write events are invoked?

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 Validate property.
validateWrite - Executed when a record is written to the database, before the data change is committed in the database. The super() call examines all fields for the setting of the Mandatory property.
write - Persists a record to the table.

17.  When init event is used?

init is activated immediately after new and creates the run-time image of the form.
Typical uses of init include:
    * Modifying a form by using the FormBuild system class
    * Initializing variables for specific controls on the form.
You must call super() if you override this method, and you should place your code before the super() call.
In addition to creating the form, the super() constructs the data source for the form by activating the init method on the data source. The form data source init method creates the query to fetch data from the database and sets up links if the form is linked to another form.

18.  What is the purpose of super() call?

A reference to the system class that contains the required method.
When ”super” is used, the system method is automatically used.
Typically Super() is encountered when you overide system methods, for
example validatewrite() on a table, modified() on a form field or datasource
field, or executesection() in a report.
Think of Super() as meaning 'carry out the standard action'.
You can add your own code before or after super() i.e. before or after the
standard action.

19.  What is the difference between the x++ code executed after and before super() ?.

20.  Which methods are executed on clients and server? How to force it to run on client?


21.  What is the difference between the Link types - inner joins and exist joins?

22.  How to use display methods? and why it is used?

The display method modifier is used to indicate that a method’s return value is to be displayed on a form or a report.


23.  Explain the events sequence of a form and its data source

Init, ds.init, run, ds.executeQuery, ds.active

24.  How to pass parameters between two forms?

Using element.args().record()

25.  How to find the label text of an existing table field or form field?

Tools > Development tools > Label > Label editor.



26.  While deploying our customization on client place all the labels may be displayed as @sysen-us12 symbols , what is the reason for this behavior ? How to solve it?

Labels are reflected only on the current client when first created. Restart AOS.

27.  How to delete the entire user layer customization at once?

Create a new project.
Click on Advanced Filter/Sort icon on top.
Click on Select
Select utillevel as usr in the 4 fields.
OK.

28.  What happens when exporting one layer customization to another layer?

Only the highest layer customizations work.
AX 2009 has 10 layers excluding the patch layers. Layers are a hierarchy of codes in which modifications made exist in that layer only and only the highest layer mods are reflected. If a mod in a layer is deleted, the lower level code starts getting used.
If you delete the layer file, you should also delete the index file to make the system regenerate it.

29.  How to use business connectors? Where do your configure the proxy user?

Business Connector is a component of the Microsoft Dynamics AX development environment. Business Connector enables you to build software applications that integrate with Microsoft Dynamics AX. You can access data or start business logic. The advantage of using Business Connector over other types of integration is that you will use the same X++ code and business logic available to clients.

Business connector Proxy account settings:
Admin > Setup > Security > System service accounts

30.  Which classes are used in the .NET application to integrate with ax?

CLRInterop Class, CLRObject Class















31.  How record level security is created?


32.  How to bypass the record level security?
33.  How to edit the existing help text and documents?
34.  How to delete or update more than one record in a single X++ statement?

The X++ SQL statement update_recordset enables you to update multiple rows in a single trip to the server.
Delete_from

35.  How to create alerts in Ax using existing template?


36.  How to alert a user form X++ code?
37.  How to send email alerts to users? How to integrate Microsoft Outlook to dynamics ax?

Tools > Options > Notifications > send alert as email message

38.  How to dynamically block and allow edit features for a form based on the posting status?

Overwrite the Init() method on form level.
Set allowedit property on the datasource.
Eg. Ign_PackageContent_ds.allowEdit(false);

39.  How to roll back the statements executed in the try block.

The throw statement automatically initiates a ttsAbort, which is a database transaction rollback. The throw statement should be used only if a piece of code cannot do what it is expected to do. The throw statement should not be used for more ordinary program flow control. Always place an explanation of the throw in the Infolog before the actual throw.

40.  How to use runbase framework? How to include dynamics queries in it?


41.  How to get the next number sequence of a existing form for X++ code?

Sequence.nextval Method - Returns the next sequence number from the sequence and increments the counter value.

42.  How to create a new number sequence system for a new module?

For exisiting module - Decide which module parameters you want the number sequence in. Modify the loadModule() method of that NumberSeqReference sub class.

43.  How to create a reference for a number sequence in the parameters form?

Traverse to Module > Setup > Parameters > Number Sequences and select number sequence that you have created.

44.  How to create temporary table? Where it is used?












45.  How to copy data form temporary table to a table buffer and vice versa?


46.  What is the scope of a temporary table?


47.  How different users can access a same temporary table?
48.  How to find the classes and tables behind for a particular form?
49.  How to check in and check out AOT objects?
50.  How AIF is used?

HCL

1.    How to create number sequence for a new module?
2.    How to create number sequence for a existing module?
3.    How to use the unit testing framework in Axapta?
4.    How will you post ledger transactions by using X++ code? & from .NET application
5.    How to send email via X++ code?
6.    How to consume a .NET web service from x++ code?
7.    How to use the .NET business connector?
8.    What it the purpose of using temporary tables in Reports? How to use?
9.    How will you extend a runbase framework class to include dynamic AOT query?
10.  How will you use Maps in Reports?
11.  How will you use Maps form X++?
12.  What are the data caching options available in Axapta?
13.  What are all the performance tuning options available in Axapta?
14.  How to send a alert message to a user form x++?
15.  How will you run a batch job form X++ ?.


**************************************************************************************************
1.       Whats is the difference if we work on user layer or var layer.
We cant delete anything in var layer from user layer but vice versa.

2.       whats difference dodelete and delete.
By  dodelete, we can forcefully  delete record , but in delete ,there will be check of validation.

3.       Updaterecordset is what.
By updaterecordset, we can update bunch of record at a time.

4.       What is 2-tier and 3-tier thin and fat.
2-tier technology = in a 2-tier environment all clients connect to a database and an application. The client then runs all business logic and the Graphical User Interface (GUI).

3-tier technology = In 3-tier environments an Object Server called Axapta Object Server (AOS) is implemented. The AOS runs all business logic and generates all the objects which are transferred to the client.

In the standard 3-tier setup the clients only run the GUI. This is called a Thin Client, since data transfer is reduced to a minimum.

In a 3-tier Fat setup the clients run both the business logic and the GUI, but the AOS still produces all of the objects.

5.       classes start with AX are what.
????

6.       Client can do work on which layer?
Usr

7.       At time of import and export which classes are being used.
 SysdataImport,SysdataExport

8.       to display user which function we should use.
Curuserid

9.       which classes are use at time of queryrun object.
 query,qrerybuilddatasource,queryrun, querybuildrange, querybuildaddfield,querylink,queryvalue

10.   update recordlist is what?
??

11.   What is run on property?
Where object is called, either server, client and called from.

12.   what is init and initvalue
when we have to do initialization on form we use init
when we wish to take some default value on created record we use initvalue.

13.   caching w r t AOS
 ??

14.   what is link type?
 There are 7 type of link ( i.e,inner,outer,exist,not exist,active,passive,delayed)which we use through property of form datasource.

 15.how can we pass some arguments from one form to another form?
 Through args class.

15.   how can we integrate Axapta with third party software?
Through  Business connector.
               17.security and configuration keys.
               There is hierarchy of licence code, configuration key and security keys . configuration keys are  used  to determine the feature that are turned on during installation and security keys  are used to determine the feature that user group has access
18.     which report method should be override to restrict records from user.                                                                                                                   .           Fetch, send methods.
 19.    how can I change company through code?                                                                                                                                       .         by using changecompany method
20.      how can I share data of table among several company?                                                                                   .          through virtual company
21.      how can I access control of  a form?                                                                                                                           .          for accessing control of a form, we have to set the auto declaration property  to yes.
 22.     Which class is used to generate Recid?                                                                                                           .          System Sequence Class
 23.     How can we declare Global Variables?                                                                                                                                                                                                                        ???
 24. Type of Relations.                                                                                                                                                                                                                                                             Normal, field fixed and related field fixed
25. Type of Joins                                                                                                                                                                                                                                                                 1. Inner 2. Outer 3. Exist 4. Not exist
26. ClassFactory                                                                                                                                                               .      ClassFactory is a Class Instantiator which is used to execute a form, report through X++ Code using formrun and reportrun method. This class has two objects one is running on the client and other is running on the server, so that it is executed where it is to be called from.
27. Diff between Ax3.0 and 4.0                                                                                                                                                                                                                                                                                     ??
 28. Caching                                                                                                                                                                                                                                                                                                       . The purpose of the object caching is to store a local copy of the Axapta objects which have been used by the client, so that in the future they do not need to be re-read from the AOS. This is done by use of a local cache file                                                                                                       
                                                                                                                                                                                                                                                                                
29. Table Group Property?
30.  Layers                                                                                                                                                                                                                                                                                                    Layers: SYS, GLS, DIS, LOS, BUS, VAR, CUS, USR.  

The first four layers are for Microsoft internal developers only.

BUS and VAR are layers that are used by business partners:
BUS: section where Business Partners make their alterations
VAR: section where Value Added Resellers make their alterations

CUS and USR are layers that are used by customers:
CUS: section where an administrator makes alterations
USR: section where end users make alterations
31. Bandwidth of AOS ?                                                                                                                                                                                                                                 Std. 64 KBPS for 5 Users, but it works on 256 KBPS.
32.  Latency Time ?                                                                                                                                                                                                                                         less than 50 ms.
33. Cluster Index  ?                                                                                                                                                                                                                                      Due to cluster index, Insertion and deletion is Very Slow but Retrival and Updation is very fast.

 34. Development Tools ?                                                                                                                                                                                                                                  1. Cross Reference 2. Visual MorphXplorer 3. Debugger 4. Application Hierarchy 5. Code Profiler 6. System Monitoring
 35. Maps                                                                                                                                                                                                                                            ????map is a data type that associates one (key) value with another value. Both the key and value values may be of any valid X++ type, including objects. The types of the key and the value are given in the declaration of the map.
36.  Foundation Classes?                                                                                                                                                                                                                                       Array, Maps, Lists, Container and Sets
37.  Form Run Sequence ?                                                                                                                                                                                                                           1. Init of Form 2. Init of DS  3. Initvalue of DS  4. Run of Form 5. execute Query of DS 6. Canclose                 7. closed
38. executeSection?                                                                                                                                                                                                                                                                                                 to execute a particular programmable section
39. QueryBuildDynaLink?
40. Close Form by Cancel Button?                                                                                                                                                                                                                                              Closecancel, Canclose,close
 41. Close Form by Ok Button                                                                                                                                                                                                                                CloseOk, Canclose, Close
42. Data Export                                                                                                                                                                                                                                                                                                                                                               csv, excel, def, word
                                                                                                                                                                                                                                                                                                                                                         43. Data import                                                                                                                                                                                                                                                                csv, excel, def, word
44. Web Service                                                                                                                                                                                                                                             Web services allow different applications from different sources to communicate with each other without time-consuming custom coding, and because all communication is in XML, Web services are not tied to any one operating system or programming language. Web services are sometimes called application services.
 45. Delete Actions                                                                                                                                                                                                                                                  1.None 2. Cascade  3. Restricted  4. Cascade+Restricted
 46. Voucher Classes                                                                                                                                                                                                                                                                                                  ???
 47. Diff Betw. Index and Index Hint                                                                                                                                                                                                                                                                                                                                     By using index on coding , we provide our own created index forcefully but in indexhint ,we  just  give our index as a hint . In this case , system may use recid as a  primary key.

48. How can we create primary key for a table?                                                                                                                                                                          We can create primary key by setting few properties on fields and indexs( i.e, for field properties mandatory-YES , allow edit-NO and on index property allow duplicate-NO).                              
49. what precautions you need for overriding fetch() method for a report?
 50. How many types of MAP there in Dynamics AX?
51. What is cache lookup what is it used for?
52. Difference between table and views?                                                                                                                                                                             We generally use table for storing data of same kind and use view for showing data from different table and we use it mostly on reports where we have show data from different tables.
53. why we use dialog? and how to accomplished it?                                                                                                                                                                                  We use dialog form for small piece of operation like we have to filter data on the basis of emplId and date, we will use these two field on the dialog form to execute further processs. For accomplishing it , we will create separate class and some specific methods like dialog, getfromdialog ,pack, unpack, run etc
54. what are the different type of index?                                                                                                                                                                          Primary index and cluster index.
55. Difference b/w cascade + restricted and restricted delete actions?                                                                                                                                                                                                                       Suppose we have two tables A and B, there is a primary key on table A which act as a foreign key on table B. If we don’t want to delete record from table A just because there are multiple record on table B on the basis of one record of table A . For this purpose, we will use restricted delete action on table A. We use cascade + restricted delete action for more than 2 level .
Let’s take example:     Level1        Table AA (use cascade to delete all related record from table A)
                                 Level2         Table A (use cascade + restricted for not permitting to delete record from table A just because we multiple records in Table B)
                                 Level3         Table B
56. In which case delete_from and delete() have same result?                                                                                 
57. Explain sales/purchase order processes in AX.
58. What Abstract classes
59. Types of Lookups                                                                                                                                                                                                                                                                                                                                                                                                                                            EDT lookups, through autolookup group , through coding ,table relations                                                                                                                                                                                                                                                                    
60. What are macros

*********************************************************************************************
Axapta Technical Interview Question

1. How Axapta maintains the database independency?
Ans: ODBC Protocol and can interact with any other database at run time

2. What is the difference between thin and fat client?
Ans: Thin uses AOS to access database while FAT client can access database directly

3. What is the use of the Dict Classes?
Ans: To change properties of tables, classes at Run time. Every aspect of table can be accessed using DICT classes

4. What is the Characteristics Internal API? Name some of the functionalities that use it.
Ans: The user is free from worrying about what happens inside and it is in the form of
Classes in Axapta (AX* Classes).The functionality that uses is this Internal API are
Inter-company updation of records and biz talk server transactions

5. What is a view?
Ans: Views of SQL - Oracle. Selected fields from various tables

6. What is a temp table? When these are used?
Ans: Temporary tables are used when you want a variable in X++ that has the same structure and characteristics as a table.

7. If You Import Var Layer Changes into User Layer, What are the layers that are visible on these nodes in AOT, if Show all layers is activated.
Ans: SYS Layer & User Layer
(Answer except VAR Layer).


8. CLUSTERED INDEX IMPORVES (UPDATE, INSERT, CREATE).
Ans: It improves Update

9. What are the three types of relations that can be made on the table-> relation node?
Which of these can not be made on the EDTs?
Also explain these relations.
Ans: Normal
Field Fixed
Related Field Fixed.

In EDT Normal and Related field Fixed.

10. What is significance of layers?
Ans: To controls how updates and modifications are made in the application.
The layers allow objects to customized and reside in their own related space.

11. Difference b/w the relationship make by extended data types and tables.
Ans: EDT - Lookup
Table Relationship: For relating two tables

12. What is the role of synchronization?
Synchronize the table and index information to the database
Microsoft Dynamics AX creates all the tables it needs to operate
Synchronization generates the Microsoft Dynamics AX index (axapd.aoi).

13. Explain the close tree (Close related functions) on the forms.
Ans:
  1. When you close a form by clicking a Cancel button, the following sequence of events occurs:
  1. The close Cancel method on the form is activated.
  2. The can Close method on the form is activated.
  3. The close method on the form is activated.
ii) When a form is closed with CloseCancel, user modifications are not saved
14. What's the purpose of having filedId and Tableid?
Ans: To have unique Id’s for Tables and Fields.

15. How Navision Axapta manage Data Replication?
Ans: This can be done through Export and Import.

16. Where classes are used to run?
Ans: Depends on Run on Property [Client / Server]

17. Where you will make changes (on custTable, custTrans) if there's a need to display customer
name on the CustTrans form and report?
Ans: CustTable

18. What's use of mapping?
Ans: Easy and fast accessing of data from one table to another.
Many Tables can point to one mapping.

19. Accessor method?
Ans: Public, Protected and Private

20. Difference b/w RunBase and RunBaseBatch?
Ans: Use RunBase for jobs that should not be batch enabled.
Use RunBaseBatch for jobs that should be batch enabled.
21. Difference b/w Bound and unbound field?
Ans: Bound: From Data source
Unbound: Field from Display method

22. Where to write “What’s this"?
Ans: Application Developer Documentation

23. Where to write help for classes and tables?
Ans: Application Developer Documentation

24. Where to write help for report?
Ans: Application Documentation

25. How can we filter the data on a form?
Ans: Right click the field, select filter option.

26. Where should we write the code to modify the design of a form?
UpdateDesign();

27. What are the various functions of init method on the form?
Ans: To initialize objects, Variables etc.

28. What is JOIN? Explain inner join.
Ans: To select fields from more than one table, we use Join.
Inner join: The INNER JOIN returns all rows from both tables where there is a match.

29. Can we apply filter on the display field?
Ans: Yes

30. How can you display data from two tables in the same grid?

31. When will you override fetch method?
Ans: If we want to send the data explicitly.

32. What provisions will u made to generate invoice automatically at the time of packing slip generation?

33. How can we change data of another company?
Ans: DataAreaID

34. How can we add a new number sequence in a module?
To Create Number Sequence:


Step 1: Go to the Corresponding Number Sequence Class (Ex: If you want to create Number sequence for Inventory – Goto NumberSeqRefence_Inventory (Class)).

Add the Code according to Requirement in the Load module Method (); Ex. Create a Number sequence which starts from 90000 and named as Style. Create an EDT for Style and generate LABELID.
numRef.dataTypeId = typeId2ExtendedTypeId (typeid (Style));
numRef.referenceHelp = literalStr ("@SYSXXXX");
numRef.WizardContinuous = false;
numRef.WizardManual = NoYes::Yes;
numRef.WizardAllowChangeDown = NoYes::No;
numRef.WizardAllowChangeUp = NoYes::No;
numRef.sortField = 20; /// 21
This. Create (numRef);

Step II: Go to Table - InventParameter (Inventory) Create New Method as NumRefStyle ();

Step III: Go to Form Method

NumberSeqFormHandler numberSeqFormHandler ()
{
If (! numberSeqFormHandler)
{
NumberSeqFormHandler = numberSeqFormHandler::newForm (InventParameters::numRefStyle ().NumberSequence,
Element,
fdcModelNumber_DS, /// Any Datasource
FieldNum (fdcModelNumber, Style)
);
}
Return numberSeqFormHandler;
}

Void close ()
{
If (numberSeqFormHandler)
{
numberSeqFormHandler.formMethodClose ();
}

Super ();
}
Goto Form Data Source method:

Public void linkActive ()
{
element.numberSeqFormHandler ().formMethodDataSourceLinkActive ();
Super ();
}



Public Boolean validateWrite ()
{
Boolean ret;

Ret = super ();

if (ret && !element.numberSeqFormHandler().formMethodDataSourceValidateWrite ())
{
Ret = false;
}

Return ret;
}

Void write ()
{
;
TTS begin;

element.numberSeqFormHandler ().formMethodDataSourceWrite ();
}

Void delete ()
{
TTS begin;

element.numberSeqFormHandler ().formMethodDataSourceDelete ();

Super ();

TTS commit;
}



Void create (Boolean append = false,
Boolean extern = false)
{
;
fdcModelNumber.style.setFocus ();

Super (append);

if (!extern)
{
element.numberSeqFormHandler ().formMethodDataSourceCreate ();
}
}


Goto Inventory Management- Module – Setup – Parameter - NumberSequence - Create a sequence.


35. Can we assign dataareaId to the table buffer while inserting records in a table? if yes then how?

Ans: Yes.
Custtable cT;
str Mystr;
;
Mystr = "MGS";
changecompany(Mystr)
{
ct.AccountNum = '1112';
CT.insert();
}

36. What is the difference between a command button and menu Item button?
Ans: Command Button: command, for example to close the form, to save all, or to
activate one of the system’s menus.
Menu Item Button: Button to activate menu item

37. How can we modify the query of a data source?
Ans: Using this. Query ()……

38. What is the difference between select query and a query build by query build classes?
Ans: Select Query is faster that Query Build; In Query Build User interaction will be there.


39. How can we overload the function in X++?
Ans: Axapta does not support Overload function.

40. Where do the temporary tables resides?

Ans: A temporary table should live on the tier where it is used.
If a temporary table is used on several tiers, the table should live on the tier where the largest number of inserts and updates is performed.

41. Difference between Security Key and Configuration keys?
Ans: Security keys: you can determine the functionalities that different users have access to.

Configuration keys: the restrictions you set up for a specific user will be reflected throughout the entire application. You can deny or grant users access to entire modules or even to specific forms and fields




42. Record Level Security:
Ans: Axapta provides the ability to control access to specific portions of your data – down to a record level.
RLS is based on user groups and companies
RLS can be applied to “visible data”. [Data shown in Reports and forms are considered as visible data where as Calculated fields are invisible].
Record level security gives you the ability to limit a particular user (or a group of users) so that they may only have access to work with a portion of the database – say customers with account numbers from 1000 to 2000

43. 2 and 3-Tier
2- and 3-tier environment support
  • 3-tier thin client
  • Low client bandwidth
  • Less requirements for client machinery
  • High database security
  • 3-tier rich client
  • Maximum utilization of hardware capacity of powerful clients
  • Ideal for batch execution and “heavy clients”
  • 2- and 3-tier mixed environment
  • Maximum utilization of overall company hardware capacity
  • Ideal for companies with mixed user needs (some heavy, some light needs)
Cluster technology
  • Automatically balance users between servers in the cluster
  • Increase redundancy by adding extra AOS servers
  • If one server fails, clients only have to reconnect to continue working
Scalability
  • Increase number of users to expand your business solution as your business grows
  • Expand capacity by adding another server to your AOS cluster
Web deployment
  • Install, update, configure or launch Axapta by the touch of a button
  • No manual installation process
  • Button showing status of local installation
  • Client configuration stored on the server-side

44. Active Directory:
Windows Server 2003 makes Active Directory simpler to manage, easing migration and deployment.
The Active Directory service provides single-logon capability and a central repository for information for your entire infrastructure, vastly simplifying user and computer management and providing superior access to networked resources.

45. Report controls
MorphX provides a wide range of controls that can be used in the sections in your reports. The controls retrieve the information they display in different ways. Basically a report control retrieves information using one of these methods:
Method 1: Through the property that directly sets the value of the control.
Method 2: Through the Data Method property, that is, using a display method.
Method 3: Through the Table and Data Field properties that specify a table, and a field within that table.
String
Enum
Integer
Real
Date
Time
Text
Prompt
Box
Bitmap


46. Info class:
The Info classes contain system related methods. Some methods are called by the kernel. .Most methods are used to get information about client related stuff.
Infolog control, Document Control, AOT...

Where to use the Info class

Use methods from Info to:
  • Add exceptions to the infolog
  • Extract exceptions from the infolog
  • React on different form events
  • Find nodes in the AOT


47. Insert Data into Record set
Insert Record set copies data from one or more tables directly into one resulting destination table - on a single server trip.

Syntax

     INSERT_RECORDSET <destination-table> ( <list-of-fields> )
        SELECT <list-of-fields1> FROM <source-table> [ WHERE <where-clause> ]
            [ JOIN <list-of-fields2> FROM <joined-source-table> [ WHERE <joined-where-clause> ]]


Example:
INSERT_RECORDSET myTable (myNum,mySum)
SELECT myNum, SUM(myValue) FROM anotherTable GROUP BY myNum WHERE myNUM <= 100;




48. Business connector:
Which is used to integrate Axapta with other Language like .Net, Asp.Net to perform web based actions required.
The first step in the process is to determine what methods [Purchase order – Purch form letter] are used in Microsoft Axapta to perform the actions that are required.
The second step is to design a set of methods that will populate the required data structures, and call the previously identified method to perform the required processes. The third step is to design the external (Visual Basic .NET) application that will acquire the information that will be passed into Microsoft Axapta, and call the Axapta methods that will complete the process.


49. What is the drawback to a 2-tier mode connection?
Ans: Limited scalability.

50. Which connection mode is recommended for smaller installations?
Ans: 2-Tier connection mode.

51. Which layer holds Microsoft Business Solutions standard components?
Ans: The Core layer.

52. Which layer holds changes to modified standard reports?
Ans: The top layer.

53. Where does Microsoft Business Solutions Axapta Installation and
Configuration I look for most recent changes and updates?
Ans: The top layer.

54. Describe the main differences between 2-tier, 3-tier rich and 3-tier thin.
Ans: 2-tier is the least scalable and does not use the AOS.


55. Provide a basic description with an example of a Microsoft Axapta Standard User (ASU).
ASU = Axapta Standard User. The ASU is used as the basis for all sizing guides. For example, 1 ASU is equal to 10 sales orders with 5
Lines each generated by single user in 1hr period.
Open and fill out a sizing form from the websites provided and check
Your results.

56. If you have more than ASU′s you need to contact Microsoft
Business Solutions to assist you in sizing your hardware?
400

57. Describe main differences between RAID 0, RAID 1, RAID 5 and

RAID 0+1.
RAID 0 −provides maximum storage and the best read/write I/O but NO redundancy.
RAID 1 −provides the best read/write I/O WITH redundancy. 50% storage lost in mirror.
RAID 5 −provides the most storage of the all-redundant arrays. Poor  write performance since all disks must be updated. RAID 0+1 provides the best performance and storage expandability of the all-redundant arrays. 50% storage lost in mirror.


58. Which of the above RAID levels provides the best I/O and redundancy?
Ans: RAID 0+1

59. Where does the Batch server typically reside?
Ans: The same location as your main database and AOS servers.

60. What is the maximum number of processors recommended for an AOS server and why?
Ans: 2

61. Describe the main difference between bandwidth and latency.
Ans: Bandwidth −the amount of data that can pass from the source to
Destination per unit of time.

Ans: Latency −represents the amount of time it takes a data packet to
Travel from its originating point to its destination and back again.

62. What is the most important benefit of using a Windows Terminal Server?
Ans: Users with low bandwidth connections, such as dial-up, can still use
Microsoft Axapta.

63. What is the biggest drawback of using a Windows Terminal Server?
Ans: You must provide one or more powerful servers to run WTS.



64. During the SQL Server installation which authentication methods are
Available? Under most circumstances, what is typically chosen?
Ans: Typical and Mixed Mode.
Mixed mode.

65. What is the Analysis Service used for?
Ans: For online analytical processing.


66. What is the general rule when specifying a location for the SQL
Server data and log files and why?
Ans: You should always place data files on a separate high-performance
Disk. Recommended disk configurations for data and log files are
RAID 1 and RAID 0+1 as these configurations provide the best I/O
with fault tolerance. You should also, if possible, separate
Transactional Log from Data files. It is recommended to place main
Data file on RAID 0+1 and Transactional Log on RAID 1.

67. Which networking protocol is supported and recommended by
Microsoft Axapta 3.0?
Ans: TCP/IP is supported and recommended by Microsoft Business
Solutions for Microsoft Axapta. Ensure that TCP/IP is set at the top
of the list if more than one protocol is used.

68. Which service pack version should be used when installing
SQL Server 2000 and SQL 2000 Analyses Server?
Ans: The same service packs level as the application.


69. Should you restart your system after installing SQL Server? Why?
Ans: Yes.


70. What must you have completed prior to installing Axapta 3.0?
Ans: You should have installed SQL Server 2000 and its latest service
Pack, and Microsoft Analyses Server and its latest service pack.

71. What are the three major components that Axapta comes with?
Which one is optional for installation?
Ans: – Client application files
Server application
Axapta Object Server


72. What type of installation should you use when installing Axapta 3.0
for the first time?
Ans: Always use the 2-tier installation for first time installs.

73. When installing the Axapta client, list the different database types
that Axapta can connect to?
Ans: – Microsoft SQL Server
Microsoft Data Engine
Oracle

74. What is the Axapta Configuration utility used for?
Ans: Tells Microsoft Axapta how to connect to each client session.


75. What are the two main types of physical files in a RDBMS?
Ans: Data files, and log files.

76. What type of data is stored in the data files?
Ans: System, user and temporary data.

77. What type of data is stored in the log files?
Ans: Records of changes so it can replay them at a later time.

78. What is the Application Object Tree used for?
Ans: Allows you to access all properties and text, such as program code,
Associated with each object.

79. What information is stored in the data dictionary?
Ans: Definitions for tables, columns, indexes, and views.
80. Which class will be called when we do Data import and export?
SysDataExport and SysDataImport
81. We can restrict data from the report to be visible for the user by overriding the method. Which method?
82. What is the significance of having prefix Ax before the class. And what is the use of this class?
The user is free from worrying about what happens inside and it is in the form of
Classes in Axapta (AX* Classes).
The functionality that uses this Internal API are
Inter-company updation of records and biz talk server transactions
83. How can we implement the RLS through code?
Ans: <TableName>.RecordLevelSecurity(true)
84. if two company account needs to share the data which is stored in the table. How can we do?
Ans: By creating Virtual company
85. What are the link types available in data source? What is the difference between
Delayed and Passive Link type?.

Ans: Delayed
Passive
Active
Inner Join
Outer Join
Exist Join
NonExistJoin

Delayed: If set the link type property of master and detail table as delayed, It will show the details transaction with respect of master records
Passive: : If set the link type property of master and detail table as Passive, It will not show the details transaction with respect of master records




86. Uses of RecordSortedList

RecordSortedList.insertDatabase () can be used to speed up batches of inserts. The implementation utilizes the database back end’s capabilities for array-insert.
However, the method will fall back to record-by-record insert, if
  • the table is not SQL stored
  • the insert() method is overloaded, or
  • the tables includes memo- or container-fields
A RecordSortedList must be server-located before insert Database () can be called, otherwise an exception is thrown.


RecordInsertList

RecordInsertList may be considered an alternative to RecordSortedList, without the sort order features, and with additional built-in client/server support (it automatically packs data from one tier to another whenever needed).
RecordInsertList is container-like, and from a database point of view, it inserts records in the most efficient way. It is constructed for a particular table type, new RecordSortedList (tablenum (myTable)).
RecordInsertList has two methods:
  • add(myTable)
    Add records for insertion
  • Insert Database ()
    Complete the insertion.
Both methods, add () and insert Database (), returns the accumulated number of records currently inserted. This allows you to keep track on when the records are actually inserted.




***************************************



  
Technical:
1.    What is the use of auto report & auto lookup in field groups of a table?

Auto reports enable you to view data from a form. For example, if you open the Sales order form (Accounts receivable > Sales order), you can view a report of the data associated with that form. To view the report, click the print icon on the toolbar and select the desired auto report options.
AutoReport - You must place at least two fields in the AutoReport field group for each table, Error icon except for parameter tables. The fields placed there should be the ones that the user expects to print when they first click Print on the File menu. The fields used for the TitleField1 and TitleField2 properties are often candidates for this field group.
AutoLookup - If you do not put anything into the AutoLookup field group, the AutoLookup form will contain the fields used in the TitleField1 and TitleField2 properties, plus the field in the first unique index.

2.    What is the use of delete action? What are the types?

The DeleteAction element helps maintain database consistency when a record is deleted. Define delete actions to specify what should occur when data being deleted in the current table is related to data in another table.
For example, use a cascading delete action to specify that the system is to delete a customer's address when that customer is deleted from the CustTable table. Another example is to use a restricted delete action to prevent a customer from being deleted from the CustTable if one or more transactions exist for the customer in the CustTrans table.

3.    How EDT’s and Base Enums will be used?

Extended data types are user-defined types, based on the primitive data types Boolean, integer, real, string, and date, and the composite type container. You can also base extended data types on other extended data types.
An extended data type is a primitive data type or container with a supplementary name and some additional properties. For example, you could create a new type called Name on the basis of string and thereafter use the new type in variable and field declarations in the development environment.
The advantages of extended data types are as follows:
    * Code is easier to read because variables have a meaningful data type. For example, Name instead of string.
    * The properties you set for an extended data type are used by all instances of that type, which reduces work and promotes consistency. For example, account numbers (AccountNum data type) have the same properties throughout the system.
    * You can create hierarchies of extended data types, inheriting the properties that are appropriate from the parent and changing the other properties. For example, the ItemCode data type is used as the basis for the MarkupItemCode and PriceDiscItemCode data types.

Enums - X++ does not support constants but has an enumerable type (enum), which is a list of literals. You need to create an enum in the Application Object Tree (AOT) before you can use it.
Enum values are represented internally as integers. The first literal has number 0, the next has number 1, the next has number 2, and so on. You can use enums as integers in expressions.

4.    What is the difference between the relations in EDT’s and Tables?  When both are used?

You can add a relation to an extended data type in the Application Object Tree (AOT) based on a specific table and field. Each relation that you add can represent a different field in the table.
You can use relations on extended data types to create a relationship between fields in different tables. The relationships you define on an extended data type are automatically inherited by tables that contain fields based on this extended data type.
If you want to create a multiple field relationship, you add a relation to a table.

5.    What’s the exact use of maps?

Maps define X++ elements that wrap table objects at run time. With a map, you associate a map field with a field in one or more tables. This enables you to use the same field name to access fields with different names in different tables.

6.    What’s the difference between index and index hint?

index - Instructs the database to sort the selected records as defined by the index.
index hint - Gives the database a hint to use this index to sort the selected records as defined by the index. The database can ignore the hint.
Note: A wrong index hint can have a big performance impact. Index hints should only be applied to SQL statements that do not have dynamic where clauses or order by clauses, and where the effect of the hint can be verified.

7.    What are clustered and unique index?

PrimaryIndex - Specifies the primary index. Only a unique index can be selected. The property is used for database optimization purposes and to indicate which unique index to use as the caching key. If a primary index is not specified, the unique index with the lowest ID is used as the caching key.
ClusterIndex - Specifies the cluster index. This property is used only for SQL optimization purposes.

8.    What is the use of find and exist methods in tables?

The parameters for find are the table's key (primary, unique field), and an optional Boolean used to indicate selectforUpdate. Returns a record indicated by the key.

9.    Why should we write a dynamic query in X++?

Queries can be either static (in AOT node) or dynamic (below code)
Dynamic are better as they can be modified easily and give better performance.

In the following example, the QueryRun class runs the query specified by the q object. The addDataSource method specifies CustTable as the data source for the query. The addRange and value methods specify account number 4005 for the query range. The addSortField method specifies that data is sorted on the Name field.
public void myQuery2()
{
    Query q;
    QueryRun qr;
    QueryBuildDataSource qbd;
    QueryBuildRange qbr;
    q = new Query();
    qbd = q.addDataSource(TableNum(CustTable));

    qbr = qbd.addRange(FieldNum(CustTable, AccountNum));

    qbr.value('4005');

    qbd.addSortField(FieldNum(CustTable, Name));

    qr = new QueryRun(q);
    qr.prompt();

    pause;
}

10.  How grouping is done in the AOT query?

Group by property in the query datasource.

11.  What are the difference between the X++ query (native) and the dynamic query?

12.  What is the difference between dynamics query and AOT query?

13.  Which is the best place to put the X++ code? Forms or classes or tables?

Depends where all you want to reuse the code.
Classes - means same code can be used throughout AX.
Tables – wherever the table is used as a datasource, its code can be used.
Forms – only at the form level, the code can be used.

14.  How to link different data source in the forms? and how does the changes (active record) in header part reflect in the lines?   

Data sources can be joined together in the following ways:
    * Display data from more than one table, as if it is a single data source.
For example, fields from more than one table might be displayed in a single grid.
With this type of join, the two data sources, in many respects, function as a single data source. For example, if you use an inner join and if a user is modifying or adding data to a record in a grid, neither table will be updated until the whole "record" (grid row) is exited rather than a table being updated as the user moves from one data source to another within the row.
Notification methods, such as active, are run for both data sources. Methods that operate on the data source, such as next, executeQuery, and so on, are redirected to the data source that owns the join, the main data source. The init method is run for both and/or all data sources.
    * Display data from more than one table where there is a parent/child relationship between the data sources. The two data sources are kept visually separate.
For example, order records might be displayed as the parent data source in one grid and order lines as the child data source in another grid.

15.  What is the difference between the init value method in the table and init value method in a form?

Difference is in the hierarchy. Table is at a lower level than form.
initValue at table will be used to initialize values in a new record wherever the table is used on any form.
initValue at form datasource will be used to initialize values in a new record only on that form.

16.  When validate write, validate and write events are invoked?

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 Validate property.
validateWrite - Executed when a record is written to the database, before the data change is committed in the database. The super() call examines all fields for the setting of the Mandatory property.
write - Persists a record to the table.

17.  When init event is used?

init is activated immediately after new and creates the run-time image of the form.
Typical uses of init include:
    * Modifying a form by using the FormBuild system class
    * Initializing variables for specific controls on the form.
You must call super() if you override this method, and you should place your code before the super() call.
In addition to creating the form, the super() constructs the data source for the form by activating the init method on the data source. The form data source init method creates the query to fetch data from the database and sets up links if the form is linked to another form.

18.  What is the purpose of super() call?

A reference to the system class that contains the required method.
When ”super” is used, the system method is automatically used.
Typically Super() is encountered when you overide system methods, for
example validatewrite() on a table, modified() on a form field or datasource
field, or executesection() in a report.
Think of Super() as meaning 'carry out the standard action'.
You can add your own code before or after super() i.e. before or after the
standard action.

19.  What is the difference between the x++ code executed after and before super() ?.

20.  Which methods are executed on clients and server? How to force it to run on client?


21.  What is the difference between the Link types - inner joins and exist joins?

22.  How to use display methods? and why it is used?

The display method modifier is used to indicate that a method’s return value is to be displayed on a form or a report.


23.  Explain the events sequence of a form and its data source

Init, ds.init, run, ds.executeQuery, ds.active

24.  How to pass parameters between two forms?

Using element.args().record()

25.  How to find the label text of an existing table field or form field?

Tools > Development tools > Label > Label editor.



26.  While deploying our customization on client place all the labels may be displayed as @sysen-us12 symbols , what is the reason for this behavior ? How to solve it?

Labels are reflected only on the current client when first created. Restart AOS.

27.  How to delete the entire user layer customization at once?

Create a new project.
Click on Advanced Filter/Sort icon on top.
Click on Select
Select utillevel as usr in the 4 fields.
OK.

28.  What happens when exporting one layer customization to another layer?

Only the highest layer customizations work.
AX 2009 has 10 layers excluding the patch layers. Layers are a hierarchy of codes in which modifications made exist in that layer only and only the highest layer mods are reflected. If a mod in a layer is deleted, the lower level code starts getting used.
If you delete the layer file, you should also delete the index file to make the system regenerate it.

29.  How to use business connectors? Where do your configure the proxy user?

Business Connector is a component of the Microsoft Dynamics AX development environment. Business Connector enables you to build software applications that integrate with Microsoft Dynamics AX. You can access data or start business logic. The advantage of using Business Connector over other types of integration is that you will use the same X++ code and business logic available to clients.

Business connector Proxy account settings:
Admin > Setup > Security > System service accounts

30.  Which classes are used in the .NET application to integrate with ax?

CLRInterop Class, CLRObject Class















31.  How record level security is created?


32.  How to bypass the record level security?
33.  How to edit the existing help text and documents?
34.  How to delete or update more than one record in a single X++ statement?

The X++ SQL statement update_recordset enables you to update multiple rows in a single trip to the server.
Delete_from

35.  How to create alerts in Ax using existing template?


36.  How to alert a user form X++ code?
37.  How to send email alerts to users? How to integrate Microsoft Outlook to dynamics ax?

Tools > Options > Notifications > send alert as email message

38.  How to dynamically block and allow edit features for a form based on the posting status?

Overwrite the Init() method on form level.
Set allowedit property on the datasource.
Eg. Ign_PackageContent_ds.allowEdit(false);

39.  How to roll back the statements executed in the try block.

The throw statement automatically initiates a ttsAbort, which is a database transaction rollback. The throw statement should be used only if a piece of code cannot do what it is expected to do. The throw statement should not be used for more ordinary program flow control. Always place an explanation of the throw in the Infolog before the actual throw.

40.  How to use runbase framework? How to include dynamics queries in it?


41.  How to get the next number sequence of a existing form for X++ code?

Sequence.nextval Method - Returns the next sequence number from the sequence and increments the counter value.

42.  How to create a new number sequence system for a new module?

For exisiting module - Decide which module parameters you want the number sequence in. Modify the loadModule() method of that NumberSeqReference sub class.

43.  How to create a reference for a number sequence in the parameters form?

Traverse to Module > Setup > Parameters > Number Sequences and select number sequence that you have created.

44.  How to create temporary table? Where it is used?












45.  How to copy data form temporary table to a table buffer and vice versa?


46.  What is the scope of a temporary table?


47.  How different users can access a same temporary table?
48.  How to find the classes and tables behind for a particular form?
49.  How to check in and check out AOT objects?
50.  How AIF is used?

HCL

1.    How to create number sequence for a new module?
2.    How to create number sequence for a existing module?
3.    How to use the unit testing framework in Axapta?
4.    How will you post ledger transactions by using X++ code? & from .NET application
5.    How to send email via X++ code?
6.    How to consume a .NET web service from x++ code?
7.    How to use the .NET business connector?
8.    What it the purpose of using temporary tables in Reports? How to use?
9.    How will you extend a runbase framework class to include dynamic AOT query?
10.  How will you use Maps in Reports?
11.  How will you use Maps form X++?
12.  What are the data caching options available in Axapta?
13.  What are all the performance tuning options available in Axapta?
14.  How to send a alert message to a user form x++?
15.  How will you run a batch job form X++ ?.




                                                                                                                                                                                      




             
             




















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)