Get 2025 Updated Free Microsoft MB-820 Exam Questions & Answer [Q67-Q82]

Share

Get 2025 Updated Free Microsoft MB-820 Exam Questions and Answer

MB-820 Dumps PDF and Test Engine Exam Questions

NEW QUESTION # 67
You need to download a stored picture from the Room Incident page.
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.
F

Answer:

Explanation:

Explanation:

var
TempBlob: Codeunit "Temp Blob";
IncidentOutStream: OutStream;
IncidentInStream: InStream;
ImageFilter, FileName: Text;
begin
// Initialize the TempBlob and streams
TempBlob.CreateOutStream(IncidentOutStream);
Rec.Image.ExportStream(IncidentOutStream); // 'Rec' refers to the current Room Incident record TempBlob.CreateInStream(IncidentInStream);
// Set the filters and filename for the image
ImageFilter := 'Image Files (*.bmp,*.jpg,*.jpeg,*.gif)|*.bmp;*.jpg;*.jpeg;*.gif'; FileName := 'Customer Picture';
// Prompt the user to download the image
if not DownloadFromStream(IncidentInStream, '', 'Download Incident Picture', '', ImageFilter, FileName) then Error('Unable to download the image.'); end;


NEW QUESTION # 68
You need to access the RoomsAPI API from the canvas app.
What should you do?

  • A. Enable the APIs for the Business Central online environment.
  • B. Include in the extension a codeunit of type Install that publishes RoomsAPI.
  • C. Use the default API configuration in Business Central
  • D. Open the Web Services page and publish the RoomsAPI page as a web service.

Answer: D

Explanation:
* API Publishing for Extensions:
* In Business Central, when creating custom APIs like RoomsAPI, it is important to ensure that they are automatically published during the installation or upgrade of the extension.
* To achieve this, you can include a codeunit of type Install in the extension that explicitly publishes the custom API (RoomsAPI) as a web service. This ensures that it is available for use immediately after the extension is deployed without requiring manual intervention.
* Codeunit Type:
* A codeunit of type Install runs when the extension is installed or upgraded. This type of codeunit can be used to perform setup tasks such as publishing web services or APIs like RoomsAPI.
* Why Not Other Options?
* Option A (default API configuration): This would not automatically publish the RoomsAPI.
Default APIs do not cover custom APIs.
* Option B (enable APIs for the environment): Enabling APIs in Business Central allows the standard APIs to be used, but custom APIs still need to be manually published.
* Option C (publish via Web Services page): This would work but requires manual intervention to publish RoomsAPI, which does not fulfill the requirement of automatic publishing during installation.
Reference Documentation:
* Publishing APIs in Extensions
* Codeunit Types in Business Central


NEW QUESTION # 69
You have a per tenant extension that contains the following 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.

Answer:

Explanation:


NEW QUESTION # 70
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 create the API page according to the requirements.
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 # 71
You need to write an Upgrade codeunit and use the DataTransfer object to handle the data upgrade.
Which solution should you use for each requirement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.

Answer:

Explanation:

Explanation:

Upgrade codeunit trigger: OnValidateUpgradePerDatabase
* Since the question specifies that you are handling data upgrades, and you need to use validation before upgrading at the database level, the correct choice is OnValidateUpgradePerDatabase. This method ensures that the upgrade process is validated before applying to the entire database, making it more efficient when data affects multiple companies or structures.
DataTransfer method to use: CopyRows
* CopyRows is the appropriate method when you are handling large data transfers between tables, especially in an upgrade scenario where you are migrating or transferring data from one table to another. It copies entire rows of data and is optimal for bulk data operations during upgrades.


NEW QUESTION # 72
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 # 73
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.

Answer:

Explanation:

Explanation:


NEW QUESTION # 74
You need to implement the Issue Management module and expose the Postlssue method.
Which four 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: Note than one order of answer choices is correct. You will receive credit for any of the correct orders you select.

Answer:

Explanation:

Explanation:
Here is the most logical sequence of actions for implementing the Issue Management module in Business Central and exposing the PostIssue method:
Correct Order:
* Create a codeunit named "Issue Management Impl." and set the value of Access property to Internal.
* This is the first step because Issue Management Impl. is the implementation layer where the actual business logic resides, and setting it to Internal ensures that it is only accessible from within the module, following best practices in encapsulation.
* Create a local procedure named PostIssueImpl in the "Issue Management Impl." codeunit.
* This step adds the actual PostIssueImpl method, which contains the core logic of posting an issue.
* Create a codeunit named "Issue Management" and set the value of Access property to Public.
* After defining the implementation logic, you need to create a public-facing Issue Management codeunit to expose the service externally.
* Create a PostIssue procedure in the "Issue Management" codeunit, and in it call the PostIssueImpl method.
* Lastly, expose the PostIssue method in the Issue Management codeunit, which will internally call the PostIssueImpl method, completing the chain.


NEW QUESTION # 75
You are creating an entitlement object in Business Central to enable transactability for AppSource apps.
You must map the entitlement object to a plan in Partner Center.
You need to select the value of the Type property to use in the entitlement object.
Which value should you use?

  • A. Unlicensed
  • B. Implicit
  • C. Role
  • D. PerUserServicePlan

