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 should 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 should 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 top section of the output from the API sniffers is shown below 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 top section of the output from the API sniffers is shown below 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.

Product Administration Guide Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.