Microsoft
MB-820 Exam
Microsoft Certified - Dynamics 365 Business Central Developer Associate
Questions & Answers
(Demo Version - Limited Content)
Thank you for Downloading MB-820 exam PDF Demo
Get Full File:
[Link]
[Link]
Questions & Answers PDF Page 2
Version: 5.0
Topic 1 , Case Study Alpine Ski House
Overview
Alpine Ski House is a company that owns and operates hotels, restaurants, and stores. Currently, the
company uses the following software and interlace:
• 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 serval 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.
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.
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 61 to analyze departmental information. The database must
be configured to provide optimal performance.
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
[Link]
Questions & Answers PDF Page 3
table must be able to update from the PMS. The PMS team must know the end to connect to the
custom API.
• A developer provides the following details for the API page:
APIPublisher = 'alpine';
APIGroup - 'integration';
APIVersion - 'v2.6';
fntityName ■ 'room';
EntitySetName = 'rooms';
• 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 lo 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.
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 code unit 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
The purchasing department requites 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.
[Link]
Questions & Answers PDF Page 4
When a purchase order with incorrect quantity 01 quality issues is received, the entity must create a
non-conformity document in the system. The following information must be nick 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 "NO 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 nonconformity 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
0 Quantity: non-conforming quantity
0 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.
Question: 1
HOTSPOT
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.
[Link]
Questions & Answers PDF Page 5
Answer:
Explanation:
var
TempBlob: Codeunit "Temp Blob";
[Link]
Questions & Answers PDF Page 6
IncidentOutStream: OutStream;
IncidentInStream: InStream;
ImageFilter, FileName: Text;
begin
// Initialize the TempBlob and streams
[Link](IncidentOutStream);
[Link](IncidentOutStream); // 'Rec' refers to the current Room Incident record
[Link](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;
Question: 2
HOTSPOT
You need to create the codeunit to read the POS terminal APIs.
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.
[Link]
Questions & Answers PDF Page 7
Answer:
Explanation:
codeunit 52102 "POS API Management"
{
Access = Public;
Permissions = TableData "POS Information" = rwdx;
trigger OnRun()
begin
readAPI();
end;
procedure readAPI()
begin
// Your code here to read from the POS API
end;
}
[Link]
Questions & Answers PDF Page 8
Question: 3
HOTSPOT
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:
[Link]
Questions & Answers PDF Page 9
Question: 4
You need to define the data types for the fields of the N on-conformity table.
Which two data types should you use? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A. Integer for the N on-conformity Number field
B. Date Time for the Non-Conformity Date field
C. Char for the Non-Conformity Number field
D. Date for the Non-Conformity Date field
E. Code for the Non-Conformity Number field
Answer: C, E
Explanation:
[Link]
Questions & Answers PDF Page 10
In Business Central, fields in tables are assigned specific data types that determine the kind of data
they can store. For the Non-conformity table mentioned in the case study, the following data types
should be used:
Date for the Non-Conformity Date field: This is because the Non-conformity Date field is required to
store only the date when the non-conformity was recorded. The Date data type is appropriate for
storing dates without times.
Code for the Non-Conformity Number field: The Non-conformity Number field is described to use
alphanumeric values with a format that includes "NC" and the year, like "NC24-001". In Business
Central, the Code data type is used for fields that store alphanumeric keys. It is a text field with a
limited length, which makes it suitable for number series that contain letters and numbers.
Other options are not suitable:
A. Integer for the Non-conformity Number field: This would not be appropriate because the Non-
conformity Number includes alphanumeric characters and not just integers.
B. DateTime for the Non-Conformity Date field: This is not correct because there is no requirement to
store the time alongside the date.
C. Char for the Non-Conformity Number field: Char data type is not typically used in Business Central
for number series or identifiers. The Code data type is preferred for this purpose.
Question: 5
HOTSPOT
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:
For the Install codeunit required for the extension used for installing or updating the Housekeeping
app, you should use the following data type and declaration:
Data type for information: ModuleInfo
Start of the declaration of the method or procedure to perform the tasks: local procedure
In AL language, which is used for developing extensions in Business Central, an Install codeunit is a
special type of codeunit that is used to handle installation or upgrade logic for an extension.
ModuleInfo is a data type that contains information about the current extension, such as its version.
It is typically used within the OnInstallAppPerCompany or OnUpgradePerCompany triggers of an
[Link]
Questions & Answers PDF Page 11
Install codeunit to determine if the app is being installed for the first time or upgraded.
A local procedure within an Install codeunit is a method that is only accessible within the codeunit
itself. It is not visible to other objects or extensions. This is suitable for tasks that are internal to the
installation process and should not be exposed globally.
These selections align with the requirements of handling installation and update procedures in a
controlled and encapsulated manner within Business Central extensions.
Question: 6
HOTSPOT
You need to select the appropriate page types to solve the reporting requirements.
Which page types should you use? To answer, select the appropriate options in the answer area.
NOTE; Each correct selection is worth one point.
Answer:
Explanation:
For the requirements provided, the appropriate page types should be selected as follows:
Display relevant insights in the Housekeeping Role Center: HeadlinePart
Display the additional information for the Room table: FactBox
Configure the first installation: StandardDialog
Comprehensive Detailed Explanation
In the context of Microsoft Dynamics 365 Business Central, page types are crucial for determining
how information is presented to the user.
HeadlinePart: This page type is designed to display key data and insights in a concise and visually
appealing manner, often used in Role Centers to highlight important information. It is suitable for the
Housekeeping Role Center to display relevant insights.
FactBox: This page type is used to display supplementary information related to a selected record in
the main part of the page. It's often used to show additional details about a record in a list, card, or
document page. In this scenario, it is suitable for showing additional information about a specific
Room when viewing the Room table.
StandardDialog: This is a page type that provides a modal dialog for user interaction, commonly used
for setup wizards, confirmations, and input forms that require user action before proceeding. This is
appropriate for configuring the first installation, where a step-by-step guided interaction is necessary.
Question: 7
[Link]
Questions & Answers PDF Page 12
HOTSPOT
You need to provide the endpoint to the PMS provider for the RoomsAPI page.
How should you complete the API page endpoint? To answer, select the appropriate options in the
answer area.
NOTE: Each correct selection is worth one point
Answer:
Explanation:
[Link]
oms
Question: 8
You need to define the tables used for the non-conformity entity.
What should you use?
A. document history table to introduce the non-conformity entities
B. document table to introduce the non-conformity entities
C. supplemental table to introduce the non-conformity lines
Answer: B
Explanation:
Table Structure in Business Central: When creating entities such as "non-conformity" entities in
Business Central, you use document tables to represent entities that have a header and line
structure. In this case, the non-conformity entity has:
A header with common information (Non-conformity Number, Date, Vendor No., etc.).
One or more lines representing the detailed information for each non-conforming item.
Document Table Usage:
[Link]
Questions & Answers PDF Page 13
Document Table: A document table is the correct table type for scenarios where you have a header
(with general information like vendor details) and lines (with detailed, item-specific information).
Document tables are typically used for entities such as Sales Orders, Purchase Orders, or any other
transactional data where you have both header and line information.
Supplemental Table (Option C):
Supplemental tables are usually used to add supplementary information to existing data in Business
Central. In this case, we need to store detailed line information, which is a core part of the entity
rather than supplementary data, so a supplemental table would not be appropriate here.
Document History Table (Option A):
Document history tables are used to track changes and historical data for entities but are not suitable
for the main introduction of the entity and its lines. This option is also not appropriate.
Reference Documentation:
Introduction to Business Central Tables
Document Tables in Business Central
Question: 9
HOTSPOT
You need to define the properties for the Receipt No. field in the Non-conformity table when storing
the information to the purchasing department
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:
field(3; "Receipt No."; Code[20])
{
DataClassification = CustomerContent;
TableRelation = "Purch. Rcpt. Header"."No." where ("Buy-from Vendor No." = field("Vendor No."));
[Link]
Questions & Answers PDF Page 14
Field Declaration:
The field(3; "Receipt No."; Code[20]) part defines the field in the table with ID 3 and type Code with a
length of 20. This field will hold the receipt number.
DataClassification:
CustomerContent is selected for the DataClassification property, which categorizes the data for
privacy and compliance management. This aligns with Business Central's recommendations for
handling sensitive data in customer-related tables.
TableRelation Property:
The TableRelation property links the "Receipt No." field to another table, which in this case is the
"Purch. Rcpt. Header" table. This ensures that only valid receipt numbers from the Purchase Receipt
Header table can be selected or entered in this field.
Relation Filter:
The filter condition is applied using the where clause. It ensures that the Receipt No. is only from the
Purchase Receipt Header records where the "Buy-from Vendor No." matches the "Vendor No." of the
current record.
The condition field("Vendor No.") is selected from the drop-down as shown in the image. This links
the vendor information in the non-conformity table to the receipt in the Purchase Receipt Header
table.
By linking the "Vendor No." fields, you ensure that only receipt numbers from the correct vendor are
available, which improves data consistency and reduces errors during data entry.
DRAG DROP to AL Language:
The TableRelation property is frequently used to create references between tables in Business
Central. In this case, the correct relationship between the "Purch. Rcpt. Header" and the Non-
conformity table is established using the TableRelation and filter.
Reference Documentation:
AL TableRelation Property
AL Field Syntax
Question: 10
You need to access the RoomsAPI API from the canvas app.
What should you do?
A. Use the default API configuration in Business Central
B. Enable the APIs for the Business Central online environment.
C. Open the Web Services page and publish the RoomsAPI page as a web service.
D. Include in the extension a codeunit of type Install that publishes RoomsAPI.
[Link]
Questions & Answers PDF Page 15
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
[Link]
Thank You for trying MB-820 PDF Demo
[Link]
Start Your MB-820 Preparation
[Limited Time Offer] Use Coupon " SAVE20 " for extra 20%
discount the purchase of PDF file. Test your
MB-820 preparation with actual exam questions
[Link]