Microsoft Dynamics 365 Business Central Developer - MB-820 Exam Practice Test

Question 1
You want to prevent other extensions from calling a helper procedure in one of your codeunits, but the procedure must be callable from other objects inside your own extension.
Which property value should you use?

Correct Answer: B
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).
Question 2
Drag and Drop Question
A company plans to deploy Business Central.
The company has the following deployment requirements:
- Use the company hardware architecture to run the deployment.
- Use sandbox environments to develop extensions.
- Allow tenants to connect to Shopify with the standard connector.
- Use Microsoft Power Automate to create a workflow that calls a
business event.
You need to identify the deployment type for each requirement.
Which deployment types should you use? To answer, move the appropriate deployment types to the correct requirements. You may use each deployment type once, more than once, or not at all.
You may need to move the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Correct Answer:

Explanation:
When deploying Microsoft Dynamics 365 Business Central, there are two main deployment types to consider: On-premises and Online.
On-premises Deployment:
The requirement to use the company's hardware architecture implies a need for an on-premises deployment. This is because on-premises deployment allows for the application to be installed and run directly from the company's in-house servers and computing infrastructure, giving full control over the environment and data.
Online Deployment:
The use of sandbox environments for developing extensions is a feature provided in the online version of Business Central. Sandbox environments are a part of the service offered in the cloud- based version, which allows developers to test and develop without affecting the live environment. Connection to Shopify with the standard connector implies an online deployment.
The standard connector is typically a cloud-based service that allows Business Central to connect with other cloud platforms like Shopify, which is more seamlessly integrated with the online version. Lastly, the use of Microsoft Power Automate to create a workflow that calls a business event suggests an online deployment. Power Automate is a cloud-based service designed to create automated workflows between applications and services - which aligns with the services provided by the online version of Business Central.
Question 3
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
A company creates a Business Central app and a table named MyTable to store records when sales orders are posted.
Users report the following issues:
- The users receive permission errors related to MyTable.
- Users are no longer able to post sales orders since installing the
new app.
- The users cannot access the list page created in MyTable.
You need to resolve the user issues without creating new permission sets. You must use the principle of least privilege.
Solution: Assign a SUPER permission set.
Does the solution meet the goal?

Correct Answer: A
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).
Question 4
Case Study 1 - Contoso, Ltd
Background
Contoso, Ltd. is a sales company in the manufacturing industry. It has subsidiaries in multiple countries/regions, each with its own localization. The subsidiaries must be data-independent from each other. Contoso. Ltd. uses an external business partner to manage the subcontracting of some manufacturing items. Contoso, Ltd. has different sectors with data security between sectors required.
Current environment
Contoso, Ltd. uses Business Central online as the main ERP for financials, sales, purchase, warehouse, and manufacturing processes. It has employees that use the Business Central web application and external applications. The company has a custom external mobile app under development.
The IT department and its partners installed custom extensions to satisfy the company's requirements where the functionality is not available natively.
Contoso, Ltd. interacts with external services provided by customers and partners. Different applications interact with SOAP and OData endpoints exposed from Business Central.
An external business partner of Contoso, Ltd. exposed a REST API for receiving details about new subcontracting orders and for sending the planned release date of each subcontracting order received.
Contoso, Ltd. has not activated the monitoring of the tenant and has no internal telemetry for its apps.
Custom reporting must be created to meet the requirements of the different departments.
Tenant management
Contoso, Ltd. has the following tenant management considerations:
IT department
The IT department requires the ability to monitor the tenant to prevent performance problems and detect possible anomalies.
The IT department plans to use Azure Application Insights and Log Analytics to inspect the ingested telemetry signals.
All tenant upgrades are automatically handled by Microsoft. The IT department does not check for update availability or for tenant-related notifications.
The IT department has not configured the receipt of tenant-related notifications from the Business Central admin center.
External business partner
The external business partner must add custom telemetry to an application created for Contoso, Ltd. to monitor a business process.
Custom telemetry signals for the application must be visible only on the partner's telemetry.
SOAP
Contoso, Ltd. plans to dismiss using the SOAP protocol for integrations.
Contoso, Ltd. must be able to detect if external applications are using its Business Central SOAP endpoints.
Issue
The Business Central tenant is upgraded by Microsoft to a new major version during the night.
Users report that one of the Contoso, Ltd. extensions disappeared from the tenant. The IT department confirms that the extension is still published.
Custom mobile application requirements
Contoso, Ltd. plans to create a custom mobile application that has the following requirements:
The app must be used by employees to check item details from the ERP in real time and to report issues that occur during the manufacturing process.
An AL extension must be created for handling archived issues.
Business Central development guidelines must be followed when implementing modules.
A module must be implemented for the reporting and tracking of issues information. You plan to call this module Issue Management. The module must expose a method named PostIssue.
Code modifications will be required over time.
The Issue Management process must be split into two extensions:
ISSUE BASE: main extension
ISSUE EXT: second extension with dependency from ISSUE BASE
In the version 1.0.0.0 of the ISSUE BASE extension, you plan to create an Issue table that contains a global Decimal variable named IssueTotal.
In the version 1.0.0.0 of the ISSUE BASE extension, you plan to define a table named Issue Category with a Description field defined as follows:

