| Siebel Product Administration Guide > Siebel Configurator API Reference > Object Broker Methods > DeltaQuote Method
 This method performs a recursive tree comparison of two property sets to determine the difference between them based on supplied criteria. It returns a copy of the destination product instance, marked up to indicate changes. This preconfigured API is called from an external service only in SIS Order Management, which is the only way to see this API function for the API Discovery.  In one example, you start with a computer that has one hard drive and a 900 MHz processor. You upgrade it to add a second hard drive (quantity now = 2) and replace the processor with a 1000 MHz model. The result would be one existing hard drive, one new hard drive (the instance is split), one 900 MHz CPU removed, and one new 1000 MHz CPU. If the output property set is empty and no error code is thrown, the most likely cause is that the instances were not recognized. Check the RootId parameters and the indenting of your source and destination SiebelMessages.  Input Arguments   
SrcRootId. The root ID for the product in the source of the comparison. This is the "before" property set.
DestRootId. The root ID for the product in the destination of the comparison. This is the "after" property set.
DeltaSrcField. The Path field in the source instance.
DeltaDestField. The Path field in the destination instance.
SrcItemIntComp. The name of the integration component for the items in the source instance (for example, Quote Item).
DestItemIntComp. The name of the integration component for the items in the destination instance (for example, Quote Item).
SrcXAIntComp. The name of the integration component for the XA in the source instance (for example, Quote Item XA).
DestXAIntComp. The name of the integration component for the XA in the destination instance (for example, Quote Item XA.)
ITEM_MAPPING. This is a property set with type= "ITEM_MAPPING." It contains a list of those fields that must be copied when creating a new instance of an item in the destination property set. The property names are the fields in the source instance, and the property values are the names in the destination instance. Here is an example output from the API sniffers:
CHILD PROPERTY SET 3Type: ITEM_MAPPING Value:
 Unit Price = Unit Price
 Action Code = Action Code
 Root Id = Root Id
 Port Item Id = Port Item Id
 Integration Id = Integration Id
 Discount Amount = Discount Amount
 Parent Id = Parent Id
 Product Id = Product Id
 Prod Item Id = Prod Item Id
 Quantity = Quantity
XA_MAPPING. This is a property set with type= "XA_MAPPING." It contains a list of those fields that must be copied for each of the attributes when creating a new instance of an item in the destination property set. The property names are the fields in the source instance, and the property values are the names in the destination instance. Here is an example output from the API sniffers:
CHILD PROPERTY SET 2Type: XA_MAPPING Value:
 Action Code = Action Code
 Value = Value
 Read Only = Read Only
 Name = Name
 Property Type Code = Property Type Code
 XA Id = XA Id
ITEM_COMPARE. This is a property set with type= "ITEM_COMPARE." It defines what constitutes a unique instance of an item in the source and destination instances. For the service, it answers the question "How do I know if these two things are the same?" Here is an example output from the API sniffers:
CHILD PROPERTY SET 1Type: ITEM_COMPARE Value:
 Port Item Id = Port Item Id
 Product Id = Product Id
XA_COMPARE. This is a property set with type= "XA_COMPARE." It defines what constitutes a unique instance of an attribute in the source and destination instances. For the service, it answers the question "How do I know if these two things are the same?" Here is an example output from the API sniffers:
CHILD PROPERTY SET 0Type: XA_COMPARE Value:
 Value = Value
 Name = Name
 Property Type Code = Property Type Code
 XA Id = XA Id
SrcInst. This is the Source Instance ("before") that will be used in the delta comparison. It is a double-indented SiebelMessage with a type of SrcInst. The top section of the output from the API sniffers is shown below for reference. Note the indenting of the SiebelMessage.
CHILD PROPERTY SET 4Type: SrcInst Value:
 CHILD PROPERTY SET 0
 Type: Value:
 CHILD PROPERTY SET 0
 Type: SiebelMessage Value:
 MessageId = 1-12949
 IntObjectFormat = Siebel Hierarchical
 MessageType = Integration Object
 IntObjectName = CX Product Validation
 CHILD PROPERTY SET 0
 Type: ListOfCX Product Validation Value:
 CHILD PROPERTY SET 0
 Type: Product Header Value:
 Name = 1-12950
 Price List Id = 1-ZEC
 Id = 1-12951
 CHILD PROPERTY SET 0
 Type: ListOfProduct Item Value:
 CHILD PROPERTY SET 0
 Type: Product Item Value:
 Action Code = Existing
 Port Item Id =
 Integration Id = 1-12744
 Cfg Type = Configurator
 Name = System Chassis
 Product Id = 1-1M9Y
 Prod Item Id = null
 Quantity = 1.0
 Id = 1-12744
DestInst. This is the Destination Instance ("after") that will be used in the delta comparison. It is a double-indented SiebelMessage with a type of DestInst. The top section of the output from the API sniffers is shown below for reference. Note the indenting of the SiebelMessage.
CHILD PROPERTY SET 5Type: DestInst Value:
 CHILD PROPERTY SET 0
 Type:  Value:
 CHILD PROPERTY SET 0
 Type: SiebelMessage Value:
 MessageId = 123
 IntObjectFormat = Siebel Hierarchical
 MessageType = Integration Object
 IntObjectName = CX Product Validation
 CHILD PROPERTY SET 0
 Type: ListOfCX Product Validation Value:
 CHILD PROPERTY SET 0
 Type: Product Header Value:
 Name = 1-12950
 Price List Id = 1-ZEC
 Id = 1-12951
 CHILD PROPERTY SET 0
 Type: ListOfProduct Item Value:
 CHILD PROPERTY SET 0
 Type: Product Item Value:
 Has Generics Flag = Y
 Action Code = Existing
 Integration Id = 1-12744
 Port Item Id =
 Sequence Number =
 Name = System Chassis
 Cfg Type = Configurator
 Product Id = 1-1M9Y
 Quantity = 1.0
 Prod Item Id = null
 Id = 1-12744
 Output Arguments The destination instance is returned as a SiebelMessage, modified and marked up with status information. The status (new, modified, existing, removed) is indicated in the Action Code field of each item and attribute. |