Microsoft

MB-500 Free Practice Questions — Page 2

Question 11

Case study - This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided. To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study. At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section. To start the case study - To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. When you are ready to answer a question, click the Question button to return to the question. Background - ADatum Corporation is a market leader in the design and distribution of innovative aluminum systems. The company provides services to the architectural, residential, industrial, and home improvement markets in Australia. The company has warehouses in Perth. Sydney, and Melbourne. A team of warehouse employees provides delivery to the customer sites. Current Environment - ADatum Corporation currently uses Microsoft Dynamics AX 2009. Customers use email or phone calls to place orders. After the company provides a quote to customers, the customer must agree to the sale price before the company places a sales order. The company is migrating to Dynamics 365 Finance and Dynamics 365 Supply Chain Management using a phased rollout strategy to its sites. The company has the Lifecycle services project to manage various environments and releases. The company has the following Finance and Supply Chain Management environments: • Development • Quality assurance (QA) • User acceptance testing (UAT) • Production The company uses Azure DevOps for a code repository. All developers use a development branch to check in code and a release branch to maintain the code for production releases. Requirements. General - • Configure a cloud-based development environment for Finance and Supply Chain Management. Enable a code extension that supports updates. • Configure Microsoft-supported version control and an Azure-hosted build pipeline. • Migrate all document handling attachments for the customers to Finance and Supply Chain Management from Dynamics AX 2009. • Audit X++ code for a best practice check. • All new code must be unit tested in a development environment and then validated by the QA team before the code is merged into the Release branch for further releases. Requirements. Business processes • All changes that are deployed to the UAT environment must be approved for code release to production. • The sales manager requires a solution that is extensible to ensure that new master tables document handling attachments are migrated to the new system. • A base class named MigrateAttachment must be designed with methods that all child classes must implement. • A method named processAttachment must be created so that extenders are not able to subscribe to pre-events and post-events. • On the All sales orders list page, two new fields must be added for the total sales order amount. One field uses goods and services tax (GST) and the other field does not use GST. • A process named Populate check data must be designed based on the following: o The process must run from the All customers list page and populate a custom table named CustCheckData with 1000 rows. o The table must have two fields named CheckNumber and BankNumber. o The process must return to the current session after the data is processed. • The generated check data must be available for users to access in a tabular form without additional details and preview panes. • The purchase manager requires a new data entity to send out the information for purchase order inquiries that are generated in Finance and Supply Chain Management • The sales manager must be able to access the total quotation for the sites and item types. • The sales manager requires a quotation number to be printed on the sales invoice business document. Customers must be able to access the reference number on the invoice documents. • The purchase manager requires a new approval workflow for approving purchase orders that are more than $10,000. Requirements. Business systems - • After a user named UserA posts a packing slip for a sales order, customers must be informed of the product delivery in real-time. This information is provided using business events. • Purchase order inquiries must be exported from the Finance and Supply Chain Management using data packages. Users must be able to query using OData but should not be able to update or create the data in the system. • A sales manager’s workspace must display the total quotations using key performance indicators. • The purchase order approval workflow must be configured from the procurement and sourcing module. Issues - • UserA reports delays when opening the All sales orders list page. • A customer is unable to access the business events for a packing slip that is posted by UserA. • A user named UserB reports that the system is unresponsive when they run the Populate check data process for a customer. • UserA reports that the print management settings in the accounts receivable module do not display the new layout when testing a new sales invoice report layout in the UAT environment. You need to resolve the issue for UserB. Which framework should you use?

A. SysExtension
B. SysOperationSandBox
C. SysOperation
D. RunBaseBatch
Show Answer
Correct Answer: B
Explanation:
The issue reported by UserB is that the system becomes unresponsive when running the Populate check data process from a list page. This process runs synchronously in the user session and processes 1000 records, which can block the UI. The SysOperationSandbox framework is designed to execute long-running operations in an isolated sandbox session while still returning control to the current session after completion. It is appropriate for operations started from list pages that should not freeze the client and are not full batch jobs. SysOperation alone or RunBaseBatch would either run synchronously or require batch processing, which does not meet the requirement.

Question 12