The Issue table defined in ISSUE BASE extension contains a Clone procedure defined as follows:

In the ISSUE EXT extension, you create a tableextension object of the Issue table.
The tableextension object of the Issue table must access the IssueTotal: Decimal variable.
After weeks of usage, you discover that you must remove the Description field and the Clone procedure because they are no longer required.
In a new version of the ISSUE BASE extension, you create a new Issue Type table. You must move data row by row from a previously obsolete Issue Category table to the new Issue Type table. Because a large amount of data must be moved, you must write an Upgrade codeunit by using the DataTransfer object.
The IT department creates a custom API for exposing the custom Issue table. The API provides an action for copying an issue to a new table. The action is defined as follows:

Contoso, Ltd. must create an API in Business Central to expose item details to the mobile application.
The API must have the lowest possible impact on the production environment when used during working hours.
The API must only support Get operations.
Debugging problems
A user of the ISSUE BASE extension in Business Central reports a problem.
To debug the problem, snapshot debugging with the following configuration was activated:

You discover that the debugging is not triggering.
Integration with business partner for subcontracting
Contoso, Ltd. must connect Business Central to the external API provided by the business partner. This will be used for the partner to send the details of new subcontracting orders to fulfill the sales demand, and for receiving the planned release date of each order sent. The integration requirements are as follows:
The business partner will provide a REST API secured with basic authentication. Credentials to access the API will be shared with Contoso, Ltd.
The API for sending subcontracting orders must be called by sending an authenticated POST request to the given endpoint.
The API for retrieving the order no. and planned release date of each subcontracting order responds with the following JSON:

Each order no. must be retrieved.
You need to determine why the extension does not appear in the tenant.
What are two possible reasons for the disappearance? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.

Correct Answer: C,D
Question 5
You are cleaning up sandbox environments for a company.
The company requires data to be cleared from the environments each time an extension is published.
You need to configure the launch.json file.
Which schemaUpdateMode property should you set?

Correct Answer: A
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).
Question 6
You are designing an extension that must support multiple shipping cost calculation algorithms.
Partners must be able to add their own algorithms without modifying your code.
Which AL feature should you use?

Correct Answer: D
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).
Question 7
Case Study 2 - Alpine Ski House
Company Background
Alpine Ski House is a company that owns and operates hotels, restaurants, and stores.
Currently, the company uses the following software and interface:
- Property management software (PMS) to manage hotel rooms
- On-premises accounting software to generate sales invoices and create purchase orders
- An API that allows restaurants and stores to obtain necessary information Restaurants and stores use standalone software for point of sale (POS) devices. Each day, the POS terminals generate a text file of sales data and save the files in a server folder. An account assistant must manually import the files to the current software tables to be processed by the system.
The general manager receives several reports monthly from department managers. The reports take too much time to prepare.
Planned improvements
The company is moving from a different system to Business Central online to manage the whole company.
The company plans to increase efficiency in every department by using APIs to obtain or share information between the different systems.
Each department involved in purchasing must be able to make purchase requests automatically and easily. The departments do not need access to the full ERP management system.
Technical specifications
Alpine Ski House requires the development of several extensions for the planned improvements.
Business Central design patterns must be used to develop all extensions.
Alpine Ski House must develop the following pages:
- Pages that provide multiple configurations in a multistep dialog, like a wizard, to provide required information when the extensions are first installed
- Department-specific Role Center pages to show relevant information and pages with additional information The IT department plans to use Power BI to analyze departmental information. The database must be configured to provide optimal performance.
Department-specific requirements
Housekeeping department
The housekeeping department requires the following to increase efficiency and help avoid data entry errors:
- A Housekeeping Role Center to minimize navigation to relevant areas in Business Central online and to show relevant information in it
- Pages to embed into a new Room page to show additional information about the Room entity
- A table named Room Incident for the housekeeping team to enter room issue information
- A Housekeeping canvas app that connects to an extension
- The department requires the development of an extension with a new API page named RoomsAPI.
- The housekeeping team will use RoomsAPI to publish room details, update when work is complete, or provide repair notifications from the canvas app.
- This custom API page must expose a custom table named Rooms and have an ID 50000. The table must be able to update from the PMS. The PMS team must know the endpoint to connect to the custom API.
- A developer provides the following details for the API page:

