DYNAMICS AX 2012 INTERVIEW QUESTIONS PART 3
1. Difference between pass by reference and pass by value?
Pass By Reference:
In Pass by reference address of the variable is passed to a function. Whatever changes made to the formal parameter will affect to the actual parameters
– Same memory location is used for both variables.(Formal and Actual)-
– it is useful when you required to return more than 1 values
Pass By Value:
– In this method value of the variable is passed. Changes made to formal will not affect the actual parameters.
– Different memory locations will be created for both variables.
– Here there will be temporary variable created in the function stack which does not affect the original variable.
In Pass by reference address of the variable is passed to a function. Whatever changes made to the formal parameter will affect to the actual parameters
– Same memory location is used for both variables.(Formal and Actual)-
– it is useful when you required to return more than 1 values
Pass By Value:
– In this method value of the variable is passed. Changes made to formal will not affect the actual parameters.
– Different memory locations will be created for both variables.
– Here there will be temporary variable created in the function stack which does not affect the original variable.
In case of pass by value, the change in the sub-function will not cause any change in the main function whereas in pass by reference the change in the sub-function will change the value in the main function.
Pass by value sends a COPY of the data stored in the variable you specify, pass by reference sends a direct link to the variable itself. So if you pass a variable by reference and then change the variable inside the block you passed it into, the original variable will be changed. If you simply pass by value, the original variable will not be able to be changed by the block you passed it into but you will get a copy of whatever it contained at the time of the call.
2. What are the two most important methods on the Report?
Init(),run(),fetch(),send(),print().
3. When do block the super() method of fetch
Don’t call super() when overriding the fetch method in a report.
4. Can we make a report from wizard, if yes from where
Yes, Tools>DevelopmentTools>Wizards>Report Wizard.
5. What is a Programmable Section, how we use it in reports
Use programmable sections to add any kind of customized information. To activate a programmable section, activate it explicitly with an element.execute(Number) statement. The Number must be specified in the ControlNumber property for the design section.
6. What is the difference between Auto Design Spec & Generated Design
Auto Design: An auto design is a report design that has a layout that is automatically generated based on the data for the report. You can use auto designs for most common reports. Reusability is available.
This uses Report template and Section template. Header ,Section Group and Footer is not available.
Generate Design or Precision design: You can create a precision design for a report that requires a very precise layout. It doesn’t use Section template and Report template. Reusability is not available.
7. How can we sort the DS, what facility we can get in by placing fields in Ranges
this.query().datasource(1).addsortfield(fieldnum(tablename,fieldname),sorting:ascending);
7. What is the role of executeSection
You can override the executeSection method for a report section to modify the layout of the section and to modify how the section is printed. If you want to do something before a section is printed, such as go to the next page, this can be coded in the executeSection method.
8. What are Queries, how do we use them
You can create a query to retrieve data by using the query classes.w
9. what is Composite query?
A composite query uses another query as its data source. A composite query is similar to class inheritance in X++ or C#. A composite query is a good design choice when one of the following is true:
An existing query lacks only a range that you want to add. An existing query lacks only a method override that you want to add.
10. What is the use of Parameter, Enum Type Parameter/Enum Parameter properties of MenuItems?
Parameters: Specify the arguments that are passed to the object. Optional.
Enum TypeParameter and Enum Parameter: Choose an enumerated type as a parameter for the Object, and then select an enum value as the EnumParameter property. Optional.
These properties are typically used when one form is used in several different situations. You can change the behavior of the form, depending on the EnumParameter value. For example, the PriceDiscGroup form is used by three different display menu items (PriceDiscGroup_*), which each have a different EnumParameter value. In the form’s init method, a switch construct checks the value, and then the form is created accordingly.
11. Why do we provide Configuration key & Security Key?
Configuration key: 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.
Configuration keys are applied to:
- Tables
- Fields
- Indexes
- Views
- Menus
- Menu items
- Form controls,
- Report controls
- Extended data types
- Enumerations
Security key: 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.
The main reasons to apply user-level security are to:
Allow users to do only their designated tasks.
Protect sensitive data in the database.
Prevent users from inadvertently breaking an application by changing code or objects on which the application depends.
You need to apply a security key to:
- Tables
- Views
- Menus
- Menu items
- Form controls
- Report controls
12. Normally what do we attach in Output – Forms
13. Normally what do we attach in Action – Classes
14. What is difference between select & select firstonly statements
The select statement fetches or manipulates data from the database or both fetches and manipulates data from the database. Results of a select statement are returned in a table buffer variable.
If you are going to use only the first record or if only one record can be found, use the firstOnlyqualifier. This optimizes the select statement for only one record. Do not usewhile select firstOnly.
It is a best practice to use the firstOnly qualifier in find methods on tables.
15. What are the keywords used to access data from “multiple companies” and “one company to another company”.
A cross-company query returns data for several companies in a single run.
To create a cross-company query:
In X++, use the crossCompany keyword on the X++ select statement.
In X++, set the allowCrossCompany property method to true on an instance of the Query class.
In the AOT, set the AllowCrossCompany property to Yes on a node under Query.
16. How can we override a lookup
AOT>Form>DatasSource>Fields>FieldName >Lookup
Form>Design>Field>Lookup.
17. How do the following methods work in a form DS.
ds.refresh(), ds.research(), ds.reread(), in what situation we should use these methods
ds.refresh(), ds.research(), ds.reread(), in what situation we should use these methods
Refresh(): Updates the form by refreshing the view of all records in the data source.
Research(): Rereads the current record from the database.
Reread(): Refreshes the database search defined by the query, specified by theFormDataSource.init method.
18. On closing a form name the methods which are invoked
Close(), closed(), finalise().
19. How can we provide user level/user group level security – By using security keys.
20. What is Visual MorphXplorer, what do we do with that?(Reverse engineering tool has replaced Visual
MorphXplorer)
21. What is the function of Application Hierarchy Tree?
Displays the current object’s inheritance hierarchy.
The Application Hierarchy Tree enables you to view information about the parents and children of application objects. For example, you can see all the classes that extend a particular class, or see which data types a particular extended data type inherits from. It also enables you to view the methods, fields, and indexes that are used by tables. Information is available for application and system classes, tables, and data types.
To view information for a single application object
Right-click the object, and then select Add-Ins > Application Hierarchy Tree.
To view information for all application objects
Select Tools > Development tools > Application Hierarchy Tree.
You need to generate cross-references before you can use the Application Hierarchy Tree.
Tables are listed under the Common node in the Application Hierarchy Tree. All tables extend the system table called Common. Classes are listed under the Object node.
22. If you want to monitor the database activity, where can you get that?
Administration>Reports>DataBase information
Administration>inquiries> DataBase information
Administration>Reports>Size of Company accounts.
23. Where can we find the Label log and what is its utility?
Tools>DevelopmentTools>Label>Label log.
Use this form to view the history of labels within the system and re-create labels that have been deleted.
View a record of all changes made to the label files.
Overview Each label is described in terms of its identification (ID), language, status, label text, and by whom and when it was modified. A label can also contain a description, which is displayed at the bottom of the form.
General View information about the selected label.
Button
Recreate Re-create the selected label.
24. What is Label Intervals?
The SysLabelInterval table contains the settings that control the interval of label IDs that are used to create new labels through the label editor in MorphX.
25. What are the tools you will use to upgrade any object? – Compare
26. What is the use of System Documentation/Application Developer Documentation/Application Documentation
System Documentation is intended for developers under the functions subnode there are hundreds of useful functions you will use when programming in x++.
Application Developer Documentation, under this node you find documentation about tables and classes used by Ax. description about tables and classes for developers.
27. What are the classes, Tables, Forms and Methods used to post the sales orders.
SalesTableType and SaleslineType classes will get called while creating the orders.
SalesFormLetter* classes will be used to post the sales order at various document status(packing, invoice etc).
SalesParm* tables are used to prepare the data for posting
CustConfirmJour, CustConfirmTrans – when a sales order gets confirmed
CustPackingSlipJour, CustPackingSlipTrans – when a packing slip is posted.
CustInvoiceTable,CustInvoiceTrans – when an invoice is posted.
These are some of the maily used tables.
28. What are the classes, Tables, Forms and Methods used to post the purchase orders.
29. What are the classes, Tables, Forms and Methods used to post the Ledgers.
No comments:
Post a Comment