Free Microsoft Dynamics MB-820 Actual Exam Questions
Dumps Box (DumpsBox) offers up-to-date practice exam questions for MB-820 certification exam which are developed and validated by Microsoft subject domain experts certified in Microsoft Dynamics MB-820 . These practice questions are update regularly as we keep an eye on any recent changes in MB-820 syllabus, and when there is update our team quickly adjusts the questions. This commitment to providing the best quality exam prep material to certification aspirants is what makes DumpsBox.com the best certification exam prep website. On top of that, our strong, yet strictly moderated, community based feedback keeps the content clean and current. Each question has helpful community discussion that provides it extra perspective and introduces helpful resources for better exam preparation. This also saves students from other outdated practice questions or illicit exam dumps that can have adverse affects on career. Browse through our Microsoft Dynamics MB-820 exam questions and pass your exam on first try.
HOTSPOT You need to log an error in telemetry when the business process defined in the custom application developed for Contoso, Ltd fails. 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.

I’d go with options that involve creating a new Exception specifically for the business failure and then using TrackException to log it. That’s the cleanest way to capture an error in telemetry instead of just logging a string message. Also, including custom properties about the failure lets you filter and analyze these errors later. Anything that skips making a proper Exception or just logs info messages probably won’t work here. So I’m focusing on options that show throwing or creating an Exception and calling TrackException with it.
Another angle is to look for options that include creating a new Exception object with a clear message about the business process failure before passing it to TrackException. This makes sure the error logged is descriptive and specific, which helps in troubleshooting later. Also, including any relevant business context as custom properties can make the telemetry data more useful. So, choices that combine building a detailed exception and using TrackException with those details should be solid picks here.
HOTSPOT A company uses Azure Application Insights for Business Central online in its production environment. A user observes that some job queues go into the failed state and require manual intervention. You need to analyze job queue lifecycle telemetry. 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. 
I’d say B for the first blank too since it directly deals with job queue events. For the second, filtering on operation name with C seems to make sense to narrow down the data you're analyzing.
B and C seem more targeted to job queue telemetry and filtering.
HOTSPOT You need to create the Fabrikam Vendor API for the accounting 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. 
I’d pick [ApiController] for sure to handle model binding and validation automatically, and [Route("api/[controller]")] keeps the URL consistent with common API patterns. The other route options look too specific without clear requirements.
Agree, [ApiController] with [Route("api/[controller]")] fits best here.
DRAG DROP You need to handle the removal of the Description field and the Clone procedure without breaking other extensions. 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. 
I figured you want to avoid breaking extensions by first dealing with dependencies. So, a solid move is to identify which extensions rely on the Description field and Clone procedure before any removal. Next, update those extensions to work without them, making sure they won’t break once the field and procedure are gone. Only after that can you safely remove the Description field and the Clone procedure themselves. Doing it this way keeps things from suddenly breaking because dependent code has already been adjusted beforehand.
I think the key is to start by updating or notifying dependent extensions so they don’t break when you remove the Description field and Clone procedure. So first, you’d identify and update those dependencies. Then you remove or deprecate the field and procedure in your main extension. Finally, confirm that everything works by testing or publishing the updated extensions. That way, nothing breaks mid-process. If you just remove the Description field or Clone procedure first, dependent extensions might fail. So the sequence should focus on dependencies first, removal second, and validation last.
DRAG DROP You are developing an XMLport to export data from the parent Item table and a related child "Item Unit of Measure' table. The XMLport configuration must provide the following: • Link the child table to its parent. • Display a confirmation message after the XMLport runs. You need to generate the XMLport. What should you do? 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. 
I think OnPreDataItem might not be the best for linking child to parent since it runs before data processing, so it’s probably more for setup. OnAfterGetRecord makes more sense because it fires after each record is read, which fits linking children. For the confirmation message, OnClosePage seems logical since it triggers once everything’s done, ensuring the message appears after the whole export. So, OnAfterGetRecord for linking and OnClosePage to confirm feels like the natural fit here.
Link child to parent: OnAfterGetRecord; confirmation message: OnClosePage works well.
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. 
I think B is the no-brainer since you need the HTTPClient to actually make the API call. For the parsing part, D feels right because POS APIs typically return JSON, and you gotta convert that JSON into usable data structures. The other options don’t seem to handle both sending the request and properly processing the JSON response like B and D do. So, it’s about covering both sending and receiving data correctly with those two.
I’d say B and D too. Without HTTPClient, no API call, and since POS APIs usually return JSON, parsing it like in D makes sense. The other options don’t seem to fit the typical API reading flow.
DRAG DROP You are treating an app tor Business Central. You plan to specify the following parameters and properties of the server and app. • Startup object type and object ID • Runtime • Dependencies You need to configure the JSON file for the specified parameters and properties Which JSON files should you configure? To answer, move the appropriate files to the correct object purposes You may use each file 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.

