MB-500 Sample Questions & Answers
Extending AOT elements, writing and testing X++ code, and data integration each tie for the top weight, alongside planning architecture and ALM, developer tools like Visual Studio and Azure DevOps, reporting, and security and performance tuning.
Launch the full MB-500 simulator →Showing 10 of 20 free samples.
- Question 1Intermediate
Develop and test code · Perform testing
A developer is tasked with creating a unit test for a new pricing calculation class using the SysTest framework. The calculation logic depends on specific customer group and item group configurations. To ensure the test is reliable and independent of existing data, the developer needs to create test-specific records. Which approach is the most appropriate for managing this test data within the SysTest framework?
Show answer & explanation
Correct answer: C
The best practice for unit testing is to make tests self-contained and independent. Programmatically creating the required data within the test method (or a helper method called by it) ensures that the test does not rely on external state. Wrapping the data creation and the test execution in a
ttsbegin/ttsabortblock ensures that the created data is rolled back after the test runs, leaving the database clean for subsequent tests. - Question 2Intermediate
Develop and test code · Implement the SysOperation framework
A developer is extending the
SalesTableform to add a new button that triggers a complex validation process. This process should run asynchronously to avoid locking the user interface. The developer decides to use theSysOperationframework. What is the correct way to invoke theSysOperationservice asynchronously from the button'sclickedmethod?Show answer & explanation
Correct answer: C
The
SysOperationframework is designed for both synchronous and asynchronous execution. To run a process in the background (asynchronously), you must configure the controller. This involves getting an instance of the controller, setting its execution mode property toAsynchronous, and then initiating the process using thestartOperation()method, which schedules it with the batch framework. - Question 3Intermediate
Develop and test code · Implement Chain of Command (CoC)
A developer needs to add a new validation to the
insert()method of theCustTable. The validation logic is complex and must execute after the standardsuper()call but before the transaction is committed. Multiple other ISV solutions and extensions also target theCustTable.insert()method. To ensure maximum compatibility and adherence to best practices, which implementation should be used?Show answer & explanation
Correct answer: B
Chain of Command is the preferred and most robust mechanism for extending method logic. It allows the developer to wrap the original method, execute code before and after the
next()call (which invokes the next implementation in the chain), access the table buffer viathis, and participate in the same transaction. This is superior to event handlers in this case because it provides transactional integrity and a clear execution sequence, which is critical for insert/update validations. - Question 4Advanced
Implement security and optimize performance · Implement Extensible Data Security (XDS) policies
A retail company has a requirement to prevent specific combinations of items from being sold to certain customer groups for regulatory reasons. This logic needs to be enforced system-wide, including during sales order entry, invoice posting, and through OData integrations. An architect has decided to implement an Extensible Data Security (XDS) policy. Which component is NOT a required part of a functioning XDS policy implementation?
Show answer & explanation
Correct answer: C
An XDS policy consists of a query defining the filtering logic and a security policy to apply it. The policy is then associated with security roles via the
ContextStringproperty or applied system-wide. It is not tied to specific menu items or forms; its purpose is to enforce security at the data layer, making it effective across all access points. Therefore, a menu item extension is not a required component of an XDS policy. - Question 5Intermediate
Implement security and optimize performance · Create or modify temporary tables for optimization purposes
A developer is creating an SSRS report that displays vendor transaction history. The report's data provider (RDP) class processes a large volume of data. To improve performance, the developer decides to use a temporary table as the data source for the report. Which
TableTypeshould be set on the temporary table to ensure the best performance for a single-user, interactive report generation scenario?Show answer & explanation
Correct answer: C
InMemorytables are held in the memory of the Application Object Server (AOS) tier. They provide the fastest possible data access because they avoid round trips to the database server (SQL Server). For a single-user report where the data volume is manageable within AOS memory,InMemorytables offer the best performance.TempDBtables are physical tables created in the SQL ServerTempDBdatabase and are better suited for very large datasets or when data needs to be shared across tiers. - Question 6Advanced
Implement security and optimize performance · Assess when to use set-based queries and row-based queries
A developer is investigating a performance issue on the sales order entry form. Users report that the form becomes unresponsive for several seconds when they select a delivery address. The developer captures a trace using Trace Parser and identifies a specific X++ method that is executing a complex, row-by-row query inside a
while selectloop to calculate freight charges. What is the most effective way to refactor this code for better performance?Show answer & explanation
Correct answer: C
Processing records in a row-by-row
while selectloop is inherently inefficient due to the multiple round trips between the AOS and the database. The most significant performance gain will come from refactoring the logic into a single, set-based operation. This pushes the entire calculation to the database server, which can process the data set much more efficiently than the AOS can in a loop. This is a fundamental optimization principle in F&O development. - Question 7AdvancedSelect 3
Integrate and manage data solutions · Integrate Microsoft Dataverse with finance and operations apps by using dual-write
An organization is configuring dual-write to synchronize customer data between Finance and Operations apps and Dataverse. After setting up the entity maps for
Customers V3 (msdyn_accounts), they discover that updates to the customer's credit limit in F&O are not propagating to the corresponding account in Dataverse. Live synchronization is active and other field updates are working correctly. Which three of the following could be the cause of this specific issue? (Select THREE)Show answer & explanation
Correct answers: A, C, D
For a specific field to fail synchronization while others work, the issue is almost always in the map configuration. The most common causes are: 1) The field is simply missing from the map. 2) The synchronization direction is configured incorrectly (e.g., one-way from Dataverse to F&O, preventing the F&O update from syncing). 3) There is an underlying data type incompatibility (e.g., currency in F&O vs. decimal in Dataverse) that causes the sync for that specific field to fail silently or be rejected.
- Question 8Advanced
Plan the architecture and solution design · Plan for the major components of finance and operations apps
Case Study:
A global logistics company, Contoso Shipping, is upgrading its legacy transportation system to Dynamics 365 Finance and Operations. A key requirement is to integrate with a third-party freight rating service. This service provides real-time shipping cost estimates via a REST API. The API must be called from the Sales Order form whenever a user adds or modifies a line, and also during a nightly batch process that rates thousands of scheduled shipments.
Current Situation:
A junior developer implemented a direct HTTP client call to the API within themodified()method of the sales line data source field. During initial testing, users reported significant UI freezes on the Sales Order form. The nightly batch process is also running much slower than anticipated and is prone to failures due to API throttling from the freight service.Requirements:
- The UI must remain responsive during freight rating calls.
- The solution must handle API throttling and transient network errors gracefully.
- The same rating logic must be reusable by both the UI and the batch process.
- The solution must be implemented following Microsoft's best practices for extensibility and performance.
Question:
Which design provides the best solution to meet all of Contoso Shipping's requirements?Show answer & explanation
Correct answer: D
This solution addresses all requirements. 1) Encapsulating the logic in a class makes it reusable. 2) Implementing a retry pattern handles throttling and transient errors. 3) Using the
SysOperationframework allows the same service to be called asynchronously from the UI (preventing freezes) and as part of a batch process. 4) Configuring the batch process to be multi-threaded helps manage the large volume of shipments and can mitigate throttling issues by distributing calls over time. This represents a robust, reusable, and performant design. - Question 9Beginner
Design and develop AOT elements · Create and extend the data model
A developer is tasked with adding a new field to the
SalesLinetable and its corresponding form. The field must be populated with a default value based on the selected customer. This logic should only execute when a new sales line is created. What is the most appropriate AOT element and method to place this logic?Show answer & explanation
Correct answer: A
The
initValuemethod on a table is specifically designed to set default values when a new record is created. Placing the logic here ensures it runs regardless of how the record is created (UI, code, import). It's the most reliable and correct place for record initialization logic. - Question 10Intermediate
Implement reporting · Design, create, and revise Dynamics 365 reports
A financial services company needs to generate a complex regulatory report in a specific XML format. The report structure changes quarterly based on new regulations. The data is sourced from multiple tables, including
LedgerJournalTrans,CustTrans, andVendTrans. The business analysts must be able to modify the report layout and data mappings without developer intervention. Which tool is the best fit for this requirement?Show answer & explanation
Correct answer: D
Electronic Reporting (ER) is specifically designed for this use case. It allows for the configuration of data models, mappings to F&O data sources, and format definitions (like XML, text, or Excel) through a user-friendly interface. Crucially, these configurations can be modified and versioned by power users or business analysts without requiring any code changes or deployments, perfectly matching the requirement for business-led maintenance.
Ready for the real thing?
The full MB-500 simulator has every exam-style question, timed mode, and instant scoring.