MB6-508

AX 4.0 Development Introduction


QUESTION 1
What is the most significant reason behind Microsoft AXs ability to easily scale its number of concurrent users?
A.Microsoft AXs Open Source Code B.Microsoft AXs Configuration Key system C.Microsoft AXs Layer structure D.Microsoft AXs AOS technology

Answer: D
QUESTION 2
What will Microsoft AX do when a form is imported to the VAR layer, which already has modifications made to it in the USR layer?
A.Continue using the modifications in the USR layer. B.Delete the USR layer modifications. C.Override the USR layer with the VAR layer. D.Override the VAR layer with the USR layer.

Answer: A
QUESTION 3
What is MorphX?
A.It is the automatic layout generation of Forms, Reports and Menus. B.It is the Integrated Development Environment in AX C.MorphX is used when data from more than one table needs to be showed on a form or a report D.It is the automatic layout generation of Forms, Reports and Menus.
Answer: B

QUESTION 4
Does Microsoft AX allow multiple languages running on the same application?
A.Yes, however, you have to have a different Application for each language. B.Yes, however, you have to have a different client for each language.

D.Yes, however, it requires a separate Microsoft AX Object Server for each language.

Answer: C
QUESTION 5
What is IntelliMorph?
A.That is the Integrated Development Environment in AX B.IntelliMorph is the tool you use to create a new label file C.IntelliMorph is used when data from more than one table needs to be showed on a form or a report D.It is the automatic layout generation of Forms, Reports and Menus.

Answer: D
QUESTION 6
Which is NOT a part of the security system in AX 4.0?
A.Configuration keys B.Security keys C.User level security D.Record level security

Answer: C
QUESTION 7
How are labels stored in Microsoft AX in a live 3-tier environment?
A.In the standard Microsoft AX database. B.In a separate SQL database on the server. C.In label files on each client. D.In the label files in the application folder on the application server.
Answer: D
QUESTION 8
A customer needs to search for vendor data across several tables. How can this be done?

A.Set up the Data Crawler and use Global Search B.This can not be done C.Use the "Filter By Selection" function D.This can only be done by writing X++ code.

Answer: A
QUESTION 9
How many patch layers are there in Microsoft AX?
A.One per layer. B.Only one -the SYP layer. C.One, only system layers have a patch layer. D.Two, one for the system and one for the global solution layer.

Answer: A
QUESTION 10
If you want to delete the entire USR-layer from Microsoft AX, what files should you delete from the application folder?
A.All Axusr*.* files and the axapd.aoi file. B.All *.usr files. C.The Usr.axa file and the axapd.aoi file. D.Only Axusr.aoi and axusr.aot.

Answer: A
QUESTION 11
What happens when importing the Address form from the SYS-layer into the USR-layer when the Address form in the USR-layer has modifications?
A.The import deletes the form in the USR-layer. B.The import is ignored. C.The import overwrites the USR-layer. D.The form is imported with the name CopyOfAddress.
Answer: C

How should you change the label of an existing system field?
A.By modifying the existing label in the SYS label file. B.By copying the object into a higher layer and then creating a new label in the SYP layer file. C.By creating a new label in a new label file. D.It can not be done.

Answer: C
QUESTION 13
You create a new label file called MBS and you have the languages Danish, French and German installed. How many label files (with the ald extension) is generated?
A. 0
B. 1
C. 3
D. 6

Answer: C
QUESTION 14
If all you see on certain forms in the user interface is text such as '@ABC160', what is most likely the reason?
A.The label files did not get deployed. B.The Microsoft AX database needs re-indexing. C.The client files are corrupted. D.The SQL server is corrupted.
Answer: A
QUESTION 15
How can you create a project that is visible to the other developers that are working on the same application?
A.Open the AOT and create a project in the Public folder under the Project node. B.Click the Project button and create a project in the Shared folder. C.Projects are always private. D.Create the project and set the property to Shared.

QUESTION 16
Which is not a Debugger Window Pane?
A.Input B.Output C.Variables D.Watch

Answer: A
QUESTION 17
How can you get a graphical view of Data or Class models?
A.Create a project including the specific Tables or Classes, then right click the project node and select "Print Model". B.Right click the Table and select "Print Data Model" or right click the Class and select "Print Class Model". C.Drag the Tables or Classes into the Model Designer. D.Use the Microsoft Visio integration

