Product Administration Guide > Technical Reference >
Displaying Fields from S_PROD_INT in Selection Pages
You can add the fields from the Product Master tables (S_PROD_INT) to selection pages. The process has the following steps:
- Add the fields to the CFG CX Products Buscomp and define user properties. This buscomp is part of the Object Broker and extracts data from S_PROD_INT.
- Add SWE code to the desired Web template. The SWE code retrieves the field from the buscomp and displays it in selection pages. Fields display as text boxes.
- Delete the contents of the CFGCache directory. This forces the system to create a new instance of the customizable product containing the fields.
You can display text fields only for product items or for the product root. This means you can insert the SWE code only in the following places:
- For-each loops that iterate on relationship domains or the children of relationship domains. You cannot insert the code in for-each loops that iterate on attributes or on groups.
- At the root level. The template in which you insert the SWE code must not be called from inside a for-each in any other Web template.
The procedures in this section require you to have a thorough knowledge of Siebel Tools. You must also have a thorough understanding of eConfigurator Web template structure.
Add Fields to the CFG CX Products Buscomp
This procedure adds the fields you want to display to the Object Broker and recompiles the application. This makes the fields available for display.
To add fields to the CFG CX Products Buscomp
- Locate the CFG CX Products Buscomp in Siebel Tools.
- Add the desired fields from S_PROD_INT to the buscomp.
- For each field you add, define a user property called Cfg UI Field. Set the user property value to TRUE.
- Recompile the repository and copy it to the application installation directory.
Add SWE Code to the Web Template
The following example shows the SWE code you would insert in a Web template to retrieve the Part Number field for display:
<swe:control id="swe:101Id+4400" CfgUIControl="CfgLabel" CfgHtmlType="CfgLabel" property="FormattedHtml" CfgFieldName="Part Number"/>
The "id" must be that specified in the for-each loop iteratorName, and the increment amount must be unique within the for-each loop.
If you want to display a field name next to the field value, insert an swe:control statement that extracts the field name from the repository. This allows you to support localization. You can insert the swe:control wherever needed in the template. It does not have to be inside a for-each loop. Here is an example of an swe:control tag that extracts the field name for Part Number from the repository. The "id" in the tag must be present but is not used for anything. The lblPartNumber value is the name of the label control in the repository.
<swe:control id="partnum" CfgUIControl="lblPartNumber" property="Displayname"/>
To add SWE code to a template
- Copy the desired template and give it a new filename.
- Insert the SWE code into the new template.
- Add the new template to the Pick UI Style dialog box.
- Select the new template as the UI control for a relationship or an item.
Delete Contents of CFGCache Directory
You must delete the contents of this directory. This makes sure that the system loads your changes when generating a customizable product, rather than loading the objects from the cache directory.
To delete the contents of the CFGCache directory
- Locate the Siebel File System directory.
To see the directory path or system name for the directory, from the Siebel application Help menu, choose Technical Support.
- In the Siebel File System directory, locate the CFGCache directory.
- Delete all the files in the CFGCache directory.