[Mar 31, 2026] Valid MB-820 Test Answers Full-length Practice Certification Exams
Accurate & Verified 2026 New MB-820 Answers As Experienced in the Actual Test!
Microsoft MB-820 Exam Syllabus Topics:
| Topic | Details |
|---|---|
| Topic 1 |
|
| Topic 2 |
|
| Topic 3 |
|
| Topic 4 |
|
| Topic 5 |
|
NEW QUESTION # 54
A company has a test application.
A user observes the following error messages when running the test:
* "Unhandled Ul: Message'
* "Unhandled Ul: Confirm"
You need to resolve the errors. Which action should you take?
- A. Create the Message Handler and Confirm Handler methods in the test runner codeunit.
- B. Create a separate test runner codeunit that has Message Handler and Confirm Handler methods.
- C. Create a separate test codeunit that has Message Handler and Confirm Handler methods.
- D. Create the Message Handler and Confirm Handler methods in the test codeunit.
Answer: A
Explanation:
A user observes error messages such as:
* "Unhandled UI: Message"
* "Unhandled UI: Confirm"
These messages indicate that the test code is not handling system prompts like Message and Confirm dialogs, which can appear during test execution.
Options Explanation:
* Message Handler and Confirm Handler methods are used to intercept and handle these UI prompts during automated testing.
* These methods should be added to the test runner codeunit, which is responsible for running the tests and handling these system-level interactions.
NEW QUESTION # 55
Drag and Drop Question
A company has the following custom permission set:
You need to make the permission set visible on the Permission Sets page.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct orders you select.
Answer:
Explanation:
NEW QUESTION # 56
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
Answer:
Explanation:
Explanation:
Design pattern for the setup table:
* The correct selection here is Adapter. The Adapter design pattern is commonly used when you need to handle integration points or create a setup table that acts as an intermediary for data manipulation, which fits the requirement for the configuration of the non-conformity functionality.
Data type of the primary key field:
* The correct data type is Code. In Business Central, when creating a table with a primary key field, the Code data type is typically used for fields such as document numbers, codes, and identifiers. For a setup table, a Code field is appropriate for keys like "No." series or setup identifiers.
Property required to prevent users from adding records:
* The correct property is InitValue. This property is used to set initial values for fields and can be configured in such a way that users are prevented from adding records directly, typically enforcing control over record creation and editing in configuration scenarios.
NEW QUESTION # 57
You create a page with the PageType property set to RoleCenter.
You navigate through the different sections of the page.
You need to add functionalities to the page.
What should you do?
- A. Define actions in the area (reporting) before actions in the area (creation).
- B. Define the navigation menu in the area(processing).
- C. Add a source table on the Role Center page.
- D. Define the navigation bar in the area (embedding).
Answer: A
Explanation:
When creating a page with the PageType property set to RoleCenter in Microsoft Dynamics 365 Business Central, it's essential to organize the functionalities and actions in a manner that enhances user experience and efficiency. The best practice is to define actions in the area (reporting) before actions in the area (creation) (A). This organization allows users to access reporting and analytical features quickly, which are commonly used in Role Centers for overview and insight purposes, before moving on to creation or transactional tasks. This logical flow aligns with typical user workflows, where analysis and review precede the creation of new records or transactions. The other options, such as defining the navigation menu in the area(processing) (B), defining the navigation bar in the area (embedding) (C), or adding a source table on the Role Center page (D), do not directly address the need to add functionalities to the Role Center page in a user-friendly manner.
NEW QUESTION # 58
You need to create the Install codeunit that is requited in the extension used for installing or updating the Housekeeping app.
Which data type or declaration should you use? To answer, select the appropriate options in the answer area.
NOTE; Each correct selection is worth one point.
Answer:
Explanation:
NEW QUESTION # 59
You need to parse the API JSON response and retrieve each order no. in the response body.
How should you complete the code segment? To answer select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Answer:
Explanation:
Explanation:
Code Segment Analysis:
* The AL code is trying to read JSON data from a response and process it to extract subcontracting order numbers. It uses JsonToken, JsonObject, and JsonArray to work with the JSON data.
* JToken.ReadFrom(Data): This line reads the incoming JSON data and converts it into a token. It processes the full JSON body so you can start working with it.
* JToken.SelectToken("results"): This line selects the part of the JSON containing the results array.
The key "results" is where the JSON response data is expected to be found.
* JsonArray: Once the results are extracted, they are stored as an array, and each element in the array (which is expected to contain subcontracting order numbers) is processed.
* SubcontractingOrderNo: The extracted order_no from the JSON is stored in this variable.
Breakdown of Steps:
* JToken.ReadFrom(Data): This step reads the entire JSON response.
* JToken.SelectToken("results"): This step selects the results array from the JSON response.
* JArray.AsArray(): This step converts the selected results token into a JSON array that can be iterated over.
* GetValueAsText(JToken, 'order_no'): This step retrieves the order_no from each element in the array.
Correct Code Completion:
* JToken.ReadFrom(Data): This is the correct method to read the incoming JSON response, as it will convert the string into a JsonToken that can be further processed.
* JToken.SelectToken("results"): This is the correct method to extract the results array from the token.
This method looks for the key "results" in the JSON and retrieves the relevant array.
Final Code Segment:
al
Copy code
procedure ReadJsonData(Data: text)
var
JToken: JsonToken;
JObject: JsonObject;
JArray: JsonArray;
SubcontractingOrderNo: Code[20];
begin
if Data = '' then
exit;
JToken := JToken.ReadFrom(Data); // Step 1: Read the JSON response data.
JToken := JToken.SelectToken('results'); // Step 2: Select the "results" array.
JArray := JToken.AsArray(); // Convert the token into a JSON array.
foreach JToken in JArray do begin
SubcontractingOrderNo := GetValueAsText(JToken, 'order_no'); // Retrieve the order number.
end;
end;
* JToken.ReadFrom(Data): This reads the raw JSON data string and converts it into a JSON token that can be processed.
* JToken.SelectToken("results"): This extracts the results array from the JSON data.
* JArray.AsArray(): Converts the token into an array so we can iterate over it.
* GetValueAsText(JToken, 'order_no'): Extracts the order_no value from each item in the array.
NEW QUESTION # 60
A company uses Business Central. The company is generating a detailed custom report.
A user observes that the generated report dataset contains more Delivery Line records than expected for one specific Delivery Header.
You need to generate a report that contains the accurate number of records.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Answer:
Explanation:
Explanation:
The report generated by the company contains more Delivery Line records than expected for one specific Delivery Header. To address this, certain properties within the report's data items need to be configured correctly.
Property Configuration Statements:
* Configure the DataItemTableView property of the Delivery Header data itemThis property defines the view (filtering and sorting) for a data item in a report. If the DataItemTableView is not configured properly, it might pull in more records than expected.answer: Yes. By configuring this property, you can control which Delivery Header records are retrieved, preventing excess records.
* Configure the RequestFilterFields property of both data itemsThis property allows the user to set fields to filter on the request page of the report. Configuring the filter fields can help users refine the records being retrieved for both Delivery Header and Delivery Line.answer: Yes. By setting appropriate filters on both data items, users can control which records to include, which is critical in narrowing down the correct data.
* Configure the DataItemLink property of the Delivery Line tableThis property links two data items based on common fields. If not configured properly, more Delivery Line records than expected might be retrieved because the link between Delivery Header and Delivery Line might not be accurate.
answer: Yes. Configuring the DataItemLink ensures that only the Delivery Line records associated with the specific Delivery Header are retrieved, avoiding an excess of records.
Conclusion:
* DataItemTableView property of Delivery Header data item # Yes
* RequestFilterFields property of both data items # Yes
* DataItemLink property of Delivery Line table # Yes
Each configuration is necessary for generating the correct number of records in the report dataset.
NEW QUESTION # 61
You need to populate the Incident Date and Status fields in the Room Incident table.
Which instructions or trigger should you use? To answer, select the appropriate options in the answer area NOTE: Each correct selection is worth one point
Answer:
Explanation:
Explanation:
* Instructions to use for Incident Date and Status fields:
* The correct instruction is "Incident Date" := Workdate(); "Status" := Status::Open;. This ensures that when a new record is created, the Incident Date is set to the current work date, and the Status field is initialized to 'Open'. This is essential for ensuring that the incident data is always timestamped and correctly marked upon creation.
* Trigger to introduce the function:
* The correct trigger is Trigger OnModify. This trigger ensures that when a record is modified, such as when an update to the status is made (e.g., from Open to Closed), the necessary logic will be executed to handle the update of fields like Incident Date and Status.
Step-by-Step References:
* Workdate Function in AL
* Triggers in AL
NEW QUESTION # 62
A company is implementing Business Central.
The company has the following requirements for a report:
* The report must be loaded for users in a specific location only.
* Data entered in the request page must be validated before any further processing.
* A filter must be defined for users based on the Department field defined in user setup.
You need to implement the given requirements.
Which triggers should you use? To answer, move the appropriate triggers to the correct requirements. You may use each trigger 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.
Answer:
Explanation:
NEW QUESTION # 63
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 plans to optimize its permission sets.
The company has the following permission sets:
You need to provide the following implementation for a third permission set:
* Create a new Permission Set C that is a composite of Permission Set A and Permission Set B.
* Assign Permission Set C to a user.
You need to ensure that the user has only read access to the Job table.
Solution: Set the Excluded Permission Sets property to Permission Set B.
Does the solution meet the goal?
- A. Yes
- B. No
Answer: B
NEW QUESTION # 64
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.
Answer:
Explanation:
NEW QUESTION # 65
A company has a Business Central online environment.
You need to create an HTTP GET request that connects to an external REST service.
Which solution should you use?
- A. Codeunit S459 "JSON Management"
- B. Codeunit 1297 "Http Web Request Mgt"
- C. HttpContent data type variable
- D. Codeunit 1299 "Web Request Helper"
- E. HttpClient data type variable
Answer: E
Explanation:
To create an HTTP GET request that connects to an external REST service in a Business Central online environment, the solution to use is the HttpClient data type variable (E). The HttpClient data type in AL language is designed for sending HTTP requests and receiving HTTP responses from a resource identified by a URI. This makes it the ideal choice for interfacing with external REST services, as it provides the necessary methods and properties to configure and execute HTTP GET requests, handle the responses, and process the data returned by the REST service. This approach is more direct and flexible compared to using specific codeunits like "Web Request Helper" (B) or "Http Web Request Mgt" (D), which might not provide the same level of control or specificity needed for RESTful interactions.
NEW QUESTION # 66
You are writing a procedure to block all inventory items with numbers that do not start with the letter S.
You need to complete the procedure.
How should you complete the code expressions? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Answer:
Explanation:
Explanation:
procedure BlockNonSItems()
var
Item: Record Item;
begin
// Reset the Item record to clear any previous filters.
Item.Reset();
// Set the filter to exclude items that start with 'S'.
Item.SetFilter("No.", '<>%1*', 'S');
// Find each item that matches the filter.
if Item.FindSet() then
repeat
// Set the Blocked field to true to block the item.
Item.Blocked := true;
// Save the changes to the Item record.
Item.Modify();
until Item.Next() = 0; // Continue until no more items are found.
end;
NEW QUESTION # 67
A company owns and operates hotels, restaurants, and stores.
When the staff orders materials from the purchasing department, the requests are not directed to the correct approvers.
The staff requires a new field named Approver from which they can select the appropriate approver. The field must include the following options:
* Hotel manager
* Restaurant manager
* Store manager
* Purchasing manager
You need to create the Approver field in the Item table by using an AL extension.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.
Answer:
Explanation:
Explanation:
Create an enum object named Approver and include all options.
* Reasoning: First, you must define the set of options (Hotel manager, Restaurant manager, etc.). In modern AL development, Enums are the standard way to create option sets because they are extensible.
Create a table extension object for an Item table with an Approver field of enum type named Approver in the field section.
* Reasoning: Next, you need to add the actual data field to the database. Since the "Item" table is a standard base table, you use a table extension. Tables use a fields section to define data columns. You reference the Enum created in step 1 here.
Create a page extension object that extends the Item Card object. Add the field to the layout section.
* Reasoning: Finally, to allow users to see and edit this new field on the screen, you must extend the
"Item Card" page. Pages use a layout section to determine where controls appear.
NEW QUESTION # 68
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.
Hotspot Question
You need to write the code to call the subcontractor's REST API.
How should you complete the code segment? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Answer:
Explanation:
NEW QUESTION # 69
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?
- A. ForceSync
- B. Recreate
- C. ForceUpgrade
- D. Synchronize
Answer: B
Explanation:
In the context of cleaning up sandbox environments for a company where data needs to be cleared each time an extension is published, the schemaUpdateMode property in the launch.json file should be set to Recreate (D). Setting this property to Recreate ensures that every time the extension is published, the existing tables and data are dropped, and then the tables are recreated based on the current extension's schema. This mode is particularly useful in development and testing environments where you need a clean slate for testing each version of the extension without the remnants of previous data affecting the outcomes. It's important to use this setting cautiously, as it results in the loss of all existing data in the tables defined by the extension, which is suitable for a sandbox environment but not for production environments.
NEW QUESTION # 70
You create a Business Central report.
You need to insert values on the Request page to be saved for the next time the report is run.
What should you do?
- A. Set the Use Request Page property to true.
- B. Set the Transact! on Type property to Update.
- C. Set the SaveValues property to true.
- D. Declare a Savevalues' variable and assign it to true on the OnOpenPage () trigger.
Answer: C
Explanation:
To ensure that the values inserted on the Request page of a Business Central report are saved for the next time the report is run, the SaveValues property (D) should be set to true. This property is available on the Request page of the report and, when set to true, allows the system to remember the values entered by the user, so they do not have to re-enter them each time they run the report. This feature enhances user experience by reducing repetitive data entry and ensuring consistency in report parameters across multiple executions. The other options mentioned, such as setting the Transaction Type property to Update (A) or declaring a Savevalues variable in the OnOpenPage trigger (B), are not directly related to saving user input on a report's Request page.
NEW QUESTION # 71
A company is implementing Business Central.
The company has the following requirements for a report:
* The report must be loaded for users in a specific location only.
* Data entered in the request page must be validated before any further processing.
* A filter must be defined for users based on the Department field defined in user setup.
You need to implement the given requirements.
Which triggers should you use? To answer, move the appropriate triggers to the correct requirements. You may use each trigger 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.
Answer:
Explanation:
Explanation:
* Load the report for users in a specific location: OnInitReport
* Validate data before processing: OnPreReport
* Define filter based on Department field: OnPreDataItem
The requirements for the report are:
* The report must be loaded for users in a specific location only.
* Data entered in the request page must be validated before any further processing.
* A filter must be defined for users based on the Department field defined in user setup.
Trigger Matching:
* The report must be loaded for users in a specific location only.The correct trigger for loading the report is OnInitReport.
* This trigger runs when the report is initialized, and you can use it to define user-specific loading conditions, like location-based filtering.
* Data entered in the request page must be validated before any further processing.The correct trigger for validation before processing is OnPreReport.
* This trigger occurs before the report is run and can be used for data validation before further processing begins.
* A filter must be defined for users based on the Department field defined in user setup.The correct trigger to define filters is OnPreDataItem.
* This trigger occurs before data item processing begins and is used to apply filters such as those based on the Department field in the user setup.
NEW QUESTION # 72
You need to assist the development department with setting up Visual Studio Code to design the purchase department extension, meeting the quality department requirements.
How should you complete the app.json file? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Answer:
Explanation:
Explanation:
NEW QUESTION # 73
......
Certification Topics of MB-820 Exam PDF Recently Updated Questions: https://actualtests.prep4away.com/Microsoft-certification/braindumps.MB-820.ete.file.html