Answer: D
QUESTION 18
With the List built in functions on the context menu of the code editor you can:
A.Look up records in the current company B.Look up names of tables, classes, types and other objects C.List all the compile errors D.Look up access rights
Answer: B
QUESTION 19
Which of the following are areas where IntelliMorph will help you?
A.Automatically adding fields in field group on forms and report, when added on table field group.

C.Changing security or configuration will change the look of the forms and reports. D.Automatically suggest method names in the editor.

Answer: ABC
QUESTION 20
Where can you check Best Practice errors/warnings after compiling code?
A.Open the AXBP Log file B.It will automatically be shown in a separate popup window C.On the Best Practices tab page in the Compiler output window. D.Best Practice error/warnings will be highlighted in the code editor

Answer: C
QUESTION 21
To find an error, you are debugging a piece of code and while doing that, you want to monitor the value of a variable. How can this be done?
A.Use the local menu and select View Variables B.Open the View Variable list C.Drag the variable into the Watch window D.Move the cursor over the variable and read the value in the tool tip
Answer: C
QUESTION 22
What property is NOT inherited when extending a data type?
A.StringSize B.Relations C.Array elements D.Label
Answer: C
QUESTION 23

A.To a form. B.To a table. C.To a class. D.To a report.

Answer: B
QUESTION 24
How can the StringSize property of a new extended data type, which is inherited from CustAccount, be changed?
A.The StringSize of extended data types CANNOT be changed. B.Change the StringSize on CustAccount. C.Change the StringSize on the new extended data type. D.Change the StringSize on the top-level parent of the CustAccount.

Answer: D
QUESTION 25
What is the standard ArrayLength value of a new extended data type?
A. 0
B. 1
C. 2
D. 4
Answer: B
QUESTION 26
What is shown in the Call Stack window in the Debugger.
A.Display the trace of methods called B.Here you can see the local variables in scope. C.This window shows the value of global variables D.Here you can keep track on Breakpoints
Answer: A QUESTION 27

You have received an xpo-file containing modified application objects.
What tool would be appropriate to use before you click the button to import into AX 4.0?
A.Application Hierarchy Tree B.Application objects C.Code Explorer D.Compare

Answer: D
QUESTION 28
How can you make sure that the end user can not delete a record in one table if there are related records in another table?
A.This can only be done by specifying the relation in the Delete method on the parent table. B.By creating a Cascade delete action on the related table. C.You have to create a new method on both tables. D.By creating a Restricted delete action on the parent table.

Answer: D
QUESTION 29
What data types can be used in a conditioned Relation?
A. Strings
B. Enums
C. Dates
D. Reals
Answer: B
QUESTION 30
How do you add a group node to a Project
A.You can't. Groups are not used in Projects C.Drag the group from the Extended Data Type node D.Right click the Project name in the open Project and select New -> Group


Answer: D
QUESTION 31
Setting the JoinSource property on a form data source to Delayed indicates that:
A.A pause is inserted before linked child data sources are updated
B.A pause is inserted before the parent data source is updated
C.A pause is inserted before the form opens. D.It indicates that the JoinSource is not active

Answer: A
QUESTION 32
Where is the layout of a form defined?
A.In the Properties on the Form node B.In the Data Source node of the Form C.In the Design node of the Form D.In the Global Form Design

Answer: C
QUESTION 33
Linking of data between data sources in a form is controlled by:
A.Table Relations B.JoinSource properties on the data sources. C.Drag the secondary Table to the Primary table in the data source node D.The Method TableLinks
Answer: B
QUESTION 34
What are Action Menu Items used for?

A.They are used to force the end user to actively confirm a request B.To call multiple Menu Item at the same time C.They are used to install Service packs D.The action menu item is a link to execute a certain class, query or form.

Answer: D
QUESTION 35
What is the purpose of the Security Key system?
A.To allow users different access rights to different parts of the system. B.To allow enabling or disabling of application objects entirely. C.Manage users login passwords D.To enable direct interaction with the Microsoft Windows security system.

Answer: A
QUESTION 36
What can be an advantage when executing an object through a Menu Item?
A.The check of security rights. B.The end user will be warned if the object is in use by another end user.
C.A Menu Item can be dragged and dropped directly into the code. D.The Menu Item performs a runtime error detection on the object.
Answer: A
QUESTION 37
A Menu Reference is:
A.A shortcut to a Menu Item
B.A reference to a Form
C.A reference to the Main Menu
D.A reference to related Tables
Answer: A

In general, what is the main advantage of using a cluster index for a table?
A.To improve performance when inserting records. B.To improve performance when selecting records. C.To improve performance when updating records. D.To minimize the number of indexes.

