This chapter describes how to retrieve configuration details using the XML request and provides sample snippets of both the request and response for the different details that can be retrieved. This chapter has these sections:
Elements and Attributes
The CONFIGURATION element
The CONFIG_DETAILS element
The SECTION element
Total Price
Compound Violations
Components
Choices
Choice Violations
Component Violations
Externs
Numeric Values
External Variables
Configuration Attributes
Hierarchical Component Structure
Connections
Completeness Information
Summary, Configuration Information Elements and Attributes
The COPXML ConfigDetails feature lets you retrieve details about a saved configuration, including:
Total price for the configuration.
Delta information for changes between two versions of a configuration.
Information regarding configuration validity and violations.
Any existing conflicts in the configuration whether at the compound, component, or choice level.
Completeness information.
Component data, when returned, can include:
Name, type, ID, Total Price, SolveDate.
Choices—All choices, those specified by name, or those filtered by an attribute value. Selection point name, domain member name, state, and quantity (returned by default). Specified attribute values for each selection, optionally mapped to a different attribute name.
Externs—All or only those specified by name. Name and value(s). Values can be a collection of one or more.
Numeric Values—All or only those specified by name. Name, value, and type.
Config attributes—All or only those specified by name. Name and value.
Hierarchical component structure for compounds.
Name, type, ID, Total Price, SolveDate.
Connection data for compounds, when returned, includes:
Name, type, and ID.
Name, type, and ID of the connecting (from) component.
Name, type, and ID of the connected (to) component.
Note. The ConfigDetails request is processed separately from and supersedes any other elements included in the same request. Thus, if the CONFIG_DETAILS element is included in the request, the only operation performed during that post to the servlet is the configuration details request. Any other elements/attributes in the request will be ignored.
The COPXML ConfigDetails request may include these elements and attributes to retrieve details about a configuration.
CONFIGURATION configId solutionID validate CONFIG_DETAILS FLAG name value SECTION nm COMPONENTS FLAG name value COMPONENT_DEFINITION component FLAG name value VALUE FLAG_SET name VALUE SELECTION_ATTRIBUTES SELECTION_POINT name ATTRIBUTE name mapto STRUCTURE value SUBSTRUCTURE type value CONNECTIONS FLAG name value
The COPXML ConfigDetails response may include these elements and attributes to return details about a configuration.
CONFIG_DETAILS configId solutionId hasViolations isValid TOTAL_PRICE VIOLATIONS EXPLANATION COMPOUND_CONFIGURATION name type SECTION nm COMPONENTS CONFIGURABLE_COMPONENT name component id TOTAL_PRICE CONFIGURATION VIOLATIONS EXPLANATION COMPLETE STATUS DP NM CHOICES CH DP DM ST QTY ATTR NM NUMERIC_VALUES NUM NM VL TY EXTERN_VARS EV NM VAL CONFIG_ATTRIBUTES ATTR NM TY STRUCTURE CONFIGURABLE_COMPONENT name component id solve TOTAL_PRICE CONNECTED_COMPONENT CONNECTION id name ref fromCompId fromCompName fromCompType
to CompId toCompName toCompType CONFIGURABLE_COMPONENT name id component CONNECTIONS CONNECTION id name ref fromCompId fromCompName fromCompType
toCompId toCompName toCompType
The CONFIGURATION element must be included in the request. There can be only one CONFIGURATION element per request. It has a child element CONFIG_DETAILS and the attributes configId, solutionId and validate.
The CONFIG_DETAILS element is described in the next subsection. The attribute configId lets you specify the id of the configuration that you want to retrieve details for.
The attribute solutionId defines the solutionId for the configuration.
The attribute validate lets you retrieve information about whether the configuration is valid and if it has any violations.
Including in the REQUEST <CONFIGURATION configId="1676995129" solutionId="Construction" validate="true"> causes the ConfigDetails to return in the RESPONSE the configID, solutionId, and the boolean values for whether the configuration is valid and whether it has violations.
For example:
<CONFIGURATION configId="1676995129" solutionId="Construction" validate="true"> RESPONSE <CONFIG_DETAILS configId="1676995129" solutionId="Construction" hasViolations="true" isValid="false">
REQUEST
<CONFIGURATION configId="1676995129" solutionId="Construction" validate="true">
RESPONSE
<CONFIG_DETAILS configId="1676995129" solutionId="Construction" hasViolations="true" isValid="false">
Information about the validity of the configuration and whether it has violations is not returned in the response if the attribute validate is not included or if it is set it to “false” in the request.
For example:
REQUEST
<CONFIGURATION configId="1676995129" solutionId="Construction" validate="false">
OR
<CONFIGURATION configId="1676995129" solutionId="Construction">
RESPONSE
<CONFIG_DETAILS configId="1676995129" solutionId="Construction">
The CONFIG_DETAILS element is a child element of the CONFIGURATION element and must be included in the request to return details of a saved configuration. There can be only one CONFIG_DETAILS element for a request.
The CONFIG_DETAILS element lets you define one or more sections for the information to be returned in the response using the SECTION child element. It also lets you define whether you want total price (for component configurations and compounds) and compound conflicts (for compounds) returned in the response using the FLAG child element.
Differences between the currently displayed configuration and another version include:
Added, changed, or deleted choices.
Added, changed, or deleted configuration attributes.
Changed expression values.
Additions, deletions, and relocation of components and connections in compound models.
The DELTA_INFO element is a child element of the CONFIG_DETAILS element and must be included in the request to return delta details of a saved configuration.
Differences between the currently displayed configuration and another version include:
Added, changed, or deleted choices.
Added, changed, or deleted configuration attributes.
Changed expression values.
Additions, deletions, and relocation of components and connections in compound models.
By default, the delta information returned is between the most recently saved version of the configuration and the last version of the configuration whose order status was set to submitted. Optionally, the DELTA_INFO element lets you specify a range of dates to retrieve deltas for.
Including the DELTA_INFO element in a request for CONFIG_DETAILS of a component configuration will result in a response with the following structure:
CONFIG_DETAILS configId solutionId hasViolations isValid TOTAL_PRICE SECTION nm ". DELTA_INFO startDate endDate COMPONENT id name type modDate CONFIG_DELTA MODEL_DELTA PREVIOUS modelName modelVersion compileVersion CURRENT modelName modelVersion compileVersion CHOICE_ADDS CH DP DM ST QTY EVCH DP VAL CHOICE_DELETES CH DP DM ST QTY EVCH DP VAL CHOICE_CHANGES DELTA_CHOICE DP PREVIOUS CH DP DM ST QTY OR EVCH DP VAL CURRENT CH DP DM ST QTY OR EVCH DP VAL CFG_ATTR_ADDS ATTR nm val CFG_ATTR_DELETES ATTR nm val CFG_ATTR_CHANGES DELTA_ATTR nm PREVIOUS CURRENT EXPR_ADDS EXPR nm type val EXPR_DELETES EXPR nm type val EXPR_CHANGES DELTA_EXPR nm PREVIOUS CURRENT
Including the DELTA_INFO element in a request for CONFIG_DETAILS of a compound configuration will result in a response with the following structure:
CONFIG_DETAILS configId solutionId hasViolations isValid TOTAL_PRICE VIOLATIONS EXPLANATION COMPOUND_CONFIGURATION name type SECTION nm DELTA_INFO startDate endDate COMPONENT_ADDS COMPONENT id name type modDate COMPONENT_CHANGES COMPONENT id name type modDate CONFIG_DELTA MODEL_DELTA PREVIOUS modelName modelVersion compileVersion CURRENT modelName modelVersion compileVersion CHOICE_ADDS CH DP DM ST QTY EVCH DP VAL CHOICE_DELETES CH DP DM ST QTY EVCH DP VAL CHOICE_CHANGES DELTA_CHOICE DP PREVIOUS CH DP DM ST QTY OR EVCH DP VAL CURRENT CH DP DM ST QTY OR EVCH DP VAL CFG_ATTR_ADDS ATTR nm val CFG_ATTR_DELETES ATTR nm val CFG_ATTR_CHANGES DELTA_ATTR nm PREVIOUS CURRENT EXPR_ADDS EXPR nm type val EXPR_DELETES EXPR nm type val EXPR_CHANGES DELTA_EXPR nm PREVIOUS CURRENT COMPONENT_DELETES COMPONENT id name type modDate CONNECTION_ADDS CONN id name type modDate CONNECTION_MOVES CONN id name type modDate CONN_DELTA PREVIOUS fromCompId toCompId CURRENT fromCompId toCompId CONNECTION_DELETES CONN id name type modDate
The SECTION element is a child element of the CONFIG_DETAILS element. There may be one or more SECTION elements for a given request.
Each SECTION element can be used to define the different components and their details, connections and their details (for compounds) and the hierarchical component structure (for compounds) to be returned in the response by using the COMPONENTS, CONNECTIONS and STRUCTURE child elements respectively. There can be only one each of the COMPONENTS, CONNECTIONS and STRUCTURE child elements in each SECTION element and they are optional. The detailed descriptions of the child elements are discussed in further subsections of this section.
The attribute nm of the SECTION element lets you define a title for the section that can be used by the application receiving the response in any manner appropriate for the application. The nm attribute is optional and the value for the nm attribute does not have to be unique across the request, that is, one or more sections may define the same string for nm.
For example:
REQUEST
<SECTION nm="PackageDetails">
RESPONSE
<SECTION nm="PackageDetails">
The FLAG child element of the CONFIG_DETAILS element lets you retrieve the configuration’s total price.
Including in the REQUEST FLAG type= "detailsReturned"" value="totalPrice" causes the ConfigDetails to return in the RESPONSE the value for the TOTAL_PRICE attribute for the whole configuration as well as the total price for each component in the respective components’s section.
For example:
REQUEST
<FLAG type="detailsReturned" value="totalPrice"/>
RESPONSE
<CONFIG_DETAILS configId="1676995129" solutionId="OutputUtil" TOTAL_PRICE="211200.00"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component=
"Building"id="1676995126" TOTAL_PRICE="2120.00"
solveDate="20010625">
The FLAG child element of the CONFIG_DETAILS element lets you retrieve a compound configuration’s violations.
Including in the REQUEST FLAG type="detailsReturned" value="compoundConflicts" causes the ConfigDetails to return in the RESPONSE the compound violation explanations.
For example:
REQUEST
<FLAG type="detailsReturned" value="compoundConflicts"/>
RESPONSE
<VIOLATIONS> <EXPLANATION>Component Building has an invalid configuration.</ EXPLANATION> </VIOLATIONS>
The COMPONENTS child element of the SECTION element and its FLAG and COMPONENT_DEFINITION child elements let you retrieve components and their details. There can be only one COMPONENTS element per SECTION element. The FLAG element under COMPONENTS lets you define the component type filter and the COMPONENT_DEFINITION element lets you define what details to return for a component type. There may be zero or more FLAG elements, each defining a different component type filter.
Case 1
Including in the REQUEST both the FLAG and COMPONENT_DEFINITION elements for one or more component types and every type defined in FLAG that has a matching type defined in COMPONENT_DEFINITION causes ConfigDetails to return in the RESPONSE all components of the requested type(s) and the requested details for those components.
For example:
REQUEST
<SECTION nm="PackageDetails"> <COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <FLAG type="componentFilterType" value="Floor"/> <COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> <FLAG type="detailsReturned" value="externs"/> <FLAG type="detailsReturned" value="expressions"/> <FLAG type="detailsReturned" value="configAttributes"/> <FLAG type="detailsReturned" value="componentConflicts"/> <FLAG type="detailsReturned" value="selectionConflicts"/> </COMPONENT_DEFINITION> <COMPONENT_DEFINITION component="Floor"> <FLAG type="detailsReturned" value="selections"/> <FLAG type="detailsReturned" value="externs"/> </COMPONENT_DEFINITION>
RESPONSE
<SECTION nm="PackageDetails"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id= "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <<---Details--->> <VIOLATIONS> <<---Details--->> </VIOLATIONS> </CHOICES> <NUMERIC_VALUES> <<---Details--->> </NUMERIC_VALUES> <EXTERN_VARS> <<---Details--->> </EXTERN_VARS> <VIOLATIONS> <<---Details--->> </VIOLATIONS> <CONFIG_ATTRIBUTES> <<---Details--->> </CONFIG_ATTRIBUTES> </CONFIGURATION> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor"
id="1676995128" TOTAL_PRICE="1900.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <<---Details--->> </CHOICES> <EXTERN_VARS> <<---Details--->> </EXTERN_VARS> </CONFIGURATION> </CONFIGURABLE_COMPONENT> </COMPONENTS>
Case 2
Including in the REQUEST the FLAG elements for one or more component types and COMPONENT_DEFINITION elements for some, but not all, component types defined in the FLAG element causes ConfigDetails to return in the RESPONSE all components of the requested type(s) that have a matching type defined in a COMPONENT_DEFINITION element and the requested details for those components.
For example:
REQUEST
<SECTION nm="PackageDetails"> <COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <FLAG type="componentFilterType" value="Floor"/> <COMPONENT_DEFINITION component="Floor"> <FLAG type="detailsReturned" value="selections"/> <FLAG type="detailsReturned" value="externs"/> </COMPONENT_DEFINITION>
RESPONSE
<SECTION nm="PackageDetails"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor"
id="1676995128" TOTAL_PRICE="1900.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <<---Details--->> </CHOICES> <EXTERN_VARS> <<---Details--->> </EXTERN_VARS> </CONFIGURATION> </CONFIGURABLE_COMPONENT> </COMPONENTS>
Note that components for type Building were not returned as there was no corresponding COMPONENT_DEFINITION element supplied in the request.
Case 3
Including in the REQUEST both the FLAG and COMPONENT_DEFINITION elements for one or more component types causes ConfigDetails to return in the RESPONSE all components of the requested type(s) that have a matching type defined in the COMPONENT_DEFINITION element and the requested details for those components. For those components with no matching type in COMPONENT_DEFINITION, the default definition is used to determine what details to return in the response. Every type defined in FLAG does not have a matching type defined in COMPONENT_DEFINITION). However, it defines a COMPONENT_DEFINITON element without specifying a component type (the default definition).
For example:
REQUEST
<SECTION nm="PackageDetails"> <COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <FLAG type="componentFilterType" value="Floor"/> <COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="expressions"/> </COMPONENT_DEFINITION> <COMPONENT_DEFINITION> (or <COMPONENT_DEFINITION component=""> <FLAG type="detailsReturned" value="selections"/> <FLAG type="detailsReturned" value="externs"/> <FLAG type="detailsReturned" value="configAttributes"/> </COMPONENT_DEFINITION>
RESPONSE
<SECTION nm="PackageDetails"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id= "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <NUMERIC_VALUES> <<---Details--->> </NUMERIC_VALUES> </CONFIGURATION> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor"
id="1676995128" TOTAL_PRICE="1900.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <<---Details--->> </CHOICES> <EXTERN_VARS> <<---Details--->> </EXTERN_VARS> <CONFIG_ATTRIBUTES> <<---Details--->> </CONFIG_ATTRIBUTES> </CONFIGURATION> </CONFIGURABLE_COMPONENT> </COMPONENTS>
Case 4
Including in the REQUEST only the COMPONENT_DEFINITION elements for one or more component types, but no FLAG elements, causes ConfigDetails to return in the RESPONSE all components of the compound, or the single component in the case of a component configuration. The corresponding COMPONENT_DEFINITION element is used to return the details. If a COMPONENT_DEFINITION does not exist for a component type, the default definition is used to return details. If a default definition does not exist, only high-level details are returned for components of that type.
For example:
REQUEST
<SECTION nm="PackageDetails"> <COMPONENTS> <COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="expressions"/> </COMPONENT_DEFINITION> <COMPONENT_DEFINITION> (or <COMPONENT_DEFINITION component=""> <FLAG type="detailsReturned" value="externs"/> <FLAG type="detailsReturned" value="configAttributes"/> </COMPONENT_DEFINITION> <COMPONENT_DEFINITION component="Room"> <FLAG type="detailsReturned" value="externs"/> </COMPONENT_DEFINITION>
RESPONSE
<SECTION nm="PackageDetails"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id=⇒ "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <NUMERIC_VALUES> <<---Details--->> </NUMERIC_VALUES> </CONFIGURATION> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor"
id="1676995128"⇒ TOTAL_PRICE="1900.00" solveDate="20010625"> <CONFIGURATION> <EXTERN_VARS> <<---Details--->> </EXTERN_VARS> <CONFIG_ATTRIBUTES> <<---Details--->> </CONFIG_ATTRIBUTES> </CONFIGURATION> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Room-1" component="Room"
id="1676995129"⇒ TOTAL_PRICE="130.00" solveDate="20010625"> <CONFIGURATION> <EXTERN_VARS> <<---Details--->> </EXTERN_VARS> </CONFIGURATION> </CONFIGURABLE_COMPONENT> </COMPONENTS>
Note that details for components of type Building and Room were returned based on the corresponding COMPONENT_DEFINITION elements and that details for components of type Floor were based on the default COMPONENT_DEFINITION element.
Case 5
Including in the REQUEST only the FLAG elements for one or more component types, but no COMPONENT_DEFINITION elements, causes ConfigDetails to return in the RESPONSE only high-level details for all components of the requested type(s) defined in the FLAG elements.
For example:
REQUEST
<SECTION nm="PackageDetails"> <COMPONENTS> <FLAG type="componentFilterType" value="Building"/> < FLAG type="componentFilterType" value="Floor"/>
RESPONSE
<SECTION nm="PackageDetails"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id=⇒ "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor"
id="1676995128"⇒ TOTAL_PRICE="1900.00" solveDate="20010625"> </CONFIGURABLE_COMPONENT> </COMPONENTS>
Case 6
Including in the REQUEST neither the FLAG element nor the COMPONENT_DEFINITION element causes ConfigDetails to return in the RESPONSE only high-level details for all components of the compound or the single component in case of a component configuration.
For example:
REQUEST
<SECTION nm="PackageDetails"> <COMPONENTS>
RESPONSE
<SECTION nm="PackageDetails"> <COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id=⇒ "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor"
id="1676995128"⇒ TOTAL_PRICE="1900.00" solveDate="20010625"> </CONFIGURABLE_COMPONENT> <CONFIGURABLE_COMPONENT name="Room-1" component="Room"
id="1676995129" TOTAL_⇒ PRICE="1300.00" solveDate="20010625"> </CONFIGURABLE_COMPONENT> </COMPONENTS>
Note. In the case of a single component configuration, the
element FLAG is ignored. The details for the single component are returned
in the response as defined in the COMPONENT_DEFINITION.
In the case of a compound configuration, an extra child element of the
CONFIG_DETAILS element is included in the response indicating the name and
type of the compound.
The FLAG and FLAG_SET child elements of the COMPONENT_DEFINITION element let you retrieve choices and their details for a component. The SELECTION_ATTRIBUTES child element of COMPONENT_DEFINITION lets you retrieve attributes for choices and also lets you map the attribute name to a different name to be returned in the response.
Case 1
Including in the REQUEST only the FLAG element specifying choices to be returned, causes ConfigDetails to return in the RESPONSE all choices for a component. Details returned are decision point name, domain member name, state, and quantity.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> - - - </COMPONENT_DEFINITION
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> </CH> <CH DP="BuildingColorSelection" DM="Blue" ST="66" QTY="1.0"> </CH> <CH DP="BuildingHeightSelection" DM="300" ST="66" QTY="1.0"> </CH> </CHOICES> - - - </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Case 2
Including in the REQUEST the FLAG element specifying choices to be returned and the SELECTION_ATTRIBUTES element specifying the attributes to be returned, causes ConfigDetails to return in the RESPONSE all choices for a component. Details returned are decision point name, domain member name, state, quantity, and the requested attribute names. Please note the use of the mapTo attribute in the example below.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> - - - <SELECTION_ATTRIBUTES> <SELECTION_POINT type="BuildingTypeSelection"> <ATTRIBUTE nm="listPrice" mapto=""/> <ATTRIBUTE nm="description" mapto="desc"/> </SELECTION_POINT> <SELECTION_POINT type="BuildingColorSelection"> <ATTRIBUTE nm="sku"/> </SELECTION_POINT> <SELECTION_ATTRIBUTES> </COMPONENT_DEFINITION
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> <ATTR NM="listPrice">2000.0</ATTR> <ATTR NM="desc">Apartment</ATTR> </CH> <CH DP="BuildingColorSelection" DM="Blue" ST="66" QTY="1.0"> <ATTR NM="sku">CB00255</ATTR> </CH> <CH DP="BuildingHeightSelection" DM="300" ST="66" QTY="1.0"> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Note. To return the same attributes for all the choices, specify the SELECTION_POINT element only once, specifying the attributes you want returned and without specifying the type attribute. Specifying mapTo="" is equivalent to not specifying the mapTo attribute.
Case 3
Including in the REQUEST the FLAG element specifying choices to be returned and the FLAG element specifying the type selectionFilterAttribute, causes ConfigDetails to return in the RESPONSE all choices for a component that have the attribute(s) specified in the selectionFilterAttribute filter (the attribute(s) is not returned in the response in this case). Details returned are decision point name, domain member name, state, and quantity.
The selectionFilterAttribute defines an attribute that must exist on the choice for the choice to be returned in the response. Further, if it has a child element VALUE (this is optional), the value specified must match the value of the attribute on that choice for that choice to be returned. If more than one selectionFilterAttribute is specified, all of them must exist and satisfy the equality condition specified by VALUE for that choice to be returned.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> <FLAG type="selectionFilterAttribute" value="listPrice"> <VALUE>2000.0</VALUE> </FLAG> </COMPONENT_DEFINITION
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Case 4
Including in the REQUEST the FLAG element specifying choices to be returned, the FLAG element specifying the type selectionFilterAttribute, and the SELECTION_ATTRIBUTES element specifying the attributes to be returned causes ConfigDetails to return in the RESPONSE all choices for a component that have the attribute(s) specified in the selectionFilterAttribute filter (the attribute(s) is returned in the response in this case).
Details returned are decision point name, domain member name, state, quantity and the requested attributes.
For example:
REQUEST
<FLAG type="detailsReturned" value="selections"/> <FLAG type="selectionFilterAttribute" value="listPrice"> <VALUE>2000.0</VALUE> </FLAG> <SELECTION_ATTRIBUTES> <SELECTION_POINT type="BuildingTypeSelection"> <ATTRIBUTE nm="listPrice" mapto=""/> <ATTRIBUTE nm="description" mapto="desc"/> </SELECTION_POINT> <SELECTION_POINT type="BuildingColorSelection"> <ATTRIBUTE nm="sku"/> </SELECTION_POINT> <SELECTION_ATTRIBUTES> </COMPONENT_DEFINITION
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> <ATTR NM="listPrice">2000.0</ATTR> <ATTR NM="desc">Apartment</ATTR> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Note. To return the same attributes for all the choices, specify the SELECTION_POINT element only once, specifying the attributes you want returned but not the type attribute.
Case 5
Including in the REQUEST the FLAG element specifying choices to be returned and the FLAG_SET element specifying the specific choice(s) to be returned causes ConfigDetails to return in the RESPONSE the requested choices for a component. Details returned are decision point name, domain member name, state, and quantity.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> <FLAG_SET type="selectionFilterNames"> <VALUE>BuildingTypeSelection</VALUE> <VALUE>BuildingColorSelection</VALUE> </FLAG_SET> </COMPONENT_DEFINITION
RESPONSE
V<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> </CH> <CH DP="BuildingColorSelection" DM="Blue" ST="66" QTY="1.0"> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Case 6
Including in the REQUEST the FLAG element specifying choices to be returned, the FLAG_SET element specifying the specific choice(s) to be returned, and the SELECTION_ATTRIBUTES element specifying the attributes to be returned. causes ConfigDetails to return in the RESPONSE the requested choices for a component. See Cases 2 and 5 above.
Details returned are decision point name, domain member name, state, quantity, and requested attributes.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> <FLAG_SET type="selectionFilterNames"> <VALUE>BuildingTypeSelection</VALUE> <VALUE>BuildingColorSelection</VALUE> </FLAG_SET> <SELECTION_ATTRIBUTES> <SELECTION_POINT type="BuildingTypeSelection"> <ATTRIBUTE nm="listPrice" mapto="price"/> <ATTRIBUTE nm="description" mapto="desc"/> </SELECTION_POINT> <SELECTION_POINT type="BuildingColorSelection"> <ATTRIBUTE nm="sku"/> </SELECTION_POINT> </SELECTION_ATTRIBUTES> </COMPONENT_DEFINITION
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> <ATTR NM="price">2000.0</ATTR> <ATTR NM="desc">Apartment</ATTR> </CH> <CH DP="BuildingColorSelection" DM="Blue" ST="66" QTY="1.0"> <ATTR NM="sku">CB00255</ATTR> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Case 7
Including in the REQUEST the FLAG element specifying choices to be returned, the FLAG_SET element specifying the specific choice(s) to be returned, and the FLAG element specifying the type selectionFilterAttribute causes ConfigDetails to return in the RESPONSE the requested choices for a component that have the attribute(s) specified in the selectionFilterAttribute flag.
Details returned are decision point name, domain member name, state, and quantity.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> <FLAG_SET type="selectionFilterNames"> <VALUE>BuildingTypeSelection</VALUE> <VALUE>BuildingColorSelection</VALUE> </FLAG_SET> <FLAG type="selectionFilterAttribute" value="listPrice"> <VALUE>2000.0</VALUE> </FLAG> </COMPONENT_DEFINITION
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id=⇒ "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
Case 8
Including in the REQUEST the FLAG element specifying choices to be returned, the FLAG_SET element specifying the specific choice(s) to be returned, the FLAG element specifying the type selectionFilterAttribute, and the SELECTION_ATTRIBUTES element specifying the attributes to be returned causes ConfigDetails to return in the RESPONSE the requested choices for a component that have the attribute(s) specified in the selectionFilterAttribute flag. Details returned are decision point name, domain member name, state, quantity, and requested attributes. See cases 2 and 7 above.
For example:
REQUEST
<COMPONENT_DEFINITION component="Building"> <FLAG type="detailsReturned" value="selections"/> <FLAG type="selectionFilterAttribute" value="onOrder"> <VALUE>true</VALUE> </FLAG> <FLAG_SET type="selectionFilterNames"> <VALUE>BuildingTypeSelection</VALUE> <VALUE>BuildingColorSelection</VALUE> </FLAG_SET> <SELECTION_ATTRIBUTES> <SELECTION_POINT type="BuildingTypeSelection"> <ATTRIBUTE nm="listPrice" mapto="price"/> <ATTRIBUTE nm="description" mapto="desc"/> </SELECTION_POINT> <SELECTION_POINT type="BuildingColorSelection"> <ATTRIBUTE nm="sku"/> </SELECTION_POINT> </SELECTION_ATTRIBUTES> <COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> <ATTR NM="price">2000.0</ATTR> <ATTR NM="desc">Apartment</ATTR> </CH> <CH DP="BuildingColorSelection" DM="Blue" ST="66" QTY="1.0"> <ATTR NM="sku">CB00255</ATTR> </CH> </CHOICES> </CONFIGURATION> <CONFIGURABLE_COMPONENT> <COMPONENTS>
The Flag child element of the COMPONENT_DEFINITION element lets you retrieve component violations for a choice. Note that choices have to be requested in order to return choice conflicts.
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element for a component type specifying choices to be returned, and another FLAG element specifying choice violations to be returned, causes ConfigDetails to return in the RESPONSE the choice violations for each of the choices returned for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="selections"/> <FLAG type="detailsReturned" value="selectionConflicts"/> - - -
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <CHOICES> <CH DP="BuildingTypeSelection" DM="Apartment" ST="66" QTY="1.0"> <VIOLATIONS> <EXPLANATION>The country and building type are not compatible. </EXPLANATION> </VIOLATIONS> </CH>
The Flag child element of the COMPONENT_DEFINITION element lets you retrieve component violations for a component.
Including in the REQUEST the FLAG element under the COMPONENT_DEFINITION element for a component type specifying component violations to be returned, causes ConfigDetails to return in the RESPONSE the component violations for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="componentConflicts"/> - - -
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <VIOLATIONS> <EXPLANATION>The building height cannot exceed 500 feet.</ EXPLANATION> </VIOLATIONS>
The FLAG and FLAG_SET child elements of the COMPONENT_DEFINITION element let you retrieve extern values for a component.
Case 1
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element for a component type specifying externs to be returned, causes ConfigDetails to return in the RESPONSE all externs for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="ZSer"/> <COMPONENT_DEFINITION component="ZSer"> - - - <FLAG type="detailsReturned" value="externs"/> - - - </COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="ZSeries05" component="ZSER" id="1676995126" TOTAL_PRICE="42120.00" solveDate="20040625"> <CONFIGURATION> - - - <EXTERN_VARS> <EV NM="# of doors" TY="INT"> <VAL>2</VAL> </EV> <EV NM="Delivery date" TY="DATE"> <VAL>20041231</VAL> </EV> <EV NM="PriceLimit" TY="DOUBLE"> <VAL>40000</VAL> </EV> <EV NM="Undercoating?" TY="BOOL"> <VAL>false</VAL> </EV> <EV NM="Wheel type" TY="STRING"> <VAL>ALLOY</VAL> </EV> </EXTERN_VARS> - - - </CONFIGURATION>
Case 2
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element for a component type specifying externs to be returned, and a FLAG_SET element under the same COMPONENT_DEFINITION element defining the specific extern(s) to be returned, causes ConfigDetails to return in the RESPONSE only the requested extern(s) for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="ZSER"/> <COMPONENT_DEFINITION component="ZSER"> - - - <FLAG type="detailsReturned" value="externs"/> <FLAG_SET type="externFilterNames"> <VALUE># of doors</VALUE> </FLAG_SET> - - - </COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="ZSeries05" component="ZSER"
id="1676995126"⇒ TOTAL_PRICE="42120.00" solveDate="20040625"> <CONFIGURATION> - - - <EXTERN_VARS> <EV NM="# of Doors" TY="2"> <VAL>2</VAL> </EV> </EXTERN_VARS> - - - </CONFIGURATION>
The FLAG and FLAG_SET child elements of the COMPONENT_DEFINITION element let you retrieve numeric values for a component.
Case 1
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element specifying numeric values to be returned for a component type causes ConfigDetails to return in the RESPONSE all numeric values for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="expressions"/> - - - </COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> - - - <NUMERIC_VALUES> <NUM NM="TotalListPrice" VL="2001.0" TY="FLOAT"/> <NUM NM="OccupantsPerFloor" VL="1.3333334" TY="FLOAT"/> </NUMERIC_VALUES> - - - </CONFIGURATION>
Case 2
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element for a component type specifying numeric values to be returned, and a FLAG_SET element under the same COMPONENT_DEFINITION element defining the specific numeric value(s) to be returned, causes ConfigDetails to return in the RESPONSE only the requested numeric value(s) for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="expressionsterns"/> <FLAG_SET type="expressionFilterNames"> <VALUE>OccupantsPerFloor</VALUE> </FLAG_SET> - - - </COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> - - - <NUMERIC_VALUES> <NUM NM="OccupantsPerFloor" VL="1.3333334" TY="FLOAT"/> </NUMERIC_VALUES> - - - </CONFIGURATION>
The EXTERN_VARS element, the child element EV, and the NM attribute of the EV element let you retrieve extern variable values for the configuration.
Including in the REQUEST the EXTERN_VARS element causes the COP to return in the RESPONSE all EV elements for the configuration. Each EV element is a child element of EXTERN_VARS that has attribute-value pairs for its NM and TP attributes and one or more VAL child elements that contain the value(s) for the extern variable.
For example:
REQUEST
<CONFIGURATION MODEL_ID="AutoInsGeneralCRM" MODEL_VERSION="8-8-1"> <CHOICES> <CH DP="LeadClSelection" DM="DEALER" BY="U" SL="1" QTY="1"/> <EVCH DP="ClaimCount"> <VAL>5</VAL> </EVCH> <EVCH DP="ContinuousYearsEntry"> <VAL>15</VAL> </EVCH> </CHOICES> <EXTERN_VARS/> </CONFIGURATION>
RESPONSE
<CONFIGURATION MODEL_ID="AutoInsGeneralCRM" MODEL_VERSION="8-8-1" COMPILE_VERSION="20020927-152727-590"> <EXTERN_VARS> <EV NM="ClaimCount"> <VAL>5.0</VAL> </EV> <EV NM="ContinuousYearsEntry"> <VAL>15.0</VAL> </EV> <EV NM="GeneralZipCode"> </EV> <EV NM="VehicleCostsEntry"> </EV> <EV NM="DriverRiskFromCoverage"> </EV> </EXTERN_VARS> </CONFIGURATION>
Including in the REQUEST the EXTERN_VARS element, and the child element EV with a valid value for its NM attribute causes the COP to return in the RESPONSE the EXTERN_VARS element, and as a child element, the EV element named in the request with value(s) for its VAL element(s).
For example:
REQUEST
<CONFIGURATION MODEL_ID="AutoInsGeneralCRM" MODEL_VERSION="8-8-1"> <CHOICES> <CH DP="LeadClSelection" DM="DEALER" BY="U" SL="1" QTY="1"/> <EVCH DP="ClaimCount"> <VAL>5</VAL> </EVCH> <EVCH DP="ContinuousYearsEntry"> <VAL>15</VAL> <VAL>25</VAL> </EVCH> </CHOICES> <EXTERN_VARS> <EV NM="ContinuousYearsEntry"/> </EXTERN_VARS> </CONFIGURATION>
The FLAG and FLAG_SET child elements of the COMPONENT_DEFINITION element let you retrieve configuration attributes for a component.
Case 1
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element for a component type specifying configuration attribute values to be returned causes ConfigDetails to return in the RESPONSE all configuration attributes for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="configAttributes"/> - - - </COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> - - - <CONFIG_ATTRIBUTES> <ATTR NM="Customer name">John Smith </ATTR> <ATTR NM="Phone number">(123)456-7890 </ATTR> </CONFIG_ATTRIBUTES> - - - </CONFIGURATION>
Case 2
Including in the REQUEST a FLAG element under the COMPONENT_DEFINITION element for a component type specifying configuration attributes to be returned and a FLAG_SET element under the same COMPONENT_DEFINITION element defining the specific configuration attribute(s) to be returned causes ConfigDetails to return in the RESPONSE only the requested configuration attribute(s) for components of the specified type.
For example:
REQUEST
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="externs"/> <FLAG_SET type="configAttributesFilterNames"> <VALUE>CustomerName</VALUE> </FLAG_SET> - - - </COMPONENT_DEFINITION>
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> - - - <CONFIG_ATTRIBUTES> <ATTR NM="Customer name">John Smith </ATTR> </CONFIG_ATTRIBUTES> - - - </CONFIGURATION>
The STRUCTURE and SUBSTRUCTURE child elements of the SECTION element let you return high-level details for components of a compound configuration in a hierarchical structure. The STRUCTURE element always defines a component type filter whereas the SUBSTRUCTURE elements may define either a component type filter or a connection type filter. There can be only one STRUCTURE element per SECTION element. However there can be one or more SUBSTRUCTURE elements under the STRUCTURE element and nested SUBSTRUCTURE elements as well.
Including in the REQUEST the STRUCTURE element defined as <SECTION> <STRUCTURE value="Building"> <SUBSTRUCTURE type="componentFilterType" value="Floor"> <SUBSTRUCTURE type="connectionFilterType" value="RoomOnFloor"/> </SUBSTRUCTURE> </STRUCTURE>
causes ConfigDetails to return in the RESPONSE all components of type Building, all components of type Floor connected to each Building, and all components connected to each Floor by the connection type RoomOnFloor in a hierarchical structure.
For example:
REQUEST
<SECTION> <STRUCTURE value="Building"> <SUBSTRUCTURE type="componentFilterType" value="Floor"> <SUBSTRUCTURE type="connectionFilterType" value="RoomOnFloor"/> </SUBSTRUCTURE> </STRUCTURE>
RESPONSE
<SECTION> <STRUCTURE> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id=⇒ "1676995126" TOTAL_PRICE="2120.00" solveDate="20010625"> <CONNECTED_COMPONENT> <CONNECTION id="" name="BtF" ref="FloorInBuilding"
fromCompId=⇒ "1676995126" fromCompName="Building-1" fromCompType=
"Building" to⇒ CompId="1676995128" toCompName="Floor-1" toCompType="Floor"/> <CONFIGURABLE_COMPONENT name="Floor-1" component="Floor" id=""
TOTAL_⇒ PRICE="1900.00" solveDate="20010625"> <CONNECTED_COMPONENT> <CONNECTION id="" name="FtR" ref="RoomOnFloor" fromCompId=
"1676995128"⇒ ⇒ fromCompName="Floor-1" fromCompType="Floor" toCompId=
"1676995127" toComp⇒ Name="Room-1" toCompType="Room"/> <CONFIGURABLE_COMPONENT name="Room-1" component="Room" id=""
TOTAL_⇒ PRICE="1120.00" solveDate="20010625" /> </CONNECTED_COMPONENT> </CONFIGURABLE_COMPONENT> </CONNECTED_COMPONENT> </CONFIGURABLE_COMPONENT> </STRUCTURE> </SECTION>
The CONNECTIONS child element of the SECTION element and its FLAG child element let you retrieve connections and their details. There can be only one CONNECTIONS element per SECTION element. The FLAG element of CONNECTIONS lets you define the connection type filter. There may be zero or more FLAG elements, each defining a different connection type filter.
Case 1
Including in the REQUEST only the CONNECTIONS element without defining the FLAG element causes ConfigDetails to return in the RESPONSE all details for connections if connected to components that are returned in the response.
For example:
REQUEST
<SECTION nm="PackageDetails"> <CONNECTIONS> </CONNECTIONS>
RESPONSE
<SECTION nm="PackageDetails"> <CONNECTIONS> <CONNECTION id="" name="BtF" ref="FloorInBuilding" fromCompId=
"1676995126"⇒ fromCompName="Building-1" fromCompType="Building" toCompId=
"1676995128" toComp⇒ Name="Floor-1" toCompType="Floor"/> <CONNECTION id="" name="FtR" ref="RoomOnFloor" fromCompId=
"1676995128" from⇒ CompName="Floor-1" fromCompType="Floor" toCompId=
"1676995127" toCompName="Room-⇒ 1" toCompType="Room"/> </CONNECTIONS>
Case 2
Including in the REQUEST the CONNECTIONS element and the FLAG child element defining one or more connection type filter(s) causes ConfigDetails to return in the RESPONSE details for connections of the requested connection type(s) if connected to components that are returned in the response.
For example:
REQUEST
<SECTION nm="PackageDetails"> <CONNECTIONS> <FLAG type="connectionFilterType" value="RoomOnFloor"/> </CONNECTIONS>
RESPONSE
<SECTION nm="PackageDetails"> <CONNECTIONS> <CONNECTION id="" name="FtR" ref="RoomOnFloor" fromCompId="1676995128" fromCompName="Floor-1" fromCompType="Floor"
toCompId= "1676995127" toCompName="Room-1" toCompType="Room"/> </CONNECTIONS>
Completeness information will be returned in the response for those components for which component conflicts have been requested and if the attribute validate of the CONFIGURATION element is set to “true” in the request.“The CONFIGURATION element” and “ComponentConflicts”
See The CONFIGURATION Element.
Including in the REQUEST
<CONFIGURATION configId="1676995129" solutionId="OutputUtil" validate="true">
and
<COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="componentConflicts"/> - - -
causes ConfigDetails to return in the RESPONSE a status of FALSE along with the required decision point name(s) that do not have a selection if components of type Building have a completeness violation, OR, a status of TRUE if the components of type Building do not have any completeness violations.
For example:
REQUEST
<CONFIGURATION configId="1676995129" solutionId="OutputUtil" validate="true"> and <COMPONENTS> <FLAG type="componentFilterType" value="Building"/> <COMPONENT_DEFINITION component="Building"> - - - <FLAG type="detailsReturned" value="componentConflicts"/> - - -
RESPONSE
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <COMPLETE STATUS="FALSE"> <DP NM="BuildingHeightSelection"/> <DP NM="BuildingStyleSelection"/> </COMPLETE>
OR
<COMPONENTS> <CONFIGURABLE_COMPONENT name="Building-1" component="Building"
id="1676995126"⇒ TOTAL_PRICE="2120.00" solveDate="20010625"> <CONFIGURATION> <COMPLETE STATUS="TRUE"> </COMPLETE>
These tables provide a quick reference to configuration information elements and attributes.
Attribute |
Possible Values |
Case-Sensitive? |
validate |
true |
no |
false |
no |
Attribute |
Possible Values |
Case-Sensitive? |
returnDeltas |
true false |
no no |
startDate |
valid Java date |
no |
endDate |
valid Java date |
no |
Attribute |
Possible Values |
Attribute |
Possible Values |
Case-Sensitive? |
type |
detailsReturned |
value |
totalPrice |
no |
compoundConflicts |
no |
Attribute |
Possible Values |
Case-Sensitive? |
nm |
Any string |
no |
Attribute |
Possible Values |
Attribute |
Possible Values |
Case-Sensitive? |
type |
componentFilterType |
value |
Any component type |
yes |
Attribute |
Possible Values |
Attribute |
Possible Values |
Case-Sensitive? |
type |
connectionFilterType |
value |
Any connection type |
yes |
Attribute |
Possible Values |
Case-Sensitive? |
component |
Any component type |
yes |
Attribute |
Possible Values |
Case-Sensitive? |
value |
Any component type |
yes |
Attribute |
Possible Values |
Child/Attribute |
Possible Values |
Case-Sensitive? |
type |
detailsReturned |
value |
selections |
no |
detailsReturned |
externs |
no |
||
detailsReturned |
expressions |
no |
||
detailsReturned |
configAttributes |
no |
||
detailsReturned |
selectionConflicts |
no |
||
detailsReturned |
componentConflicts |
no |
||
type |
selectionFilterAttribute |
value |
Any attribute name |
yes |
value |
The value for the attribute |
yes |
Attribute |
Possible Values |
Child |
Possible Values |
Case-Sensitive? |
type |
selectionFilterNames |
VALUE |
Any choice name |
yes |
type |
externFilterNames |
VALUE |
Any extern name |
yes |
type |
expressionFilterNames |
VALUE |
Any numeric value name |
yes |
type |
configAttributeFilterNames |
VALUE |
Any config attribute name |
yes |
Element SELECTION_POINT – child of element SELECTION_ATTRIBUTES |
||
Attribute |
Possible Values |
Case-Sensitive? |
type |
Any choice name |
yes |
Attribute |
Possible Values |
Case-Sensitive? |
nm |
Any attribute name |
yes |
mapTo |
Any string |
yes |