Last Updated On : 29-Jun-2026
Salesforce Accredited B2B Commerce Developer - AP-202 Practice Test
Prepare with our free Salesforce Accredited B2B Commerce Developer - AP-202 sample questions and pass with confidence. Our B2B-Commerce-Developer practice test is designed to help you succeed on exam day.
Salesforce 2026
A dev at Northern Trail Outfitters (NTO) exported Order Summary records via Data Loader, but noticed that some orders were missing. What is the most likely cause?
A. The export job did not fully complete
B. Order Life Cycle Type was Managed
C. The user does not have rights to some of the records
D. The Status was still set to Draft
Explanation:
In Salesforce B2B Commerce, Order Summary records represent completed orders from the storefront, linked to underlying Order records for fulfillment. Exporting these via Data Loader relies on SOQL queries that respect user permissions and record visibility. Missing records during export often stem from access restrictions in multi-account B2B setups, where sharing rules limit what the exporting user can query, ensuring data security while allowing bulk operations for analysis or migration.
Correct Options:
C. The user does not have rights to some of the records ✅:
In B2B Commerce, Order Summary records are shared based on account-specific rules, often controlled by criteria or role hierarchies to protect sensitive buyer data. If the developer lacks "Read" access to certain records—due to ownership by other accounts or insufficient profile permissions—Data Loader's SOQL query won't retrieve them, leading to incomplete exports. This is common in orgs with multiple buyer accounts, emphasizing the need for elevated permissions or explicit sharing for full visibility.
Incorrect Options:
A. The export job did not fully complete ❌:
Data Loader provides clear status indicators, logs, and success/failure counts after each export run. If the job didn't complete, the developer would see partial results or error messages, not just "some" records missing without alerts. In B2B Commerce, exports of Order Summaries typically process quickly for unmanaged types, so incomplete jobs are less likely without obvious signs like network interruptions or batch size issues.
B. Order Life Cycle Type was Managed ❌:
B2B Commerce primarily uses unmanaged Order Summaries (Life Cycle Type 'UNMANAGED') for storefront orders, which are exportable via Data Loader with proper SOQL filters. Managed types are for external order management systems like Salesforce Order Management, but even then, records aren't inherently missing—exports would include them unless filtered out. The scenario implies standard B2B orders, so this type mismatch isn't the primary cause of omissions.
D. The Status was still set to Draft ❌:
Draft Order Summaries represent unconfirmed carts or incomplete checkouts, but in B2B Commerce, exports via Data Loader target completed orders by default, often filtering for statuses like 'Order Confirmed' or 'Fulfillment In Progress'. Draft records are visible and queryable if access allows, so missing ones would more likely tie to permissions rather than status alone, as the dev noticed "orders" (implying placed ones) were absent.
Reference:
➡️ Salesforce Developer Documentation: Export Unmanaged Order Summaries with Data Loader
➡️ Salesforce Developer Documentation: Salesforce Commerce Order Summary APIs
➡️ Salesforce Help: Set Up Sharing for B2B Commerce
What two things happen with the Cart during tax implementation?
A. New entries are written to the Cart
B. Previous entries are copied to another object
C. Previous entries are deleted from the Cart
D. New entries are written to the Order Summary
C. Previous entries are deleted from the Cart
Explanation:
In the Salesforce B2B Commerce (Lightning/LWR) checkout and tax integration framework, the system manages tax data by refreshing the associated records on the Cart object (specifically the CartTax records).
Writing New Entries (A):
After the tax engine (either the default or a custom integration via sfdc_checkout.CartTaxResources) calculates the new values based on the current cart state, it writes fresh entries back to the CartTax object, linking them to the appropriate Cart Item.
Deletion of Previous Entries (C):
Every time the tax calculation is triggered (e.g., when a user changes their shipping address or adds an item), the framework first clears out the existing tax data. This ensures that old, stale tax calculations do not persist if the order parameters have changed.
Why Other Options Are Incorrect
B. Previous entries are copied to another object:
There is no standard "archiving" or copying process for tax entries during the active checkout session. The data is simply recalculated to ensure accuracy.
D. New entries are written to the Order Summary:
While tax information eventually ends up on the Order Summary, this happens during the Order Placement (Convert Cart to Order) phase. During the Tax Implementation/Calculation phase of checkout, the data resides purely on the Cart and its child objects.
Developer Note for 2026:
When implementing the CartTaxResources interface, ensure your Apex logic correctly returns a CartTax object for every taxable line item, as the system relies on the "delete-then-reinsert" pattern to maintain the integrity of the total price.
Override and extend the autoComplete method in cc_hk_Catalog.
A. Override and extend the autoComplete method in cc_hk_Catalog.
B. Override theautoComplete.search_input.minLength value in the CCRZ.uiProperties file
C. Override the autocomplete template and create and register a new handlebars helper.
D. Update the...minLength property in CC Admin, then build and activate a new cache.
Explanation:
In Salesforce B2B Commerce, autocomplete (search suggestions) behavior is controlled server-side through Commerce service classes.
The class:
👉 cc_hk_Catalog
contains the autoComplete method responsible for:
* Processing search input
* Returning product/category suggestions
* Controlling autocomplete logic
When a developer needs to customize or extend autocomplete behavior, the correct approach is to:
* Create a subscriber extension.
* Override the autoComplete method.
* Extend the existing logic while preserving base functionality.
This follows B2B Commerce’s supported extension/override framework.
Why the Other Options Are Incorrect
B. Override the autoComplete.search_input.minLength in CCRZ.uiProperties
Incorrect. This only changes a UI configuration value (minimum characters before search). It does not extend or override autocomplete logic.
C. Override the autocomplete template and create a handlebars helper
Incorrect. Handlebars templates affect presentation only. They cannot modify backend autocomplete processing.
D. Update minLength in CC Admin and rebuild cache
Incorrect. Again, this changes configuration behavior only. It does not override or extend the autocomplete method itself.
Salesforce Concept Reference
B2B Commerce extensibility model:
* Hook classes (cc_hk_*)
* Subscriber overrides
* Delegate pattern for safe extensions
Typical customization areas:
* Search behavior
* Pricing
* Catalog logic
Which two are considered discrete units of work (code units) within a transaction in the debug logs?
A. Validation rule
B. Lightning component load
C. Web service invocation
D. Apex class
D. Apex class
Explanation:
When a transaction, such as saving a record or executing a custom process, occurs in Salesforce, the platform generates a debug log to provide a detailed, step-by-step account of what happened. These logs break down the entire process into smaller, manageable pieces called "code units" or "discrete units of work." These units represent specific, trackable events within the transaction's lifecycle, allowing developers to trace the exact flow of execution and identify where issues might be occurring.
Correct Options:
C. Web service invocation ⚙️
A web service invocation is a distinct and measurable unit of work because it involves a callout to an external system. The Salesforce debug log tracks this specific operation from start to finish. It logs details about the request sent to the external service and the response received. This is critical for debugging integrations, as it clearly isolates the time and resources spent on communicating outside the Salesforce platform, separate from any other internal code execution.
D. Apex class 🧩
The execution of an Apex class is a primary example of a discrete unit of work. When a method within an Apex class is called—for instance, from a trigger or a web service—the debug log records the beginning and end of this execution using the CODE_UNIT_STARTED and CODE_UNIT_FINISHED events. This encapsulates all the custom business logic, SOQL queries, and DML operations performed by that specific class, making it a perfectly contained and trackable unit of code execution within the larger transaction.
Incorrect Options:
A. ❌ Validation rule
While a validation rule's evaluation is indeed logged as an event within a transaction, it is not considered a top-level "discrete unit of work" in the same way a custom Apex class or callout is. Its execution is a standard part of the DML save order, and while the log shows if a rule fired (VALIDATION_RULE), it's a smaller, more granular event that's nested within the overall DML process, rather than a standalone, developer-defined code block.
B. ❌ Lightning component load
A Lightning component load is a client-side event that happens in the user's browser, not on the Salesforce server where debug logs are generated. While a component's load might trigger server-side calls (e.g., to an Apex controller), the act of the component itself loading is not a server-side "discrete unit of work" that would appear in a debug log. The log would instead show the Apex method calls that were initiated by the component, not the component's front-end rendering.
Reference:
Salesforce Developer Documentation: Debug Log Details
Which three pages should be enabled for the Guest user profile for a storefront to have anonymous checkout? (3 answers)
A. CCPaymentInfo
B. CheckoutNew
C. OrderView
D. Checkout
E. OrderConfirmation
D. Checkout
E. OrderConfirmation
Explanation:
To complete a purchase without logging in, the guest user must be able to navigate the final "funnel" of the checkout process. Each of these pages serves a specific technical role in that sequence:
A. CCPaymentInfo:
This page (often used as an iframe or a sub-component within the checkout flow) is responsible for capturing payment details, such as Credit Card info or PO numbers. For anonymous users, the profile must have explicit access to this page to successfully transmit sensitive payment data to the Salesforce backend.
D. Checkout:
This is the primary entry point for the checkout process. It handles the transition from the shopping cart to the shipping and billing entry screens. If the guest user does not have access to this page, they will be redirected to the login page as soon as they click "Checkout."
E. OrderConfirmation:
Once the transaction is successfully processed, the system redirects the user to the confirmation page. This page displays the final order number and summary. Without access to this page, a guest user would receive an "Authorization Required" error immediately after clicking "Place Order," even if the order was technically created in the database.
Detailed Analysis of Incorrect Answers
B. CheckoutNew:
This is incorrect. In the standard B2B Commerce for Visualforce managed package, CheckoutNew is generally a legacy or internal page. The standard, modern checkout flow uses the Checkout page. Enabling both or the wrong one can lead to routing issues.
C. OrderView:
This is incorrect. The OrderView page is typically used for the Order History feature within the "My Account" section. Since anonymous users do not have an account or a persistent login session to view past orders, they do not need access to OrderView. Their view of the specific order they just placed is handled by the OrderConfirmation page.
| B2B-Commerce-Developer Exam Questions - Home | Previous |
| Page 3 out of 43 Pages |