Bookshelf Home | Contents | Index | Search | PDF |
Product Administration Guide > Technical Reference >
eConfigurator API
This section is intended to summarize the available API to the Siebel eConfigurator, version 7.0.x. It explores in some detail a segment of those API.
This is intended as an introduction to the topic for advanced users. This section assumes knowledge of the eConfigurator and Siebel server architecture. Implementing the API described in this section also requires proficiency in Siebel EAI and Siebel Object Interfaces.
In order to use these API, the user should be familiar with the following:
- Siebel Business Process Designer
- Runtime Events (personalization) if invoked from the UI
- Siebel Object Interfaces
- A Siebel scripting language (Siebel VB or Siebel eScript)
- Recursive programming techniques
- Constraint satisfaction theory
- Underlying behavior of the Siebel eConfigurator
- Siebel product definition data model
- Siebel Property Set representation of data (creation and transformation)
- EAI Transports and Interfaces
Available API
There are three main groups of API for accessing the eConfigurator. These API are supported by the Complex Object Instance Service.
- Group 1: UI
- CPRUI Service API as Siebel Web Template items.
- DOM API within the browser inherent in JavaScript and HTML.
- Group 2: Model
- Scripts that execute in the context of the current session that are implemented as part of the configuration model in the Script Designer View.
- Group 3: Instance
- API for using the eConfigurator or manipulating the configuration session from other than the Configurator runtime UI.
- The Remote Complex Object Instance Service. This business service is available for accessing the Instance API.
Explanation of the Instance API
This section presents general concepts:
- The Remote Complex Object Instance Service is a business service. It can be accessed by anything in the Siebel architecture that can use a business service. As a business service, it is used by invoking methods, passing in property sets with input arguments, and getting results from the Outputs property set.
- A session is uniquely identified by two ID values. The Object Id and the Root Id. In the case of a quote, the Object Id is the Quote Id and the Root Id is the Quote Item Id for the top-level parent (the root). In assets, the Object Id and the Root Id are both the root Asset Id.
- A session is unique only within its own user session on a given Object Manager.
- A port is another name for a Relationship.
- A complex product is another name for a customizable product.
- The Port Id is the ID of the relationship as defined in the Complex Product Structure BusComp.
- The Prod Item Id is the ID of the relationship item as defined in the Complex Product Structure BusComp.
- The Path for an item is the Integration ID of the specific item.
- Version arguments are used only when testing a customizable product version that is different from the currently released version.
NOTE: The parameters are property set and, unless indicated, all properties are on the root level property set.
LoadInstance
Loads the complex object in memory. This is the starting point for all configurations.
In:
- ObjId - unique identifier to the complex object header (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- IntObjName - name of the integration object specified in Siebel Tools.
- TriggerEvent - flag that determines if script events are triggered. Should normally be "Y". Set to "N" for special uses of the API where script events are not desired.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- NewRecord (optional) - if set to "Y", the instance will be populated with default values.
- AutoSync (optional) - if set to "Y", the instance will be synchronized to the database immediately after loading.
- SearchSpec (optional) - set this parameter to filter out all other hierarchical instances in the child buscomp. This parameter must have the following format:
"[Header Buscomp.Id] = 'Id' AND [Item Buscomp.Root Id] = `Root Id'"
ex. [Quote.Id] = '10-4FR6D' AND [Quote Item.Root Id] = '10-81DUX'
- ExternalScript (optional) - this parameter must be set to "Y" when running headless configurations (e.g. through Siebel COM Data Server). Anything other than the Cfg Web UI Service is considered headless configuration. The difference is who resolves the linked items.
Out:
The following properties will be returned from the output property set:
- CreateSession - if this property is set to "Y" the method CreateSession must be called after LoadInstance.
- IsConfig (optional) - if this property is present and set to "Y" the configuration model has configuration rules defined.
- Links (optional) - if this property is set to "Y" the model has linked items.
- UnresolvedLinks (optional) - if this property is set to "Y" the model has unresolved linked items that must be calculated by the caller.
- If NewRecord is set to "Y" in the input property set and CreateSession is set to "N" in the output property set, the output will have the instance property set returned as a child of type "CxObj" (see output example below). Example return property set:
< IsConfig='Y' UnresolvedLinks='Y' CreateSession='Y' Links='Y'>
<Links 1-19D0X='10/19/2001' 1-1Z876='SADMIN' 1Z771='SADMIN'>
</Links>"
<UnresolvedLinks>"
<UnresolvedLink DispName='Quote Name' Definition='<CfgVariableDef BUS_OBJ = ""Quote"" BUS_COMP = ""Quote"" FIELD_NAME = ""Name"" SEARCH_SPEC = """" SORT_SPEC = """" DEFAULT_VAL = """" EXECUTE = ""N""/>' Description='' DefValue='' Name='Quote Name' BusObj='Quote' Field='Name' ID='1-1Z875' BusComp='Quote'>
</UnresolvedLink>
</UnresolvedLinks>
</>
Extracting the instance property set from LoadInstance. The instance property set can be extracted by first getting the child property set of type "CxObj" and then extracting its only child.
Links and what to do with them: A child property set of type Links will be returned if the model has linked items. The Links child property set must then be extracted and passed in to CreateSession's OUTPUT arguments as a child property set. In 7.0.4 this changed to the INPUT property set for CreateSession. It is possible that configuration rules have been defined for these linked items and so the configuration session must know the link values. The linked items are represented as property-value pairs with link IDs as properties and link values as property values.
For example:
<Links 1-19D0X='10/19/2001' 1-1Z876='SADMIN' 1-1Z771='SADMIN'>
A child property set of type UnresolvedLinks will be returned if the model has linked items which the business service was unable to resolve. The children of this property contain the information necessary to calculate the value of the linked item.
<UnresolvedLinks>"
<UnresolvedLink DispName='Quote Name' Definition='<CfgVariableDef BUS_OBJ = ""Quote"" BUS_COMP = ""Quote"" FIELD_NAME = ""Name"" SEARCH_SPEC = """" SORT_SPEC = """" DEFAULT_VAL = """" EXECUTE = ""N""/>' Description='' DefValue='' Name='Quote Name' BusObj='Quote' Field='Name' ID='1-1Z875' BusComp='Quote'>
</UnresolvedLink>
</UnresolvedLinks>
Only links that have the execute flag set or pull system parameters such as TODAY will be resolved by the configurator when used headless. All other links must be resolved by the programmer.
NOTE: The unresolved links must be calculated and their IDs and values must be added to the Links child property set as properties with the link ID as the property and the link value as the property value.
CreateSession
Initializes a configuration session. This is necessary for customizable products that have constraint rules. This is called immediately following LoadInstance where required.
In:
- ObjId - unique identifier to the complex object header (e.g. Quote Id).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- IntObjName - name of the integration object specified in Siebel Tools.
- TriggerEvent - flag that determines if script events are triggered. Should normally be "Y". Set to "N" for special uses of the API where script events are not desired. Should be set the same for LoadInstance and CreateSession.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- NewRecord (optional) - if set to "Y", the instance will be populated with default values.
- AutoSync (optional) - if set to "Y", the instance will be synchronized to the database immediately after loading.
- ExternalScript (optional) - this parameter must be set to "Y" when running headless configurations (e.g. through Siebel COM Data Server).
Out:
If NewRecord is set to "Y" in the input property set the output will have the instance property set returned as a child of type CxObj. This is essentially the same output as what is returned from GetInstance.
SetInstance
Creates a configuration session with a supplied property set. This permits configuration without directly writing to the database. The structure of the input property set does not need to correspond to a Siebel object, such as a quote as indicated by the integration object specified.
In:
Same as LoadInstance but also requires the property set indicating the state to load. This property set must have the SiebelMessage object as the only first level child.
Out:
Same as LoadInstance.
SyncInstance
Saves the complex object instance from whence it came.
In:
- ObjId - unique identifier to the complex object header.
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- IntObjName - name of the integration object specified in Siebel Tools.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
None
UnloadInstance
Removes the existing configuration session from memory. Should be called after synchronizing the instance at the end of the configuration session.
In:
- ObjId - unique identifier to the complex object header.
- RootId - unique identifier to the complex object root.
- IntObjName - the name of the integration object that was used to load the instance.
Out:
None
GetAllPorts
Retrieves a list of all ports and possibly their contents for a product. This gets all ports for a product but does not drill down to the ports of the child products. This retrieves the basic definition of the product and does not consider any current configuration session state so every possible port will be retrieved.
In:
- Product Id - ID of the product in Internal Product.
- Version (optional) - only used in validate mode.
- GetPortDomain - flag that determines whether or not to also retrieve the domain of each port. Use Y to get the domain, N to not get the domain.
Out:
All ports are returned as children of the output property set of type Port.
<Output>
<Port>
Port Information here
</Port>
</Output>
EnumObjects
Returns either all immediate objects under an object or all immediate objects under a specified port. This gets the items that are currently in the port, not the items that could be there.
In:
- ObjId - unique identifier to the complex object header (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- IntObjName - name of the integration object specified in Siebel Tools.
- Parent Path - path to the parent object whose child objects we want to enumerate. The path is the object's Integration ID.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Port Item Id (optional) - ID of a specific port (e.g. ORIG_ID of the port in S_PROD_ITEM table). If specified, only the items in this port are enumerated, otherwise all items in all immediate ports are returned.
Out:
Child item information is returned as child property sets as follows:
<Output>
< Name="value" Product Id="value" Path="value" Sequence Number="value" />
...
</Output>
GetAttribute
Retrieves the value of an attribute.
In:
- ObjId - unique identifier to the complex object root.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Path - path of the item we are retrieving an attribute from.
- Name - attribute name.
Out:
The value is returned as a property of the output property set.
<Output Value="value">
</Output>
GetFieldValues
Retrieves field values for a product that exists in the complex product.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Path - path to the item.
Out:
The output property set returned will have the field names as properties:
< Field="value" Field="value" ... Field="value"/>
GetInstance
Gets the loaded instance as a property set. This returns the full structure of products and attributes.
In:
- ObjId - unique identifier to the complex object root.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
The entire property set output is the complex object instance.
GetParents
Retrieves all the parents of an item.
In:
- ObjId - unique identifier to the complex object root.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Path - item path.
Out:
The property set returned will have child property sets, each with the following properties:
< >
< Product Id="value" Name="value" Sequence Number="value" Path="value"/>
...
</ >
GetPossibleDomain
Retrieves selectable items from the configuration engine for a port
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Parent Path - item parent path.
- Port Item Id - item port id.
Out:
The property set returned will have the possible domain item product ids as properties, each with the value 0:
< ProdId1="0" ProdId2="0" ... ProdIdn="0" />
GetPossibleValues
Retrieves selectable values from the configuration engine for an attribute.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- IntObjName - name of the integration object.
- Path - Integration ID of the port at which this attribute is attached.
- XA Id -ID of the attribute for which the values need to be determined.
Out:
The property set returned will have the possible values as the property names.
< [PossibleValue1]="Val1" [PossibleValue2]="Val2"/>
GetProductId
Gets the root Product ID of the complex object instance.
In:
- ObjId - unique identifier to the complex object header (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
The product id is returned as a property of the output property set:
< Product Id="value" />
GetRootPath
Returns the path of the complex object instance root.
In:
- ObjId - unique identifier to the complex object header (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
The root path is returned as a property of the output property set:
< Path="value" />
HasGenerics
Returns generics and children flags for an item. A port has generics if the required cardinality is greater than the current cardinality and no default product is specified.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- IntObjName - name of the integration object.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Port Item Id - ID for the port item that will have either children or generics.
- Path - Path to the parent item of interest.
Out:
HasGenerics - Y if it does, not present if it does not.
HasChildren - Y if it does, not present if it does not.
API to Interact with Conflicts and Messages
NOTE: The API in this section only apply to customizable products with constraint rules.
GetDetailedReqExpl
Retrieves conflict messages.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- IntObjName - name of the integration object.
Out:
Expl# - The explanations for the conflicts. Substitute a number for #, such as Expl0, Expl1, etc.
GetExplanations
Retrieves configuration explanations for an item.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Path - item path.
Out:
The property set returned will have child property sets, each with the property Value as the explanation:
<Output>
<Expl Value="Explanation"/>
<Expl Value="Explanation"/>
...
<Expl Value="Explanation"/>
</Output>
GetSignals
Retrieves configuration engine signals.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Path - integration ID for the item to get signals at (optional).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
The property set returned will have child property sets as follows:
< >
<Signal Expl="signal"/>
<Signal Expl="signal"/>
...
<Signal Expl="signal"/>
</ >
RemoveFailedRequests
Removes all failed requests sent to the configuration engine.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
None
UndoLastRequest
Removes the last request sent to the configuration engine.
In:
- ObjId - unique identifier to the complex object root (e.g. Quote ID).
- RootId - unique identifier to the complex object root (e.g. Quote Line Item row id).
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
Out:
None
API to Set Product and Attribute Values
This section contains API used for setting product and attribute values.
AddItem
Adds an item to a specified port. This will create a new instance of an item. If you want to change the quantity of an existing instance of an item, use SetItemQuantity.
In:
- ObjId - unique identifier to the complex object header.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- AutoResolve (optional) - automatically resolves port cardinality violations.
- Prod Item Id- ID of the item (e.g. ORIG_ID in S_PROD_ITEM table)
- Name - item name.
- Product Id- product id in S_PROD_INT table.
- Port Item Id - ID of the item's port (e.g. ORIG_ID of the port in S_PROD_ITEM table).
- Quantity - item quantity.
- List Price - item list price from Pricing Manager, can be empty.
- Current Price - current price from Pricing Manager, can be empty.
- Parent Path - path of the parent item the port belongs to.
Out:
None.
CopyInstance
Copies an instance.
In:
- ObjId - unique identifier to the complex object header of the source instance.
- RootId - unique identifier to the complex object root of the source instance.
- DestObjId - unique identifier to the complex object header of the destination instance.
- IntObjName - name of the integration object specified in Siebel Tools.
Out:
None.
RemoveItem
Removes an item from the instance.
In:
- ObjId - unique identifier to the complex object header.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used only when testing a customizable product version that is different from the currently released version.
- Path - path of the item.
Out:
None.
RepriceInstance
Updates the instance with values from the Pricing Manager service. A call to the Pricing Manager service's CalculatePriceCX method returns a property set that is the input to this method.
In:
- ObjId - unique identifier to the complex object header.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
The input property set has child property sets containing the reprice information. The format of the input property set is as follows:
< ObjId="value" RootId="value" Version="value" >
< IntId="integration id" FieldName="value"... FieldName="value" >
< IntId="integration id" FieldName="value"... FieldName="value" >
...
< />
In this context, the Integration ID is used to retrieve the instance item.
Out:
None.
SetAttribute
Sets the value of an item's attribute.
In:
- ObjId - unique identifier to the complex object root.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Path - path of the item with attribute to set.
- Value - attribute value.
- Name - attribute name.
- XA Id - extended attribute ID. This is the row ID of the attribute in the XA Attribute business component.
- Property Type Code - attribute type.
Out:
None.
SetItemQuantity
Sets the quantity of an item.
In:
- ObjId - unique identifier to the complex object root.
- RootId - unique identifier to the complex object root.
- Version (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version.
- Path - path of the item.
- Quantity - quantity to set.
Out:
None.
Object Broker Methods
The methods in this section call the Cfg Object Broker business service, which functions as a wrapper for the Object Broker.
GetProdStruct
This method returns the full structure of the customizable product.
In:
- RootId - Unique identifier to the complex object root. If provided, RootName, Vendor, and Org are ignored. If not provided, RootName, Vendor, and Org are used to uniquely identify the product.
- RootName - The root product name. Name can be used together with Vendor and Org as optional to uniquely identify a product.
- Version - (optional) - Version arguments are used ONLY when testing a customizable product version that is different from the currently released version. Specify 0 to return the work space.
- Vendor (optional) - Use with RootName to uniquely identify product.
- Org (optional) - Use with RootName to uniquely identify product.
- Full - Yes returns full product structure. Blank or No returns the first level of the product.
Out:
<ProdStruct> RootId
<ProdId> Name ClassId
<Port> Name ClassName ClassId OrigId Type MinCard MaxCard DefltCard LocalType InternalType
<Subobject Id/>
...
</port>
...
<Attribute> Name
<Domain Value />
...
</Attribute>
...
</ProdId>
...
</ProdStruct>
DeltaQuote
Performs a recursive tree comparison of two property sets to determine the difference between them based on a supplied criteria. This returns a copy of the destination product instance marked up to indicate changes. Out of the box, this API is called from an external service only in SIS Order Management so using that feature is the only way to see this API in action for the API Discovery.
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 hard drive existing, one hard drive new (the instance is split), one 900 MHz CPU removed, and one 1000 MHz CPU new.
If the output property set is empty and no error code is thrown, the cause is most likely that the instances were not recognized. Check the RootId parameters and the indenting of your source and destination SiebelMessages.
In:
- SrcRootId - Root ID for the product in the source of the comparison. This is the "before" property set.
- DestRootId - 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 - name of the integration component for the items in the source instance. For example, "Quote Item".
- DestItemIntComp - name of the integration component for the items in the destination instance. For example, "Quote Item".
- SrcXAIntComp - name of the integration component for the XA in the source instance. For example, "Quote Item XA".
- DestXAIntComp - 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, 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; 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". This defines what constitutes a unique instance of an item in the source and destination instances. It answers for the service 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". This defines what constitutes a unique instance of an attribute in the source and destination instances. It answers for the service 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. This is a double-indented SiebelMessage with a type of "SrcInst". The top section of the output from the API sniffers is pasted 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 = eConfigurator
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. This is a double-indented SiebelMessage with a type of "DestInst". The top section of the output from the API sniffers is pasted 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 = eConfigurator
Product Id = 1-1M9Y
Quantity = 1.0
Prod Item Id = null
Id = 1-12744
Out:
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.
Bookshelf Home | Contents | Index | Search | PDF |
Product Administration Guide, Version 7.5 Published: 18 April 2003 |