I agree that app.json is the right place for startup object type, ID, and dependencies since those define the app’s metadata and what it needs to load. Runtime settings are about how the server behaves when running or debugging the app, so launch.json fits better there. It’s basically separating app configuration from execution environment setup. This split makes it easier to manage changes in either without mixing concerns.
Startup object type and ID, plus dependencies, belong in app.json since they define the app’s core setup. Runtime settings should go in launch.json because it controls the execution environment during debugging.
What is the cause of the problem?
Maybe D could be the issue here. If the "executionContext" parameter isn’t set to "Debug," the debugger might not activate as expected. The question doesn't explicitly say anything about that, but it makes sense since execution context controls the state the debugger runs in. That seems like a likely reason why the debugger fails to start correctly, especially if the other parameters are mostly correct or their mistakes are less impactful.
A imo. The userId definitely needs to be the GUID, not just a username, otherwise the debugger won’t attach properly. The other options seem off since breakOnNext usually takes a class name or method, and executionContext being "Debug" is less likely to cause a startup failure. So it feels like this is about identification of the user session, which points back to A for me.
DRAG DROP A company is implementing Business Central. In the per-tenant extension, TableA Header and TableA Line are document tables, and TableB Header and TableB Line are document history tables. The company requires that the resulting dataset of query objects contain the following records: • All records from TableA Header even if no matching record value exists in the linked TableA Line • Records from TableB Header where a match is found in the linked TableB Line field You need to configure the linked data item to generate the required dataset. Which SqlJoinType should you use? To answer, move the appropriate SqUoinTypes to the correct dataset requirements. You may use each SqlJoinType once, more than once, or not at all. You may need to move the split bar between panes or scroll to view content. 
Left join for TableA to keep all headers; inner join for TableB to filter.
DRAG DROP You create the following Vendor table and Item table in Business Central.
You require the following data set to assign vendors to items.
You need to create a query to assign the vendors.
Which three code blocks should you use to develop the solution? To answer, move the appropriate code blocks from the list of code blocks 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. 
I’d go with block A first to set up the tables, since you need to define your data sources upfront. Then block C fits next because it handles the join condition between Vendor and Item, linking them on the right fields. Finally, block D makes sense to pick the output columns you want in the result. The others feel out of place or redundant in this flow. This order covers declaration, joining, and selecting cleanly without mixing logic steps.
I agree that starting with block A makes sense to declare the tables. Another way to look at it is to focus on how the join is constructed; block C seems to set up the join properly between Vendor and Item based on matching fields. Lastly, block D looks like it’s where you pick what you want to output, so putting it last fits. Blocks that filter before declaring tables would cause errors or wouldn’t run logically, so skipping those early on is good. This sequence ensures the query builds up from table definition to join to output selection correctly.
You need to create an HTTP GET request that connects to an external REST service.
Which solution should you use?
Makes sense to rule out codeunits if we're in a strict online environment. Using a HttpClient data type variable (E) seems like the cleanest and most supported way for an HTTP GET request in Business Central online. E
E imo, HttpClient is the straightforward way to make HTTP GET calls.
HOTSPOT 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. 
I’m thinking the condition should explicitly check the first character with something like Left(ItemNumber, 1) <> "S" to block non-S items. That feels clearer than relying on Contains or InStr here.
I’d pick the expression that explicitly checks if the first character is not 'S' (uppercase) because inventory codes usually use uppercase letters. Lowercase might not be needed here.
Which variable declaration should you use?
Option B fits if you want restricted access within the assembly only.
Not sure what context this is for, can someone clarify the access levels?
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. 
I’m thinking option D is better since comments typically need multiline support. Single line (B) might cut off a lot of feedback, making D more practical for this scenario.
Option B looks best here since "Text" allows for longer input without the line breaks limit that single line fields have. Multiline Text (D) could work but "Text" fits better in Dataverse.
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 Included Permission Sets property to Permission Set B and the Excluded PermissionSets property to Permission Set A. Does the solution meet the goal?
B, excluding A doesn’t block B’s write access if B already includes it.
This one feels like B again. If Permission Set B already grants more than read access, including it without properly adjusting its rights won’t restrict the user to read-only. Excluding A won't cut off write access if B still allows it, so it doesn’t meet the goal.