Answer: B
QUESTION 39
You are working on a new table with information about which employees there have used the company cars. You want to do a relation to EmplTable and it should only show employees who has the status "Employee". Which relation will be the best one to use?
A.Normal B.Special C.Field fixed D.Related field fixed

Answer: D
QUESTION 40
What is the purpose of the Configuration Key system?
A.To allow users different access rights to different parts of the system. B.To allow enabling or disabling of application objects entirely. C.To enable an easy configuration of AOS Servers D.To enable direct interaction with the Microsoft Windows security system.

Answer: B
QUESTION 41
Where should a new index to an existing Microsoft AX table be created to ensure the integrity of the data model even after a re-indexing has occurred?
A.Enterprise Manager. B.Create index from Query Analyzer. C.Directly in the AOT.


Answer: C
QUESTION 42
When is it appropriate to define table relations directly on tables instead of using the extended data types?
A.When one field in a table relates to one field in another table. B.When multiple fields in a table defines one relation to multiple fields in another table. C.When one field in a table relates to multiple fields in another table. D.Never, relations should always be set up on the extended data types.

Answer: B
QUESTION 43
How can you remove a class from memory?
A.Microsoft AX has automatic house keeping. Any class is automatically removed from memory as soon as it leaves scope.
B.By invoking the global function FreeMem().
C.By calling the method .FreeMem().
D.By calling the destructor method .Finalize().

Answer: D
QUESTION 44
You have written a class that updates a range of records and have included a mechanism for detecting errors. By what means should you communicate a fatal error to the user?
A.Using the infolog class, either as an Info(), Warning(), CheckFailed() or Error() instance.
B.Using a custom form with a string displaying the error.
C.Using the infolog class as an Error() instance in combination with the "Throw" command; such as Throw Error("Fatal Error Message").
D.Invoking a new instance of the Dialog Class, displaying your error message in the dialog.
Answer: C
QUESTION 45

A.You dont need to declare them before use B.The classDeclaration node C.The initVariables() method D.The new() method

Answer: B
QUESTION 46
Which is not a composite data type in X++?
A.Array B.Container C.Table D.String

Answer: D
QUESTION 47
To declare an integer array with a max length of 10 elements, you write:
A.int myInt.10; B.int myInt(10); C.int myInt [10]; D.int myInt; length = 10;
Answer: C
QUESTION 48
Values from the enum LedgerAccountType can be assigned to variables like this:
A.enum = LedgerAccountType.Heading; B.enum = LedgerAccountType(Heading); C.enum = LedgerAccountType::Heading; D.enum = LedgerAccountType->Heading;
Answer: C

Where do you place code to be executed when a new object is created?
A.In the new() method B.In the classDeclaration node C.In the property sheet for the class D.In a new Static method

Answer: A
QUESTION 50
Which expression returns FALSE?
A."Fabrikam Inc." like "Fa*" B."Fabrikam Inc." like "*Fa*" C."Fabrikam Inc." like "?Fa*" D."Fabrikam Inc." like "Fabrikam Inc?"

Answer: C
QUESTION 51
You are writing a class that needs user approval to proceed. What is the best way of obtaining that input?
A.Use the Box Class. B.Use the Infolog class. C.Use the Dialog class. D.Use a custom designed form, called via its Menu Item.
Answer: A
QUESTION 52
To be able to execute a class from a menu item you must add the following method to your class:
A.Menu B.Execute C.Main D.New

QUESTION 53
Which is the correct search for customers living in the zip code 92609?
A.while select custTable where custTable.ZipCode == 92609 B.select while custTable where custTable.ZipCode == 92609 C.while custTable.ZipCode == 92609 D.find custTable where custTable.ZipCode = 92609

Answer: A
QUESTION 54
A notExists join in a select statement:
A.Returns a record only if the parent record record exists. B.Returns a record only if the linked record does not exists. C.Ignores the rest of the select statement after notExists join. D.Returns a message when neither parent or linked records exists.

Answer: B
QUESTION 55
Where do you specify if a class extends another class?
A.In the Extends method B.In the Class Declaration C.On the Class property D.This can not be done
Answer: B
QUESTION 56
Which is not one of the exceptions?
A.Exception::error B.Exception::warning C.Exception::deadlock


Answer: D
QUESTION 57
Which field select would you use if you want to return only the customer name of customer 4000 from a select?
A.select custTable.Name having AccountNum == 4000 B.where custTable.AccountNum == 4000 select Name C.custTable::4000.name D.(select CustTable.AccountNum == 4000).name

