Table of Contents
Overview
After calling cssmgnt.API_1.moveConfigurations, the target Solution may show copied configurations where configurationId is blank (and replacedConfigurationId remains blank). In this state, MAC basket add/submit flows can fail when they require identifiers such as replacedConfigurationId.
This is expected behavior: moveConfigurations performs a copy in the Service Management (SM) database and intentionally clears configurationId and replacedConfigurationId. To generate/populate Salesforce Product Catalog (SFDC PC) configuration records/IDs, you must run downstream processing such as Calculate Totals (often referred to as Basket Submit) on the target Solution/basket.
Solution
Symptoms
- In the target Solution (after
moveConfigurations), copied configurations show:configurationId = ''(empty)replacedConfigurationId = ''(empty)
- MAC basket creation/add/submit fails because downstream steps expect
replacedConfigurationId(or related identifiers) to be present. - Note: If additional issues remain after the steps below, capture and retain the exact MAC basket error message from the UI/logs for faster diagnosis.
Why this happens (expected behavior)
cssmgnt.API_1.moveConfigurations operates in the Service Management (SM) database context and performs a copy operation (it does not directly create/populate SFDC Product Catalog configuration records/IDs at the time of the API call). As implemented, it:
- Creates new copies of the source configurations in the target Solution
- Generates new GUIDs for each copied configuration (via
uuid.v4()) - Leaves the original source configurations unchanged
- Explicitly clears ID fields in the copied records:
config.configurationId = ''
config.replacedConfigurationId = ''
- Removes database metadata fields from the copied records (for example:
id,createdAt,updatedAt)
How to populate SFDC Product Catalog configuration IDs for downstream flows
-
Run
moveConfigurationsUse
cssmgnt.API_1.moveConfigurationsto copy configurations from the source Solution to the target Solution (SM DB-level copy). -
Trigger downstream processing to create SFDC PC records
Perform a Calculate Totals operation (often referred to as Basket Submit) on the target Solution/basket.
This downstream processing step triggers creation/population of the corresponding Salesforce Product Catalog configuration records/IDs.
-
Re-attempt the MAC basket operation
After Calculate Totals/Basket Submit completes successfully:
- Re-check whether
configurationIdis now populated where required by your process. - Retry MAC basket creation/add/submit.
- Re-check whether
Verification
- In the target Solution, confirm the configurations exist as copied records (with new GUIDs).
- After Calculate Totals/Basket Submit completes, confirm
configurationIdis now populated where your implementation expects SFDC PC linkage. - Retry the MAC basket flow that previously failed.
-
If the MAC basket still fails, collect the following:
- The exact MAC basket error message (UI and/or logs)
- Request/response payloads for:
cssmgnt.API_1.moveConfigurations- Calculate Totals / Basket Submit
- Environment details (for example: AWS/Heroku)
- CloudSense installed package version
Frequently Asked Questions
- 1. How can I tell if I’m hitting this exact issue?
- After calling
cssmgnt.API_1.moveConfigurations, the target Solution’s copied configurations show empty fields likeconfigurationId = ''(and oftenreplacedConfigurationId = ''), and the MAC basket add/submit then fails. If possible, confirm by capturing the MAC basket error text and inspecting the configuration records. - 2. Is it a bug that
configurationIdandreplacedConfigurationIdare blank aftermoveConfigurations? - No. This is expected behavior: the API copies configurations in the SM database, generates new GUIDs, and explicitly clears
configurationIdandreplacedConfigurationIdduring the copy. - 3. What action actually generates/populates Salesforce Product Catalog configuration IDs?
- A downstream processing step such as Calculate Totals / Basket Submit on the target Solution/basket. That operation triggers creation/population of the SFDC Product Catalog configuration records/IDs.
- 4. Why does the MAC basket flow fail after
moveConfigurations? - MAC basket flows may rely on
replacedConfigurationId(and/or related identifiers) being populated. SincemoveConfigurationsclearsreplacedConfigurationId, the flow can fail unless downstream processing (Calculate Totals/Basket Submit) populates the identifiers needed by the MAC process. - 5. What should I provide if the problem continues even after Calculate Totals/Basket Submit?
- Provide: (1) the exact MAC basket error message, (2) the
moveConfigurationsrequest payload (with IDs replaced by placeholders like<solution_id>/<config_id>), (3) the Calculate Totals/Basket Submit request and outcome, (4) CloudSense installed package version, and (5) the environment type (for example, AWS/Heroku).
Matej Storga
Comments