Delta Method
This method is one of the Product Manipulation Toolkit Business Service Methods. It generates the actions necessary to change an existing product with components (asset) into a new product with components. The set of actions can be written to a quote or an order.
Delta compares two complex assets (original and modified) and returns a quote or order. The return contains line items that specify the actions required to change the asset from the original state to the final state.
Arguments
Argument | Description |
---|---|
SiebelMessage |
[in] Hierarchical property set containing the final Asset (output returned from call to PMT business service method Reconfigure Product Instance Method). |
SiebelMessage |
[out] Hierarchical property set containing a quote or order header, complex line items, and attributes. |
SplitQtyChange |
[in] Value is N. Controls whether a new line item is created upon an increase in the quantity of an asset component. This argument is optional. By default the component line item is split. |
Returns
Property Set containing the complex quote or order.
Remarks
Because Delta is used frequently, the following additional information about the method is useful.
User Properties
The Delta method uses the following user properties:
Asset Integration Object Name
Quote Integration Object Name
Order Integration Object Name
Delta Line Item Compare Field
Delta XA Compare Field
Delta Old Field
Delta XA Old Field
Line Item Map
Attribute Item Map
Alias Action Code
For descriptions of these user properties, see User Properties Used by PMT Methods.
Before Invocation
Before Delta is invoked, the system must call two other methods:
Set Product Instance
Saves the original asset’s configuration before the Product Configurator is called. For more information, see Reconfigure Product Instance Method.
Set Output Header
Saves the quote or order header that will be the Delta output. If a line item or attribute is associated with the Quote or Order property set, it is stripped from the property set returned by the Delta method. For more information, see Set Output Header Method.
Processing
During Delta processing, the method:
Compares the before and after images to determine the correct action codes for output.
Passes all fields in the new customizable asset through to the delta quote or delta order. This includes all custom fields.
Delta compares a user-configurable set of fields. This includes the parent component ID to make sure that changes to the product with components structure are reflected as an update.
Increasing Quantities of an Asset Component
If the user edits a customizable asset and increases the quantity of an existing component, the result is two line items. The first line item represents the original asset. The second line item adds new copies of that asset. If the original line item is changed, the Delta action is Update or NULL.
Action Field in the Quote and Order Attribute Tables
Delta logic populates an Action field in the quote attribute and order attribute tables. This field allows order provisioning logic to determine which of the attributes of a service product has changed.
For example, a delta quote can be represented as shown in the following figure. In this example, the call forwarding number changed but the number of rings did not.
![Action on Attribute Method Example. In this image, GCI One Bundle has one Local Line with Call Forwarding and Caller ID. Call Forwarding has No. of Rings 6 and Forwarding No. GCI One Bundle also has a local line that has been deleted( [DELETE] Local Line). GCI One Bundle also has a Calling Card with a Password and P800.](images/OM_A_ActionAttr.gif)
When a delta-enabled field in a line item changes (because of direct user input or a process such as repricing) or an attribute of a line item changes, the action code is automatically set. This is shown in the following table.
Original Action | New Action |
---|---|
None |
Update |
Add |
Add |
Update |
Update |
Delete |
Delete |
Alias Action Codes
The Delta method has been extended to support Alias Action Codes. Delta replaces one of the standard action codes (Add, Update, Delete, -) with an alias action code if a certain condition is met. For example, an action code of Update may be replaced by Suspend if the status field changes from Active to Suspended. Alias action codes are evaluated for components but not attributes. Alias action codes are specified by the Alias Action Code user properties.
Old Value Support
When performing a modify order in Siebel Customer Order Management versions prior to 7.7, you can view the changes made to a product but only the end state, and values prior to the modify are lost. Downstream provisioning systems require both the prior and current values. For example, a change in bandwidth from 56K to 1024K might require a new piece of equipment to be installed at the wire center whereas a change form 2048K to 1024K is simply a downgrade using the existing equipment.
The Delta method has been extended to store the values of fields prior to their being changed. The prior value is the value of the field in the initial property set being considered by Delta.
Service Item Unique Keys (Asset Integration Id)
The Delta and Apply method operations depend upon the unique keys to each service item. Typically, the unique key is an invariable combination of fields in the service item record. Because no combination of user-entered fields is certain to be unique or invariable, the Siebel application provides a hidden Asset Integration Id field that stores a unique identifier for each service item.
The asset integration ID links the service item to the quotes and orders that modify it. On creation of a quote to add a new service item a new asset integration ID is generated from the row ID of the quote line item The quote is converted to an order at which time a new asset integration ID is generated from the row ID of the order line item. This occurs only if the action code of the quote line item is ‘Add’ to enforce uniqueness if multiple orders are created from the same quote.
When the completed order is converted into an asset the asset integration ID is copied from the order line item to asset. When the asset is subsequently modified (Modify or Disconnect) the asset integration ID is copied to the quote and order line items.
Action Types
Each action types is implemented as a soft-coded list of values. This soft coding supports a multilingual user interface and allows for industry specific terminology. The action types supported by the Siebel application are listed in the following table.
Action Type | Comments |
---|---|
Add |
None |
Update |
None |
Delete |
None |
None |
No action |
Examples
Review the following examples in the following sections:
Generating a Delta Quote to Update an Asset
The following example shows how this method generates a delta quote to update an asset.
A configuration session starts with the GCI One Bundle in the state shown in the diagram that follows.
A CSR updates the customizable asset, as in the diagram that follows.
The Delta method generates the delta quote shown in the diagram that follows.
Generating a Delta Quote to Add a New Asset
The following example shows how this method generates a delta quote to add a new asset.
A configuration session starts with no existing asset. The user configures a new customizable product, as in the diagram that follows.
The Delta method generates the following delta quote.
Generating a Delta Quote to Disconnect an Asset
The following example shows how this method generates a delta quote to disconnect an asset.
The user selects a customizable asset in the service profile view, as in the diagram that follows.
The user clicks Disconnect.
A workflow runs Delta with the current state of the customizable asset and an empty customizable asset as input arguments. The resultant delta quote is shown in the diagram that follows.
Generating a Delta Property Set to Add More Assets
The following example shows how this method generates a delta property set to add more copies of an asset.
The user selects a customizable asset in the service profile view, as in the diagram that follows.
The user makes various changes including changing the quantity of Calling Card from one to three, as in the diagram that follows.
Delta generates the delta property set as shown in the diagram that follows. The calling card record is split out into the original, unchanged asset and an action to add the new copies of the original calling card.
The following example shows how this method is used to change a product structure.
The user selects a customizable product in the customer profile view, as in the diagram that follows.
Since this asset was created, the customizable product structure has changed to group all features beneath a Feature Package component. When the product is loaded into the Configurator, it is relinked and displayed as shown in the diagram that follows.
When the new structure is saved, Delta identifies the new Feature Package component and marks the Call Forwarding feature for update because its parent has changed. This is shown in the diagram that follows.
Related Information
See the topic about workflows in Siebel Order Management Guide, and the following methods: