You can launch the Installed Products page directly for the Add/Remove flow (Service CPQ), where you can modify the association of assets with services. CPQ enables you to define parameters on the URL to launch the Installed Products page directly from the custom cart page. 

The following is the syntax of the URL:

<instanceURL>/apex/Cart?businessObjectId=<businessObjectId>&flow=<flowName>&servicePLN=<servicePrimaryLineNumber>#!/assetsgrid
CODE

Here you can pass the value servicePLN as follows:

  • servicePLN=1, which means the primary line number 1, representing the first service product
  • servicePLN=2, which means the primary line number 2, representing the second service product

To create a custom button Link to To create a custom button

Perform the following steps to create a custom button:

  1. Go to Setup > Create > Objects and search for the Quote/Proposal object.
  2. In the Custom Fields & Relationships related list, click New.
  3. From "Step 1. Choose the field type," choose Formula as Data Type, and click Next.
  4. From "Step 2. Choose the output type," enter the following details and click Next:
    1. In the Field Label field, enter Configure Products <Flow>.
    2. In the Field Name field, enter Configure_Products_<Flow>.
    3. For Formula Return Type, choose Text.
  5. In "Step 3. Enter formula," paste the following URL under the Simple Formula tab and click Next:

    IF ( LEN( Apttus_QPConfig__PriceListId__c ) > 0 , HYPERLINK("/apex/Cart?businessObjectId=<businessObjectId>&flow=<flowName>&servicePLN=<servicePrimaryLineNumber>#!/assetsgrid", IMAGE("/resource/Apttus_QPConfig__Button_Configure", "Configure Products"),"_self"), NULL)
    CODE


  6. In Step 4. Establish field-level security, select the appropriate Field Level Security and click Next.

  7. In Step 5. Add to page layouts, choose the page layouts on which you want to display this field.
  8. Click Save.

Example URL:

IF ( LEN( Apttus_QPConfig__PriceListId__c ) > 0 , HYPERLINK("/apex/Apttus_Config2__Cart?businessObjectId="&Id&"&flow=LAngflow&servicePLN=1#!/assetsgrid", IMAGE("/resource/Apttus_QPConfig__Button_Configure", "Configure Products"),"_self"), NULL)
CODE

Here servicePLN=1 means the primary line number 1, representing the first service product.