You are here:
RepricingInterface
This service can reprice several object types related to Orders, Quotes, and Opportunities.
The out-of-the-box RepricingElementServiceImplementation bypasses the full pricing plan, such as Attribute-Based Pricing and other custom pricing plan steps. However, while it executes the default pricing logic, ApplyContextDiscounts, ApplyOfferAdjustments, and ApplyPromotionAdjustments work only if they’re activated in the pricing plan definition.
Support Attribute-Based Pricing or custom pricing steps with a custom Repricing interface implementation.
-
Order
-
Quote
-
Opportunity
-
Account
-
Order item
-
Quote line item
-
Opportunity line item
-
Promotions applied
-
Offer adjustments
Type
Strongly typed
Triggered When
Triggered by a schedule that you define.
Called In
Not applicable
Signature
Access | Signature |
|---|---|
global |
|
Default Implementation
DefaultRepricingImplementationDefaultRepricingImplementation
Other Implementations
RepricingElementServiceImplementationRepricingElementServiceImplementation
Input Parameters
objectList
Type: List<SObject>
(Required) List of sObjects to be repriced.
repriceProvidedLineItemsOnly
Type: Boolean
(Optional) Set to true if you want only line items to be repriced.
Output Parameters
No data returned in output object
Sample Implementations
Reprice all orders using a batch job.
RepricingBatchProcessor repricingBatchJob = new RepricingBatchProcessor(Order);
ID batchprocessid = Database.executeBatch(repricingBatchJob,1);
Reprice all accounts using a batch job.
RepricingBatchProcessor repricingBatchJob = new RepricingBatchProcessor('Account');
ID batchprocessid = Database.executeBatch(repricingBatchJob,1);
Using the API, reprice a particular order, quote, or opportunity (you must specify the ID).
List<Order/Quote/Opportunity> a = SELECT Id FROM Order/Quote/Opportunity WHERE Id='0011I00000DBYUK';
Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
Map<String,Object> repricingOutput = new Map<String,Object>();
Map<String,Object> repricingOptions = new Map<String,Object>();
VOIInvoker voi = VOIInvoker.getInstance();
voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);Using the API, reprice a specified order item, quote line item, or opportunity line item ID.
List<OrderItem/OpportunityLineItem/QuoteLineItem> a = [SELECT Id,RootItemId__c From OrderItem/OpportunityLineItem/QuoteLineItem WHERE Id='8021I000001rzmlQAA'];
Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
repricingInput.put('repriceProvidedLineItemsOnly';, true);// mark it false , if the whole bundle associated with this ItemId needs to get repriced or it will reprice only the specified itemId
Map<String,Object> repricingOutput = new Map<String,Object>();
Map<String,Object> repricingOptions = new Map<String,Object>();
VOIInvoker voi = VOIInvoker.getInstance();
voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);Using the API, reprice a specified asset.
List<Asset> a = [SELECT Id,RootItemId__c From Asset WHERE Id='8021I000001rzmlQAA'];
Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
repricingInput.put('repriceProvidedLineItemsOnly', true);// mark it false , if the whole bundle associated with this ItemId needs to get repriced, or it will reprice only the specified itemId
Map<String,Object> repricingOutput = new Map<String,Object>();
Map<String,Object> repricingOptions = new Map<String,Object>();
VOIInvoker voi = VOIInvoker.getInstance();
voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions); Using the API, reprice a specified account.
List<Account> a = SELECT Id FROM Account WHERE Id='0011I00000DBYUK';
Map<String,Object> repricingInput = new Map<String,Object>{'objectList' => a};
Map<String,Object> repricingOutput = new Map<String,Object>();
Map<String,Object> repricingOptions = new Map<String,Object>();
VOIInvoker voi = VOIInvoker.getInstance();
voi.invoke('Repricing', 'repriceLineItems', repricingInput, repricingOutput, repricingOptions);
