Loading

Communications Cloud: vlocity_cmt.CpqAppHandler.assetToOrder fails with null reference after Standard Cart API enablement

Publish Date: May 26, 2026
Description
This article explains why vlocity_cmt.CpqAppHandler.assetToOrder returns a null-reference system error when invoked programmatically in Communications Cloud orgs running on the Vlocity CMT managed package after migrating to the Standard Cart API.
 
Symptoms & Common Search Queries
Customers frequently encounter this issue when searching for the following terms:
  • "assetToOrder fails after Standard Cart API was applied"

  • "After applying Standard Cart API, assetToOrder call fails with Salesforce System Error"

  • "スタンダード Cart API を適用した後、assetToOrder でエラー"

  • "スタンダード Cart API を適用した後、vlocity_cmt.CpqAppHandler.assetToOrder を実行するとエラーが発生しています"

The exact error returned in the API response body is typically one of the following variations:
  • Salesforce System Error: [error code]-617090

  • Attempt to de-reference a null object

  • 内部サーバーエラーが発生しました。エラー ID: 1123585802-164224 (-1446239866)

 
Trigger Conditions & Scope
The failure specifically happens when assetToOrder is executed via Apex or an OOB Integration Procedure (e.g., CPQ_AssetToOrder) against asset hierarchies where required CPQ field data is missing.

 

⚠️ Important UI Distinction: The asset may still convert successfully using the standard Asset Viewer UI. This is because the UI processing path utilizes a legacy code branch that tolerates null values. Consequently, a successful UI conversion does not guarantee clean data.
The two fields most frequently identified as missing or null are:
  1. vlocity_cmt__LineNumber__c
  2. vlocity_cmt__Action__c
This behavior is identical across both Sandbox and Production environments.
Resolution
To resolve the failure, identify the specific Asset record with the missing data and populate it using the steps below.
 

Cause 1: Missing vlocity_cmt__LineNumber__c on a child Asset

  1. Capture the root asset ID from the failing assetToOrder request payload.
  2. Open the Developer Console > Query Editor and run the following SOQL query:
    SELECT Id, Product2.Name, vlocity_cmt__LineNumber__c, vlocity_cmt__RootItemId__c 
    FROM Asset 
    WHERE vlocity_cmt__RootItemId__c = '<root-asset-uuid>'
    
  3. Locate any row where vlocity_cmt__LineNumber__c is null.
  4. Navigate to Setup > Object Manager > Asset > Fields & Relationships and verify the field is writable for your profile.
  5. Populate vlocity_cmt__LineNumber__c on the asset record with the correct sequential value used by its sibling assets (e.g., 1, 2, 3).
  6. Retry the Integration Procedure or Apex call.
 
Cause 2: Missing vlocity_cmt__Action__c on a child Asset
  1. Execute the following query to check asset actions under the affected root hierarchy:
    SELECT Id, vlocity_cmt__Action__c, vlocity_cmt__AssetReferenceId__c, vlocity_cmt__RootItemId__c 
    FROM Asset 
    WHERE vlocity_cmt__RootItemId__c = '<root-asset-uuid>'
    
  2. For any row where vlocity_cmt__Action__c is null, update the field to a valid CPQ action value that matches your operational design (e.g., Existing, Add, Change, or Disconnect).
  3. Prevention: If assetToOrder is invoked via a custom middleware or API layer, ensure that layer explicitly maps and passes the vlocity_cmt__Action__c value during payload construction so new lines are not persisted as null.
 
Cause 3: Stale Vlocity CMT Cache
  1. From the App Launcher, navigate to Vlocity CMT Administration.
  2. Run the Product Hierarchy Cache job and the DataRaptor Cache job.
  3. If either job fails with an Attempt to de-reference a null object error, query the vlocity_cmt__AttributeAssignment__c object for orphan rows missing required references, delete them, and re-run the cache jobs.
  4. Refresh the Platform Cache to ensure stale data is not picked up by the Integration Procedure.
 
Verification
Re-execute the Out-of-the-Box Integration Procedure (CPQ_AssetToOrder) against the root asset ID. The response should now successfully return success=true along with a valid MasterOrderId instead of the system error.
Knowledge Article Number

005385177

 
Loading
Salesforce Help | Article