Answer: D

Explanation:
In Business Central, when creating an entitlement object to enable transactability for AppSource apps and mapping it to a plan in Partner Center, the Type property of the entitlement object should be set to PerUserServicePlan (A). The PerUserServicePlan type is used to define an entitlement that is based on a service plan, which is typically how transactability features are managed for apps distributed through AppSource. This type of entitlement allows for the mapping of specific features or capabilities of the app to a service plan in Partner Center, enabling granular control over what users are entitled to use based on their subscription. The other values, such as Implicit (B), Unlicensed (C), and Role (D), are used in different contexts and do not apply to the scenario of mapping an entitlement object to a plan for AppSource apps.


NEW QUESTION # 76
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 on 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 lo 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: In the MyTable object add the property InherentPermissions = Rl. Does the solution meet the goal?

  • A. Yes
  • B. No

Answer: B

Explanation:
The property InherentPermissions is used to automatically grant permissions to the table object it is applied to, but setting it to Rl (which seems to be a typo and should likely be 'RL' for Read and Insert permissions) is not sufficient in this scenario. The issues reported by the users suggest that they need more than just read and insert permissions on MyTable. Since users are unable to post sales orders, they likely need Modify, Delete, or Execute permissions on certain tables or objects related to the sales order process. Additionally, the inability to access the list page created in MyTable could be due to lacking Read permissions on other related objects or pages. Therefore, merely setting InherentPermissions = RL on MyTable does not comprehensively address the users' permission issues, especially when considering the principle of least privilege. A more tailored approach to permissions, potentially involving adjustments to the app's code or configuration to ensure proper permissions are applied where necessary, would be needed.


NEW QUESTION # 77
You develop a table named Contoso Setup and a page.
You plan to use No. Series to automatically assign a unique number to data entries. You set up No. Series on the Vendor Nos. field of the Contoso Setup table.
You need to apply the No. Series Design Pattern to the trigger Onlnsert().
Which four code segments should you use to develop the solution? To answer, move the appropriate code segments from the list of code segments to the answer area and arrange them in the correct order.

Answer:

Explanation:


NEW QUESTION # 78
You need to define the properties of the comments field of the Non-conformity page.
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 # 79
A developer creates a profile for part-time shop supervisors and adds customizations.
You plan to add new requirements to the profile.
You need to analyze the code to understand the profile and make sure there are no errors.

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 Part Time Shop Supervisor profile will be applied only to users with "Register Time" = true on User Setup: No Variables, procedures, and triggers cannot be added on page customization objects: Yes Line 10 should use extends instead of customizes: No In line 18, "Unit Cost" will be moved after "Costing Method": Yes The Part Time Shop Supervisor profile will be applied only to users with "Register Time" = true on User Setup.
* No
* The code doesn't contain any reference to the User Setup table or the Register Time field, so this is not correct. Profiles are not applied conditionally based on fields like this.
Variables, procedures, and triggers cannot be added on page customization objects.
* Yes
* Page customization objects are meant for UI modifications, such as moving or hiding fields. You cannot add variables, procedures, or triggers in a page customization object.
Line 10 should use extends instead of customizes.
* No
* In AL, when customizing a page within a profile, you use customizes rather than extends. Extends is used when modifying base application objects, but customizes is used to customize pages within a profile.
In line 18, "Unit Cost" will be moved after "Costing Method".
* Yes
* The code in line 18 is correct. The moveafter directive will move the "Unit Cost" field after the " Costing Method" field on the page layout.


NEW QUESTION # 80
You create a procedure to check if a purchase order has lines.
The procedure returns false for purchase order PO-00001 even though it has purchase lines.

You need to fix the code to get the correct result.
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:
Add Clear(PurchaseLine); as a line before line 01 of the code: No
Add PurchaseLine.SetFilter("Line No."; '>0') as a line after line 06: Yes Change the filter on line 06 from a "No." field to a "Document No." field: No Remove "not" in line 07: No Add Clear(PurchaseLine); as a line before line 01 of the code.
* No
* You do not need to clear the PurchaseLine record before running the query, because the SetRange filters will take care of setting the correct context.
Add PurchaseLine.SetFilter("Line No."; '>0') as a line after line 06.
* Yes
* Adding a SetFilter on the "Line No." field ensures that you're checking for actual purchase lines greater than 0, which are valid lines. This would fix the issue where the check might return false even when lines exist.
Change the filter on line 06 from a "No." field to a "Document No." field.
* No
* The filter on the No. field is correct, as it's filtering based on the purchase order number. Changing this to Document No. is unnecessary.
Remove "not" in line 07.
* No
* The not in line 07 is necessary because IsEmpty() returns true when no lines are found. To correctly return a boolean indicating whether the purchase order has lines, you need to negate the result of IsEmpty().


NEW QUESTION # 81
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:

1 - Create an enum object named Approver and include all options.
2 - Create a table extension object for an Item table with an Approver field of enum type named Approver in the fields section.
3 - Create a page extension object that extends the Item Card object. Add the field to the fields section.


NEW QUESTION # 82
......

Verified MB-820 exam dumps Q&As with Correct 120 Questions and Answers: https://examschief.vce4plus.com/Microsoft/MB-820-valid-vce-dumps.html