MB-820

MB-820 Develop by Using AL Objects Practice Questions

Develop by using AL objects (35-40%)

10 questions covering this official MB-820 domain.

Q01 - Question

A developer designs an onboarding checklist for a new vertical extension. Which two statements correctly describe how to build and design the checklist? Each correct answer presents part of the solution.

Domain: Develop by using AL objects (35-40%) Type: Multiple choice

B and D are correct.

Explanation: The onboarding checklist is based on Guided Experience Item records, and each task can link the user either to a Business Central page or to an external URL.

A is incorrect: Tasks are not limited to external URLs, because a task can also open a Business Central page.

C is incorrect: Keep task lists short and use clear titles with realistic times; listing every configuration task works against that guidance.

Learn more in Microsoft Learn

Q02 - Question

A customer reports slow list pages that are sorted by a custom field on a standard table. You plan to change the key design by using a table extension. Which two statements about Business Central table keys are correct?

Domain: Develop by using AL objects (35-40%) Type: Multiple choice

A and D are correct.

Explanation: Secondary keys are SQL indexes that speed up data retrieval but increase storage and the cost of inserts and updates, so limit them to roughly three to five when practical. When you extend an existing table, you can add secondary keys only.

B is incorrect: Every table has exactly one active primary key, defined first on the table object, and it uniquely identifies each record.

C is incorrect: The primary key belongs to the base table definition, so a table extension cannot replace it.

Learn more in Microsoft Learn

Q03 - Question

You design a multi-step setup wizard for an extension. The values a user enters must remain in memory while the user moves between steps, and they must be written to the database only when the user selects Finish. Which page configuration supports this requirement?

Domain: Develop by using AL objects (35-40%) Type: Single choice

C is correct.

Explanation: Wizard pages use PageType NavigatePage and SourceTableTemporary so data stays in memory until Finish.

A is incorrect: A Card page bound directly to the setup table writes values to the database as the user works, so entries are not held until Finish.

B is incorrect: A List page is not the page type used for wizard navigation, and it does not provide the Back, Next, and Finish navigation pattern.

D is incorrect: A read-only page prevents the user from entering the setup values that the wizard needs to collect.

Learn more in Microsoft Learn

Q04 - Question

A developer adds two fields to the Customer table by using a table extension. You must display the fields on the standard Customer Card page without modifying the base application objects. Which approach should you use?

Domain: Develop by using AL objects (35-40%) Type: Single choice

C is correct.

Explanation: A page extension object is used to modify an existing Business Central page and can surface fields from table extensions while keeping base objects unchanged.

A is incorrect: Copying the page creates a new, separate object rather than modifying the existing Customer Card page.

B is incorrect: Base application page objects are not edited directly; modifications must be applied through extensions.

D is incorrect: A table extension only modifies the table definition, while a page extension object is required to change the page layout.

Learn more in Microsoft Learn

Q05 - Question

You are building a report that runs over a Customer data item. Before any customer records are read, you must initialize counter variables and apply additional filters to the data item. Which trigger should you use?

Domain: Develop by using AL objects (35-40%) Type: Single choice

A is correct.

Explanation: OnPreDataItem runs before the data item starts processing its records, so it is the correct place to initialize variables and set filters that control which records are retrieved.

B is incorrect: OnAfterGetRecord runs after each record is retrieved, so filters set there do not prevent records from being read.

C is incorrect: OnPostDataItem runs after the final iteration of the data item, which is too late to influence record selection.

D is incorrect: OnPostReport runs at the end of the report flow, after all data items are processed.

Learn more in Microsoft Learn

Q06 - Question

An accountant reviews a report on screen and expects to adjust the date filter and options several times until the figures are correct. The accountant wants to avoid reopening the report between each attempt. Which request page action should the accountant use?

Domain: Develop by using AL objects (35-40%) Type: Single choice

C is correct.

Explanation: Preview keeps the request page available after the report is rendered, so you can change filters and options and preview the result again without reopening the report.

A is incorrect: Preview & Close does not retain the request page, so the accountant would have to open the report again for every change.

B is incorrect: Send to exports the result to a file format such as raw XML or data-only Excel, which does not help with repeated on-screen filter adjustments.

D is incorrect: Scheduling runs the report through the job queue and delivers output to the Report Inbox, which is intended for unattended runs rather than interactive filter testing.

Learn more in Microsoft Learn

Q07 - Question

A customer wants sales staff to be alerted about incomplete company information when they open a Sales Order page, with a direct way to fix the data. Which design matches this requirement?

Domain: Develop by using AL objects (35-40%) Type: Single choice

A is correct.

Explanation: You detect the incomplete company information when the Sales Order page opens and send a notification whose action opens the Company Info Wizard, so users are informed and can correct the data.

B is incorrect: An error blocks the user from opening the sales order, which does not meet the requirement to keep working.

C is incorrect: Confirm is a modal, blocking interaction and does not provide a nonblocking alert in the notification bar.

D is incorrect: A scheduled report does not alert the user in the Sales Order page context or provide an action to fix the data.

Learn more in Microsoft Learn

Q08 - Question

A development team plans to create a table extension for an existing table. The backlog contains four requested changes. Which two requests can a TableExtension object implement? Each correct answer presents part of the solution.

Domain: Develop by using AL objects (35-40%) Type: Multiple choice

A and C are correct.

Explanation: The evidence supports A and C because a table extension can create secondary keys and modify supported table and field properties by using the modify keyword on existing fields.

B is incorrect: A table extension cannot change the length of an existing Text or Code field.

D is incorrect: A table extension cannot delete fields from the base table.

Learn more in Microsoft Learn

Q09 - Question

A partner must calculate a shipping fee differently for each region, but the calling code on a page action must stay unchanged when a new region is added. Which approach follows the AL interface model?

Domain: Develop by using AL objects (35-40%) Type: Single choice

B is correct.

Explanation: An interface object contains signatures only. Each conforming object uses implements, and the consumer calls the method through an interface variable, so the calling code stays the same for every region. The compiler checks that each implementation provides the required methods and QuickFix can add missing stubs.

A is incorrect: An interface declaration holds no method bodies, so it cannot supply a default calculation.

C is incorrect: Duplicated logic with a case statement forces you to change the consumer every time a region is added, which removes the benefit of polymorphic calls.

D is incorrect: Conformance is declared with implements on the object; matching method names alone do not make a codeunit an implementation.

Learn more in Microsoft Learn

Q10 - Question

A decimal field in your master table uses AutoFormatType and AutoFormatExpression set on the table field. On one specific page, the business requires a different format for the same field. What is the effect of setting AutoFormatType and AutoFormatExpression on that page field?

Domain: Develop by using AL objects (35-40%) Type: Single choice

D is correct.

Explanation: AutoFormatType and AutoFormatExpression can be set on the table field or on the page field. Table field settings apply globally, and page settings apply to that page and take precedence there.

A is incorrect: Page settings take precedence over the table field settings on the page where they are defined.

B is incorrect: A page setting is scoped to that page. To change the format everywhere, set the properties on the table field.

C is incorrect: DecimalPlaces controls decimal storage and display bounds. It is not a prerequisite for the auto-format properties to apply.

Learn more in Microsoft Learn

Take the full MB-820 practice test · Read the MB-820 study guide