- The extension must be published in Business Central online and include a list page named Room List that includes all hotel rooms.
- Installation or updates to this extension must meet the following requirements:
o Some web services must be published automatically.
o The version of the specified application's metadata must be obtained in AL language, o The code required to perform tasks cannot be accessible from other parts of the application.
The Room Incident table information must include the following fields:
- Incident entry: An incremental number
- Room No.: A room from the Room table
- Incident Date: The work date
o The table definition in the Room Incident table must autofill the Incident Date when the housekeeping team inserts a new record, o The value for Incident Date must be the work date configured in the Business Central online client.
- Status: Includes the following options to identify the status of the incident:
o Open: When the Room Incident is created
o In Progress: When someone starts repair work
o Closed: When the incident is solved
- Incident Closing Date: Auto-updating field (when the status passes to Closed, the field will update with the work date)
- Incident Description: Text
- Image: Media data type
o The stored picture must be downloadable from a menu action,
o A Room Incident page must be developed to contain the download action.
Department-specific requirements
Restaurants and stores
- To increase efficiency, the new system must manage the generated data from the restaurants and stores directly by using the API on the POS terminals.
- The company requires a codeunit called from a job queue to read the information from the POS terminal APIs.
- The POS terminal information must be stored in a table named POS Information, have an ID
50100, and be editable on a page.
- The account manager requires an option on the menu of the page to run the process manually.
- To analyze the information received from the POS terminals, the company requires:
- A custom API named ticketAPI to export the information to Power BI
- Use of the Read Scale-Out feature to improve database performance
Department-specific requirements
Purchasing department and non-conformity handling
The purchasing department requires a new entity in Business Central online to log non- conformities of goods received from vendors. The entity must be set up as follows:
- The non-conformity entity must have two tables:
o a header with common information
o one or more lines with the detailed received items that are non-conforming
- The entity requires a page named Non-conformity and a subpage named Non-conformity Lines to store the information.
When a purchase order with incorrect quantity or quality issues is received, the entity must create a non-conformity document in the system. The following information must be included in the document:
o Non-conformity Number: must use the No. Series table from Business Central online to manage this field and use these features:
o Alphanumeric values
o Number format that includes "NC" and the year as part of the number; for example, NC24-001
- Non-conformity Date: stores only the creation date
- Vendor No.: stores the number of the vendor that sent the items; only vendors from the company must be included
- Owner: code of an employee defined in the company
- Receipt No.: must meet the following conditions:
o Be an existing receipt No.
o Be received from the vendor indicated in the Vendor No. field
- Comments: can include comments with rich text and pictures to illustrate quality problems
- Status: includes non-conformity statuses, such as:
o Open
o Notified
o Closed
- Lines must contain the following details:
o Item No.: item received (for existing inventory items only)
o Description: item description
o Quantity: non-conforming quantity
- Non-conformity Type:
o Quality
o Quantity
o Delivery date
The serial numbers of the non-conformities and the period in which they can be created must be in a configuration table and its corresponding page to allow them to be modified for the users.
You need to improve performance when ticketAPI is used to analyze the POS data.
What should you do?

Correct Answer: A
Question 8
Hotspot Question
You create an 'AddltemsToJson' procedure and publish it.

The procedure fails to run.
You need to fix the errors in the code.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Correct Answer:
Question 9
You need to run a code analysis check that validates whether your extension follows the rules required for publication on AppSource.
Which code analyzer should you enable?

Correct Answer: B
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).
Question 10
Case Study 2 - Alpine Ski House
Company Background
Alpine Ski House is a company that owns and operates hotels, restaurants, and stores.
Currently, the company uses the following software and interface:
- Property management software (PMS) to manage hotel rooms
- On-premises accounting software to generate sales invoices and create purchase orders
- An API that allows restaurants and stores to obtain necessary information Restaurants and stores use standalone software for point of sale (POS) devices. Each day, the POS terminals generate a text file of sales data and save the files in a server folder. An account assistant must manually import the files to the current software tables to be processed by the system.
The general manager receives several reports monthly from department managers. The reports take too much time to prepare.
Planned improvements
The company is moving from a different system to Business Central online to manage the whole company.
The company plans to increase efficiency in every department by using APIs to obtain or share information between the different systems.
Each department involved in purchasing must be able to make purchase requests automatically and easily. The departments do not need access to the full ERP management system.
Technical specifications
Alpine Ski House requires the development of several extensions for the planned improvements.
Business Central design patterns must be used to develop all extensions.
Alpine Ski House must develop the following pages:
- Pages that provide multiple configurations in a multistep dialog, like a wizard, to provide required information when the extensions are first installed
- Department-specific Role Center pages to show relevant information and pages with additional information The IT department plans to use Power BI to analyze departmental information. The database must be configured to provide optimal performance.
Department-specific requirements
Housekeeping department
The housekeeping department requires the following to increase efficiency and help avoid data entry errors:
- A Housekeeping Role Center to minimize navigation to relevant areas in Business Central online and to show relevant information in it
- Pages to embed into a new Room page to show additional information about the Room entity
- A table named Room Incident for the housekeeping team to enter room issue information
- A Housekeeping canvas app that connects to an extension
- The department requires the development of an extension with a new API page named RoomsAPI.
- The housekeeping team will use RoomsAPI to publish room details, update when work is complete, or provide repair notifications from the canvas app.
- This custom API page must expose a custom table named Rooms and have an ID 50000. The table must be able to update from the PMS. - The PMS team must know the endpoint to connect to the custom API.
- A developer provides the following details for the API page:

