Microsoft PL-400 Practice Test 40
Question 390
A developer assumes context.webAPI exists in every PCF host and ignores the documented host support matrix. Which TWO complementary steps provide the intended implementation AND the evidence needed to validate it? Select TWO.
- Inspect manifest features, host capabilities, API permissions, dataset type and PCF solution lifecycle.
- Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded.
- Inspect control manifest property of-type, usage, component namespace, platform libraries and compiled resource paths.
- The code app loads necessary resources under restrictive policy and blocks unauthorized third-party script execution.
- Use PCF context.webAPI, device and utility features only where supported by the intended host; fall back gracefully when unavailable.
Explanation
Correct Answers
A:Inspect manifest features, host capabilities, API permissions, dataset type and PCF solution lifecycle. These observations separate this failure from adjacent capabilities or permissions. Device features and Web API capabilities can differ across hosts and platforms; test the actual target. The relevant implementation is: Use PCF context.webAPI, device and utility features only where supported by the intended host; fall back gracefully when unavailable. This is the diagnostic/verification half of the required two-step answer.
E:Use PCF context.webAPI, device and utility features only where supported by the intended host; fall back gracefully when unavailable. This choice implements the controlling platform requirement rather than masking the symptom. Device features and Web API capabilities can differ across hosts and platforms; test the actual target. Verify the change using: Inspect manifest features, host capabilities, API permissions, dataset type and PCF solution lifecycle. This is the implementation half of the required two-step answer.
Incorrect Answers
B:Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded. This step belongs to PCF dataset paging and selection behavior rather than the complementary pair here. The required action is: Use PCF context.webAPI, device and utility features only where supported by the intended host; fall back gracefully when unavailable. And its evidence is: Inspect manifest features, host capabilities, API permissions, dataset type and PCF solution lifecycle.
C:Inspect control manifest property of-type, usage, component namespace, platform libraries and compiled resource paths. This step belongs to PCF ControlManifest inputs and resources rather than the complementary pair here. The required action is: Use PCF context.webAPI, device and utility features only where supported by the intended host; fall back gracefully when unavailable. And its evidence is: Inspect manifest features, host capabilities, API permissions, dataset type and PCF solution lifecycle.
D:The code app loads necessary resources under restrictive policy and blocks unauthorized third-party script execution. This step belongs to Code app Content Security Policy configuration rather than the complementary pair here. The required action is: Use PCF context.webAPI, device and utility features only where supported by the intended host; fall back gracefully when unavailable. And its evidence is: Inspect manifest features, host capabilities, API permissions, dataset type and PCF solution lifecycle.
Question 391
A Power Fx button always appears disabled because it evaluates the wrong selected item context on a grid. Which observable test result BEST confirms that the intended Power Platform component behaves correctly?
- Records are created or updated only in intended tables and table choices resolve to supported metadata values.
- A confirmation can be cancelled safely without accidental update, and accessible feedback appears on the intended form.
- Only entitled users see and can execute the command, while the operation is still protected by server authorization.
- The UX reports a specific failed flow run and permits safe retry rather than claiming the business operation succeeded.
Explanation
Correct Answer
C:Only entitled users see and can execute the command, while the operation is still protected by server authorization. This is an observable application, data or security outcome, not merely a successful build message. A hidden command is a UX convenience, not a security control for direct API access.
Incorrect Answers
A:Records are created or updated only in intended tables and table choices resolve to supported metadata values. This result validates Code app Dataverse metadata and table operations instead of the component in question. Here the specific acceptance check is: Only entitled users see and can execute the command, while the operation is still protected by server authorization.
B:A confirmation can be cancelled safely without accidental update, and accessible feedback appears on the intended form. This result validates Client notifications dialogs and navigation instead of the component in question. Here the specific acceptance check is: Only entitled users see and can execute the command, while the operation is still protected by server authorization.
D:The UX reports a specific failed flow run and permits safe retry rather than claiming the business operation succeeded. This result validates Code app use of Power Automate cloud flow instead of the component in question. Here the specific acceptance check is: Only entitled users see and can execute the command, while the operation is still protected by server authorization.
Question 392
The Function logs success before writing the downstream record, preventing recovery of a partly completed operation. Which observable test result BEST confirms that the intended Power Platform component behaves correctly?
- Only relevant table changes start the flow and a self-update does not cause unbounded reentry.
- A replay processes a business event once and failed deliveries remain diagnosable without deleting already committed changes.
- The unattended flow continues after an employee leaves and fails safely on permission or data errors.
- The UI acknowledges queued work separately from completion and users can recover a failed job without duplicate side effects.
Explanation
Correct Answer
B:A replay processes a business event once and failed deliveries remain diagnosable without deleting already committed changes. This is an observable application, data or security outcome, not merely a successful build message. At-least-once messages and function retries require idempotency at the actual business operation.
Incorrect Answers
A:Only relevant table changes start the flow and a self-update does not cause unbounded reentry. This result validates Power Automate Dataverse trigger filter columns and OData instead of the component in question. Here the specific acceptance check is: A replay processes a business event once and failed deliveries remain diagnosable without deleting already committed changes.
C:The unattended flow continues after an employee leaves and fails safely on permission or data errors. This result validates Dataverse connector service principal and retry policies instead of the component in question. Here the specific acceptance check is: A replay processes a business event once and failed deliveries remain diagnosable without deleting already committed changes.
D:The UI acknowledges queued work separately from completion and users can recover a failed job without duplicate side effects. This result validates Asynchronous background operations and safe batching instead of the component in question. Here the specific acceptance check is: A replay processes a business event once and failed deliveries remain diagnosable without deleting already committed changes.
Question 393
A form script fails on quick create because it calls Xrm.Page for a field that exists only on the target form. Which observable test result BEST confirms that the intended Power Platform component behaves correctly?
- The same handler safely reads its form fields without depending on browser-global state or a particular record form.
- The form shows the right related data without freezing the UI, losing pages or returning unauthorized records.
- Only entitled users see and can execute the command, while the operation is still protected by server authorization.
- Records are created or updated only in intended tables and table choices resolve to supported metadata values.
Explanation
Correct Answer
A:The same handler safely reads its form fields without depending on browser-global state or a particular record form. This is an observable application, data or security outcome, not merely a successful build message. The Client API formContext comes from the event context; standalone Web API calls do not expose a form object.
Incorrect Answers
B:The form shows the right related data without freezing the UI, losing pages or returning unauthorized records. This result validates Dataverse Xrm.WebApi asynchronous lookups instead of the component in question. Here the specific acceptance check is: The same handler safely reads its form fields without depending on browser-global state or a particular record form.
C:Only entitled users see and can execute the command, while the operation is still protected by server authorization. This result validates Command bar Power Fx and JavaScript rules instead of the component in question. Here the specific acceptance check is: The same handler safely reads its form fields without depending on browser-global state or a particular record form.
D:Records are created or updated only in intended tables and table choices resolve to supported metadata values. This result validates Code app Dataverse metadata and table operations instead of the component in question. Here the specific acceptance check is: The same handler safely reads its form fields without depending on browser-global state or a particular record form.
Question 394
A plug-in assembly is promoted alone before the custom message and table metadata it depends on exist. Which TWO complementary steps provide the intended implementation AND the evidence needed to validate it? Select TWO.
- Keep related Dataverse tables, flows, connection references and plug-in registrations in a versioned solution and resolve dependencies before import.
- Inspect data location, required transaction participation, authentication type, operation contract, caller scope and rate limits.
- Operations staff can trace a failing user request across components without exposing customer personal data.
- Inspect solution checker, missing components, dependent components, publisher ownership and deployment order.
- Use Microsoft Foundry for custom coded model orchestration requiring extensible agent engineering and integrate through supported Power Platform endpoints when needed.
Explanation
Correct Answers
A:Keep related Dataverse tables, flows, connection references and plug-in registrations in a versioned solution and resolve dependencies before import. This choice implements the controlling platform requirement rather than masking the symptom. A flow in a solution still requires its connector references and dependent tables to be present in the target. Verify the change using: Inspect solution checker, missing components, dependent components, publisher ownership and deployment order. This is the implementation half of the required two-step answer.
D:Inspect solution checker, missing components, dependent components, publisher ownership and deployment order. These observations separate this failure from adjacent capabilities or permissions. A flow in a solution still requires its connector references and dependent tables to be present in the target. The relevant implementation is: Keep related Dataverse tables, flows, connection references and plug-in registrations in a versioned solution and resolve dependencies before import. This is the diagnostic/verification half of the required two-step answer.
Incorrect Answers
B:Inspect data location, required transaction participation, authentication type, operation contract, caller scope and rate limits. This step belongs to Custom connector boundary versus plug-in endpoint rather than the complementary pair here. The required action is: Keep related Dataverse tables, flows, connection references and plug-in registrations in a versioned solution and resolve dependencies before import. And its evidence is: Inspect solution checker, missing components, dependent components, publisher ownership and deployment order.
C:Operations staff can trace a failing user request across components without exposing customer personal data. This step belongs to Cross-service monitoring and alert design rather than the complementary pair here. The required action is: Keep related Dataverse tables, flows, connection references and plug-in registrations in a versioned solution and resolve dependencies before import. And its evidence is: Inspect solution checker, missing components, dependent components, publisher ownership and deployment order.
E:Use Microsoft Foundry for custom coded model orchestration requiring extensible agent engineering and integrate through supported Power Platform endpoints when needed. This step belongs to Microsoft Foundry versus Power Platform agent boundary rather than the complementary pair here. The required action is: Keep related Dataverse tables, flows, connection references and plug-in registrations in a versioned solution and resolve dependencies before import. And its evidence is: Inspect solution checker, missing components, dependent components, publisher ownership and deployment order.
Question 395
A control renders only its first page and users assume that every customer order has been displayed. Which TWO complementary steps provide the intended implementation AND the evidence needed to validate it? Select TWO.
- The failing component is identified with reproducible evidence and a targeted fix, not a broad permissions escalation.
- Inspect dataset loading flags, records page, sorting state, paging.hasNextPage and selected record IDs.
- Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded.
- Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope.
- Declare bound/input properties and resource files correctly in ControlManifest.Input.xml and align TypeScript output shapes with metadata.
Explanation
Correct Answers
B:Inspect dataset loading flags, records page, sorting state, paging.hasNextPage and selected record IDs. These observations separate this failure from adjacent capabilities or permissions. Data-set PCF hosts may supply paged data; a single loaded page is not a complete table. The relevant implementation is: Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded. This is the diagnostic/verification half of the required two-step answer.
C:Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded. This choice implements the controlling platform requirement rather than masking the symptom. Data-set PCF hosts may supply paged data; a single loaded page is not a complete table. Verify the change using: Inspect dataset loading flags, records page, sorting state, paging.hasNextPage and selected record IDs. This is the implementation half of the required two-step answer.
Incorrect Answers
A:The failing component is identified with reproducible evidence and a targeted fix, not a broad permissions escalation. This step belongs to Code app Monitor and browser troubleshooting rather than the complementary pair here. The required action is: Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded. And its evidence is: Inspect dataset loading flags, records page, sorting state, paging.hasNextPage and selected record IDs.
D:Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope. This step belongs to Model-driven formContext from execution context rather than the complementary pair here. The required action is: Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded. And its evidence is: Inspect dataset loading flags, records page, sorting state, paging.hasNextPage and selected record IDs.
E:Declare bound/input properties and resource files correctly in ControlManifest.Input.xml and align TypeScript output shapes with metadata. This step belongs to PCF ControlManifest inputs and resources rather than the complementary pair here. The required action is: Build dataset PCF components that use provided paging, sorting and selection APIs rather than assuming all rows are loaded. And its evidence is: Inspect dataset loading flags, records page, sorting state, paging.hasNextPage and selected record IDs.
Question 396
An API changes a required amount field from number to string and existing connector actions fail schema validation. Which TWO complementary steps provide the intended implementation AND the evidence needed to validate it? Select TWO.
- A failed run resumes from a safe checkpoint without overwriting newer edits or resurrecting deleted rows.
- Create a custom connector to a governed Azure Function API with documented OpenAPI schema, bounded response transforms and monitored errors.
- Inspect message pipeline stage, endpoint configuration, event payload, caller identity, service bus connectivity and logs.
- Inspect Swagger/OpenAPI version, base URL, parameter types, request/response schema and missing operation IDs.
- Define a supported OpenAPI contract with stable operationIds, schemas, types and authentication before importing a custom connector.
Explanation
Correct Answers
D:Inspect Swagger/OpenAPI version, base URL, parameter types, request/response schema and missing operation IDs. These observations separate this failure from adjacent capabilities or permissions. A REST endpoint existing does not mean its OpenAPI contract describes the required payload or result. The relevant implementation is: Define a supported OpenAPI contract with stable operationIds, schemas, types and authentication before importing a custom connector. This is the diagnostic/verification half of the required two-step answer.
E:Define a supported OpenAPI contract with stable operationIds, schemas, types and authentication before importing a custom connector. This choice implements the controlling platform requirement rather than masking the symptom. A REST endpoint existing does not mean its OpenAPI contract describes the required payload or result. Verify the change using: Inspect Swagger/OpenAPI version, base URL, parameter types, request/response schema and missing operation IDs. This is the implementation half of the required two-step answer.
Incorrect Answers
A:A failed run resumes from a safe checkpoint without overwriting newer edits or resurrecting deleted rows. This step belongs to Incremental sync conflict and deletion recovery rather than the complementary pair here. The required action is: Define a supported OpenAPI contract with stable operationIds, schemas, types and authentication before importing a custom connector. And its evidence is: Inspect Swagger/OpenAPI version, base URL, parameter types, request/response schema and missing operation IDs.
B:Create a custom connector to a governed Azure Function API with documented OpenAPI schema, bounded response transforms and monitored errors. This step belongs to Azure Function-backed connector transformation rather than the complementary pair here. The required action is: Define a supported OpenAPI contract with stable operationIds, schemas, types and authentication before importing a custom connector. And its evidence is: Inspect Swagger/OpenAPI version, base URL, parameter types, request/response schema and missing operation IDs.
C:Inspect message pipeline stage, endpoint configuration, event payload, caller identity, service bus connectivity and logs. This step belongs to Dataverse IServiceEndpointNotificationService event publish rather than the complementary pair here. The required action is: Define a supported OpenAPI contract with stable operationIds, schemas, types and authentication before importing a custom connector. And its evidence is: Inspect Swagger/OpenAPI version, base URL, parameter types, request/response schema and missing operation IDs.
Question 397
A plug-in creates an Entity with the display name instead of a logical table name and receives a fault. Which evidence should the developer inspect FIRST to distinguish the root cause or verify the prerequisite?
- Inspect asynchronous request state, queue work item ID, job timeout, concurrency limits and idempotent completion marker.
- Inspect service proxy context, column sets, record IDs, OrganizationRequest type and fault codes.
- Inspect parent action, child trigger type, solution membership, connection references and caller permissions.
- Inspect connection reference, authentication type, app-user table rights, retry count and 429 handling.
Explanation
Correct Answer
B:Inspect service proxy context, column sets, record IDs, OrganizationRequest type and fault codes. These observations separate this failure from adjacent capabilities or permissions. The Organization service runs against Dataverse business rules and caller permissions; object assignments are not yet persisted updates. The relevant implementation is: Use IOrganizationService Retrieve/Update/ExecuteRequest operations from a supported server-side context and handle typed Entity logical names.
Incorrect Answers
A:Inspect asynchronous request state, queue work item ID, job timeout, concurrency limits and idempotent completion marker. These checks are relevant to Asynchronous background operations and safe batching, but are not the most discriminating first evidence for this case. Inspect instead: Inspect service proxy context, column sets, record IDs, OrganizationRequest type and fault codes.
C:Inspect parent action, child trigger type, solution membership, connection references and caller permissions. These checks are relevant to Child flows and solution connection references, but are not the most discriminating first evidence for this case. Inspect instead: Inspect service proxy context, column sets, record IDs, OrganizationRequest type and fault codes.
D:Inspect connection reference, authentication type, app-user table rights, retry count and 429 handling. These checks are relevant to Dataverse connector service principal and retry policies, but are not the most discriminating first evidence for this case. Inspect instead: Inspect service proxy context, column sets, record IDs, OrganizationRequest type and fault codes.
Question 398
An irreversible approval is executed before the user's confirmation dialog Promise resolves. Which Power Platform extension or architecture change BEST addresses the core requirement?
- Keep declarative form logic in business rules when possible and use a client script only when complex supported custom behavior is required.
- Use asynchronous Xrm.WebApi.retrieveMultipleRecords with encoded OData queries, selected columns, paging and proper error handling.
- Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly.
- Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling.
Explanation
Correct Answer
C:Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly. This choice implements the controlling platform requirement rather than masking the symptom. Client API navigation/dialog methods provide supported host behavior that ad hoc browser redirects may bypass. Verify the change using: Inspect modal return values, navigation options, form notification IDs, record identifiers and asynchronous cancel behavior.
Incorrect Answers
A:Keep declarative form logic in business rules when possible and use a client script only when complex supported custom behavior is required. That action addresses Form business rule versus custom client JavaScript instead. Client-only rules cannot guarantee integrity for SDK/API writes; a complex callback may also increase form latency. For this case, the targeted action is: Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly.
B:Use asynchronous Xrm.WebApi.retrieveMultipleRecords with encoded OData queries, selected columns, paging and proper error handling. That action addresses Dataverse Xrm.WebApi asynchronous lookups instead. Client API Web API operations are asynchronous and respect Dataverse security; querying every field is inefficient. For this case, the targeted action is: Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly.
D:Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling. That action addresses Code app use of Power Automate cloud flow instead. Calling a flow asynchronously does not guarantee its downstream actions committed before a UI success toast. For this case, the targeted action is: Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly.
Question 399
A form resubmission starts two expensive flows because the action button does not guard repeat clicks. Which Power Platform extension or architecture change BEST addresses the core requirement?
- Use supported code-app Dataverse data APIs to perform CRUD and read table metadata with correct logical names, permissions and paging.
- Implement PCF init, updateView, getOutputs and destroy lifecycle correctly and call notifyOutputChanged only for meaningful output changes.
- Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling.
- Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly.
Explanation
Correct Answer
C:Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling. This choice implements the controlling platform requirement rather than masking the symptom. Calling a flow asynchronously does not guarantee its downstream actions committed before a UI success toast. Verify the change using: Inspect flow identifier, connection reference, child input parameters, caller authorization and flow run log.
Incorrect Answers
A:Use supported code-app Dataverse data APIs to perform CRUD and read table metadata with correct logical names, permissions and paging. That action addresses Code app Dataverse metadata and table operations instead. Display labels can differ from Dataverse logical names and a successful connection does not imply every table privilege. For this case, the targeted action is: Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling.
B:Implement PCF init, updateView, getOutputs and destroy lifecycle correctly and call notifyOutputChanged only for meaningful output changes. That action addresses PCF lifecycle methods and output notification instead. An infinite update loop can occur when updateView unconditionally calls notifyOutputChanged. For this case, the targeted action is: Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling.
D:Use supported Xrm.Navigation dialogs, notifications and openForm or navigateTo APIs rather than manipulating window location directly. That action addresses Client notifications dialogs and navigation instead. Client API navigation/dialog methods provide supported host behavior that ad hoc browser redirects may bypass. For this case, the targeted action is: Invoke a solution-managed cloud flow from a code app with well-defined input/output schemas and bounded timeout/error handling.
Question 400
A shared OnLoad handler receives undefined when moved to a second form because the execution context was not passed. Which evidence should the developer inspect FIRST to distinguish the root cause or verify the prerequisite?
- Inspect connector table binding, logical name, lookup ID, supported action, filter and returned service error codes.
- Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope.
- Inspect command designer placement, selection context, Power Fx formula, app publication and calling user's security role.
- Inspect build output, managed solution version, component registration, table field compatibility and app publication.
Explanation
Correct Answer
B:Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope. These observations separate this failure from adjacent capabilities or permissions. The Client API formContext comes from the event context; standalone Web API calls do not expose a form object. The relevant implementation is: Pass the execution context to registered form handlers and obtain formContext instead of relying on deprecated global Xrm.Page.
Incorrect Answers
A:Inspect connector table binding, logical name, lookup ID, supported action, filter and returned service error codes. These checks are relevant to Code app Dataverse metadata and table operations, but are not the most discriminating first evidence for this case. Inspect instead: Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope.
C:Inspect command designer placement, selection context, Power Fx formula, app publication and calling user's security role. These checks are relevant to Command bar Power Fx and JavaScript rules, but are not the most discriminating first evidence for this case. Inspect instead: Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope.
D:Inspect build output, managed solution version, component registration, table field compatibility and app publication. These checks are relevant to Packaging and deploying PCF in solution, but are not the most discriminating first evidence for this case. Inspect instead: Inspect event handler properties, passExecutionContext setting, formContext acquisition, loaded form attributes and handler scope.