Answer: D
QUESTION 58
When using query application elements the actual "fetching" of records is done by:
A.A Query object
B.A QueryBuildDynalink object
C.A QueryBuildDataSource object
D.A QueryRun object

Answer: D
QUESTION 59
A Select statement returns records to a:
A.The select cache B.Temporary table C.An array D.Table buffer
Answer: CD
QUESTION 60
To abort a transaction and roll back data to its state before the ttsBegin you use the statement:
A.ttsAbort

B.ttsCancel C.ttsError D.ttsRollBack

Answer: A
QUESTION 61
Which is the correct call to the infolog if you want to notify the user of a successful operation?
A.setPrefix("The job was successfully completed"); B.info("The job was successfully completed"); C.warning("The job was successfully completed"); D.error("The job was successfully completed");

Answer: B
QUESTION 62
What kind of data can be returned from a method?
A.Any kind of data, including base types, database buffers and objects B.Only database buffers and objects C.Any kind of data, except database buffers D.Only base types (Int, Str, Real etc.)
Answer: A
QUESTION 63
Variables in method must be declared:
A.Variables do not need to be declared before use B.Before the actual code C.On the same line as the first usage D.After the actual code
Answer: B
QUESTION 64
Your Naming Convention is a three-letter prefix. Your Extended Data Types all contain this prefix. When

A.Never. Always take off the prefix for fields. They are referencing the correct Extended Data Type anyway. B.Always. C.When adding new fields to existing tables. It is advantageous to see where those new fields belong. D.When creating new fields in new tables. The more visibly belong together that way.

Answer: C
QUESTION 65
Best Practice for placing code is to?
A.Put as much code as possible on forms B.Put as little code as possible on tables C.Put as much code as possible in jobs D.Put as little code as possible on forms

Answer: D
QUESTION 66
In what situation is it an advantage to create a query as an AOT-object as opposed to creating it in X++ code?
A.Always. It keeps the coding to a minimum. B.When the same query is used by several different objects. C.Never. Coding it provides maximum control over the query. D.When the query is relatively simple and has only a few datasources.

Answer: B
QUESTION 67
You are writing some modifications for an end-user customer. The modification extends functionality from an existing core module that your company is developing.
However, the core module is currently still under development. How do you ensure your custom code will not be overwritten by the new updates to the core modules?
A.By placing my code in a different layer and making sure to compare those layers and perform an upgrade, every time an update is released.

C.There is no way to avoid this. D.Export my code before and re-import after each update.

Answer: B
QUESTION 68
What is the Microsoft AX standard for Index names?
A.Using Index as suffix in index names. B.Using Idx as prefix in index names. C.Using Id as suffix in index names. D.Using Idx as suffix in index names.

Answer: D
QUESTION 69
Which of these statements will result in an updated record?
A.Select where ;[Table operations]
.update; B.Select forupdate
where ;[Table operations]
.update; C.Select firstonly
where ;[Table operations]
.update; D.Select firstfast
where ;[Table operations]
.update;

Answer: B
QUESTION 70
You are in a situation where you could retrieve the same dataset through either a select statement or a query. What should be the determining factor?
A.A select statement is preferable where large volumes of data are processed. B.It does not matter which way you get the data, as long as you get the right data. C.Queries work faster than Selects. D.If you need user interaction regarding the data you need processed, a query is the preferable way
Answer: D
QUESTION 71

A.You can easily identify custom code. B.Custom code is not be very susceptible to overwriting. C.Custom code becomes easier to debug. D.Microsoft AX stores custom code in alphabetized order so it gets executed faster when using Naming
conventions.

Answer: AB
QUESTION 72
When is TTS control required?
A.When more than two updates are nested. B.Whenever records are updated. C.Whenever records are deleted. D.Whenever records are inserted.

Answer: BC
QUESTION 73
In order to obtain the best performance, it is appropriate always to:
A.Place all database accessing code in classes. B.Only access data directly by calling stored procedures. C.Use as few System calls as possible. D.Concentrate database accessing code in tables.
Answer: D
QUESTION 74
What is the advantage of using indexes?
A.Indexes speed up inserts. B.Indexes speed up selects. C.Indexes use less data space in the database. D.Indexes use less files in the database.
Answer: B QUESTION 75

Each variable declaration in X++ should be separated with
A.: (colon) B.; (semicolon) C./ (forward slash) D.\ (backslash)
Answer: B