Product Administration Guide > Technical Reference > eConfigurator API >

About the Instance APIs


Instance APIs follow these general concepts:

NOTE:  The parameters are property set and, unless indicated, all properties are on the root level property set.

LoadInstance

This method loads the complex object into memory. This is the starting point for all configurations.

Input Arguments:
Output Arguments:

The following properties will be returned from the output property set:

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.

Handling Links. A child property set of type Links is 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 version 7.0.4 this changed to the INPUT property set for CreateSession. Configuration rules may have been defined for these linked items, 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, as in this example:

<Links 1-19D0X='10/19/2001' 1-1Z876='SADMIN' 1-1Z771='SADMIN'>

A child property set of type UnresolvedLinks is returned if the model has linked items that the business service could not 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 as headless configurations. The programmer must resolve all other links.

NOTE:  Make sure the unresolved links are calculated and their IDs and values are 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

This method initializes a configuration session, which is necessary for customizable products that have constraint rules. It is called immediately following LoadInstance where required.

Input Arguments:
Output Arguments:

If NewRecord is set to Y in the input property, the output will have the instance property set returned as a child of type CxObj. This is essentially the same output as the one that is returned from GetInstance.

SetInstance

This method 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 that is indicated by the integration object specified.

Input Arguments:

Same arguments 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.

Output Arguments:

Same arguments as LoadInstance.

SyncInstance

This method saves the complex object instance where it originated.

Input Arguments:

Output Arguments:

None

UnloadInstance

This method removes the existing configuration session from memory. It should be called after synchronizing the instance at the end of the configuration session.

Input Arguments:
Output Arguments:

None.

GetAllPorts

This method retrieves a list of all ports and (possibly) their contents for a product. It gets all ports for a product but not for its child products. It retrieves the basic definition of the product and does not consider any current configuration session state, so every possible port is retrieved.

Input Arguments:
Output Arguments:

All ports are returned as children of the output property set of type Port.

<Output>

   <Port>

      Port Information here

   </Port>

</Output>

EnumObjects

This method 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.

Input Arguments:
Output Arguments:

Child item information is returned as child property sets, as follows:

<Output>

< Name="value" Product Id="value" Path="value" Sequence Number="value" />

...

</Output>

GetAttribute

This method retrieves the value of an attribute.

Input Arguments:
Output Arguments:

The value is returned as a property of the output property set, as follows:

<Output Value="value">

</Output>

GetFieldValues

This method retrieves field values for a product that exists in the complex product.

Input Arguments:
Output Arguments:

The output property set returned will have the field names as properties, as follows:

< Field="value" Field="value" ... Field="value"/>

GetInstance

This method gets the loaded instance as a property set. It returns the full structure of products and attributes.

Input Arguments:
Output Arguments:

The entire property set output is the complex object instance.

GetParents

This method retrieves all the parents of an item.

Input Arguments:
Output Arguments:

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

This method retrieves selectable items from the configuration engine for a port

Input Arguments:
Output Arguments:

The property set returned will have the possible domain item product Ids as properties, each with the value 0, as follows:

< ProdId1="0" ProdId2="0" ... ProdIdn="0" />

GetPossibleValues

This method retrieves selectable values from the configuration engine for an attribute.

Input Arguments:
Output Arguments:

The property set returned will have the possible values as the property names, as follows:

< [PossibleValue1]="Val1" [PossibleValue2]="Val2"/>

GetProductId

This method gets the root Product ID of the complex object instance.

Input Arguments:
Output Arguments:

The product Id is returned as a property of the output property set, as follows:

< Product Id="value" />

GetRootPath

This method returns the path of the complex object instance root.

Input Arguments:
Output Arguments:

The root path is returned as a property of the output property set, as follows:

< Path="value" />

HasGenerics

This method 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.

Input Arguments:
Output Arguments:

 Product Administration Guide 
 Published: 23 June 2003