Configure the DRO Qualifier Interface

These steps explain how to verify or customize the logic that determines if an order qualifies for DRO processing.

Required Editions

Available in: Lightning Experience
Available in: Enterprise, Unlimited, and Developer Edition.
User Permissions Needed
Permission for DRO Qualifier Interface: RevenueLifecycleManagementAddOn
Important
Important You can configure the DRO Qualifier Interface only when OM and DRO coexist.
  1. From Setup, in the Quick Find box, enter Interface Implementation, and then select DROQualifier.

    The standard, out-of-the-box setting is DefaultDROQualifierImplementation.

  2. To use your own business logic, and override the default setting.
    1. Create a Custom Apex Class: Write an Apex class that implements VlocityOpenInterface with your custom qualify method. Use this sample as a template.
       global inherited sharing class CustomDROQualifierImplementation implements VlocityOpenInterface 
      {
      
          global Boolean invokeMethod(String methodName, Map<String, Object> input, Map<String, Object> output,
                                      Map<String, Object> options)
          {
              if (methodName.equals('qualify'))
              {
                  return qualify(input, output, options);
              }
              return false;
          }
      
          private Boolean qualify(Map<String, Object> input, Map<String, Object> output, Map<String, Object> options)
          {
              //System.debug('qual input ::: ' + JSON.serialize(input));
              List<String> orderIdList = (List<String>)input.get('orderIdList');
              Id orderId = (Id)orderIdList.get(0);
              Order orderObject = [SELECT vlocity_cpq9__PriceListId__r.vlocity_cpq9__Code__c FROM Order WHERE Id = :orderId limit 1];
              String priceListCode = (String)orderObject.vlocity_cpq9__PriceListId__r.vlocity_cpq9__Code__c;
              Boolean result = (priceListCode == 'KTel Pricelist' || priceListCode == 'PRICE_LIST_Q3');
              output.put('result', result);
              return true;
          }
      }
    2. Activate your class: Return to the DROQualifier interface page, find your new Apex class, and click Set as Default.