- The extension must be published in Business Central online and include a list page named Room List that includes all hotel rooms.
- Installation or updates to this extension must meet the following requirements:
o Some web services must be published automatically.
o The version of the specified application's metadata must be obtained in AL language, o The code required to perform tasks cannot be accessible from other parts of the application.
o The Room Incident table information must include the following fields:
o Incident entry: An incremental number
o Room No.: A room from the Room table
o Incident Date: The work date
- The table definition in the Room Incident table must autofill the Incident Date when the housekeeping team inserts a new record,
- The value for Incident Date must be the work date configured in the Business Central online client.
- Status: Includes the following options to identify the status of the incident:
o Open: When the Room Incident is created
o In Progress: When someone starts repair work
o Closed: When the incident is solved
- Incident Closing Date: Auto-updating field (when the status passes to Closed, the field will update with the work date)
- Incident Description: Text
- Image: Media data type
o The stored picture must be downloadable from a menu action,
o A Room Incident page must be developed to contain the download action.
Department-specific requirements
Restaurants and stores
To increase efficiency, the new system must manage the generated data from the restaurants and stores directly by using the API on the POS terminals.
The company requires a codeunit called from a job queue to read the information from the POS terminal APIs.
The POS terminal information must be stored in a table named POS Information, have an ID
50100, and be editable on a page.
The account manager requires an option on the menu of the page to run the process manually.
To analyze the information received from the POS terminals, the company requires:
- A custom API named ticketAPI to export the information to Power BI
- Use of the Read Scale-Out feature to improve database performance
Department-specific requirements
Purchasing department and non-conformity handling
The purchasing department requires a new entity in Business Central online to log non- conformities of goods received from vendors. The entity must be set up as follows:
- The non-conformity entity must have two tables:
o a header with common information
o one or more lines with the detailed received items that are non-conforming
- The entity requires a page named Non-conformity and a subpage named Non-conformity Lines to store the information.
- When a purchase order with incorrect quantity or quality issues is received, the entity must create a non-conformity document in the system. The following information must be included in the document:
- Non-conformity Number: must use the No. Series table from Business Central online to manage this field and use these features:
o Alphanumeric values
o Number format that includes "NC" and the year as part of the number; for example, NC24-001
- Non-conformity Date: stores only the creation date
- Vendor No.: stores the number of the vendor that sent the items; only vendors from the company must be included
- Owner: code of an employee defined in the company
- Receipt No.: must meet the following conditions:
o Be an existing receipt No.
o Be received from the vendor indicated in the Vendor No. field
o Comments: can include comments with rich text and pictures to illustrate quality problems o Status: includes non-conformity statuses, such as:
o Open
o Notified
o Closed
- Lines must contain the following details:
o Item No.: item received (for existing inventory items only)
o Description: item description
o Quantity: non-conforming quantity
o Non-conformity Type:
Quality
Quantity
Delivery date
The serial numbers of the non-conformities and the period in which they can be created must be in a configuration table and its corresponding page to allow them to be modified for the users.
Hotspot Question
You need to create the configuration table and page for the non-conformity functionality.
Which table configurations should you use? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Correct Answer:
Question 11
Hotspot Question
You create a "Contoso Post" procedure to send an http POST request in JSON format. You publish the procedure to your environment.
You write the following procedure code:

The procedure does not work as expected.
You need to find and fix all errors in HTTP class usage.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Correct Answer:
Question 12
Hotspot Question
You have the following XML file sample for the Items list:

You plan to create the next XML file by using an XMLport object.
You need to complete the code segment to export the file in the required format.
How should you complete the code segment? To answer, select the appropriate options in the answer area.
Correct Answer:
Question 13
You have an XMLport that exports items from a database to an XML file.
You need to change the export format from XML to CSV.
What should you do?

Correct Answer: B
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).
Question 14
A test procedure posts a document that displays a confirmation dialog. The test must run without user interaction.
What should you do?

Correct Answer: D
Explanation: Only visible for Actualtests4sure members. You can sign-up / login (it's free).