A company uses Dynamics 365 Supply Chain Management. You are performing a review of the code that returns the total sum of transactions for all customers in customer group 10. You observe that the following query takes a long time to complete. You need to modify the query to optimize performance. Which code segment should you use?

A. Select sum(AmountMst) from custTrans join custId, custGroup from custTable where custTable.AccountNum == custTrans.AccountNum && custTable.custGroup == '10';
B. AmountMST sumTrans = 0; while select AmountMst from custTrans join custTable where custTable.AccountNum == custTrans.AccountNum && custTable.custGroup == '10' { sumTrans = sumTrans + custTrans.AmountMst; }
C. select sum(AmountMst) from custTrans join custTable where custTable.AccountNum == custTrans.AccountNum && custTable.custGroup == '10';
D. select sum(AmountMst) from custTrans exists join custTable where custTable.AccountNum == custTrans.AccountNum && custTable.custGroup == '10';
Show Answer
Correct Answer: D
Explanation:
In Dynamics 365 SCM (X++), the most performant way to aggregate data when you only need to filter based on the existence of related records is to use an exists join. Option D calculates the sum directly in SQL and uses an exists join to filter customers in group '10' without pulling unnecessary fields or creating a heavier join result set. Option B is slow due to row-by-row processing, option A has incorrect X++ syntax, and option C uses a regular join, which is less optimal than an exists join for this scenario.

Question 13

DRAG DROP - A company uses Dynamics 365 finance and operations apps. The company uses Power BI Desktop to fetch a list of customers. You need to create a Power BI report to view the list. You authenticate a Power BI Desktop instance by using a Dynamics 365 finance and operations app. Which four actions should you perform next in sequence? To answer, move the appropriate actions from the list of actions to the answer area and arrange them in the correct order.

Illustration for MB-500 question 13
Show Answer
Correct Answer: Select Get data from Power BI. Select OData feed. Enter the URL of the Customers OData endpoint. Enter the name of the Customers data entity.
Explanation:
In Power BI Desktop, data is retrieved via Get Data. Dynamics 365 finance and operations exposes data through OData, so OData feed is selected next. After providing the Customers OData endpoint URL, the specific Customers data entity is chosen to load and build the report.

Question 14

You add a new field in an extension to the SalesTable table in Dynamics 365 Finance. You must test the field in the SalesTable form to ensure that you can enter data from the UI. When you open the form in the browser, you receive a SQL error. You need to resolve the issue. What should you do?

A. Restart the SQL Server service.
B. Build the solution.
C. Restart IIS.
D. Synchronize the database.
Show Answer
Correct Answer: D
Explanation:
Adding a new field to a table extension updates the application metadata, but the physical SQL table is not updated until database synchronization is performed. A SQL error when opening the form indicates the column does not yet exist in the database. Synchronizing the database creates the new field in SQL, resolving the error. Restarting services or just building the solution does not update the database schema.

Question 15

A company implements Dynamics 365 Finance and Dynamics 365 Supply Chain Management. The company plans to perform a sales history analysis on existing customers, including their sales history and purchases. You are creating an extension to create a sales history table that will run after the close of each period. The historical information must include customer information, date of purchase, and items that are purchased including product descriptions. You need to ensure that the process for retrieving historical information minimizes database calls. Which method should you use?

A. RecordInsertList
B. RecordSortedList
C. Insert_recordset
D. doInsert
Show Answer
Correct Answer: A
Explanation:
RecordInsertList is designed for bulk inserts and minimizes database calls by buffering multiple records and inserting them in a single operation. This is ideal for periodic batch processes such as building a sales history table, where large volumes of historical data must be written efficiently. The other options either focus on sorting, single-row inserts, or set-based inserts without the same buffering flexibility needed when assembling data from multiple sources.

Question 16

A company uses Dynamics 365 Finance. The company deploys a custom table named LoyaltyCustomerTable. The table has a 1:1 relationship with a table named CustTable. Both tables contain a unique field named AccountNum and share the same data. Using event handlers, all edits to CustTable are reflected within LoyaltyCustomerTable. The LoyaltyCustomerTable data is maintained by using the LoyaltyCustomerTable form. This form selects all data from both LoyaltyCustomerTable and CustTable and displays the records sorted by LoyaltyCustomerTable.AccountNum. LoyaltyCustomerTable was mistakenly created with no indexes. A significant delay occurs when users open the LoyaltyCustomerTable form. You need to improve performance by creating an index. Which method should you use?

