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 3 Type: 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 2 Type: 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 1 Type: 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 0 Type: 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 first section of the output from the API sniffers is shown here for reference. Note the indenting of the SiebelMessage.
CHILD PROPERTY SET 4 Type: 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 first section of the output from the API sniffers is shown here for reference. Note the indenting of the SiebelMessage.
CHILD PROPERTY SET 5 Type: 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.
|