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?
- 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:
**************************************************************
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.
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
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:
- When you close a form by clicking a Cancel button, the following sequence of events occurs:
- The close Cancel method on the form is activated.
- The can Close method on the form is activated.
- 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 |
|
Cluster technology |
|
Scalability |
|
Web deployment |
|
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
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 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.
***************************************
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