A. Create a foreign key relation on LoyaltyCustomerTable with Related Table set to CustTable and Index set to RecId.
B. Create foreign key relation on CustTable with Related Table set to LoyaltyCustomerTable and Index set to RecId.
C. Create an index on CustTable for AccountNum.
D. Create a foreign key relation on LoyaltyCustomerTable with Related Table set to CustTable and Index set to AccountIdx.
Show Answer
Correct Answer: D
Explanation:
The performance issue occurs when opening the LoyaltyCustomerTable form, which selects and sorts records by LoyaltyCustomerTable.AccountNum and joins to CustTable. Because LoyaltyCustomerTable has no indexes, the database must scan the table to join and sort. The correct fix is to create an index that supports the join and sort key. Creating a foreign key relation on LoyaltyCustomerTable to CustTable using the AccountNum-based index (AccountIdx) ensures an index exists on the LoyaltyCustomerTable side for AccountNum, which directly improves join and ordering performance. Using RecId does not help because the join and sort are not based on RecId, and indexing CustTable alone does not address the missing index on LoyaltyCustomerTable.

Question 17

Contoso, Ltd. uses Dynamics 365 Finance. You receive reports of performance issues with the app. You need to use Performance Timer to investigate the issues. Which URL should you use?

A. https://contoso.cloudax.dynamics.com/?cmp=USMF&=perftimer
B. https://contoso.cloudax.dynamics.com/?cmp=USMF&debug=develop
C. https://contoso.cloudax.dynamics.com/?cmp=USMF&debug=perftimer
D. https://contoso.cloudax.dynamics.com/?cmp=USMF&develop=debug
Show Answer
Correct Answer: C
Explanation:
In Dynamics 365 Finance, the Performance Timer is enabled by adding the query parameter **debug=perftimer** to the environment URL. Other parameters such as debug=develop or develop=debug are used for development/debug scenarios, not for performance timing.

Question 18

A company uses Dynamics 365 Finance. You must create a process that updates the following: • A single record for customer number A0001 in the customer table. • The value of its customer group to 10. You need to implement the process. Which code segment should you use?

A.
B.
C.
D.
Show Answer
Correct Answer: D
Explanation:
To update a single existing customer record in Dynamics 365 Finance, the code must select the record with a WHERE clause, lock it for update using the forUpdate keyword, and wrap the update in a transaction using ttsbegin and ttscommit. Options A, B, and C each miss one of these required elements. Option D includes all of them, so it correctly updates customer A0001 and sets its customer group to 10.

Question 19

You are a Dynamics 365 Finance developer. You create an integer variable named inventQantity. You need to display the value from inventQantity in an info statement. Which code segment can you use?

A. info(int2str(inventQantity));
B. info(inventQantity);
C. info(strLen(int2str(inventQantity));
Show Answer
Correct Answer: A
Explanation:
In X++ the info() method expects a string argument. An integer must be converted to a string before being passed. int2str(inventQantity) converts the integer value to a string, which can then be displayed correctly. Passing the integer directly is invalid, and using strLen would display the length of the string instead of the value.

Question 20

HOTSPOT - You are implementing record-level security by using Extensible Data Security (XDS) in Dynamics 365 Finance. Users must be permitted to view sales orders only from customers they manage. You need to configure the CustGroup form. Which options should you use? To answer select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.

Illustration for MB-500 question 20
Show Answer
Correct Answer: Simple query Context string Constraint table RoleName
Explanation:
A simple query is sufficient to restrict CustGroup to a fixed value. The context string determines whether the XDS policy is applied at runtime. The constraint table defines the table that enforces filtering for the secured data. RoleName scopes the policy to a specific user role.

$19

Get all 280 questions with detailed answers and explanations

  • Instant download HTML + PDF delivered the moment payment clears.
  • Secure Stripe checkout we never see or store your card details.
  • 7-day refund if files are defective see our refund policy.