Siebel Configuration Using Tools
Siebel Configuration Using Tools
Siebel Configuration Using Tools
Version 8.1
November 2008
Copyright © 2005, 2008, Oracle. All rights reserved.
The Programs (which include both the software and documentation) contain proprietary information;
they are provided under a license agreement containing restrictions on use and disclosure and are also
protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering,
disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability
with other independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems
in the documentation, please report them to us in writing. This document is not warranted to be error-
free. Except as may be expressly permitted in your license agreement for these Programs, no part of
these Programs may be reproduced or transmitted in any form or by any means, electronic or
mechanical, for any purpose.
PRODUCT MODULES AND OPTIONS. This guide contains descriptions of modules that are optional and
for which you may not have purchased a license. Siebel’s Sample Database also includes data related to
these optional modules. As a result, your software implementation may differ from descriptions in this
guide. To find out more about the modules your organization has purchased, see your corporate
purchasing agent or your Oracle sales representative.
If the Programs are delivered to the United States Government or anyone licensing or using the Programs
on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS. Programs, software, databases, and related documentation and technical
data delivered to U.S. Government customers are "commercial computer software" or "commercial
technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific
supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the
Programs, including documentation and technical data, shall be subject to the licensing restrictions set
forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set
forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA,
Inc., 500 Oracle Parkway, Redwood City, CA 94065.
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently
dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup,
redundancy and other measures to ensure the safe use of such applications if the Programs are used for
such purposes, and we disclaim liability for any damages caused by such use of the Programs.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be
trademarks of their respective owners.
The Programs may provide links to Web sites and access to content, products, and services from third
parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites.
You bear all risks associated with the use of such content. If you choose to purchase any products or
services from a third party, the relationship is directly between you and the third party. Oracle is not
responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of
the agreement with the third party, including delivery of products or services and warranty obligations
related to purchased products or services. Oracle is not responsible for any loss or damage of any sort
that you may incur from dealing with any third party.
Contents
Debug Menu 44
Tools Menu 45
Window Menu 49
Help Menu 49
About Toolbars 50
History Toolbar 50
List Toolbar 51
Edit Toolbar 51
Debug Toolbar 52
Simulate Toolbar 53
WF/Task Editor Toolbar 54
Format Toolbar 54
Configuration Context Toolbar 56
About Right-Click Menus 56
About Layout Editors 57
About New Object Wizards 57
About Canvas-Based Designers 58
Entity Relationship Designer 59
Workflow Process Designer 60
Task Designer in the Task UI 60
About Script Editors 60
About the Command-Line Interface 61
How Running ToolTip Differs from Tool Tips in Script Assist 154
Using Running ToolTip 155
Using Script Libraries 156
About the Scripted Flag 157
About the Siebel Debugger 158
Using the Siebel Debugger 158
Setting Debugging and Run-Time Preferences 159
Checking Syntax 160
Using Breakpoints 161
Using the Calls Window 161
Using the Watch Window 161
Tracing Scripts 163
Invoking the Compiler and Run-time Engine 165
About the Siebel Script Performance Profiler 166
About Using the Siebel Script Performance Profiler 169
Process of Using the Siebel Script Performance Profiler 170
Enabling and Disabling the Siebel Script Performance Profiler and Line Profiling 170
Setting and Resetting Line Profile Rules 171
Using the Siebel Script Performance Profiler 172
Example of Using the Siebel Script Performance Profiler 175
Index
This guide describes how to use Oracle’s Siebel Tools application. It describes the Siebel Tools user
interface and includes tasks such as customizing the Siebel Tools environment, working with Siebel
objects and projects, and so on.
This guide does not describe how to configure Oracle’s Siebel applications. For configuration-related
information, see Configuring Siebel Business Applications.
NOTE: For version 8.1 and later, the reporting module for Siebel Reports by default is BI Publisher,
and BI Publisher reports are accessed in the Siebel Web clients. The Reports Menu is no longer
available in Siebel Tools; however, the Report object types are still available for use with your Actuate
reports. For more information about Siebel Reports, see Siebel Reports Administration Guide. For
more information about Siebel object types, see Siebel Object Types Reference.
Topic Description
Chapter 2, “About the The following reports have been relocated to the application
Siebel Tools User Interface” administration views in the Siebel client instead of Siebel Tools:
For more information about the Tables report, see Siebel Data Model
Reference. For more information about the EIM Interface Tables
report, see Siebel Enterprise Integration Manager Administration
Guide.
Topic Description
“Specifying Data Sources” Modified topic to describe how to connect Siebel Tools and the Siebel
on page 72 client to the same local database.
“Guidelines for Check Out Added a bullet item describing the temporary directories used for the
and Check In” on page 94 checking in and checking out of Siebel projects and objects.
“How Running ToolTip New topic. Describes how the new Running ToolTip feature differs
Differs from Tool Tips in from the existing Tool Tips feature in Script Assist.
Script Assist” on page 154
“Using Running ToolTip” on New topic. This new feature allows you to enter the arguments of a
page 155 method by choosing from a list in the Running ToolTip window in the
scripting interface.
“Using Script Libraries” on As of release 8.1, any cached service marked for external use can be
page 156 used as a script library.
“Tracing Scripts” on Replaced the tracing file with two new examples specific to release
page 163 8.1.
“About the Siebel Script Added several new topics about the Siebel Script Performance
Performance Profiler” on Profiler, which allows you to observe and monitor the performance of
page 166 your scripts.
“Command-Line Interface ■ Added information about using the /tl switch for specifying
for Import, Export, and language codes.
Compilation” on page 179
■ Removed information about the incremental import command-
line entry.
Topic Description
“Importing and Exporting New topic. Describes how to import and export multiple archive files.
Multiple Archive Files” on
page 186
“Comparing Two Repository New topic. Describes how to compare two repository files.
Files Using SRFDiff” on
page 201
Additional Changes
This version of the documentation also contains the following general changes:
NOTE: The Siebel Bookshelf is available on Oracle Technology Network (OTN), Oracle E-
Delivery, or it might be installed locally on your intranet, or on a network location.
This chapter describes the Siebel Tools user interface. It contains the following topics:
Siebel Tools is a declarative configuration tool, not a programming environment. You use Siebel Tools
to create and modify the object definitions (metadata) that define Siebel applications. You do not
modify the source code or directly write SQL.
NOTE: In the context of Siebel applications, the terms object and object definition are not equivalent
to the terms “object,” “object class,” or “object instance” as they are used in the context of
programming languages such as C++.
Siebel Tools allows you to develop a single configuration that can be:
■ Easily maintained
You can have installations of Siebel Tools for different product releases on the same local machine.
For information about installing Siebel Tools, see the Siebel Installation Guide for the operating
system you are using. For system requirements, such as supported versions of Microsoft Windows,
see Siebel System Requirements and Supported Platforms on Oracle Technology Network.
In this guide, SIEBEL_TOOLS_ROOT represents the directory into which you installed the Siebel Tools
client. By default, this directory is C:\Program Files\Siebel\8.0\Tools.
The improved user interface supports a tab group bar for a multiple-document interface (MDI). The
tab group can be placed on any side of the application window.
Multiple editors can be open at once, allowing you to work with multiple objects conveniently. You
can navigate among them easily by clicking tabs.
In the example shown in Figure 1, the Object List Editor, Applet Layout Editor, and the Server Script
Editor are all open. The Object Explorer, Properties window, and the Controls/Columns and Palettes
windows of the Applet Layout Editor are docked at the left side of the application window as tabs.
For information on customizing the user interface, see Chapter 3, “Customizing Your Siebel Tools
Environment.”
■ Object List Editor, the main part of the application window shown in Figure 1
The Object Explorer uses a hierarchical tree-structure (similar to that of Microsoft Windows Explorer)
that you use to browse the object types that are stored in the Siebel Repository.
Other Siebel Tools windows, like the Object List Editor and Properties windows, show you details
about individual objects in the Siebel Repository.
By default, the Object Explorer is visible when you start Siebel Tools. The Object Explorer has the
following parts: the Project drop-down list, the Types tab, the Detail tab, and the Flat tab.
Types Tab
The Types tab is selected in the Object Explorer shown in Figure 4 on page 22.
The Types tab shows all top-level object types, listed alphabetically. The Types tab shows the object
hierarchy—clicking the plus sign (+) to the left of an object type displays all the child object types
of the top-level object type. Clicking the minus sign (–) to the left of an object type collapses all its
child object types.
NOTE: By default, not all object types are visible in the Object Explorer. For information on how to
show and hide objects types, see “Showing and Hiding Object Types in the Object Explorer” on page 79.
Some object types have a hierarchy of multiple levels. For example (as shown in Figure 4 on
page 22):
■ One of the child object types of Applet is List and, at the next lowest level, List Column.
Detail Tab
If you select the Detail tab of the Object Explorer (as shown in Figure 5) and expand an object type,
all the objects of that type appear in the Object Explorer. If you select an object type in the Detail
tab, the Object List Editor displays all the objects of that type.
Flat Tab
The Flat tab of the Object Explorer, shown in Figure 6, shows all object types (parent and child) in a
single, alphabetically arranged list, without displaying the parent-child relationship.
For example, if you created a new field but do not remember what business component it is in,
you can select the Field object type in the Flat tab and search the Name property for your field
name. Each returned record has a parent property that provides the business component name.
■ See how objects and properties are typically used, such as how a predefault value is constructed
or the syntax for calculated fields.
In the same figure, the pencil icon (to the left of the applet name) indicates that the applet has been
locked by the Siebel Tools user, so that modifications to it can be saved.
Inactive Objects
Inactive objects have the Inactive property set to TRUE, which deactivates the record in the
repository.
In Figure 7, the Edit -- Original applet Web template, shown in red, is inactive.
NOTE: When an object definition becomes obsolete, either due to an update or to a new
requirement, you must not delete the unused objects. Instead, check the Inactive flag. Then, the
application does not reference the checked Siebel object.
Changed Flag
After you edit a record, a check mark appears in the Changed property of the object. This indicates
that changes have been made to the contents of the corresponding record since a particular date
and time. If there is no check mark in the Changed property, it means that the object has not been
changed since the date and time specified in the General tab of the Development Options dialog box.
The Changed flag cascades upwards through its parents. That is, when an object is edited or created,
the changed flag is set for its parent object, if any, and for the parent object of that parent, and
likewise up through the hierarchy. For more information, see “Setting Change Date Preferences” on
page 64.
Pencil Icon
The pencil icon in the first (W) column of an object indicates that the object is locked and editable.
In Figure 7 on page 24, all visible objects are locked.
Drilldowns
Property values in the Object List Editor can appear as drilldown fields (hyperlinks) when the value
is the name of another object. You can click the drilldown to navigate to the associated object type.
To use drilldowns in the Object List Editor, you must be assigned the Developer responsibility. Users
are assigned responsibilities in the Administration - Application screen, Responsibilities view in Siebel
applications. For more information, see Siebel Security Guide.
NOTE: The Properties window does not display the Project and Changed properties.
The Applets window has the following fields, buttons, and drop-down list:
■ Bus Object. This field shows the business object associated with the view.
■ Template. This field shows the Web template associated with the view.
■ Change Template. This button opens the Choose Template dialog box that lets you select a
different Web template.
■ Edit Template. This button opens the template editor you defined as the external Web template
editor in the options.
■ Mode. This drop-down list shows the view mode, such as Base or Edit.
The Applets window has two tabs: the Icons tab (shown on the left in Figure 9) and the List tab
(shown on the right in Figure 9).
For more information on editing views and applets, see Configuring Siebel Business Applications.
3 Drag and drop an applet icon, for example a form applet, onto a placeholder in the view template
to add that type of applet to the view.
The Pick Record dialog box appears, listing the applets of that type based on the business
components in the business object associated with the view.
4 Select an applet, and then click Pick. You can use the Find field to search by applet name or
associated business component.
The Applet Layout Editor appears, along with the Controls/Columns and Palettes windows.
Related Topics
“About the Controls/Columns Window” on page 29
When you select a control or a column object in the Controls/Columns window, the Properties window
refreshes to show the properties of the selected object. If no object is selected in the Controls/
Columns window, the Properties window shows the properties of the applet.
Figure 10. Applet Layout Editor with Controls/Columns and Palettes Windows
The Controls/Columns window has the following fields, buttons, and drop-down list:
■ Template. This field shows the Web template associated with the selected mode.
■ Change Template. This button opens the Choose Template dialog box that lets you select a
different Web template.
■ Edit Template. This button opens the template editor you defined as the external Web template
editor in the options.
■ Mode. This drop-down list lets you select the applet mode, such as Base or Edit. Values in the
drop-down list indicate whether a given mode is active or inactive.
■ When the Applet Layout Editor is open, the Palettes window allows you to create user interface
controls in the Applet Layout Editor. The window supports drag-and-drop behavior for the
creation and placement of new controls.
■ When the Entity Relationship Designer is open, the Palettes window displays the entity element
and connectors used to create entity relationships.
■ When the Task Designer is open, the Palettes window displays the operations and connectors
used to create tasks.
■ When the Workflow Designer is open, the Palettes window displays the operations and connectors
used to create business processes.
Table 2 describes the Palettes window Web controls used in the Applet Layout Editor. For detailed
information on the Entity Relationship Designer, see Configuring Siebel Business Applications. For
detailed information on the Task Designer, see Siebel Business Process Framework: Task UI Guide.
For detailed information on the Workflow Designer, see Siebel Business Process Framework:
Workflow Guide.
Button Description
Button Description
Password. Creates a text box where the user enters a password during logon.
Text List Column. Creates a list column that contains HTML text. Available for list applets
only.
Checkbox List Column. Creates a list column that contains HTML check boxes. Available
for list applets only.
Custom Control. Creates a custom control on a template. You can select a custom control
from the Control Type drop-down list, and then drag the Custom Control button to the
designer to create the custom control.
Related Topic
“History Toolbar” on page 50
The HTML code window displays both parent and child templates in a split view. The Web Template
drop-down list in the Web Template Explorer window lets you filter the templates that are shown in
the Web Template Explorer window. You can edit a template file by right-clicking in the HTML code
window for that template.
Figure 12. Web Template Explorer Window with HTML Code Window
■ In the Multi Value Property Window of the Workflow Process Designer or Task Designer when the
value is an expression
The Expression Builder works similarly to the Business Rules Designer in Siebel Personalization. For
more information on using the Expression Builder, see “Using the Expression Builder” on page 139.
NOTE: Validation is not available when using the Expression Builder with user properties.
Related Topics
“About Toolbars” on page 50
File Menu
Table 3 describes the options available on the File menu for repository and object management.
Menu Option
(Shortcut) Description
Open Repository When multiple repositories are present in the development database, the
menu option provides the means to open a repository other than the currently
open one.
The repository, as selected in the Open Repository option under the File menu,
becomes the default repository opened each time Siebel Tools is launched.
New Object Invokes the New Object Wizard for the creation of a list applet, form applet,
chart applet, tree applet, business component, report, table, command,
picklist, MVG, or view.
Menu Option
(Shortcut) Description
Save Saves changes in the current editing window when you are editing Layout,
(CTRL+S) Menu, or Basic Scripts.
Import Imports text from an external text file into the Siebel VB Editor window. This
text must be in an SBL file format. SBL format is generated when it is exported
from the Siebel VB editor.
Export Allows you to create a text file in delimited or HTML format that lists the
property values of an object or all objects currently displayed in the Object List
Editor.
Print Setup Changes the printer and printing options for printing object visualization view
diagrams.
Print Preview Opens a print preview window for display of an object visualization view.
Edit Menu
The Edit menu options apply to individual objects in the Object List Editor.
You can also display a menu of edit tools by selecting a field and right-clicking while the cursor is
positioned over the Object List Editor. For more information, see “About Right-Click Menus” on
page 56.
Menu Option
(Shortcut) Description
Undo Reverses the last change to a property value in the Object List Editor or Property
(CTRL+Z) window before the object is committed.
Redo Reapplies changes after the Undo command has been executed.
(CTRL+Y)
Undo Delete After deleting any record in Object List Editor, this menu option appears, allow
you to undo the delete.
Undo Record Reverses the creation of new objects or all modifications to existing objects, so
long as the record has not yet been committed.
Menu Option
(Shortcut) Description
New Record Creates a new object in the Object List Editor, with the cursor positioned in the
(CTRL+N) first required property.
Copy Record Creates a new object that is a copy of the currently selected object, and
(CTRL+B) duplicates all child objects.
NOTE: Avoid using the Copy Record option, except when the reuse and extension
of an existing object would be impractical.
Delete Record Deletes the currently selected object and its child objects.
(CTRL+D)
NOTE: Avoid using the Delete Record option against out-of-the-box objects. If
you want to remove an object from use, set its Inactive property to TRUE.
Cut In a text property, copies the selected text to the clipboard and deletes the
(CTRL+X) existing text. In the Applet Designer, copies the selected control to the clipboard
and deletes the existing control.
Copy In a text property, copies the selected text to the clipboard without deleting it.
(CTRL+C) In the Applet Designer, copies the selected control to the clipboard without
deleting it.
Paste Inserts text from the clipboard into a text property at the insertion point. Inserts
(CTRL+V) a control from the clipboard in the Applet Designer.
Delete In a text property, deletes the selected text. In the Applet Designer, deletes the
(DEL) selected control.
Select All Selects all. In the Applet Designer, selects all controls in the applet.
(CTRL+A)
Find Finds the specified text in the Siebel Script Editor window.
(CTRL+F)
Replace Replaces the specified text with different text in the Siebel Script Editor window.
(CTRL+H)
View Menu
The View menu options are used to change display environment settings, such as which windows and
toolbars appear. It also invokes visualization views, which are diagrams showing object relationships.
Table 5 describes the View menu options and suboptions.
Option Suboption
(Shortcut) (Shortcut) Description
Reset Windows Closes all dockable windows except the Object Explorer
for the currently active editor. Does not close editor
windows.
Editors Web Applet Editor Opens the selected applet in the Applet Layout Editor,
including the Controls/Columns and Palettes windows.
Server Script Editor Opens the Siebel Script Editor. Editor can be specifically
defined or be set to a default.
Browser Script Editor Opens the Siebel Web Script Editor, which is used to
access scripts that control the presentation and behavior
of applet controls and list columns in a Web applet
template.
Visualize View Details For more information, see “Viewing Object Relationships”
on page 129.
View Relationships
View Descendents
Option Suboption
(Shortcut) (Shortcut) Description
Debug Calls Opens the Calls window for display of the call stack of the
Windows (CTRL+L) Siebel VB or Siebel eScript script currently being
debugged.
Watch Opens the Watch window for display of the values of local
(SHIFT+F9) variables in the Siebel VB or Siebel eScript script
currently being debugged.
ActiveX Allows you to view the methods for the current ActiveX
Methods control in the Applet Designer.
Status Bar Displays or hides the Status bar at the bottom of the
Siebel Tools window.
Screens Menu
The Screens menu is empty unless you log on to Siebel Tools as a system administrator. If you have
system administrator rights, the options described in Table 6 appear.
Go Menu
The Go menu contains options for moving through a records list. Primarily, you use the Go menu to
create and navigate to bookmarks, which flag objects for easy return navigation. Bookmarks are a
helpful navigation aid, allowing you to move around among the objects of different types you are
working on. Table 7 describes the Go menu options.
Option
(Shortcut) Description
Option
(Shortcut) Description
Add Bookmark Invokes the Add Bookmark dialog box, for creation of a bookmark to the
currently selected objects.
Bookmark List Opens the Bookmarks dialog box, for selection of an existing bookmark
to navigate to. You can also use this dialog box to rename or delete
existing bookmarks.
Query Menu
The Query menu options allow you to create and refine Object List Editor queries, which restrict the
list of objects that appear in the current Object List Editor. An option is provided that lets you change
the sort order of objects in the window.
Option
(Shortcut) Description
New Query Allows you to specify restrictions on the set of objects that are displayed in the
(CTRL+Q) current Object List Editor.
Refine Query Allows you to add additional restrictions to the query currently in effect.
(CTRL+R)
Execute Query Executes the query you have just specified, causing the restrictions to take
(ENTER) effect. This has the same effect as pressing ENTER.
Sort Order Invokes the Sort Order dialog box, for specification of sort order criteria for the
list of objects in the Object List Editor.
Format Menu
The Format menu options in the Applet Layout Editor allow you to align, resize, and reposition
controls; configure the snap grid; and adjust tab or list column order. Options are also provided for
performing an Applet Designer Preview.
Option Description
Make Same Size Makes all selected items the same size as the selected model.
Set Label Alignment Allows you to align labels in applets based on grid layout Web templates.
Set Tab Order Allows you to set the tab order for fields in a form applet. This option is not
available for list applets.
Debug Menu
The Debug menu options control the Siebel VB or Siebel eScript debugger, for use when a script is
open in the Siebel Script Editor. Table 10 describes the Debug menu options.
Option
(Shortcut) Description
Break Stops the execution of the currently running script. If Siebel VB or Siebel
(CTRL+BREAK) eScript is not executing, no operation is performed.
End Stops the execution of the application and returns to the Siebel Script Editor
window.
Clear All Removes all breakpoints from the current script routine.
Breakpoints
(CTRL+SHIFT+F9)
Watch (SHIFT+F9) Displays script variables and their values. This window can be used to
monitor the values of specific variables as a script executes.
Option
(Shortcut) Description
Calls (CTRL+L) Contains a list of subroutine and function calls that were executed prior to
the current line. Selecting an entry in the list causes the interpreter to shift
to that entry.
Step Into Executes the next line of script code. If this is a subroutine or procedure
(F8) call, then execution continues within that procedure.
Step Over Advances the application to the script code line just after the current
(SHIFT+F8) subroutine or procedure. Execution remains at the level of the current
procedure.
Step To Cursor Executes all lines of code up to the line selected by the cursor.
(CTRL+F8)
Tools Menu
Table 11 describes the Tools menu options.
Option
(Shortcut) Suboption Description
Compile (F7) Opens the Object Compiler dialog box to compile one or
more projects, or all projects in the repository, into an
SRF file.
Compile Selected Objects Opens the Object Compiler dialog box to compile the
(CTRL+F7) selected objects into an SRF file.
Check Out Opens the Check Out dialog box, to copy one or more
(F10) projects from the server to the local database.
Lock Project Locks the project that the currently selected object is
(ALT+L) assigned to.
Unlock Project Unlocks the project that the currently selected object is
(ALT+U) assigned to.
Add To Archive Opens the Export To Archive dialog box, for adding the
selected top-level objects or projects to an archive file.
Import From Archive Initiates the Import wizard for importing objects from
an archive file.
Option
(Shortcut) Suboption Description
Compare Objects Selected Compares two selected objects and graphically displays
similarities and differences (in object type and
instance), with a list of object properties by name and
value.
Convert to Grid Layout Converts nongrid layout form applets to grid layout.
Search Repository Opens the Search Repository dialog box for performing
a search for objects based on the text in their names (or
other properties) and their object types.
Option
(Shortcut) Suboption Description
Generate EIM Opens the EIM Processing Column Generator dialog box,
Processing from which you create missing EIM processing columns
Columns and indexes after merging the repository.
Web Client Used when upgrading from version 6.x to version 7.x or
Migration 8.0. It associates Web templates to a group of selected
applets and views so that they can be used in the Web
client.
Option
(Shortcut) Suboption Description
Utilities Generate Help Used internally by Oracle to generate the sshelp.hm file,
IDs containing correspondences between context ID
numbers and text help identifiers that have been
specified in Help ID objects. This option is used for Tools
Online Help.
Export View Exports view from the Preview mode of the View Layout
Previews Editor to an HTML file.
Build Patch Initiates the Patch Builder wizard to create a patch file.
Apply Patch Opens the Apply Patch window to initiate the patch
application process.
Window Menu
The Window menu lists the currently open Object List Editor, Application Designer, visualization view,
and other windows, and provides the means to navigate to windows that are currently hidden from
view.
If one of the windows is open, the first option on the menu is Close. This closes the currently active
window.
Help Menu
Table 12 describes the Help menu options.
Option Description
Technical Support Displays the Technical Support Information dialog box, which includes
information that Technical Support may need, such as the version number
of your Siebel Tools installation.
About Record Opens a dialog box that displays information about the current object,
including its creator and creation date.
About SRF Opens a dialog box that displays information about the most recent full
incremental compilations.
About View Opens a dialog box that displays information about the current screen,
business object, and view, including applet layout.
About Visible Views Displays the list of views in the repository and whether or not they are
visible.
About Siebel Tools Opens a dialog box identifying the version of Siebel Tools.
About Toolbars
There are several toolbars in Siebel Tools. The toolbars, like menu items, are active only when the
object type or window that uses them is active. You can show and hide toolbars using the Toolbars
option in the View menu. You can also rearrange the toolbars using drag-and-drop functionality.
Related Topics
“About the Menu Bar” on page 37
“Showing and Hiding Toolbars” on page 86
History Toolbar
The History toolbar contains buttons for retracing your steps and for creating and navigating to
bookmarks, which flag objects for quick return navigation. Bookmarks are a helpful navigation aid,
allowing you to move around quickly among the different object types with which you are working.
Table 13 describes the History toolbar buttons.
Button Description
Add Bookmark Opens the Add Bookmark dialog box, so you can add a bookmark for
the currently selected object.
Bookmark List Opens the Bookmarks window, so you can select a bookmark to
navigate to. You can also use this window to rename or delete
existing bookmarks.
List Toolbar
The List toolbar contains buttons that apply to objects in the Object List Editor. The buttons let you
insert new records, move forward and backward, work with queries, and sort objects. Table 14
describes the List toolbar buttons.
Button Description
Add New Record Creates a new object in the Object List Editor, with the cursor
positioned in the first required property.
New Query Allows you to specify one or more restrictions on the set of
objects that are displayed in the current Object List Editor.
Execute Query Executes the query you have just specified, causing the
restrictions to take effect. This has the same effect as pressing
ENTER.
Sort Ascending Changes the order in which objects appear by sorting them in
ascending order on the currently selected property column.
Sort Descending Changes the order in which objects appear by sorting them in
descending order on the currently selected property column.
Filter Version Shows only the most recent version of each task or workflow in
the Object List Editor.
Edit Toolbar
The Edit toolbar contains edit tools, the New Object wizard, and undo and redo options.
You can also display a menu of edit tools by selecting a field and right-clicking while the cursor is
positioned over the Object List Editor. For more information, see “About Right-Click Menus” on
page 56.
Button Description
New Invokes the New Object Wizard, which allows you to create applets,
views, charts, and other objects.
Save Saves changes in the current editing window when you are editing Layout,
Menu, or Basic Scripts.
Cut In a text property, copies the selected text to the clipboard and deletes
the existing text. In the Applet Designer, copies the selected control to the
clipboard and deletes the existing control.
Copy In a text property, copies the selected text to the clipboard without
deleting it. In the Applet Designer, copies the selected control to the
clipboard without deleting it.
Paste Inserts text from the clipboard into a text property at the insertion point.
In the Applet Designer, inserts a control from the clipboard.
Undo Reverses the last change to a property value in the Object List Editor or
Property window if the object has not been committed.
Redo Reapplies changes after the Undo command has been executed.
Debug Toolbar
The Debug toolbar contains buttons, described in Table 16, that let you access Siebel VB and Siebel
eScript debugging tools.
Button Description
Start Starts the application. A dialog box with startup parameters also
appears.
Button Description
End Stops the execution of the application and returns to the Siebel
Script Editor window.
Step Into Executes the next line of script code. If this is a subroutine or
procedure call, then execution continues within that procedure.
Step Over Advances the application to the script code line just after the
current subroutine or procedure. Execution remains at the level
of the current procedure.
Simulate Toolbar
The Simulate toolbar contains buttons, described in Table 17, that let you simulate workflow
processes.
Button Description
Button Description
Button Description
Publish/Activate Publishes and activates a task during run time in a single step. This
is only available in the development environment using the Siebel
Mobile Web Client; you cannot use Publish/Activate to activate tasks
and workflows in the production environment.
Format Toolbar
The Format toolbar contains buttons, described in Table 19, that let you apply specific formatting to
controls for applets based on grid-layout Web templates.
Button Description
Button Description
Button Description
Target Browser A drop-down list from which you select a target browser for layout editing
and for scripting.
Application Allows you to configure objects for a specific application. Typically, you
work with the All Applications selected. When this option is selected, your
configurations are available in all applications. However, by selecting
specific applications from the list, you can also configure the layout of
objects such as applets and views to look or behave differently for that
application.
Variable Allows you to specify a given display style for an applet for previewing,
such as parent, child, or grandchild.
■ Create, copy, and delete records. You can also undo changes made to a record.
■ Launch the Applet Layout Editor or View Layout Editor from the Object List Editor by right-clicking
on an Applet or View object, respectively, and then choosing Edit Web Layout.
■ View and edit Web templates by right-clicking on Web Template objects in the Object List Editor,
and then choosing View Web Layout.
■ Display the names and status of toolbars (similar to choosing Toolbars from the View menu) by
right-clicking on any toolbar. You can also customize toolbars.
■ Access New Object wizards specific to the object type active in the Object List Editor.
■ Add and map controls and list columns to applet layouts. You can preview applets as they would
be rendered at run time.
■ Modify existing views and construct new ones by dragging and dropping applets onto the View
Layout Editor. You can view list and form applets and the container page in the Preview mode.
No additional specification or code is required for defining the relationships between the applets.
You can launch the Applet Layout Editor directly from the View Layout Editor by double-clicking
on an applet.
■ Add and delete controls from Web page templates, modify control properties, and map controls
to placeholders. You can also preview Web pages as they would appear at run time.
■ Visually edit Siebel application menu structures. This is accessed by right-clicking an applet in
the Object List Editor and selecting Edit Web Menus.
You can launch the Layout Editors directly from an applet, view, or Web page in the Object List Editor
by right-clicking and choosing Edit Web Layout or Edit Web Menus.
For more information about using layout editors, see Configuring Siebel Business Applications.
Related Topic
“Choosing a Target Browser” on page 81
■ General objects, such as Applet Method Menu Items, Business Components, Tables, and Views
■ Applet objects, such as List Applets, Form Applets, MVG Applets, and Chart Applets
■ Task objects, such as Tasks, Task Applets, Task Views, and Transient Business Components
From the File menu, choose New Object to access the New Object Wizards dialog box. You can also
right-click on an object in the Object List Editor, and then choose New Object Wizards for a list of
wizards specific to that object type.
For more information about using New Object wizards, see Configuring Siebel Business Applications.
These designers share a common design environment, as well as the Palettes and Multi Value
Property windows. In the design environment, you can drag and drop elements, such as Siebel
objects in the Entity Relationship Designer and Siebel operations in the Workflow Process and Task
Designers, and then connect them. In Siebel Tools version 8.0, the connectors automatically form
right angles and snap to the sides of the design elements.
Related Topics
“About the Palettes Window” on page 31
The Entity Relationship Designer is typically used by both Business Analysts and Developers.
Business analysts diagram a customer’s business and then developers or technical architects map
the entities in the diagrams to Siebel objects in the repository.
When mapping entities and relationships in the diagram to Siebel objects, the choice of objects
includes only those that have characteristics that match the context described in the diagram.
For information on creating entity relationship diagrams and mapping them to Siebel objects, see
Configuring Siebel Business Applications.
The Workflow Process Designer, is launched by selecting a Workflow Process object, right-clicking,
and then choosing Edit Workflow Process.
For information about creating workflows, see Chapter 8, “Creating Workflow Processes and Tasks.” For
detailed information on using the Workflow Designer and Workflow Simulator, see Siebel Business
Process Framework: Workflow Guide.
This combination of features helps Siebel Tasks to increase the efficiency of novice and intermittent
users by guiding them through the execution of unfamiliar tasks. The Task UI can also increase the
efficiency of busy veteran users, especially those working in environments that are prone to
interruption, because it allows for easy switching between multiple tasks throughout the workday.
The Task Designer in the Task UI, shown in Figure 15 on page 59, is launched automatically when you
create a Task object using the New Task wizard, or by selecting a Task object, right-clicking, and then
choosing Edit Task Flow.
For information about creating tasks, see Chapter 8, “Creating Workflow Processes and Tasks.” For
detailed information on using the Task UI, and on publishing and activating tasks, see Siebel Business
Process Framework: Task UI Guide.
For more information on Script Editors, including Script Assist, see Chapter 9, “Siebel Script Editors.”
■ “Exporting Objects to an Archive File Using the Command-Line Interface” on page 185
■ “Importing Objects from an Archive File Using the Command-Line Interface” on page 196
■ “Running the LMU Using the Command-Line Interface” on page 241
■ Converting to grid layout. For more information, see Configuring Siebel Business Applications.
This chapter describes how to customize the Siebel Tools environment. It contains the following
topics:
■ “Setting the Constrain Mode for Working with Symbolic Strings” on page 81
NOTE: If the behavior of the Tools environment is not consistent with the preferences you set, your
devtools.prf file may be corrupted. From the View menu, choose Options, reset preferences if
necessary, and then click OK. By doing so, the devtools file is regenerated. Alternatively, if you delete
the devtools.prf file, then relaunch Tools, the default preferences are reset.
3 Under Editing confirmation dialogs, select the check boxes for the confirmation dialog boxes you
want to see, and clear the check boxes for the confirmation dialog boxes you do not want to see.
4 Click OK.
3 Under Changed date, use the Date and Time fields to set your preferences, and then click OK.
Checkbox Description
Automatic revision in WF/Task editor and Warns you if you attempt to edit an earlier version
version check than what you have already opened.
Automatically close all the previous WF/Task Ensures that you are working on the most current
versions if Status is Completed, Not In Use or workflow/task version.
Expired
3 Under Workflow and Task Configurations, use the checkboxes to set your preferences, and then
click OK.
NOTE: If additional languages (other than the language product versions shipped with Siebel
applications) are added to the Siebel database, the language code must be in all capital letters for
the code to appear in the Language Mode drop-down list. For more information on adding languages
not shipped by Oracle, see Siebel Global Deployment Guide.
3 Under Tools Language Mode, select a value from the Language drop-down list, then click OK.
NOTE: Before configuring another language, make sure that the language repository data has
already been loaded into the repository. If not, load this data before beginning configuration on the
language in question.
Related Topics
“Enabling Language Overrides” on page 66
“Using the Advanced Compile Option” on page 244
NOTE: Enabling language overrides when it is not needed can create unnecessary locale records in
the repository.
For more information about configuring UI layout, see Configuring Siebel Business Applications.
NOTE: The Enable and Use Language Override check box is persistent. You must clear it to return
to working in base mode.
Related Topics
“Selecting a Language Mode” on page 65
“Working with Untranslatable Locale-Specific Object Properties” on page 231
“Using the Advanced Compile Option” on page 244
To integrate your repository check in/check out with a third-party source control system, perform
the following tasks:
3 Use the information in the following table to define your settings under Source control
integration.
Enable source control integration Select this check box and specify the location of the
srcctrl.bat batch file in the Integration batch file text box
if you want to generate an archive file for each project
when performing repository check in, and at the
conclusion of repository check in to run the batch file
once for each project.
Show execution of the integration Select this check box to launch a DOS window in the
batch file foreground when the srcctrl.bat batch file is executed.
This feature is for diagnostic purposes and facilitates
debugging a customized batch file.
Integration batch file Specifies the location of the srcctrl.bat batch file used by
Siebel Business Applications to instruct the source
control software to provide check in or check out of
archive files.
4 Click OK.
The name of the archive (SIF) file for the project to be checked in is specified as an argument to the
batch file, in addition to other arguments. The syntax for the command line that executes the batch
file is as follows:
Argument Description
dir Path name of the directory on your local file system where the
items are located.
project_file Name of the archive (SIF) file for one project, enclosed in
double quotes.
Srcctrl.bat executes once for each project, following the completion of repository check-in. It checks
the archive file for the project into or out of the source control system. Srcctrl.bat is executed from
a command line that is internally generated from the Siebel application software. You do not have
access to the command-line setup, and you cannot modify the command line or the parameters it
passes.
The following batch file program code is taken from the standard srcctrl.bat file provided with Siebel
applications, and is designed to work with Microsoft Visual SourceSafe. Comment lines have been
removed. You must customize the program code in this batch file, particularly if you are running
source control software other than Microsoft Visual SourceSafe, or if the path is incorrect:
The variables used in the srcctrl.bat batch file are described in Table 23.
Variable Description
PATH Identifies the directory where the source code control software is installed. Modify
this setting to reflect its actual location on your machine.
SOFTWARE Source control system’s command-line utility. The command-line utility for
Microsoft Visual SourceSafe is “ss”.
CHECKIN Command at the start of the command line that calls for check-in into the source
control system.
CHECKOUT Command at the start of the command line that calls for check-out from the source
control system.
ADD Command at the start of the command line that calls for adding files in the source
control system.
SETPROJ Command at the start of the command line that calls for setting the working folder
in the source control system.
PROJECT Project (working folder) in the source control system where the items are be
checked in/checked out.
COMMENT Command-line Comments clause for each of the files being checked in or out. This
is generated from the Comment argument to the batch file.
SRC_USR User logon name to include in the Options clause. This is a source control software
user name, not the user name for a Siebel application.
SRC_PSWD User password to include in the Options clause. This is a source control software
password.
FILE Filename of the archive file, obtained from the argument list of the batch file. This
file needs to be checked in or out.
NOTE: The directory to which archive (SIF) files are written is specified by the Temp parameter in
the [Siebel] section of the Siebel Tools configuration (tools.cfg) file. By default, the Temp parameter
is set to the <client_root>\TEMP directory of your Siebel Tools installation folder. For more
information about this TEMP directory, see “Guidelines for Check Out and Check In” on page 94.
For information on archive files, see “About Archive Files” on page 183.
Example of Checking In
You have two projects checked out that you want to simultaneously check in to the server and to the
source control software. The projects selected are “ProjectA” and “ProjectB.” The latest version of
ProjectA.sif in Visual SourceSafe is 6, and the latest version of ProjectB.sif is 5.
When you click the Check In button, the following sequence occurs:
3 ProjectA.sif and ProjectB.sif are checked out and locked in Visual SourceSafe.
5 ProjectA.sif and ProjectB.sif are checked in to Visual SourceSafe. The version numbers are
increased so that the latest version of ProjectA.sif in Visual SourceSafe is version 7, while
ProjectB.sif is version 6.
3 Import ProjectA.sif into the local repository using the Overwrite option to resolve object
definition conflicts. This replaces the existing definition of ProjectA with the archived version.
In version 8.0 and later, when extracting a local database with the default settings, the local
database is encrypted. If you download the local database using Siebel Tools, you are not
automatically connected to the database using the Siebel Mobile Web Client (MWC).
You must maintain only one local database for use with Siebel Tools and with your Siebel MWC, so
that changes implemented in Siebel Tools can be viewed with the MWC. Use the following procedure
to make sure you are connecting Siebel Tools and the MWC to the same local database.
3 Change the ODBC data source of the server repository by doing the following:
a Under Data sources, in the Server field, click Change to change the ODBC data source of the
server repository.
b In the Change Data Source dialog box, use the information in the following table to define the
ODBC data source parameters.
Field Description
ODBC data Full ODBC data source string that provides communication with the
source server repository database.
User name User logon ID (in all uppercase) used to access the server database.
Password User password (in all uppercase) used to access the server database.
Table owner Table owner name used to access the repository on the server database.
NOTE: For security reasons, the server credentials are not stored between Tools sessions.
Therefore, you must specify the credentials before the first Check In/Out activity of each
session.
c Click OK.
4 Change the ODBC data source of the local repository by doing the following:
a Under Data sources, in the Client field, click the Change button to change the ODBC data source
of the local repository.
b Make sure the ODBC data source parameters are the same as for the server database settings
in Step 3 above using the information in the following table, and then click OK.
Field Description
ODBC data source Full ODBC data source string that provides communication with the
local repository database.
User name User logon ID (in all uppercase) used to access the local database.
Password User password (in all uppercase) used to access the local database.
Table owner Table owner name used to access the repository on the local database.
NOTE: When you exit Siebel Tools, changes to the ODBC data source settings are written to
preference (SPF) files in the SIEBEL_TOOLS_ROOT\BIN directory. These settings are cached;
when you relaunch Siebel Tools, the ODBC settings in the tools.cfg file are not read.
Therefore, it is not possible to run multiple Siebel Tools applications using a single user ID;
only one local data source can be open at one time.
5 In the [Local] section of both the client application .cfg file and the tools.cfg file, make sure the
following parameters have the same values:
■ DSDockEncryptDB
■ DSHashUserPwd
■ DSHashAlgorithm
NOTE: If you initialized the local database with Siebel Tools, the above parameters are already
set in tools.cfg. All you need do is copy the parameters and values to the client application .cfg.
For more information about connecting Siebel Tools and the MWC to the same local database, see
475398.1 (Doc ID) on OracleMetaLink 3. This document was previously published as Siebel FAQ 229.
For more information about extracting databases, see Siebel Remote and Replication Manager
Administration Guide.
3 Select the Restart the editors after Check Out check box.
Any editors that are open at the time you begin the Check Out process are restarted when the
Check Out process finishes.
4 Click OK.
NOTE: A Full Get process can provide better performance; however, if something goes wrong, you
must re-get a project.
To disable this option, from the View menu, choose Options, select the Check In/Out tab, and then
clear the Enable incremental commit during Full Get check box.
3 To request a single commit at the end of a Full Get process, clear the Enable incremental commit
during Full Get check box.
4 Click OK.
Related Topics
“About the Get Process” on page 89
“Performing a Full Get Process” on page 89
List fonts Small/Normal/Large The size of the font used in the list.
Style Horizontal grid lines Show or hide horizontal grid lines in the list.
Vertical grid lines Show or hide vertical grid lines in the list.
Alternating row color Use different colors for every second row.
Mouse focus rectangle Show or hide dotted line that appears around the
currently selected record.
NOTE: The Script Assist settings are available only if you have the ST eScript Engine enabled. See
“About the ST eScript Engine” on page 145 for more information.
Script Assist Enable Method Listing Enables Script Assist to display a drop-down of all
methods and properties available for a declared
object.
Language Default language for new A drop-down list allows you to choose the
scripts scripting language, either eScript or Visual Basic.
Debugging Adjust breakpoint to next When breakpoints are deleted on invalid lines,
valid line this option creates a breakpoint at the next valid
line.
4 Click OK.
3 In the Folder full path field, type the full path to location of your Web template files.
a Use the Browse button in the Executable full path field to navigate to and select the executable
for the external Web editor.
b In the Optional parameters field, enter the parameters you want to pass to the executable when
you launch the external editor.
5 Click OK.
■ When the Auto-start Web Client option is selected in the object compiler.
■ When starting an instance of the Web Client (from the Debug menu, choose Start).
You typically use this option when debugging Siebel eScript or Siebel VB. For more information,
see Siebel eScript Language Reference and Siebel VB Language Reference.
The settings defined the Debug tab of the Development Tools Options dialog are stored in a user
preference file that is named loginID&SiebelTools.spf and located in SIEBEL_TOOLS_ROOT\BIN.
3 Use the information in the following table to define your options under Run-time start up
information.
4 Use the information in the following table to define your options under Login information and then
click OK.
User name SADMIN User name used to log into the test application.
Password SADMIN Password to log in to the test application.
Datasource Sample Local database to which the local Mobile Web Client
connects. Default data source. Values listed depend
upon the configuration file you are using.
3 Use the information in the following table to define your options under Font.
Option Description
Use system Select this option to let Siebel Tools use a system font for the visualization
font views.
Use a Custom Select this option to choose your preferred font for the visualization views.
Font When you select this option, you must use the Font, Size, and Zoom drop-
down lists to define your preferences.
4 Use the information in the following table to define your options under Object style, and then
click OK.
Option Description
Icon and name only Displays object name and object icon (the same icon used in the
Object Explorer).
3 In the Object Explorer Hierarchy box, shown below, select the check boxes for the objects you
want to show and clear the check boxes for the objects you want to hide.
When you select a top-level object such as Applet, all child objects are automatically selected.
To hide child objects, you expand the parent object and remove the check marks from any child
objects that you want to hide. The parent check box becomes shaded to indicate that it contains
child objects that are not selected to show.
TIP: The state of the check box provides information about the show/hide state of the child
objects.
4 To restore default settings, click the Default button, then click OK.
3 Use the information in the following table to set your options, and then click OK.
Option Description
Developing for deployment on For information about this parameter, see Implementing
DB2 for zSeries Siebel Business Applications on DB2 UDB for z/OS.
Limit schema object names to For information about this parameter, see Implementing
18 characters Siebel Business Applications on DB2 UDB for z/OS.
Allow to create column of type Removes constraint on columns of type CHAR, so that they
‘Character’ being greater than 1 can be greater than one character in length. Note that
defining a column as CHAR when the data being stored can
be variable in length causes the data to be padded with
blank spaces in the database.
■ When working in constrained mode, you must choose translatable text strings from the list of
available string references. You cannot override the string reference by entering a value for a
string override field, and you cannot create new symbolic string references.
■ When working in unconstrained mode, you are not required to choose translatable text strings
from the list of string references. You can override the string reference by entering a value in a
string override field. You can also create new symbolic string references.
The constrain mode is determined by the following CFG file parameter, found in the [Siebel] section
of the tools.cfg file:
EnableToolsConstrain = FALSE
The default value for EnableToolsConstrain is FALSE, meaning unconstrained mode. Set it to TRUE to
work in constrained mode.
Related Topics
“About the Symbolic Strings Model” on page 214
“Creating Symbolic Strings” on page 215
2 From the Target Browser drop-down list, choose Target Browser Config.
The Target Browser Configuration dialog box appears. The following table describes the parts of
the dialog box.
Field Description
Field Description
Selected browsers Specifies which browser groups are affected by subsequent layout
for layout editing editing in the Web Layout Editor.
Capability name and Specifies what capabilities or properties the currently selected virtual
value browser group has.
3 To add a browser group to the list of selected browsers, double-click the browser in the Available
browsers list.
You can also use the right and left arrow buttons to move browsers between the Available and
Selected lists.
4 Click OK.
The browser groups you added to the list of Selected browsers for layout editing now appear as
values in the Target Browser drop-down list.
You can let the Object Explorer or Properties, Applets, Controls, Web Template Explorer, or
Bookmarks windows float, moving and sizing to fit your needs, or dock the window in a corner of the
main window.
The Siebel Tools version 8.0 user interface allows you to hide docked windows, including the Object
Explorer, as tabs. They can be shown and rehidden, or docked again.
To show a window
1 From the View menu, choose Windows.
NOTE: To show the Bookmarks window, you can also use the Go menu (choose Bookmarks List from
the Go menu).
Docking Windows
You can dock windows in a corner of the main window.
To dock a window
■ Drag the window to the area of the main window where you want to dock.
To undock a window
■ Right-click the window, and choose Docked.
The window disappears, and a named tab appears in the corner of the Siebel Tools application
window where the window had been docked.
The window appears. It remains open while the mouse cursor is over the window or the tab. You
can click objects in the window. When the cursor is moved away, the window closes.
The window stays open until you show another window by hovering over or clicking its tab.
When the window opens, the Auto Hide button appears as a sideways pin.
A list of editors appears in a secondary pop-up menu. A visible editor is identified with a check
mark. A hidden editor has no marker.
If the editor was hidden, it appears. If the editor was visible, it is hidden.
A list of visualization views appears in a secondary pop-up menu. A visible view is identified with
a check mark. A hidden view has no marker.
If the editor was hidden, it appears. If the editor was visible, it is hidden.
Related Topics
“Viewing Object Relationships” on page 129
A list of toolbars appears in a secondary pop-up menu. A visible toolbar is identified with a check
mark. A hidden toolbar has no marker.
If the toolbar was hidden, it appears. If the toolbar was visible, it is hidden.
If the status bar was hidden, it appears. If the status bar was visible, it is hidden.
This chapter describes how to get projects from the server repository. It contains the following
topics:
■ Getting projects overrides all the projects on your local database, whether they are locked or not
locked.
NOTE: The sample database, unlike a local database, cannot receive projects from the server
database during a Get. The sample database is intended for instructional use only.
Typically you perform a Get to initially populate your local database. This process is known as a Full
Get process. You can also get projects to override objects stored on your local database.
Related Topics
“Performing a Full Get Process” on page 89
“Getting Projects from the Server Repository” on page 90
“About the Check Out and Check In Process” on page 94
You use the Full Get option to synchronize the local database with the modifications done on the
server.
By default, the Full Get process performs database commits in regular intervals, rather than a single
commit at the end of the process. For information about changing this option, see “Setting Commit
Options for Full Get Process” on page 74.
NOTE: To invoke the executable that performs a Get, the user must be the user who installed Tools
on this local machine, or the ODBC driver that is used to perform the Get must be set to System
DSN, instead of User DSN, on the operating system so that any user of the machine can perform the
Get.
3 Choose the name of your development repository from the Repository picklist.
NOTE: You only need perform this step once. The repository that you select is not necessarily
the one opened by Siebel Tools.
5 Click Options.
6 In the Development Tools Options window, make sure your Server Data Source is pointing to your
server development database and your Client Data Source is pointing to the local database you
previously initialized and are currently running against.
All objects from the server repository are copied to your local repository.
3 Choose the name of your development repository from the Repository picklist.
NOTE: The repository that you select is not necessarily the one opened by Siebel Tools.
5 Click Options.
6 In the Development Tools Options window, make sure your Server Data Source is pointing to your
server development database and your Client Data Source is pointing to the local database you
previously initialized and are currently running against.
All objects associated with the projects are copied from the server repository to your local
repository.
Related Topics
“About the Get Process” on page 89
3 Choose the name of your development repository from the Repository picklist.
NOTE: The repository that you select is not necessarily the one opened by Siebel Tools.
4 Select the Projects for which you want to get locale-specific data.
5 Click Options.
6 Make sure your Server Data Source is pointing to your server development database and your
Client Data Source is pointing to the local database you previously initialized and are currently
running against.
8 In the Check Out dialog box, select the Get Locale Specific Data Only check box.
9 Click Get.
Data stored in child locale objects of the selected projects are copied from the server repository
to your local repository.
This chapter describes how to check out and check in projects and objects. It contains the following
topics:
NOTE: You can lock objects directly on your local repository, without checking them out, but changes
you implement cannot be checked in. See “Locking Projects Directly in the Local Repository” on
page 111.
■ Password encryption interferes with check out. If you are checking out projects, you must disable
password encryption in the client or CFG file when running Siebel Tools.
■ You check out projects and objects in the current Siebel Tools language mode only. For more
information, see “Selecting a Language Mode” on page 65.
■ The sample database, unlike a local database, cannot receive checked-out objects, and its
objects cannot be checked in to the server database. The sample database is strictly for
instructional use.
■ Objects must be checked out and checked in to the server database from which the local
database was extracted.
■ Before doing a check-in, make sure that the projects and objects you are checking in are in a
stable state, that all dependent scripting is complete, and the configuration has been tested
against your local repository.
■ Check in all dependent projects and objects at the same time to make sure that the configuration
on the server remains consistent.
For example, if you create a new Pick List object in the Pick List project and reference that object
in your Oppty project, check in both projects to the server at the same time.
■ The directory from which projects and objects are checked in or checked out is specified by the
Temp parameter in the [Siebel] section of the tools.cfg file. By default, it is set to the
<client_root>\TEMP directory of your Siebel Tools installation folder. When an object is checked
in or checked out, it is temporarily placed in an Object folder in this TEMP directory, whereas
when a project is checked in or checked out, it is temporarily placed in a Project folder in the
TEMP directory (in the form of an archive file).
You can relocate the TEMP folder to another location, unless you plan to use source control
integration. Source control integration requires that the check in or check out folder for objects
and projects use the default path.
■ Consider the timing of your check-in and its effect on the work of other developers.
CAUTION: Depending on the size of the project, the check-in process might require some time. Do
not interrupt the process, because doing so can leave your repository in an unstable state. If for any
reason the check-in process is interrupted, you must perform it again to complete any unfinished
tasks and unlock the projects on the server.
Table 24. Project Check Out Dialog Box User Interface Elements
Element Description
Repository drop-down list Displays the repositories on the server. The list of projects in
the projects list reflects the list of projects in the selected
server repository. If you select a different server repository
from the one currently open in Siebel Tools locally, a warning
appears, and you must either get all projects or change the
repository selection.
Projects list Project Displays the name of each project in the server repository.
Server Locked By Logon ID of the developer who currently has this project
checked out on the server.
Client Locked By Logon ID of the developer who currently has this project
locked locally.
Client Language The language of the project currently locked on the client.
Only one language can be locked at one time.
Allow Object A value of Yes appears if the project allows object check-in or
Locking check-out. The default value is Yes. If you want to restrict
object check out, see “Enabling Object Check Out and Check
In” on page 104.
Owner Branch Displays the owner branch for each project. If the project's
Owner Branch is not blank, the user's assigned Repository
Branch must match in order to check out the project or any
of its objects.
Table 24. Project Check Out Dialog Box User Interface Elements
Element Description
Option Selected projects When this option button is selected, you can select individual
buttons projects to check out or get.
All projects When this option button is checked, all projects in the
repository are selected to check out or get.
Updated projects When this option button is active, only projects with an
Updated value of Yes are selected. This allows you to check
out or get only those projects on the server that are new or
different from corresponding projects in the local repository.
Normally you perform a Get to bring your local repository up
to date.
Get locale specific data only check Checking this box gets string translations and locale-specific
box attributes being stored in the locale objects only. It does not
get data stored in the locale object’s parent object.
Buttons Get Selected projects are copied to the local repository, replacing
pre-existing versions there, but not locking them on the
server. You can get any projects on the server, including those
locked by others.
Check Out Copies all objects in the selected projects to the local
repository and locks them on the server (and client).
You cannot check out projects that are currently locked on the
server by another user.
Options Opens the Development Tools Options dialog box with the
Check In/Out tab selected. This is the same dialog box that
appears when you choose Options from the menu.
Cancel Cancels the check out and closes the Check Out dialog box.
Table 25 describes the user interface elements of the Object Check Out Dialog Box.
Table 25. Object Check Out Dialog Box User Interface Elements
Element Description
Repository Text Box Displays the name of the current repository the user is
working on.
Table 25. Object Check Out Dialog Box User Interface Elements
Element Description
Object List Type Displays the type of each new or checked out object in the
local repository. Objects obtained by the get process are not
listed, because these are not available for check in. (You can
check in only projects that you have previously checked out
or created locally.)
Object Locking A value of Yes appears if this object's parent project allows
object check-in or check-out.
Server Locked By Logon ID of the developer who currently has this object
checked out on the server.
Server Language The language on which the object is checked out on the
server. Only one language can be checked out at one time.
Client Locked By Logon ID of the developer who currently has this object
locked locally.
Client Language The language of the object currently locked on the client.
Only one language can be locked at one time.
Project Locked By Logon ID of the developer who currently has this object's
parent project checked out on the server.
“Get locale specific data only” Checking this box gets string translations and locale-specific
checkbox attributes being stored in the locale objects only for the
objects selected. It does not get data stored in the locale
object's parent object.
Table 25. Object Check Out Dialog Box User Interface Elements
Element Description
Buttons Get Selected objects are copied to the local repository, replacing
pre-existing versions there, but not locking them on the
server. You can get any objects on the server, including those
locked by others regardless of whether their parent projects
have the Allow Object Locking field checked.
Check Out Copies all selected objects in the selected objects to the local
repository and locks them on the server and client.
You cannot check out objects that are currently locked on the
server by another user, because either their parent projects
do not allow object locking or their parent projects are locked
on the server.
Options Opens the Development Tools Options dialog box with the
Check In/Out tab selected. This is the same dialog box that
appears when you choose Options from the View menu.
Cancel Cancels the check out, and closes the Object Check Out
dialog box.
Element Description
Repository drop-down list Lists repositories in the local database. The list of projects in
the Projects list reflects the list of projects in the selected
repository (in addition to locally created projects).
Element Description
Projects list Type Displays the type of each new or checked out project or object
in the local repository. Projects or objects obtained by the get
process are not listed, because these are not available for
check in. (You can check in only projects that you have
previously checked out or created locally.)
Status Contains the value New or Locked for each project, or object
indicating whether you created it yourself or obtained it
through check-out.
Lock/Creation Displays the date and time when you created the project or
Date object, or checked the project or object out from the server.
Option Selected Objects When this option button is checked, you can manually select
buttons individual projects or objects to check in.
Locked/New Selects all of the projects or objects in the list—that is, all
Objects those you have created or obtained through check-out.
Maintain lock check box Does not remove object locks on the server or the local
databases after check in.
Buttons Undo Check Out Does not check in objects to the server. This releases the lock
on the server, so that another developer can work on those
objects, but retains the locks on the local database.
Diff Opens the Project Differences dialog box that allows you to
compare the objects you are checking in with the server
versions of those objects. For more information, see “About
Validating Objects” on page 120.
Options Opens the Developer Tools Options dialog box where you
specify check-in and check-out settings, especially server and
client data source names.
For information on checking out individual objects, see “About the Object Check Out Dialog Box” on
page 98.
■ All objects associated with the projects are locked on the server, preventing other developers
from checking them out.
■ All objects associated with the projects are copied from the server database to your local
database.
■ All objects associated with the projects are locked on your local database, allowing you to edit
them.
NOTE: If the Allow Object Locking property is set to TRUE, you cannot check out a project from the
server. You must disable object locking to check out a project from the server.
2 In the Check Out dialog box, make sure that the correct repository is selected.
3 Select the projects you want to check out, then click Options.
4 In the Development Tools Options dialog box, make sure the Server and Client data sources are
specified correctly.
5 Click OK.
Objects are checked out of the server database and stored in your local database.
Related Topics
“Guidelines for Check Out and Check In” on page 94
“About the Project Check Out Dialog Box” on page 95
“Setting Options for Check Out and Check In” on page 94
■ Projects and their associated objects are copied from your local repository to the server
repository, replacing those on the server.
2 In the Check In dialog box, make sure that the correct repository is selected.
3 Click Options.
4 In the Development Tools Options dialog box, make sure the server and client Data Sources are
are correct and then click OK.
■ To check in selected projects, click the Selected Objects option, and then select the projects
that you want to check in.
■ To check in all locked projects (new and modified), click the Locked/New Objects option.
The selected projects and associated objects are copied from your local repository to the server
repository and locks are removed.
Related Topics
“Guidelines for Check Out and Check In” on page 94
“About the Check In Dialog Box” on page 100
“Setting Options for Check Out and Check In” on page 94
NOTE: If the Allow Object Locking property is set to TRUE, you cannot check out a project from the
server. You must set the Allow Object Locking property to FALSE to check out an entire project from
the server.
EnableObjectCOCI = TRUE
2 In the Projects window, choose the desired Project object, then right-click and choose Toggle
Allow Object Locking.
NOTE: You can only change the Allow Object Locking flag on the Server database using the
SADMIN login ID.
If a project has the Allow Object Locking configuration file parameter set to TRUE, and the user
is logged in to the server using the SADMIN user ID, the Toggle Allow Object Locking menu option
is enabled. When the SADMIN user chooses this option for a project that is already set to allow
object locking, a check is performed to determine whether any objects are locked on the server
within the project. If there are objects locked within the project, the system administrator
receives an error message. If the project is locked on the server by someone else, the menu
option for Toggle Allow Object Locking does not appear.
■ Locked on the server, preventing other developers from checking them out
3 In the Object List Editor, select the object definition, and then right-click and choose Check Out.
NOTE: If another developer has the objects checked out or if the parent project has the Allow
Object Locking property set to FALSE, the Check Out button is disabled.
4 In the Check Out Object dialog box, select the objects to check out.
The object and all its child objects are locked on the server and then copied to your local
repository.
■ Copies object definitions from your local repository to the server repository
3 In the Check In dialog box, make sure that the correct repository is selected.
■ To check in selected projects or objects, click the Selected Objects option button and then
select the projects and objects you want to check in.
■ To check in all locked projects and objects, click the Locked/New Objects option button.
Siebel Tools copies the projects and objects from your local repository to the server repository
and removes the locks.
2 In the Object List Editor, select the project that contains the objects to view.
The Locked Objects dialog box displays any locked objects associated with the selected project.
■ Deleting objects
■ Renaming objects
2 In the Check In dialog box, select the project you want to compare.
3 Click Diff.
The Object Comparison dialog box appears and displays the selected projects and any differences
between objects in the local database and objects in the server database.
■ Objects in the local repository remain locked, and all changes since the objects were checked out
are retained.
2 In the Check In dialog box, select the project or objects for which you want to undo check-out,
and click the Undo Check Out button.
The project or object is unlocked on the server, but not on your local database.
If one of the projects or objects you select is new, the Undo Check Out button is disabled.
■ Overwrite a project that you have checked out from the server database.
■ Check that project back in to the server to remove the lock for the project.
Related Topic
“Getting Projects from the Server Repository” on page 90
This chapter describes how to work with projects. It contains the following topics:
About Projects
Projects are sets of objects that reside in the Siebel Repository. They are used group objects based
on functional areas. Every object is associated with a project. The names of projects that are
delivered with a standard Siebel application indicate the functional area with which they are
associated. For example, Account contains objects that pertain to the Account functional area.
A project named without a suffix, such as Account, usually contains business object layer objects
that span multiple Siebel applications. Project names that have a suffix (for example, Account (SSE))
contain user interface or business objects that are specific to the Siebel application indicated by the
suffix. For example, the suffix SSE in Account (SSE) indicates an entry containing Account user
interface data for Oracle’s Siebel Sales application. Other examples of suffixes indicating user
interface data only are SSV for Oracle’s Siebel Service and CC for Oracle’s Siebel Call Center.
The project structure supplied with the Siebel Repository is usually well suited to having several
developers work on the same repository without contention for the same objects. However, when
developers need access to the same set of objects simultaneously, changing the standard project
structure may be necessary.
■ Create an application development plan that includes a PERT chart showing dependencies and
parallel activities.
■ Analyze the plan to see if the project structure interferes with developers who need access to
objects in the same projects at the same time. If so, break out groups of objects into separate
projects to enable concurrent development. Alternatively, for projects that are expected to be in
contention, enable those projects for Object Check-in or Check-out.
If you intend to implement a new project on the server repository, follow this development process:
3 Enter a Name for the project and then step off the record.
For information on performing a Get, see Chapter 4, “Getting Projects from the Server Repository.”
For information on project check in and check out, see Chapter 5, “Checking Out and Checking In
Projects and Objects.”
NOTE: You cannot delete projects using Siebel Tools, but you can delete projects using SQL
commands.
Renaming Projects
You can rename projects that you have created. However, you must rename the projects on the
server, not on the local database. You cannot change the name of a top-level object that has been
checked out.
CAUTION: Do not change the name of projects to which Siebel objects are associated.
3 From the File menu, choose Open Repository, and then select the repository you want to modify.
7 Have developers perform a full compilation the next time they compile.
For instructions on how to check out projects, see “Checking Out and Checking In Projects” on
page 101.
2 Navigate to the object you want to modify and then change the Project property to the name of
the new project.
For instructions on how to modify objects, see “Modifying Objects” on page 118.
3 Check in the project that was originally associated with the object and then check in the project
that is currently associated with the object.
NOTE: Trying to check in both projects at the same time can lead to errors.
For instructions on how to check in projects, see “Checking In Projects to the Server Repository”
on page 102.
4 Inform other developers that they must do a simultaneous get of the two projects prior to doing
any subsequent work on the object in either project.
■ You want to test configurations on your local machine, but do not want to prevent others from
checking out the project from the server database.
■ You intend to discard your work when you are done and therefore, do not have to check modified
objects back into the server.
When locking projects directly in the local repository, consider the following:
■ You cannot check in projects or objects that have been locked on the local database. Projects
must have been checked out from the server for them to be checked in to the server.
■ Any projects you have locked locally, and all associated objects, are overwritten the next time
you get or check out those projects.
■ Select an object, such as an applet or business component, and then from the Tools menu,
choose Lock Project.
■ Navigate to the project that contains the objects that you want to modify, and click the
Locked field to set it to TRUE.
All objects associated with the project become available for editing, indicated by a pencil icon
that appears under the W field, and the Locked property of the project object is set to TRUE.
CAUTION: Modifying objects directly on the server repository for purposes other than preventing
check in and check out is not recommended.
■ Select an object, such as an applet or business component, and then from the Tools menu,
choose Lock Project.
■ Navigate to the project that contains the objects that you want to modify, and click the
Locked field to set it to TRUE.
The project and all objects associated with project are locked. They cannot be checked out.
To unlock projects
1 Log in to either the local database or server database, depending on where the locked objects
reside.
■ Select the object you want to unlock, and then from the Tools menu, choose Unlock Project.
■ Navigate to the project that contains the objects that you want unlock, and then click the
Locked field to clear the check mark (sets Locked to FALSE).
The locks are removed from the project and all objects associated with the project.
This chapter describes how to work with objects. It contains the following topics:
■ “Determining When Records Were Last Created and Updated” on page 134
Table 27 summarizes the differences for processes, such as create, copy, and modify.
Task Allow Object Locking is Set to False Allow Object Locking is Set to True
Create new 1. Check out projects. 1. Check out the object to copy.
object by
2. Copy the object, and create a new 2. Lock the object’s parent project locally.
copying an
one.
existing one 3. Copy the object and assign the project.
3. Check in projects.
This refers to the same project locked in
step 2, or to a different project that has
the Allow Object Locking property set to
TRUE.
Delete 1. Check out project. Cannot perform. The Allow Object Locking
object property must be set to FALSE.
2. Delete object.
3. Check in project.
Rename 1. Check out the project. Cannot perform. The Allow Object Locking
object property must be set to FALSE.
2. Rename the object.
Assign 1. Check out Project (source and Cannot perform. The Allow Object Locking
object to target). property must be set to FALSE.
different
2. Associate object with target project.
project
3. Check in source first, and target
second.
The following list links to the summarized tasks listed in Table 27:
■ If you checked out the projects from the server, perform the task described in “Checking In
Projects to the Server Repository” on page 102.
■ If you locked the project directly, perform the task described in “Unlocking Projects Directly” on
page 112.
Creating Objects
Use new object wizards to create objects whenever possible. For example, to create a new business
component, use the Business Component Wizard.
Wizards step you through the process of configuring a given object, prompting you for the necessary
property values and automatically configuring any necessary child objects.
When a wizard is not available for the object type you want to create, you can create objects
manually in the Object List Editor.
For information about using wizards and creating specific objects, see Configuring Siebel Business
Applications.
The Object List Editor opens, listing objects of this object type.
3 From the Edit menu, choose New Record (or right-click in the list applet and choose New Record).
4 Enter property values in the new row in the Object List Editor.
At a minimum, you must enter the object’s Name and Project properties.
Typically, other properties are also required. Before you can save the new objects, you must
complete the required properties.
5 Click anywhere outside the new row or move outside of the row with the UP or DOWN arrow keys.
Modifying Objects
You can modify objects using either the Object List Editor or the Properties window.
For guidelines about when to modify objects and when to create new objects, see Configuring Siebel
Business Applications.
Changing the name of a checked out or locked object causes "unique constraint" error during check-
in. To avoid this error, change the name of the object back to the original name. Do you want to
continue?
It is recommended that you copy the object instead, and then renaming the copy. For more
information, see “Copying Objects” on page 119.
2 In the Object List Editor, select the object you want to modify.
3 Use the TAB key to move the cursor to the specific value you want to modify.
NOTE: It is recommended that you use the TAB key to move from property column to property
column in the object—if you use the mouse you might unintentionally change the value of a
Boolean property.
4 Type in a new value, or pick a value from the picklist (if one is provided).
5 To commit your changes, click anywhere outside the modified row or move outside the row with
the UP or DOWN arrow.
2 In the Object List Editor, select the object you want to modify.
3 From the View menu, choose Windows, and then the Properties menu item.
4 In the Properties window, select the current value, and then type in a new one.
5 To commit your changes, select another property or click anywhere outside the Properties
window.
A check mark appears in the Changed column in the Object List Editor.
Copying Objects
One method of creating an object is to copy an existing object, and then rename and change
properties of the copy as necessary.
For guidelines on copying objects and more information on the Upgrade Ancestor property, see
Configuring Siebel Business Applications.
2 In the Object List Editor, locate the object to copy, and click anywhere in the row to select it.
A new row appears above the copied row, containing identical property values. The Changed
column contains a check mark.
6 Choose the name of the project to which to assign the new object.
8 To commit your changes, click anywhere outside the new row or move outside the row with the
UP or DOWN arrow keys.
Deleting Objects
Occasionally, you may want to delete an object from a project. To delete an object, you must have
the Allow Object Locking property set to FALSE.
CAUTION: It is recommended that users not delete objects, but instead make them inactive.
Objects might be used in multiple places in the application, especially standard Siebel objects, so it
is best to deactivate an object and then test the application.
NOTE: When you delete an object, the deletion does not cascade. For example, deleting a view does
not delete its associated applets.
To delete objects
1 Check out the Project from the server.
Validation is based on a set of rules that help make sure that your configuration changes are logically
consistent with other objects. Validating a parent object validates child objects as well.
There are many rules used to validate objects. The rule that checks for invalid object references is
the most important. An invalid object reference occurs when one object (for example, an applet)
references another object (for example, a business component) that has been deactivated or
deleted. You can review all validation rules in the Validation Options dialog box.
Related Topics
“Validating Objects Using the Object List Editor” on page 120
“Validating Objects Using the Command-Line Interface” on page 121
“About the Validate Dialog Box” on page 121
“About the Validation Options Dialog Box” on page 123
To validate an object
1 In the Object List Editor, select the object or objects you want to validate.
2 From the Tools menu, choose Validate Object (or right-click on the row containing the object you
want validated, and then choose Validate).
3 Click Options.
4 Select the validation rules to enforce by selecting a row and clicking Enforce or Ignore.
5 In the Time Filter area, limit the objects you want to validate by selecting one of the following
check boxes:
■ Last validated. This option validates objects that have been changed since the last time
validation was run.
■ Custom. Enter a date and time. This option validates objects that have been changed since
the date and time were entered.
6 In the Action area, use the following check boxes to define the actions to take during the
validation process:
■ Do not report warnings. When this is selected, only errors are reported, not warnings. The
Enforce field for warnings is set to No.
■ Abort validation after. Use this option to abort the validation process after a specified
number of errors.
7 Click OK.
The Errors list displays violations of the currently enforced rules, as shown in Figure 18 on
page 122.
Related Topic
“About Validating Objects” on page 120
“About the Validate Dialog Box” on page 121
“About the Validation Options Dialog Box” on page 123
siebdev.exe /bv
The /bv switch runs all validation rules for the entire repository.
Table 28. User Interface Elements of the Errors Area of the Validate Dialog Box
Field/
Button Description
Errors list Displays the results of the validation process. Each row in the list identifies a rule
violation for a specific object. To drill down on the object that contains the error,
double click the error. To sort the rows, click a column heading. To resize columns,
drag the right or left border of the heading cell.
Severity An icon appears in this column for each violation row. It indicates whether the
column violation is a warning (yellow icon with an exclamation mark) or an error (red icon
with a minus sign). Errors cause the compiled application to generate run-time
errors.
Rule column An integer value appears in this column, identifying the rule that has been violated.
Rules are listed in order of the rule number in the Validation Options dialog box
(shown in Figure 18 on page 122).
Table 28. User Interface Elements of the Errors Area of the Validate Dialog Box
Field/
Button Description
Details text Displays additional information about the error or warning message for the
box currently selected row in the Errors list.
Go To button To navigate to the corresponding object in the Object List Editor, select an error
message row and click Go To. Alternatively, you can double-click the error
message.
Table 29 describes the Log file area of the Validate dialog box.
Table 29. User Interface Elements of the Log file Area of the Validate Dialog Box
Field/
Button Description
Text box Path and filename of a log file containing the list of validation errors and warnings.
To save a list of validation rows as a log file, click Save As, navigate to where you
want to save the file, and then specify a filename. You can then reload the list of
error and warning validations at a later time by using the Load button, rather than
by repeating the validation process.
Load button Opens a previously saved log file and displays its list of validations in the Errors list.
Table 30 describes the Rules area of the Validation Options dialog box. The repository Validator must
be used only in conjunction with the Time Filter, to avoid validating objects that are not being used.
Table 30. User Interface Elements of the Rules Area of the Validation Options Dialog Box
Field/Button Description
Rules list Lists all rules that can be enforced during validation. Each row in the list
identifies a rule for a specific object type (or All). You can sort the rows by
clicking a column heading. You can also resize columns by dragging the
right or left border of the heading cell.
Severity column An icon appears in this list column for each rule. It indicates whether the
rule generates a warning (yellow icon with an exclamation point) or an error
(red icon with a minus sign).
Object columns Either the single object type that this rule applies to, or All.
Enforce A Yes or No value for each rule. Yes validates all objects of the object type
identified in the Object column. Yes and No values in this list column are
changed using the Enforce, Ignore, Enforce All, and Ignore All buttons.
Table 30. User Interface Elements of the Rules Area of the Validation Options Dialog Box
Field/Button Description
Save button Saves the current set of rules and their state (enforced or ignored) to a text
file you specify. Other settings are saved to the preferences file when you
press ENTER.
Enforce button Changes the Enforce column value in the selected row from No to Yes.
Ignore button Changes the Enforce column value in the selected row from Yes to No.
Enforce All button Changes all values in the Enforce column to Yes.
Ignore All button Changes all values in the Enforce column to No. This has the effect in the
next validation of not validating any objects.
Details text box The full text of the rule description for the currently selected row in the
Rules list.
Table 31 describes the Time Filters area of the Validation Options dialog box.
Table 31. User Interface Elements of the Time Filter Area of the Validation Options Dialog Box
Field Description
Last validated check When selected, validates only objects changed since the date you enter into
box and date field the corresponding date box.
Custom check box When selected, validates only objects changed within the date range you
and date and time enter into the corresponding date boxes.
fields
Table 32 describes the Action area of the Validation Options dialog box.
Table 32. User Interface Elements of the Action Area of the Validation Options Dialog Box
Field Description
Do not report When selected, reports errors only, not warnings. It also changes the
warnings check box Enforced setting of all warning rules to No.
Abort validation When selected and a number is entered in the text box, Siebel Tools stops
after check box and validating after the specified number of errors is reached. By default, the
text box validation process continues to run until it is completed or canceled.
3 Define your search criteria in the property cells of the empty query row.
These values may be single literal values such as Opportunity List Applet, or they may include
wildcard symbols. In TRUE or FALSE properties, a check mark represents TRUE.
The list of objects in the Object List Editor is filtered to contain only those objects that meet your
query criteria.
The list of objects in the Object List Editor is restored to its prequery state.
Related Topics
“About Simple Queries” on page 127
“About Compound Queries” on page 127
Operator Description
= Equal to
* Any number of characters (including none) may take the place of the asterisk (*)
NOT LIKE Searches for values not starting with the indicated string
“” Searches for strings that contain special characters, such as a comma (,)
[~] Forces the case of the text string to whatever follows the tilde (~)
For more information on search specifications and operators and on Siebel data types, see Siebel
Developer’s Reference.
■ Enter conditions in two or more property columns to find records that meet all the conditions. In
other words, Siebel applications automatically connect these conditions with the operator AND.
This method is the easiest way to create a compound query.
■ Enter a compound query within a property field using the operators OR, AND, and NOT to create
two or more conditions for that property.
■ Enter a compound query using more than one field and compound operators AND, OR, and NOT.
You can enter this type of query in any field. You might find it convenient to use the Description
or Comments field, because it is typically the longest on a given screen.
When you create a compound query, follow the same basic steps you use to create a simple query.
Use parentheses to control the order in which a compound search is conducted. Expressions inside
parentheses are searched for first (as they appear left to right). Table 34 lists the unique operators
for compound queries. Use these operators in addition to the operators you use to create a simple
query.
Operator Description
AND All the conditions connected by AND operators must be true for a search to retrieve
a record.
OR At least one of the conditions connected by the OR must be true for a search to
retrieve a record.
NOT The condition modified by this operator must be false for a search to retrieve a record.
For more information about compound operators, see Siebel Developer’s Reference.
2 Under Parameters, in the Search value text box, type the search criteria.
3 If you want only those objects whose property values contain the search string with the same
capitalization, select the Case sensitive check box.
4 If you want only those objects whose property values exactly match the entire search string,
select the Exact match check box.
5 In the Types to search list box, select the object type or types to search for.
By default, all object types in this list are selected. You can choose a single object type to search
by selecting it. Use CTRL-click and SHIFT-click to select multiple object types. For better
performance, search only the object type or types you need.
Use the Select All and Clear All to select or deselect all object types in the Types to search list box.
Siebel Tools executes the search and lists the results in the list box at the bottom of the Search
Repository dialog box. The list box lists all the objects that match your search criteria, with the
following columns for each object.
Column Description
Property Name of the property of the object in which the search value was found.
Value Value of the property of the object in which the search value was found.
This has the same effect as running a query in the Object List Editor for the name of the object.
To cancel a search
■ At any time during the execution of a search, click Cancel.
■ View Details
■ View Relationships
■ View Descendents
■ View Web Hierarchy
View Description
Details Generates and displays a Details visualization view for the currently selected
business component or business object.
The diagram displays how the business component maps to underlying tables
(directly or through joins) and maps to other business components (through
links).
Relationships Generates and displays a Relationships visualization view for the currently
selected business component or table.
For business components, the diagram displays how the business component
links to other business components using multi-value link objects. For tables, the
diagram displays how the table joins to other tables using Join objects.
Descendents Shows all objects which have the current object marked as their Upgrade
Ancestor.
Web Hierarchy Generates and displays a Web Hierarchy visualization view for the currently
selected applet, application, business component, screen, or view.
The diagram displays the parent-child relationships between the selected object
and its parent and child objects, as well as the parents of the parent objects and
children of the child objects, up and down the hierarchy.
Using this feature, you can propagate a change made to an ancestor object to its descendents or
other objects of a similar types. You can assess and adjust differences between objects. You can also
compare properties of checked-out objects with their counterparts on the server.
For more information about ancestor objects, see Configuring Siebel Business Applications.
Field/Button/
Control Description
First Selection The explorer controls in the upper left and right area of the dialog box
are similar to what you see after clicking the Detail tab of the Object
Second Selection
Explorer.
Child objects that do not exist in either object are represented with
placeholders (a dashed line).
Properties By default, the properties shown in these list boxes are the properties
that are different for the objects being compared. Which properties
appear in these list boxes is determined by the settings in the Display
area.
Display Determines which properties are shown in First Selection and Second
Selection and in the Properties list boxes:
■ Show All Objects check box. Select to show all child objects in the
First Selection. Second Selection box: select to show all user
properties in the Properties list boxes.
Use this button to expand the entire tree in the First Selection and
Second Selection explorer controls.
Use this button to collapse the entire tree in the First Selection and
Second Selection explorer controls.
Comparing Objects
You can compare two objects of the same type. The Object Comparison dialog box displays a line-
by-line comparison between the two. You can compare objects defined in the current repository, in
different repositories, and in archive (SIF) files.
3 From the Tools menu, choose Compare Objects, and then the Selected menu item.
3 From the Tools menu, choose Compare Objects, and then the Selected vs. Repository menu item.
4 Select the repository that contains the object you want to compare with the currently selected
object.
The Object Comparison dialog box opens with the object in the current working repository
displayed in the left applet and the corresponding object in the selected repository in the right
applet.
You can update the current working repository or the selected repository from the Object
Comparison dialog box if you have the appropriate projects locked in both repositories.
3 From the Tools menu, choose Compare Objects, and then the Selected vs. Archive Option menu
item.
4 Select a SIF file that to use for comparison and then click Open.
The comparison starts at the project level. If a corresponding object type is found in the archive
file, the Object Comparison dialog box opens. If a corresponding object type is not found, it does
not open.
3 From the Tools menu, choose Compare Objects, and then the Archive vs. Archive menu item.
The Select Archive File for Left Side of Comparison dialog box opens.
The Select Archive File for Right Side of Comparison dialog box opens.
The Object Comparison dialog box opens with the left and right side populated with the contents
of the selected archive files. During the comparison, the two archive files are read-only.
Related Topic
“About the Compare Objects Dialog Box” on page 131
Synchronizing Objects
After you compare two objects, you can use the Compare Objects dialog box controls to synchronize
those objects.
To synchronize objects
1 Lock the projects that contain the objects you want to synchronize.
2 In the Object Explorer, select any two top-level objects of the same object type.
3 From the Tools menu, choose Compare Objects, and then the Selected menu item.
4 Select an object instance in the First Selection box and use the right arrow button to synchronize
the objects selected in the First Selection box with the object in the Second Selection box.
If the objects do not exist in the Second Selection box, Siebel Tools creates them. If they do exist,
Siebel Tools changes their properties to reflect those in the First Selection box.
When you copy an object from one tree applet to the other, the children of the object are copied
as well.
To determine by whom and when a record was created and last updated
1 Select a record in the Object List Editor.
The Siebel Tools dialog box appears, displaying when and by whom the record was created and
last updated.
3 Click Details to display additional information about the record in the repository.
This chapter describes how to create workflow processes and tasks. It contains the following topics:
■ “About the Workflow Process and Task UI Design Environments” on page 137
The Workflow Process Designer allows you to define and test business processes and related
repository objects. The Task Designer of the Siebel Task UI allows you to define, test, and publish
(that is, make available to end users) tasks.
For detailed information on workflow processes and tasks, see Siebel Business Process Framework:
Workflow Guide and Siebel Business Process Framework: Task UI Guide.
For more detailed information on creating and editing workflow processes, see Siebel Business
Process Framework: Workflow Guide.
2 Right-click in the Workflow Processes list, and then choose New Record.
3 Enter property values in the new row in the Object List Editor.
4 Click anywhere outside the new row or move outside of the row with the UP or DOWN arrow keys.
5 Right-click the new record, and then choose Edit Workflow Process.
NOTE: The Palettes window is floating by default, but it can be docked or tabbed if desired.
6 Drag and drop workflow steps from the Palettes window, enter their properties in the Multi Value
Property window, and then connect the steps.
NOTE: In Siebel Tools version 8.0, connectors automatically make right-angle lines and snap to
the sides of step boxes.
Creating a Task
Tasks are created using the New Task wizard. (They can also be created in the Object List Editor.)
Task steps are created as child Task Step objects in the Task Designer.
For more detailed information on creating and editing tasks, see Siebel Business Process Framework:
Task UI Guide.
To create a task
1 From the File menu, choose New Object.
NOTE: The Palettes window is floating by default, but it can be docked or tabbed if desired.
5 Drag and drop task steps from the Palettes window, enter their properties in the Multi Value
Property window, and then connect the steps.
NOTE: In Siebel Tools version 8.0, connectors automatically make right-angle lines and snap to
the sides of step boxes.
2 In the Multi Value Property Window, create a new record, such as an output argument.
4 In the Type field for the record, choose Expression from the pull-down menu.
5 Click in the Value field for the record, and then click the pull-down arrow.
6 Choose elements from the list, and then put them in the Expression window by double-clicking
them; choose relations between elements by clicking the buttons.
7 When finished building the expression, click Validate. You can display the Error Messages window
by selecting the Show Errors checkbox.
NOTE: You must test expressions using the application and not rely only on the Validate button
to catch logical or syntax errors.
8 When the expression has been validated, click OK to place the expression in the Value property
in the Multi Value Property Window.
This chapter describes the Siebel Script Editors. It contains the following topics:
■ “How Running ToolTip Differs from Tool Tips in Script Assist” on page 154
■ “Enabling and Disabling the Siebel Script Performance Profiler and Line Profiling” on page 170
NOTE: There are two versions of the eScript scripting engine available. The ST eScript engine—
available with Oracle’s Siebel Business Applications, version 7.8 and higher—is the default eScript
scripting engine in version 8.0. It provides enhancements including strong typing of variables and
the Script Assist utility. The T eScript engine is the traditional, previously available engine.
Except for a few key differences, the ST eScript engine is backward-compatible with eScript created
with the T eScript engine. In this document, the engines are referred to by name only in contexts
requiring differentiation.
For a list of enhancements contained in the ST eScript engine, and well as instructions on how to
enable the ST eScript engine, see “About the ST eScript Engine” on page 145. For information on
syntax differences between the two engines, see Siebel eScript Language Reference.
■ Check out or lock the project containing the object definitions being modified. If the project is
not locked, you cannot add any text in the Editor window.
■ From the Debug menu, choose Check Syntax to verify the syntax of your VB or eScript program.
The Siebel Compiler reports any syntax errors and indicates the lines where they occur.
■ From the File menu, choose Save when you have finished entering and editing the custom
statements to save your work. Closing the Siebel Script Editor without saving your work discards
the changes.
■ Before you run the application, you must compile the projects that you have modified and
generate a new SRF file. For more information, see Chapter 10, “Compiling and Testing.”
■ From the Debug menu, choose Start (or click the Start button in the Debug toolbar) to test the
modified scripts. The Siebel application executes with the new modifications incorporated.
■ You may inadvertently create programming errors that, when encountered, halt the execution of
the extension routine. If you started Siebel applications in debug mode (/H option on the
command start-up line), a message box opens indicating the nature of the error. You can then
return to the Script Editor and from the Debug menu, choose Check Syntax. For further details,
see “Checking Syntax” on page 160.
■ When a script error is encountered by an end user, or when the Siebel application is not running
in Debug mode, the application displays an appropriate error message with an error code and
returns control back to the point in the standard Siebel code just before the error.
NOTE: You can suppress the display of the scripting error message text and code SBL-EXL-00151
in pop-up error messages raised by the RaiseErrorText application method. From the Screens
menu, choose System Administration, and then the System Preferences menu item to set the
value of the Suppress Scripting Error Code preference to TRUE. The default value is FALSE.
The following table describes the fields in the Scripting Options tab.
Script Assist Allows you to set Script Assist options. For more information on Script Assist,
see “Setting Script Assist Preferences” on page 153.
NOTE: You must have the ST eScript Engine enabled to use these features.
For more information, see “About the ST eScript Engine” on page 145.
Language Default language for new A drop-down list allows you to choose the
scripts scripting language, either eScript or Visual Basic.
Browser script This field allows you to specify the folder where
compilation folder your browser scripts reside. This also determines
where browser scripts are generated, such as
C:\Program Files\Siebel\8.0\web
client\PUBLIC\enu. In this case, browser script
files are generated to
C:\Program Files\Siebel\8.0\web
client\PUBLIC\enu\<genbscript time stamped
folder>\bscripts\all.
Debugging Allows you to set options for the Siebel Debugger. For more information, see
“About the Siebel Debugger” on page 158.
■ Improved Performance. Higher throughput with a lower CPU and memory footprint in cases
where you have implemented a significant amount of script. The result is improved performance
and lower maintenance on heavily scripted events.
■ Scalability. Better performance than the T engine when many users are concurrently executing
scripts.
■ Enhanced functionality. Support for ECMAScript Edition 4 compliant strong typing. Strongly
typed objects allow you more functional scripts and better performance. The T eScript engine,
which was available in previous Siebel releases, does not support strong typing.
Functionality such as Script Assist, script libraries, favorites, and Fix and Go is only available with
the ST eScript engine. For more information, see “Using Fix and Go” on page 149 and “Using Script
Assist” on page 151.
NOTE: It is recommended that customers use the ST eScript engine for the above reasons. In
version 8.0 and going forward, Siebel Business Applications are developed using only the ST eScript
engine.
For a description of the functional differences in the scripting engines, as well as a description of
Strong Typing syntax, see Siebel eScript Language Reference.
CAUTION: Disabling the ST eScript engine is not recommended. For help with disabling this engine,
create a service request (SR) on OracleMetaLink 3. Alternatively, you can phone Global Customer
Support directly to create a service request or get a status update on your current SR. Support phone
numbers remain the same and are listed on OracleMetaLink 3.
2 From the Screen menu, choose System Administration, and then the System Preferences menu
item.
3 In the System Preferences window, under System Preference Name, query for Enable ST Script
Engine.
NOTE: If you want to revert to the T eScript engine after using the ST eScript engine and
modifying your code to be strongly typed, you must undo your strongly typed code changes.
6 Exit Siebel Tools, and then relaunch it to use the desired eScript engine.
NOTE: If the ST eScript engine is enabled in the development environment, make sure it is also
enabled in the Siebel application. Both environments must have all code compiled using the same
eScript engine setting, and the engine setting for both environments must be the one in which the
code was compiled.
For information on setting system preferences in Siebel Business Applications, see Siebel
Applications Administration Guide.
NOTE: For ease of use, it is recommended that you enable all three of the ST eScript engine settings.
By default, they are not enabled.
Setting Description
Enable Warnings Select this checkbox to display script compilation warning messages.
For information, see “Setting the ST eScript Engine Warnings Preference”
on page 147.
Deduce Types Select this checkbox to deduce the type of local variables used in a
script by scanning the assignments made to them. For more
information, see “Enabling ST eScript Engine Type Deduction” on
page 148.
Fix and Go Select this checkbox to allow script testing and debugging without
having to recompile before restarting the debugger. For more
information, see “Using Fix and Go” on page 149.
The ST eScript Engine includes warnings that tell the user of potential problems that may be
encountered at compile time. Some potential problems are:
Errors such as those listed previously usually end up causing a run-time failure. Therefore, these
compilation warnings enable you to fix errors earlier in your development cycle. The ST eScript
Engine is downward compatible with the T eScript engine, so any scripts you may be running on that
engine runs in the same way.
If you do not want these warnings displayed, deselect the Enable Warnings box.
function foo(a)
oApp.myMethod ();
return;
foo ();
Semantic Warning around line 10:Calling function foo with insufficient number of
arguments.
Type deduction is a feature of the ST eScript Engine, which deduces the type of local variables used
in a script by scanning the assignments made to them. The engine cannot make the type deduction
under all situations, therefore it is recommended that you strongly type your scripts.
If type deduction can be made, the compiler performs strict type checks and generates statically
bound code that runs faster and uses less memory. This may, however, introduce additional
compilation warnings because of such type checks.
The following example is of a script that deduces the type of the local variable oDate to the Date and
subsequently issues a warning about the undefined method MyMethod. The script subsequently fails
at run time:
function goo()
var oDate;
oDate.myMethod ();
return;
goo ()
Fix and Go can only be used with Server Scripts and the ST eScript Engine. This preference is set
under Engine Settings on the Scripting tab of the Development Tools Options window. Select the Fix
and Go checkbox to enable this setting.
2 Create a server script in the Siebel Script Editor, save it, and then compile the SRF.
If you try to save a script with syntax errors, you get a Script Error message and are prompted
to go to the line or lines with errors to fix them.
NOTE: You do not recompile the SRF. However, you must save and compile all script changes before
exiting Siebel Tools, or else they are lost.
The Siebel Script Editor is a window-based editor similar to the Windows Notepad editor. The Editor’s
interface consists of a title bar, a drop-down list for specifying an object, a drop-down list for
specifying an event, and a text entry window. There are vertical and horizontal scroll bars for
scrolling within the entry region.
When using the Siebel Script Editor, you can do the following:
■ Cut, copy, and paste the text from one location to another location within or from outside the
Editor. When pasting into the Editor, avoid having two code blocks with the same name by placing
the code between function <Name> { and } in eScript or Sub <Name> and End Sub in VB.
■ Associate a given Siebel script with a predefined object event, such as a PreSetFieldValue event
for a Business Component.
■ Debug a custom routine by invoking the Siebel Debugger. For more information, see “About the
Siebel Debugger” on page 158.
■ Compile a custom routine by invoking the Siebel Compiler from the Siebel Script Editor. For more
information, see “Invoking the Compiler and Run-time Engine” on page 165.
The editor functions can be accessed from the title bar menus, keyboard shortcuts, and the Edit
toolbar. The following are File menu options pertaining to Siebel VB and Siebel eScript:
■ Save. Saves a Siebel script. Be sure to save your scripts before exiting the editor.
The following are Edit menu options pertaining to the Siebel Editor:
■ Find. Displays the Find in Script dialog box. You can search for text or white space.
■ Replace. Displays the Replace in Script dialog box. You can search and replace text or white
space.
■ Right click and then select either Edit Server Script, or Edit Browser script.
■ From the View menu, choose Editors, and then the Server Script Editor or the Browser Script
Editor menu item.
■ Syntax highlighting. Reserved words, data types, operators, and other syntax in scripts are
highlighted in color in both VB and eScript. The following table lists the colors:
Syntax Color
■ Method listing. All methods and properties available for a particular object are listed in the
Script Assist window. See “Accessing the Script Assist Window” on page 153.
■ Repository introspection. Script Assist can access objects and object types in the repository
without the developer having to type string literals. This leads to fewer mistakes in script writing.
Script Assist also understands predefined constants for business component methods.
■ Favorites. The most frequently used object, method, and property names appear in italics in
the Script Assist window when favorites are enabled in the Development Tools Options window.
NOTE: Favorites are associated with a Siebel Tools session: when you log out of Siebel Tools, the
favorites are cleared.
■ Script libraries. You can call business service functions directly after declaring a business
service. You no longer declare property sets and make an InvokeMethod call. Script libraries
facilitate development of reusable, modular components. For more information about using script
libraries, see “Using Script Libraries” on page 156.
■ Auto complete. After typing a minimum number of unique characters within the Script Assist
window, for example “Bus” for “BusComp”, Siebel Tools automatically completes the word if a
match is found.
■ Auto indent. With the Auto Indent checkbox selected, which is the default setting, Siebel Tools
maintains a running indent. When you press the Return or Enter key, spaces and tabs are
inserted to line up the insert point under the start of the previous line.
■ Tool tips. Within the Script Assist windows, tool tips allow you to see the arguments descriptions
of methods chosen by a developer. They are particularly helpful as you do not want to cross
reference a customer function and its required arguments, or the Siebel Bookshelf for included
methods.
■ Application object scripts included for parsing. Scripts written on the Application object can
be included for parsing by Script Assist. If in the Application drop-down you select the application
to which this child script (business component, applet, business service) belongs, the scripts
written on that application object are available in the Script Assist window.
■ Custom scripts written in the general section. Scripts written in the general section of the
script explorer window are available in the Script Assist window. For example, if you were to write
a helper function called Helper() in the general section of a current script, invoking Script Assist
causes Helper() to be included and available in the pop-up window.
The Script Assist window provides a list of methods and properties associated with a selected object.
To access the Script Assist window, see “Accessing the Script Assist Window” on page 153. For a
description of icons in the Script Assist window, see Table 38.
Icon Description
Read-only property
Changeable property
Icon Description
Method
Class object
Primitive
2 Press CTRL+SPACE.
The Script Assist window appears displaying a list of all methods and properties available for the
selected object. The italicized items are the favorites for the current session.
NOTE: If you create a new function, you must add it to the declarations and then save the script
changes for the function to appear as a favorite.
The following table describes the different fields in the Script Assist Window.
Enable Method When checked, a list of declared methods and properties appears in the
Listing Script Assist window for each selected object.
NOTE: For Script Assist features to be fully enabled, you must check this box.
Auto Indent When checked, each succeeding line is indented to the position set by the
current line.
Enable When checked, the most frequently used object, method, and property
Favorites names appear in italics at the top of the Script Assist window.
Tab Width Set the tab width, in increments of spaces. The default setting is 4.
The Running ToolTip window appears when you enter a simple call expression. Call expressions allow
you to pass anything to the function based on the type of argument. For example, if you enter a data
object function using Date.SetFullYear, you can pass a value of your choosing to that function. For
example, if you type the following:
ToolTip shows:
The Script Assist window appears with a list of methods and properties that are available for a
particular object from which you can choose when you enter a collection type function, that is, a
function that has a finite set of values that you can pass to it. For example, if you enter
BusComp.GetFieldValue, only fields that are defined for that business component appear. The
following code provides an example:
var bo = TheApplication().GetBusObject(
For more information about functions and expressions using eScript, see Siebel eScript Language
Reference.
The Running ToolTip feature is automatically enabled when Script Assist is enabled. For more
information about enabling Script Assist, see “Setting Script Assist Preferences” on page 153.
■ From the View menu, choose Editors, and then Server Script Editor menu item.
When you type the name of a method in the Script Editor window followed by an open
parenthesis, the Running ToolTip window appears displaying the name and arguments of that
method. The suggested argument is highlighted by way of italicized text. The window disappears
when all the method parameters for that method are entered.
Figure 22 shows an example of how Running ToolTip displays method signature data after the user
enters the method name, followed a parenthesis.
This topic describes how to make custom methods available to a business service script library and
how to invoke these methods on the script library.
NOTE: Using script libraries is optional. All code written before Siebel 8.0 is still supported.
For more information about script libraries, see Siebel eScript Language Reference.
4 Check the External Use flag for the business service object.
The custom method for the service is added to the script library and can be displayed in the Script
Assist utility.
Use the following procedure to invoke a custom method using a script library.
For information on setting these options, see “Setting Script Assist Preferences” on page 153.
2 In the script editor, type the name of a business service object followed by a period (.).
All the default and custom scripted methods available for the business service object appear.
NOTE: You may want to run a syntax check to detect incorrect method calls. For more
information about checking syntax, see “Checking Syntax” on page 160.
Given you have a mathService business service marked for external use with a scripted method
named square (x):
NOTE: For functions called using script libraries, the compiler checks that argument types are valid
and do not contain incompatibilities.
You can invoke this method using another script by typing the following:
To see a list of the available methods for the mathService library (as shown in Figure 23), type the
following:
Figure 23. Example of a Script Assist Window Showing the Methods Called from a Script Library
The Siebel Debugger uses the Siebel Script Editor window plus a diagnostic window to display
program variables and their values. The Debugger helps you locate and correct execution errors in
custom program routines. You can use it to slow or suspend execution of the program routines so
that the program flow and variable contents can be examined.
■ Set and clear breakpoints in your Siebel script. A breakpoint is a marker on a line of Basic code
that tells Basic to suspend execution at that line so that the state of the program can be
examined using the Debugger.
■ Step over a line of code. If the current line is a call to a subroutine or function, the Debugger
stops at the next line in the current procedure (skipping the subroutine).
■ Step into a subroutine of custom routine code. Step Into is used to execute one line of code in
the Debugger. If the current line is a call to a subroutine or function, the Debugger stops at the
first line of that function. Otherwise, the Debugger stops at the next line of the current
procedure.
■ View the value of custom routine variables. The Siebel Debugger includes a Watch window in
which variables and their values are displayed. This window can be used to monitor the values
of specific variables as the custom routine executes.
■ You can set breakpoints in the current routine and begin execution by clicking the Start button.
Execution is suspended when one of the lines that contains a breakpoint is about to be executed.
The Debugger is activated and it highlights the line containing the breakpoint.
Debug options are available from the Debug title bar menu and the Debug toolbar. See the Siebel
Toolbars and Menus topics for details.
The following table describes the different fields in the Debug box in the Development Tools
Options window.
Option Description
Adjust breakpoint When breakpoints are deleted on invalid lines, this option creates a
to next valid line breakpoint at the next valid line. Click the check box to enable this
function.
Make debugger The Siebel Debugger window appears whenever you are in debug mode.
window active Click the check box to enable this function.
when debugging
Always enter the The Siebel Debugger window appears whenever a script error occurs.
debugger when an Click the check box to enable this function.
error occurs
The following table describes the different fields in the Debug box in the Development Tools
Options window.
Option Description
Executable Enter the name of the Mobile Web Client executable (Siebel.exe).
Option Description
Arguments Additional line options for starting the application. Common arguments
are:
Prompt for this Click this to display relevant information, such as executable, CFG file,
information each browser, and so on, each time you run a debug operation.
time
Show Workflow If checked, the Watch Window in the Workflow Simulator shows all fields
Primary Business and their values from the primary Business Component of the Business
Component Data Object associated with the Workflow process being simulated.
Data source Enter the default data source. Values listed depend upon the
configuration file specified in the CFG file parameter.
Checking Syntax
The debugger includes a syntax checker to make sure that your script compiles properly.
Siebel Tools does a test compile. If you have made no errors, you get no response. If there are
errors in your script, a message box appears describing the error. The message box has two
buttons: Next Error and Go to Line. If there is more than one error, it is best to handle them one
at a time.
2 Click Go to Line.
The cursor is displayed on the line of the script containing the error, with the line highlighted.
If the syntax of the line you changed is now correct, the message box displays the next error, if
any.
7 When the compilation finishes, click Run or press F5 to restart the application.
CAUTION: The Check Syntax function checks only for syntax errors and errors that stem from
failure to properly initialize objects or variables. It does not check other types of errors, and cannot
trap errors in logic that may cause run-time errors.
At this point, your script runs. Test it to see if it gives you the desired results. The following sections
describe debugging tools to help you accomplish that end.
CAUTION: The Check Syntax command checks only the script in the active object definition. If there
are errors in other scripts, you are not able to compile the SRF file.
Using Breakpoints
A breakpoint is a marker on a line of Siebel code that tells the interpreter to suspend execution at
that line so that the state of the program can be examined using the Debugger. There are two ways
to set breakpoints on lines of Siebel code when editing, and there is an additional way to set a
breakpoint when debugging:
■ When editing, place the cursor on the line of code on which to set a breakpoint by clicking on
that line, or by using the arrow keys. To toggle the breakpoint, press F9, or click the toolbar
button. If the line already has a breakpoint, pressing F9 or the toolbar button clears the
breakpoint.
■ When debugging, clicking on a line of Siebel code toggles a breakpoint on that line.
Selecting an entry in this list box causes the interpreter to shift to that entry. The Debugger window
displays the line of code that made the call, and the Variable window displays the variables that are
associated with the procedure that made the call.
■ Local
■ Global
■ Shared global
■ Application
Figure 24 shows a script for the Contact business component being monitored in the Watch window.
2 Start the Mobile Web Client from the Siebel Debugger by pressing F5 or clicking the Start icon
on the Debug menu. Make sure that the /h argument has been set in the Debug options.
3 Press SHIFT+F9 or click the Watch button (glasses icon) on the Debug toolbar.
Tracing Scripts
As part of debugging scripts you can run a trace on allocations, events, and SQL commands. The
tracing can be activated for specified user accounts, such as your development team. The Siebel
Server sends the tracing information to a log file.
To enable logging
1 In the client application, navigate to the Administration - Server Management screen,
Components view.
If this record does not exist, then the selected component does not support logging.
5 Set the Log Level to 1. To disable logging when you are done, set the Log Level to 0 (zero).
7 Optional. To display only the script tracing parameters, query for the following:
Changes to the script tracing parameters can take effect immediately. If you want changes to
take effect now, then make changes to the values in the Current Value column. If you want the
changes to take effect only after a restart, then make changes to the values in the Value on
Restart column.
Information to Parameter
Trace Alias Settings for Current Value and Value on Restart
The following code is an example of a trace that shows scripting generated after running the Business
Service Simulator:
ObjMgrExtLangLogObjMgrExtLangLog000000080475f1578:02007-12-12 07:33:45[User: ] SQLBIND, 90, 1, Y.
ObjMgrExtLangLogObjMgrExtLangLog000000080475f1578:02007-12-12 07:33:45[User: ] COMPILE, END, <unknown>.
ObjMgrExtLangLogObjMgrExtLangLog000000080475f1578:02007-12-12 07:33:45[User: ] EVENT, BEGIN, Service
[sam], Service_PreInvokeMethod. ObjMgrExtLangLogObjMgrExtLangLog000000080475f1578:02007-12-12 07:33:45
[User: ] EVENT, END, Service [sam], Service_PreInvokeMethod. ObjMgrExtLangLogObjMgrExtLangLog0
00000080475f1578:02007-12-12 07:34:39[User: ] SQLSTMT, 91,
The following code shows an example of a detailed log file where the log level is set to high. The log
file is truncated.
2021 2007-12-12 07:46:29 2007-12-12 07:56:46 -0700 000003fd 001 003f 0001 09 SCCObjMgr_enu 11534365 5452
780 d:\21022\ses\siebsrvr\log\SCCObjMgr_enu_0011_11534365.log 8.1 [21022] ENU
T1.CONFLICT_ID,
T1.DB_LAST_UPD_SRC,
CONVERT (VARCHAR (10),T1.DB_LAST_UPD, 101) + ' ' + CONVERT (VARCHAR (10),T1.DB_LAST_UPD, 8),
CONVERT (VARCHAR (10),T1.LAST_UPD, 101) + ' ' + CONVERT (VARCHAR (10),T1.LAST_UPD, 8),
CONVERT (VARCHAR (10),T1.CREATED, 101) + ' ' + CONVERT (VARCHAR (10),T1.CREATED, 8),
T1.LAST_UPD_BY,
T1.CREATED_BY,
T1.MODIFICATION_NUM,
T1.ROW_ID,
T1.BUILD_NUMBER,
T1.CURR_WEBFILE_VER,
T1.ENTERPRISE_NAME,
T1.PREV_WEBFILE_VER,
T1.RECORD_INFO_TEXT,
T1.REC_IDENTIFIER
FROM
dbo.S_UIF_WEB_FILE T1
WHERE
(T1.REC_IDENTIFIER = ?).
NOTE: Script tracing is not the same as file-based tracing. For more information on file-based
tracing, see the TraceOn, Trace, and TraceOff methods in Siebel Object Interfaces Reference.
To avoid this error, use the Declare statement to declare the function or procedure in the (general)
(declarations) section. For more information, read the VB Language Reference topics within Siebel
VB Language Reference.
The Script Profiler gathers and displays data for all executable scripts when you launch a Siebel
application in debug mode from Siebel Tools. The Script Profiler displays data in the Script
Performance Profiler window in Siebel Tools (similar to the Script Editor window), and the data is
automatically updated whenever a script executes in the attached application. Using this data, you
can monitor script performance, identify performance bottlenecks, and compare profiling data with
previous script executions.
NOTE: The Script Performance Profiler window is only available if your Siebel Tools environment is
currently attached to a Siebel application launched in debug mode.
■ Call Tree view of script execution. This view displays profiling data as a tree of function calls,
with each function in a particular call sequence represented by a node. You can drill down into
each node to examine its subtree. You can also expand all nodes using the Expand All option in
the Profiler toolbar. To access the Profiler toolbar, see“About the Script Performance Profiler
Window and Profiler Toolbar” on page 167.
■ Support for function profiling as well as line profiling for selected functions. Line profile
data includes the call count and total time spent for each line that executes in a selected function.
However, line profiling information is available only for compile time scripts.
■ Ability to simultaneously use the Siebel Script Debugger and the Siebel Script Profiler.
The Script Profiler is designed to work together with and at the same time as the Script Debugger.
Profiling data, such as time taken to execute a function, is consistent even when Debugger
functionality (such as breakpoints) is used in the function. For more information about using the
Debugger, see “Using the Siebel Debugger” on page 158.
■ Ability to view source of compile-time script from within the Script Performance
Profiler window. All the objects for which scripts are executed are automatically opened in the
Script Editor windows. In addition, you can view the script at a particular location from inside the
Script Performance Profiler window by double-clicking a function name or line number.
NOTE: The View Source option is available only for compile time scripts and not for runtime
scripts.
■ Ability to export to file. You can save profiling data displayed in the Script Performance Profiler
window by exporting to a text file using the Profiler toolbar. For more information about the
Profiler toolbar, see “About the Script Performance Profiler Window and Profiler Toolbar” on
page 167.
Table 39 provides descriptions for each of the column headings in the Script Performance Profiler
window.
Function/Source Function names are qualified with the name of the object containing the
Line function. For example:
Total Time (ms) Total time spent in this function as well as nested functions.
Max Time (ms) Maximum time spent in this function as well as nested functions.
Min Time (ms) Minimum time spent in this function as well as nested functions.
Total Self Time (ms) The total time spent (in milliseconds) in the current function, not including
time spent in its subtree.
Max Self Time (ms) The maximum time spent (in milliseconds) in the current function, not
including time spent in its subtree.
Min Self Time (ms) The minimum time spent (in milliseconds) in the current function, not
including time spent in its subtree.
NOTE: For Source Line, Call Count, and Total Time (ms), if line profiling is enabled for a function,
then line profile information shows up as child nodes of the containing function in both the call tree
and flat profile views.
Additionally, the Script Performance Profiler window allows you to right-click on an element to access
certain profiling functionality. For more information, see “About Using the Siebel Script Performance
Profiler” on page 169.
Using the Profiler toolbar, you can expand an entire subtree of a selected function node or export to
a file the data that is currently showing in the Script Performance Profiler window.
NOTE: The Script Profiler is only available if your Siebel Tools environment is currently attached to
a Siebel application launched in debug mode.
By right-clicking in the Script Performance Profiler window, you can access the following
functionality:
■ Expand Node. For the selected function node, you can expand all children nodes (if any).
■ Expand All. For the selected function node, you can expand the entire subtree.
■ Export. You can export profiling data to a user-specified text file for future use.
■ View Source. You can navigate to the current function in the script directly from inside the Script
Performance Profiler window. If a Script Editor window is not open for the selected node, a new
editor window opens, and the cursor sets to the selected function.
■ Enable Line Profiler. If the function is not in the list of functions selected for line profiling, then
choose this option to enable it.
■ Disable Line Profiler. If the function is in the list of functions selected for line profiling, then
choose this option to disable it.
The options you can choose from are dependent on the script currently selected. Some options are
not available for all scripts.
NOTE: Additionally, you can use the Expand All and Export options using the Profiler toolbar. For
more information about the Profiler toolbar, see “About the Script Performance Profiler Window and
Profiler Toolbar” on page 167.
■ “Enabling and Disabling the Siebel Script Performance Profiler and Line Profiling” on page 170
NOTE: The Script Profiler is only available if the ST eScript engine is enabled. For more information,
about enabling the ST eScript engine, see “Enabling and Disabling the ST eScript Engine” on page 146.
This task is a step in “Process of Using the Siebel Script Performance Profiler” on page 170.
For more information about setting these preferences, see “Setting Debugging and Run-Time
Preferences” on page 159.
4 In the Profiler start up options box, click the Enable Profiler checkbox.
NOTE: The Enable Profiler checkbox is only available if the ST eScript engine is enabled.
The next time you launch a Siebel application using the debug mode in Siebel Tools, the Script
Profiler is enabled.
5 To enable line profiling, click the Set Line Profile Rules button.
For information about how to use line profiling, see “Setting and Resetting Line Profile Rules” on
page 171.
3 In Profiler start up options box, make sure the Enable Profiler checkbox is not checked.
Figure 26 shows the Line Profile Rules window as it appears the first time you access it.
List box
NOTE: Before using line profiling, the Script Performance Profiler must be enabled. For more
information about enabling the Script Profiler, see “Process of Using the Siebel Script Performance
Profiler” on page 170.
This task is a step in “Process of Using the Siebel Script Performance Profiler” on page 170.
To set or reset a line profile rule using the Line Profile Rules window
1 From the View menu, choose Options.
3 In the Profiler start up options box, make sure the Enable Profiler checkbox is checked.
NOTE: The Enable Profiler checkbox is only available if the ST eScript engine is enabled.
5 In the Line Profile Rules window, specify the object type, object name, and function name for
which you want to enable profiling, and then Click Add.
The following table describes the different fields in the Line Profile Rules window.
Option Description
Object Type Choose the object type. Only scriptable objects are available, such as
Application, BusComp, Service, and WebApplet.
Object Name Enter the name of an object. Alternatively, you can use wildcard operators.
NOTE: When specifying object name, you can include the complete object
name or use wildcards.
Function Enter the complete function name or use wildcard operators. For example, you
can enter either Service_PreInvokeMethod or Service*.
NOTE: When specifying the function, you can include the complete function
name (Service_PreInvokeMethod) or use wildcards (Service*).
6 Click Ok to exit the Line Profile Rules window, and then click OK again to exit the Development
Tools Options window.
The line profile rule settings remain active as long as Siebel Tools is active.
NOTE: Script performance profiling is only available if your Siebel Tools environment is currently
attached to a Siebel application launched in debug mode.
This task is a step in “Process of Using the Siebel Script Performance Profiler” on page 170.
Use the following procedure to use the Siebel Script Performance Profiler.
2 Make sure the scripted objects are available in the Script Profiler by making sure the scripted
objects, or the projects to which they belong, have been compiled into the client.srf.
For information about object and project compilation, see Chapter 10, “Compiling and Testing.”
3 Using the Debug tab in the Development Tools Options window, provide the following:
d Click Ok.
The Script Profiler is now enabled for future runtime sessions, and you can launch the Siebel
application from Siebel Tools in debug mode.
The following graphic shows a sample Development Tools Options Debug configuration.
4 Open the Siebel application configuration file (such as uagent.cfg) and replace the default
siebel.srf file with the file you created in Step 2 on page 173.
NOTE: If you are prompted for a login, enter user name and password, and then click Run.
6 In Siebel Tools, from the View menu, choose Profiler, and then Call Tree to bring up the Script
Performance Profiler window.
The following graphic displays an example of how line profiling might appear in the Script
Performance Profiler window.
7 Navigate from node to node to view the different parameters for a function. Right-click on a node
to choose from the available navigation options.
For descriptions of these options, see “About Using the Siebel Script Performance Profiler” on
page 169.
8 To set or reset line profile rules for a function, do one of the following:
■ Right-click on a function node, and choose Enable Line Profiling or Disable Line Profiling.
■ Use the debug window in the Development Tools Options window.
For more information about setting and resetting line profile rules in the Development Tools
Options window, see “Setting and Resetting Line Profile Rules” on page 171.
After you change the line profile rules, they apply to future runs of that function.
2 Open the Siebel Script Editor for a business service, and then compile the script to a new SRF
file. Alternatively, you can write a new script for a business service and then compile that to a
new SRF file.
3 Using the Debug tab in the Development Tools Options window, perform the following:
d Click Ok.
The Script Profiler is now enabled for future runtime sessions and you can launch the Siebel
application from Siebel Tools in debug mode.
4 Open the Siebel application configuration file (such as uagent.cfg for Siebel Call Center) and
replace the default siebel.srf file with the file you created in Step 2 on page 175.
For example, if want to run a script for the Business Service Simulator, you would query for a
Service Name and Method Name, and then click Run.
6 From the View menu, choose Profiler, and than Call Tree menu item.
7 In the Script Performance Profiler window, you can view the profiling data being updated as the
script is executed.
As an example, you might enable line profiling for a function named foo.
For more information about enabling line profiling, see “Enabling and Disabling the Siebel Script
Performance Profiler and Line Profiling” on page 170.
9 In the Siebel application, navigate to the Business Service Simulator to run the business service,
and then switch back to the Profiler window to see the profiling data being updated as the script
is executed.
About Compiling
After you have modified objects, you must compile the changes to an SRF. The SRF file is updated
with the new objects, which become available in any instances of the Web Client reading that SRF file.
NOTE: An application’s configuration file (CFG) includes a parameter (RepositoryFile) that defines
the SRF file to read at run time.
You can compile entire projects or individual top-level objects. Compiling projects is more efficient
when you have many changes in one or more projects. Compiling objects is more efficient when
changes are isolated to only a few objects.
NOTE: To compile, Siebel Tools must be connected to a database that has the sort order set to
binary.
CAUTION: When compiling a new SRF file, make sure all Siebel applications are completely closed.
Use the Windows Task Manager to verify that no Siebel.exe processes are running. To compile, see
“Compiling Projects” on page 178 or “Compiling Single Objects or Groups of Objects” on page 179.
For more information about incremental SRF files and upgrades, see Siebel Anywhere Administration
Guide.
Compiling Projects
You use the Object Compiler to compile all projects or selected projects only. To compile selected
projects, you must have compiled all projects at least once.
CAUTION: Avoid compiling a subset of projects into an SRF file, unless the SRF file was built from
a full compilation from the same repository.
When you select individual projects to compile, the Object Compiler does not remove inactive top-
level objects from the SRF file, but it does remove inactive child objects. For example, if you
deactivate the Name list column in the Account List Applet, and then compile the Account SSE
project, the Name list column is removed from the SRF file. However, if you deactivate the Account
List Applet, and then compile the Account SSE project, the Account List Applet is not removed.
To compile projects
1 From the Tools menu, choose Compile Projects.
The Object Compiler dialog box appears with the list of projects displayed.
3 In the Siebel Repository File field, click Browse and then select the appropriate SRF file.
Typically you compile to the SRF file used by the local instance of the Web Client that you are
using to test. The path to this SRF file is specified in the application’s CFG file.
CAUTION: Do not attempt to compile to or modify the default SRF file used by Siebel Tools that
is displayed in the Object Compiler dialog box—usually siebel.srf located in
SIEBEL_TOOLS_ROOT\OBJECTS. This file is locked because the Siebel Tools client is currently
reading it. If you attempt to compile to this filename and path, you receive an error message.
4 Click the Auto-start Web Client check box if you want to automatically start a local instance of
the Siebel Web Client when the compile process finishes.
When this option is checked and the Web Client is already open, the client is refreshed with
changes and opens with same view that was displayed before the compilation.
To automatically start the Web Client, you must have specified the location of the Siebel
executable, the application configuration file, and other relevant settings in the Development
Tools Options dialog box. For information on how to do this, see “Setting Debug Options” on
page 77.
5 Click Compile.
The objects in your repository are compiled to the SRF file you specified. The changes are
immediately available in any instances of the Web Client that are reading the SRF file. See
“Testing Changes on Your Local Machine” on page 181.
For more information, see “About the Advanced Compile Option” on page 243.
NOTE: Some repository objects must be in the production database to function correctly. By default,
these objects have their No Compile flag set to TRUE, thus, they do not get compiled into the (.srf)
file. Of particular interest are those objects that can be configured. These include Assignment
Objects and their children, Workflow Policy Objects and their children, Dock Objects and their
children, and EIM Interface Table objects and their children. Other objects that are not configurable
but still must be present in the production database for customer to use various Admin and Batch
processes include Schema Maintenance objects, Server Component objects, and User Key Attribute
objects.
The Object Compiler dialog box displays the list of selected objects.
3 In the Object Compiler dialog box, click Browse, and then select the appropriate SRF file.
4 Click Compile.
The objects are compiled to the SRF file you specified. The changes are immediately available in
any instances of the Web Client that are reading the SRF file. For more information, see “Testing
Changes on Your Local Machine” on page 181.
Batch Import
The syntax of the /batchimport switch is as follows:
/batchimport <"Siebel Repository"> <Import Mode - i.e. Overwrite, Merge, Skip> <Sif
File1, Sif File2, Sif FileN - or Directory containing .sif files> <Log File>
You can specify the archive (SIF) file and the log file by the full path or relative path to the current
directory.
The following sample import command imports import1.sif located in the parent directory and
import2.sif located in the Siebel Tools installation directory into the Siebel Repository using the
overwrite mode. This command also logs the results to import.log.
The following sample import command imports all files under C:\Program
Files\Siebel\8.0\Tools\importfiledir into the Siebel Repository using the merge mode. This
command also logs the results to import.log.
Batch Export
For export, the command-line interface provided by the /batchexport switch accepts an input file
that specifies export objects.
The input file takes a comma-delimited format of Object Type, Object Name Search Expression, and
the SIF file name. The search expression takes any Siebel Tools accepted query criteria. To specify
the archive (.sif) file, you can use the absolute file path or the relative file path to the current
directory.
You can place multiple lines in the input file, each requesting to export multiple objects into one SIF
file. However, if you specify the same (.sif) export file in multiple lines, only the last export takes
effect, and the previous exports are overwritten.
As an example, the following content, in an input file, requests the batchexport switch to export all
business components whose name is like *Account* into the export.sif file.
"Business Component,*Account*,export.sif"
The following sample export command would export objects specified in the input file, obj.txt. This
command also logs results into the export.log file.
Compilation
The syntax of the /bc switch is as follows:
An example of a compilation command that compiles the Siebel Repository into siebel.srf is shown
below:
If no file path is specified for the.srf file, the file compiles into the objects directory under Siebel
Tools, otherwise, it compiles into the specified directory.
For multi-lingual deployments, you can also set the Tools active language for the compile. The syntax
of the /tl switch is as follows:
/tl <language_code>
An example of a compilation command that compiles the Siebel Repository for a Japanese
deployment is shown below:
NOTE: If the corresponding language pack is not in the repository when you compile the .srf for a
specific language, the compile still proceeds. However, no strings are included for the compiled
objects, and because of this, list column headings and menu item text do not appear in the UI.
Batch Patch
The syntax for the batch patch command-line entry is as follows:
For information on installing the Mobile Web Client, see the Siebel Installation Guide for the operating
system you are using.
When compiling objects and testing the results locally, consider the following:
■ If a local instance of the Web Client is installed but it is not open, you can select an option in the
Object Compile dialog box to automatically open a local Web Client and read the most current
repository. For more information, see “Compiling Projects” on page 178.
■ For repository changes to appear in local instances of the Web Client, the Web Client must be
reading the SRF file to which you compiled.
■ “Exporting Objects to an Archive File Using the Command-Line Interface” on page 185
■ “Preparing the Target Repository for Import from an Archive File” on page 191
■ “About the Import Wizard - Review Conflicts and Actions Dialog Box” on page 193
■ “Importing Objects from an Archive File Using the Command-Line Interface” on page 196
Archive files are database-independent because they only represent repository information. You can
use them to exchange repository data between environments with different database platforms,
including local and server databases, as long as the databases have the same schema.
Archive files can be controlled by source-control software. When importing objects from an archive
file, you can specify conflict resolution rules at the object level, directing Siebel Tools to ignore an
imported object, replace an existing object with an imported one, or merge the two on a property-
by-property basis.
If you want to back up or move the entire repository to another environment, see “About Exporting
and Importing Repositories” on page 202.
SIF files are written in XML format. Their structure is a hierarchy of the objects archived, listing all
of their properties and including any associated scripts: Repository, then Project, then Object, and
then Child Objects. An excerpt from a SIF file generated by adding objects to a hot-fix is given below
(see “Exporting Objects to a Hot-Fix” on page 188).
<REPOSITORY
NAME="Siebel Repository"
... >
<PROJECT
...
NAME="Account (SSE)"
... >
<APPLET
BUSINESS_COMPONENT="Account"
CLASS="CSSFrameListBase"
...
... >
<APPLET_METHOD_MENU_ITEM
... >
</APPLET_METHOD_MENU_ITEM>
...
</APPLET>
<BUSINESS_COMPONENT
CACHE_DATA="N"
CLASS="CSSBusComp"
... >
</BUSINESS_COMPONENT>
...
</PROJECT>
</REPOSITORY>
■ Archive files can be exported and imported only among repositories with the same repository
schema definition.
■ Do not export the Repository Object to export an entire repository. The resulting export file is
too large and performance slows. Instead, use the task described in “Supported Source and Target
Databases for Importing and Exporting Repositories” on page 203.
2 In the Object List Editor, select the object or objects you want to archive.
Status messages appear showing which child objects are being included. When the process
completes, the selected top-level objects appear in the Objects to Archive list in the Export to
Archive File dialog box.
4 If you want to add objects of another object type, navigate to that object type in the Object
Explorer without closing the Export to Archive File dialog box.
5 Repeat Step 2 through Step 4 for each object you want to archive.
6 When you are finished adding objects to the list, in the Export to Archive file dialog box, enter
the path and filename of the archive file you want to create.
7 Click Save.
The command-line interface provided by the /batchexport switch accepts an input file that specifies
export objects. The input file takes a comma-delimited format of Object Type, Object Name Search
Expression, and the .sif file name. The search expression takes any Tools accepted query criteria. To
specify the SIF file, you can use an absolute file path or a relative file path to the current directory.
You can place multiple lines in the input file, each requesting to export multiple objects into different
SIF file. However, if you specify the same SIF export file in multiple lines, only the last export takes
effect—the previous exports are overwritten.
For example, consider the following sample text from an input file. Using this file as input, the switch
/batchexport would export all business components where the Name property is like “*Account*”
into a repository file named export.sif:
Business Component,*Account*,export.sif
The following sample export command would export objects specified in the input file, obj.txt. It also
logs results into export.log:
3 From the Select Archive(s) to Import dialog box, select one of more SIF files to import.
a For each SIF file, choose one of the following conflict resolutions:
❏ Skip: Do not import the object definition from the archive file.
b (Optional) If you want to control the order of the archive file import, select a row, and then click
the up or down arrows.
c (Optional) If you want to add additional archives files to the import SIF file list, click Add, select
the files you want to add, and then click OK.
NOTE: Duplicate SIF files are not added to the import list.
d (Optional) If you want to remove any of the archives files you have added, select the archive you
want to remove, and then click Remove.
e If you want to view the objects contained in a particular SIF file, select a file in the SIF Files list,
and then click Preview.
f After previewing, in the Import from Archive(s) - View Objects dialog box, click OK to exit.
g Click Import.
NOTE: You can cancel the import operation at any time by clicking Cancel. After clicking
Cancel, a dialog box appears asking if you to verify the cancellation. If you click Yes, the
import operation cancels; if you click No, the import operation continues.
h If a conflict occurs, review the Import from Archive(s) - Review Conflicts and Actions dialog box,
and then click Continue.
The status bar, located at the bottom of the Import from Archive(s) dialog box, shows Done when
the import is complete. Additionally, the status for a SIF file shows Completed if the import for
that file is successful. However, if an error is encountered during the import, the status for the
SIF file shows Failed.
The Generate Mid-Level Release dialog box appears with the Start Date field automatically
populated.
NOTE: Start Date is a read-only field that you set in the Changed Date section on the General
tab of the Development Tools Options under the View menu. Objects that changed after this date
are candidates for export.
3 In the Mid-Level Release Label field, type a name for the export, and then click Generate List.
The Siebel objects that were modified as of the Start Date appear in the Objects to include in
Mid-Level Release section.
5 Click Export.
A dialog box appears confirming the archives were successfully created in the
SIEBEL_TOOLS_ROOT\ADM\<Mid-Level Release Label> folder.
For more information on ADM, see Siebel Application Deployment Manager Guide.
NOTE: Task and Workflow Process objects can only be exported if their status is Completed.
The Generate Hot-Fix dialog box appears, with the selected object in the Objects to include in
Hot-Fix list.
3 Repeat Step 1 and Step 2 to add more objects to the hot-fix, if desired.
5 Click Export.
A Siebel message appears stating that the hot-fix has been successfully created in
SIEBEL_TOOLS_ROOT\ADM\<Hot-Fix Label>.
6 Click OK.
■ Passing some of the arguments in the command line and the remainder in an XML file
For example:
For example:
<Param Name=”ExportFile”Value=”C:\Siebel\8.0\Tools\ADM\admtest2\admtest2.sif”/>
<Param Name=”DescriptorFile”
Value=”C:\Siebel\8.0\Tools\ADM\admtest2\admtest2_desc.xml”/>
<ExportObjects>
</ExportObjects>
</BusinessService>
NOTE: Task and Workflow Process objects can only be exported if their status is Completed.
2 Fill in the Mid-Level Release Label field, and then click Generate List.
3 To remove an object from the list, select it and then press DELETE. You can select multiple
objects by holding down the CTRL key.
A Siebel message appears asking if you really want to delete the selected objects.
4 Click Yes.
A Siebel message appears stating that the mid-level release has been successfully created in
SIEBEL_TOOLS_ROOT\ADM\<Mid-Level Release Label>.
6 Click OK.
1 “Preparing the Target Repository for Import from an Archive File” on page 191
■ The import file is accessible to the local machine by way of the network or local drives.
■ The target repository is open in Siebel Tools and is the active repository.
■ The projects that affected by import have been checked out to the local database. This includes
any project that any object in the export file is assigned to.
The only exception consists of projects (or their objects) that are in the archive file, but that do
not exist yet in the target repository. These are not checked out because they do not exist in the
target repository.
NOTE: In some cases it may be difficult to know in advance which projects must be checked out.
The Import wizard informs you of any projects that were not locked but must be. This occurs on
the second panel of the Import wizard, after the wizard has analyzed the objects in the archive
file and compared them to the objects in your repository.
3 In the Select Archive To Import dialog box, select the archive (SIF) file, and then click Open.
This dialog box identifies the projects and the nonproject top-level objects in the archive file you
have opened, allowing you to preview the contents of the archive file.
To specify the default resolution for conflicts between the archive file and the target repository.
In subsequent dialog boxes in the Import Wizard, you have other opportunities to change this
choice for individual objects.
Overwrite the object If the same top-level object is found in the archive file and target
in the repository repository, delete the version in the target repository, along with its
children, and replace them with the object and children from the
archive file.
Merge the object Merging is the default, and generally the safest option. When the same
definitions from the top-level object exists in both the target repository and the archive file:
archive with the
■ Replace differing properties in the target top-level and child-level
definition in the
with those in the archive file.
repository
■ Add new child objects to the target repository if they are not
already present.
■ Do not change child objects in the target repository that are not
also present in the archive file.
The resulting top-level object has the same properties and children as
the object in the archive, plus any children that were already present
in the repository definition.
Do not import the Do not change the objects in the target repository.
object definition
from the archive
5 Click Next.
■ If there are objects you are replacing or modifying and their projects are not locked, a
warning message appears, you must cancel the import process, lock the projects, and then
restart the Import Wizard.
■ If the objects in the SIF file already exist in the repository and no conflicts are found, no
changes are made. A message appears saying that no conflicts were found, and that no
changes are made to the repository. In this case, click OK.
■ If the objects in the SIF file already exist in the repository and conflicts are found, or if the
objects do not yet exist in the repository, the Import Wizard - Review Conflicts and Actions
dialog box appears with information about the differences displayed. In this case, go to
Step 6.
6 In the Import Wizard - Review Conflicts and Actions dialog box, under Conflicting Objects, select
an object to see the differences under Object Differences and Attribute Differences.
See “About the Import Wizard - Review Conflicts and Actions Dialog Box” on page 193 for details
about the dialog box.
8 Click Next.
The dialog box, shown in Figure 27, is divided into three panes: the Conflicting Objects explorer
control, the Object differences list, and the Attribute differences list.
The objects displayed in the Object Differences dialog box include those at all hierarchical levels, not
just top-level objects. This lets you make adjustments to the resolution for any affected objects.
The File and Repository columns indicate whether each identified object is present in the archive file
or target repository. An “X” indicating the object’s presence can appear in the File list column, the
Repository list column, or both. These list columns are for information only; you cannot change the
check marks.
The Action list column indicates the proposed resolution for each object in the list. This setting is
initially generated for each object from the default behavior selected in the Conflict Resolution option
buttons in the Preview pane. You can right-click on the value in the Action list column and select a
different value from a shortcut menu. The available selections include the following:
■ File. Equivalent to the Overwrite the object definition in the repository selection in the previous
dialog box.
■ Merge. Equivalent to the Merge the object definitions from the archive with the definition in the
repository option in the previous dialog box.
The resulting top-level object has the same properties and children as the object in the archive,
plus any children that were present in the repository definition.
■ Repository. Equivalent to the Do not import the object definition from the archive option in the
previous dialog box.
For more information about these options, see “Importing Objects from an Archive File” on page 191.
Column Description
File Value of the property in the archive file version of the object.
Resolution Value of either File or Repository for each property, depending on whether the
archive-file or target-repository version of the object is to determine the value
of the property in the final definition.
This list column can be updated only if the object whose properties are being
displayed has an Action setting of Merge in the Object Differences list.
Otherwise, the shortcut menu options are read-only and are unavailable, and
the value displayed is the same as that in the Action column of the Object
Differences list.
To change the Resolution value from Repository to File or the reverse, right-
click on the Attribute row to change and then choose Repository or File from
the shortcut menu.
NOTE: You can specify the SIF file and the log file by the full path or the relative path to the current
directory.
For example, the following sample import command imports import1.sif, located in the parent
directory, and import2.sif, located in the Siebel Tools installation directory, into the Siebel Repository
using the overwrite mode. It also logs the results to import.log:
The following sample import command imports all files under C:\Program
Files\Siebel\8.0\Tools\importfiledir into the Siebel Repository using the merge mode. It also
logs the results to import.log:
■ “About Exporting and Importing Repositories Using the Database Configuration Wizard” on page 203
About Repositories
The Siebel Repository refers to the set of tables in which Siebel objects and server scripts are stored.
The set of objects and server scripts stored in the repository define a Siebel application (such as
Siebel Service or Siebel Sales) and are compiled into a compressed file called a Siebel Repository file
(SRF file). You use Siebel Tools to view data in the Siebel Repository.
The Siebel Repository is populated with data during the installation process. For more information,
see the Siebel Installation Guide for the operating system you are using.
file is a compressed file that contains a compiled version of the Siebel Repository. Siebel applications
read the SRF file at run time. It provides the Siebel applications with much of the metadata it needs
to define interactions with the enterprise data and software users.
CAUTION: Use only one Siebel Repository in production. Siebel products have been designed on the
assumption that the compiled Siebel SRF and Siebel Repository table data are synchronized. If you
try to use multiple Siebel repositories in production, you get unpredictable behavior.
NOTE: Browser scripts are compiled into the browser script compilation folder, which can be
specified in Siebel Tools from the View menu, choosing Options, and then Scripting.
The Open Repository dialog box appears and lists all repositories in the database to which you
are connected. The highlighted repository is the one you are using in Siebel Tools.
The About Repository File window appears and displays the following information.
Field/Button Description
Internal version Version number maintained internally at Oracle that changes only when the
internal format of the SRF file changes, such as at the time of a major
release. It has no significance for customer developers.
User version Reserved for use by Oracle’s Siebel Anywhere, which maintains this number
when kits are created that upgrade the SRF file. The value is read when a
version check occurs.
Full compile Select to display information about the most recent full compilation in the
option button Compile Information fields.
Last incremental Select to display information about the most recent incremental
compile option compilation. If there have been no incremental compilations since the last
button full compilation, this option button is unavailable.
Machine name Name of the client computer on which the SRF file was compiled.
Language Language code of the language specified for user interface translation.
User name User name (that is, the Microsoft Windows logon name) of the user who
compiled the repository.
Repository Repository name of the repository that was current when the compilation
was run, generally Siebel Repository.
Tools version The version number and build number of the Siebel Tools software used to
compile the repository. This is useful information for Global Customer
Support if they are helping you in resolving a problem with your
configuration.
Schema version Database schema version of the database from which the repository was
compiled.
File name Name and path of the SRF file being used internally to define the Siebel
Tools application, located in SIEBEL_TOOLS_ROOT\OBJECTS.
A consistent naming convention promotes successful configuration and testing while it minimizes the
work required to migrate new repositories or perform upgrades. Follow these guidelines when
determining the naming conventions for your repositories:
■ Use the default name, Siebel Repository, whenever possible. Change this only if you have a
compelling reason, because the default configuration of Siebel Business Applications and Siebel
documentation assumes this name is being used.
■ Use the same repository name for the active repository in your test environment and for the
current working repository in your production environment. Using the same name simplifies the
process of migrating repositories from development to test and from test to production. It also
eliminates the requirement of changing your client or application server configurations when you
perform the migration process.
■ Use descriptive names for the other repositories in your development environment. Typically,
your development environment has a number of repositories in addition to the current repository
that is being configured. These may include the initial repository loaded with your Siebel
application, other repository versions used in Siebel application upgrades, and repositories from
previous versions of your custom configuration. Give these repositories unique and fully
descriptive names—for example, Siebel v8.0 Original for the initial repository shipped with Siebel
Business Applications version 8.0.
Renaming Repositories
It is recommended that you name the repository in production Siebel Repository. However, in some
situations you might want to name the repository something different. If you must rename the
repository, follow the steps described in this topic.
To rename a repository
1 Have all developers check in all projects that have been checked out from the repository you are
going to rename.
If the Repository object type is not visible, see “Showing and Hiding Object Types in the Object
Explorer” on page 79 for more information.
4 In the Object List Editor, click in the Name property of the repository you want to rename.
5 Enter the new name, and click outside the record to save your changes.
6 Let developers know what the name of the new repository is and have them perform a Get of all
projects.
7 After changing the name of the repository, you must also do the following:
■ Change the value of the enterprise parameter Siebel Repository to the new name of the
repository. For information about changing enterprise parameters, see Siebel System
Administration Guide.
■ Change the Application Main Repository Name parameter in the Object Manager.
Deleting Repositories
The delete process remove all records associated with the repository. Be sure to back up the
repository before you delete it.
CAUTION: It is recommended that you delete obsolete repositories for performance purposes.
However, know that deleting a repository takes a long time and requires resources such as rollback
segment, cursors, tablespace, and so on. Consult your DBA before deleting a repository.
To delete a repository
1 In the Object Explorer, navigate to the Repository Object type.
2 In the Object List Editor, click anywhere in the row for the repository you want to delete.
NOTE: The SRFDiff utility validates only for a major schema version. Therefore, SRFs with different
minor schema versions, such as 44.39.0.248 and 44.40.0.1, are valid schemas.
The differences between the two files, that is new, deleted, and changed objects, are recorded in two
user-specified XML output files, depending on what the comparison discovers:
■ diff_srf1_srf2.xml. This output file contains differences between the two SRFs and provides a
list of new and modified objects. It may also contain new objects found in srf2 that are not found
in srf1. This output file shows the differences found during the comparison using an attribute
name/value list format.
If no differences are found or both SRF files are identical, then the SRFDiff utility does not generate
output files.
2 From the Tools menu, choose Utilities, and then the Compare SRFs menu item.
■ Full pathname for the second SRF file you want to compare
NOTE: If you do not specify a location for saving the output files, the SRFDiff utility by default
saves these files to the Tools\objects directory.
4 Click Compare.
■ Validates each SRF for file parameters, such as file existence, version, and language
❏ For new or changed objects or both, SRFDiff creates an output file that contains
differences between the two SRFs. It also contains new objects present in one SRF file
but not in the other file.
❏ For deleted objects, SRFDiff creates an output file that contains deleted objects that are
present in one SRF file but not in the other file.
For example, if you want to compare the siebel.srf file with the siebel_1.srf file that reside in the
C:\Programs Files\Siebel Tools 8.1\OBJECTS\ENU\ directory, you enter the following command:
If you do not want to export and import the entire repository, but want to export and import sets of
objects only, use Siebel archive files. For more information, see “Exporting Objects to an Archive File”
on page 185.
CAUTION: If you migrate a customized repository and schema from one environment to another,
such as migrating a development environment to a test environment, do not use the Export/Import
option in the Database Configuration Wizard. Instead, you must use the Repository Migration Utility
(dev2prod).
NOTE: After using the Repository Migration Utility, you must reset the Locked and Allow Object
Locking columns.
For information on repository migration and the Repository Migration Utility, see Going Live with
Siebel Business Applications.
Table 41. Code Pages and Unicode Support for Repository Import and Export
Unicode Unicode
For more information on launching the Database Configuration Wizard, see the Siebel Installation
Guide for the operating system you are using.
When importing and exporting using the Database Configuration Wizard, consider the following:
■ When you are importing a custom repository (not the standard Siebel Repository), all languages
which were part of the original repository are restored during import. For example, if you archive
repositories weekly and your development repository contains support for both ENU and DEU,
then both ENU and DEU are included when one of the archived repositories is imported.
■ Whenever you make a change to the repository, compile all projects that belong to the latest
version of the repository to create an updated SRF file. Keep a backup of the SRF file, so you can
be sure the SRF file truly reflects the contents of the updated repository.
■ If you want to back up the entire content of the Siebel database, use the database utilities
provided by your RDBMS vendor.
■ If your source repository is customized, use the Migrate option of the Database Configuration
Wizard.
For more information on migrating repositories, see Going Live with Siebel Business Applications.
NOTE: When exporting a repository in a Windows or UNIX environment using the Export Repository
option of the Database Configuration Wizard, the log files are placed in following directories:
■ SIEBSRVR_ROOT\log\exprep\output
■ SIEBSRVR_ROOT\log\exprep\state
NOTE: The value “exprep” is the default process name for the exprep utility. You can change this
value to facilitate ease of use.
For information on importing or exporting repositories, see “To import a repository in a Windows
environment” on page 205 or “To import a repository in a UNIX environment” on page 206 depending
on your operating system.
The importing procedures apply to both importing and exporting, although they present only the
importing case. Exporting is similar, in that you identify the repository to export instead of the one
to import.
When exporting a repository using the Database Configuration Wizard, all the values specified in the
dialog boxes are written to the SIEBSRVR_ROOT\master_exprep.ucf file. After the parameters are
collected, you are prompted to execute the export now or not. If you choose to not export now, you
can execute the export later by running the following command in the command line:
siebupg.exe /m master_exprep.ucfs
NOTE: The Database Configuration Wizard runs in live mode only so you must be connected to
the Gateway Name Server to run it. For further information on Siebel Configuration Wizard
running modes, see the Siebel Installation Guide for the operating system you are using.
2 From the Start Programs menu, choose Programs, Siebel Enterprise Server Configuration 8.0,
and then the Database Server configuration menu item.
3 Enter the information you are prompted for in each screen, and click Next to continue.
5 Specify that you want to import your 8.x repository and the location of the custom CustRep.dat
file.
6 When the Configuration is Complete screen appears, select one of the following options, and click
Next:
■ Yes apply configuration changes now. The configuration information you entered is
saved and you can choose to launch the Siebel Upgrade Wizard in Step 9.
■ No I will apply configuration changes later. The configuration information is saved but
you can not choose to launch the Siebel Upgrade Wizard in Step 9.
7 On the Configuration Parameter Review screen, review the configuration values you entered on
the previous screens. To change any of the values, click Back to return to the screen with the
parameter you must change. If the values are correct, click Next to continue.
■ Click No if you decide you do not want to continue with the upgrade process.The configuration
information you have entered is not saved. You must enter the database configuration
parameters again.
■ Click Yes to continue. The configuration information you have entered is saved.
■ If you selected the No I will apply configuration changes later option, click OK to finish. The
configuration information is saved in a master file located in SIEBEL_ROOT\bin but the
Upgrade Wizard is not launched. You can restart the configuration and run the Upgrade
Wizard later. For more information on the Upgrade Wizard, see the Siebel Database Upgrade
Guide.
■ If you selected the Yes apply configuration changes now option in Step 6, the configuration
information you entered is saved. Click OK and the Siebel Upgrade Wizard is launched; it calls
the SQL generator to create or populate SQL scripts.
NOTE: The Database Configuration Wizard runs in live mode only so you must be connected to
the Gateway Name Server to run it. For further information on Siebel Configuration Wizard
running modes, see the Siebel Installation Guide for the operating system you are using.
■ Korn: . siebenv.sh
4 Review the values of the following environment variables and confirm the settings are correct:
■ SIEBEL_ROOT. This path must end in siebsrvr, for example /usr/siebel/siebsrvr.
■ LANGUAGE. This is the language in which the Database Configuration Wizard runs. The value
of this variable is a language identifier string. For example, enu is the identifier string for
English.
If either $SIEBEL_ROOT or $LANGUAGE is not set or is incorrect, you must correct them before
proceeding.
The first Database Configuration Wizard screen appears. Enter the information you are prompted
for in this screen, and click Next to continue.
6 Enter the information you are prompted for in all subsequent screens. Use the Next and Back
button to navigate between screens.
8 Specify that you want to import your 8.x repository and the location of the custom CustRep.dat
file.
9 After you have entered all the requested information, the wizard displays the following message:
$SIEBEL_ROOT/siebsrvr/bin/srvrupgwiz /m $SIEBEL_ROOT/siebsrvr/bin/<$Masterfile>
10 Click Next to continue. The utility displays the Parameter Review screen listing all the values you
have entered.
11 To amend any of the configuration values, click Back to return to the appropriate screen and
make changes. Otherwise, click Next.
12 You are prompted as to whether or not you want to execute the configuration:
■ Click Yes, and the configuration information is saved in a master file located in
$SIEBEL_ROOT/bin but the Upgrade Wizard is not launched. For more information on starting
the Upgrade Wizard, see the Siebel Database Upgrade Guide.
■ Click No, and the configuration information you entered is not saved.
For information on archive (SIF) files, see “About Archive Files” on page 183.
Figure 28 shows how pre- and postupgrade versions of an object are paired in the patch file, and
then used when applying the patch to the target repository.
The pair of pre- and postrelease objects in the patch file provide before and after snapshots of the
object. The patch application process considers both when determining what changes to make to the
target repository.
Related Topics
“Creating Repository Patch Files” on page 208
“Applying Repository Patch Files” on page 210
2 If you are building a patch file from an archive file, go to Step 3; Otherwise, from the File menu,
choose Open Repository, and then select the modified source repository.
3 From the Tools menu, choose Utilities, and then the Build Patch menu item.
4 Under Select modifications from, make your selection using the following table.
Changed objects in current Allows you to generate the set of source objects in the patch
repository file from all objects in the currently open (modified source)
repository that have a value of TRUE in their Changed
property. The Changed property indicates changes to
property values or child objects for all objects that have
changed since a specified date. This is an easy way to capture
all objects that have changed since the start of work on the
new release.
Archive file Allows you to use an existing archive file to generate the
same set of objects in the patch file. Use this option when the
set of patch objects is identical to a recently exported archive
file, or when you want to explicitly select individual top-level
objects to be included. In this latter case, generate the
archive file prior to generating the patch file. Building a patch
from an archive file may also be preferable when there are
too many objects with a Changed value of TRUE.
5 From the Repository drop-down list, choose the name of the original source repository.
6 In the Patch File field, click Browse to specify a path name and filename for the patch file to
create.
7 Click Next.
If you selected the Archive file option, the list of objects for the patch loads immediately.
If you selected the Changed objects option, Siebel Tools pauses while it generates the list
because it needs to scan through the repository and check all the Changed property values.
8 Click Finish.
The patch file is generated in the directory location you specified in Step 4 on page 209.
For example, if you create a new Account field based on an extension column in the target repository,
and then apply a patch from the source repository that includes the Account business component,
the new field is not overwritten in the target repository because the same new field has not been
added in the source.
If you change the sort specification of the Account business component in the target repository, and
the sort specification has not changed in the source, the new sort specification in the target remains.
However, if the sort specification has changed in both the source and the target, then a conflict arises
for which a resolution is required.
3 In the Object List Editor, expand the Type object type and select Attribute.
4 Review the Attribute property Siebel Wins (or Standard Wins in the Object List Editor).
To apply a patch
1 In Siebel Tools, from the Tools menu, choose Utilities, and then Apply Patch.
2 Select the Siebel Patch (SPF) file, and then click Open.
The Apply Patch - Preview dialog box appears, and the patch is opened.
3 Click Next.
The Apply Patch - Summary dialog box appears. The patch is loaded, the patch objects are
compared to their corresponding repository objects, and then the patch is applied.
Upgrading Repositories
The Siebel Application Upgrader reduces the time and cost of version upgrades by allowing you to
acquire new features from the latest release while preserving the custom configuration changes
made to the current repository. It notifies system administrators about conflicts between object
customizations and new releases, automatically merges differences between objects, and allows you
to manually override and apply any changes.
The Siebel Application Upgrader allows you to upgrade custom configurations to new releases by
merging them with a current Siebel Business Applications software release. This capability minimizes
the cost of application upgrades and allows you to quickly deploy production versions of Siebel
Business Applications.
■ Determine what has changed with new releases of Siebel Business Applications.
■ Compare custom configurations with new changes delivered in a new Siebel release.
■ Choose which changes to apply, whether made by your company’s developers or by Oracle in the
new release.
Versions 1 through n from the prior customized repository are copied to the new customized
repository. They are merged with version 0 from both the prior standard repository and the new
customized repository; the result becomes version n + 1 in the new customized repository.
NOTE: The Application Upgrader is for merging an entire customized repository with a standard one.
To merge portions of repositories, use the Import/Export option or Patch features.
For more information about the Application Upgrader, see Siebel Database Upgrade Guide.
The Application Upgrader appears, with the Merge Repositories dialog box active.
The upgrade process begins, with object and attribute differences being shown in their respective
windows.
NOTE: Object and attribute differences between different versions of tasks and workflows are
also shown.
This chapter describes how to work with strings and other locale-specific data. It contains the
following topics:
■ Reduces redundancy because many objects can reference one symbolic string
■ Simplifies maintenance because you only have to maintain one string for a given word
The Symbolic Strings object type stores its data in S_SYM_STR table, and the Symbolic String Locale
stores its data in S_SYM_STR_INTL table. Objects such as applets store foreign key references to
the records stored in S_SYM_STR table.
For information on localizing these types of strings, see “About the Locale Management Utility” on
page 235.
■ If a value exists in the string language in which the compile is being run, this string override
value is compiled to the SRF.
■ The compile process checks to see whether a value exists in the string override field for the
current Siebel Tools Language Mode. If there is no string value in the override field for the
language in which the compile is being run, the value is calculated using the current language
mode of Siebel Tools and the String Value property of the associated Symbolic String Locale
object (child of Symbolic String).
Related Topic
“Entering String Overrides” on page 218
When you want to add and work on new strings, create a new project (for example, CompanyXYZ
New Symbolic String project) and put all your new strings in that project.
NOTE: When you create strings, they are prefaced with the value specified in the tools.cfg file under
the SymStrPrefix attribute. This value is set to X_ by default. For example, if you create a new
symbolic string called NewString it appears as X_NewString.
To modify existing strings within the Siebel Repository, (denoted by the “SBL_” prefix in the Symbolic
String Name attribute), create a new project (for example, CompanyXYZ Modified SBL_ Symbolic
String project), select the strings you wish to modify, and put them into the new project you just
created. This work can be facilitated by selecting the strings, then filtering out the strings you want
to modify. You can then make a global change to the project attribute with the Change Records
command on the Edit menu.
CAUTION: Modifying display values for “SBL_” prefixed strings must be carefully considered as the
display values are used globally across the Siebel user interface. For monolingual deployments, you
risk modifying parts of the user interface you may not intend to modify. For multilingual
deployments, you risk breaking associations between display values across languages. For this
reason, it is recommended that you create a new Symbolic String with your desired text value as
opposed to modifying existing strings.
NOTE: To create symbolic strings, the EnableToolsConstrain parameter in the tools.cfg file must be
set to FALSE.
3 In the Object List Editor, create a new record using the following table to complete the necessary
fields.
Property Description
Name Unique name of the symbolic string. Siebel Tools enforces a predefined
prefix for the symbolic string name, such as X_. This helps you distinguish
custom symbolic strings from those created by Oracle (SBL_). The value
used for the prefix is defined in the SymStrPrefix parameter in the
tools.cfg file.
Current String Calculated value based on the current Tools language mode and the String
Value Value property of the corresponding child Symbolic String Locale object.
NOTE: Trailing spaces, (including full width spaces in Japanese), are truncated automatically.
Related Topic
“Setting the Constrain Mode for Working with Symbolic Strings” on page 81
To select a symbolic string reference using the String Reference pick applet
1 Navigate to the object and property for which you want to define a string, such as Applet Title.
2 Navigate to the Title - String reference field (in the Object List Editor) or the Title field (in the
Properties window).
NOTE: The string reference field name can vary, depending on the object you are working on.
For instance, with the Applet object, the name is displayed in Siebel Tools as described above,
but with the Application object, the fields are shown as Display Name - String Reference in the
Object List Editor, and Display Name in the Properties window.
4 Search for the appropriate string reference, select it, and then click Pick.
After you associate the string reference, the display value is entered based on the current Tools
language mode and the Current String Value of the corresponding symbolic string locale record.
a Using the Object List Editor, close the pick applet, and enter the string override into the Title -
String Override field.
b Using the Properties window, click the Use Override button in the pick applet, and focus is shifted
to the corresponding String Override field in the Properties window.
To select a symbolic string reference by typing a value into the Object List Editor
1 Navigate to the object and property for which you want to define a string, such as the Title field
in the Applet object, or the Display Name field in the Application object.
2 Type a value into the field, then tab out of the field.
Siebel Tools searches for a string reference with a Current String Value that matches the value
entered and one of the following occurs:
■ If one unique match exists, that string reference is associated with the object and the display
value is entered based on the current Tools language mode and the Current String Value of
the corresponding symbolic string locale record.
■ If there are multiple exact matches, or a match does not exist, an error message appears.
Click OK, and do the following:
b Select the appropriate reference from the picklist, then click Pick.
NOTE: To create symbolic strings or enter values for string override properties, the
EnableToolsConstrain parameter in the tools.cfg file must be set to FALSE.
To select a symbolic string reference by typing a value into the Properties window
1 Navigate to the object and property for which you want to define a string, such as the Title field
in the Applet object, or the Display Name field in the Application object.
2 Type a value into the field, then tab out of the field.
Siebel Tools searches for a string reference with a Current String Value that matches the value
entered and one of the following occurs:
■ If one unique match exists, that string reference is associated with the object, and the display
value is entered, based on the current Tools language mode and the Current String Value of
the corresponding symbolic string locale record.
■ If there are multiple exact matches, or a match does not exist, the String Reference picklist
appears, allowing you to choose the appropriate record.
NOTE: To create symbolic strings or enter values for string override properties, the
EnableToolsConstrain parameter in the tools.cfg file must be set to FALSE.
Related Topics
“Creating Symbolic Strings” on page 215
“Entering String Overrides” on page 218
“Setting the Constrain Mode for Working with Symbolic Strings” on page 81
NOTE: To enter string overrides, the EnableToolsConstrain parameter in the tools.cfg file must be set
to FALSE.
The value entered in the string override property is stored as a child locale record and the value
automatically populates the translatable text string field, such as the Title property for an applet.
Related Topic
“Setting the Constrain Mode for Working with Symbolic Strings” on page 81
CAUTION: Conversion and consolidation operations are highly intensive processes. See Siebel
System Requirements and Supported Platforms on Oracle Technology Network for computer
processing-speed requirements.
■ Have upgraded to version 8.0 and have custom translatable text strings that they want to
migrate to the symbolic strings model.
■ Use string overrides to store text strings and periodically want to convert and consolidate them
to the symbolic strings model.
When considering whether to convert strings to the symbolic strings model consider the following:
■ Migrating to the symbolic string model reduces the size of repository, makes translations easier,
and gives you more control over terminology consistency.
■ The conversion and consolidation processes require that development be frozen and can require
substantial processing time.
Related Topics
“About the Symbolic Strings Model” on page 214
“Entering String Overrides” on page 218
“About the Symbolic String Conversion Process” on page 219
“About the Symbolic String Consolidation Process” on page 221
■ New Symbolic String records along with their Symbolic String Locale child records, are generated
based on the string values found in the target objects.
■ The String Reference fields of the target object records are set to the names of the new Symbolic
Strings.
■ The string fields in the locale records of the target objects are nullified, and, where appropriate,
the locale records themselves are deleted.
This process is performed in two separate phases—the preparatory Conversion Export phase,
followed by the lengthier Conversion Import phase, where the data changes actually occur.
■ Generates new symbolic string records and their corresponding symbolic string locale records
using string values found in target objects.
NOTE: The conversion process runs on an object type by object type basis. Because of this, there
are likely to be duplicate symbolic strings for a given display value. Duplicates are “de-duped”
during the consolidation process.
■ Sets the String Reference fields of the target object records to the names of the new symbolic
strings.
■ Nullifies the string fields in the locale records of the target objects and, where appropriate,
deletes the locale records.
The conversion process occurs in two phases: the conversion export phase, in which data is prepared
for conversion, followed by the conversion import phase, in which data changes actually occur.
NOTE: An SRF file compiled before the conversion process is the same as an SRF file compiled after
the conversion process. For example, suppose a given applet gets its Title property from a child
Applet Locale record. When the conversion process is run, it creates a symbolic string, places the
reference for that symbolic string in the applet Title - String Reference field, and then removes the
Applet Locale record(s). Now, after the conversion, the applet’s title is derived from the symbolic
string. However, the Title itself, the display value that is compiled to the SRF, is the same as it was
before the conversion. The reason is that the strings are compiled into object definitions and read
from the SRF file, not referenced from the Symbolic String table during run time.
Conversion Export
The Conversion Export process identifies records that are candidates for Conversion, and then writes
all the relevant information to a file. This process is run on an object type by object type basis, and
can be run against any object type that has translatable strings (for example, controls, list columns,
and applets).
NOTE: The Conversion process has to be executed once for each Object Type (both Top-Level and
Sub-Level Object Types) in the repository that has properties that reference Symbolic Strings. In
order to determine what Object Types refer to Symbolic Strings, click the Flat Tab in the Object
Explorer, navigate to Attribute, and search for the string “*String Reference*” in the Name property.
The Parent Type of the results set is the complete set of object types for which the conversion has
to be run. Some object types have more than one attribute that refers to Symbolic Strings; for such
object types, it is necessary to run the conversion process only once.
The conversion process begins by creating a sorted list of English (ENU) child records for each
translatable string within a given object type. For those object types with multiple translatable
strings (such as list columns that have a Display Name and Prompt Text), each is processed
sequentially. This list is used to generate information about the new symbolic strings. Among sets of
records with identical ENU translations, the non-ENU records are compared and, where possible, the
same symbolic string is reused for subsequent records. The output file produced contains information
about the new symbolic strings, including all the language translations for each, as well as which
strings are used as replacements.
NOTE: The Conversion Export file is not a log file, so no review of the file’s contents is necessary.
Conversion Import
Based on the file produced by the conversion export process, the conversion import process performs
the changes to the database (inserts, updates, and deletes) that convert the object records to use
the new symbolic strings. Logically, the process consists of three operations, the end result of which
is the production of symbolic string and symbolic string locale records, and the deletion of other
types of locale records. The three operations are:
■ New symbolic string records are created in the database. The export file contains all the
information about the string, including a unique name and information about each of its locale
children.
■ References to the new symbolic string records are placed into the relevant fields of the original
objects. For example, suppose you have 10 applets whose title is My Service Requests. Assuming
the non-ENU values for all the titles are the same, then the export file contains information about
one new symbolic string, and instructions for each of the 10 applets to use this new symbolic
string as its title. After creating the symbolic string record for a string whose ENU value is My
Service Requests, the Title - String Reference property for each of the 10 applets is set to the
name of the new symbolic string. At this point, each of the Applets has a String Reference in
addition to the String Override. The String Override is now superfluous and can be removed. This
is done by clearing that value from the object Locale children.
■ Records are deleted for which there is no longer any information in the object locale records.
CAUTION: File and Object command-line parameters for conversion or consolidation processes are
case sensitive. However, all other command-line parameters for conversion and consolidation are not
case sensitive.
Consolidation Export
The Consolidation Export process scans all symbolic string records and identifies symbolic strings
whose child records are identical and then writes this information to a file. For symbolic strings that
have identical child records, one of the strings is selected arbitrarily as the master record. For
symbolic strings whose child records are a subset of another symbolic string, the string with the
largest number of children is selected as the master record. The export process does not modify the
database.
NOTE: The Consolidation Export file is not a log file, so no review of the file’s contents is necessary.
Consolidation Import
Based on the file produced during consolidation export process, the redundant symbolic strings are
eliminated, and all references to these strings from other object types are replaced with a reference
to the master record. This is a time-consuming process, as there are approximately 80 translatable
string attributes represented among the various object types in the repository. The end result,
however, is that the symbolic string table is as compact as possible, and all redundancy has been
removed.
■ Make sure you have backed up your database and your repository.
■ Make sure all of the projects are unlocked. While conversion and consolidation are running, do
not allow other users to log on to the development environment.
■ Make sure that the DataSource parameter in the [Siebel] section is the desired database. The
conversion utility uses this database.
■ Make sure that the EnableToolsConstrain parameter in the [Siebel] section is set to FALSE.
■ Make sure that the SymStrPrefix parameter in the [Siebel] section of the tools.cfg file is set to
the desired prefix. This value is used as the prefix to the name of all newly created symbolic
strings. It is set to X_ by default, to indicate that it was created by you and not by Oracle (SBL_).
consoleapp.exe <Config file> <app lang> <uid> <pw> “Business Service” “Method Name:
Parameters”
Parameter Description
Config file The Siebel configuration file, such as Tools.cfg. Note that the default
data source is used.
uid User ID
pw Password
Method Name: Parameters Business Service method and the input parameters
For example:
Table 43. Input Parameters for the ConversionExport Business Service Method
Table 43. Input Parameters for the ConversionExport Business Service Method
Object Yes The Siebel object type whose strings are exported, for example,
Control.
SQLLog No The SQL log file name. When this parameter is set, the
conversion process logs all SQL that is executed to the specified
file.
ExcludeNull No TRUE/FALSE value. When set to TRUE, it excludes null value for
conversion consideration.
UseFullMatch No A TRUE or FALSE value. When set to TRUE, records are matched
against all the other possible match candidates before they are
discarded.
NOTE: An average desktop PC can typically run only 10 simultaneous conversion import processes.
"SplitFile: Filename=Control.txt,Lines=2000"
Table 44. Input Parameters for the SplitFile Business Service Method
Lines Yes Approximate number of lines in each file. The application does
not break up a set of symbolic strings, so the number of lines
might not match this parameter exactly.
For example:
Table 45. Input Parameters for the Conversion Import Business Service Method
SQLLog No Log file name. When this parameter is set, the process
logs all SQL that is executed to the specified file.
Project Yes Name of the project in the Repository that contains the
newly-created strings. Siebel-delivered strings are in the
Symbolic Strings project. You might want to configure this
for their custom strings.
The consolidation process is implemented as a business service. You run it using the Consoleapp.exe
utility, located in the SIEBEL_TOOLS_ROOT\BIN directory of your Siebel Tools installation directory.
consoleapp.exe <Config file> <app lang> <uid> <pw> “Business Service” “Method
Name:Parameters”
Config file Yes Name of the Siebel Config file, such as tools.cfg. The
default data source is used.
pw Yes Password
To export a file containing all matching symbolic string sets use the Consolidation Export method of
the business service. The parameters are shown in Table 47 on page 228.
For example:
"ConsolidationExport:Filename=ConsExp.txt,Repository=Siebel
Repository,LogFile=ConsolidationLog.txt,Language=ENU,MatchMin=2"
Table 47. Parameters for the Consolidation Export Business Service Method
Language Yes The language used as the primary language to match when
searching for duplicate symbolic strings.
When set to TRUE, all strings starting with SBL_ in the name
are ignored.
For example:
"SplitFile:Filename=ConsExp.txt,Lines=100"
Lines Yes Approximate number of lines in each file. The application does not
break up a set of symbolic strings, so the exact number of lines
may not match the value specified with this parameter.
For example:
"ConsolidationImport:Filename=ConsExp.txt,Repository=Siebel Repository,
LogFile=ConsolidationLog.txt,UnlockProjects=false,SkipParentUpdates=true”
SkipParentUpdates No This turns on or off the updating of parent objects, like the
project, while updating symbolic string references or
while deleting deprecated symbolic strings. This must
only be used when the user is running multiple instances
of the import simultaneously. If left on with multiple
instances running some errors may result in which
updates or deletes are aborted because the project was
being updated by another instance at the same time.
SQLLog No Log file name. When this parameter is set, the process
logs all SQL that is executed to the specified file.
CAUTION: To ensure that the batch file functions properly, your Siebel Tools installation path must
be enclosed in quotes if it contains spaces.
Parameter Description
Object_Type Object type to be converted, for example Applet, Control, or List Column.
Parameter Description
Action The options are export or import. When set to export, the conversion process
exports all convertible locale records. When set to import, the conversion
process imports the file or files designated by the Object_Type parameter.
Parameter Description
Action The options are export or import. When set to export, the consolidation
process exports all convertible locale records. When set to import, the
consolidation process imports the files in the working directory designated by
the TEST_LOCATION parameter set in the batch file.
Locale-specific object properties can be translatable, such as text strings, or nontranslatable, such
as the HTML Sequence, HTML Height, and HTML Width properties of controls. You can configure
nontranslatable object properties for specific locales by running Siebel Tools in Language Override
mode. The Language Override mode allows you to store nontranslatable, locale-specific properties
as child locale records of the parent object.
For example, your Siebel enterprise contains five languages: Japanese (JPN) and four Western
European languages. As opposed to Western European languages, Japanese does not feature middle
names, and name order is last (family) name first. To configure this, you would use Siebel Tools to
set the language to JPN, set Enable Language Override to ON, hide the middle name (by setting the
“Title-String Override” attribute to false), and then reverse the order of the first and last names.
After compiling into the JPN.srf file, the layout matches the requirement.
CAUTION: If you delete a control or a list column from a web template, it is deleted from all
languages, even if you are in Language Override Mode. You hide and show fields through the
Properties window of the specific object. For information, see “Showing or Hiding Locale-Specific Items
in Applet Layout” on page 232.
If, however, the Japanese user of Siebel Tools did all of the above, but did not enable language
override, the next time a user compiled any of the Western European languages, the names would
be formatted in the Japanese fashion, that is no middle name, and last (family) name first.
NOTE: Siebel Tools need not be in Language Override mode to enter string overrides.
2 Set the Tools Language Mode to the language you want to configure and select the Enable and
use Language Override check box.
4 Modify the object properties or work in the layout editor to define locale-specific values.
Related Topics
“Selecting a Language Mode” on page 65
“Enabling Language Overrides” on page 66
“Getting Locale-Specific Data Only” on page 91
“About the Symbolic Strings Model” on page 214
“Entering String Overrides” on page 218
“Showing or Hiding Locale-Specific Items in Applet Layout” on page 232
NOTE: Deleting a control or list column object from the applet layout in the Applet Layout Editor
causes that control or list column to be deleted across all languages, even if you are in Language
Override Mode.
After setting up your parent language you can then determine the fields you wish to hide for your
child languages. Table 52 lists the object types, the property names, and provides a description.
■ Control
Applet, and then Visible Parent setting. Setting this property to TRUE
Control shows this control to the user, in the parent
language and in all other supported languages.
Applet, List, and Show in List Parent setting. Setting this property to TRUE
then List Column shows this list to the user, in the parent
language and in all other supported languages.
For example:
consoleapp <config file> <language> <user> <password> “Siebel Tools Fix String
References” “FixStringReferences:<properties>”
Repository Yes The Siebel Repository name to fix or report invalid string
references.
LogFile Yes The name of the log file. The log file is written to the current
working directory. An explicit log file path may also be entered.
FixReferences No Set to TRUE to fix invalid references. Set to FALSE to have invalid
references committed to the log file. This is the default value.
Object No The Siebel object type, such as Applet, for which you wish to find
invalid string references. If this parameter is not present, invalid
string references are found for all Siebel object types.
Examples
This command example shows how you run the utility for the object type Business Service, and write
information to the fixstrings.log directory, and progress to the command window:
This command example shows how you run the utility on all object types, write the results to
temporary fixstrings.log file:
NOTE: When importing XML Localization Interchange Field files (.xlf) with the LMU, make sure you
have a working Internet connection at the time of import.
■ Export strings and locale-specific attributes to a file (.slf, .txt, or .xlf) for localization.
■ Import strings and locale-specific attributes from a file back into the repository.
■ Search for strings and locale-specific attributes that have changed since the last export.
■ Compare objects in the repository to the objects stored in the export file.
NOTE: The LMU performs search and comparison functions at the object level, not the attribute
level. Therefore, if a locale object contains multiple string attributes, the search function returns all
strings contained in the locale object, even if only one of them has been translated.
2 In the Options tab, under Languages, select the source language and the target languages.
3 Under Objects, select the applications or projects that you want to localize.
5 To display strings that have been marked as Redo, select the Report string attributes of objects
marked with 'redo' flag check box.
The Redo flag is marked when a record in the repository has been changed since the last time
export occurred and therefore may require another translation.
For more information about Redo, see “Identifying Objects Modified Since the Last Export” on
page 240.
The Locale Management Utility searches through the string attributes of objects in the selected
applications or projects and displays the ones that have not been translated and, if the Report
string attributes of objects marked with the 'redo' flag check box was selected, the strings that
must be retranslated are also displayed.
7 After you find untranslated strings you can perform the following tasks:
■ Find the views that the untranslated strings belong to by clicking the Find View button.
■ Go to the parent object of the string in the Object Explorer by selecting a string, and then
clicking Go To.
The LMU compares untranslated strings with string attributes of other objects in the repository. If it
finds an object with the same string, it searches for a translation in the language that you have
selected as the target language of the current LMU session. If a translation exists, the LMU displays
the best candidate for translation and allows you to export it to a file.
For example, suppose you have selected English-American as your source language and Spanish as
the target language. You have an applet with a title of Customer that has not been translated. After
clicking the Find Translation button, the LMU searches through the repository for other objects with
attributes of Customer. If it finds one, it looks for a Spanish translation of the string. If a translation
already exists, the translation is displayed and you can export it to a file.
If the LMU finds more than one translation for a source string, the following rules apply:
■ If the source string is an attribute of an object that is related to a business component, such as
Control Caption or List Column Display Name, then translations from the same business
component are examined first. If multiple translations exist in the same business component,
the string that occurs the most is the one that is often selected. If none of the translations exist
in the same business component, then the translation that occurs the most often from among all
business components is selected.
For example, suppose Applet A is based on the Account business component. Applet A contains
a control caption with the value of Account and this value has been translated to Account_FRA
for French. Now suppose you create a new applet, Applet B, that is also based on the Account
business component and that also contains a control caption with the value of Account. When
you run Find Translations, the LMU would find Account_FRA as an existing translation and select
it as the best candidate for this string.
■ If the source string is not an attribute related to a business component, such as Menu Item
Caption, the translation that occurs the most is selected as the best candidate.
2 In the Options tab, under Languages, select the source language and the target language.
3 Under Objects, select the applications or projects that you want to localize.
The LMU compares untranslated strings with strings of other objects in the repository. If other
objects use the same source string, the LMU looks for existing translations of the string and
displays the best candidates for translation in the Results window.
2 Click the Options tab, and from the Source Language drop-down list, choose your source and
target languages.
NOTE: The source and target language must be different from one another.
3 Click the appropriate radio button to indicate whether you want to search by application or by
project, and select the projects or applications you would like to perform the query against.
4 Click the Modified Objects tab, and under Search criteria, click the Changed Since checkbox.
5 Select the date from which you would like to search, then click Start.
NOTE: Microsoft Excel.xls files are not accepted by the LMU utility.
NOTE: When exporting strings and other locale-specific attributes, be sure that your Tools
language mode and the LMU source language are the same.
3 Under Objects, select the applications or projects that you want to export.
5 Select whether you want to export string attributes only or all localizable attributes.
All localizable attribute includes translatable strings and other locale-specific attributes, such as
the width and height of controls. These attributes might be different for different locales.
6 Click Export.
8 Enter a file name, choose a file type, and then click Save.
■ If you have selected All localizable attributes, the available file type is .slf.
■ If you have selected String attributes only, the available file types are .txt or .xlf.
Related Topic
“Selecting a Language Mode” on page 65
NOTE: When using the LMU to import files with the .xlf extension, make sure you are connected to
the Internet.
2 In the Options tab, under Languages, select a source language and a target language.
4 Enter the directory path and name of the file you are going to import.
5 Enter the path and name of the file where you want to store the results for previewing.
6 Click Preview.
The Locale Management Utility writes the results of the import process to the log file rather than
to the repository.
NOTE: LMU does not mark changed records with a Redo flag when running in Preview mode.
2 In the Options tab, under Languages, select a source language and a target language.
4 Enter the file name of the file from which you want to import locale-specific attributes.
You can also use the Browse button to find and select the file. The default file name is:
5 Select whether you want to mark records in the repository with the Redo flag that have changed
since the export occurred.
When the import occurs, the LMU compares the source language records in the repository with
the source language records in the import file. If the records in the repository have changed since
the export occurred, the target language records are marked with the Redo flag. This helps you
identify records that may require another translation.
6 Click Import.
You can search for modified objects using the following two methods:
■ Compare objects in the repository with objects in a source file, such as results.txt.
NOTE: When you base your search on a specific date, and run the search by clicking the Start button,
all records returned for a modified project are marked as “Redo,” regardless of whether a particular
locale attribute has changed. This is because the LMU searches for changes at the object level (the
base record), not the attribute level.
2 In the Options tab, under Languages, select a source language and a target language.
■ Select the Changed since check box and then specify a date after which you want to find
modified objects.
■ Select the Different from file check box and then specify the file to compare the repository
against.
■ Click Preview to find records that match the search criteria and display the results. Preview
does not mark records as Redo.
6 After you have identified modified objects, you can perform the following tasks:
■ Click Go To to open the Object Explorer and go to the parent object of the string or attribute.
NOTE: The Load button allows you to import a result set from a previously saved file. After
loading the result set in the display window, you can perform Save or Go-go operations on those
records.
Replacing Strings
You can use the LMU to replace strings in a bulk mode. For example, suppose that you want change
occurrences of Accounts to Companies for the English locale. You can use the LMU to export the
strings to a file, manipulate the file so that it contains only Companies instead of Accounts, and then
import the strings back into the repository. Using the LMU to replace strings is most useful for strings
stored in string-override fields.
NOTE: Using the LMU to replace strings is useful when working with string overrides. But when
working with the symbolic strings, follow the procedure described in “Modifying Symbolic Strings to
Globally Update Display Values” on page 216.
Use the procedure described in “Exporting Text Strings and Locale-Specific Attributes” on page 238.
3 In the LMU file, change the target language so that it is the same as the source language selected
during the LMU export.
4 Remove strings from the LMU file that you do not want to replace.
5 In the Target String column of the LMU file, enter the string that you want to substitute for the
original value.
a From the Tools menu, choose Utilities, and then the Locale Management menu item.
b In the Options tab, select source and target language (both are the same).
c Select the Import tab and then specify the LMU file path.
NOTE: When specifying file names, the absolute path must be provided. For example, if you specify
the LMU export file as results.txt, it is created under the current directory; for example, if the
installation directory is C:\Program Files\Siebel\8.0\Tools, the file is created under C:\Program
Files\Siebel\8.0\Tools\BIN, not under C:\Program Files\Siebel\8.0\Tools\OBJECTS.
Syntax
/lmu <srclang> <trglang> export <proj|app> <all|string> <file> [<Project File>]
Usage
This command allows you to export localizable attributes for all projects or for all applications. If you
specify all, then all attributes (translatable and language override attributes) are exported to a file
with the extension of .slf; if you specify string, then string attributes only are exported to a file with
the .txt or .xlf extension. If you do not specify a file name, you receive an error.
In version 8.0, the LMU export process supports a new parameter to specify which projects must be
exported. The parameter is the name of an ASCII text file containing a list of line feed–separated
projects. If the <Project File> parameter is not included, the export operates as normal, exporting
all projects.
The <proj|app> parameter is used for selecting either projects or applications as the method of
selecting strings to export. To use the new <Project File> parameter, proj must be selected. If app
is selected and a project file name is supplied, the file is ignored.
Example
siebdev /u sadmin /p db2 /d server /lmu ENU FRA export proj all
C:\temp\my_proj_results.slf C:\temp\proj_to_exp.txt
This example instructs LMU to export all attributes (string and language override attributes) for the
projects listed in C:temp\proj_to_exp.txt to an LMU file in C:\temp named my_proj_results.txt.
The source language is English-American and the target language is French.
Syntax
/lmu <srclang> <trglang> import <file>
Usage
This command allows you to import a LMU file and mark all target locale objects as “Redo” if the
source string from the import file and the repository differ. You must specify the file name (with
absolute path) to the import file.
Example
siebdev /u sadmin /p db2 /d server /lmu ENU FRA import "C:\Program
Files\Siebel\8.0\Tools\objects\results.slf"
This example instructs the LMU to import a file called results.slf from the folder C:\Program
Files\Siebel\8.0\Tools\objects (the installation location for an earlier version). The source
language of the LMU file is English-American (ENU), and the target language is French (FRA). The
LMU file contains all localizable attributes (string and language override attributes).
Syntax
/lmu <srclang> <trglang> todo <proj|app> [<file>]
Usage
This command allows you to export all untranslated strings and strings marked with the Redo flag to
an LMU file. You can specify whether you want to export for all projects or all applications. The
exported LMU file contains the related View Names.
Example
siebdev /u sadmin /p db2 /d server /lmu ENU FRA todo app "C:\Program
Files\Siebel\8.0\Tools\objects\results.txt"
This example instructs the LMU to find all untranslated strings and redo strings for all applications
and export the results to C:\Program Files\Siebel\8.0\Tools\objects\results.txt. The source
language is English-American (ENU), and the target language is French (FRA).
Because of project schedules, developers usually start testing configuration changes without
localized strings, which become available much later. This often means that they must delay
testing until the localized strings are available.
Once developers have the localized strings imported, they start testing using a language SRF.
But they often miss some strings—not all language translations were loaded, development
continued beyond the localization export date, or some projects were mistakenly not exported.
These missing localized values can cause screens not to appear, tabs to be blank, or field labels
not to appear—behavior that can be due to a variety of causes, and can be difficult to find and
diagnose.
The Advanced Compile option in Siebel Tools version 8.0 solves these problems by doing the
following:
■ Inserting “dummy” strings where translations are missing so that all functionality works.
■ Adding pseudolocalization prefixes to strings. These prefixes can include characters, such as
accented European letters and Asian characters, to test their appearance in the desired
languages.
■ Detection of hard-coded strings. Adding the prefix makes the string different from the original
English string, so that any code that depends on checking a hard-coded string breaks.
For example, if the code checks for the status of a customer to be “ACTIVE” and that string is
hard-coded within the program, it does not match the modified status string that says
“ÐØÉ_ACTIVE.”
■ Detection of code that does not accept non-ASCII characters. Any script or add-in product that
has not been correctly internationalized can cause an error when faced with a string such as
“ÐØÉ_ACTIVE.” This error would not otherwise be detected until localization has been performed,
which might be too late in the project cycle to correct immediately.
An additional benefit of the prefixing option is that strings can be lengthened by up to three
characters. This allows testing of field and column sizes to make sure that they can accept localized
strings where the translation is longer than the original text. This commonly occurs in Western
European languages.
NOTE: The Advanced Compile option does not change the underlying data in the repository, only the
strings in the compiled SRF file. The Advanced Compile feature only works on strings that are in the
S_SYM_STR table (that is, strings normally exportable with the LMU tool). It does not work on error
messages contained in separate products such as Siebel Handheld or in third-party products.
The Advanced Compile option is accessed by holding down the SHIFT key when choosing Compile
Projects from the Tools menu.
3 Under Tools Language Mode, choose the language you wish to test, for example Swedish. ENU
(English-American) is the default.
4 Click Yes.
5 Under Language override, select the Enable and Use Language Override checkbox.
6 Click OK.
7 Click OK.
CAUTION: Before compiling in advanced mode, make a backup copy of your SRF file.
The Object Compiler dialog box appears with the Advanced button visible.
2 Click Advanced.
NOTE: If testing a language with characters particular to it, you must include one or more
of those characters.
■ For missing translations, show LANG_CODE + object name. Inserts dummy strings for
missing translations. Optional.
4 Click OK.
6 Choose an SRF file for the language that you wish to test.
7 Click Compile.
For more information, see “Using the Siebel Debugger” on page 158.
The Siebel Mobile Web Client starts in a new browser window. If both options were chosen,
strings are prefixed with the chosen characters, and dummy strings contain the chosen
characters, language code, and object name.
2 Navigate among the screens and views to find missing string translations.
using to export/import repositories 203 full get process, setting commit options 74
date, setting change date preferences 64 full get, setting commit options 74
Debug menu, options 44
Debug toolbar, about and buttons 52 G
debugger. See Siebel Debugger generating mid-level release 190
debugging get process
setting options 77 about performing 89
showing/hiding debug windows 86 getting locale-specific data 91
deleting objects 119 getting projects from the server
design environments, canvas-based 58 repository 90
Detail tab, about using 22 performing full get process 89
Development Tools Options dialog box Go menu, options 42
checking in/out options 72
docking a window 83
drop-down lists, about 30 H
Help menu, options 49
hidden windows, navigating to 49
E History toolbar, about and buttons 50
Edit menu. options 38 hot-fix
Edit toolbar, about and buttons 51 exporting individual objects 188
edit tools exporting objects using the command-line
displaying from Edit menu 38 interface 189
displaying from Edit toolbar 51 HTML source code, displaying for
editors templates 33
restarting after check out 73
showing/hiding 85
Entity Relationship Designer, about 59 I
environment settings Import Wizard-Review Conflicts and Actions
applying using View menu 40 about 193
error messages Attribute Differences pane 195
function_name Is An Unknown Function, Conflicting Objects pane 194
about and correcting 165 Object Difference pane 194
Errors window, showing/hiding 86 importing
exporting consolidated strings 229
exporting objects to an archive file 185 Import Wizard-Review Conflicts and
objects to an archive file using command-line Actions 193
interface 185 LMU file 242
repository, in a UNIX environment 207 objects from archive file 191
repository, in a Windows environment 206 preparing target repository for import 191
strings and locale-specific attributes 242 process of importing objects from archive
strings to be translated 243 file 191
text strings and attributes 238 repository, in a UNIX environment 206
using archive files to export/import repository, in a Windows environment 205
objects 183 symbolic strings 225
Expression Builder text strings and attributes 238
about 35 text strings and attributes into
using 139 repository 239
using archive files to export/import
objects 183
F using Database Configuration Utility to
File menu, options 37 export/import repositories 203
Fix and Go 149 importlog.txt, about 193
Flat tab, about using 23 inactive objects, about 23
Format menu, options 43 incremental repository upgrade kits,
Format toolbar, about and buttons 54 about 177
L View menu 40
languages Window menu 49
enabling language overrides 66 mid-level release, generating 190
selecting a language mode 65 missing strings, finding by compiling in
Layout editors, about 57 advanced mode 243
List tool bar, about and buttons 51 Mode drop-down list 30
LMU modified objects, finding 237
See Locale Management Utility
local database, overwriting projects 90 N
local projects, differences from server navigating, using windows 19
projects 107 New Object wizard
Locale Management Utility about 51
about using 235 using to create objects 117
exporting strings and attributes 238 non-translatable locale-specific
finding existing translations 236 attributes 231
finding untranslated text strings 235
identifying modified objects since export 240 O
importing strings and attributes 238
Object Check Out dialog box
importing strings and attributes into
about using and elements 98
repository 239
object comparison
note, about modified records for project
about 130
marked as Redo 240
about the Compare Objects dialog box 131
replacing strings 241
comparing in another repository 133
running from command line 241
comparing in current repository and archive
locale object
file 133
finding untranslated text strings 235
comparing in same repository 132
locale-specific attributes
comparing object definition in archive
exporting and strings 242
files 133
exporting strings to be translated 243
synchronizing object definitions 134
exporting text strings and attributes 238
Object Compiler dialog box
importing into the repository 239
accessing 178
importing LMU file 242
caution, about compiling or modifying .srf
importing strings and attributes 238
file 178
locale-specific items
object definition management
showing or hiding 232
File menu options 37
localization
object definitions
See Locale Management Utility
about compound queries 127
locking projects 111
about object comparison and
log file, list of Summary window
synchronization 130
messages 193
about the Compare Objects dialog box 131
about the Validate dialog box 121
M about the Validation Options dialog box 123
menu bar about validating objects 120
Debug menu 44 associating with a different project 111
displaying menus 37 bookmarks 33
Edit menu 38 comparing in archive files 133
File menu 37 comparing in current repository and archive
Format menu 43 file 133
Go menu 42 copying objects 119
Help menu 49 deleting objects 119
Query menu 43 determining when records were created and
Screen menu 42 updated 134
Tools menu 45 Edit menu, about using to apply 38
The Programs (which include both the software and documentation) contain proprietary information;
they are provided under a license agreement containing restrictions on use and disclosure and are also
protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering,
disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability
with other independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems
in the documentation, please report them to us in writing. This document is not warranted to be error-
free. Except as may be expressly permitted in your license agreement for these Programs, no part of
these Programs may be reproduced or transmitted in any form or by any means, electronic or
mechanical, for any purpose.
If the Programs are delivered to the United States Government or anyone licensing or using the Programs
on behalf of the United States Government, the following notice is applicable:
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently
dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup,
redundancy and other measures to ensure the safe use of such applications if the Programs are used for
such purposes, and we disclaim liability for any damages caused by such use of the Programs.
The Programs may provide links to Web sites and access to content, products, and services from third
parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites.
You bear all risks associated with the use of such content. If you choose to purchase any products or
services from a third party, the relationship is directly between you and the third party. Oracle is not
responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of
the agreement with the third party, including delivery of products or services and warranty obligations
related to purchased products or services. Oracle is not responsible for any loss or damage of any sort
that you may incur from dealing with any third party.
Oracle, JD Edwards, and PeopleSoft are registered trademarks of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.
Contents
Configuring a Business Component to Copy Child Records If the User Copies the Parent
Record 255
Creating a Business Component to Allow the User to Set a Primary Team Member 256
Customizing a Business Component Field 256
Creating a New Business Component Field 257
Activating a Multi-Value Field 257
Validating Data That the User Enters In a Business Component Field 258
Example of Creating a Business Component Field That Displays More Than One Currency
259
Configuring Client-Side Import to Update a Business Component Field 262
Creating a Joined Business Component Field 263
Example of Creating a Predefault Value for a Joined Business Component Field 265
Customizing a Link 266
Configuring a Link to Delete Child Records if the User Deletes the Parent Record 266
Configuring a Link to Create a One-to-Many Relationship 268
Configuring Two Links to Create a Many-to-Many Relationship 268
Creating Multiple Associations Between the Same Parent and Child Records 268
Creating a Business Object 269
Defining the Sequence in Which Siebel CRM Displays Screen Views 288
Process of Creating a Screen Home Page View 289
Defining Business Components for the Screen Home Page View 289
Creating Links to Frequently Accessed Data 292
Determining How Siebel CRM Displays Recent Records 293
Defining the Business Object for the Screen Home Page View 295
Creating Simplified Screen Home Page Applets 296
Creating a Screen Home Page View 298
Adding the Screen View to the Screen 300
Creating and Deploying an Application 300
Creating a New Application 301
Deploying A Siebel Application in Standard Interactivity or High Interactivity 301
Configuring a Standard Interactivity Application to Run Without HTML Frames 303
Customizing the Sort Order for Siebel CRM 305
Configuring Keyboard Shortcuts for an Application or Applet 307
Index
Table 1. Documentation Changes in Configuring Siebel Business Applications, Version 8.1, Rev. B
Topic Description
“How a Business Component Field Modified topic. You cannot use a script on a calculated
Calculates a Value” on page 90 field.
“How Siebel CRM Validates Start and End New topic. Although you cannot configure the
Dates” on page 258 predefined validation for a date field, you can add
custom script to validate a date field.
“Guidelines for Using Cascade Delete” on Modified topic. If you set the Cascade Delete property
page 267 incorrectly, then the Cascade Delete property might
cause data integrity problems or orphaned records.
“Calling a Method for an OK Control” on New topic. You can call a method for an OK control.
page 318
“Displaying the Save Button in High New topic. You can configure Save buttons so Siebel
Interactivity” on page 332 CRM displays them in high interactivity.
“Setting the Input Method Editor Mode on Modified topic. You can only use the input method editor
a Control or List Column” on page 368 in high interactivity.
“Including a New Button in a Multi-Value New topic. To include a New button in a multi-value
Group Applet” on page 481 group applet, you must perform some configuration.
“Guidelines for Using the EIM Table Modified topic. You cannot use the EIM Table Mapping
Mapping Wizard” on page 576 Wizard with a custom table.
Appendix A, “Reference Materials for New appendix. Includes reference information, such as
Configuring Siebel Business Application” properties of object types.
“Character Large Object (CLOB) Physical Modified topic. To query on a DTYPE_CLOB field, you
Type” on page 672 must use at least one wildcard in the search expression.
“Maximum Number of Digits for a Numeric New topic. If the Physical Type property of a table
Physical Type” on page 673 column is Numeric, then the table column can contain
up to 16 digits. Certain restrictions apply.
Topic Description
“Summary of Support for Extension New topic. Summarizes support for the extension table
Tables and Extension Columns” on and extension column.
page 58
“Using the Case Insensitivity Wizard to Modified topic. The CIAI wizard does not inactivate the
Deactivate CIAI Configuration” on CIAI column that is created on the base column.
page 558
“Overview of Guidelines for Customizing Modified topic. In most cases, do not modify a predefined
the Data Objects Layer” on page 72 one-to-one extension table or the column of a predefined
one-to-one extension table.
“Deleting a Custom Extension Table or Modified topic. Care must be taken when you remove a
Column” on page 246 column of an extension table.
“Applying a Custom Table to the Local Modified topic. Describes some of the fields you can
Database” on page 247 define when you apply a change to the data model.
“Starting the EIM Table Mapping Wizard Modified topic. You cannot use the EIM Table Mapping
for a Table That Does Not Use the wizard to map to a table that does not possess user key
Foreign Key” on page 577 attributes.
“How Siebel CRM Filters Duplicate New topic. A join between two business components may
Records from a Join in an Applet” on return one or more records, such as the situation that
page 102 occurs when the joined table is an intersection table.
However in the applet, only the first record in the result
set is displayed.
“MiniButton Control and MiniButton List Modified topic. Several types of minibuttons are available.
Column” on page 122
“Types of Applet Controls and List Modified topic. An RTC (Rich Text Component) control
Columns” on page 689 defines the dimensions and font characteristics of
containers that hold the Rich Text Component. Several
types of RTC controls are available.
“Restricting Access to Records in a New topic. The Read Only View field of the Responsibilities
View” on page 283 list in the Administration-Application screen allows you to
restrict access for an individual responsibility to records
in a view.
“Defining the Drilldown Sequence to New topic. You can configure the drilldown sequence to
Customize Search for an Account” on customize search for an account.
page 276
Topic Description
“Options to Toggle Between Applets in a Modified topic. More than one dynamic applet toggle can
View” on page 148 be configured in a single view.
“Properties of an Applet Method Menu Modified topic. For a menu item that is displayed on an
Item” on page 688 applet-level menu, use Browser as the target of the
Command object.
“Pick Applet Usage in Query Mode” on New topic. When a pick map operates in query mode, the
page 443 fields that are copied include the source field that is used
by the picklist and any other picklist field that is part of
the primary key.
“Constraint Pick Map Acts as a New topic. When the Constrain property of a Pick Map
Predefault Value” on page 453 object is TRUE, a new record that is added from a pick
applet is used as a predefault value.
“Using the Chart Applet Wizard to Modified topic. More procedural details are provided
Create a Chart” on page 397 regarding how to create a new chart by using the Chart
Applet wizard.
“Example of Customizing an New topic. You can configure the organization analysis
Organization Analysis Applet” on applet that is automatically generated by the Siebel
page 435 application.
“Creating a Pop-Up Applet That Siebel Modified topic. You can configure a radio button for a field
CRM Opens from an Applet” on that references a static picklist.
page 316
“Creating a Pop-Up Applet That Siebel New topic. You can configure a pop-up applet that is
CRM Opens from a Menu Item” on launched from a menu item.
page 318
“Process of Customizing Drilldown from New topic. You can configure a destination view when an
the Calendar Applet” on page 347 end user clicks the Contact Icon from within the calendar.
“Guidelines for Modifying a Predefined Modified topic. You can use a Siebel Web Engine (SWE)
Query” on page 188 tag to change the position of the pdqbar in standard
interactivity mode.
“Example of Configuring a Hierarchical New topic. This topic gives one example of configuring a
List Applet to Use External Data” on hierarchical list applet to use external data.
page 424
“Updating the Customer Dashboard New topic. To display information from a virtual business
With Data from a Virtual Business component in the customer dashboard, you must script
Component” on page 640 the UpdateDashboard function.
Topic Description
“About the Siebel Object Architecture” Siebel Self-Service Applications use the Siebel Data
on page 28 Object and Business Object layers, but not the Logical
User Interface Objects and Physical User Interface layers.
“About Standard Interactivity and High In version 8.1, Application Object Manager parameters
Interactivity” on page 42 are set for the Siebel Web Client in the Component
Parameters list of the Administration-Server
Configuration screen, Servers view.
“About the Siebel Object Architecture The Siebel and Java EE parts of Siebel Self-Service
and Siebel Self-Service Applications” on Applications are integrated by using Web services.
page 30
“Guidelines for Naming an Object” on Do not use license key options as object names.
page 197
When naming custom objects, prefix them with your
company name.
“Character Large Object (CLOB) The Character Large Object (CLOB) data type is supported
Physical Type” on page 672 in version 8.0 and higher.
“System Columns of a Siebel Table” on The Row ID format is alphanumeric (base 36).
page 66
“Types of Tables and Columns That CIAI Added Long to the list of supported column physical types
Query Supports” on page 700 in Table 119 on page 701.
“Using the Case Insensitivity Wizard to For standard Siebel columns, you cannot manually
Deactivate CIAI Configuration” on change the Default Insensitivity column property back to
page 558 None. You must run the Case Insensitivity wizard for this
column with Operation equals Off.
“Effect of CIAI Columns on Sorts” on New topic. When querying on a column that is allowed for
page 548 CIAI, the CIAI column might or might not appear in the
ORDER_BY clause depending on the Visibility Applet Type
property of the view.
“Work That the New Table Wizard The creation of user keys on custom tables is not
Performs” on page 241 supported.
Topic Description
“Applying a Data Layer Customization to Inactive tables are dropped from the database when you
the Server Database” on page 248 apply changes.
“Guidelines for Defining the Name of a Avoid using parentheses in field names.
Business Component Field” on page 98
“Properties of a Business Component” Removed the note about the Use Default Sensitivity
on page 675 property. There is no such property in version 8.0 and
higher.
“Options to Filter Data Displayed in an When a business component defines an outer join, and a
Applet” on page 126 joined field that uses the outer join is used in the business
component's search specification, the SQL generated
changes to an inner join for performance reasons.
“How Siebel CRM Constructs a Added details about the behavior of sequence fields.
Sequence Field” on page 92
“Creating a Joined Business Component Topic added. Added a procedure for creating a business
Field” on page 263 component field that gets its data from a column in a
joined table.
“How Siebel CRM Constructs an Indirect The Source Field property specifies a joined field that
Multi-Value Link” on page 107 represents the ROW_ID column from the base table of the
master business component. Use of columns other than
ROW_ID might cause unpredictable application behavior.
“Improving Performance by Defining the Do not display primary ID fields in the user interface.
Primary ID Field of a Multi-Value Link”
on page 562
“Options to Control How the User The applet mode applies only to the applet in focus.
Creates, Edits, Queries, and Deletes
CRM Data” on page 124
“Types of Applet Controls and List Do not use the InkData control in list applets.
Columns” on page 689
“Setting the Input Method Editor Mode Topic added. You can set the input method editor (IME)
on a Control or List Column” on mode for a control or list column by creating control or list
page 368 column user properties in Siebel Tools.
“Displaying a Subset of Fields or CRM Topic added. Added a procedure for configuring the Show
Records” on page 366 More/Less button.
“Overview of Applet Web Templates” on The Item Identifier property of the Applet Web Template
page 162 Item object indicates the position of the label or control
in the grid.
“Options to Toggle Between Applets in a Dynamic toggle applets can be based on a virtual business
View” on page 148 component (VBC).
Topic Description
“About Menus and Toolbars” on Added information on allowing for the increase in width of
page 497 the text when translating application-level menus from
English to other languages.
“Properties of an Applet Method Menu Use Browser as the target for the Command object for
Item” on page 688 applet-level menu items.
“Options for the Target Property” on The ActiveBusObject and RaiseErrorText application
page 500 methods, when used in server scripts, require a Browser
target.
“Creating a New List of Values” on The use of single quotes (apostrophes) in the Display
page 464 Value field will cause search specifications based on the
Display Value field to fail.
“Using the Organization Specifier When a user creates a child record, the LOVs displayed
Property to Display Custom Lists of are determined by the value of the column specified as
Values” on page 468 the Owner Organization Specifier.
“Example of Creating a Shuttle Applet” Topic added. This topic was moved from Siebel Business
on page 491 Process Framework: Task UI Guide.
“Types of Charts” on page 382 The chart type picklist is populated from the CHART_TYPE
list of values.
“Defining the Physical Appearance of a You cannot have more than 49 labels on the X axis.
Chart” on page 407
“Customizing a Tree Node” on page 415 Each tree node in a hierarchy must have a unique
business component.
“Displaying Multiple Views on a Page” on Only one alternate view for each frameset can be defined.
page 521
“Customizing a Hierarchical List Applet” When you run a query on a hierarchical list applet, only
on page 422 the root layer of records is returned.
“Configuring a Standard Interactivity Rewrote the topic to use existing frameless Siebel Web
Application to Run Without HTML template (.swt) files.
Frames” on page 303
“Mapping a Business Component Field Added a caution that when defining a new field, make
to a Customer Dashboard Field” on sure to include a member from every list (business
page 628 component).
Topic Description
Help Source Files Topic removed. Help source files can be located using
“Location of Help Files for an Employee or Partner
Application” on page 649 and “Location of Help Files for a
Customer Application” on page 652.
This chapter provides an overview of the architecture for Oracle’s Siebel Business Applications. It
includes the following topics:
A Siebel object definition is the metadata that defines a Siebel application. Siebel object definitions
define user interface elements that Siebel CRM includes in the Siebel client, business entities, and
the Siebel CRM database organization. The Siebel Repository is a set of database tables that stores
these object definitions. Examples of types of objects include applets, views, business components,
and tables. You use Oracle’s Siebel Tools to create or modify an object definition.
An object definition includes properties, which are qualities of the software construct that the object
defines. For example, the properties of a database column includes the name, data type, and length
of the column.
NOTE: The terms Siebel Business Applications and Siebel CRM are used interchangeably throughout
this document.
■ Applet toggle
A parent-child relationship between object definitions implies that the child object definition is in, or
belongs to the parent object definition. It does not imply inheritance between object definitions. The
set of properties of a parent object is not related to the set of properties of a child object.
For more information about the Object Explorer and the Object List Editor, see Using Siebel Tools.
NOTE: Terms such as object, property, or class describe the Siebel CRM metadata. These terms do
not describe corresponding terms in object-oriented programming.
1 Physical user interface objects layer. Includes the physical files, templates, style sheets, and
other metadata that reference files that render the user interface displayed in the Siebel client.
For more information, see “Overview of the Physical User Interface Layer” on page 30.
2 Logical user interface object layer. Includes object definitions for the user interface displayed
in the Siebel client. These objects define the visual elements that Siebel CRM displays to the user
and with which the user interacts in a Web browser. A user interface object references a business
object. For more information, see “Overview of the Logical User Interface Object Layer” on page 31.
3 Business object layer. Includes objects that define business logic and organize data from
underlying tables into logical units. For more information, see “Overview of the Business Object
Layer” on page 34.
4 Data objects layer. Includes data object definitions that directly map the data structures from
the underlying relational database to Siebel CRM. These objects provide access to those
structures through object definitions in the business object layer. For more information, see
“Overview of the Data Objects Layer” on page 35.
Siebel CRM insulates objects in each layer of the Siebel object architecture from the layers above
and below each layer, including the RDBMS (Relational Database Management System) at the bottom
of the architecture. This allows you to change or customize Siebel objects in one layer without
affecting other layers. Similarly, because Siebel CRM separates the database in the RDBMS from the
object architecture, you can make database changes with only minimal affect on Siebel CRM.
■ Configuring Siebel CRM, see “Developing a Plan to Control File Versions for the Physical User
Interface Layer” on page 195.
■ Siebel Self-Service Applications, which do not use the Siebel physical user interface layer, see
Siebel Self-Service Application Developer’s Guide.
Siebel Tag
A Siebel tag is a special tag in a template file. A tag specifies how a Siebel object is defined in the
Siebel repository and how it must be laid out and formatted in the HTML page that Siebel CRM
renders in the Web browser. For more information, see “About Siebel Tags” on page 176.
Applet
An applet is a user interface object that allows the user to view, enter, and modify data that the
applet derives from a single business component. It includes the following qualities:
■ Composed of controls, such as buttons, fields, check boxes, and other types of controls, such as
buttons that call a method or an ActiveX control
■ Allows the user to view, enter, modify, and navigate through records
■ Can display as a form, list of records, chart, business graphics, or navigation tree
■ Allows data entry for a single record, or through a scrolling table that displays multiple records
For more information, see “About Applets, Controls and List Columns” on page 119.
View
A view is an object type that is a collection of related applets that Siebel CRM displays simultaneously
in the Siebel client. A view can contain lists, forms, charts, and other types of applets. Most views
are a master-detail view or a list-form view. A view is associated with the data and relationships that
exist in a single business object. For more information, see “About Views” on page 137.
Screen
A screen is an object type that is a collection of related views. A screen is associated with a major
functional area of the enterprise, such as accounts, contacts, and opportunities. In general, all views
in a screen reference the same business object. For more information, see “About Screens” on
page 140.
Application
An application is an object type that is a collection of screens. The user can access Siebel CRM
through the following clients:
The user navigates to a screen from the tab bar or the Site Map, as defined in the object definition
of the Siebel application. Your organization might possess licenses for more than one Siebel
application. For example, Siebel Sales and Siebel Call Center. Different groups in your organization
might use these applications, such as the sales team or the customer support team. For more
information, see “About Applications” on page 149.
Page Tab
A page tab is an object type that associates a screen to a parent application. A page tab is a child of
a screen object, and is included as a tab in the tab bar. The user clicks the tab to access the screen.
For more information, see “Creating a Page Tab” on page 286.
Control
A control is an object type that is an element in the Siebel client, such as a field, text box, check
box, button, and so forth. A control is a child of an applet, and allows the user to interact with Siebel
CRM and with CRM data. For more information, see “About Applet Controls and List Columns” on
page 121.
List Applet
A list applet is a type of applet that allows simultaneous display of data from multiple records. The
predefined list displays data fields in a multicolumn layout where Siebel CRM displays each record of
data in a row. A list applet can include textual data, images in JPEG (Joint Photographic Experts
Group) and GIF (Graphics Interchange Format) formats, and edit controls, such as check boxes, lists,
multi-value group applets, and text fields.
The user can click in the far left column selection area of a list applet to choose a single row. If
chosen, the fields in the row can activate input or edit controls. If the user clicks New in the applet,
then Siebel CRM creates a new row with a series of empty fields where the user can enter
information.
List
A list is an object type that defines property values that pertain to a scrolling list in a list applet. A
list is a child of an applet and provides a parent object definition for a set of list columns. For more
information, see “How Siebel CRM Constructs a List Applet” on page 120.
List Column
A list column is an object type that corresponds to a column in a scrolling list in a list applet, and to
fields in the business component. A list column is a child of a list. For more information, see “Creating
a List Applet” on page 311.
Siebel Self-Service Applications do not use the Siebel logical user interface object layer, applets,
views, or screens. For more information, see Siebel Self-Service Application Developer’s Guide.
Business Component
A business component is an object type that associates columns from one or more tables into a single
structure. A business component provides a layer of wrapping over tables. This wrapping allows an
applet to reference a business component rather than the underlying table. For more information,
see “About Business Components” on page 79.
Join
A join is an object type that establishes a relationship between a business component and a table
that is not the base table of the business component. The join allows the business component to use
fields by using columns from the joined table. The join uses a foreign key in the business component
to obtain rows on a one-to-one basis from the joined table, even though a one-to-one relationship
between the two is not necessarily required. For more information, see “About Joins” on page 99.
Join Specification
A join specification is an object type that provides details about how Siebel CRM defines the join in
the business component. A join specification is a child of a join. For more information, see “How
Siebel CRM Uses the Join Specification” on page 101.
Business Object
A business object is an object type that groups related business components together. A business
object allows you to establish a relationship among the various business components that Siebel CRM
uses in the context of a given business object. For more information, see “About Business Objects”
on page 113.
Link
A link is an object type that defines a one-to-many relationship between two business components.
The link makes master-detail views possible. A master-detail view is a type of view that displays one
record of the parent business component along with many records of the child business component
that correspond to the parent. For example, many contacts for a single account. You can also use a
pair of links to create a many-to-many relationship. For more information, see “About Links” on
page 111.
User Property
A user property is an object type that provides a way for you to configure specific behavior that goes
beyond what is configured in the properties of the parent object. At the business object layer, a user
property exists as a child object of a business component, business service, integration component,
integration object, or virtual business component. For more information, see Siebel Developer’s
Reference.
Business Service
A business service is an object type that contains a set of methods. It provides the ability to call C++
or scripted methods of the business service from a script that you create, and in the object interface
logic, through the mechanism that Siebel CRM uses to call the method. For more information, see
Integration Platform Technologies: Siebel Enterprise Application Integration.
Siebel object definition payers provide a way to manage relational databases in Siebel CRM. Siebel
CRM generates queries in response to a user action, in combination with the context that the relevant
object definitions establish. The RDBMS contains the data and handles the queries that originate in
Siebel CRM. Siebel CRM processes the query results that it returns from the RDBMS up through the
relevant object definitions in the architecture, and then presents the results to the user.
NOTE: Siebel CRM creates the physical tables in the RDBMS when you install Siebel CRM.
This topic describes some of the more common objects in the data layer of the Siebel object
architecture. For more information, see Siebel Object Types Reference.
Table
A table is an object type that is the direct representation of a database table in an RDBMS. It contains
column and index child object types that represent the columns and indexes of the table. Table,
column, and index objects in Siebel Tools provide a detailed picture of all of the tables, columns, and
indexes that are included in the RDBMS. For more information, see “About Siebel Tables” on page 51.
Column
A column is an object type that represents one column in a database table. It is represented by the
column object definition that is a child of the corresponding object definition for the table. For more
information, see “About Columns and Indexes in a Siebel Table” on page 65.
Index
An index is an object type that identifies a physical index file in the RDBMS. For more information,
see “Indexes of a Siebel Table” on page 67.
Figure 2 illustrates the relationships between the major object types in Siebel CRM.
■ Integrations That Use Siebel Partner Connect and Siebel Tools for Partner Connect on page 42
Object Manager
The object manager hosts a Siebel application, providing the central processing for HTTP
transactions, database data, and metadata, which are object definitions in the Siebel repository that
are relevant to the current state of Siebel CRM. The Siebel Web Engine and data manager operate
as facilities in the object manager.
The object manager handles object definitions for all levels of the object layer hierarchy. These
objects include Web interface definitions, business object definitions, and data object definitions. For
run-time objects that reference the object definitions, Siebel CRM only directly instantiates the
business object layer objects. These objects include business objects, business components, and so
forth. The Siebel Web Engine instantiates interface objects. The data manager instantiates data
objects.
The object manager also implements the mechanism by which the Web interface objects receive
notification of various state changes of the business component.
For more information about application object manager components that are defined on the Siebel
Server, see Siebel System Administration Guide.
Data Manager
The data manager is a facility that resides in the object manager. It issues SQL queries in response
to requests from the object manager, and passes back database result sets to the object manager.
The data manager includes one connector DLL for each type of database connection that the Siebel
system supports. The object manager dynamically loads the DLL that the data source requires.
For a description of the major entities that make up a Siebel deployment, see Siebel Deployment
Planning Guide. For more information about the Siebel environment, see Siebel Installation Guide
for the operating system you are using.
■ The Siebel Web Engine service in the object manager on the Siebel Server
The SWSE runs on the Web server, and interfaces with the Siebel Web Engine service in the object
manager. Most of the work occurs in the Siebel Web Engine. The SWSE mostly maintains the session
and functions as a communication intermediary. Network communication between the SWSE and the
object manager occurs through SISNAPI (Siebel Internet Session Network Application Programming
Interface), a Siebel communication protocol that references TCP/IP that provides security and
compression.
The Siebel Web Engine runs as the Web Engine Interface Service object manager service. This
service implements most components of the Siebel Web Engine, deploying an interface between
SWSE and the object manager. From the perspective of SWSE, the Siebel Web Engine interface
service does the following work:
■ Handles incoming HTTP requests that include the Siebel Web Engine prefix
From the perspective of the object manager, the Siebel Web Engine interface provides a user
interface for interactions with the object manager.
To create an applet web template in Siebel Tools, you use the Web Applet Designer and the following
object types:
To create a View web template in Siebel Tools, you use the following object types:
1 Reads the object definitions from the SRF (Siebel Repository File) file.
4 Retrieves data from the underlying business objects and business components.
5 References the data, applet, and view information to the corresponding placeholders in the Siebel
Web template file.
Figure 3 illustrates the relationships between style sheets, templates, and objects in the Siebel
repository, and the final HTML output.
Figure 3. Relationships Between Style Sheets, Templates, and Objects in the Siebel Repository,
and the Final HTML Output
■ Clients
■ Data sources
The middle tier is where you typically find transports and interfaces to receive messages that travel
between applications that reside in and out of the enterprise. These transports and interfaces can
include HTTP, MQSeries, Java servlets, Enterprise Java Beans (EJBs) that are typically in XML format,
and so forth.
To simplify integration, Siebel CRM uses Java and XML to receive XML requests that Siebel CRM sends
through HTTP or MQSeries. Java and XML provide a uniform way to receive and process requests
from Siebel CRM in a Java EE environment. Siebel CRM uses Oracle's Siebel EAI integration
infrastructure to transmit requests that Siebel CRM initiates to the appropriate Java EE Application
Server. Java and XML includes a Servlet that receives HTTP requests and an MQSeries Base Server
that retrieves messages from an MQSeries queue.
To use Java and XML, you must implement the ProcessRequest interface, which is responsible for
understanding the contents of the incoming request and dispatching it to the appropriate Java
component.
CAUTION: You can only use Java and XML to receive XML requests from Siebel CRM. You can only
create custom code solely for use in object code form and solely for the purpose of integrating a
Siebel application with a non-Siebel application. However, any modification or extension of this code
is not in the scope of Maintenance Services and will void all applicable warranties. For more
information, see “Getting Help from Oracle” on page 196.
CAUTION: You can only use the source code that the Siebel Code Generator Business Service
generates in object code form and solely for the purpose of integrating a Siebel application with a
non-Siebel application. Any modification or extension of code that the Siebel Code Generator
Business Service generates is not in the scope of Maintenance Services and will void all applicable
warranties.
Siebel CRM can use a Web service with a Java EE and a service-oriented architecture (SOA). For
example, the Siebel Self-Service Applications combine Siebel business logic with a Java EE user
interface. Web services are used to integrate the Siebel and Java EE parts of the Self-Service
application. For more information about:
■ Web services, see Integration Platform Technologies: Siebel Enterprise Application Integration
and Siebel CRM Web Services Reference.
■ The Web UI Dynamic Developer Kit (DDK), which allows you to display Siebel data and
functionality in a portal application or in a custom user interface, see Siebel Web UI Dynamic
Developer Kit Guide.
■ Java and XML and the Siebel Code Generator Business Service, see Transports and Interfaces:
Siebel Enterprise Application Integration.
Siebel Tools for Partner Connect is a set of tools that a brand owner can use to configure and
administer their integrations with their channel partners. It includes the following webMethods
products:
■ webMethods Developer
For more information, see Siebel Partner Relationship Management Administration Guide.
■ Calendar Views That Siebel CRM Supports with Standard and High Interactivity on page 46
■ Configuring a Standard Interactivity Application to Run Without HTML Frames on page 303
Standard Interactivity
Standard interactivity resembles most traditional Web applications. It supports different types of
browsers. Page refreshes occur often, such as if the user creates a new record, submits a form, or
browses through a list of records. You typically deploy a customer application in standard
interactivity. Standard interactivity includes the following qualities:
■ A hierarchical list does not constrain values. Example hierarchical lists include Area and Subarea
for service requests.
High Interactivity
High interactivity resembles a Windows client. It supports fewer browsers than standard
interactivity, but it includes a set of features that simplifies data entry for the user. For example,
page refreshes do not occur as often as they do in standard interactivity. The user can create new
records in a list, save the data, and continue browsing without encountering a page refresh. You
typically deploy a Siebel employee application in high interactivity.
■ Browser scripting. Allows you to use browser script to access Siebel objects. To reduce the
number of page refreshes, this technique allows you to build data validation logic on the client.
■ Implicit save. Allows Siebel CRM to automatically save a record if the user steps off the record.
■ Keyboard shortcuts
■ Customizable toolbars. Allows you to customize JavaScript toolbars and define new ones. For
more information, see “Using Web Templates to Customize Toolbars” on page 530.
■ Standard interactivity. The user can click a row selector control in a row in the list to activate
the row. If chosen, the fields in the row can activate input or edit controls. Clicking New creates
a new row with a series of empty fields where the user can enter information.
■ High interactivity. The user can click any area in a row in the list to activate the row:
■ Because the row selector control is redundant, Siebel CRM automatically deletes the control
when it renders the list.
■ Because high interactivity uses an implicit save model, a Save control is not required. If the
user steps off the current record, then Siebel CRM automatically saves changes to the Siebel
database.
■ Browser Applet. Provides a way to communicate and interact between applet controls.
■ Browser Buscomp. Provides a way to interact with business components. For example, the
browser business component updates the state of browser applets as values that change in the
underlying business component. These updates are due to master and detail views, calculated
values, and certain behavior.
■ Browser Business Service. Provides a set of methods from browser scripts that you define.
You can reuse a browser business service.
■ Browser Application. Provides a framework for Siebel CRM. In a browser application, you can
create a method that is not specific to a business component or that calls a method on the Siebel
Server.
You can script an instance of a browser applet, browser business component, browser business
service, and browser application. For more information, see “Creating a Script to Customize Siebel
CRM” on page 202.
Figure 4 illustrates how different components of Siebel CRM interact. Siebel CRM shares certain
business component logic with the browser, Siebel Web Engine, and the Object Manager. Siebel CRM
shares certain Web applet logic between all HTML clients. Browser logic is the only part that is specific
to a browser.
Siebel CRM maintains these browser JavaScript objects in synchronization with their server
counterparts so that changes to the browser or server objects are reflected in their corresponding
objects. Siebel CRMSiebel CRM performs application processing among the browser objects. Using
the remote procedure call protocol, Siebel CRM activates the Siebel Server if the Siebel Server
requires data or new layouts. The Siebel Server can also use the notifications protocol to initiate an
action on the browser.
■ For a field to interpret and display custom HTML, such as a URL that the user enters, you must
set the Type property of the field to URL. If it is not set to URL, then Siebel CRM presents and
interprets the HTML as plain text. For example, if the user types a URL in a field of type TEXT,
then Siebel CRM does not recognize the URL as a link to a Web page.
■ You cannot modify the background and text color of a list applet.
■ You cannot place a control that calls a method, such as the delete function, on every row in a
list. Instead, place a button in the applet that calls the method. This way, the function acts on
the chosen record.
■ There are situations where the configuration file for the Siebel application sets Siebel CRM to run
in high interactivity, and all the applets in a view are configured to support high interactivity, but
Siebel CRM displays the view in standard interactivity. To remedy this situation, take the
following actions:
■ Do not explicitly set an applet to Query mode. Because high interactivity implicitly supports
a query operation from the Siebel client, it does not support explicit use of the Query mode.
For more information, see “Options to Control How the User Creates, Edits, Queries, and Deletes
CRM Data” on page 124.
■ Deactivate any New template that is associated with an applet that you use in a high
interactivity application. Siebel CRM then uses the Edit template as the default value to
create new records. A problem can occur if one of the applets is in the New mode and uses
a New template that is different from the Edit template that Siebel CRM uses in default mode.
■ Disallow any multirow edit or multirow select for the list applets.
■ Do not use the style layout of a catalog for an employee application. If the view uses a
template that displays applets in the style layout of a catalog, then Siebel CRM might display
the view in standard activity.
■ Do not use a combo box list that uses Long Lists or includes an associated pick applet. For
example, if the user performs an action from a high interactivity applet that causes a pick
applet to display, then the pick applet is not displayed in high interactivity.
For a Siebel application that typically runs in high interactivity, the seed responsibilities support the
following views:
■ Views that can high interactivity and standard interactivity can share
For a Siebel application that typically runs in standard interactivity, the seed responsibilities support
the following views:
■ Views that can high interactivity and standard interactivity can share
Table 5 describes calendar views that Siebel CRM supports for high and standard interactivity.
Table 5. Calendar Views That Siebel CRM Supports for High and Standard Interactivity
Table 5. Calendar Views That Siebel CRM Supports for High and Standard Interactivity
These solutions are controlled through administration views in the Siebel client rather than Siebel
Tools and are used by developers and administrators.
Siebel Personalization
Siebel Personalization is a solution that allows you to target content in an applet that Siebel CRM
directs to a specific user according to the requirements of the preference or profile of the user. For
example, you can include a salutation applet that does the following work:
■ Indicates how much time has elapsed since the user last visited the site
■ Presents information about specific products or services with which the user might be interested
■ Personalization uses rules and rule sets to determine which records the user can view in a given
applet according to the profile of the user. A rules evaluates the profile to determine which
records and applications to display. A rule set is a group of rules. You can define multiple rule
sets so that if the criteria in one rule set is not met, then Siebel CRM evaluates the next rule set.
■ The user profile references any attribute that belongs to one of the following items:
■ If the user is a contact, a contact record and the account of the contact record
■ If the user is an employee, an employee record and the division of the employee record
■ Personalization uses the User Profile Attributes object to contain and retrieve elements of a user
profile. You can display these attributes in the Siebel CRM user interface, and in rules that
determine the content that Siebel CRM displays to the user.
■ Siebel Personalization can track events that occur in the context of Siebel CRM for the
application, business component, and applet. When an event occurs, it starts a Personalization
Action that modifies user profile attributes.
■ A rule or an event can call an action. Siebel CRM uses an action to set a predefined profile
attribute or a profile attribute that Siebel CRM creates dynamically in the Siebel client. A profile
attribute that Siebel CRM creates dynamically in the Siebel client only exists for the duration of
the user session. You can use a profile attribute that is configured in Siebel Tools or created in
the Siebel client can to store state information in much the same way that a variable is stored in
a cookie or a persistent frame. Where possible, you must use a profile attribute instead of a
cookie.
■ A rule or action can call a business component method or a business service method. Typically,
you use the method to return values that Siebel CRM uses as criteria for a rule or for setting a
profile attribute.
Siebel Worklfow
Siebel Worklfow is a customizable business application that allows you to manage and enforce
business processes, such as response time objectives, creating review policies, or monitoring service
requests or opportunities over time. Siebel Worklfow uses the same basic processes that
organizations use in their sales, marketing, and service departments that determine business
workflow. You can use Siebel Worklfow to automatically enforce business policies and procedures.
For more information, see Siebel Business Process Framework: Workflow Guide.
Siebel Interactive
Siebel Interactive is a technology that allows you to incorporate HTML documents that are stored on
the same or on a different Web site. You can retrieve and display internal or external HTML content,
and programmatically execute a search specification against various Web servers. This functionality
also provides a way to manage large stores of internal content that reference HTML which might
include information that is valuable for users, such as FAQs. For more information about Siebel
Briefings, see Siebel Briefings Administration Guide.
Siebel eSmartScript
Siebel eSmartScript allows you to deploy an interactive guide in question and answer format in a
Web page that helps the user find information. The interactive guide asks the user to answer
questions to refine a search. Depending on the answers, the guide pursues branching paths to locate
the correct answer. Siebel eSmartScript is integrated with Siebel SmartScript so that you can use a
single administrative user interface to define scripts, and then deploy those scripts to call center
agents or to users through the Web.
You configure Siebel eSmartScript through the same administrative screens that you configure
SmartScript. You can deploy a Predefined SmartScript with little or no more configuration. You need
only display the eSmartScript view, and then Siebel CRM dynamically generates the remaining views,
applets, and so forth.
Siebel eSmartScripts can make applications more driven by data, which simplifies Web configuration.
A Siebel eSmartScripts is relatively easy to configure, deploy and administer. For more information,
see Siebel SmartScript Guide.
You can specify how Siebel CRM uses Assignment Manager to evaluate a record. You can run
Assignment Manager to process assignments interactively in real time, dynamically when the user
makes database changes, or periodically in batches. For more information, see Siebel Assignment
Manager Administration Guide.
State Model
State model provides you with a way to customize workflow control according to the status of an
object, such as a service request or a product defect. A state represents the status of an object, such
as Open, Closed, or Pending. The state represents where the object is in the lifetime of the object.
The state can also determine if the user can or cannot modify the data of that object. For example,
a service request that is in a Closed state might be considered frozen and the user cannot modify
the object.
A state transition defines how the user can change an object from one state to the next. For example,
state model can allow a user to change the state for a service request from Closed to Open, and from
Open to Pending, but not directly from Closed to Pending. The change of a service request from
Closed to Open, or Open to Pending, represents state transitions. For more information, see the
content about State Model in Siebel Applications Administration Guide.
Siebel Pricer
Siebel Pricer is a solution that allows you to define, assess, administer, and deploy a flexible pricing
strategy. It includes the following:
■ A set of administration views that allow you to define pricing adjustments and the conditions
under which Siebel CRM applies them.
■ An engine that evaluates the condition statements and determines which pricing adjustments
Siebel CRM applies.
■ Integration with user interfaces, such as Quotes, Orders, Siebel eSales, Siebel PRM, and Siebel
eConfigurator.
■ Scripting. Allows you to use business services with a pricing factor to customize the pricing
calculation and to access external data.
■ Pricing validation. Allows you to test pricing factors and the pricing model before releasing to
users.
This chapter describes tables and columns. It includes the following topics:
Related Topics
For more information, see the following topics:
■ You can use an extension table to customize the data objects layer.
■ You cannot add a new base table, delete a base table or column, or modify the properties of a
base column.
Siebel CRM uses the term base table to describe the following object definitions:
■ The table that an extension table customizes, as defined in the Base Table property of the
extension table
■ The table on which a business component is built, as defined in the Table property of the business
component.
For more information, see “Guidelines for Naming an Object” on page 197.
PREFIX_NAME_SUFFIX
Part Description
PREFIX A one-letter to three-letter prefix that distinguishes the table from other tables in
Siebel CRM. Example prefixes include EIM_, S_, W_, and so forth.
NAME A unique table name that is generally an abbreviation of the name of the entity
supertype. For example, the table name for the event supertype is EVT.
SUFFIX The subtype of the entity. For example, the EVT supertype includes the activity
subtype, which is represented in the suffix as ACT. For example, S_EVT_ACT.
Table 7 describes some of the prefixes that Siebel CRM commonly uses. Each prefix indicates the part
of the Siebel schema to which a table belongs.
Prefix Description
EIM_ Interface table for Enterprise Integration Manager.
In some situations, a table might contain a name of the form S_<name>_IF. This
format indicates an obsolete interface table.
Table 8 describes some of the suffixes that Siebel CRM commonly uses. Each suffix indicates a table
type.
Suffix Description
_REL A table that supports a many-to-many relationship from an entity back to itself.
_X A one-to-one extension table, available for you to add custom data to the Siebel
database.
_XA A table that stores custom data that is associated with an object class.
_XM A one-to-many extension table, available for you to add custom data to the Siebel
database.
■ A One-To-One Extension Table Extends Data Storage for a Single Business Component on page 54
■ An Implicit Join Creates a Relationship Between a Base Table and a Business Component on page 54
■ An Explicit Join Creates a Relationship Between an Extension Table and a Business Component on
page 56
■ A One-To-Many Extension Table Stores Data from Multiple Business Components on page 57
An extension table is a table that provides columns that you can use to store custom data. An
extension table contains an implicit one-to-one or a one-to-many relationship with a base table.
Siebel CRM provides a set of predefined extension tables that you can use. These tables include
generic ATTRIB_ columns that you can use to store custom data. Because these tables are part of
the data objects layer, you are not required to update the database if you use them.
NOTE: Siebel CRM uses some ATTRIB_ columns in an extension table. Do not modify or delete an
ATTRIB_ column that a predefined Siebel application uses.
You can use the New Table Wizard to create your own extension. Because an extension table that
you create requires a change to the logical schema, you must apply it to the physical database.
When Siebel CRM updates a column in a base table, it does not update the timestamps of the
extension tables of the base table unless the columns in the extension tables are also updated.
However, if Siebel CRM changes a record in an extension table, then it updates the system columns
in the parent table. Siebel CRM performs this work because the object manager treats the associated
record in an extension table as logically part of the parent record.
■ Using the New Table Wizard to Create a New Table on page 240
Figure 5 illustrates an example of how a one-to-many extension table requires you to create new
fields for the business component of the base table and map them to available columns in the one-
to-one extension table. The Hobby, Married, and Spouse fields are added to the Contact business
component. These fields reference columns in the S_CONTACT_X extension table.
Figure 5. Example of How a One-To-One Extension Table Extends Data Storage for a Single
Business Component
■ Between extension tables of the S_PARTY table and the S_USER table. S_ORG_EXT,
S_CONTACT, and S_POSTN are examples of these extension tables. These implicit joins map
data to party business components. For example, if you add a field to the Account business
component and then choose the Join property, then Siebel Tools displays several implicit
joins that are not included in the Joins list in Siebel Tools, including joins that contain an
S_ORG_EXT or S_USER alias.
■ Makes the rows of the extension table available on a one-to-one basis to the business component
that uses the extension table.
■ Is part of the Siebel object architecture. You do not use Siebel Tools to explicitly create an implicit
join.
■ Typically uses the table name as the Join Alias. The name of the implicit join is the same name
as the extension table. If a field in the business component references a column in the extension
table, then the Column property of the Field object is the name of the column, and the Join
property is the name of the extension table. For example, the Column property for the Industry
field in the Contact business component contains ATTRIB_48, and the Join property contains
S_CONTACT_X.
Unlike an explicit join, Siebel CRM can update the columns from an implicit join.
If you create an extension table, then Siebel Tools automatically defines an implicit join. For more
information, see “How an Extension Table Stores Custom Data” on page 53.
Siebel CRM uses the following objects and properties to construct an implicit join:
1 Empty join property. If the Join property is empty, then Siebel CRM obtains the column from
the base table that the business component references.
■ In the Siebel client, the user cannot typically edit a field that references a column from a joined
table. You typically use this field only to display information.
■ You do not create an implicit join. With an implicit join, the column in the extension table is
automatically available for you to use.
For other tables, you use Siebel Tools to explicitly create the join. For more information, see “About
Joins” on page 99.
Siebel CRM uses the following objects and properties to construct an explicit join:
2 Defined join property. If the Join property is not empty, then the Join property identifies the
join that supplies data from an extension table or other joined table.
3 Id field. A system field in the business component. It represents the ROW_ID column in the base
table, and you can use it in a join that involves an extension table and other joined tables. For
more information, see “System Fields of a Business Component” on page 97.
4 PAR_ROW_ID (parent row ID) column. A column that is a foreign key to the base table that
the extension table extends. Every extension table includes a column for parent row ID. Every
row in an extension table contains a value in the PAR_ROW_ID column.
For more information, see “Options to Use a Predefined One-to-One Extension Table” on page 70.
The name of a one-to-many extension table includes an _XM suffix. A one-to-many extension table
can contain multiple rows for a single row in the base table. Similar to a one-to-one extension table,
a one-to-many extension table includes a set of generic ATTRIB_nn columns that you can use to
store custom data. Unlike a one-to-one extension table, the value in the Type property for a one-to-
many extension table is Data (Public) rather than Extension.
Object Description
Public data table Can be extended by using an extension table and extension columns.
Private data The following support is available for the private data table:
table
■ Cannot contain an extension column
A private data table is a table with the Type property set to Data (Private).
Some interface tables are private, although most are public.
LOV Bounded, Read-only for a predefined column in Siebel CRM but is editable for a custom
LOV Type extension column.
property of a
MLOV (multilingual list of values) is allowed with a custom extension column.
table column
Predefined one- It is recommended that you do not modify or delete a predefined one-to-one
to-one extension extension column.
column
Predefined Similar to a data column in a base table, you must not modify or delete a
extension predefined extension column that a predefined Siebel application uses.
column
■ You can add a custom extension column to one of several types of tables.
For more information, see “Adding an Extension Column to a Base Table” on
page 243.
Object Description
EIM mapping The following support is available for Enterprise Integration Manager (EIM)
mapping:
■ The EIM Table Mapping Wizard provides a way for you to create or associate
a new table with the appropriate interface table for using EIM:
■ You can generate EIM Table Mapping objects to import data to a table
that you define.
■ You cannot add an EIM mapping for a foreign key relationship to a table that
does not contain a user key.
Custom The Dock Object Mapping Wizard provides a way for you to associate a new
extension to a table with a predefined or a new custom Dock object. This support provides a
dock object way to synchronize data that resides in the dock object of a Remote user.
■ How Siebel CRM Uses an Implicit Join with an Intersection Table on page 64
■ The Account Detail - Contacts View displays one account with multiple detail contacts.
■ The Contact Detail - Accounts View displays one contact with multiple detail accounts.
The two different views can be included in different business objects. The business objects associate
the two business components in opposite directions.
There is no database construct that directly establishes a many-to-many relationship. Instead, the
Siebel schema uses two links and an intersection table to create a many-to-many relationship.
You can customize an intersection table with extension columns. You cannot customize an
intersection table with custom extension tables.
Figure 9 illustrates how Siebel CRM constructs an intersection. The associations in the intersection
table serve the Opportunity/Contact and the Contact/Opportunity links, and their corresponding
views. The figure illustrates how the set of object definitions and relationships pertain to one of two
links. The other link uses the same set of object types, but with different relationships. Siebel CRM
can display one association in both views. For example, the association between Cynthia Smith and
Smith Dry Goods.
1 Business object. References the link that uses the intersection table. It also contains the two
business components that are included in the link. The business object makes this reference
indirectly through the child business object component of the business object.
2 Parent and child business object components. The Siebel schema uses the business object
component to include business components in the business object. The business object
component is a child of the business object. The detail business object component references the
child business component through the Business Component property. It also references the link
through the Link property. The parent business object component only references the
corresponding business component.
3 Link. Establishes a one-to-many relationship between the two business components in a specific
direction. The properties of the link define that one business component is the parent and the
other is the child in the parent-child relationship.
4 Parent and child business components. The Siebel schema specifies two business
components in the link. They provide data to the objects that display the parent-child
relationship in the Siebel client. The base table of each business component contains the ROW_ID
column that the Inter Child Column and Inter Parent Column properties of the link reference.
5 Intersection table. Contains the associations between rows in the base tables of the parent and
child business components. Each row in the intersection table represents one association
between the two business components. Two columns in the intersection table serve as foreign
keys to the base tables of the two business components. These columns are identified in the Inter
Parent Column and Inter Child Column properties of the link.
6 Inter Parent column. Contains the reference to the associated row in the base table of the
parent business component. It is identified in the Inter Parent Column property of the link.
7 Inter Child column. Contains the reference to the associated row in the base table of the child
business component. It is identified in the Inter Child Column property of the link.
8 ROW_ID columns. A unique identifier column for the rows in the base table of each business
component.
The Siebel schema uses the following properties of the link specifically to create a many-to-many
relationship. These properties are empty for links that do not create a many-to-many relationship:
■ Inter Table
1 OPTY_ID column. The following properties reference the OPTY_ID column in the S_OPTY_CON
table:
2 PER_ID column. The following properties reference the PER_ID column in the S_OPTY_CON
table:
3 Contact business component. The following properties reference the Contact business
component:
For example, the S_OPTY_CON table defines the many-to-many relationship between opportunities
and contacts, and it includes several data columns in addition to OPTY_ID and PER_ID. These data
columns contain information about the combination of a specific opportunity and a specific contact.
Some of these columns include:
Some intersection data columns are useful to one parent-child relationship, some are useful to the
other parent-child relationship, and some are useful to both of these relationships. For example:
■ The ROLE_CD column is useful only in the context of a parent-child relationship in which an
opportunity is the parent record with multiple detail contact records.
■ The TIME_SPENT_CD column is useful in the context of either parent-child relationship. Each
contact fulfills a unique role in the opportunity. The time spent can be useful if viewed from one
of the following perspectives:
■ The schema references the ROLE_CD column of the S_OPTY_CON table to the Role field in the
Contact business component.
■ The Contact business component does not contain a child S_OPTY_CON join object definition.
The schema automatically provides the join. This join is not visible in the Object Explorer. This is
similar to the implicit join that exists for a one-to-one extension table. You can also use an implicit
join to update data.
■ Predefined extension column. Included in a predefined extension table for your use. Siebel
CRM names these columns ATTRIB_nn, where nn is a value between 01 and 47. For example,
ATTRIB_13. It is recommended that you do not modify or delete a predefined extension column.
■ Custom extension columns in a base table. Added by a developer to a base table. The
relational database system that you use with Siebel CRM determines if this configuration is
allowed or not allowed. If the database system supports a custom extension column in a base
table, it might be preferable for performance reasons to add it to the base table, rather than to
add it to an extension table. Performance might be affected if you add the extension column to
an extension table, because Siebel CRM generates extra SQL to join the extension table.
Table 10 describes some of the system columns that Siebel CRM commonly uses.
Column Description
ROW_ID Stores a unique, base 36 alphanumeric identifier for the rows in the table.
ROW_ID is present in all tables. It is the typical destination column of a foreign
key relationship from another table. In a predefined data table, the Id field
often represents ROW_ID for use in a join or link. For example, the Id field in
the Account business component represents the ROW_ID column in the
S_ORG_EXT table
For more information, see “Relationship Between a System Field and a System
Column” on page 97.
CREATED_BY Stores the ROW_ID of the S_USER record of the person who created the record.
This is not the user name that the user entered when the user logged in to
Siebel CRM.
LAST_UPD Stores the date of the last update that was performed for the record.
LAST_UPD_BY Stores the ROW_ID of the S_USER record of the person who last updated the
record. This is not the user name that the user entered when the user logged
in to Siebel CRM.
DB_LAST_UPD Stores the date of each record that is updated in the database. DB_LAST_UPD
differs from LAST_UPD. For example, if the user updates a record, the Siebel
CRM updates the LAST_UPD and DB_LAST_UPD columns in the local database.
If the user synchronizes with a Server database, then Siebel CRM only updates
the DB_LAST_UPD column.
PAR_ROW_ID Stores a foreign key to the ROW_ID column of the base table. Siebel CRM
includes the PAR_ROW_ID column in extension tables, file attachment tables,
and tables whose name contains a _T suffix.
■ CREATED
■ CREATED_BY
■ LAST_UPD
■ LAST_UPD_BY
■ ROW_ID
The following columns store the date, time, and user values of the Siebel client. They do not store
the date, time, and user values for the Siebel database:
■ CREATED
■ CREATED_BY
■ LAST_UPD
■ LAST_UPD_BY
The name of the parent table of the user key that contains an _Un suffix designates the user key.
For example, S_PROD_INT_U1. Each user key includes User Key Column child objects that define the
table columns that must include unique values. For example, BU_ID, NAME, and VENDR_OU_ID in
the S_PROD_INT_U1 user key.
A predefined index exists for each predefined user key. This index also takes the form
S_TABLE_NAME_Un.
NOTE: You cannot add or modify a user key in a predefined Siebel table or EIM base table. For help
with remapping data to meet your business requirements, see “Getting Help from Oracle” on
page 196.
Table 11 lists the extension tables and their corresponding EIM interface tables. A party table is a
table that holds party data. Some example party tables include S_CONTACT, S_ORG_EXT, S_USER,
and S_POSTN.
Table 11. S_PARTY Extension Tables and Corresponding EIM Interface Tables
Because the Siebel schema implicitly joins these extension tables to the S_PARTY table, they are
available through the S_PARTY table.
The PARTY_TYPE_CD column of the S_PARTY table supports the following types:
■ AccessGroup
■ Household
■ Organization
■ Person
■ Position
■ UserList
Use the S_PARTY_PER table to create a many-to-many relationship between two party business
components where you must create access control. Records in the S_PARTY_PER table provide data
access rights from the parent to the child parties. However, to maintain a good response time with
a query that is constrained by visibility, you must minimize the number of rows in the S_PARTY_PER
table. Therefore, if you create a many-to-many relationship where you do not require access control,
such as if you create a recursive many-to-many relationship between a party business component
and itself, then use the S_PARTY_REL table.
For example, use the S_PARTY_PER table to create a relationship between the following members:
If you must customize tables in the party model, then you must create an extension table from the
S_PARTY table. For example, S_CONTACT is an extension table of the S_PARTY table. Because the
S_CONTACT table is an Extension (Siebel) type, you cannot use it as a base table for an extension
table. You must create an extension table and use the S_PARTY table as the base table. To display
data from the new extension table, create an explicit join to bring in data from the new extension
table to the business component you are using.
For more information about the party model, see Siebel Security Guide.
■ Extension columns
For more information, see “Options to Use a Predefined One-to-One Extension Table” on page 70 and
“Options to Use a Predefined One-to-Many Extension Table” on page 72.
You can use the Database Designer to can add an extension column to a base table or to create a
new one-to-one extension table. For more information, see “Adding an Extension Column to a Base
Table” on page 243.
■ Stand-alone table
■ Intersection table
For more information, see “Using the New Table Wizard to Create a New Table” on page 240.
You can use the EIM Table Mapping Wizard to map an extension to an interface table. This wizard
allows you to create or associate the new table to the appropriate interface table that uses EIM. You
can generate EIM table mapping objects that import data to tables you define, and you can automate
how Siebel Tools creates an EIM attribute map on an extension column that you add to a base table.
For more information, see Chapter 23, “Transferring Data Between Databases.”
You can use the Dock Object Mapping Wizard to map an extension to a dock object. To support data
synchronization to Remote users, this wizard allows you to associate the new table with a predefined
or custom dock object. For more information, see Chapter 24, “Configuring Dock Objects for Siebel
Remote.”
A one-to-one predefined extension table does not require you to create a new business component
because Siebel CRM implicitly defines this type of table as a join. For more information about implicit
joins, see “How an Extension Table Stores Custom Data” on page 53.
A one-to-one predefined extension table includes an _X suffix, such as S_PROD_INT_X. Siebel CRM
names columns in these tables with ATTRIB_nn, where nn is a value from 01 to 47.
Table 12 lists the different data types in a Siebel extension table and the number of columns of each
data type.
Number 12
Date 10
Varchar(255) 1
Varchar(100) 5
Varchar(50) 10
Varchar(30) 5
Char(1) 4
CAUTION: If a field that Siebel CRM defines references a column, then do not deactivate the field
to use the column for another purpose.
Property Value
4 If the query does not return any Field object definitions, then Siebel CRM does not use the column
in the extension table and it is available.
5 If the query returns one or more object definitions, find another extension column in that table.
To determine which extension columns are currently in use, perform the query again using values
from the following table.
Property Value
Column ATTRIB*
■ Guidelines for Customizing a Base Table or Customizing a One-To-Many Extension Table on page 76
■ Guidelines for Customizing a Foreign Key That Affects Enterprise Integration Manager on page 76
For more information, see “Guidelines for Reusing a Predefined Table” on page 211.
■ Do not modify a predefined base table or the columns of a predefined base table.
■ Do not modify a predefined one-to-one extension table or the column of a predefined one-to-one
extension table. For more information, see “Options to Use a Predefined One-to-One Extension
Table” on page 70.
■ If you must display more data in a list applet, then add extension columns to the base table. If
you must display more data in a form applet, then use extension table columns.
■ The predefined user interface displayed in the Siebel client does not use all the relationships that
are available in the underlying data objects layer. However, most entity relationships are
available for you to use. Use predefined objects in the data objects layer, if possible.
■ To minimize the affect of your changes on other developers, make any bulk changes to the Siebel
schema at the beginning of each project phase. If you make changes during a project phase,
then you must distribute these changes to all remote users. You can use Siebel Anywhere to
distribute a schema change. Otherwise, you must generate a new database extract for each
remote user before you can progress to the next phase.
■ Do not create a column that contains a name that is longer than 18 characters in the DB2
environment.
■ The data objects layer includes over 2,000 database tables. Each of these tables follows a
consistent naming format to help you identify an individual table. For information on naming
formats for tables, see “About Siebel Tables” on page 51.
■ Data (Intersection)
■ Extension
■ You must explicitly grant permissions on any table that you define.
■ Use the New Table Wizard only after you explore other ways of meeting your business
requirements, such as using a predefined extension table.
■ Data table
■ Intersection table
■ Interface table
You cannot add an extension column to a private data table, which is identified with a Type property
of Data (Private). Some interface tables are private, although most are public. Use the following
guidelines if you add a column to a table:
■ Any column you add must conform to the data type limitations of all the RDBMS types that are
used in your enterprise. Consider your server database and any regional or remote databases.
■ In an Oracle database, the maximum length of an extension column with a VARCHAR data type
is 2000 characters. If you create a VARCHAR column that is longer than 2000 characters, then
the Siebel schema automatically implements it as a column with a LONG data type.
■ If you add a new column to a predefined table with one or more rows of data, then the RDBMS
does not allow you to add the column unless you also provide a default value.
■ After you add a column to the physical table, you cannot remove the column. For more
information, see the documentation for your database technology.
■ If you create a new extension column in the Siebel schema, then padding problems might occur
with Siebel Remote. For more information, see Siebel Remote and Replication Manager
Administration Guide.
■ If you add a column to a table, then do not use a column name that includes a word that is
reserved on your server or client database. You can use a reserved word if you use an underscore
(_) at the beginning and end of the word. For more information, see “Naming Format for a Siebel
Table” on page 52.
■ If you create a custom table, then the custom table typically requires new indexes.
■ Use caution if you create an index. A custom index can result in a situation where objects
reference the custom index instead of the predefined indexes. This situation can result in poor
performance.
■ If at some point you no longer require a custom index that you have defined, do not delete it
from the Siebel repository. Instead, to deactivate it, make sure the Inactive property of the index
contains a check mark.
■ You must thoroughly test any custom index in a test environment before you implement it in a
production environment.
■ In a DB2 environment, do not create an index that contains a name that is longer than 18
characters.
■ You can only add a LONG column to a one-to-one extension table whose Base Table property
includes a valid base table.
■ You cannot add a LONG column to a one-to-many extension table because it is a Data (Public)
table.
■ You cannot add a LONG column to a Data (Public) table, such as the S_EVT_ACT table. Only
Oracle can create a LONG column in a Data (Public) table.
■ Querying a LONG column starts more input and output operations in your RDBMS that are not
necessary with other types of column data. This extra input and output slightly increases the time
Siebel CRM requires to retrieve each row of data from the database, which can add up to a
noticeable reduction in performance if Siebel CRM retrieves many rows of data from the
database.
■ For DB2 on z/OS, use a 32K tablespace if 16K is too small. If 32K is too small, then convert the
LONG type to a CLOB type. For more information, see Implementing Siebel Business Applications
on DB2 for z/OS.
■ All columns in a predefined extension table are not available to use because Siebel CRM uses
some of the columns. You must not modify or delete an extension column that Siebel CRM uses.
■ A C++ class might use the extension table in a reserved way. Modifying the table might cause
behavior that you cannot predict.
■ Because an upgrade effort might use the extension table, you cannot predict future use of the
table.
■ Because docking rules use some extension columns, the columns are reserved for use with Siebel
Remote. For more information, see Chapter 24, “Configuring Dock Objects for Siebel Remote.”
■ Use of an extension table affects performance because Siebel CRM must include the table in all
queries that use the field on which Siebel CRM executes the query. This situation can become a
problem if the table is joined to multiple business components, specifically if a number of
extension tables are in use.
■ If you must use a LONG column because the database only permits one LONG column for each
database table.
■ If the implementation of a database constraint is beneficial. For example, to realize the improved
performance that results if maximum bytes in a row are used before record chaining occurs.
■ If you must customize a table whose type is Extension or Extension (Siebel), then you must
extend from the base table of the table, not from the extension table itself. The Base Table
property of the extension table describes which base table to extend. For example, the
S_CONTACT table is an extension table of the S_PARTY table. Because the S_CONTACT table is
an Extension (Siebel) table, you cannot use it as a parent table for an extension table. Instead,
extend the S_PARTY table and use an implicit join to display the data from the extension table.
■ A custom one-to-one extension table does not require new docking rules because the Siebel
schema implicitly routes data in this table according to the docking rules of the parent table.
■ Try to use a predefined one-to-many extension table or column to meet design requirements.
They are predefined and already part of the data objects layer so they do not require modification
of the Siebel schema or the physical database. If a predefined extension table or column is not
available, then explore other options, such as creating a new extension table.
■ Add extension columns to a base table if the data you must store almost always exists for a given
base record and is accessed regularly. By avoiding the join that an extension table uses, this
technique often results in better performance. However, note that it can result in slower access
to the base table if a lot of data exists where numerous large fields are added and where these
fields always contain data. In this situation, fewer rows fit on one page.
NOTE: If a user query regularly includes an extension column, then it is likely that an index is
required on the column that must be included on another base table column. Therefore, you must
add it to the base table.
■ Use columns in a one-to-many extension table if one-to-many extension fields are required, and
if the user only infrequently accesses the view that displays this data. In this situation, Siebel
CRM executes the join for the extension table, but only if the user accesses this view.
You cannot configure EIM to import data to a foreign key column, because you cannot configure the
required EIM object types.
You cannot add an EIM mapping for a foreign key relationship to a table that does not include a user
key.
If you create a new relationship, then there are no Dock Object Visibility rules that allow relevant
data to be downloaded to the local database. This situation might result with a user who cannot view
data. To resolve this problem, you can use a feature of the Docking Wizard to create custom docking
rules for custom foreign keys. You must analyze how your customization affects performance before
you create a new Dock Object Visibility rule or object. This analysis is required to avoid performance
problems with the Transaction Processor and Transaction Router.
If you add a rule, then you might inadvertently add a significant number of database records for
Remote users, which might affect initialization and synchronization performance. An increased
number of records in the Remote database might also affect performance.
For more information about Dock Objects, see “Configuring Dock Objects for Siebel Remote” on
page 581.
This chapter describes business components, business component fields, and joins. It includes the
following topics:
Related Topics
For more information, see the following topics:
Siebel CRM assigns a base table to each predefined business component. The base table for a non-
party business component includes the most important columns that provide data to fields in the
business component. The Table property of the business component references the base table. A
single business component field references a single base table column.
Figure 11 illustrates an example of how fields in the Contact business component reference columns
in the S_CONTACT table.
Figure 11. Example of How Fields in a Business Component Reference Columns in a Base Table
A business component does not always reference all columns in the base table, although typically it
does reference most of them. Implied fields in the business component automatically represent
system columns in the base table, such as ROW_ID, CREATED_BY and LAST_UPD_BY. A system
column does not require a field object definition in the business component.
For more information, see “An Implicit Join Creates a Relationship Between a Base Table and a Business
Component” on page 54.
A joined table provides rows on a one-to-one basis to the business component. The foreign key
relationship between the joined table and the base table of the business component establishes this
basis. For every record in the business component that corresponds to a row in the base table, there
can be a corresponding row in the joined table. However, every record in the base table does not
include a record in the joined table.
Figure 12 illustrates fields in a business component that reference columns in a base table and a
joined table.
Figure 12. How Fields in a Business Component Reference Columns in a Base Table and a Joined
Table
You can also use an external business component (EBC), which is type of business component that
uses ODBC and SQL to supply data. The EBC allows for efficient development of federated data. For
more information, see Integration Platform Technologies: Siebel Enterprise Application Integration.
■ Represent external data as a virtual business component in Siebel CRM. The business component
definition specifies the DLL that Siebel CRM uses to access the data. Data in an SAP/R3 database
is an example of external data.
■ Supports dynamic applet toggles. For more information, see “Options to Toggle Between Applets
in a View” on page 148.
■ Can function as the parent of a link in a one-to-many relationship with another business
component:
■ A virtual business component generates a Siebel row ID in the same way as a predefined
business component.
■ Cannot be docked.
■ Traverse records, which includes moving through the set of records that Siebel CRM returns from
the Siebel database
■ Commit changes
■ Set a bookmark
■ Perform a search
■ Perform a sort
NOTE: Do not change the Class property of a predefined business component. If you copy a
predefined business component to create a business component, then do not change the class
property.
■ If the name is the same for multiple accounts, then sort the records that contain the same name
according to the Account Location.
■ If the Sort Specification property is empty, then Siebel CRM returns the records in the order in
which they occur in the table.
■ If a predefined query exists, then it might override a sort specification that is defined on a
business component.
■ A sort specification can result in a negative effect on performance if Siebel CRM executes a sort
on one of the following fields:
■ Siebel CRM always displays empty records at the top of the record set if a sort specification is
placed on a field that contains empty values.
■ You can sort values in a static list or pick applet differently than the default sort for the underlying
business component. For more information, see “Creating a Sort Specification for a Static List” on
page 458.
■ Sorts on the initial value of the multi-value field. You must only use this configuration if the multi-
value group references a primary foreign key.
■ Does not sort the records in the underlying multi-value group. To sort the records of the
underlying multi-value group, you must create a sort specification in the child business
component of the multi-value link.
For more information, see “About the Multi-Value Field” on page 106.
■ Y
■ N
■ NULL
If a sort specification references a check box field, and if you define the sort in descending order,
then Siebel CRM returns the records in the following order:
■ NULL
■ Y
■ N
You can use the All Mode Sort business component user prop to force Siebel CRM to use a custom
sort specification or to ignore all sort specifications. For more information, see Siebel Developer’s
Reference.
The exception to this requirement occurs if you require multiple variations of the same business
component or applet. A multiple variation might be necessary if you display a specific entity as a top
level applet and as a child applet on other views, and if the two applets are not the same. In this
situation, place the name of the parent entity at the beginning of the name of the child applet. For
example, the ABC Account Contact List Applet is a contact list that displays as the child of an account.
It requires the word Account to distinguish itself from the predefined ABC Contact List Applet, which
is a different applet.
■ Create a true copy of the original business component that contains the same functionality.
For example, create a Locked Service Requests business component that displays only those service
requests that are locked. To do this, you use a business component user prop:
■ Copy the Service Request business component, then reference the CSSBCServiceRequest
specialized class from this new business component.
■ Create a search specification for the business component that retrieves only those service
requests that contain the conditions. For more information, see “Options to Filter Data Displayed
in an Applet” on page 126.
The underlying behavior of the new business component remains the same as the original business
component. Avoid copying a specialized business component to reproduce an isolated feature that is
associated with that business component.
■ The fields you use in a sort specification must be child objects of the business component.
■ To indicate that a field in the list sorts in descending order, include (DESCENDING) or (DESC)
after the field name. For example, Start Date (DESCENDING). If you do not create a sort order,
then Siebel CRM uses ascending order.
■ Do not enclose the field name in square brackets. For example, [Account Name]. Siebel CRM
accepts brackets in a search specification, but not in a sort specification. For more information,
see “Options to Filter Data Displayed in an Applet” on page 126.
■ You must not delete, deactivate, rename, or modify any predefined object that is not used. Do
not delete these objects because other objects might reference them.
■ You can delete any custom business component you create that Siebel CRM does not use and
that does not reference any other object that Siebel CRM uses, such as an applet.
■ How Siebel CRM Defines Read-Only Behavior for a Business Component Field on page 93
■ Information from a database column that the field obtains from a table column. The column can
reside in the base table, an extension table, or a joined table of the business component.
■ A calculated value that Siebel CRM derives from the values in other fields but that it does not
store in the Siebel database. For more information, see “How a Business Component Field
Calculates a Value” on page 90.
Table 13. Examples of How a Business Component Field Provides Data to a Control or List Column
in an Applet
Data in This Business Component Provides Data to This Applet Control or List
Field Column
Name field of the Opportunity business Name control of the Opportunity Form Applet - Child
component.
Account field of the Opportunity business Account control of the Opportunity Form Applet - Child
component.
Primary Revenue Amount field of the Revenue control of the Opportunity Form Applet - Child
Opportunity business component.
Name field of the Account business Name list column of the Account List Applet
component.
Main Phone Number field of the Account Main Phone Number list column of the Account List
business component. Applet
Figure 14 illustrates how properties of a business component field and an applet reference each other
when referenced from a form applet in comparison to a list applet. If a business component field is
not a calculated field, then the Join and Column properties together define the table and column from
which Siebel CRM obtains the data for the field. For more information, see “An Implicit Join Creates
a Relationship Between a Base Table and a Business Component” on page 54.
Figure 14. Comparison Between How a Form Applet and a List Applet Reference a Business
Component
The following properties of a business component field and an applet reference each other:
1 Field property of a control. The Field property of a control references a business component
field.
2 Field property of a list column. The Field property of a list column references a business
component field.
3 Business Component property. The Business Component property of an applet references the
business component.
Just as the data type of the underlying table column restricts the set of field data types that work
correctly, the data type of a business component field restricts the set of format options in the control
or list column that reference the field.
It is recommended that you do not map a field to a different table column type. For example, do not
map a DTYPE_NUMBER business component field to a Varchar table column.
Most formats are defaulted from the Microsoft Windows Control Panel. Overriding the default format
in the Siebel repository but might cause confusion. For example, overriding a number format to
display more or fewer decimal places is useful, but overriding a date format to DD/MM/YY is
confusing to a user who set the date format to MM/DD/YY in the Control Panel. For more information,
see “How Siebel CRM Handles Certain Date Formats” on page 681.
The Type property of a multi-value field is empty because Siebel CRM defines the data type of the
field in the child business component that enters data in the multi-value field. For more information,
see “About the Multi-Value Field” on page 106.
The Calculated Value property contains an expression built from field names, predefined functions,
and string, numeric, and logical operators. For example, the Full Name field in the Contact business
component includes the following value in the Calculated Value property:
■ If the active client language is Japanese, then construct the Full Name from the Last Name, an
empty space, and the First Name.
■ If the active client language is not Japanese, then construct the Full Name from the First Name,
an empty space, and the Last Name.
■ By default, if the calculated value of a field changes, then Siebel CRM does not automatically
refresh the calculated field. Siebel CRM only refreshes a calculated field after Siebel CRM commits
the record. You can make sure the Immediate Post Changes property of the field contains a check
mark to refresh the field immediately after Siebel CRM changes the field.
■ A calculated field cannot reference itself in the Calculated Value property. For example, you
cannot use Last Name in a calculation expression for the Last Name field.
■ If the Cache Data property of the business component contains a check mark, then Siebel CRM
does not support a query on a calculated field in that business component.
■ When Siebel CRM generates a new record, the initial sequence number is the maximum sequence
number of the existing child records, incremented by one.
■ Siebel CRM does not renumber records to resolve the gap that results when Siebel CRM deletes
a record. The user must perform this work manually.
For more information, see “Determining How a Business Component Sequences Records” on page 251.
1 Parent business component. The business component that contains the parent records in the
parent-child relationship in which the child records are numbered. For example, the Opportunity
business component is the parent in the parent-child relationship with Opportunity Product.
2 Numbered business component. The business component that contains the child records in
the parent-child relationship. For example, the Opportunity Product business component is the
detail in the parent-child relationship with Opportunity. The numbered business component
includes the following important child object definitions:
■ Sequence value field. A DTYPE_NUMBER field that contains the resulting sequence value.
Line Number and Order are examples of a sequence value field.
■ Business component user prop. The Sequence Field business component user prop must
be present, with the Value property set to the name of the sequence value field.
where:
It references the CSSSequence specialized class, and it contains the following fields:
■ Foreign key field. A foreign key field that references a foreign key column in the detail
table. The foreign key column references the primary key of the base table of the parent
business component. You can use it to create the link between the parent business
component and the sequence business component.
4 Detail table. The base table for the numbered business component and the sequence business
component.
5 Main link. The parent-child relationship between the parent business component and the
numbered business component. This link is usually predefined, such as Opportunity or
Opportunity Product.
6 Sequence link. The parent-child relationship between the parent business component and the
sequence business component. You must usually add this link, except when a predefined Siebel
application includes the sequence configuration. Opportunity and Opportunity Product.Line
Number (Sequence) are examples of a link to a sequence business component.
7 Business Object. Includes the main link and the sequence link.
TIP: You can view an example configuration of a sequence field in a predefined Siebel application
in Siebel Tools. For example, examine the Sales Assessment Attribute numbered business
component, and the Sales Assessment Attribute Value.Order (Sequence) sequence business
component.
■ How the Field Read Only Field User Property Functions on page 95
■ How the Parent Read Only Field User Property Functions on page 95
■ How the Parent Read Only Field: <business component name> User Property Functions on page 96
■ Guidelines for Using a Business Component User Prop with the Admin Mode Property on page 97
You can turn on or turn off the read-only status of a business component or business component
field while Siebel CRM is running, depending on the value in a specific field in the current record. For
more information, see “Example of Defining Read-Only Behavior for a Business Component” on
page 253.
Table 14 describes the business component user props that you can use to define read-only behavior.
For more information about user properties, see Siebel Developer’s Reference.
Table 14. Business Component User Props That You Can Use to Define Read-Only Behavior
Field Read Only Field: fieldname Defines a TRUE or FALSE test field and a target field in the
same business component. If TRUE, then the target field is
read-only.
For more information, see “How the Field Read Only Field User
Property Functions” on page 95.
Parent Read Only Field Defines a TRUE or FALSE test on a field in the parent business
component. If TRUE, then the target business component is
read-only. For more information, see “How the Parent Read
Only Field User Property Functions” on page 95.
Parent Read Only Field: <business Defines a TRUE or FALSE test on a field in the parent business
component name> component. This functions similar to the Parent Read Only
Field business component user prop, except the parent
business component is in the name of the user property,
rather than in the value. For more information, see “How the
Parent Read Only Field: <business component name> User
Property Functions” on page 96.
The BC Read Only Field user property includes the following important properties:
■ Value. Contains the name of a field in the parent business component of this business
component user prop. This field must be a TRUE or FALSE field.
The Field Read Only Field user property includes the following important properties:
where:
For example:
You must include only a single space between the colon and the field name.
■ Value. Contains the name of the test field. This is a TRUE or FALSE field in the parent business
component of the user property.
You must create one Field Read Only Field user property for each field that you must make
conditionally read-only.
You use the Parent Read Only Field user property to accomplish the following:
■ Restrict the child records that Siebel CRM includes in a multi-value group.
■ Restrict the child records in a master-detail view. You must make sure that Siebel CRM does not
also use the restricted business component in the context of some other business object.
The Parent Read Only Field user property includes the following important properties:
where:
■ business component name is the name of the business component in which the test field is
located. For example, Account.Inactive Account.
■ field name is the name of the test field. This is the TRUE or FALSE field that Siebel CRM
evaluates.
You add the user property as a child of the business component that is conditionally restricted. The
business component that contains the test field must be a parent of the restricted business
component through a link or through a series of link relationships.
NOTE: If you use the Parent Read Only Field user property, then the value of the Link Specification
property of the test field must be TRUE. Otherwise, the dynamic read-only functionality does not
work. However, if the child record displays in the multi-value field in the parent business component,
then the Link Specification property of the field does not have to equal TRUE.
This configuration causes the Account Address Mvg Applet to be read-only if the account record is
for a competitor.
How the Parent Read Only Field: <business component name> User
Property Functions
The Parent Read Only Field: <business component name> user property allows a child business
component to perform a TRUE or FALSE test on multiple parent business components. The behavior
of the Parent Read Only Field:<business component name> user property is similar to the behavior
of the Parent Read Only Field user property. However, the name rather than the value specifies the
parent business component. If the calculated value of the field is TRUE or Y, then the child business
component is read-only. For more information, see Siebel Developer’s Reference.
Guidelines for Using a Business Component User Prop with the Admin
Mode Property
Do not use a business component user prop with an applet that resides in a view where the Admin
Mode Flag property of the view contains a check mark. If Admin Mode Flag contains a check mark,
then Siebel CRM turns off all insert and update restrictions for the business components that the view
uses, including those that the business component user prop defines. Siebel CRM ignores the Sales
Rep and Personal visibility modes of the business component. Records that do not include a primary
team member are also visible. However, Siebel CRM does not override pop-up visibility.
You must only set the Admin Mode Flag property to contain a check mark in a view that is part of a
screen that contains only administration views. Do not use the Admin Mode Flag property for a view
in a screen that contains any views that are not administration views. You can create a list view
where the Admin Mode Flag property contains a check mark if this list view drills down to a detail
view that is not marked as an administration view. This technique allows you to share a detail view
with a list view that is not an administration view.
CAUTION: All views and drilldowns in a screen that is granted Admin Mode behave in Admin Mode
due to their subordinate relationship to the screen. If a view is a child of a screen that is in Admin
Mode, and if the Admin Mode flag for the view does not contain a check mark, then Siebel CRM still
displays the view in Admin Mode.
NOTE: Do not change a system field. For example, by renaming it. Siebel CRM does not support
changing a system field.
For more information, see “System Columns of a Siebel Table” on page 66, and.“Displaying a System
Field in an Applet” on page 340.
You must not explicitly create a system field for a business component. If you create a business
component field that references a system column, then Siebel CRM attempts to write a value to the
column twice in the insert statement, which causes a duplicate column SQL error.
Table 15 describes the relationship between a system field and a system column. Because each field
is predefined, you do not explicitly define it. You can reference a system field in the Field property
of a control, list column, or other object, even though the field does not display in the Business
Components list in Siebel Tools.
Id (or empty) ROW_ID Stores the primary key for the table.
Created CREATED Stores the date and time of when the row was created.
Created By CREATED_BY Stores the ROW_ID of the row from the S_USER table that
references the person who created the record.
Updated LAST_UPD Stores the date of the most recent update that was performed
on the row.
Updated By LAST_UPD_BY Stores the ROW_ID of the row from the S_USER table that
references the person who last updated the record.
(varies) DB_LAST_UPD Stores the date of the most recent update that was performed
on the row in the Siebel database. The system field name
varies.
■ Do not use parentheses in a field name. If you perform a query on a field name that contains
parentheses, then you might receive an SQL error because SQL expects a valid SQL expression
within the parentheses.
■ Apply the following requirements if each field is the only such field in the business component:
If there are multiple instances of a similar field, then prefix each field with the name of the
corresponding Amount column. For example, Revenue Currency Code for revenue, or Budget
Currency Code for budgets. The reason for this technique is that other fields reference these
fields when you define the Currency Code Field property and the Exchange Date field. This
technique makes sure Siebel CRM can understand the reference.
■ For a link, you must name the URL field URL. You must set the class of the Business Component
to CSSBCBase.
About Joins
A join establishes a relationship between a business component and a table that is not the base table
of the business component. For more information, see “Join” on page 34.
To observe how a join works, in the Siebel client, navigate to the Service Request screen, and then
examine the Service Request List Applet. This applet includes the Account field. A join brings the
Account field to the Service Request business component and the Service Request List Applet
displays the data in the Siebel client.
Figure 16 illustrates how a foreign key column in the detail table defines the parent-child relationship.
Multiple rows in the detail table include the same foreign key value that references back to the same
row in the parent table. After you create a join, you can define more fields in the business component
that reference columns in the joined table.
NOTE: You can use a joined field as the Source Field on the join specification. For example, if you
must join grandparent data through the parent ID field on the parent business component.
For more information about implicit joins, see “How an Extension Table Stores Custom Data” on
page 53.
1 Business Component. The business component is the parent of the join. Because of the join,
a field in the business component that is joined can represent a column from the joined table.
2 Joined field. A joined field is a field in a business component that represents a column from a
table other than the base table of the business component. For more information, see “How Siebel
CRM Uses a Joined Field” on page 101.
3 Join. A join is a child of the business component. The join uniquely identifies a join relationship
for the parent business component and provides the name of the joined table. The Table property
of the join identifies the joined table. The join includes a child join constraint, which is an object
type that contains a constant value search specification that Siebel CRM applies to a column
during a join. Siebel CRM uses it with an outer join. For more information, see “Options to Filter
Data Displayed in an Applet” on page 126.
NOTE: If Siebel CRM must retrieve all records in the business component even if the joined fields
are empty, then you must make sure the Outer Join Flag contains a check mark.
4 Join Specification. The join specification is a child of the join. It identifies the foreign key field
in the business component and the primary key column in the joined table. For more information,
see “How Siebel CRM Uses the Join Specification” on page 101.
5 Foreign key field and foreign key column. The Source Field property of the join specification
identifies the foreign key field. It represents a foreign key column in the base table, and it
references rows in a specific table that Siebel CRM uses in a join. For example, in the Contact
business component, the foreign key field to the join on accounts data is the Account Id field,
which represents the PR_DEPT_OU_ID column in the base table.
6 Joined table. The joined table is the parent table in the parent-child relationship. It provides
columns to the business component through the join. The Table property of the join identifies
the joined table.
7 Primary key column. The Destination Column property of the join specification identifies the
primary key column in the joined table. Tables in Siebel CRM include a ROW_ID column that
uniquely identifies rows in the table. ROW_ID is the destination in most joins.
8 Mapped column. Columns in the joined table are available for use in fields in the business
component.
The Destination Column property identifies the primary key column in the joined table. If the join
occurs on a column other than ROW_ID, then the Destination Column property must not be empty.
An empty value in the Destination Column property indicates that the destination column is ROW_ID,
which is typically the primary key in a table.
In rare situations, multiple join specifications can exist in a single join. For example, the Sub
Campaign business component includes a join to the S_LANG table with two join specifications. In
these situations, the source fields in the join specifications must reference the same table. For more
information, see “Join Specification” on page 34.
For example, in Siebel CRM, there is a many-to-many relationship between the Service Request and
Organization business components. The link between these business components is Service Request/
Organization, and the link uses the S_SRV_REQ_BU table as the intersection table. In the Service
Request business component, you can add a join to the S_SRV_REQ_BU table and a related joined
field. If you query the business component to retrieve a service request, then the SELECT statement
retrieves all the organizations that are associated with the service request. However, Siebel CRM
displays only one service request record in the Siebel client. To view all the organizations that are
associated with the service request, the user can open the multi-value group applet that references
the Organization business component.
For more information, see “Guidelines for Naming an Object” on page 197.
■ Only use a join if the join retrieves no records or only one record. For example, use a join to
retrieve the primary Account for an Opportunity.
■ Only create a join if the business component does not already include a join to a specific table
that includes the data you require, and if a foreign key value exists between the base table of
the business component and the joined table.
■ Only create a join if the foreign key value is stored in a field that is not already defined as a
source in a predefined join.
■ If you use the Alias property to create an alias for each join, then a business component can
include more than one join that references the same destination table. For example, the Action
business component includes two joins that reference the S_CONTACT table. The Owner join
retrieves the person who created the activity. The Primary Contact join retrieves the contact that
is associated with the activity.
■ Make sure the Alias property of the join is unique even though the destination table is the same.
Do not use the table name as the Alias name, even though this is common in the predefined
Siebel repository. An implicit join uses the table name as the Alias to make sure that the name
of the explicit join is not used. To make sure that no conflict exists, you must always create a
unique alias name for the join.
Guidelines for Creating a Join That Does or Does Not Involve a Party
Table
If you create a join that does or does not involve a party table, the use the following guidelines:
■ If you bring party data to a non-party business component, then create a new join where the
join specification references PAR_ROW_ID.
■ If you bring party data to a party business component, then use the appropriate explicit join.
■ If you map fields in a party business component, then use the implicit join for the extension table.
■ If a join references a table that is a party table, then you must display the foreign key value as
the source field. However, unlike a join to a table that is not a party table, the destination column
must reference the PAR_ROW_ID column in the joined table.
■ If a join references a table that is not a party table, then you can update only the column that
the field in the parent business component that contains the foreign key value references. You
must define the following objects:
■ The join specification. The source field property must reference the parent business
component that stores the foreign key value. The destination column property must
reference the child table, which is usually ROW_ID.
For more information, see “How the S_Party Table Controls Access” on page 68.
A multi-value link is a child object of a business component. It describes the link that provides field
values from the child business component that the multi-value group applet references. The multi-
value link fulfills the following roles:
■ Defines the parent-child relationship Siebel CRM uses to display fields from the child business
component directly in the parent business component.
■ Provides a field in the parent business component with access to the values in the primary record
of a multi-value group.
A parent-child relationship exists between the business component that the originating applet
references and the business component that the multi-value group applet references. A link defines
this parent-child relationship. The relationship between the two business components is one-to-
many in the context of the multi-value link and multi-value group. A many-to-many relationship can
also exist. For example, between opportunities and positions. However, in the context of the multi-
value group, only one parent-child relationship is presented.
For more information, see “Multi-Value Group, Multi-Value Link, and Multi-Value Group Applet” on
page 35.
Siebel CRM uses the following objects to construct a direct multi-value link:
1 Parent business component. The parent in the parent-child relationship that is defined in the
link. Siebel CRM displays fields from this business component in the applet from which the user
opens the multi-value group applet. In “Viewing an Example of a Multi-Value Group Applet” on
page 472, the Account business component is the parent from which Siebel CRM opens the
Account Address Mvg Applet.
2 Multi-value fields. For more information, see “About the Multi-Value Field” on page 106.
3 Source field. Defines the primary key in the parent business component that uniquely identifies
records in the business component. It typically represents the ROW_ID column from the base
table of the business component, and fulfills the role of the primary key field. If the Source Field
property is empty, then the source field references the ROW_ID column.
4 Multi-value link. Defines the relationship between the link and fields in the parent business
component.
5 Link. Defines a parent-child relationship between the parent business component and the child
business component. You can use the link in multiple ways, such as with a master-detail view or
another multi-value link. In “Viewing an Example of a Multi-Value Group Applet” on page 472, the
name of the link is Account/Business Address.
6 Child business component. Supplies the child records in the parent-child relationship. It is the
business component that contains the records that constitute a multi-value group. In “Viewing
an Example of a Multi-Value Group Applet” on page 472, this is the Business Address business
component.
NOTE: Do not use the Calendar business component as the parent or child business component
in a link.
7 Destination field. Contains row ID values that reference back to records in the parent business
component and uniquely identify the parent for each child business component record. The link
identifies the foreign key field in the Destination Field property. In “Viewing an Example of a Multi-
Value Group Applet” on page 472, the foreign key field is Account Id. For more information, see
“About the Destination Field” on page 105.
NOTE: No foreign key field is defined in a link that references an intersection table.
8 Primary ID Field. Identifies the foreign key field in the parent business component. For more
information, see “About the Primary ID Field” on page 106.
9 Destination Link. Identifies the link that defines the parent-child relationship between the
parent business component and the child business component.
The Destination Field property must contain the name of a field in the base table of the business
component that does not reference a join, and this field must be updated. The exception to this
requirement occurs if a link references an intersection table, which is indicated if the Inter Table,
Inter Parent Column, and Inter Child Column properties are not empty. In this situation, the Source
Field and Destination Field properties are not defined.
If you add a record to the child business component in a link, then Siebel CRM automatically
initializes a link destination field. You can create a source field for a many-to-many link. The
destination always defaults to Id, even if you create another value.
■ Contains the row ID value of the primary record for each record of the multi-value group in the
child business component.
■ Identifies the field in the child business component that designates which record is the primary.
For more information, see “Improving Performance by Defining the Primary ID Field of a Multi-Value
Link” on page 562 and “Determining If You Can Reuse a Predefined Business Component Field” on
page 223.
NOTE: If you must query the parent applet for all parent records that contain a child record that
holds a specific field value, then you must use a multi-value field.
Property Description
Multi Value Link Identifies the multi-value link that provides values through the link from the
child business component. A multi-value field in the parent business
component contains data that Siebel CRM derives from the current record in
the child business component through the multi-value link and link. The
Column property of a multi-value field is empty because Siebel CRM obtains
values from the current record in the child business component rather than
from the base table of the parent business component.
Field Identifies the field in the parent business component that provides values for
the field in the child business component. Siebel CRM provides these values
through the multi-value link object type and the link object type.
In “Viewing an Example of a Multi-Value Group Applet” on page 472, the Street Address multi-value
field in the Account parent business component contains data from the primary record of the multi-
value field in the child business component.
For more information, see “How Siebel CRM Sorts a Multi-Value Field” on page 85 and “Activating a
Multi-Value Field” on page 257.
Siebel CRM uses the following objects to construct an indirect multi-value link:
1 Joined business component. Fulfills the child role in a parent-child relationship with the parent
business component in the link. Siebel CRM establishes the indirect multi-value link as a child of
the join business component.
2 Multi-value fields. For more information, see “About the Multi-Value Field” on page 106.
3 Multi-Value link. The multi-value link uses the following properties to create the relationship
between the link and fields in the parent business component:
■ Primary Id Field property. Identifies the field from the business component to which the
multi-value link belongs. For more information, see “About the Primary ID Field” on page 106.
4 Joined field. In a multi-value link, the Source Field property of the multi-value link is empty. In
an indirect multi-value link, the Source Field property defines a joined field in the same business
component as the multi-value link. The joined field represents the ROW_ID column from the base
table of the parent business component. Siebel CRM obtains the ROW_ID column through a join.
NOTE: Do not use a column other than ROW_ID. If you use a column other than ROW_ID, then
you might experience unpredictable application behavior.
5 Join and join specification. Provides a way to bring data into the joined field. For more
information, see “About Joins” on page 99.
6 Foreign key field in the joined business component. Represents a foreign key column in the
base table. The foreign key field references rows in the joined table. In this situation, this table
is the base table of the parent business component. Siebel CRM uses the foreign key field to
create the join.
7 Base table. The join, join specification, and foreign key field in the join business component
access the base table of the parent business component. This makes possible a join relationship
that provides a parent business component record and, indirectly, a set of child business
component records for each join business component record.
8 Child business component. Supplies the child records in the parent-child relationship.
9 Primary ID Field. Identifies the foreign key field in the parent business component. For more
information, see “About the Primary ID Field” on page 106.
10 Foreign key field in the child business component. Contains row ID values that reference
back to records in the parent business component. These row ID values uniquely identify the
parent for each record in the child business component.
11 Link. Specifies the parent-child relationship between the parent business component and the
child business component.
12 Parent business component. The parent in the parent-child relationship that is defined in the
link.
13 Key field. The primary key for the parent business component.
Table 17. Example of How Siebel CRM Constructs an Indirect Multi-Value Link
Join S_ORG_EXT
The parent business component of a multi-value link is usually the same as the business component
in which the multi-value link is defined. However, you can use the Source Field property of the link
to create a multi-value link whose parent business component is related to the current business
component indirectly through a join or another multi-value link.
For example, Table 18 lists some of the properties that are defined for the Business Address multi-
value link in the Account business component.
Table 18. Properties of the Business Address Multi-Value Link in the Account Business Component
Property Value
The Destination Link property indicates that this multi-value link references the Account/Business
Address link. Table 19 lists some of the properties that are defined for the Account/Business Address
link.
Property Value
The parent business component of the Account/Business Address link is the Account business
component, which is also the business component in which the multi-value link is defined. To update
the multi-value group applet, Siebel CRM uses data from the children business address records for
the account record that is currently chosen in the Account business component.
About Links
A link defines a one-to-many relationship between two business components. For more information,
see “Link” on page 35, and “How Siebel CRM Handles a Hierarchy of Search Specifications” on page 128.
A link that Siebel CRM uses with a business object includes the following objects:
1 Link. In a master-detail view, Siebel CRM incorporates a link into a business object to establish
the parent-child relationship. This relationship applies to any use of the two business components
in the context of the business object.
2 View. Each view references the business object that it uses in the Business Object property of
the view. This configuration forces the view to operate as a master-detail view, as defined in the
link, without more configuration of the view. For more information, see “About Views” on
page 137.
■ Always. Allows visibility rules in the child records when the current master-detail view
references this link. This situation is true even if the Visibility Applet and Visibility Applet Type
properties of the view are not defined.
■ Never. Disables visibility rules in the child records if the current view references this link.
This chapter describes business objects and how to configure them. It includes the following topics:
Figure 21 illustrates an example of how a business object groups business components into a logical
unit. For example, the Opportunity business object groups together the Opportunity, Contact, and
other business components.
Figure 21. How The Opportunity Business Object Groups Business Components
Each business object includes one business component that serves as the parent business
component. In Figure 21 the parent business component is Opportunity. A link establishes a
relationship between the parent business component and other child business components, such as
Contact and Product. For example, the link allows the business object to display products that are
related to an opportunity or contacts that are related to an opportunity.
Siebel CRM derives the data for each of these views from the Opportunity business component.
Therefore, the Siebel schema groups views that derive most of their data from an opportunity into
the Opportunity screen. Because views in a screen usually derive their data through the same
business object, a screen is indirectly related to the business object.
Figure 22 illustrates the relationships and objects that Siebel CRM uses with a business object,
screen, and view.
Figure 22. Relationships and Objects That Siebel CRM Uses with a Business Object, Screen, and
View
A one-to-one relationship usually exists between a screen and a business object. A view references
a business object through a formal property of the view. However, a screen does not reference a
business object through a formal property. An informal relationship exists between a business object
and a screen. Siebel CRM applies desired design principles to establish this informal relationship.
Siebel Tools does not formally enforce this relationship. In general, all the views in a screen are
informally related to the same business object.
NOTE: Not all business components that a business object references participate in a parent-child
relationship. A business object can reference a business component that is not part of the business
model.
Multiple business objects can reference a business component or a link. For example, two business
components can each possess a one-to-many relationship in one business object, but can also
possess a many-to-one relationship or no relationship in another business object. However, in the
context of one business object, there is an unambiguous set of relationships between the business
components that a business object references.
To implement a view that displays a many-to-one relationship between contacts and an opportunity,
where many contact child records are related to one parent opportunity, a view references the
Opportunity business object. To view this relationship in the Siebel client, navigate to the
Opportunities List, drill down on the Opportunity Name field, and then click the Contacts view tab.
Siebel CRM uses the following objects and properties to construct a business object:
1 Business object. The parent for multiple business object components. Each business object
component specifies a parent-child relationship. A view references the business object in the
Business Object property of the view.
2 Business object component. A child object of the business object. Typically, each business
object component defines one parent-child relationship in the parent business object. The Link
property and the Business Component property of the business object component establish this
relationship.
4 Business Component property. Identifies the child business component. You can use a
business object component to reference a business component in the business object without
using a link. To accomplish this, you make sure the value in the Link property of the business
object component is empty. This technique allows you to incorporate a business component in
the business object for use in a view that references the business object, even though the
business component does not possess a one-to-many relationship with another business
component in the context of that business object.
5 Link. Each business object component references one link. The link specifies the parent-child
relationship that is included in the business object. For more information, see “About Links” on
page 111.
6 Parent business component. The one in the one-to-many relationship that is defined in the
link. The Parent Business Component property of the link specifies the parent business
component.
7 Child business component. The many in the one-to-many relationship that is defined in the
link. The child business component is defined in the following properties:
■ You require a new screen that groups several new business components together.
■ You require a group of predefined business components that a predefined business object does
not already support.
■ You can include a business component only one time in each business object.
■ You can link a business component to only one other business component in the business object.
For more information, see “An Applet Can Only Be Linked to One Other Applet in a View” on
page 118.
■ If you create a new business component to support an administration or system activity, then
you do not need to create a new business object. Make sure the new business component is part
of the predefined business object that Siebel CRM uses to support administration views, then
assign the view to the Marketing Administration or System Administration screen.
■ Delete any custom business object that is not used and that does not reference any other object
definition, such as a view.
■ Because other objects might reference an unused business object, do not delete, deactivate, or
rename any predefined business object that is not used.
■ If the business component can be linked to more than one business component in the business
object. For example, in the Opportunity business object, the Action business component can be
linked to the Opportunity, Account, or Contact business component.
■ If the relationship between the parent business component and the child business component is
a many–to–many relationship and where either business component can be the parent. For
example, in the Opportunity business object, a relationship exists between the Opportunity
business component and the Contact business component. Because either business component
can be the parent, you can define the configuration so that Siebel CRM uses the Opportunity/
Contact link. This configuration makes sure the Opportunity business object is the parent.
If you do not define the Link property, then Siebel Tools uses the Parent Business Component/Child
Business Component link as a default. Siebel Tools sets the following properties for this link:
■ The Parent Business Component property is the name of the source business object.
■ The Child Business Component property is the value of the destination business component
property.
If Siebel Tools cannot find a suitable link, then Siebel Tools displays the business component without
a link to any other business component in the parent business object. In this situation, Siebel CRM
displays all records that satisfy the search specification of the business component that are
independent of the parent business component. This situation could create a problem because the
user might not realize that the values in the child business component are not directly related to the
parent business component. In reality, these values represent all data for the child business
component. Therefore, if you must display records that possess a parent-child relationship, then you
must enter a value for all links. For more information, see “Options to Filter Data Displayed in an
Applet” on page 126.
For example, to display contacts that are related to an opportunity, a business object component that
references the Contact business component must be defined as part of the Opportunity business
object. To display the Contacts that are related to an Account, a business object component that
references the Contact business component must be defined as part of the Account business object.
For more information, see “Guidelines for Naming an Object” on page 197.
This chapter describes applets, controls and list columns. It includes the following topics:
This topic describes the form applet and list applet, which are the most common types of applets.
There are many other types of applets. Some of the properties and concepts that the form applet
and list applet use are also found in other types of applets. For more information, see the following
topics:
The applet user property allows you to define functionality beyond what is available as part of the
applet class. For more information, see Siebel Developer’s Reference.
■ Provides a complete view of a record and are useful for data entry because the user can access
all the necessary fields at once.
Figure 24 illustrates how Siebel CRM constructs a form applet. For more information, see “Hierarchy
of Object Types and Relationships” on page 36.
1 Control. Defines controls on the applet, such as a text box, check box, button, or link. For more
information, see “About Applet Controls and List Columns” on page 121.
2 Applet web template. Associates an applet to a web template. A web template determines the
layout and format of the applet when Siebel CRM renders the applet in the Siebel client. To
display an applet in a different mode, you create an applet web template for each mode. For more
information, see “About Siebel Web Templates” on page 151 and “Options to Control How the User
Creates, Edits, Queries, and Deletes CRM Data” on page 124.
3 Applet web template item. A child object of an applet web template. It references a control
and identifies a placeholder tag or location in a web template. The placeholder determines where
the control is located in the Web page. If you use the Applet Layout Editor to drag and drop a
control on to a web template, or if you use an applet wizard to create an applet, then Siebel Tools
automatically creates an applet web template item.
For more information, see “How a Business Component Field Provides Data to a Control or List Column
of an Applet” on page 88 and Siebel Object Types Reference.
■ Uses multiple columns to present data in table format. Each row of the table represents a record
from the business component that the applet references.
■ Allows the user to scroll through multiple records of data and view several fields for each record.
■ A list column establishes a relationship between the business component field and the applet web
template item.
Figure 25 illustrates how Siebel CRM constructs a list applet. Siebel CRM constructs a list applet in a
way that is similar to how it constructs a form applet. For more information, see “How Siebel CRM
Constructs a Form Applet” on page 119. For background information, see “Hierarchy of Object Types
and Relationships” on page 36.
a
1 List. Includes properties that affect the list. It serves as a parent object for all the list columns
in the applet. A list applet includes one list object definition, named List.
2 List column. Identifies one column in the list. It references one field in the business component.
For more information, see “About Applet Controls and List Columns” on page 121.
A list column is an object type that identifies one column in the list. It references one field in the
business component. The user enters data in a list applet in a cell that is at the intersection of a row
and list column. A cell in a different list column can function in a different way, depending on the
properties of the list column of the cell. The following examples describe cell behavior that references
the properties of a list column:
■ A cell can function similar to a text control in a form applet. This type of cell allows the user to
view and edit text, numeric data, a date, or a currency. If the list column is not read-only, then
the user can click the cell to edit the text.
■ A cell can function in a way that is similar to how a check box control functions in a form applet.
A check mark in the check box indicates that the value for the check box is TRUE. An empty check
box indicates that the value for the check box is FALSE. If TRUE, then a check box in a list column
contains a check mark symbol, and a check box in a control in a form applet contains an X
symbol.
■ A cell that contains underlined, colored text is a drilldown field. For more information, see
“Options to Drill Down to Another View” on page 145.
NOTE: A form applet uses the control object type to display Siebel CRM data in the applet. A list
applet uses the list column object type to display Siebel CRM data in an applet.
For more information, see “How a Business Component Field Provides Data to a Control or List Column
of an Applet” on page 88.
You use the New Applet Wizard to create controls and list columns for a new applet. For a predefined
applet, you use the Applet Layout Editor to add, remove, or modify a control or list column. For more
information, see “Adding a Control or List Column to an Applet Layout” on page 361 and “Adding a
Control or List Column to an Applet Layout” on page 361.
You must set the Runtime property of the button to TRUE. If the Runtime property is FALSE, then
Siebel CRM does not execute the method.
You can define the appearance and functionality of a minibutton in the CCHtmlType.swf file, which is
located in the WEBTMPL folder of your Siebel installation folder. For more information, see
“Customizing an HTML Control Type” on page 534.
For more information, see “Improving Performance by Using Declarative Configuration to Enable a
Button” on page 564.
■ Allows the user to enter and edit text. If a text control or list column is read-only, then the user
cannot enter text. A read-only text control or list column includes a gray background and displays
text that the user cannot edit.
■ Displays as a list, multi-value group, calculator, or calendar icon, depending on the business
component field that the control or list column references.
■ Displays data of a specific data type, such as alphanumeric, numeric, date, or currency.
■ The HTML Height property of the control determines the number of rows of text that Siebel CRM
displays in the text box.
■ Automatically displays a select icon on the right edge of the text control if the MVG Applet
property includes a value that is not empty or if the Pop-up Edit property is TRUE. This
functionality allows the user to call up a multi-value group applet or a calendar or calculator
widget.
NOTE: If the field must be a pop-up calendar or calculator control, then the Runtime property
must equal TRUE.
■ Automatically displays a select icon on the right edge of the text control if the Pick Applet
property references a pick applet. If the user clicks the select icon, then Siebel CRM displays the
list. For more information, see “About Static Lists” on page 437.
NOTE: If data includes trailing spaces, then Siebel CRM truncates the data if Siebel CRM displays it
in a Siebel application or in Siebel Tools. This truncation includes full width spaces in Japanese.
■ Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data on page 124
■ Options to Determine How Siebel CRM Displays Controls and List Columns in a Siebel Application on
page 129
Edit Allows the user to edit a record, create a new record, and query while working
in a form applet. Siebel CRM uses the Edit and Edit List applet modes most
frequently.
If a New or Query applet template does not exist, then Siebel CRM uses Edit if
the user creates or queries data. For more information, see “Types of Siebel Web
Templates” on page 152.
Edit List Allows the user to edit a record, create a new record, and query while working
in a list applet. You use the Edit List mode to allow the user to edit, create, and
query in an employee application that runs in high interactivity mode.
Because a standard interactivity application does not use the Edit List mode,
you must create an Edit mode template even if Edit, New, and Query templates
are defined. A customer or partner application is an example of a standard
interactivity application. For more information, see “Types of Siebel Web
Templates” on page 152.
Edit List mode renders a list applet as persistently editable. The purpose of an
editable list applet is to provide the user a way to modify the records in a list
applet without switching to an edit page.
Base Displays fields in read-only mode. Use this mode to display the applet in read-
only mode until the user takes an action, such as clicking the Edit button. Siebel
CRM displays a view in Base mode by default.
NOTE: The user cannot edit or update a field in an applet that is in Base mode.
The user can use the applet menu or right-click and use the pop-up menu to
create a new record. The user can then edit or delete the new record, unless
these operations are disabled at the applet or business component level.
You can also use the Read-Only field in the Responsibility Administration View
to make a view read-only. For more information, see Siebel Security Guide.
New Allows the user to create a new record where the requirements for the new
mode are different from the edit or edit list mode.
Only use the New and Query modes if the Edit mode does not meet your
required functionality.
Query Allows the user to query if the requirements for the Query mode are different
from the requirements for the Edit or Edit List mode. Allows the user to perform
a query-by-example (QBE).
■ Is a property of the applet web template object type, which is a child of the applet object type.
■ Applies only to the applet in focus. For example, if the parent top applet in a view is in focus and
is in Query mode, then the child bottom applet is not in Query mode.
■ You can use the Mode list in the Controls/Columns window of the Applet Layout Editor to modify
the applet mode. The applet web templates that are defined for the applet determine the modes
that are available in the Mode list. For more information, see “Adding a Control or List Column to
an Applet Layout” on page 361.
■ Controls appearance of the minibutton. For more information, see “MiniButton Control and
MiniButton List Column” on page 122.
■ A multi-value group applet typically uses the Popup List template. If you define base, edit, or
edit list mode for a multi-value group applet, then Siebel CRM references the mode from the
parent applet. If you define only the base mode for a multi-value group applet, then Siebel CRM
uses the base mode for the multi-value group applet regardless of the mode of the parent applet.
For more information, see “Creating a Multi-Value Group Applet” on page 480.
The search specification contains the names of one or more fields in the business component and
various operators. These items constitute a logical condition that determines which Siebel CRM
records Siebel CRM displays in the applet:
■ If the result of the search specification is TRUE for a Siebel CRM record, then Siebel CRM displays
the record in the applet.
■ If the result of the search specification is FALSE for a Siebel CRM record, then Siebel CRM does
not display the record in the applet.
The following search specification illustrates how you can filter CRM data so that Siebel CRM only
displays records that contain a revenue that is greater than 5000:
The following search specifications provide more examples of how you can filter CRM data:
Element Description
Comparison Compares the value in a field to a constant, or the value in one field to the value
Operator in another field. Siebel CRM allows the following operators:
■ = (equal to)
The following is an example search specification that uses the greater than
comparison operator:
String Constant The string constant is enclosed in double quotation marks. Because a string
value is case sensitive, uppercase and lowercase letters in a string constant
must match exactly the string in the CRM record. The following is an example
search specification that uses the COST LIST string:
Logical Operator The logical operators AND, OR, and NOT negate or combine elements in a
search specification. Case is ignored in these operators. For example, and
performs the same operation as AND. The following is an example search
specification that uses the AND logical operator:
Field Name A field name in a search specification is enclosed in square brackets. The
following is an example search specification that references the Conflict Id
field:
[Conflict Id] = 0
Element Description
LIKE Operator The LIKE operator creates a text string search specification in which the
specification compares the value of a field to a constant, or compares the value
of a field to the value of another field. A match on only the first several
characters in the string is required. The LIKE operator uses the following
wildcard characters:
The following is an example search specification that uses the LIKE operator:
In this example, the Last Name values of Smith, Smythe, Smallman, and so
forth causes the search specification to evaluate to TRUE.
1 Appends the search specification on the applet to the search specification on the business
component. Siebel CRM does not override the search specification on the business component.
You cannot use a search specification on an applet to override a search specification that is
defined on the underlying business component.
2 In the Siebel client, Siebel CRM converts the search specification on the applet to a WHERE
clause.
How Siebel CRM Executes a Search Specification That Is Defined on a Child Applet
If a search specification is defined on a child applet, then Siebel CRM does the following:
■ If a child applet references the same business component as the parent applet, then Siebel CRM
does not execute the search specification that is defined on the child applet.
■ If a child applet does not reference the same business component as the parent applet, then
Siebel CRM does the following:
■ To maintain the context for the search specification with the parent applet, amends the
search specification that is defined on the child applet with a WHERE clause.
How Siebel CRM Executes a Search Specification That Is Defined on a Link or List
If a search specification is defined on a link, then Siebel CRM does the following:
■ The Search Specification property of a link applies to the child business component. If a search
specification also exists in the applet, then Siebel CRM uses an AND query operator to add the
search specification on the applet to the search specification on the link.
■ Defined on a list, then Siebel CRM does overrides any search specification that is defined on the
business component.
■ Not defined on the list, then Siebel CRM uses the search specification that is defined on the
business component.
■ If multiple applets each contain a search specification, then each search specification on each
applet must be identical.
For example, Siebel CRM displays the Account List Applet and the Account Entry Applet in the
Account List View. In the Account Entry Applet, Siebel CRM also displays the record that is chosen
in the Account List Applet. If the user chooses a different row in the list or scrolls through the list,
then Siebel CRM updates the Account Entry Applet to make sure the same record is chosen in the
Account List Applet. Because Siebel CRM enters data into these applets from the same query, the
applets display the same record set.
■ All Applications. By default, the layout editor uses the All Applications option, which leaves the
controls that you add or delete unmodified.
■ A specific application. Siebel Tools applies any add, move, or delete of a control or list column
only to the chosen application.
If you choose a different application in the Application list of the Configuration Context toolbar during
an editing session, then Siebel Tools changes the appearance of the Applet Layout Editor to reflect
the set of controls and list columns that are defined for that application. Siebel Tools displays the
following controls and list columns:
■ Controls and list columns defined for the current Siebel application
Siebel CRM does not display controls and list columns that are negated for this Siebel application.
For more information, see “Setting the Configuration Context” on page 359.
■ If the Expression property is empty, which is the default, then Siebel Tools displays the control
or list column in all Siebel applications.
■ If Siebel CRM displays the name of a single Siebel application in the expression, such as eSales,
then Siebel CRM restricts the control or list column to display only in the defined Siebel
application. A negation expression, such as NOT eSales, specifies that Siebel CRM does not
display the control or list column in the eSales application.
Do not define the Expression property directly. If you choose a specific Siebel application in the
Application list of the Configuration Context toolbar, and then modify the applet in the Applet Layout
Editor, then Siebel Tools automatically defines the Expression property.
How Siebel Tools Modifies the Expression Property of the Applet Web
Template Item
If you choose a specific Siebel application in the Application list of the Configuration Context toolbar,
then Siebel Tools implements the following changes on the applet web template item:
■ If you add a control or list column to an applet, then Siebel Tools automatically enters the name
of the Siebel application in the Expression property for the applet web template item. Siebel CRM
displays the control only in the chosen Siebel application.
■ If you delete a mapped control or list column from the applet layout, then Siebel Tools creates
a new applet web template item that is named NOT <application>. This new item includes an
Expression property of NOT <application> and includes the same Item Identifier property as the
deleted control. Siebel CRM displays the control in every application except <application>.
■ If you move a mapped control or list column in the applet layout, then Siebel Tools creates a
duplicate applet web template item named <Name2>. This new item includes an Expression
property of <application> and a different Item Identifier property. Siebel Tools also creates a
NOT <application> object. Siebel CRM displays the control in a different location in that
application.
If you delete the NOT <application> object, then the behavior reverts to All Applications.
For more information, see “Guidelines for Reusing an Applet” on page 215.
■ If possible, modify a predefined applet instead of creating a new applet. This technique often
requires less work and helps to minimize the objects in the Siebel repository that you must
maintain.
■ If you do require a new applet, then set the Upgrade Ancestor property on each custom applet
that you clone from another applet. For more information, see “Guidelines for Using the Upgrade
Ancestor Property” on page 198.
■ Give duplicate applets that do not contain drilldowns the same name as the original applet but
add the phrase Without Navigation to the name immediately before the word Applet. For
example, ABC Selective Account List Without Navigation Applet.
■ Add the phrase Administration Applet to the end of the name of each applet that specifically fulfils
an administration function. For example, Master Forecast Administration Applet.
■ If the applet is in read-only mode, then you only define it in Base mode.
■ If the applet is editable, then you must define it in Edit and Edit List modes.
■ Name each new applet with a prefix that identifies your company. For example, if your company
name is ABC Incorporated, then name the new applet ABC Opportunity List Applet.
■ Include the type of applet in the name just before the word applet.
■ Capitalize the first letter of each word. For example, Account List Applet rather than account list
applet.
■ Avoid using a special character in an applet name. Use only alphanumeric characters.
■ Make sure the applet name is meaningful. Avoid adding a number suffix to an applet name, such
as ABC Opportunity List Applet 2. For example, if the applet differs because it does not allow drill
down, then indicate this situation in your applet name. For example, ABC Opportunity List Applet
- Without Drill Down.
Table 22 describes the naming formats for an applet. In Table 22, <business component> is the name
of the business component that the applet references in the Business Component property.
multi-value group <business component> Mvg Applet Fulfillment Position Mvg Applet
applet
Form applet If the applet does not contain buttons, Account Form Applet
then use <business component
Account Entry Applet
name> Form Applet.
For more information, see “Guidelines for Naming an Object” on page 197.
■ Always define the Title property of an applet. Do not leave this property empty.
■ Do not use the same title for more than one applet that Siebel CRM displays in the same view.
If a view contains multiple applets that display data from the same business component, then
distinguish the titles according to the type of applet. For example, use distinct titles in a view
that displays accounts, such as Account List Applet or Account Form Applet.
Chart applet Use one of the following formats: Open Defect Analysis
■ <description> by <description>
For more information, see “Guidelines for Naming an Object” on page 197
■ To simplify data entry, use the appropriate type of pop-up, if possible. For example, associate a
calendar control with a date field, or a multi-line edit box with a multi-line text field.
■ To accommodate multiple translations of a given text string, include extra spaces in a display
name or caption. For more information, see Using Siebel Tools.
■ Associate a control for a form applet that uses the Applet Form 4 Column (Edit/New) web
template to a field that is two columns wide, or to a field that is one column wide. To associate
a control to a field that is two columns wide, you must set the HTML Width property to 412. If
you do not create an HTML Width property, then Siebel CRM displays the control as a one column
wide field even if it is associated to a two column wide field in a form applet.
■ Make sure a check box is the appropriate way to display the data. If the data does not map to a
yes or no response, or if the meaning of the unchecked value is not obvious, then it is
recommended that you use a list of values instead. For example, instead of using a check box
labeled Standard, use a combo box labeled Shipping Method with a list of values that contain
Standard and Next Day. For more information, see “Creating a List of Values” on page 463
■ Avoid using a negative. For example, instead of Not Required, use Optional.
■ In a form applet, right-align the labels and position them to the left of the check box.
■ To display a calendar or calculator for a control, set the Runtime property of the control to TRUE.
■ To display a pop-up editor, set the Popup Edit property of the control to TRUE.
■ To display a text list column in a list by default, set the Show in List property to TRUE.
■ To hide a text list column by default, set the Show in List property to FALSE. The user can use
the Columns Displayed dialog box to display the text control.
■ Because a list column header is a specialized control, it does not render HTML. For example, you
cannot add a red asterisk to indicate that a field is required, as you can in a form applet.
This chapter describes views, screens, and applications. It includes the following topics:
Related Topics
For more information, see the following topics:
The user navigates between tabs, links, and lists that Siebel CRM displays in one of the following
levels of the Siebel client:
■ First level. Screen tabs that allow the user to navigate between screens.
■ Second level. Links to groups of views or single views. Siebel CRM can display these links in the
following ways:
■ In a list that Siebel CRM displays in the header of an applet. Visibility rules typically
determine how this list filters data. The My Contacts, My Team’s Contacts, and All Contacts
views are examples of these types of views.
■ Third level. View tabs that allow the user to navigate to a group of detail views or to a single
detail view.
■ Fourth level. One of the following, depending on the web template that Siebel CRM uses:
■ Links in a list.
Other user interface elements provide the user with more navigation options, such as the Site Map,
drilldowns, and the thread bar.
About Views
The user can access a view in one of the following ways:
■ A third-level tab
The navigational constructs in the physical user interface determines access to certain views.
For more information, see “Overview of the Logical User Interface Object Layer” on page 31.
■ Siebel CRM displays the Account List Applet and the Account Entry Applet.
■ The list applet displays a list of account records and the form applet displays details about the
account that is chosen in the list, but in a format that the user can view without scrolling.
A view can include two list applets in a master-detail view. The records in the detail list applet are
child records of the record that is currently chosen in the parent list applet. To view an example of
a master-detail view, in Siebel Call Center, navigate to the Accounts screen, and then the Accounts
list. Click the link in the Account Name field. Note the following:
■ Siebel CRM displays the Account Contact List Applet. It references the Contact business
component.
■ Siebel CRM also displays the Account Entry Applet. It references the Account business
component.
■ In the context of the Account business object, the parent-child relationship between Account and
Contact references the Account/Contact link.
2 Master applet. The form applet that displays the parent record.
3 Detail applet. The list applet that displays the child records.
4 Business object. The business object that the Business Object property of the view references.
The business object establishes the context that determines the active link between the business
components that the applets reference.
5 Business object components. Child objects of the business object. Each business object
component associates a business component to the business object.
6 Master business component. The business component that the parent applet references.
7 Detail business component. The business component that the detail applet references.
8 Link. The link that specifies the parent-child relationship between the parent business
component and the child business component. The Link property of the detail business object
component identifies the link.
About Screens
A screen is a collection of related views:
■ The screen represents a logical grouping of views that pertain to one business function.
The user can access a screen through a screen tab or the Site Map. These links to each screen are
defined as part of the page tab object definition, which is a child of the screen. The screen defines
the default view that Siebel CRM displays if the user clicks a screen tab.
A screen includes a screen view child object type. The screen view controls the views that Siebel CRM
displays in the Siebel client if the user chooses a screen tab.
NOTE: The Site Map is limited to nonvisibility views. Siebel CRM does not display a visibility level
view, such as My Accounts or My Team’s Accounts, on the Site Map.
For more information, see “About the Siebel Client Navigation Model” on page 136 and “Process of
Creating a Screen” on page 285.
Siebel CRM displays it as a link in the link bar below screen tabs.
Aggregate View Siebel CRM displays an Aggregate View as follows:
NOTE: In Siebel CRM version 7.7 and higher, Siebel CRM defines a
nonvisibility view as a detail view with the Parent Category property set
depending on the business object that the view references.
■ Siebel CRM groups the visibility views associated with the Account business object under the
Accounts List aggregate category.
■ Siebel CRM groups the visibility views associated with the Global Account Hierarchy business
object under the Global Accounts Hierarchy List aggregate category.
Table 25. Type of Screen View That Is Defined for Each Navigation Level
Navigation
Level Siebel Client Placement Object That Is Defined
2 Links in the link bar directly Screen view with the following properties:
below screen tabs.
■ Type is Aggregate Category
These links refer to groups of
■ Parent Category is empty
views.
Links in the link bar directly Screen view with the following properties:
below screen tabs
■ Type is Aggregate View
These links refer to a single
■ Parent Category is empty
view.
Links in the view list in an Screen view with the following properties:
applet header
■ Type is Aggregate View
4 Links in the link bar below Screen view with the following properties:
view tabs, or in an alternate
■ Type is Detail View
location depending on the web
template. ■ Parent Category is Detail Category
Siebel Category
Client Category Default Parent
Level Location Type Name View View Category
4 Link in link Detail View Not Not ESP Account Plan ESP
bar below applicable applicable Overview View
view tabs
■ Apply the guidelines for configuring access control. For more information, see Siebel Security
Guide.
■ Do not associate a view with more than one screen. If you associate a view with more than one
screen, then problems with the Thread Manager might occur. When Siebel CRM saves a thread
in the session file, Siebel CRM stores the name of the view without the name of the associated
screen. If the user chooses a thread that navigates to a duplicate view, then Siebel CRM always
navigates the user to one screen, even if Siebel CRM created the thread in the other screen. If
you define the duplicate view as the default view on both screen tabs, then the user experiences
an anomaly in the Siebel client. Siebel CRM chooses one screen tab as the active tab. Siebel CRM
never displays the duplicate screen tab as an active tab. For more information, see “Customizing
the Thread Bar” on page 275.
■ Do not modify a view that Siebel CRM displays in the Administration - Server Configuration
screen or in the Administration - Server Management screen. Siebel CRM reads information in
these views from the siebns.dat file. The Server Manager displays these views in the Siebel
client. Any modification that you make to one of these views must be stored in siebns.dat file.
However, you cannot store this information in siebns.dat. Therefore, Siebel CRM does not
support modifying a server view.
■ Due to the specialized nature of the code that the Siebel calendar references, Siebel CRM does
not support modification to the following views:
NOTE: Oracle supports usage of Siebel Tools to modify the eCalendar Detail View.
■ Use a prefix that identifies your company. For example, name a new view for ABC Incorporated
as ABC Opportunity Detail - Tasks View.
■ Make the view name meaningful. Avoid adding a number suffix to a predefined name, such as
Opportunity List View 2.
■ If the view differs because it is read-only, then indicate that it is read-only. For example, ABC
Opportunity List View - Read Only.
■ Capitalize the first letter of each word. For example, Opportunity List View rather than
opportunity list view.
Table 27. Guidelines For Naming a View According to the Type of View
Chart view <master business component> Chart View Account Chart View - State
- <detail business component> Analysis Analysis
Table 28. Guidelines For Naming a View According to the Type of Aggregate View
For more information, see “Guidelines for Naming an Object” on page 197.
■ If the parent applet of a view includes a search specification, and if the user drills down on a
field, then Siebel CRM applies this search specification to the destination view. For more
information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ If the target view of a drilldown includes a visibility type that is different from the original view,
and if the user drills down on a field, then Siebel CRM navigates the user to the first record of
the destination view and not to the drilldown record.
Siebel CRM does not support drilldown on a multi-value group applet, pick applet, or association
applet.
1 Drilldown Object. Identifies a link field and a view. These properties define the list column or
control that includes a link and the destination view that Siebel CRM displays if the user drills
down on the link.
Figure 29 illustrates the relationships between objects in a dynamic drilldown. To create a dynamic
drilldown, you define one or more dynamic drilldown destination children of the drilldown object for
the field and the corresponding list column or control.
The functionality of the drilldown object in a dynamic drilldown is the same as it is with a static
drilldown with the following exceptions:
■ The drilldown object that contains the lowest sequence number includes child dynamic drilldown
destinations that define the following conditions under which Siebel CRM uses each of the
drilldown objects:
■ If the conditions in the dynamic drilldown destination are true, then Siebel CRM flows to one
of the drilldown objects.
■ If the conditions in the dynamic drilldown destination are false, then Siebel CRM uses the
parent drilldown as the default drilldown.
■ If the conditions in the dynamic drilldown destination are true but the user is not assigned
the responsibility that is required to access the destination view, then Siebel CRM uses the
parent drilldown as the default drilldown.
For example, assume the Industry field in the Account business component is designated as the type
field in a list of dynamic drilldown destinations:
■ If the Industry is Manufacturing, then the drilldown navigates to a drilldown object that includes
a view that is tailored for a manufacturing account.
■ If the Industry is Transportation, then the drilldown navigates to a drilldown object that includes
a view that is tailored for a transportation account.
CAUTION: Avoid defining a link that routes from one dynamic drilldown object to another dynamic
drilldown object. If you create child dynamic drilldown destinations of a drilldown object, then make
sure they do not route to a drilldown object that itself includes child dynamic drilldown destinations.
This technique might cause ambiguity or looping problems.
How Siebel CRM Handles a Dynamic Drilldown if Multiple or No Conditions Are Met
If the condition in one dynamic drilldown destination is met, then the link navigates to the defined
drilldown object. If more than one condition is met, then Siebel CRM uses the lowest value in the
Sequence property to identify the first condition that it uses as the destination drilldown object. If
no condition is met, or if no dynamic drilldown destinations are supplied as children of the drilldown
object, then the drilldown object itself supplies the name of the destination view.
If you define multiple drilldown objects for an applet, then reference any given field in the business
component only one time for all available drilldown objects. For a dynamic drilldown, set the
Hyperlink Field property of the drilldown object that contains the dynamic drilldown destinations.
■ Static applet toggle. Allows the user to choose the name of the applet from the Show list to
toggle between applets.
■ Dynamic applet toggle. Automatically toggles between applets that reference the value of a
field in a parent applet.
■ Siebel CRM applies the search specification on the form applet in the view. To create a search
specification on a list applet during a toggle, you must add the search specification for the form
applet. For more information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ A static toggle applet is not required to reference the same business component.
■ You can define only one static applet toggle in a single view.
■ A dynamic toggle applet must reference the same business component, which can be a
predefined business component or a virtual business component.
■ You can define more than one dynamic applet toggle in a single view.
■ You can define one static applet toggle and one dynamic applet toggle in a single view.
■ You can define one static applet toggle and multiple dynamic applet toggles in a single view.
CAUTION: If you define more than one static applet toggle in a single view to access multiple
views, then unpredictable behavior might result. Instead, use detail views with the Parent
Category property set to Detail Category. For more information, see “About Screen Views” on
page 140.
■ You cannot create a static applet toggle and a dynamic applet toggle in the same applet.
For more information, see “Example of Creating an Applet Toggle” on page 277 and “Improving
Performance When Using Applet Toggles” on page 565.
About Applications
An application is an object type that is a collection of screens. Siebel Call Center and Siebel Partner
Relationship Manager are examples of an application. Although you can create a new application, it
is recommended that you modify a predefined application to meet your business requirements.
The application object type defines which screens are accessible through menus and tabs. The
following child objects of the application object associates screens with the Siebel application and
displays screens in the Siebel client:
■ Page tab. Adds a screen to the tab bar. For more information, see “Page Tab” on page 32.
■ Find Objects. Configures the Find dialog box. For more information, see “About Screens” on
page 140.
■ Server script and browser script. Can be defined as an event procedure on startup, prior to
closing, and so forth. You define these scripts through an Application Script child object. You use
the Script Editor to create and maintain a script. For more information, see Siebel VB Language
Reference, Siebel eScript Language Reference, and Siebel Object Interfaces Reference.
■ Custom menu option for a Siebel method. Defined through the applet method menu item and
created in the Applet Method Menu Item Wizard. For more information, see “Applet Method Menu
Item Object Type” on page 499.
For more information, see “Creating and Deploying an Application” on page 300 and “How Siebel CRM
References Web Pages” on page 155.
■ Note that the name of the Siebel application is case-sensitive and space-sensitive.
■ To identify the name of the Siebel application, use the appropriate parameter in the configuration
file of the Siebel application.
■ To minimize locking of the application object, Siebel CRM contains the object in a separate
project.
This chapter describes how to configure Siebel web templates and Siebel Web Engine (SWE) tags. It
includes the following topics:
■ Guidelines for Configuring Siebel Web Templates and Siebel Tags on page 186
For more information, see “How the Siebel Web Engine Generates a Siebel Application” on page 40, and
Chapter 20, “Configuring Siebel Web Templates and Siebel Tags.”
■ How Siebel CRM Uses HTML Frames in the Container Page on page 156
A Web browser uses HTML to define the layout and format of a page. Siebel web templates provide
this HTML layout to the Siebel Web Engine when Siebel CRM renders Siebel objects in the Siebel
client. The templates contain markup tags, such as HTML, WML, and XML, that are interspersed with
Siebel tags. Siebel CRM prefixes these tags with the following text: swe.
A Siebel web template includes empty placeholders that contain no data. To enter data and user
interface elements into a template, Siebel CRM associates views, applets, controls, and other objects
with each template. These objects are defined in the Siebel repository. Siebel CRM maps each object
to an empty placeholder in the template. For example, assume a view maps to three applets. You
associate a view web template with the view, and then map each applet to a placeholder in that
template.
■ Page container template. Provides a structure for Siebel CRM. Each Siebel application uses
one page container. Used as a container for view web templates. A view that does not use the
container page usually varies significantly from other views. For example, the login page does
not use the page container.
■ Web page template. Defines the layout for the entire display. Includes information about where
Siebel CRM displays the screen bar, view bar, and view.
■ View web template. Defines the layout for a view. Specifies where to position applets and other
page-level controls on the view. Specifies the format of the view.
■ Applet template. Defines the layout for fields and controls in an applet. Specifies how to format
elements in an applet. An applet can include more than one mode. Siebel CRM associates each
mode with a template. For more information, see “Options to Control How the User Creates, Edits,
Queries, and Deletes CRM Data” on page 124.
■ Format template. Allows you to create custom HTML types, such as specialized controls, list
items, and page items. These templates use the SWF (Siebel Web Format) extension. For more
information about SWF files, see “Customizing an HTML Control Type” on page 534.
Siebel CRM can contain other pages that do not contain any Siebel tags. For example, you might
include an About This Application help page. However, this page is not a template.
2 Use the Web Layout Editor in Siebel Tools to edit the layout of an applet and to map object
definitions to the Siebel web template.
If a Siebel client requests a specific view, then the Siebel Web Engine does the following:
3 Retrieves the object definition for the view and the object definition for each applet in that view
from the SRF file. Retrieves the data defined in the object definition from the data manager layer
of the application object manager (AOM).
4 Matches this data with the template that the view references and each applet in the view.
5 Uses the placeholders in the template to render this view. Defines where each user interface
element in the object definition is placed and how it is formatted.
If the user accesses the HTML file in a Web browser, then Siebel CRM renders it as a Web page,
and includes the layout defined in the original template and the data and controls retrieved.
If a placeholder is not mapped, then the Siebel Web Engine ignores it and the HTML between the
Siebel tags that define the placeholder. For example, if the template contains layout for a list applet
that is 10 columns in width but only two of the columns are mapped, then the Siebel Web Engine
ignores the other eight unmapped columns. This technique improves efficiency and performance.
Flexibility of Use
Siebel CRM comes with many predefined applet web templates and view web templates that you can
modify. To support your business processes, it might not be necessary for you to modify any of the
applet web template and view web templates. However, in some situations, especially with customer
and partner applications, you can modify predefined templates to reflect your corporate look and
feel. You can also create entirely new templates.
A Siebel Web template file can include another Siebel Web template. Siebel CRM uses this technique
to improve efficiency. For example, to separate handling for the title of an applet from handling the
body of an applet, you can create a template file that includes the title in the applet template. This
way, you can define an applet layout once and then combine it with multiple different title layouts.
A Siebel Web template must use valid HTML. It is recommended that you do not add JavaScript
beyond what the Siebel Web Engine already generates. If it is necessary to add JavaScript, then you
must use Siebel Tools to define browser script.
You can use Siebel Tools or an external editor to modify a template. For more information, see Using
Siebel Tools.
■ Markups for the top of the container page. Example markups include the corporate banner
and Siebel tags for predefined queries. For example, in the Web Page Layout Editor you can view
how the Queries menu label is the FavoritesLabel Web page item. For more information, see
“Guidelines for Modifying a Predefined Query” on page 188.
■ Screen tab bar. Generated beneath container page markups as a table. The Siebel Web Engine
logic that is associated with the following tags loads the screen tab bar:
■ swe:screenbar
■ swe:screenlink
■ swe:now-control
■ View bar. The Siebel Web Engine logic that is associated with the following tags loads the view
bar:
■ swe:viewbar
■ swe:viewlink
■ swe:now-control
After Siebel CRM loads the container page and displays screen and view names, the screen and view
names function as links in the following ways:
■ If the user clicks a screen tab, then to generate and display the view, Siebel CRM uses the
template for the default view for that screen.
■ If the user clicks a view name in the view bar, then Siebel CRM loads the view web template that
is defined in the object definition of the view.
■ Processes the set of tags in the view web template to incorporate applets into the page.
■ Uses the view object definition, view web templates, and applet web templates to identify the
applets that Siebel CRM displays in specific sectors.
■ Obtains controls from the Siebel repository to resolve tag references to controls in each applet.
Loads controls into the Web page as defined in the applet web template for the applet. The
container page can contain frames to support independent update and scroll of areas of a page.
For more information, see “How Siebel CRM Uses HTML Frames in the Container Page” on page 156.
You can group applets into separate frames in a view web template. However, it is recommended
that you do not use this technique except where independent refresh or independent scrolling is
required.
Siebel CRM uses the swe:frameset tag and the swe:frame tag to do the following:
■ Provide the Siebel Web Engine a way to control how it targets and refreshes URLs.
The swe:frameset tag includes the htmlAttr attribute. This attribute defines the attributes for the
HTML frameset tag. For example, the following code supports a layout in which the frames that
belong to the frameset use 89 pixels, 25 pixels, and the remainder of the window:
htmlAttr=”rows=’89,25,*’”
SWE Tag That Marks the Beginning and End of Content in a Frame
The swe:frame tag marks the beginning and end of the contents that Siebel CRM places in a frame.
The Siebel Web Engine renders this tag as an HTML frame tag, with the src attribute of the tag set
to a Siebel Web Engine URL that retrieves the contents of the frame. You must place this tag in the
body of the swe:frameset tag.
The swe:frame tag includes the type attribute. The type attribute indicates the nature of the contents
of the frame. The Siebel Web Engine uses this information to decide when to refresh the frame.
Siebel Web Engine supports the following values for the Type attribute:
■ Screenbar. Specifies that the frame contains the primary tab bar.
■ Applet. In a view web template, specifies that the frame contains an applet.
■ Content. Defines the content area and contains a view frame that displays the main view. To
display an alternate view, it can contain one or more AltView frames. The search center is an
example of an alternate view.
■ AltView. Designates subframes to display one or more alternate views in the content frame in
addition to the one in the view frame.
■ Name. Used only if the type of the frame is page. In this situation, you can use this attribute to
define a name for the frame. For other frame types, the Siebel Web Engine generates consistent
names for the frame.
Nested Framesets
The Siebel Web Engine supports nested framesets. In this situation the swe:frame tag contains a
swe:frameset tag, and the type attribute of the outer swe:frame tag is page.
<swe:include file="CCFrameBanner.swt"/>
</swe:frame>
<swe:include file="CCFrameScreenbar.swt"/>
</swe:frame>
<swe:include file="CCFrameViewbar.swt"/>
</swe:frame>
<swe:current-view/>
</swe:frame>
</swe:frameset>
<title>
<swe:this property="Title"/>
</title>
<tr>
</tr>
</table>
<!-------- End Salutation applet and Search Applet, table 3.1 ------>
<swe:applet id="swe:currentId"/>
</swe:for-each>
<swe:applet id="swe:currentId"/>
</swe:for-each>
Applet ID Tags
Each swe:applet id=x tag is a placeholder that determines the location for an applet in the view web
template. To display different views, you can map applets that currently exist in the view to
placeholders in this same view web template. View web templates that come predefined with Siebel
CRM include the following swe:applet tags:
■ Tags with IDs of 101 and 201. Displays the salutation and search applets that Siebel CRM
displays at the top of the views.
■ Tags with IDs 1 through 10. Displays the main applets in the view.
■ Tags with IDs that begin with 11. Displays special applets that Siebel CRM displays at the
bottom of some views.
The following situations require HTML frames in the content area of a view web template:
■ If a tree applet occupies a frame on the left and the corresponding list applet occupies the frame
on the right in an explorer view.
■ If the user performs a search. Siebel CRM requires a search frame and a results frame in the
right portion of the content area.
■ For more information, see “Guidelines for Naming a Siebel Web Template” on page 186.
<!--start applet-->
<swe:this property="FormattedHtml"/>
<!--end applet-->
</swe:applet>
</swe:for-each>
</swe:frame>
<!--start applet-->
<swe:this property="FormattedHtml"/>
<!--end applet-->
</swe:applet>
</swe:for-each>
</swe:frame>
</swe:frameset>
■ About Catalog List Applets and Rich List Templates on page 173
Property Description
Type Indicates the edit mode that the applet template supports, such as Edit
or New. For more information, see “Options to Control How the User
Creates, Edits, Queries, and Deletes CRM Data” on page 124.
Web template Provides the name of the Web Template used for that mode.
The applet web template item defines the mappings that exist between controls and list columns to
placeholders in the web template file. The applet web template item is a child of the parent applet
web template.
Property Description
Name Name of the applet web template item, which is typically the same as the
Control property.
Control Name of the control as Siebel CRM displays it in the Siebel client.
Item Identifier A unique numeric identifier for each control that Siebel Tools generates
in the layout editor. Siebel CRM uses the value in the markup language
tag that specifies the corresponding control in a template. It binds the
control to a specific position on the page.
Type Indicates the type of control that the applet web template item defines.
You can choose one of the following values:
■ Control
■ List Item
■ Web Control
You can do the following with an applet web template that uses a grid. You cannot perform these
tasks with an applet web template that does not use a grid:
■ Use Siebel Tools to modify the layout of the form without having to modify the web template
itself.
■ Place labels and controls independently in the applet layout. Although, labels and controls are a
single object in the Siebel repository with one set of shared properties, you can manipulate them
as separate items in the Web Layout Editor.
■ A template that uses a grid does not automatically compress empty space in a column.
A grid layout applet web templates uses the following Siebel tags:
■ swe:form-applet-layout
■ /swe:form-applet-layout
These tags do not use placeholder tags. Instead they serve as a single container for all controls in
the main body of a form applet. These tags allow you to use the Web Layout Editor to configure the
layout of form applets. You must use the Web Layout Editor to modify the layout of an applet that
uses a grid applet web template.
■ The header and footer do use placeholder tags for buttons, such as New and Save. You cannot
use the grid layout features of the Web Layout editor to edit the layout of the header or footer.
Siebel CRM can display a form applet in any of the following modes:
■ Base
■ Edit
■ New
■ Query
<swe:control id="1100">
<div class=CmdTxt>
</div>
</swe:control>
<swe:form>
<tr>
<td colspan="2">
<swe:include file="CCTitle.swt"/>
</td>
</tr>
<tr>
<td>
<swe:error>
<swe:this property="FormattedHtml"/>
</swe:error>
</td>
</tr>
<tr valign="top">
<td class="scLabelRight">
<swe:this property="RequiredIndicator"
hintText="Required"/>
</td>
<td class="scField">
</td>
</tr>
</swe:control>
</swe:for-each>
</swe:form>
</table>
■ htmlAttr. Must include valid attributes of the HTML form tag other than method, name, or
action. Siebel CRM uses these attributes in the same way it uses the HTML form tag that it
generates.
■ name. Creates an HTML form with the defined name. If the name attribute is not defined, then
Siebel CRM uses an internally generated name.
■ Property. Specifies the property of the control to render. This attribute includes the following
important values that are relevant for a form applet:
■ FormattedHTML. Instructs Siebel CRM to render the data value of the control.
■ RequiredIndicator. Instructs Siebel CRM to render specific HTML if the underlying business
component field is required.
<swe:form>
...
<swe:list>
<swe:control id="147">
<swe:this property="DisplayName"/>
</td>
</swe:control>
<swe:select-row>
</td>
</swe:select-row>
<swe:control id="swe:currentId">
<swe:this property="ListHeader"/>
</td>
</swe:control>
</swe:for-each>
<swe:control id="142">
<swe:this property="DisplayName"/>
</td>
</swe:control>
<swe:for-each-row count="7">
<tr class="swe:this.RowStyle">
<swe:control id="147">
</td>
</swe:control>
<swe:select-row>
</td>
</swe:select-row>
<swe:control id="swe:currentId">
<swe:this property="FormattedHtml"
hintText="Field"/>
</td>
</swe:control>
</swe:for-each>
<swe:control id="142">
</td>
</swe:control>
</tr>
</swe:for-each-row>
</swe:list>
...
</swe:form>
</table>
■ FormattedHTML. Instructs Siebel CRM to render the data value of the control.
You can use some properties of a list column to control the attributes of an HTML element that the
swe:control tag contains. For example, you can use the following code to set the align attribute of a
TD tag to equal the Text Alignment property of the enclosing list column:
<td align="swe:this.TextAlignment">
Siebel CRM uses the swe:for-each-indent tag to indent each tree item. It uses this tag to do the
following:
■ Place the text in the correct indent level relative to the root.
■ Display the expand icon, collapse icon, the text of the item, and the links.
Siebel CRM uses a series of GIF images to accomplish the indentation, or white spaces if in text-only
mode. Siebel CRM uses images to display the expand icon and collapse icon, or text if in text-only
mode. The swe:indent-img tag defines these objects. Siebel CRM displays, as part of the view, the
list applet that is associated with the currently chosen tree node. For more information, see
“Customizing Icons in a Tree Applet” on page 516.
<!--View with tree applet on the left and list applet on the right-->
<tr>
<td>
</td>
<td>
<swe:applet-tree-list/>
</td>
</tr>
</table>
■ For tree items, ignores the swe:node tag that includes a DisplayName type
■ For tree nodes, ignores the swe:node tag that includes a FieldValue type
The following example code of a tree applet template displays the tree in a single column:
<TBODY>
<swe:for-each-node>
<TR VALIGN=top>
<TD NOWRAP>
<swe:for-each-indent>
<swe:indent-img/>
</swe:for-each-indent>
<swe:node type=”DisplayName”>
<swe:this property=”FormattedHtml”/>
</swe:node>
<swe:node type=”FieldValue”>
<swe:this property=”FormattedHtml”/>
</swe:node>
</TD>
</TR>
</swe:for-each-node>
</TBODY>
</TABLE>
The attributes are optional. If the Count attribute is not defined, then the tag iterates over all nodes
in the tree. The swe:for-each-node tag includes the following attributes:
■ Count. Specifies the number of times the tag iterates through content. If you require a specific
tree format, then you use can use this attribute.
■ StartValue. The value at which the iteration starts. To start the iteration, the tag assigns this
value to an internal iterator, and then increments it by one for each iteration.
■ If the tree item is a tree node, then Siebel CRM displays the display name.
■ If the tree item is not a tree node, then Siebel CRM generates a field value.
The expand icon, collapse icon, and links are parts of a tree item. Depending on the configuration
file settings, Siebel CRM displays the expand icon or collapse icon as a GIF image or text. Siebel CRM
only displays the expand icon or collapse for a tree item that contain child items. The following links
are associated with each item:
■ A link for the expand icon and collapse icon that allows the user to expand or collapse the item
■ A link for the item image that allows the user to choose the item or to navigate to next or
previous workset
Choosing an item allows the user to access the list applet that is associated with the tree node. The
swe:node tag must use the swe:this tag as a child tag.
The swe:node tag includes the type attribute. This attribute can include the following values:
<swe:form>
...
<swe:togglebar type="Select">
<tr>
<td>
</td>
<td>
<swe:this property="FormattedHtml"/>
</td>
</tr>
</swe:togglebar>
</table>
...
<tr>
<td align="center">
</td>
</tr>
</table>
...
</swe:form>
</table>
■ The parent applet provides data for the bullet items under Portable Music.
■ The child applet provides data for values that Siebel CRM displays below Portable Music.
To create this layout, the parent and child applets are list applets. The parent applet is a root level
applet. You can use more than one root level applet to display more than one set of parent-child
relationships in a view.
■ If the Applet property in the view web template item references a root applet, then Siebel CRM
maps this applet to a swe:applet tag in the view web template.
■ If the Applet property in the view web template item references a nonroot applet, then Siebel
CRM does not assign an Id value to this applet. Siebel CRM does not define the layout of these
nonroot applets in the view web template. It defines them in the applet template of the root level
applets.
SWE Tag That Places the Child Applet in the Parent Applet
The swe:child-applet tag places the child applet in the parent applet. Siebel CRM uses the base
template of the child applet to render the child applet at the location where you place this tag.
<swe:child-applet/>
Table 31 describes the properties of the view web template item in the view that references these
applets.
<table>
<swe:for-each-row>
<tr>
<td>
<swe:control id = "5001" /> <!-- field value like "Small Business" -->
</td>
<td>
<swe:for-each-child>
</swe:for-each-child>
</td>
</tr>
</swe:for-each-row>
</table>
<table><tr>
<swe:for-each-row>
<td>
</td>
</swe:for-each-row>
</tr></table>
NOTE: Set the HTML Number of Rows property of the Sub Category Items List Applet to the number
of values you must display under each category value. To allow the user to drilldown from the
category and subcategory values, you must configure the appropriate drilldown objects.
Other Siebel tags place other items in a web page, such as view bars, applets, or controls.
To process this tag and generate the final HTML, the Siebel Web Engine does the following:
1 For the current web page, examines the compiled SRF file for web page item whose Item
Identifier property is equal to 1. This is the mapping between the template file object and the
repository object.
2 To replace the placeholder in the template file, renders the Formatted HTML representation of
this repository object.
Figure 33 illustrates how the mapping between controls and IDs work to display an image as a link
to add a new contact. The HREF is likely different in your implementation. If you create the correct
controls and template mappings, then the Siebel Web Engine constructs a URL in the HREF that
executes the NewRecord method in the correct context.
Also, you cannot nest some Siebel tags. For example, the following is not valid. It generates an error:
<swe:control id="1">
<swe:this property="formattedHTML"/>
</swe:control>
</swe:control>
A singleton element is a tag that includes a slash that indicates the end of the tag. It occurs in the
same tag as the tag name. A singleton tag does not include child elements. The following is an
example of a singleton tag:
<swe:pageitem name="value"/>
The following is an example of a multipart tag. It does not include a slash at the end of the tag:
...HTML here...
</swe:control>
<swe:control id="1">
...HTML here...
<swe:this property="formattedHTML"/>
</swe:control>
The swe:this tag is an alias for the nearest enclosing Siebel context. You can enclose the swe:xxx
element to establish this context. For example, Siebel CRM commonly includes the swe:this tag in a
multipart swe:control element. In this situation, the swe:this tag is an alias for the control. You use
it to display properties of the control. In some situations, the context is less direct. For example, if
Siebel CRM includes a swe:this element in an applet template file, and if the swe:this tag is not in
any swe:control tag, then it is an alias for the applet and you can use it to display properties of the
applet.
■ swe:for-each
■ swe:for-each-row
■ swe:for-each-child
■ swe:for-each-node
■ swe:for-each-indent
■ swe:for-each-value
■ count. Specifies the number of times the swe:for-each tag must iterate the contents of the
swe:for-each tag.
■ startValue. The value assigned to the iterator at the start of the iteration. The tag assigns this
value to the iterator to start the iteration. The tag increments the value by one for each iteration.
■ iteratorName. The name of the iterator. You can use this name to get the value of the iterator
during the iteration. You use the following format: swe:iteratorName.
swe:CurrentID
You can also use the swe:CurrentID+x tag to reference a value that is an increment over the current
value. The following fragment illustrates this usage:
<swe:control id="swe:currentId">
</swe:control>
</swe:for-each>
■ swe:srchCategoryList
■ swe:srchCategory
■ swe:srchCategoryText
■ swe:srchCategoryControl
<swe:srchCateogryList>
<swe:srchCategory>
<td><swe:srchCategoryText/></td>
<td><swe:srchCategoryControl/></td>
</swe:srchCategory>
</swe:srchCategoryList>
■ swe:srchResultFieldList
■ swe:srchResultField
■ swe:this
<swe:srchResultFieldList>
</swe:srchResultField>
</swe:srchResultFieldList>
swe:srchCategoryList Search tag that is an iterator that encloses all the search categories
that must be displayed. It establishes context and encloses the
following tags:
■ swe:srchCategory
■ swe:srchCategoryText
■ swe:srchCategoryControl
<swe:srchCategoryList> … </swe:srchCategoryList>
swe:srchCategory Search tag that represents a search category object. It encloses the
following tags:
■ swe:srchCategoryText
■ swe:srchCategoryControl
<swe:srchCategory> … </swe:srchCategory>
swe:srchCategoryControl Search tag that displays the control of the search category. It is a
check box in advanced search. It must be called in the context of a
srchCategory tag.
<swe:srchCategoryControl/>
swe:srchCategoryText Search tag that displays the display name of the search category. It
must be called in the context of the srchCategory tag.
<swe:srchCategoryText/>
swe:srchResultFieldList Search result tag that is an iterator. It encloses all the search result
fields that are defined in the SRF file in a search engine object type.
Siebel CRM creates result fields dynamically in the business
component and then displays them in the applet.
■ swe:srchResultField
■ swe:this
<swe:srchResultFieldList> … </swe:srchResultFieldList>
swe:srchResultField Search result tag that represents a result field object. Siebel CRM must
call it in the context of the srchResultFieldList tag. It encloses the
swe:this tag.
<swe:srchResultField> … </swe:srchResultField>
swe:this A search result tag. Depending on the value of the property attribute,
it does one of the following:
<swe:this/>
If Conditional Tag
The swe:if tag provides a simple conditional branching capability. It uses the following format:
The swe:if tag includes the Condition attribute. Siebel CRM does the following:
■ If the condition is TRUE, then Siebel CRM processes the body of the swe:if tag.
■ If the condition is FALSE, then Siebel CRM skips the body of the swe:if tag.
The swe:if tag does not provide an else capability. To implement an else condition, use some
combination of the swe:switch, swe:case, and swe:default tags.
■ swe:switch
■ swe:case
■ swe:default
The swe:switch tag is a container tag for the swe:case and swe:default tags.
<swe:switch>
<swe:case condition=”xxx”>
...
</swe:case>
<swe:case condition=”yyy”>
...
</swe:case>
<swe:default>
...
</swe:default>
</swe:switch>
■ Ignores any tags in the body of the swe:switch tag that are not the swe:case tag or swe:default
tag.
■ Examines the swe:case tags, starting with the first swe:case tag, and then does one of the
following:
■ If any of the swe:case tags satisfies the condition, then Siebel CRM skips any other swe:case
tags and swe:default tags and processes the body of the swe:case tag that satisfied the
condition.
■ If none of the swe:case tags satisfy their conditions, then Siebel CRM processes the body of
the swe:default tag. You must make sure that the body of a swe:switch tag contains only a
swe:default tag.
The applet placeholder in the view web template must define a variable that the swe:if-var tag in
the child applet template can evaluate.
The expression in the swe:if-var tag returns a value of true or false depending on if the variable it
evaluates is or is not a property of the swe:applet tag in the corresponding view web template. You
can use this technique to conditionally display parts of an applet depending on the position of the
part in a view.
Figure 34 illustrates object relationships that Siebel CRM uses with the variable conditional tag.
Figure 34. Object Relationships Siebel CRM Uses with the Variable Conditional Tag
The view object references an applet through a view web template item. The template for this applet
includes the following tags:
<swe:if-var name=”Parent”>
</td>
</swe:if-var>
<swe:if-var name=”Child”>
</td>
</swe:if-var>
If you drag and drop the applet into the placeholder in the view web template:
■ And the applet Id for this placeholder is 1, then the first swe:if-var condition returns TRUE and
the second condition returns FALSE. This is because the var property of the swe:applet
placeholder that contains an Id of 1 is set to Parent. As a result, Siebel CRM displays the button
menu with a blue foreground.
■ And the applet Id for this placeholder is 2, then Siebel CRM displays the button menu with a red
foreground.
Siebel CRM typically stores Siebel Web template files in the Web Template directory in your Tools
installation directory. The Filename property references the Web Template object type.
If an applet is in Edit mode in a view, as defined by the applet mode property of the view web
template item, then Siebel CRM never displays this applet in Base mode. If the user updates the field
values in this applet and then commits the change, then Siebel CRM continues to display the applet
in this mode after Siebel CRM writes the changes to the Siebel database.
To display an applet in Query or New mode, you can call a method, such as NewQuery or NewRecord,
on an applet that Siebel CRM displays in Edit mode. After Siebel CRM executes the query or writes
the new record, Siebel CRM displays the applet in Edit mode.
For more information, see “Options to Control How the User Creates, Edits, Queries, and Deletes CRM
Data” on page 124.
■ You can only use frames in a view web template if Siebel CRM uses frames in the container page,
and if there is a separate frame in the container page for the view.
■ If you place an applet in a frame, then make sure that at least one swe:applet tag in the frame
is mapped to an applet in the Siebel repository. Otherwise, empty frames will occur.
■ If a swe:frame block contains a swe:applet tag, then set the type attribute of the tag to Applet.
■ Do not group applets into separate frames in a view web template unless you require
independent refresh or independent scrolling.
■ Use the swe:include tag to define the contents of a frame. You can place the contents directly
into the body of the swe:frame tag.
■ Make sure the contents of the swe:frame tag constitutes a complete HTML document. The
contents must contain the required HTML document structure tags, such as html, head, body,
and so forth. This requirement also applies to view web templates.
■ If the type is view, then make sure the contents of the swe:frame tag contains only the
swe:current-view/ tag.
Although you can configure Siebel web templates to use format tags, if you store style information
in cascading style sheets rather than in Siebel web templates, then you can realize the following
benefits:
Because Siebel CRM renders style information that is stored in a cascading style sheet slightly
differently in different browsers, you must test your configuration in all browsers that your users use.
<ORACLE_HOME>\WEBMASTER\files\language_code
<ORACLE_HOME>\PUBLIC\language_code\FILES
<ORACLE_HOME>\PUBLIC\language_code\FILES
NOTE: If you apply a patch, then Siebel CRM might overwrite the CSS files. If this happens, then
you must manually reenter the modifications you made to the cascading style sheets.
For more information, see “Cascading Style Sheet” on page 31 and Siebel Developer’s Reference.
■ The swe:PDQbar tag defines the predefined query bar. It includes no parameters and can be
located anywhere in Siebel CRM. The user chooses the query to be executed. You must explicitly
define the following:
■ The Favorites label that Siebel CRM displays to the left of the swe:PDQBar tag.
■ If Siebel CRM does not use HTML frames, then it is not necessary to place the swe:pdqbar tag in
the view frame.
■ If Siebel CRM uses HTML frames, then you must place the swe:pdqbar tag in the view frame or
the view bar frame.
Consider the following requirements for standard interactivity and high interactivity:
■ You can use a Siebel Web Engine tag to change the position of the predefined query bar in
standard interactivity.
■ You cannot place the predefined query bar in the view frame in high interactivity.
For more information, see “About Standard Interactivity and High Interactivity” on page 42.
■ Save. SWEMthdSaveQueryE. Uses the current name of the query to save the current query.
■ Save As. SWEMthdSaveQueryAsE. Displays a dialog box that allows the user to save the current
query that uses a name that the user defines.
■ Delete. SWEMthdDeleteQueryE. Displays a dialog box that allows the user to delete one of the
queries.
NOTE: It is strongly recommended that you do not define an Edit button for the predefined query
feature. Because the Edit button must call the Refine method, problems can arise if an Edit button
exists in a multiview environment and there is no way to determine the active view.
This chapter provides an overview of configuring Siebel Business Applications. It includes the
following topics:
Siebel Tools is an integrated development environment that allows you to reconfigure and customize
Siebel CRM. It is a software configuration toolset rather than a programming language. This toolset
provides you with a way to create and modify object definitions and their properties so that you can
develop and customize Siebel CRM.
Siebel CRM is built on object definitions that Siebel CRM executes when the user uses the Siebel
client. You can modify these definitions. To create a completely new module, you can create new
object definitions or modify predefined definitions. It is not necessary for you to write C++ program
code, although you can write Siebel Visual Basic (Siebel VB), Siebel eScript, or browser script to
supplement the programmatic logic of Siebel CRM. Note that Siebel Visual Basic and Siebel eScript
run on the Siebel Server. Browser script runs on the client.
4 (Optional) Process of Creating and Binding an Entity Relationship Diagram on page 229
5 Configuring Tables, Business Components, Links, and Business Objects on page 239
You can customize certain aspects of your Siebel application. For more information, see the
relevant chapter in this book. For example, see the following chapters:
This roadmap provides a general guideline to configure Siebel CRM. The actual tasks you perform
and the sequence in which you perform them varies significantly depending on your implementation
requirements. For more information, see Siebel Deployment Planning Guide and Developing and
Deploying Siebel Business Applications.
■ Developing a Plan to Control File Versions for the Physical User Interface Layer on page 195
For information about configuring the Java EE portion of the Siebel Self-Service Applications, see
Siebel Self-Service Application Developer’s Guide.
2 Acquire approval and commitments for time and resource from the relevant organizations.
■ Determine if a predefined Siebel application can or cannot meet the needs of your users.
■ If a predefined Siebel application cannot meet the needs of your users, determine what
business needs require changes to the Siebel application.
■ Determine how you can assure success with your configured application.
■ An entity relationship diagram (ERD) or text that describes the entity relationships. For more
information, see “Using the Entity Relationship Designer” on page 227.
■ The names and descriptions of the business objects and business components that Siebel
CRM requires, and how they relate to one another.
■ The type of interactivity your implementation uses, and any plans that are required to
implement it. For more information, see “About Standard Interactivity and High Interactivity”
on page 42.
■ (Conditional) How your implementation will use various Siebel technologies. For more
information, see “About Siebel Technologies That Customize Siebel CRM Behavior” on page 47.
❏ Describe naming formats the development team must use. For more information, see
“Guidelines for Naming an Object” on page 197.
❏ Describe how file versions for the physical user interface layer are controlled. For more
information, see “Developing a Plan to Control File Versions for the Physical User Interface
Layer” on page 195
❏ Describe how your organization will test and deploy Siebel CRM to users.
■ The complete stepwise procedures your development and test team must follow to complete
Siebel CRM configuration.
4 Make sure the participating organizations and users review and approve the design.
■ Use predefined Siebel application functionality. Never create a new object unless you cannot
modify a predefined object to meet your requirements. If you follow this principle, then your
Siebel application is much easier to maintain and upgrade to future Siebel product releases.
For more information, see Chapter 10, “Reusing Predefined Objects”.
■ Achieve acceptable system performance. For more information, see Siebel Performance
Tuning Guide.
■ Build a consistent and intuitive Siebel client. For example, if you create a new form applet,
then make sure it uses the same general look and feel as other form applets in your Siebel
application.
2 Plan Siebel CRM design starting at the top and working downward:
c Create the data objects layer that is necessary to support your configuration.
3 Develop a plan to configure Siebel CRM starting at the bottom and working upward:
This technique helps you to make sure the correct values for all required object properties are
available as options. For more information, see Figure 1 on page 29.
■ Assign the development role for a complete functional area to a single developer or group.
This technique typically allows different groups to work in parallel.
For example, one group or an individual person can develop a Web page and the logical
business object definitions and data object definitions that are required to support the page.
This technique takes advantage of the specific expertise of developers. For example:
❏ The user interface developer defines the user interface objects layer.
TIP: Use a web template, which requires each group to complete some work before another
group begins.
The description in this topic is appropriate for most projects. For more information, see “Getting Help
from Oracle” on page 196.
To develop a plan to control file versions for the physical user interface layer
■ Assign a single developer or group to manage web templates, JavaScript files, and style sheets.
Make sure all changes are made by this individual or group, which is solely responsible for
releasing amended files to the Siebel Web Server environment.
■ Use version control software to manage changes to web templates, JavaScript files, and style
sheets. PVCS (Polytron Version Control System) is an example of source control software. This
technique makes sure that only a single individual amends these files at any time. It also
provides an audit trail of changes.
■ If source control software is not available, then use manual controls that allow a structured
release. Assign an individual or group that is responsible for all amendments to physical user
interface files and their subsequent release.
■ Use a separate directory structure for each release that includes subfolders for the various
objects that are released. Copy all amended physical user interface files that are included in the
release to the appropriate subfolder.
The date on which a file is amended serves as an indication for which web templates or JavaScript
library files you must release to users. Therefore, it is necessary to use central release folders
or to copy changed or new objects to these folders. A web template is an example of a changed
or new object.
For example, the system and database environment and developer workstations. For more
information, see “Setting Up a Developer as a Remote User” on page 201.
3 (Optional) Use the tools available to you in the Siebel development environment to define
whatever assignment and workflow rules are required.
4 (Optional) Use Siebel Visual Basic or Siebel eScript to customize the functionality of Siebel CRM.
5 (Optional) Localize Siebel CRM if the Siebel client must display content in two or more languages.
For more information, see Chapter 25, “Localizing Siebel Business Applications.”
8 Introduce Siebel CRM to your users and train your users on how to use Siebel CRM.
■ Never include a question mark at the end of a field name or user interface label.
■ Use an object name that is meaningful and descriptive. For example, Account Detail Applet With
Agreement, instead of Account Detail Applet 2.
■ Do not use a license key option as an object name. For example, do not use Product Forecasting.
This technique can cause Siebel CRM to not display a user interface object, such as a view.
■ Prefix the name for each custom object you define with your company name. For example, ABC
Product Forecasting View. This distinguishes your custom object from a predefined object.
■ Be careful with spelling, spacing, and capitalization when naming an object. Typically, the logical
name of an object in the Siebel repository uses complete words, mixed casing, and a space
between words. However, a physical database object might use an abbreviation, uppercase, and
an underscore. For example, the Service Request business component references the
S_SRV_REQ database table.
■ Do not use a reserved SQL word in an object name. For example SELECT, COUNT, FROM, WHERE,
and UNION. This technique can cause unpredictable application behavior.
■ Avoid changing the name of an object. It is time consuming to change the name of an object
when Siebel CRM references it throughout the Siebel repository. If you must change the name
of an object, use the Find in Repository feature from the Tools menu in Siebel Tools to find all of
the references.
TIP: If you are not sure how to name an object, use the predefined objects in the Siebel repository
as a guide. Examine the predefined objects and conform to their established naming formats. For
example, to create a new Association applet, use the <business component name> Assoc Applet
naming format.
■ Applets
■ Business components
■ Reports
■ Integration objects
For example, assume you create a copy of the Account List applet, name it the Premium Account List
Applet, and then set the Upgrade Ancestor property. The new applet might differ from the original
applet because the new applet includes a search specification that Siebel CRM only displays in
accounts that are considered premium accounts. In a subsequent release, Oracle might add a new
predefined list column to the Account List applet. During an application upgrade, your Account List
applet and the Premium Account List Applet retain the configuration changes you made. However,
these applets also receive the new predefined list column added in the new version.
Use caution if you copy an object. For more information, see “Guidelines for Reusing a Predefined
Object” on page 210.
Note the following factors if you use the Upgrade Ancestor property:
■ If you copy an object, then Siebel Tools does not automatically define the Upgrade Ancestor
property. You must define it manually.
■ Creating a new object without defining the Upgrade Ancestor property could add to your upgrade
effort, because a custom object is not upgraded. Instead, it is copied to the new repository, but
without changes.
■ Creating a new copy of a business component or applet can result in a redundant configuration.
■ cfg
■ css
■ gif
■ swt
■ htm
■ xsl
■ sws
■ swf
■ sw
■ ctl
■ sql
■ ucf
■ rox
■ rod
■ srf
■ prd
This topic describes some of the tasks you can perform to set up a development environment that
can you can use to configure Siebel CRM. For more information, see Using Siebel Tools.
For more information, see “How the EnableToolsConstrain Parameter Affects Text Strings” on
page 199.
You cannot use the Form Applet Wizard, List Applet Wizard, View Wizard, or set the HTML
Sequence if the ClientConfigurationMode parameter is All.
5 If Siebel Tools is open, then exit out of it, and then open it.
Creating a text You must choose from a list of string You can use the string override
string references to enter a value for a property to override the string
translatable text string, such as an reference.
Applet Title.
Creating a You cannot create a custom symbolic You can create a custom symbolic
symbolic string string. string.
You can use one of the following techniques to create a custom text string:
■ Enter a value in a string override field. For an example, see “Validating Data That the User Enters
In a Business Component Field” on page 258.
■ Add an HTML tag that modifies a text string. For more information, see “Changing the Text Style
of a Control or List Column in an Applet” on page 327.
2 Choose the View menu, and then the Options menu item.
5 Make sure the Entity Relationship Diagram tree and all child objects of the Entity Relationship
Diagram tree include a check mark.
If all child objects in the Entity Relationship Diagram tree are displayed, then Siebel Tools
displays a black check mark with a white background for the tree.
■ Task Group and all children of the task group object type.
■ Control User Prop and List Column User Prop children of the applet object type.
7 Click OK.
■ Installing software, see Siebel Installation Guide for the operating system you are using.
■ Setting up a remote user, see Siebel Remote and Replication Manager Administration Guide.
For example, if you install the Siebel client in c:\siebel\clnt, then install Siebel Tools in
c:\siebel\tools. This technique does the following:
■ Makes sure that the development environment and the Siebel client environment are distinct.
■ Makes sure that if you use Siebel Remote in these environments, that the two installations
do not conflict.
For more information, see Siebel Installation Guide for the operating system you are using.
2 Verify that each developer possesses a valid user name and password for the Siebel development
database server.
In most situations, Siebel CRM uses the employee login ID and password for the database server
user name and password.
3 Using a Siebel client connected to the development server database, create an Employee record
and a Mobile User record for each developer.
Use the first and last name of the developer for the employee first and last names. For the login
ID, use a consistent naming format, such as first initial and last name. This simplifies identifying
who locked a project.
NOTE: Password encryption interferes with project check in and check out. If you check projects
in and out, then you must disable password encryption in the client or the configuration file if
you run Siebel Tools.
To prevent unintended changes to important system preferences, you can also create a
responsibility that contains access to all views except the System, Service, and Marketing
Administration views. You can use a common position for all developers. For testing purposes,
you can set up an organization structure that models the business.
NOTE: If you do not grant the user the Developer responsibility, then Siebel Tools does not
activate drilldowns in the Tools client.
For more information on setting up an employee, see Siebel Applications Administration Guide.
For more information on setting up a responsibility, see Siebel Security Guide.
5 On the Siebel Server, use the Database Extract server component to extract the local database
for each developer.
Database Extract creates a template for the local database that includes only business data, not
repository data. The Database Extract server component extracts Enterprise data into this
template, together with any data with limited visibility, such as contacts, accounts,
opportunities, and so forth. For more information, see Siebel Remote and Replication Manager
Administration Guide.
6 To initialize the Mobile Client Database for the developer, open Siebel Tools and connect to the
local database.
Siebel CRM displays a message that states the local database is not found.
8 In the Siebel Remote Parameters dialog box, enter the Siebel developer logon you defined in
Step 3 and an appropriate password.
The initialization program creates the sse_data.dbf local database file in the LOCAL subdirectory
of your Siebel Tools installation. For example, c:\siebel\tools.
A script is associated with a specific object and event in the Siebel Event Model.
■ Siebel Visual Basic. Similar to Microsoft Visual Basic. It supports scripting only on the Windows
operating system.
■ Siebel eScript. Compatible with JavaScript. It supports scripting in Windows and other
operating systems, such as UNIX.
You can use Siebel Visual Basic and Siebel eScript to do the following:
■ Customize the base functionality of the screens and business components in Siebel CRM.
■ Develop a data validation routine to enforce specific rules before or after Siebel CRM manipulates
records. Siebel CRM performs validation routines before the user performs an update or an
insert. The intent is to make sure that Siebel CRM does not enter data into the database that is
not logical or is not complete.
■ Develop a data transport routine to import and export small volumes of data between Siebel CRM
and a third-party application.
■ Develop a routine to open an external application on the Siebel Server in response to a Siebel
event or to pass start-up parameters. This capability is valid for browser script only.
You use the Script Editor, Debugger, and Compiler to develop and test Siebel Visual Basic script,
Siebel eScript script, or browser script. Because Siebel CRM integrates this capability with the Applet
Layout Editor, you can attach a script to a control that Siebel CRM displays in the Siebel client, such
as a field or ActiveX control.
You can associate a server script with the following object types:
■ Web applet
■ Business component
■ Business service
■ Application
For more information about:
■ Scripting, see Siebel eScript Language Reference and Siebel VB Language Reference.
■ Redeploying a script written for a prior release of Siebel CRM in the Siebel client, see Siebel
Database Upgrade Guide.
■ For Siebel CRM, you can script a wide variety of events that the browser supports. However, an
HTML control does not support the OnClick event. For more information, see Siebel eScript
Language Reference.
■ For a Siebel employee application, you can only script on the OnBlur or OnFocus events.
You use Siebel Tools to write a browser script. You can associate a browser script with the following
object types:
■ Applet
■ Business component
■ Business service
■ Application
Figure 35. Hierarchy of Relationships Between Object Types That Siebel CRM Uses with a Script
Figure 36 illustrates an example of how you can use a browser script to validate the field in a form
that Siebel CRM displays in the Siebel client. The example uses browser script on the
BusComp_PreSetFieldValue event handler in the Account business component.
■ Applet
■ Business component
■ Business service
■ Application
You cannot write a script to handle a pre or post event with standard interactivity.
Note the following conditions for writing browser script with a control:
■ You can write a script to handle a control event, such as Onclick, Onblur, or with a Text control.
■ You can write a script for a predefined browser event on a control that is associated with an
applet. For example, onChange, onMouseOver, onFocus, onMouseOut, or onBlur.
■ You must write browser script on the onChange browser event of the control.
■ you must use the native methods of the browser Document Object Model (DOM).
When you compile objects to a repository file, then Siebel Tools only generates browser
scripts for compiled objects. Siebel Tools places them in the directory that you define in the
Scripting tab of the Development Tools Options dialog box. To view this dialog box, choose
the View menu, and then the Options menu item.
If you do not create a directory, then Siebel Tools stores the browser script in the following
directory:
<ORACLE_HOME>\public\<language_code>\<srf_timestamp>\bscripts\all
where:
❏ srf_timestamp is the timestamp when the Siebel Repository File (SRF) is saved
When you run the genbscript.exe utility, then the executable generates all browser scripts
that exist in the Siebel repository and places them in a directory that you define. You run the
genbscript.exe utility from the <ORACLE_HOME>/bin directory.
where:
❏ destination_directory is the destination directory where genbscript stores the script files
❏ language_code is the language code, such as ENU. The language code parameter is
optional for ENU, but you must define it for other languages.
For example:
This technique loads the scripts into SWSE, thus avoiding an Object Not Found error message.
For more information, see “Updating Web Images to Load Scripts into SWSE” on page 208.
3 Deploy the browser script to the following directory on the Siebel Server:
<ORACLE_HOME>\webmaster
4 Deploy the browser script to the following directory on the Siebel client:
<ORACLE_HOME>\public\<language_code>
5 If you migrate scripts from one location to another, then copy the following directories to the
correct location:
\\<srfTimestamp>\bscripts\all\
If you generate a browser script, then the Siebel system creates a directory path and names it
according to the version of the Siebel repository file. The system appends it to the path that you
create as the destination directory. For example, after you compile browser scripts to the Siebel
Server, the system uses the following path on the Siebel Server to the browser script files:
c:\<ORACLE_HOME>\webmaster\<srfTimestamp>\bscripts\all\
6 If you compile on a Siebel Server that runs in the Windows operating system, and then migrate
browser scripts to a Siebel Server that runs on an Oracle Solaris or AIX operating system, then
you must FTP the directories to the correct location on the Oracle Solaris or AIX computer.
For example, type the following URL into the Address field of the browser:
http://<user_name>.siebel.com/callcenter
2 Type the following URL into the Address field of the browser:
http://<user_name>.siebel.com/callcenter/
start.swe?SWECmd=UpdateWebImages&SWEPassword=<password>
where:
password is the Siebel Enterprise Security Token. You define this token when you configure the
SWSE logical profile. Siebel CRM stores it in encrypted form in the eapps.cfg file.
In general, it is recommended that you reuse predefined objects to configure Siebel CRM. You must
avoid making significant customization of Siebel CRM, and attempt to reuse and customize
predefined objects where possible. However, there are situations when reusing a predefined object
is not appropriate and can cause problems. This topic includes information about when to reuse and
when not to reuse a predefined Siebel object.
■ Creating new modules that do not exist in the predefined Siebel application. This work typically
involves customizing the database, and creating many new business components and business
objects.
■ Decreased maintainability.
■ Potential for decreased performance. A predefined Siebel application is tuned for performance.
■ Use predefined configuration objects. For example, business components, business objects,
links, applets, views, and so forth.
■ Use Siebel declarative techniques and tools to translate business requirements into application
behavior. For example, Siebel Tools, workflow, personalization, run-time events, and state
model.
■ Oracle configures many predefined objects for optimal performance. A custom object you create
might not be automatically configured for performance.
■ When troubleshooting, you can use the object in the sample database to revert back to the
original object. You can also use the comparison feature in Siebel Tools to determine what
changes were made to the object that might cause the problem.
■ Repository and application maintenance requires less time and fewer resources.
■ Eliminating unnecessary copies of objects reduces the amount of redundancy in the Siebel
repository.
■ Because Oracle thoroughly tests a predefined object, less effort is required to test Siebel CRM or
to resolve an application error.
■ By reducing the number of repository objects that you must evaluate or upgrade, less effort is
required when you upgrade Siebel CRM.
CAUTION: It is recommended that you do not modify administration objects. For example, objects
in the Administration - Server Configuration and Administration - Server Management views, and the
List Of Values business component. Modifying these objects might cause unpredictable behavior.
■ Oracle tunes the indexing for the table for the originally intended use. Using it for an alternative
purpose might reduce performance.
■ The user key table for the unique indexes might not meet your requirements. For a predefined
table, you cannot change these objects. If a user key column does not contain the required data,
then the uniqueness of the record, performance, and Enterprise Integration Manager might be
compromised.
■ The dock object visibility rules might not meet your requirements. Modifying the rules for the
table might compromise Siebel Remote. For more information, see Chapter 24, “Configuring Dock
Objects for Siebel Remote.”
If you do not reuse a table appropriately, then future reuse of that table for the original purpose of
the table might be difficult. For example, assume you use the S_CALL_LST table to store data that
is not related to a call list. If you later implement predefined list management, then Siebel CRM
displays data that is not related to the call list in the list management views. Adding a search
specification to remove this data might compromise performance that adding an index might or
might not correct. For more information, see “Options to Filter Data Displayed in an Applet” on
page 126.
If you overload a table, it is often necessary to add a search specification against a Type field to
prevent data from one business component from displaying in another business component.
■ The search specification used to type the table into various business components might cause
performance problems. Often, the table is not designed to be overloaded. For example, the
TODO_CD column of the S_EVT_ACT table is often used for typing the table. This table is not
denormalized on to the S_ACT_EMP intersection table for activities and employees. A query that
uses the sales representative visibility against a business component that references the
S_EVT_ACT table might result in poor performance.
■ There is no guarantee that adding indexes against these type columns will resolve a performance
problem because adding an index might compromise performance elsewhere. The fact that the
type columns are often not denormalized onto position, employee, or organization intersection
tables affects queries in certain views.
For more information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ There are very few situations that require you to create a new XM table. Siebel CRM already tunes
XM tables to support large data volumes and multiple data types. Before you create a new XM
table, make sure to examine the predefined XM tables to determine if one meets your
requirements.
■ In some instances, a base table does not reference an XM table. Instead of reusing another
unsuitable predefined table because it contains a foreign key to the base table, you must create
a new table. For example, if you require a one-to-many business component from the
S_EVT_ACT table, then you must create a one-to-many table rather than reuse a table that might
be inappropriate, such as the S_ACT_TIMESTAMP table, provided that the business component
does not store timestamp information.
For more information see, see “How an Extension Table Stores Custom Data” on page 53.
Do not use a one-to-many XM table as an intersection table. Because Siebel CRM does not tune an
XM table for this usage, using it as an intersection table might cause poor performance. To support
one side of the relationship, you must also create a custom foreign key, which can cause problems
with Siebel Remote and Enterprise Integration Manager.
If no suitable intersection table exists between two tables and one is required, then you must
customize the database. For more information, see “How an Extension Table Stores Custom Data” on
page 53.
if you reuse a predefined business component, then use the following guidelines:
■ If you require a business component that is similar to a predefined business component, then do
one of the following:
■ Create a new business component that references the predefined business component.
Siebel CRM prefers that you modify a predefined business component because it minimizes the
number of business components in your configuration. This situation leads to a smaller repository
that is easier to maintain and upgrade because it is more closely aligned with the predefined
Siebel application.
■ Use the business component in a way that is consistent with the intended use of the business
component. For example:
■ Use the Contact business component to store individual details for each contact at a customer
site.
■ Use the Account business component to store details of the business relationship with the
customer.
■ Do not use the Service Request business component to store information that is not related
to a service request, such as a financial transaction or order history.
■ If you reuse a business component, then configure it to be as flexible and reusable as possible.
For example:
■ In one release you use the Service Request business component to store customer
complaints.
■ In another release, you use the Service Request business component to store addresses for
customers who changed their address.
In these situations, you must use the Service Request business component rather than cloning
the business component in a subsequent release for other service transactions. For example, you
could use the SR Type field to distinguish between the two service transactions. Your business
requirements must also be as generic as possible to facilitate the use of a single business
component.
■ Always configure Siebel CRM in a way that allows you to reuse a business component instead of
creating a new business component. For example, an implementation can allow one group of
users to create new opportunities, but another group can only edit existing opportunities. Instead
of creating a new business component and setting the No Insert property to TRUE, you can create
a new applet and set the No Insert property to TRUE for the applet.
■ When a business component must be included twice in a business object. For example, when the
Account business component and Sub Account business component must be included in the
Account business object.
■ When two business components contain different search specifications and predefault values for
the Type field that differentiates the records of these two business components. For more
information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ If your requirements closely align with the functionality of the predefined applet, and if the applet
only requires minor modification, then modify a predefined applet. For example, to change a title,
deactivate, or add a few controls or list columns, or to change display labels.
■ If the predefined applet meets your requirements for a relationship in the data model, such as
between an opportunity and contacts, then copy a predefined applet. You can then modify the
new copy to make significant changes, such as the applet layout, resequencing, inactivating
objects, or adding many new controls and list columns. This technique provides a configuration
that is easier to maintain and upgrade.
■ If your requirements demand a different drilldown to a different view, then copy a predefined
applet, and then modify the copy.
■ If you cannot locate a suitable predefined applet, then create a new applet. For example, if your
requirements demand that you display a new business component.
■ If you copy an object, then use the Upgrade Ancestor property. For more information, see
“Guidelines for Using the Upgrade Ancestor Property” on page 198.
■ If the requirements for a new view closely align with a predefined view, but require simple
changes, such as changing the view title, or moderate layout changes, such as displaying a
different applet or adding a toggle, then you can modify the predefined view.
■ For a view that consolidates two predefined views, it is recommended that you modify one of the
predefined views, and then use the Responsibility Administration screen to remove visibility to
the redundant view.
■ If the requirements for a view do not align with a predefined view and require significant changes
to the predefined view, then you can create a new view. Typically these views implement new
functionality that your implementation requires. For example, you might need a view to display
new business objects or business components. In these situations, it is easier to maintain and
upgrade a new custom view rather than modifying a predefined view.
■ If you copy an object, then use the Upgrade Ancestor property. For more information, see
“Guidelines for Using the Upgrade Ancestor Property” on page 198.
If you only require a minor change to the user interface object, then it is recommended that you use
the predefined object because this technique reduces the time you spend to configure and maintain
the Siebel repository. The following reasons describe when it is appropriate to copy a user interface
object:
■ When you require two different user interface objects to display different records and use
different search specifications on applets. For more information, see “Options to Filter Data
Displayed in an Applet” on page 126.
■ When you require different read and write properties between two objects. For example, one
applet is read-only and the other applet is editable. In this situation, only copy the object if you
cannot use the dynamic read-only business component user prop to accomplish this
functionality.
■ When you require different drilldowns for different applets, depending on the view that contains
them. In this situation, only copy the object if you cannot use a dynamic drilldown to accomplish
this functionality.
If you copy an applet that uses a business component that references a specialized class, then use
the following guidelines:
■ You must use the copied applet with the original business component, not a copy of the original
business component.
■ To use a copied applet with a copied business component, you must change the class of the
copied applet.
Copying an object can result in problems following an upgrade. These problems can be difficult to
locate and debug. The errors often occur because some C++ code for the business component or
applet class attempts to find a field that does not exist in your custom copy of that business
component or applet. The only way to debug the problem is to compare your custom business
component with the predefined business component, and to add any new fields and other child object
definitions that Siebel CRM added in the new release. This work can be complex, requiring detailed
knowledge of what changed in the new release.
■ Performance might be degraded. The performance of the component or object is tuned by Oracle
for a specific purpose.
■ Future use of the object might be limited. For example, the Service Request business component
stores a service interaction with a customer. If you change this usage, you might limit your ability
to use this business component for the original purpose in a future release.
■ Large amounts of customization might be required to make the improper use of an object
function correctly. For example, if you reuse a table for an alternative purpose, then you must
configure Siebel CRM to update all required columns and add a search specification to the
business component. If you use a predefined business component for a purpose other than the
original design intent, then there might be specialized class behavior that affects your ability to
properly use the business component. It might be necessary for you to perform more
customization to make the business component function so that it meets your requirements. For
more information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ The intended purpose of the reused object might not be clear to future developers. For example,
if you use the S_SRV_REQ table to store financial transactions, the configuration is not clear to
future developers because the table bears no relationship to financial transactions.
■ Change the table schema by adding or changing unique indexes or required columns.
■ Objects that are not included in your licensed configuration might be included in your
deployment.
To determine if you can or cannot reuse a predefined object, perform the following tasks:
3 (Conditional) Determining If You Can Reuse a Predefined Table Column on page 220
4 (Conditional) Determining If You Can Reuse a Predefined Business Component Field on page 223
5 (Conditional) Determining If You Can Reuse a Predefined Business Component on page 225
In general, use the predefined objects, if possible. However, there might be situations when it is
difficult to determine to reuse a predefined object or to create a new object. This situation occurs if
predefined objects cannot meet your requirements. You must determine the functional and technical
fit of the proposed use. Where the fit is appropriate, then you can reuse the object. Where it is not,
you must create a new object. You must not reuse an object merely because it is not already used
by another Siebel application.
If no predefined object is suitable, then you must consider customizing the data objects layer. For
more information, see “Options to Customize the Data Objects Layer” on page 69.
To determine if an object is a functional fit to your business requirement, examine the table or
business component that you intend to use.
For more information, see “Reasons to Reuse or Not Reuse a Predefined Object” on page 209.
2 Determine if you must copy the object rather than reuse the object.
For more information, see “Guidelines for Reusing a Predefined Object” on page 210.
3 Make sure the original nature and purpose of the Siebel object is compatible with your proposed
use.
For example, storing customer complaints is compatible with the Service Request business
component, but not for storing financial transactions.
4 Make sure relationships to other objects are compatible with your requirements.
However, the fact that an object contains the correct relationships is not sufficient for reuse. For
example, you must not use the S_EVT_ACT table as an intersection table only because it contains
two of the foreign keys that you require. Doing so can cause the table to overload and result in
degraded performance.
5 Determine if the visibility properties of the object are or are not compatible with your
requirements.
If the object is not a good functional fit, then reusing the object for that purpose might be
inappropriate. The following are examples of improper use:
■ Using an unused table for a custom business component where the table does not possess a
relationship to the intended usage of the business component.
■ Using an unused table column or business component field that does not possess a relationship
to the intended usage of the field.
■ Performance factors
■ Determine if you must configure Siebel CRM to update the user key and unique index
columns.
If you must perform a large amount of customization to use an unused table, then technical fit
diminishes.
3 Determine the affect that the foreign key relationships have on Siebel Remote.
Foreign key relationships and Siebel Remote are closely interrelated. Simply using the correct
foreign key might not guarantee that Siebel CRM downloads the data to the Remote client. You
must determine how reuse affects the dock objects and rules with which the foreign keys
interact. For more information, see Chapter 24, “Configuring Dock Objects for Siebel Remote.”
Many columns that are not foreign keys can affect visibility. For example,
S_PROD_INT.ENTERPRISE_FLG with a value of Y confers partial docking visibility to the product
record. Misusing these columns can result in a significant negative affect on Siebel Remote.
This topic describes the factors you must evaluate when you consider reusing a predefined table
column. Reusing a predefined table column if there is not a good technical or functional fit can lead
to a poor result. In this situation, it is better to create a new, custom field or column. For more
information, see “Options to Customize the Data Objects Layer” on page 69.
Siebel Remote uses the ENTERPRISE_FLG column to implement visibility on records that use
normal visibility constraints. Siebel Remote might use other columns to control download
behavior, such as the RTE_CONTACTS_FLG or RTE_PRSP_CONS_FLG column on the S_SRC
table. For more information, see Chapter 24, “Configuring Dock Objects for Siebel Remote.”
b Choose the Flat tab in Siebel Tools, and then submit one of the following queries to determine
if a dock object visibility rule uses a particular column:
❏ Query the SQL Statement and DBX SQL Statement properties of the Dock Object Visibility
Rule object for the column you are considering.
❏ Query the Filter Sql Statement property of the Dock Object Table object for the column
you are considering.
Note that you must display the dock object type and child object types of the dock object.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
For more information, see Siebel Remote and Replication Manager Administration Guide. If you
are in doubt about how a column might affect Siebel Remote, then see “Getting Help from Oracle”
on page 196.
2 To reuse a table column or business component field that references a LOV (list of values)
bounded column, make sure you use a bounded list that uses the same LOV type as the column
object.
If the LOV Bounded property of the column is TRUE, then Enterprise Integration Manager enters
data into the column only if the corresponding LOV type and value exist in the S_LST_OF_VAL
table. For more information, see “Creating a List of Values” on page 463.
In most situations, you must not change the type or size of the column. An exception is DB2 for
OS/390 and z/OS operating systems, because these systems store the maximum size of a
VARCHAR column in an index. For more information, see Implementing Siebel Business
Applications on DB2 for z/OS.
Examine the Comments property of the column to determine if the column is obsolete. You must
not use an obsolete column because it might be deleted in a future release.
5 Examine the Foreign Key Table property of the Column object to determine if the correct foreign
key relationship exists:
■ If a field on the business component already uses the key, then reuse that field rather than
creating a new field. The original purpose of the unused foreign key field or column must
match your intended use.
■ Do not use a foreign key column that does not contain the correct foreign key relationships.
For more information, see “Guidelines for Considering a Foreign Key Relationship” on page 222.
If no other suitable field or column exists, then some one-to-one tables contain generic ATTRIB
columns that you can use. For example, the S_CONTACT_X table. If you use an ATTRIB column,
make sure you do the following:
a Extend a base table with a custom extension column instead of using an ATTRIB column in the
following situations:
❏ For foreign keys and the Primary ID Field. For more information, see “About the Primary
ID Field” on page 106.
❏ For a column that Siebel CRM frequently queries or is always present in the result set.
For example, a field that is in the initial list view of a screen, or a field whose Force Active
or Link Specification property is TRUE.
b If you reuse a predefined ATTRIB column, then make sure another field does not use it. If
another field does use it, then choose another unused ATTRIB column.
For more information, see “Options to Use a Predefined One-to-One Extension Table” on page 70.
You must verify that another field on the same business component does not already use the
column. If more than one field references the same table column, then you might encounter a
duplicate column insert error during a copy operation. In this situation, you must use the original
Siebel field that references the desired column. Otherwise, use another appropriate column, such
as a custom extension column or an unused ATTRIB column.
■ Do not use a column that is part of the user key of a table for any other purpose than which
the column is intended. Doing so might result in degraded performance. For more
information, see Siebel Performance Tuning Guide.
■ Do not enter data into a nonforeign key value or map the foreign key to a different table as
a way to map a user key column that is a foreign key to a table. Enterprise Integration
Manager (EIM) uses the user key to identify a unique record. Inappropriately entering data
into a user key column that references a foreign key might prevent Enterprise Integration
Manager from operating correctly.
For more information, see “How a User Key Creates a Unique Set of Values” on page 67.
Do not use a predefined column that is not a foreign key to store a custom foreign key. Doing so can
affect Siebel Remote and Enterprise Integration Manager. This situation can cause problems when
Siebel CRM generates EIM mappings or routes data to the user.
This topic describes the factors you must evaluate when you consider reusing a predefined business
component field. Reusing a field if there is not a good technical or functional fit can lead to a poor
result. In this situation, it is better to create a new, custom field. For more information, see “Process
of Determining If You Can Reuse a Predefined Object” on page 218.
In certain situations, you can configure the Primary ID Field for a multi-value link to improve
performance. For more information, see “About the Primary ID Field” on page 106.
For a custom multi-value link, you must attempt to reuse an unused column or the Primary ID
Field before you create a new custom extension column:
a Make sure the Foreign Key Table property of the unused column references the table of the
business component of the multi-value link.
b Make sure the Primary Child Col property is TRUE.
c Make sure the Primary Child Table, Primary Child Join Column, and Primary Join Column Name
properties are set with an appropriate value.
For a many-to-many relationship, the Primary Inter Table Name must reference the
intersection table. Because you cannot set these values for a base table column that is
predefined, you must make sure that the unused field or column is the appropriate Primary
ID Field.
d If you cannot locate an appropriate unused primary field or column, then you must verify that
another multi-value link does not already use it.
For more information, see “Sharing a Primary for a Multi-Value Link” on page 224.
e If you cannot find a suitable unused Primary ID Field or column, then you must extend the base
table and create a custom field.
Note that the EIM Table Mapping Wizard does not automatically create an EIM explicit
primary mapping object for a custom Primary ID Field. For more information, see “Improving
Performance by Defining the Primary ID Field of a Multi-Value Link” on page 562.
Do not reactivate a field that is currently inactive in a predefined Siebel application for the
following reasons:
■ The field might be part of future functionality that is not yet implemented.
3 Make sure a specialized business component does not reference the field.
Only use a field on a specialized business component for the purpose for which the field is
originally intended. Specialized behavior might be affected due to an unintended use of the field.
■ Use the Last Name or First Name field of the Contact business component to store the name of
a contact.
■ On the Account business component, instead of creating a custom extension column for a new
field to store an email address, use the EMAIL_ADDR column of the S_ORG_EXT table.
■ On the Order Entry business component, use the Revision field to store the revision number.
Specialized behavior controls this field.
■ On the Campaign business component, use the Route Prospects field to store information that
describes the campaign contacts that Siebel CRM routes to the Remote client. If you store other
information, then Siebel Remote performance might be compromised.
■ Use the WEIGHT column on the S_CONTACT table to store the weight of the contact. Do not use
it to store information that is not related to the weight of the contact.
TIP: The Comment property of the column object type often describes the intended purpose of the
column. Use comments to help you decide when to reuse a column.
Instead of using a specialized business component, create a new business component. If you use
a business component that references a specialized class for a purpose other than for which it is
intended, then the class code might generate problems that are difficult to debug. For example,
if you use the eEvents Parent Event business component to store data that is not related to
events management, then the specialized code might result in the creation of an undesirable
subevent. For more information, see “Guidelines for Creating a Business Component That
References a Specialized Class” on page 86.
2 Make sure the business component does not reference the S_PARTY table.
Never use a business component that references the S_PARTY table for a purpose other than
which the business component is intended. A business component that references the S_PARTY
table influences other areas, such as access control and Remote visibility.
You cannot use a predefined business component that is not licensed for your configuration.
This chapter describes how to use the Entity Relationship Designer. It includes the following topics:
■ Various edit and layout options, such as aligning shapes, moving shapes, and modifying text.
■ Filters the list of objects from which you choose when you bind entities and relations to Siebel
objects. This way, the list includes only those objects that support the context that the ERD
represents. If no business components are suitable for binding, then you can open a wizard in
the Entity Relationship Designer to assist you with creating a new business component.
■ Allows you to use the crows feet diagraming format to define relationships between entities.
■ Requires less work to define requirements for the data objects layer.
■ Improves your ability to trace configuration changes back to data object layer requirements.
Table 34 describes the business components that are available to bind to Entity C. The business
components that are available to bind depends on how the Entity Relationship Designer filters them.
Table 34. Example of how the Entity Relationship Designer Filters Business Components
Unbound Any Unbound All business components are available for binding.
Bound one-to-one Unbound A business component that contains a join to the primary
table of the business component that is bound to Entity
A is available for binding.
Bound one-to-many Unbound The following business components are available for
binding:
Bound many-to-one Unbound The following business components are available for
binding:
Table 35 describes the links and joins that are available to bind to relationship AC.
Table 35. Example of how the Entity Relationship Designer Filters Links and Joins
many-to-many A link between business components that are bound to Entities A and C is
available to bind.
Two people are typically involved with creating and binding an ERD:
■ A business analyst defines an ERD that represents your business model because the analyst
possesses knowledge about the business.
■ A technical architect or developer binds the entities and relationships in the diagram to Siebel
objects because the architect or developer possesses knowledge about the data objects layer.
An ERD can include business entities, entity properties, and the type of relationship that exists
between entities, such as one-to-one, one-to-many, or many-to-many. Examples of common
business entities include accounts, contacts, and addresses.
2 Make sure object types for the Entity Relationship Designer are displayed.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
4 In the Entity Relationship Diagrams list, right-click, and then choose New Record.
The project must be locked to enter it in the Project field. For more information, see Using Siebel
Tools.
7 Drag and drop an entity from the ERD Palette to the canvas.
8 Click the entity, and then enter a value in the Name property in the Properties window.
9 Repeat Step 7 through Step 8 for the next entity in your diagram.
10 Drag and drop the desired relationship, such as ERD 1:1, from the pallet to the canvas.
11 Connect each end of the relationship to a connector point on one of the entities.
TIP: Before you connect two entities, place the entities to be connected on a horizontal plane,
with the preceding entity placed on the left and the subsequent entity placed on the right. Also,
place the entities in close proximity to one another. This way, when you drop the relationship,
Siebel Tools automatically connects the start point and the end point of the relationship.
12 Repeat Step 7 through Step 11 until you added and connected all entities and relationships.
After you create an ERD that includes entities, you can bind an entity to a business component. If
you bind an entity, then the Entity Relationship Designer filters the list of business components so
that they fit the context of the ERD. For more information, see “Example of How the Entity Relationship
Designer Filters Business Components” on page 228.
2 In the Bind Business Component dialog box, choose the business component that you must bind
to the entity.
If no business component meets your needs, you can click New to start the New Business
Component Wizard. For more information, see “Customizing a Business Component” on page 250.
After you click OK, Siebel Tools displays the name of the business component and the underlying
base table in the entity.
After you bind an entity to a business component, you can associate an entity attribute with a
business component field.
2 Right-click in the Multi Value Property Window, and then choose New Record.
3 In the Business Component field, click the arrow, and then choose a field.
Siebel Tools associates the attribute with the business component field. Note that the pick applet
that displays if you click the arrow in the Business Component field is context-sensitive. It
displays business component fields that are bound to the entity. If the entity is not bound to a
business component, then Siebel Tools displays a set of default fields in the pick applet.
After you bind two entities to business components, you can bind the relationship between them.
You can bind this relationship to a link or join. For more information, see “Example of How the Entity
Relationship Designer Filters Links and Joins” on page 229, and “About Links” on page 111.
Note that you must bind the two entities that the entity relationship joins before you can bind a
relationship to a link or join.
In the Bind Relationships dialog box, Siebel Tools displays the joins or links that exist between
the two business components.
3 Choose the join or link that best represents the relationship that your ERD describes.
After you complete the bind, Siebel Tools bolds the relationship in the Entity Relationship
Designer.
2 In the Entity Relationship Diagrams list, right-click the diagram you must open, and then choose
Edit Entity Relationship Diagram.
■ To view the relations list, in the Object Explorer, expand the Entity Relationship Diagram tree,
and then choose the Entity Relation tree.
NOTE: You cannot use the Entity Relationship Diagrams list or the Properties window to modify the
type of relationship, such as changing a one-to-one relationship to a one-to-many relationship. To
change the type of relationship, delete the old relationship, and then drag the new desired
relationship from the ERD Palette to the canvas.
For more information, see “Opening an Entity Relationship Diagram” on page 232.
2 In the Entity Relationship Designer, choose the relationship you must modify.
If you change the value for the Name, End Name 1, or End Name 2 property, then Siebel Tools
updates the labels in the diagram.
2 In the Entity Relationship Diagrams list, locate the entity relationship diagram you must modify.
3 In the Object Explorer, expand the Entity Relationship Diagram, and then click Entity Relations.
4 In the Entity Relations list, locate the record you must modify.
If you change the value for the Name, End Name 1, or End Name 2 property, then Siebel Tools
updates the labels in the diagram.
2 In another application, such as Word or Outlook, choose Paste from the Edit menu.
■ Zooming, Displaying the Grid, or Snapping to the Grid in the Entity Relationship Designer on
page 237
c Modify the properties in the Item Properties dialog box, and then click OK.
b Right-click the canvas, choose Layout, Align, and then choose one of the following menu items:
❏ Lefts
❏ Centers
❏ Rights
b Right-click the canvas, choose Layout, Make Same Size, and then choose one of the following
menu items:
❏ Width
❏ Height
❏ Both
b Grab the point, and then drag it to a new position on the canvas.
You can change the shape of a relationship. For example, you can add a right angle. This
technique helps to avoid overlapping lines in a complex diagram.
2 To hide the text labels of a relationship, right-click a relationship, choose Edit, and then choose
Hide Text.
You can hide the text label of a relationship, including the Relationship Name, End Name 1, and
End Name 2.
3 To move the name of a relationship, right-click a relationship, choose Edit, and then choose Move
Text Back or Move Text Forward.
You can change where Siebel Tools displays the text label for the name of a relationship. Note
that you cannot change the location of the text labels for the End Name 1 and End Name 2
properties.
4 To return text labels of a relationship to the default setting, right-click a relationship, choose Edit,
and then choose Move Text to Default.
5 To display a connection point, right-click the canvas, and then choose Connection Points.
To hide connection points, choose Connection Points again to remove the check mark.
A connection point is the point on an entity where the relationship connects. You can display or
hide a connection point. For example, you can display connection points when you create an ERD
and then hide them when you print an ERD.
■ Right-click the shape, choose Layout, Move, and then choose one of the menu items
described in the following table.
Right by 1
Up by 1
Down by 1
Left by X Moves the shape in the direction you choose according to the number
of pixels that one cell on the canvas contains. The number of pixels can
Right by X
vary depending on the resolution setting of your monitor.
Up by X
Down by X
TIP: You can also use the shortcut keys that Siebel Tools displays in the Move submenu of
the Layout menu.
■ Click one of the connection points on the entity, then drag it to a new position.
■ Right-click the entity, choose Layout, Resize, and then choose one of the menu items
described in the following table.
Height by -1
Width by 1
Width by -1
Height by X Resizes the dimension you choose according to the number of pixels
that one cell of the canvas contains. The number of pixels can vary
Height by -X
depending on the resolution setting of your monitor.
Width by X
Width by -X
TIP: You can also use the shortcut keys in the Expand submenu of the Layout menu.
To zoom, display the grid, or snap to the grid in the Entity Relationship Designer
1 To zoom in the Entity Relationship Designer, right-click the canvas, choose Zoom, and then do
one of the following menu items:
■ Choose a percentage.
You can choose a default zoom amount or enter a percentage to zoom in and out of an ERD.
2 To display the grid, right-click the canvas, and then choose Show Grid.
To hide the grid, choose Show Grid again, which removes the check mark.
The grid helps you align entities and relationships in an ERD. It is useful to display the grid when
you work in the canvas and then hide it when you print the ERD.
3 To turn on the Snap to Grid feature, right-click the canvas, and then choose Snap to Grid.
The Snap to Grid feature helps you keep entities and relationships aligned while you define your
ERD.
This chapter describes tasks you perform to configure tables, business components, and business
objects. It includes the following topics:
Related Topics
For more information, see the following topics:
■ Using the New Table Wizard to Create a New Table on page 240
For more information, see “Options to Customize the Data Objects Layer” on page 69.
2 On the General tab of the New Object Wizards dialog box, click Table, and then click OK.
3 In the General dialog box, in the Enter a name for the new Table field, enter a new table that
begins with CX_.
If you do not enter a name, then the New Table Wizard automatically adds a prefix.
NOTE: You must enter the Table Name in uppercase. A mixed case or lowercase name might
result in problems if you apply the changes to certain databases.
4 In the Choose a Project in which you wish to create the Table field, choose a project.
The New Table Wizard restricts the Project list to only locked projects. The wizard restricts all
lists that display in the wizard to objects that belong to locked projects.
5 In the Select the type of the Table field, choose from the following options:
■ A stand-alone Table
If you choose 1:1 Extension Table for an existing Table, then the New Table Wizard applies the
_X suffix to the table name.
6 Click Next.
The subsequent dialog box displays depending on the type of table you are adding.
7 If you are creating a stand-alone table, then click OK in the Finish dialog box.
8 If you are creating a a one-to-one or many-to-one extension table, then choose the parent table
in the Parent Table Specification dialog box, click Next, and then click Finish.
The wizard restricts the list of available parent tables to Data (Public) tables.
a Add the parent tables and names of foreign key columns to the parent table in the Parent Table
Specification dialog box.
The New Table Wizard restricts the lists for the Select the first Parent Table field and the
Select the second Parent Table field to all Data (Public) tables. The wizard verifies the names
of the Foreign Key columns that you enter. This verification makes sure that they are unique
and do not conflict with each other or with other system column names.
b Click Next.
Siebel Tools displays the Finish dialog, which allows you to review the changes before the
wizard creates the objects.
Siebel Tools displays the new table in the Tables list. The name is
CX_<YOUR_CUSTOM_NAME>_X.
NOTE: If you use the New Table Wizard to create a custom extension table, then the wizard adds a
U1 index to the table. However, the User Key column is empty. Siebel CRM does not support creating
a user key on a custom table.
For all tables, the New Table Wizard creates seven system columns and a P1 index on ROW_ID.
For a one-to-one extension table, the wizard sets the Type property to Extension and does the
following work:
■ TYPE
■ NAME
■ Creates a U1 index that includes PAR_ROW_ID(1), TYPE (2), NAME (3), and CONFLICT_ID (4)
For an intersection table, the New Table Wizard sets the Type property to Data(Intersection) and
does the following work:
■ Creates two Foreign Key columns using names you defined in the wizard
■ Sets the User Key Sequence property to 1 and 2
■ Creates a U1 index on the two Foreign Keys (1, 2), TYPE (3), and CONFLICT_ID (4)
2 In the Tables list, locate the table to which you must add an index.
3 In the Object Explorer, expand the Table tree, and then click Index.
4 In the Indexes list, add a new index.
When you add a custom index to a table, Siebel Tools appends an _X to the index name. Do not
use an index name that includes a word that is reserved on your server or client database. For
more information, see “Indexes of a Siebel Table” on page 67 and Siebel Object Types Reference.
5 In the Object Explorer, expand the Index tree, and then click Index Column.
6 In the Index Columns list, add a new record for each index column.
CAUTION: Be extremely careful if you use a custom extension column to track a foreign key. If you
use this technique, then it is recommended that you consult with Oracle concerning the visibility rules
that Siebel CRM applies to the foreign key table. To use Enterprise Integration Manager to load
values into the column, you must set the Foreign Key Table Name property to NULL for that column.
For information on creating a foreign key mapping for Enterprise Integration Manager, see “About
Interface Tables” on page 567.
2 In the Tables list, choose the table to which you must add an extension column.
3 Make sure the Type property for the table is not Data (Private).
4 In the Object Explorer, expand the Table tree, and then click Columns.
For more information, see “Applying a Custom Table to the Local Database” on page 247.
a PAR_ROW_ID. References the foreign key field that the one-to-many link uses.
❏ Define the search specification for the business component to automatically search for
records in the extension table that contain the default value. For more information, see
“Options to Filter Data Displayed in an Applet” on page 126.
To satisfy the U1 index of the one-to-many extension table, the combination of NAME, TYPE,
and PAR_ROW_ID is unique.
3 Add a link and business object component that establishes the parent-child relationship between
the new, child business component and the parent business component.
The S_EVT_ACT_X table is an example of a one-to-one extension table for the S_EVT_ACT table.
3 Set the Physical Type property of the column to Long and the Length property 0.
For more information, see “Adding an Extension Column to a Base Table” on page 243.
For more information, see “Applying a Custom Table to the Local Database” on page 247.
2 In the Tables list, locate the base table on which you must create an extension table.
3 Verify that the Type property for the table contains Data (Public).
4 Click Extend.
The Database Extension Designer automatically creates the required predefined columns and
predefined indexes, and then Siebel Tools displays the extension table in the Tables list. If
necessary, the designer also creates temporary columns in an interface table that Siebel Tools
imports to the base table for this extension table.
Be careful if you modify the Physical Type property of a column. Depending on existing data in the
column, it might not be possible to make a change.
Siebel CRM does not support modifying a predefined base table or the columns of a predefined base
table. You cannot modify the extension tables that come predefined with Siebel CRM. For more
information, see “How an Extension Table Stores Custom Data” on page 53.
a In the Tables list, locate the table that contains the extension column you must modify.
If you are adding a new extension table to the EIM Table Mapping list, then make sure you
click Activate to create all the temporary columns that Enterprise Integration Manager (EIM)
requires.
c In the Columns list, locate the extension column you must modify, and then modify the
properties.
a In the Tables list, locate the table you must modify, and then deactivate the unwanted column.
d Use ddlsync.ksh to synchronize the logical and physical schema and import the data.
a In the Tables list, locate the extension table you must modify.
NOTE: You can only delete a custom extension column or table. You cannot delete a predefined table
or the columns of a predefined table.
After you delete an extension table, Siebel Tools does not delete any corresponding temporary
columns in an interface table. You cannot use Siebel Tools to delete these columns. The columns will
remain in the logical and physical schema.
If a column is empty at the database level, and if the column is in the Siebel repository, and if the
column is in the development environment but is not in the production environment, then your
database administrator can use a database tool to remove a column that you do not require. However
the database administrator must perform a full database backup before removing a column. The
administrator must be careful when deleting a column because removing a column that Siebel CRM
still references might require the administrator to revert to a full backup.
Using the Siebel Database Configuration Wizard to run the Synchronize Schema Definition (ddlsync)
utility does not delete a column that is inactive or that was deleted from the Siebel Repository. For
more information, see Siebel Database Upgrade Guide.
2 In the Tables list, locate the table that contains the extension column you must delete.
3 In the Object Explorer, expand the Table tree, and then click Column.
4 In the Columns list, locate the extension column you must delete.
5 Choose the Edit menu, and then the Delete menu item.
NOTE: Siebel Tools does not cascade the deletion of an extension column. You must delete or
deactivate the attribute map after you delete an extension column. To delete an attribute map,
navigate to the Attribute Mappings list in Siebel Tools, and then delete the record.
3 Choose the Edit menu, and then the Delete menu item.
Siebel Tools disables the Apply/DDL button for tables whose Type property is External. For more
information, see Overview: Siebel Enterprise Application Integration.
3 In the dialog box, choose the Apply option, and then click OK.
You can optionally choose the Generate DDL option to create a DDL file instead of applying the
customization.
5 In the Apply Schema dialog box, complete the fields box using values from the following table.
Field Description
■ All. Update the local database to reflect all changes Siebel Tools
makes to the dictionary. If you choose this option, then Siebel Tools
compares each database object with the data dictionary and
updates the dictionary, if necessary.
Table space Leave each of these fields empty unless you are using DB2 for z/OS. If
you are using DB2 for z/OS, then see Implementing Siebel Business
16K table space
Applications on DB2 for z/OS.
32K table space
Index space
Storage control file Optional. The DBA provides this file. It is specific to your database.
Field Description
Database user Enter your database user ID, which is typically SIEBEL. Siebel Tools
reads the table owner from the configuration file for Siebel Tools.
Database user Enter your user password for the local database. For example, SADMIN.
password
Because the password is case sensitive, all characters of the password
must be in uppercase. For example, assume the remote user JSMITH
initialized the local database and used DB2 as the password. If the user
applies a schema change to the local database, then the user must use
SIEBEL as the Privileged User Id and DB2 as the Password.
When Siebel CRM initializes the local database for a remote client,
Siebel CRM changes the table owner password from SIEBEL to the
password of the remote user. In this situation, use the password of the
remote user in the password field.
ODBC data source Verify that the ODBC connection in the ODBC Data Source text box is
correct for your environment.
You cannot apply a schema change to any database other than the
database to which you are currently connected. You cannot define the
ODBC name of a different database.
6 Click Apply.
Your custom extension table and columns are now available to use in your configuration.
CAUTION: If a table is marked as Inactive in the Siebel Repository, and if you click Apply/DDL, then
Siebel Tools drops the underlying table from the Siebel database.
b Make sure all connected clients are disconnected from the database server.
c After Siebel CRM merges and routes all transactions for remote users, stop all Siebel Servers.
6 In the Tables list, locate the table on which you must apply a change to the Siebel database.
NOTE: Siebel Tools disables the Apply/DDL button for tables that contain External in the Type
property. For more information, see Overview: Siebel Enterprise Application Integration.
8 In the Choose option dialog box, choose the Apply option, and then click OK.
If you receive an error message and cannot apply your customization on the server database,
then you must use the Database Server Configuration Utility. For more information, see
“Downloading a Data Layer Customization to Remote Users” on page 249.
a Create an Upgrade Kit on your Server database that includes the Siebel Database Schema as the
upgrade kit component.
b Click Activate on the Upgrade Kits View to make the upgrade kit available.
c In the Tables list, locate the table that includes your customization.
Siebel Tools increases the version of the custom database schema and prepares the upgrade
of the remote client.
For more information, see Siebel Remote and Replication Manager Administration Guide.
Each remote client must reinitialize their local database with the extracted data. This procedure
differs depending on if you use Siebel Anywhere.
6 If you use Siebel Anywhere, then click Distribute in the Upgrade Configurations View.
This step makes the new custom schema version available for a schema upgrade. You must
manually set the Required flag. For more information, see Siebel Anywhere Administration Guide.
7 If you do not use Siebel Anywhere, then manually reextract and reinitialize all remote user
databases.
■ Configuring a Business Component to Copy Child Records If the User Copies the Parent Record on
page 255
■ Creating a Business Component to Allow the User to Set a Primary Team Member on page 256
For more information, see “Determining If You Can Reuse a Predefined Business Component” on
page 225.
2 In Siebel Tools, choose the File menu, and then the New Object menu item.
4 In the New Business Component Wizard, choose a project, enter a name for the business
component, and then click Next.
5 In the Single Value Fields dialog box, choose a column in the Base table, and then enter a name
for the field.
Siebel Tools displays the business component you just created in the Business Components list.
7 In the Business Components list, define the properties to meet your requirements.
You must follow a specific format. For more information, see “Guidelines for Determining How a
Business Component Sorts Records” on page 87.
If it is not, then contact Oracle Technical Services for assistance with this procedure. For more
information, see “Getting Help from Oracle” on page 196.
2 Verify that the business component to which you must add a sequence field is the child business
component in a parent-child relationship.
This child is the numbered business component. Siebel CRM numbers child records beginning
with 1 in each parent record.
3 Add a child field to the numbered business component using values from the following table.
Property Value
Name Enter text that indicates on which data Siebel CRM performs the sort,
such as Line Number or Order.
Type DTYPE_NUMBER
4 Add a child business component user prop to the numbered business component using values
from the following table.
Property Value
Property Value
Class CSSSequence
table Enter the name of the base table of the numbered business component.
6 Set the Sort Spec of the business component you created in Step 5 to Sequence (DESCENDING).
7 Add a child field to the sequence business component using values from the following table.
Property Value
Name Sequence
Column Enter the same value you entered for the column in Step 3.
This field is the foreign key field that establishes the parent-child relationship to the parent
business component. Set the Column property to the same column as the corresponding field in
the numbered business component.
9 Create a link that establishes a parent-child relationship between the parent and sequence
business components.
10 Create a child business object component of the business object that uses the predefined link
between the parent business component and the numbered business component. Use values
from the following table.
Property Value
11 Display the sequence value field in applets that display records from the numbered business
component.
In this example, if an account record includes a competitor, then the user must not choose any
competitors for the account. If the Type field includes a value of Competitor, then you must make
the Competitor field in the account record read-only.
For more information, see “How Siebel CRM Defines Read-Only Behavior for a Business Component
Field” on page 93.
3 In the Object Explorer, expand the Business Component tree, and then click Field.
4 In the Fields list, create a field using values from the following table.
Property Value
Calculated TRUE
6 In the Business Component User Props list, add a new record using values from the following
table.
Property Value
When you create a business component or field, make sure the values in the Name and Value
properties use the correct capitalization, spelling, and empty spaces. Also make sure that
quotation marks are not present.
If you use the same name with an outer join, then Siebel tools displays the following error message:
Table 'T1' is in an outer join cycle.
An inner join is a join that contains an Outer Join Flag property that does not contain a check mark.
An outer join is a join that contains an Outer Join Flag property that does contain a check mark.
A multi-value link that Siebel CRM uses with a multi-value field automatically copies the child records
because the child records that constitute a multi-value group remain with the parent record. For
example, the child account addresses, sales team, and industry list records for a parent account
remain with the account. Siebel CRM uses this capability for a different purpose if cascade copy is
defined for a multi-value link, and if Siebel CRM does not use the multi-value link in a multi-value
field. It is not necessary to reference the multi-value link to a field in the business component. For
more information, see “How Siebel CRM Constructs a Multi-Value Group” on page 474.
You can define cascade copy for a many-to-many relationship, where the Inter Table property of the
destination link is not empty. In this situation, Siebel CRM creates new intersection table rows rather
than new child business component records. Siebel CRM creates new associations rather than new
records. These associations exist between the new parent and the existing child records.
NOTE: Cascade copy might cause the values in an index to not remain unique. Therefore, if copying
child records causes an index to not remain unique, then Siebel CRM cancels the copy operation.
To create a business component to copy child records if the user copies the parent
record
1 Create a multi-value link using values from the following table.
Property Value
Destination Link The name of the link in which the parent-child relationship is
defined.
No Copy FALSE
2 Implement the multi-value link you created in Step 1 in the configuration for your Siebel
application.
To create a business component to allow the user to set a primary team member
1 In the Object Explorer, click Business Component.
2 In the Business Components list, locate the business component that the multi-value group
applet references.
For more information, see “Creating Multi-Value Groups and Multi-Value Group Applets” on
page 471.
3 In the Object Explorer, expand the Business Component tree, and then click Business Component
User Prop.
4 In the Business Component User Props list, locate the following business component user
property:
This configuration allows certain users to set a primary. Setting this user property to FALSE
allows someone other than the Manager or Siebel Administrator to alter the Primary team
member. If this user property is not set, then only a Siebel Administrator working in Admin mode
or a Manager working in Manager view mode can change the Primary team member on an
opportunity, account, or contact. For more information about user properties, see Siebel
Developer’s Reference.
■ Validating Data That the User Enters In a Business Component Field on page 258
■ Example of Creating a Business Component Field That Displays More Than One Currency on
page 259
■ Example of Creating a Predefault Value for a Joined Business Component Field on page 265
Before you create a new business component field, make sure there are no predefined fields that
meet your business requirements. For more information, see the following topics:
■ Determining If You Can Reuse a Predefined Business Component Field on page 223
3 In the Business Components list, locate the business component to which you must add a field.
4 In the Object Explorer, expand the Business Component tree, and then click Field.
5 In the Fields list, add a new record, and then define properties for the new record.
NOTE: You must not map multiple business component fields to the same column in a table. If
you use this technique, then the SQL query fails because it attempts to access the same column
twice in the same query. This technique might cause an error message when Siebel CRM updates
data, can cause problems with data integrity, and can lead to data loss for denormalized columns
that reference the column.
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 Create the symbolic strings that Siebel CRM displays for the error message.
4 In the Business Components list, locate the business component that contains the field for which
you must configure validation.
6 In the Fields list, locate the field for which you must configure validation.
7 In the Validation property, enter an expression that performs the desired validation.
You can use the Expression Builder to build the expression. To display the Expression Builder,
click ellipsis (...) in the Validation property.
8 In the Validation Error Message - String Reference property, enter the name of the symbolic
string you created in Step 2 for this error message.
As an alternative, you can use the Validation Message property to enter the error message
without using a symbolic string. You can also use the Validation Message - String Override
property to override the error message.
9 In the Message Display Mode property, choose one of the following display modes for the error
message:
■ User Msg. Displays only the error message that you provide.
■ User Msg with Error Code Only. Displays the error message that you provide along with
the system error code.
■ User Msg with Error Code/Msg. Displays the error message that you provide along with
the system error code and the system error message.
Siebel CRM ignores any configuration you define in the Validation property or the Validation Message
property for these date fields. For example, assume the user navigates to the Activities screen, clicks
Activity List, and then sets the value in the Start field to a date that is later than the value in the End
field. This Start field references the Planned field of the Action business component. If you define a
value in the Validation property or the Validation Message property for the Planned field, then Siebel
CRM ignores it. Instead, Siebel CRM uses one of the following specialized classes in the Action
business component to perform this validation:
■ CSSBCFINSActivity Siebel CRM version 8 of Siebel Industry Applications. The parent class is
CSSBCActivity.
Although you cannot configure the predefined validation in the classes, you can add script in the
BusComp_PreSetFieldValue event for the business component. This script monitors updates to these
fields, and then compares the field values. You can also write a custom error message in this script.
For more information, see the topic about the CSSBCActivity class in Siebel Developer’s Reference.
You can configure a field to display data in more than one currency. For example, assume a global
deployment in the United States and in Japan, where the deployment in the United States requires
data to display in dollars and the deployment in Japan requires data to display in yens.
NOTE: You cannot configure a Forecast business component to display dual currency because the
list columns that display monetary values do not reference fields. The list columns display values
that reference buttons that use specialized methods to perform the calculation.
3 In the Object Explorer, expand the Business Component tree, and then click Field.
4 In the Fields list, create a new field using values from the following table.
Property Value
Name My_Currency
Type DTYPE_TEXT
Join S_OPTY_X
Column ATTRIB_03
Siebel Tools stores the field in an unused column in the S_OPTY_X extension table.
5 In the Object Explorer, expand the Field tree, and then click Pick Map.
6 In the Pick Maps list, create a new pick map using values from the following table.
Property Value
Field My_Currency
7 In the Object Explorer, click Field, and then add a field to the Opportunity business component
for the converted revenue using values from the following table.
Property Value
Name My_Cvt_Revenue
Calculated TRUE
Calculated Value [Revenue]
The Currency Code Field property references the currency code field
of Step 4.
Type DTYPE_CURRENCY
CAUTION: Make sure the Exchange Date Field property on the originating currency field is
defined in a way that is similar to the converted currency field. If it is not, then Siebel CRM bases
the exchange date that it uses to convert the currency on the exchange date of the originating
currency field.
For more information, see “Requirements for the Field That Contains the Converted Currency
Amount” on page 261.
10 In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.
11 In the List Columns list, add a list column using values from the following table.
Property Value
Field My_Currency
12 In the List Columns list, add a list column using values from the following table.
Property Value
Field My_Cvt_Revenue
Runtime TRUE
It is not necessary to create a pick or detail applet because Siebel CRM automatically opens the
default applet that matches the field type.
a In the Siebel client, navigate to the Administration - Application screen, then the Currencies
view.
b Make sure each currency that is involved in the conversion is marked as active.
c Make sure at least one exchange rate is defined for each currency that is involved in the
conversion.
d Make sure at least one of the exchange rates for a given exchange direction includes a date that
occurs at or before the date that Siebel CRM uses as the Exchange Date.
15 Test your changes.
■ The Type property of the field that the Calculated Value property references must equal
DTYPE_CURRENCY. For example, if the expression in the Calculated Value property is [Revenue],
then the Type property of the Revenue field must equal DTYPE_CURRENCY.
■ The Exchange Date Field property must reference a field that contains a Type property that is
DTYPE_DATETIME.
For an example of how client-side import is configured, in Siebel Tools examine the predefined import
object that is defined for the Contact business component. The Contact business component is
defined as an Import Object and it contains fields that are defined as Import Field objects.
You cannot use client-side import with a specialized business component or specialized applet. For
more information, see “Class Property of a Business Component” on page 84, and Siebel Object Types
Reference.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
4 In the Import Objects list, add a new record using values from the following table.
Property Value
Business Component Choose the business component into which Siebel CRM must import
data.
5 In the Object Explorer, expand the Import Object tree, and then click Import Field.
6 In the Import Fields list, add a new record for each business component field that Siebel CRM
must update.
Note that you can also add an import field to an import object that already exists, such as
Contact.
7 Make sure the No Insert property of the applet that is defined for client-side import is False.
Siebel CRM displays the new fields in the Select a Siebel Field dialog box. You can map them to fields
in the External Data Source Field dialog box when you import data.
2 In the Business Components list, locate the business component on which you must add a join.
3 In the Object Explorer, expand the Business Component tree, and then click Join.
4 In the Joins list, add a new record, using values from the following table.
Property Value
Table Name of the joined table. For example, enter the S_ADDR_ORG table
to access address data.
Outer Join Flag If you must retrieve all the records in the business component even if
the joined fields are empty, then set Outer Join Flag to TRUE.
Comments Optional.
5 In the Object Explorer, expand the Join tree, and then click Join Specification.
6 In the Join Specifications list, add a new record, using values from the following table.
Property Value
Name Name of the join specification. For example, Primary Address Id.
Property Value
Destination Column Primary key column in the joined table. For example, ROW_ID.
If you create a join on a column other than ROW_ID, then you must
enter a value in the Destination Column property. An empty value in
the Destination Column property indicates that the destination column
is ROW_ID, which is typically the primary key.
For a join to a party table, the destination column must reference the
PAR_ROW_ID column in the joined table.
Source Field Foreign key field in the business component. For example, Primary
Address Id.
If empty, then the Source Field references the Id field, which indicates
a one-to-one relationship between the business component and the
joined table.
a In the Object Explorer, expand the Join Specification tree, and then click Join Constraint.
b In the Join Constraints list, add a new record, using values from the following table.
Property Value
Name Name of the join constraint. For example, Primary Address Id.
Destination Column Column in the joined table to which you must apply a search
specification. For example, OU_ID.
8 In the Object Explorer, click the Field object type in the Business Component tree.
9 In the Fields list, add a new record, using values from the following table.
Property Value
Join Join alias for the table from which this field retrieves data. For
example, Primary Account Address.
Column Column in the joined table from which this join retrieves data. For
example, ADDR_NAME.
Property Value
Text Length Same length as the column from which this join retrieves data.
Type Data type that is compatible with the column from which this join
retrieves data. For example, DTYPE_TEXT for a Varchar column.
Because Siebel CRM cannot update a joined field, if no value is included when Siebel CRM inserts a
record, then you cannot use a predefault value as a default field value. To display the field value
immediately when Siebel CRM inserts the new record, you can use a predefault value for a joined
field.
One field displays the Opportunity Sales Stage. The other field displays the Name.
a In the Siebel client, use the predefined Opportunities - Products view to add a new product
for an opportunity.
Note that Siebel CRM does not update the joined fields. Note that Oppty Id contains data,
which is the source field for the join.
6 In Siebel Tools, set the Predefault property of the Opportunity Name field using values from the
following table.
Property Value
7 In Siebel Tools, set the Predefault property of the Opportunity Sales Stage field using values from
the following table.
Property Value
8 Set the Link Specification property of the Name and Sales Stage fields in the parent business
component to TRUE.
Customizing a Link
This chapter describes how to configure a link. It includes the following topics:
■ Configuring a Link to Delete Child Records if the User Deletes the Parent Record on page 266
■ Creating Multiple Associations Between the Same Parent and Child Records on page 268
To configure a link to delete child records if the user deletes the parent record
■ Set the Cascade Delete property on the link using values in the following table.
Value Description
Delete If the user deletes the parent record, then Siebel CRM also deletes all
child records.
Do not use Delete if the child business component in this link is also a
child business component in another link. In this situation, use CLEAR
instead.
Clear If the parent record is deleted, then Siebel CRM removes the foreign key
reference and clears the value in the foreign key column. Use this setting
if a child record might be shared with another parent.
None If the parent record is deleted, then Siebel CRM does not delete any
records and does not clear the foreign key column. The default setting is
None.
CAUTION: Be careful. If set incorrectly, the Cascade Delete property might cause data integrity
problems or orphaned records.
■ Cascade Delete is not available for a many-to-many link. Because a child might be the child of
more than one parent when Siebel CRM uses a many-to-many link, Siebel CRM automatically
deletes the intersection record but leaves the child record intact.
■ If you delete a record that a foreign key of another table references, then Siebel CRM might or
might not delete the reference to the record. If Siebel CRM does not delete the reference, then
row IDs might reference records that do not exist. If used with a multi-value group, then Siebel
CRM might convert the foreign key to display No Match Row Id.
■ The link applies to parent child relationships. Because Siebel CRM treats a one-to-one extension
table as an extension of the parent, it automatically keeps the extension table synchronized with
the parent.
■ Use a link except for a one to many extension table that involves two different business
components.
■ To involve grandchild records, use the Deep Delete business component user property. For more
information, see Siebel Developer’s Reference.
If you do not define the source field, then Siebel CRM defaults to the ID of the parent business
component.
For more information, see “How an Intersection Table Defines a Many-To-Many Relationship” on
page 59.
To create multiple associations between the same parent and child records
■ Create an intersection business component.
For more information, see “Using an Intersection Business Component” on page 269.
2 In the Business Objects list, create a new record using values from the following table.
Property Description
Name Enter a name for the business object that is unique among business
objects in the Siebel repository. Siebel CRM uses the name to
reference the business object.
Query List Business The default value is Query List. It identifies the business component
Component that stores predefined queries for the business object.
Primary Business You cannot define this property until after you define the business
Component object components.
3 In the Object Explorer, expand the Business Object tree, and then choose Business Object
Component.
4 In the Business Object Components list, create a new record using values from the following
table.
Property Description
Bus Comp Choose the business component that the business object references.
5 Repeat Step 4 for each business component that you must reference in the business object.
You must define each of the following business components as a business object component:
■ Any business component whose data displays in an applet on a view that references the
business object
■ Any business component whose data Siebel CRM exports in a report from a view that
references the business object
This chapter describes tasks you perform to configure views, screens, and applications. It includes
the following topics:
Creating a View
This task is a step in “Process of Creating a View” on page 271.
You typically create a new view to display a new business component, business object, or applet. The
New View Wizard assists you with creating a view.
To create a view
1 Make sure the ClientConfigurationMode parameter is not All.
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 In Siebel Tools, choose the File menu, and then the New Object menu item.
3 In the New Object Wizard, in the General Tab, click View, and then click OK.
4 In the New View dialog box, do the following, and then click Next:
5 In the View Web Layout - Select Template dialog box, choose the template you must use for your
new view, and then click Next.
For more information, see “About Siebel Web Templates” on page 151 and Siebel Developer’s
Reference.
6 In the Web Layout - Applets dialog box, choose the applets that Siebel Tools must include in the
Web layout, and then click Next.
7 In the Finish dialog box, review your choices, and then click Finish.
Siebel Tools displays the Web Layout Editor, which allows you to edit the view layout if necessary.
For more information, see “Editing the Layout of a View” on page 272.
You edit the layout of a view in the Web Layout Editor. This editor allows you to edit the mapping
between applets in the view and placeholders in the template.
3 Right-click the view in the Views list, and then choose Edit Web Layout.
If a template is associated with the view, then Siebel Tools displays the Web Layout Editor. The
Web Layout Editor renders mapped and unmapped placeholders from the underlying view web
template.
If Siebel Tools does not display the applets properly in the editor, then exit the editor and make
sure that the Applet Mode property for each view web template item includes a valid value. To
do this, open the pick applet for the property of each applet. Open the editor again to make sure
the applets render properly.
■ To add an applet to the Web layout, drag an applet from the Applets window and drop it onto
an applet placeholder in the template.
The Applets window displays all applets that reference business components in the business
object of the view. When you add an applet to a placeholder, Siebel Tools displays the applet
in the position that Siebel CRM displays it in the Siebel client.
■ To delete an applet from the layout, click the applet, and then press the DELETE key.
■ To preview the view, right-click the Web Layout Editor, and then choose Preview.
In preview, Siebel Tools removes unmapped placeholders and simulates how Siebel CRM
displays the view in the Siebel client. Although this preview is not an exact representation of
the final HTML output, it does provide a close approximation of how Siebel CRM displays the
view in the Siebel client.
■ To change the web template, click Change Template that Siebel Tools displays next to the
Template text box in the Controls/Columns window.
This technique might result in an invalid mapping if the corresponding placeholder ID does
not exist in the new template. To test for an invalid mapping, right-click, and then choose
Check Mapping.
Registering a view adds a new record for the view in the Siebel database and associates a
responsibility with the view. The user who is assigned that responsibility can access the new view
the next time the user logs in to Siebel CRM. In a development environment, a developer typically
registers the view. In a production environment, the administrator typically registers the view.
NOTE: If you define a view but do not provide the user access to the view, then Siebel CRM does
not display the view in the Siebel client for that user.
3 In the View list, choose the name of the view, and then click OK.
NOTE: You cannot modify the SADMIN responsibility that is provided as seed data with Siebel
CRM.
7 Depending on the nature of the new view and the users who access it, you might need to do the
following:
The read-only feature allows you to use the Siebel client to define a read-only view instead
of creating objects in the Siebel repository.
For more information about responsibilities and employees, see Siebel Security Guide.
Customizing a View
This topic describes options for customizing a view. It includes the following topics:
■ Defining the Drilldown Sequence to Customize Search for an Account on page 276
■ Controlling How the User Can Change View Layout on page 280
■ Troubleshooting a View That Siebel CRM Does Not Display in the Siebel Client on page 284
2 In the Views list, add a new view, using values from the following table.
Property Description
Name Required. Enter the name of the view. References to the view are
defined through the name.
Business Object Required. Enter the name of the business object that the view
references. The business object determines the relationship between
business components that the applets reference.
Screen Menu If TRUE, then Siebel CRM includes the view in the Site Map.
Title Enter a text string. Siebel CRM displays this string in the window title
when it renders the view in the Siebel client.
3 In the Views list, right-click the record, and then choose Edit Web Layout.
4 In the Select Template dialog box, choose a view web template, and then click Next.
5 In the Applet dialog box, choose the applets that Siebel CRM must display on the view, and then
click Next.
2 In the Views list, locate the view you must modify, and then set properties for the view using
values from the following table.
Property Description
Thread Applet The applets in the view that supply a value for the thread field.
Thread Field The name of the field that Siebel Tools displays to the right of the
greater than sign (>) in the thread bar. This field is in the business
component that the Thread Applet references.
Thread Title The text that Siebel Tools displays to the left of the greater than sign
(>) in the thread bar. This text identifies the view. For example, the
Thread Title property is Acct for most views that display accounts, such
as Account List view and Account Detail - Contacts view.
1 All Across
2 All
3 My Team
4 My
The Sequence property of the drilldown objects that are defined for the Account Home Search Virtual
Form Applet determines the sequence.
2 In the Applets list, locate the Account Home Search Virtual Form Applet.
3 In the Object Explorer, expand the Applet tree, and then click Drilldown Object.
4 In the Drilldown Objects list, modify the Sequence property according to your required search
sequence.
Siebel Tools lists several predefined drilldowns, such as Account List View, All Account List View,
and All Accounts across Organization. Siebel CRM begins the search in the view that is defined
for the drilldown object that contains the highest sequence.
Assume you use the Contact business component to store information about the preferred payment
method that your customer uses. Payment methods are cash, credit card, or check.
Table 36. Payment Methods and Data Requirements for the Applet Toggle Example
■ Expiration Date
■ Routing Number
You can use a static toggle applet or a dynamic toggle applet for this example:
■ To allow the user to toggle between the different applets, a static toggle applet requires the user
to choose the applet from the Show list.
■ A dynamic toggle automatically toggles between applets that reference the value in the Payment
Type field.
For more information, see “Displaying a System Field in an Applet” on page 340.
■ Payment Method. Use a static, bound list that contains Cash, Credit Card, and Check.
■ Expiry Date.
■ Routing Number.
This applet is the default applet that Siebel CRM uses if the preferred payment method of the
contact is Cash.
Name one applet Contact Form Applet - Credit Card and the other applet Contact Form Applet -
Check.
5 Display the following fields in the Contact Form Applet - Credit Card applet:
■ Credit Card Type
If the preferred payment method of the contact is Credit Card, then the Contact Form Applet -
Credit Card applet allows the user to enter credit card information for the contact.
6 Display the following fields in the Contact Form Applet - Check applet:
■ Routing Number
■ State BC Fields
If the preferred payment method of the contact is Check, then the Contact Form Applet - Check
applet allows the user to enter checking account information for the contact.
7 In the Object Explorer, click Applet, and then locate the Contact Form Applet in the Applets list.
8 In the Object Explorer, expand the Applet tree, click Applet Toggle, and then create a new applet
toggle in the Applet Toggles list using values from the following table.
Property Value
To create this example with a static toggle applet, leave the Auto Toggle Field and Auto Toggle
Value properties empty.
9 Create another new applet toggle in the Applet Toggles list using values from the following table.
Property Value
To create this example with a static toggle applet, leave the Auto Toggle Field and Auto Toggle
Value properties empty.
10 Set the Immediate Post Changes property of the Payment Method business component field to
TRUE.
If the Immediate Post Changes property is FALSE, then the toggle does not occur until the user
saves the record.
Table 37. Values for the High Interactivity Enabled Property of a Class
Value Works with High Interactivity Works with Standard Interactivity Cachable
1 No Yes No
2 Yes No Yes
3 Yes No No
5 Yes Yes No
For more information, see “About Standard Interactivity and High Interactivity” on page 42.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Applets list, locate an applet that Siebel CRM displays in the view.
7 Set the High Interactivity Enabled property of the class to the appropriate value, as described in
Table 37.
8 Repeat Step 3 through Step 7 for each applet that Siebel CRM must display in the view.
■ Reorder applets
3 In the Object Explorer, expand the View tree, and then click View Web Template.
4 In the View Web Templates list, set the User Layout property to TRUE.
5 In the Object Explorer, expand the View Web Template tree, and then click View Web Template
Item.
6 In the View Web Template Items list, set properties using values from the following table.
Property Description
Display Size Determines if Siebel CRM minimizes or maximizes the applet. If you set
Display Size to Always Maximized, then the user cannot minimize the
applet.
Display Visibility Determines if Siebel CRM displays or hides the applet. If you set Display
Visibility to Always Show, then the user cannot hide the applet.
Move Range Defines a range in which the user can move the applet. For example, on
an application home page that contains two columns, applets require a
move range of Column1 or Column2. Any applet with a move range of
Column1 is movable only in the left-side column. Any applet with a
move range of Column2 is movable only in the right-side column.
If this property is not defined, then the user cannot move the applet.
The location of an applet is fixed in the view. For example, a move range
is typically defined for the salutation applet on the home page.
7 In the View Web Template Items list, add the layout control applet to the view:
■ If the view includes a standard interactivity (SI) applet, then add the Layout Controls SI
Applet.
■ If the view does not include a standard interactivity applet, then add the Layout Controls
Applet.
For more information, see “How the Layout Control Applet Works” on page 282.
■ ButtonMoveAppletUp
■ ButtonMoveAppletDown
■ ButtonHideApplet
■ ButtonShowApplet
■ ButtonMinimizeApplet
■ ButtonMaximizeApplet
These view layout controls use invoke methods to manipulate the user preferences of the view
layout.
10 For each control you added in Step 9 add a corresponding applet web template item, and then
map the control to the appropriate placeholder in the web template.
■ Show Mode. Allows the user to use controls that Siebel CRM displays at the top of each applet
to edit the layout. For example, Siebel CRM displays a home page view in Show mode until the
user clicks Edit Layout. Siebel CRM displays the layout control applet as the Edit Layout button.
■ Edit Layout mode. Provides the user with more edit capabilities than the Show mode. Siebel
CRM uses the Layout Controls applet to present the Edit Layout mode. Siebel CRM displays this
applet if the user clicks Edit Layout. It displays all applets on the view, and allows the user to
click Done to choose one of the following options:
For the Siebel client, the Siebel Web Engine specifies the HTTPS protocol when it generates URLs
to the view.
NOTE: The implementation of the HTTPS protocol is external to the Siebel Web Engine. The browser
and the Web Server negotiate the HTTPS. The Siebel Web Engine only specifies that HTTPS must be
used for a specific view. Therefore, HTTPS must be allowed on any server that provides a secure
view.
■ Explicitly typing the username and password in the login dialog box.
■ With a cookie after the user has logged in and chosen Save My Username and Password.
To display a view that provides access to a sensitive part of the Web site, you can require the user
who logs in with a cookie to explicitly supply the user name and password.
If the user logs in with a cookie, and if the user attempts to access this view, then Siebel CRM
prompts the user to enter the user name and password. The user is required to perform this login
only one time for each session. All subsequent visits that the user makes to this view during the
session do not require the explicit login.
■ Disables New and Delete buttons in the view. Only the Query button remains active. Siebel CRM
does not disable other buttons that it might display in the applet, such as New Contact Call or
other custom buttons.
■ If the Mobile Web Client is connected to the server database, then makes the view read only.
■ If the Mobile Web Client is connected to the local database, then makes the view not read only.
2 In the Views list, locate the view to which you must limit access.
3 In the Responsibilities list, locate the responsibility to which you must limit access.
4 In the Responsibilities list, make sure the Read Only View field contains a check mark.
Table 38. Problems with a View That Siebel CRM Does Not Display in the Siebel Client
The view does not exist in the SRF A view name that is not spelled correctly when you register
file. The spelling of the view name the view in the Views view of the Administration - Application
does not match the view name in screen might cause this problem. Make sure the spelling is
the SRF file. correct, then compile the SRF file using the All Projects
option.
The view belongs to a screen that is In Siebel Tools, make sure the screen is defined as a child
not included in the Siebel screen menu item of the Siebel application.
application that is currently
Make sure the name of the Siebel application is spelled
running.
correctly in the configuration file of the Siebel application.
The view is not included in one of Use the Administration - User screen, Employees view to
the responsibilities for the user who determine which responsibilities are assigned to the user.
is currently logged in.
Use the Administration - Application screen, Responsibilities
view to determine to include or not include the view.
The view is hidden using Use the Administration - Personalization screen, Views view
personalization rules. to determine if the view is hidden. For testing purposes, you
can also switch off the EnablePersonalization parameter in
the configuration file for Siebel Tools. For more information,
see “Setting Up the Configuration File for Siebel Tools” on
page 199.
Table 38. Problems with a View That Siebel CRM Does Not Display in the Siebel Client
Siebel CRM does not display the In Siebel Tools, make sure the Screen Menu property of the
view in the menu or in the view View object is TRUE. It must be TRUE in order for Siebel CRM
tabs. The user must drill down from to include the view in the Site Map.
another view to access the view.
Make sure the view is included in a screen and that the
Viewbar Text property of the Screen View child object of the
screen is set appropriately.
The view does not belong to the Make sure the view references the same business object.
same business object as the default
view for the screen.
Siebel CRM does not translate the Make sure a translated string is available for each language
screen menu item or page tab into for each screen menu item and each screen menu item
the appropriate language. locale. If a translated string is not available, then Siebel CRM
does not display the screen in the Site Map.
The view is not available because of If you performed an upgrade, then examine the log files that
an upgrade problem. Siebel CRM created during the upgrade to make sure the
upgrade was successful. These log files are located in the
DBSERVER_ROOT\DB_PLATFORM directory.
The view is not included in your Make sure the view is included in your license keys. Send the
license keys. license keys to Oracle for examination. For more information,
see Doc ID 475818.1 on My Oracle Support. This document
was previously published as Siebel Alert 41.
5 Defining the Sequence in Which Siebel CRM Displays Screen Views on page 288
A screen includes groups of related views. A screen view identifies the views and categories that you
must associate to the screen. You create a screen view for each category and each view that Siebel
CRM must display in a given screen.
Creating a Screen
This task is a step in “Process of Creating a Screen” on page 285.
To create a screen
1 In the Object Explorer, click Screen.
2 In the Screens list, add a new screen using values from the following table.
Property Description
Name Name of the screen. Other objects use this name to reference the
screen.
Default View View that Siebel CRM displays if the user clicks a page tab in the screen.
You must add the view to the screen before you can define the view as
the default view.
For more information, see “Page Tab” on page 32 and “Troubleshooting a View That Siebel CRM Does
Not Display in the Siebel Client” on page 284.
2 In the Page Tabs list, create a new record using values from the following table.
Property Description
Screen The screen you must display through a page tab.
Property Description
Sequence The order of the page tabs as Siebel CRM displays them in the Siebel client.
Text Text string that Siebel CRM displays in a screen tab in the Siebel client.
(Optional) To modify the text style that Siebel CRM renders in the Siebel
client, you can add an HTML tag in this property. This technique works if Siebel
CRM runs in standard interactivity. It does not work if Siebel CRM runs in high
interactivity. For more information, see “Changing the Text Style of a Control or
List Column in an Applet” on page 327.
Siebel CRM does not display on the Site Map a view that filters data according to a visibility rule.
Example visibility rules include My Accounts, My Team’s Accounts, and so forth. Siebel CRM displays
screen menu items on the Site Map in alphabetical order. For more information, see “Screen Menu
Item” on page 32.
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 In the Object Explorer, expand the Application tree, and then click Screen Menu Item.
3 In the Screen Menu Items list, add a new record using values from the following table.
Property Description
Screen The screen that Siebel CRM displays if the user clicks the menu item.
Text The text string that Siebel CRM displays in the Site Map in the Siebel client.
For more information, see the description for the Text property in Step 2 on
page 286.
■ Use the Screen View Sequence Editor to define the sequence. Do not edit the Sequence property
of the screen view. For more information, see “Defining the Sequence in Which Siebel CRM Displays
Screen Views” on page 288.
3 In the Object Explorer, expand the Screen tree, and then click Screen View.
When you create a new record, Siebel Tools sets the type property to Detail View and the
Category Name and Category Default View properties to read-only.
You can use the Screen View Sequence Editor to define the sequence in which Siebel CRM displays
views and categories in the Siebel client. The editor is a visual design tool that allows you to view
and edit the hierarchy of screen views at each level of navigation. It displays the hierarchy in a tree
format and allows you to move individual screen views or categories to different positions in the
sequence. You cannot move an item out of the current category of the item or to another level in the
hierarchy. If you do not define a sequence, then Siebel CRM orders views alphabetically.
The Sequence property of a screen view displays a number to indicate the sequence in the hierarchy.
Siebel Tools updates this field if you open the Screen View Editor, make changes, and then save the
changes. To view the hierarchy that Siebel CRM displays in the Siebel client, you can sort on the
Sequence column in the Screen Views list. If the Sequence property is empty, then Siebel CRM
renders that Screen View as the last item in the sequence.
NOTE: A screen view sequence does not affect how Siebel CRM displays the view in the Site Map.
Siebel CRM displays screen views in Site Map in alphabetical order below the screen name.
Siebel Tools displays the Screen View Editor and uses a tree to display the screen and the child
screen views. A screen view displayed in bold indicates that it is the Category Default View for
the category.
4 In the Screen View Editor, choose a screen view, then right-click and use options described in
the following table to move the screen view up or down in the tree.
Option Description
Move to Next Higher Position Moves the screen view up one position.
Move to Next Lower Position Moves the screen view down one position.
Move to Highest Position Moves the screen view to the highest position in the current
level of the hierarchy.
Move to Lowest Position Moves the screen view to the lowest position in the current
level of the hierarchy.
5 Save your changes, and then exit the Screen View Editor.
1 Defining Business Components for the Screen Home Page View on page 289
4 Defining the Business Object for the Screen Home Page View on page 295
This process provides a general guideline for creating a screen home page view. The actual tasks
you perform and the sequence in which you perform them varies depending on your implementation
requirements.
A screen home page view provides the user with a simplified way to access data in a screen.
Typically, a screen home page view contains applets that help the user search and add records, and
applets that display iHelp items, view links, and recent records. A screen home page view exists for
various entities, such as accounts, contacts, opportunities, service, and households. You can also
define a screen home page view for other entities.
The Rapid Search and Rapid Add applets reference virtual business components that reference the
parent business component of a given business object. For example, the Account Home Search
Virtual and the Account Home Add Virtual business components reference the Account business
component.
To improve performance, you can use a virtual business component for each applet. When Siebel
CRM loads the screen home page view, it does not execute an SQL query until the user submits a
query or adds a record. It also provides applets with access to data from the business component,
and avoids display problems that might occur if the applets reference the same nonvirtual business
component.
For more information, see “About Business Components, Fields, Joins, and Links” on page 79.
2 In the Business Components list, define the Home Search Virtual business component:
a Create a virtual business component using values from the following table.
Property Value
Name Use the following naming format to keep similar records in the Siebel
repository consistent:
Class CSSBCVMirrorAdd.
This class uses rapid add and rapid search to improve performance.
This virtual business component represents the data that the target business component
presents. You must use the Business Components list in Siebel Tools to define a virtual
business component. You cannot use the Business Component New Object Wizard because
it forces you to associate the business component with a table.
b In the Object Explorer, expand the Business Component tree, then Field.
c In the Fields list, define fields that represent the fields from the target business components that
Siebel CRM must display in the search applet on the home screen.
The field names in the virtual business component must match the field names in the target
business component.
NOTE: Siebel CRM does not support a multi-value group on a rapid search or rapid add
applet.
e In the Business Component User Props list, create a new record using values from the following
table.
Property Value
Value Enter the name of target business component. For example, Account.
f In the Business Component User Props list, create a new record using values from the following
table.
Property Value
Value Enter the name of target business object. For example, Account.
a Repeat Step a on page 290 through Step c on page 290. Use <business component> Home Add
Virtual as the business component name.
b In the Object Explorer, click Business Component User Prop.
c In the Business Component User Props list, create a new record using values from the following
table.
Property Value
Value Enter the name of target business component. For example, Account.
d In the Business Component User Props list, create a new record using values from the following
table.
Property Value
Value Enter the name of target business object. For example, Account.
e (Optional) In the Business Component User Props list, create a new record using values from the
following table.
Property Value
You use this business component user property to display a dynamic list that does not use a
list of values. It identifies a pick field, the corresponding field in the target business
component, and the base table Id field in the virtual business component.
f (Optional) Complete this step only if you complete Step f on page 292. In the Business
Component User Props list, create a new record using values from the following table.
Property Value
Prevents Siebel CRM from adding the Mirror Pick Id Field to the target
business component, which might cause a record insertion failure.
The View Links area on a screen home page displays links to the frequently accessed lists of data.
Administrators and users can define view links. For more information, see Siebel Fundamentals and
Siebel Applications Administration Guide.
2 In the Business Components list, locate the SRF Vlink Screen business component.
3 Add the following user property to the SRF Vlink Screen business component:
Property Value
Value Y
4 Make sure the Siebel application in which the view links are checked contains the home page that
you defined in Step 3.
■ An aggregate category link can include multiple aggregate view, detail category, and detail view
links.
■ You cannot define a detail category as the parent category of an aggregate view link.
■ You must define an aggregate category or detail category as the parent category of a detail view
link.
■ You cannot use a detail category as the parent category of an aggregate view.
The Recent Records area on a screen home page view displays a list of the last five records in the
current screen that the user created, modified, or accessed.
NOTE: Recent Records only works with business components that reference the CSSBCBase class or
subclasses of the CSSBCBase class.
2 In the Business Components list, locate the Recent Record business component.
3 In the Object Explorer, expand the Business Component tree, and then click Business Component
User Prop.
4 In the Business Component User Props list, add a record using values from the following table.
Property Value
Name Recent Record Track BC-<Screen Home Page Business Object Name>
This business component user property associates a tracked business component to a screen
home page view through the business object.
5 In the Business Components list, locate the target business component, such as Account.
6 In the Business Component User Props list, add a record using values from the following table.
Property Value
Value Y
7 In the Business Component User Props list, add a record using values from the following table.
Property Value
This business component user property specifies the field that tracks recent records. Siebel CRM
displays this field on the Recent Record applet on the screen home page view. You can use a
calculated field.
8 (Optional) In the Business Component User Props list, add a record using values from the
following table.
Property Value
Value Enter the field that Siebel CRM uses in the dynamic drilldown.
The value must reference a field in the parent business component. For
example, Order Type LIC in Order Entry - Orders.
This business component user property specifies the field to track. Siebel CRM does not display
this field on the Recent Record applet. You can use it to define a dynamic drilldown so that the
user can navigate to a different view according to a given value. If you configure dynamic
drilldown in the recent record applet, then the dynamic drilldown destination objects must
reference the Type field in the Recent Record business component.
For example, if the Recent Record Order Entry - Orders List Applet is the recent record applet,
then the Sales Order and Web Order dynamic drilldown destination objects must reference the
Type field in the Recent Record business component.
A screen home page view uses a separate, scaled-down copy of the business object that the other
views in a screen reference. For example, in the Accounts screen the Account Screen Home Page
View references the Account Home business object. Other views in the screen reference the Account
business object. For more information, see “About Business Objects” on page 113.
To define the business object for the screen home page view
1 In Siebel Tools, create a new business object using information from the following table.
Property Value
Project ScreenHomePage
2 In the Object Explorer, expand the Business Object tree, and then click Business Object
Component.
3 In the Business Object Components list, create a new business object component for each of the
following business components
■ <Target business component> Home Add Virtual. For example, Account Home Add Virtual.
■ <Target business component> Home Search Virtual. For example, Account Home Search
Virtual.
■ Recent Record.
■ Salutation (eApps).
An applet that Siebel CRM displays in a screen home page view is a simplified version of the same
applet that Siebel CRM displays in another view. These simplified predefined applets result in a
screen home page view that is simple to use and easy to manage. For more information, see “About
Applets, Controls and List Columns” on page 119.
2 Define properties for the new applet you created in Step 1. Use values from the following table.
Property Value
Title Name of the home screen. Siebel CRM displays this value in the middle area
of the home screen and above the list of view links.
The Account Home Screen Homepage Banner applet is an example of a banner applet.
3 Create a copy of a predefined rapid search applet, such as the Account Home Search Virtual Form
Applet.
4 Define properties for the new applet you created in Step 3. Use values from the following table.
Property Value
5 Create a copy of a predefined rapid add applet, such as the Account Home Add Virtual Form
Applet.
6 Define properties for the new applet you created in Step 5. Use values from the following table.
Property Value
7 Do the following for each applet you defined in Step 3 and Step 5:
a Remove existing controls from the applet that represent fields from the original business
component.
b Add new controls to represent fields from the target business component that you must display
in the search applet.
Make sure that the controls reference fields defined in the business component. You can
reuse each control that does not represent a field. You do not need to remove them.
8 Do the following for each applet you defined in Step 3 and Step 5:
a Remove existing web template items that represent controls from the original applet.
b Add new web template items to represent controls for the new applet.
For example, add and remove web template items for Base and Edit Mode. For more
information, see “Options to Control How the User Creates, Edits, Queries, and Deletes CRM
Data” on page 124.
For the Item Identifier property, use a number between 1300 and 1340. This range is
available for Rapid Add and Rapid Search applets.
9 (Optional) Identify the target view that Siebel CRM displays when the user clicks Go:
■ If a drilldown object is defined on the source applet, then modify the drilldown object in the
new applet. For more information, see “Options to Drill Down to Another View” on page 145.
■ If the Mirror Add GotoView or the Mirror Search GotoView applet user property is defined on
the source applet, then modify this value in the new applet.
After you define the business components, business objects, and applets, you can define the screen
home page view to display the objects and data in the Siebel client. For more information, see
“Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data” on page 124 and see
“Creating a View” on page 271.
2 In the New Object Wizards dialog box, click the General tab, click View, and then click OK.
3 Complete the New View dialog box using values from the following table, and then click Next.
Property Description
Business Object Choose the business object for the home page.
4 In the View Web Layout - Select Template dialog box, choose View 25 50 25, and then click Next.
5 In the Web Layout - Applets dialog box, move the following applets to the Selected Applets
window:
■ <Target Business Component> Home Add Virtual Form Applet Rapid Search Virtual
For more information about the Rapid Add and Rapid Search applets, see “Creating Simplified
Screen Home Page Applets” on page 296.
7 In the View Web Layout editor, verify the layout of the screen home page view using values from
the following table.
Applet Location
9 In the Object Explorer, expand the View tree, expand the View Web Template tree, and then click
View Web Template Item.
10 In the View Web Template Items list, verify that the Applet Mode and Item Identifier properties
are set correctly for each applet. Use values from the following table.
To display the new screen home page view in Siebel CRM, you must create a new Screen View object
to represent it.
3 In the Object Explorer, expand the Screen tree, and then click Screen View.
4 In the Screen Views list, create a new record using information from the following table.
Property Value
Viewbar Text Enter the text that Siebel CRM must display in the viewbar.
5 Right-click in the Screen Views list, choose Edit Screen View Sequence, and then define the
sequence for the screen view.
For more information, see “Defining the Sequence in Which Siebel CRM Displays Screen Views” on
page 288.
■ Configuring a Standard Interactivity Application to Run Without HTML Frames on page 303
TIP: To create a new application, you can copy a predefined application and then modify the
properties and child objects of the new application. However, a field in an applet that is specific
to the original application is not available in the new application, as determined by the application
name.
For more information, see “Guidelines for Creating an Application” on page 150.
4 Add a page container template to the application for your home page.
For more information, see “About the Container Page” on page 155.
5 For each of the following properties, choose a value from the list of available Web pages:
For more information, see “How Siebel CRM References Web Pages” on page 155.
If an application runs in high interactivity, then the Web framework attempts to display a view in
high interactivity only if every applet that is contained in the view supports high interactivity.
Otherwise, Siebel CRM displays the view in standard interactivity.
NOTE: Siebel CRM does not support high interactivity for a customer application.
For more information, see “About Standard Interactivity and High Interactivity” on page 42.
■ Enabling High Interactivity for the Siebel Web Client on page 302
■ Enabling High Interactivity for the Mobile Web Client on page 302
2 In the Siebel client, navigate to the Administration-Server Configuration screen, and then the
Servers view.
6 Click the Parameters view tab that is located below the Components list.
7 In the Component Parameters list, query for HighInteractivity, then set the HighInteractivity
parameter to True.
2 Use a text editor to open the configuration file for the Siebel application.
3 In the InfraUIFramework section of the configuration file, set the HighInteractivity parameter to
true:
HighInteractivity=TRUE
3 Retarget any links to calendar views so that they reference the appropriate calendar views that
are in standard interactivity.
4 If you must simultaneously run an application in high interactivity for some users and in standard
interactivity for other users, then do the following:
a Create two sets of responsibilities, one set for high interactivity users and another set for
standard interactivity users.
b Assign each user to the responsibility for the level of interactivity in which the user runs Siebel
CRM.
c It is recommended that you deactivate links to the calendar views because the same link cannot
reference a high interactivity view and a standard interactivity view.
For example, to configure Siebel eSales to run without HTML frames, choose the eSales project.
3 In the Web Templates list, create a new record using values from the following table.
Property Value
Name Enter any meaningful value. For example, Page Container Frameless.
For more information, see “About Siebel Web Templates” on page 151.
4 In the Object Explorer, expand the Web Template tree, and then click Web Template File.
5 In the Web Template Files list, create a new record using values from the following table.
Property Value
Name Enter any meaningful value. For example, Page Container Frameless.
■ CCPageContainer_NoFrames.swt
■ dCCPageContainer_NoFrames.swt
7 In the Web Pages list, locate the container page for the Siebel application you are configuring.
For example, CC Container Page (eSales). For more information, see “About the Container Page”
on page 155.
8 Right-click the container page you located in Step 7, and then choose Copy Record.
9 Create the new web page using values from the following table.
Property Value
Web Template Choose the web template you created in Step 3. For example, Page
Container Frameless.
b In Step 6 on page 304, enter DotCom Page Container No Frames in the Web Template field.
You use the swe:sort-field tag to display the list of sortable fields and the sort order options. This
sequence attribute is a required attribute of the swe:sort-field tag that specifies the order in which
Siebel CRM sorts the chosen columns. For information how to configure tags and web templates, see
“About Siebel Web Templates” on page 151.
The following code is an example of the format for the swe:sort-field tag:
<swe:sort-field sequence=”1”/>
■ A list that includes the fields that the user can sort. Siebel CRM maps these fields to the
swe:control tags in the base template for the applet.
■ A list that includes Ascending and Descending, which determines the sort order.
You can include as many swe:sort-field tags in the sort web page as you require.
3 In the Web Pages list, locate the web page that you will use for the sort web page, and then note
the web template that this page references.
4 Add your custom code to the web template that the sort web page references.
For an example, see “Code Fragment from an Example Sort Web Page” on page 306.
6 In the Applications list, locate the Siebel application you must modify.
7 Set the Sort Web Page property to the web page you located in Step 3.
8 To create the link or button that executes the sort, create a web page item that calls the
ExecuteSort method. It is not necessary to define the View and Applet parameters for this
method because these parameters default to the currently active view and applet.
<swe:form>
<tr>
</tr>
<tr>
<td><swe:sort-field sequence=”1”/></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td><swe:sort-field sequence=”3”/></td>
<tr>
</tr>
</table>
</swe:form>
For more information, see “Adding a Keyboard Shortcut That Opens Help” on page 665.
For example, a shortcut to initiate a new query uses a specific focus on the current applet. A shortcut
to call the Site Map is independent of the current application context.
Siebel CRM must load commands into the active menu structure for the Siebel client. The command
that each shortcut represents must be available to the user. For a command to be available to the
user, it must be associated with the application menu or the applet menu for the currently active
applet.
■ For a Siebel application that runs in extended keyboard mode, do not override browser
functionality that the user already uses. For example, CTRL+C is a common shortcut that many
users already use. It copies a text string to the clipboard in Microsoft Internet Explorer.
■ Group related shortcuts according to the key sequence. For example, to assist the user in
remembering shortcuts that perform similar roles, group key sequences that start with
CTRL+ALT for query management functions.
■ Do not map a frequently used command to a key sequence that is similar to a sequence that
performs a significant action that the user cannot reverse. For example, assume CTRL+Shift+X
performs a log out. In this situation, do not map the CTRL+ALT+X sequence because the user
might accidently press CTRL+Shift+X.
■ You use the administrative screens in the Siebel client to configure a keyboard shortcut that is
related to the Siebel Communications Server. If you define a shortcut through the Siebel
Communications Server administrative screens, and if this shortcut uses the same key sequence
as a shortcut defined in the Siebel Repository File, then the shortcut defined through the Siebel
Communications Server takes precedence. Any shortcut in the Siebel Communications Server
takes precedence over any shortcut you define in Siebel Tools and then compile to the Siebel
Repository File. For more information, see Siebel Communications Server Administration Guide.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
2 Make sure the command that you require for the shortcut exists.
If the command does not exist, then you must add it. For more information, see “Creating a
Command Object” on page 502.
3 Make sure the command is included as part of the active menu hierarchy at the application or
the applet level for the application contexts in which the shortcut is active.
6 In the Object Explorer, expand the Command tree, and then click Accelerator.
7 In the Accelerators list, add a new record using values from the following table.
Property Description
Name Enter a name that describes the action that the shortcut performs.
3 In the Object Explorer, expand the Command tree, and then click Accelerator.
4 (Optional) In the Accelerators list, modify the Key Sequence property.
For more information, see “Guidelines for Creating Keyboard Shortcuts” on page 308.
a In the Object Explorer, expand the Accelerators tree, and then click Accelerator Locale.
b In the Accelerator Locales list, make sure the Display Name property is empty.
You can hide the key sequence so that it does not display in the Siebel client. The Display Name
property of the accelerator locale defines the key sequence for a given shortcut. To hide the key
sequence, leave this property empty.
Related Topics
For more information, see the following topics:
Creating an Applet
This topic describes how to create an applet. It includes the following topics:
For more information, see Chapter 6, “About Applets, Controls and List Columns.”
To create a new applet, you can also manually add a record to the Applets list, and then define all
the necessary properties and child objects.
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 In Siebel Tools, choose the File menu, and then the New Object menu item.
3 In the New Object Wizards dialog box, click the Applets tab, choose List Applet, and then click OK.
4 The General dialog box of the List Applet Wizard, enter values using information from the
following table, and then click Next.
Applet Name New Account List Enter a unique name for the applet. For more
Applet information, see “Guidelines for Naming an Applet” on
page 132.
Display Title Accounts Enter the title that Siebel CRM must display in the
Siebel client. For more information, see “Guidelines
for Creating an Applet Title” on page 133.
Upgrade Behavior Preserve Choose how Siebel CRM upgrades the applet during
an upgrade.
The wizard uses this information to create an applet and to define properties for the applet.
5 In the Web Layout - General dialog box, enter the web templates to use for each applet mode,
and then click Next.
The Web Template Type filters the web templates that the wizard displays. To display all
templates, choose Show All Templates. For more information, see “Options to Control How the
User Creates, Edits, Queries, and Deletes CRM Data” on page 124.
Siebel Tools displays a thumbnail image for most templates when you choose the template name.
For more information about templates, see Siebel Developer’s Reference.
6 In the Web Layout - Fields dialog box, choose the fields that Siebel CRM must display in the
applet, and then click Next.
Siebel Tools displays the fields for the business component you defined in Step 4. It displays
these fields in the Available Fields window.
7 In the Web Layout - Fields dialog box, choose the controls in the Available Controls window that
Siebel CRM must display in the applet, and then click Next.
For more information, see “Configuring How Siebel Tools Enters Data Into the Selected Controls
Window” on page 313.
8 Review the information the wizard displays in the Finish dialog box, and then click Finish.
The List Applet Wizard creates the applet and supporting object definitions according to the
choices you made. Siebel Tools opens the Applet Layout Editor and displays the layout of the new
list applet ready for you to edit. For more information, see “Process of Using the Applet Layout
Editor” on page 359.
Configuring How Siebel Tools Enters Data Into the Selected Controls
Window
Siebel Tools adds all the available controls to the Selected Controls window by default. Siebel Tools
derives the available controls from the Model HTML Controls applet. This applet specifies the
available controls and the template to which each control is mapped.
To configure how Siebel Tools enters data into the Selected Controls window
■ Add controls to or remove controls from the Model HTML Controls applet.
■ Creates applet web template items. This work establishes a relationship in a control, which
makes sure the control references a web template.
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 In Siebel Tools, choose the File menu, and then the New Object menu item.
3 In the New Object Wizards dialog box, click the Applets tab, choose Form Applet, and then click
OK.
4 In the General dialog box of the Form Applet Wizard, enter values using information from the
following table, and then click Next.
Project Account Choose the project to associate with this applet. Siebel
Tools displays only locked projects in the list.
Applet Name New Account Enter a unique name for the applet. For more
List Applet information, see “Guidelines for Naming an Applet” on
page 132.
Display Title Accounts Enter the title that Siebel CRM must display in the
Siebel client. For more information, see “Guidelines for
Creating an Applet Title” on page 133.
Upgrade Behavior Preserve Choose how Siebel CRM upgrades the applet during an
upgrade.
Use Grid Layout Check mark Leave at the default setting, which includes a check
mark. For more information, see “Using Grid Layout for
an Applet” on page 370.
The wizard uses this information to create an applet object and to define the applet properties.
■ If you chose Use Grid Layout in the previous dialog box, then choose to display or not display
the applet in Base mode. Siebel Tools automatically displays the appropriate web template
for Edit Mode.
■ If you did not choose Use Grid Layout in the previous dialog box, then choose the web
template you must use for each mode.
In most situations, use Edit mode. However, you can use another mode. For more information,
see “Options to Control How the User Creates, Edits, Queries, and Deletes CRM Data” on page 124.
6 In the Web Layout - Fields dialog box, choose the fields that Siebel CRM must display in the
applet, and then click Next.
Siebel Tools displays the fields for the business component you defined in Step 4 in the Available
Fields window.
7 In the Web Layout - Fields dialog box, choose the controls that Siebel CRM must display in the
applet, and then click Next.
For more information, see “Configuring How Siebel Tools Enters Data Into the Selected Controls
Window” on page 313.
8 Review the information displayed in the Finish dialog box, and then click Finish.
The Form Applet Wizard creates the applet and supporting object definitions according to the
selections you made. Siebel Tools opens the Applet Layout Editor and displays the layout of the
new list applet ready for you to edit.
■ Creating a Pop-Up Applet That Siebel CRM Opens from an Applet on page 316
■ Creating a Pop-Up Applet That Siebel CRM Opens from a Menu Item on page 318
■ Creating a Pop-Up View That Siebel CRM Opens from an Applet on page 319
■ You must specify a class in the Class property of the pop-up applet that is derived from the
CSSSWEFramePopup class.
■ You are not required to specify a business component in the Business Component property of the
pop-up applet.
■ If you specify a business component for your pop-up applet, then you must specify a business
component as a child of the business object of the view that contains the applet from which the
pop-up applet opens.
■ Siebel CRM supports one level of pop-up applet. If you activate a pop-up applet from a pop-up
applet, then the most recently activated applet replaces the original pop-up applet.
■ Siebel CRM does not support the more and less feature on a pop-up applet. For more information,
see “Displaying a Subset of Fields or CRM Records” on page 366.
Table 39 summarizes how the data type of the field affects which pop-up control Siebel CRM displays.
If you define a list for a field that is described in Table 39, then Siebel CRM pops up a list in the Siebel
client instead of a calculator or calendar.
Table 39. How the Data Type of a Field Affects which Pop-Up Control Siebel CRM Displays
DTYPE_DATE Calendar
DTYPE_TIME Time
DTYPE_NUMBER Calculator
3 In the Object Explorer, expand the Applets tree, and then click Control to define the properties
of the control.
To define the properties of a list, expand the List tree, and then click List Column.
4 In the Controls or List Columns list, locate the control or list column you must modify.
5 Set the Read Only property of the control or list column to FALSE.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
d In the Controls list, create two new controls using values from the following table.
This value causes the pop-up applet to close if the user clicks Cancel.
OK Call a method. For more information, see “Calling a Method for an OK
Control” on page 318.
4 In the Applets list, locate the applet from which the pop-up applet opens.
5 In the Object Explorer, expand the Applet tree, and then click Control.
6 In the Controls list, create a control with the Method Invoked property set to ShowPopup.
7 In the Object Explorer, expand the Control tree, and then click Control User Prop.
8 In the Control User Props list, create three new user properties using values from the following
table.
Name Value
For more information, see “Options to Control How the User Creates, Edits,
Queries, and Deletes CRM Data” on page 124.
Popup Dimension (Optional). Dimension of the pop-up window. The format is Height X
Width. For example, 500 X 800.
If you do not define this value, then Siebel Tools sets the dimensions to
the value that is defined in the HTML Popup Dimension property of the
pop-up applet. If the HTML Popup Dimension is not defined, then Siebel
Tools sets the pop-up window dimensions to 600 X 600.
9 (Optional). Add a radio button control for any field that references a static list.
For more information, see “About Static Lists” on page 437, and the topics about the radio button
and radio button group in Siebel Business Process Framework: Task UI Guide.
2 Use code or some other mechanism to handle the method you defined in Step 1. Make sure this
code does the following:
■ Calls the CloseApplet method to close the applet after the specialized behavior completes.
■ Add Items that Siebel CRM uses in the Quote Item List Applet
3 Click Menu in the Line Items applet, and then choose Add Items.
Siebel CRM sets the Method Argument property of the Add Items command to Applet=Product Popup
Applet, causing the applet to display if you choose Add Items.
To create a pop-up applet that Siebel CRM opens from a menu item
1 Display the command object type, which is a child of the applet object type.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Commands list, create a command using values from the following table.
Property Value
Method GotoApplet
■ mode of pop-up applet is the mode of the pop-up applet. Optional. This
value can be Base, Edit, Edit List, or Query. If you do not include the
mode, then Siebel CRM uses the default, which is Base.
For example:
For more information, see “Options to Control How the User Creates, Edits,
Queries, and Deletes CRM Data” on page 124.
4 In the Object Explorer, click Applet, then locate the applet from which the popup must open.
5 In the Object Explorer, expand the Applet tree, and then click Applet Method Menu Item.
6 In the Applet Method Menu Items list, add a new command. Set the Command property for this
new command to the command that you created in Step 3.
If you define a view to load into a pop-up window, then the user must use the Close (X) button in
the browser to close the pop-up view. There is no way to close the window programmatically.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Applets list, locate the applet from which to open the pop-up view.
4 In the Object Explorer, expand the Applet tree, and then click Control.
5 In the Controls list, create a new control, and set the Method Invoked property of the control to
ShowPopup.
6 In the Object Explorer, expand the Control tree, and then click Control User Prop.
7 In the Control User Props list, create two new records using values from the following table.
Name Value
Popup Dimension Set the dimensions of the pop-up. The format is height X width, for
example 500 X 800.
2 In the Applets list, locate the pop-up applet you must modify.
3 Expand the Applet tree, and then click Applet Web Template.
Use the Sequence property to define the order in which Siebel CRM displays the templates
when the user clicks through the wizard.
5 To allow the user to navigate between pages, add controls to the applet.
For more information, see “Adding Navigation Controls to a Pop-Up Wizard” on page 321.
6 On the last template in the sequence, create a control named Finish that closes the applet, and
then updates the parent applet.
2 In the Object Explorer, expand the Applets tree, and then click Control.
3 In the Controls list, add a new control for the Previous button using values from the following
table.
Property Value
Name Previous
Caption Previous
The Previous button posts the changes that the user makes, and then navigates the user back
to the page whose sequence number is one less than the current page.
4 In the Object Explorer, expand the Control tree, and then click Control User Prop.
5 In the Control User Props list, add a new record using values from the following table.
Property Value
Name Sequence
Value -1
6 Repeat Step 3 for the Next button using values from the following table.
Property Value
Name Next
Caption Next
Method Invoked PostChanges
The Next button posts the changes that the user makes, and then navigates the user to the page
whose sequence number is one greater than the current page.
7 Repeat Step 5 for the Next button using values from the following table.
Property Value
Name Sequence
Value 1
For example, in the predefined Siebel Call Center application, the wait.html file references the
launch_window_anim.gif file in the <ORACLE_HOME>\PUBLIC\enu\IMAGES directory on the client
computer.
■ Identifying the Controls and List Columns That Siebel CRM Displays in the Siebel Client on page 326
■ Changing the Text Style of a Control or List Column in an Applet on page 327
■ Defining the Properties of a Control or List Column If HTML Type Is Text on page 330
■ Using a Control to Allow the User to Click a Link to Activate a Record on page 332
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
2 Create a check spelling button in the applet that contains the field on which Siebel CRM must
perform the spell check:
c In the Object Explorer, expand the Applet tree, and then click Control.
d In the Controls list, add a new record using values from the following table.
Property Value
Name ButtonCheckSpelling
If Siebel Tools does not display the Method Invoked in the list, then
type it in manually.
a In the Object Explorer, expand the Controls tree, and then click Control User Prop.
b In the Control User Props list, create three new records using values from the following table.
Mode Edit
b In the Applets list, right-click the applet you modified in Step 2, and then choose the Edit Web
Layout menu item.
c In the Controls/Columns window, make sure the Mode list is set to Edit.
d In the Controls window, choose the Check Spelling control, and then drag it and drop it on a
placeholder in the Applet Web Template editor.
e Right-click in the Applet Web Template editor, and then choose the Preview menu item.
Siebel Tools displays an approximation of how Siebel CRM displays the Spell Check button in
the Siebel client.
5 Associate the Spell Check business component with the business object of the applet you modified
in Step 2:
b In the Business Objects list, locate the business object to which you must add the Spell Check
business component.
c In the Object Explorer, expand the Business Object tree, and then click Business Object
Component.
d In the Business Object Components list, add a new record using values from the following table.
Property Value
c In the Object Explorer, expand the Applets tree, and then choose Applet Method Menu Item.
d In the Applet Method Menu Items tree, add a new record using values from the following table.
Property Value
Property Value
Position 2
7 If the field you are configuring for spell check is a required field, then do the following:
b In the Applet User Properties list, add a new record using values from the following table.
Field Value
Value Enter the name of the control or list column that is mapped to the field that
will use spell check.
8 If you must configure spell check for multiple fields in an applet, then repeat Step 2 through
Step 4 for each additional field.
NOTE: The Runtime property must equal TRUE for a button control. Otherwise the method you
specify will not execute.
3 In the Object Explorer, expand the Applets tree, and then click Applet User Prop.
4 In the Applet User Properties list, add a new record using information from the following table.
Property Value
where:
Value Y
To identify the controls and list columns that Siebel CRM displays in the Siebel client
■ Run the following query against the Siebel database on the Siebel Server:
FROM siebel.s_list_column a,
siebel.s_applet b,
siebel.s_list c,
siebel.s_appl_web_tmpl wtmp,
siebel.s_appl_wtmpl_it wtmit
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 Embed an HTML tag in the Caption property of a control or in the Display Name property of a list
column.
For example, consider how Siebel CRM displays the following value for the Caption property:
Siebel CRM uses the value in the HTML tags to render this caption.
■ Siebel CRM supports an HTML tag that controls text style, such as size, color, italics, and bold.
■ Siebel CRM does not support other HTML tags, such as those that control alignment or position.
■ You cannot use an HTML tag in a property that uses a string because the Siebel Web Engine
interprets the tag as a literal value if rendered in high interactivity. For more information, see
“About Standard Interactivity and High Interactivity” on page 42.
To display the sum of values that Siebel CRM displays in a list column
1 In Siebel Tools, in the Object Explorer, click Applet.
4 In the Lists list, set the properties of the List object using information from the following table.
Property Description
5 In the Object Explorer, expand the List tree, and then click List Column.
6 Make sure the Total Required property for each list column you must total contains a check mark.
7 In the Object Explorer, in the Applet tree, choose Applet Web Template.
8 In the Applet Web Templates list, choose the Base or the Edit List web template.
9 Set the properties of the applet web template using information from the following table.
Property Description
10 In the list applet template file, set the property attribute of the swe:control tag to Total.
For example, use one of the following code:
or
<swe:control id=”XXX”>
<swe:this property=”Total”/>
</swe:control>
If the property attribute in the swe:control tag or in the swe:this tag is total, and if the Total
Required property for the list column contains a check mark, then Siebel CRM renders the total
for the list column values. If the Total Required property does not contain a check mark, then
Siebel CRM does not generate an output. This property is valid only if the swe:control tag is
mapped to a list column. For more information, see About List Applet Templates on page 166.
■ Quantity
■ Price
■ Calculated Revenue
The following expression is defined in the Calculated Value property of the Calculated Revenue:
[Quantity]*[Price]
You can display the following values in a list applet that references this business component:
■ Total revenue. The product of the totals of the quantity and price columns.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
2 Make sure an expression is defined in the business component field to which the list column is
mapped.
3 Make sure the Total Required property of the list column contains a check mark.
7 In the Object Explorer, expand the List tree, and then click List Column.
8 In the List Columns list, locate the column you must modify.
9 In the Object Explorer, expand the List Column tree, and then click List Column User Prop.
10 In the List Column User Props list, add a user property named TotalAsExpr.
Adding the user property is sufficient to evaluate the totals as an expression. Siebel CRM ignores
the properties of the field.
11 Set the property attribute of the swe:control tag in the template file to Total.
For more information, see Step 10 on page 328.
2 Place the form applet below the list applet in the view.
4 Add the following expression to the Calculated Value property of the business component field:
Sum([multi-value field])
CAUTION: Never define a Sum([multi-value field]) expression in a list column. This requires a
separate query execution for each record in the list, which can result in a significant performance
problem.
6 In the same business component, create a multi-value field that references the multi-value link.
The multi-value link references the business component that supports the list of values that
Siebel CRM sums.
To define the properties of a control or list column if the HTML Type is Text
1 In Siebel Tools, click Applet in the Object Explorer.
3 In the Object Explorer, expand the Applets tree, and then click Control to define the properties
of a control. To define the properties of a list, expand the List tree, and then click List Column.
4 In the Controls or List Columns list, locate the control or list column you must modify.
Specify the field in the business component from which the text control or list column displays
data.
For more information, see “Defining the Display Format Property for Data That Is Not Text” on
page 331.
Enter FALSE to allow the user to edit information in the text box. To use the Runtime property
to access a multi-value group applet or pick applet, the Read Only property must equal FALSE.
8 (Optional) If the Field property of the control or list column references a multi-value field, then
do the following:
a In the MVG Applet property, specify the applet to use for the multi-value group applet.
b Set the Runtime property to TRUE.
For more information, see “About the Multi-Value Field” on page 106, and “How the Runtime
Property Determines the Icon to Display with a Text Box” on page 331.
9 (Optional) If the control or list column must reference a pick applet, then do the following:
The Pick Applet property identifies the pick applet to use for the list dialog box. You must define
a list for the field that the control or list column references. For more information, see “How the
Runtime Property Determines the Icon to Display with a Text Box” on page 331.
How the Runtime Property Determines the Icon to Display with a Text
Box
If the HTML Type property of a control or list column is Text, then the Runtime property of the control
or list column determines the icon to display with a text box in the Siebel client. Siebel CRM uses the
values in the following properties of the control or list column:
■ If the MVG Applet or Pick Applet property is not empty, then Siebel CRM does the following:
■ If the Runtime property is TRUE, then Siebel CRM activates an icon or arrow to the right of
the text box.
■ If the Runtime property is FALSE, then Siebel CRM does not display an icon or arrow, making
the multi-value group applet or pick applet inaccessible.
■ If the MVG Applet and Pick Applet properties are empty, and if the Runtime property is TRUE,
then Siebel CRM uses the data type of the field referenced in the Field property to determine to
display or not display an icon for a calculator, an icon for a calendar, or a currency pop-up applet.
Defining the Display Format Property for Data That Is Not Text
This topic describes how to define the Display Format property of a control or list column to display
data that is not text.
To define the Display Format property for data that is not text
1 Determine the data type of the field that this control or list column references:
a In Siebel Tools, in the Object Explorer, expand the Business Component tree, and then click
Field.
b In the Fields list, locate the field you specified in Step 5 on page 330.
c Examine the Type property to identify the data type for the field.
2 Define the Display Format property depending on the data type you identified in Step c.
For more information, see “Display Format Property of a Control or List Column” on page 680.
b Create a format mask in the Display Format property that consists of number signs (#) and
empty spaces. For example, ##### #### for a United States postal code that uses the zip
code plus four format.
2 Make sure the HTML Row Sensitive property of this control contains a check mark.
3 Place this control on the list applet where the link must choose the row.
The user must be able to click the link to choose the record.
This topic describes how to display the Save button in high interactivity in the Mobile Web Client.
ShowWriteRecord=TRUE
The ShowWriteRecord parameter is located in the InfraUIFramework section of the configuration file.
Note that the Save buttons use the WriteRecord method.
■ Controlling How the User Creates, Edits, Queries, and Deletes CRM Data on page 333
To control how the user creates, edits, queries, and deletes CRM data
1 Create a new applet web template.
For more information, see “Adding a Web Template to an Applet” on page 334.
2 Enter text into the Name property to match one of the applet modes described in Table 20 on
page 124.
3 Set the Type property to one of the applet modes described in Table 20 on page 124.
4 Repeat Step 1 through Step 3 for each applet mode that the applet must support.
For example, create a separate applet web template in the following situations:
■ Create one applet web template for New and another applet web template for Query.
■ If the applet layout is different for New and Query modes compared to Edit mode, then create
a separate web template for each mode.
3 In the Object Explorer, expand the Applets tree, and then click Applet Web Template.
4 In the Applet Web Templates list, add a new record using information from the following table.
Property Description
Name Enter the applet mode for the applet web template, such as Edit. For more
information, see “Controlling How the User Creates, Edits, Queries, and
Deletes CRM Data” on page 333.
NOTE: You must use a valid InvokeMethod for the applet, such as NewRecord or GotoNextSet.
3 Expand the Applet tree, and then click Applet User Prop.
4 In the Applet User Properties list, add a new record using information from the following table.
Property Description
For more information, see “Options to Filter Data Displayed in an Applet” on page 126.
For more information, see “Properties of a Control That Displays HTML Content” on page 337.
a Navigate to the Administration - Integration screen, and then click the WI - Symbolic URL List
link.
b Make sure the Host Administration visibility filter is chosen.
d Enter the virtual name and authentication parameters, as required for your configuration.
For more information, see “Using the Host Administration View” on page 338.
a Navigate to the Administration - Integration screen, and then click the WI - Symbolic URL List
link.
b Choose Fixup Administration from the visibility filter.
c Specify how to control the behavior of links that are embedded in external content.
For more information, see “Using the Fixup Administration View” on page 338.
a Navigate to the Administration - Integration screen, and then click the WI - Symbolic URL List
link.
b Choose Symbolic URL Administration from the visibility filter.
c Define the content agent for the external host. Include the URL, host name, fixup name, and
arguments.
9 (Optional) Administer content sets information:
a Navigate to the Administration - Content Center screen, and then click the Content Sets link.
For more information about content agents and symbolic URLs, see Siebel Portal Framework Guide.
Property Description
ContentFixupName Determines how to correct links after processing. You enter the name of a
Fixup as displayed in the Fixup Administration View. Any value you enter does
not work if the Field Retrieval Type property is HTML Attachment or Service.
Field Retrieval Determines the type of HTML that Siebel CRM displays in the field. You can
Type choose one of the following values:
■ Service. For more information, see “Setting the Field Retrieval Type
Property to Service” on page 337.
■ Symbolic URL. Siebel CRM derives content from an external host that
references a symbolic URL. You must define the necessary information
that Siebel CRM requires to access the external source. This includes the
format for the request, the host name, necessary arguments, and so
forth. For more information, see Siebel Portal Framework Guide.
■ URL. Siebel CRM derives content from an external source. This source
references the simple URL that is defined in the underlying field.
HTML Display Mode Set the HTML Display Mode so that the HTML content renders properly in the
browser. You can choose one of the following values:
■ DontEncodeData. Use this value if the field contains actual HTML text
and you require Siebel CRM to display the content as HTML text.
■ Set the Name property of the control user prop to Field Retrieval Service.
■ Enter the name of the business service into the Value property of the control user prop.
For example, to define a control to display a Content Center asset, you do the following:
■ Add a Control User Property child object with the Name property set to Field Retrieval Service
and the Value property set to ContentBase - Asset Publish Service.
For more information about Content Center Assets, see Siebel Applications Administration Guide.
■ Specify a set of NCSA Basic Authentication credentials for a content host that requires
authentication.
For each host, you must define an external content host server. You can only fix up links that are
associated with a defined host.
To view the Host Administration list, navigate to the Administration - Integration screen, choose the
WI - Symbolic URL List link, and then make sure the Host Administration visibility filter is chosen.
■ Do Nothing. Does not affect any of the links. The links remain as they are with the content that
is passed back in the original form. This principle applies to relative and absolute links.
■ Outside Application. Uses the host and path of the parent URL to convert the relative links to
absolute links. Siebel CRM does not proxy any links.
■ To maintain the Siebel Web Engine context, proxies any links that use a host that is specified
in the Host Administration view. For more information, see “Using the Host Administration
View” on page 338.
NOTE: Fixup is required for links in a Siebel application that uses high interactivity. For more
information, see “About Standard Interactivity and High Interactivity” on page 42.
Any business component can use the Web Content Assets feature to add fields that Siebel CRM
renders as HTML content. For example, you can do the following:
This topic uses the Partner Message business component as an example of how to configure the Web
Content Assets feature.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Business Components list, locate the Partner Message business component.
4 In the Object Explorer, expand the Business Component tree, and then click Field.
5 In the Fields list, locate the Message field, and then set properties for the field using values from
the following table.
Property Value
8 In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.
9 In the List Columns list, locate the Message Body list column, and then set properties for the
column using values from the following table.
Property Value
14 Set properties for the control using values from the following table.
Property Value
15 In the Object Explorer, expand the Control tree, and then click Control User Prop.
16 In the Control User Props list, add a new record using values from the following table.
Property Value
17 Repeat Step 6 through Step 16, except this time do the following:
a Modify the properties for the MessageBody control of the Partner Message Form Applet (SCW)
applet.
3 In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.
6 In the Display Name property, enter a value that describes the data that the system field stores,
such as Last Updated.
■ Allowing the User to Edit Multiple Rows in Standard Interactivity on page 341
■ Allowing the User to Choose Multiple Rows in Standard Interactivity on page 342
■ Configuring Display of the Currently Chosen Record in Standard Interactivity on page 344
Allowing the user to edit multiple rows is specific to a Siebel application that uses standard
interactivity. A Siebel application that uses high interactivity implicitly saves the record to the Siebel
database if the user navigates between rows of a list applet. The user can edit any row of a list applet.
As the user proceeds through the records, Siebel CRM commits these changes to the database. For
more information, see “About Standard Interactivity and High Interactivity” on page 42.
For more information, see “Controlling How the User Creates, Edits, Queries, and Deletes CRM
Data” on page 333.
4 In the Object Explorer, expand the Applet tree, and then click List.
5 In the Lists list, make sure the HTML Multi Row Edit property of the List object contains a check
mark.
NOTE: It is not necessary to place the WriteRecord control on each row. Siebel CRM only requires
one WriteRecord control for the applet.
■ If an error occurs when the user commits any of the records, then the Siebel Web Engine
attempts to commit as many of the records that it can, and then reports errors on all the failed
records. However, the error messages might not include sufficient information regarding which
rows failed.
■ Siebel CRM must be allowed to submit changes in the current working set of records before the
user can navigate to another working set. The user must save these changes before Siebel CRM
calls GotoNextSet, GotoPreviousSet, and so forth.
You must only allow the user to edit multiple rows if the following conditions are met:
■ The limitations described in this topic will not cause a significant affect on Siebel CRM usability.
■ Validation errors in the editable fields of the applet are caught with validation in the client using
the browser script.
■ Only one user can update the records that Siebel CRM displays in this applet at any given time.
■ The number of records in the applet are small enough that Siebel CRM can render them on a
single page without using the Next or Previous controls.
Updating the Quantity field in the Shopping Cart applet is an example of the appropriate use of this
feature.
■ Use the check boxes in the left column to choose the items.
■ Use the Select All button to choose all available records in the list.
■ Use the Select action button to choose all of the records that are chosen for inclusion in the
selection.
The multiselect list applet is specific to Siebel applications that use standard interactivity. In
applications that use high interactivity, multirow selection is available in all list applets where Siebel
CRM uses the swe:list tag, except for pick applets. In a pick applet, the user can use the Control and
Shift keys to choose multiple rows, as in a typical Windows application. For more information, see
“About Standard Interactivity and High Interactivity” on page 42.
For more information, see “About List Applet Templates” on page 166.
For more information, see “About List Applet Templates” on page 166.
3 In the Applets list, locate the list applet you must modify.
4 In the Object Explorer, expand the Applet tree, and then click List.
5 In the Lists list, make sure the HTML Multi Row Select property of the List object contains a check
mark.
6 Modify the following swe:select-row tag of the list applet template that the multiselect list applet
references:
or
<swe:select-row>
</swe:select-row>
Siebel CRM uses the swe:select-row tag to render the check boxes that the user clicks to choose
multiple rows. If you configure the applet for multirecord selection in Siebel Tools, then note the
following:
■ If you set the property attribute in the swe:select-row tag or in the swe:this tag to
FormattedHtml, then Siebel CRM renders the check boxes.
■ If you use the swe:select-row tag without the property attribute, then the tag acts as a
conditional tag that displays only the body of the tag.
For more information, see “About List Applet Templates” on page 166.
7 Reference the controls and list columns for the list applet in the swe:form tag of the list applet
template.
Any invoke method on the applet requires the form tag that contains the row selection check
boxes. If the user chooses multiple records, then Siebel CRM does not call the Siebel Server. If
the user chooses multiple records, then Siebel CRM does not disable controls that do not support
calling methods. If the control is activated, and if the form tag does not contain the check boxes,
then Siebel CRM displays a message that it cannot perform the action if multiple records are
chosen.
8 (Optional) Modify the list applet template to supports all list applets.
For more information, see “Modify the List Applet Template to Support All List Applets” on page 343.
2 In the list body, use the swe:select-row tag with the swe:this tag conditionally to put in a td tag
that contains the check box.
When the user initially navigates to a list applet, Siebel CRM automatically chooses the record on
which the business component is positioned. The user can use the check box to deselect this record.
Unlike PositionOnRow, if the user uses the check boxes to choose multiple rows, then there is no
round trip to the Siebel Server. Siebel CRM only marks the chosen records on the business
component when it calls a method on the applet. The user can use the Next and Previous controls to
choose records from different working sets or records that Siebel CRM displays across multiple
pages.
To use the PositionOnRow control to distinguish between rows that are chosen and
rows that are not chosen
■ Use different images for the disabled and enabled state of the control to differentiate between
rows that are chosen and rows that are not chosen.
You can define any name for the row style. A new Siebel Web Style file (SWS) defines the actual
style sheet classes that this named style uses. This file is similar to the Siebel Web Format file that
Siebel CRM uses for custom HTML types. The SWS files must include the sws file name extension,
and must be installed in the same folder as the template files.
Similar to Siebel Web Format (SWF) files, the UserSWSName parameter defines the SWS file that
the application object manager uses. The UserSWSName parameter can override existing styles or
add new styles.
<swe:class name="XXX"/>
Attributes. The swe:class tag includes the name attribute, which is the Name of the CSS style
sheet class. You must load the style sheet that defines this class through the template.
<swe:switch>
<swe:class name="listRowError"/>
</swe:case>
<swe:class name="listRowOn"/>
</swe:case>
<swe:class name="listRowOdd"/>
</swe:case>
<swe:class name="listRowEven"/>
</swe:case>
<swe:default>
<swe:class name="listRowOff"/>
</swe:default>
</swe:switch>
</swe:style>
In the template file that the list applet references, you must replace the conditional tags used earlier
with the RowStyle property of the applet. You can set the RowStyle property to a class attribute of
any HTML tag. The format to define the RowStyle property of the list applet is similar to the format
to define the TextAlignment property of a list column. The following code is an example of how to
use the RowStyle property:
<swe:for-each-row count="7">
<tr class="swe:this.RowStyle">
<swe:control id="swe:currentId">
</swe:control>
</swe:for-each>
</tr>
</swe:for-each-row>
5 (Optional) Configuring a Different Icon for the Dynamic Drilldown on page 354.
6 (Optional) Configuring a Different Destination for the Dynamic Drilldown on page 355.
■ Control
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
■ Activity
■ Activity HI Calendar
The fields you define in this topic are required to support drilldown on the contact icon and a dynamic
drilldown on an activity. If you modify the drilldown definition, then you must also modify the
relevant fields.
2 Expand the Business Component tree in the Object Explorer, and then click Field.
3 In the Fields list, add a new field using values from the following table.
Property Value
Calculated True
Calculated Value IIF([Primary Contact Last Name] is NULL and [Primary Contact First
Name] is NULL, "", "<img src='images/icon_copy.gif' border='0'>")
The Primary Contact Icon provides the user a way to initiate the drilldown.
4 In the Fields list, add a new field using values from the following table.
Property Value
Calculated True
5 In the Fields list, add a new field using values from the following table.
Property Value
Name Open Bracket
Calculated True
Calculated Value IIF([Primary Contact Last Name] is NULL and [Primary Contact First
Name] is NULL, "", "[")
You use the open bracket symbol ([) and close bracket symbol (]) in Step 6 on page 351. To
enclose the corresponding last and first names of the contact with brackets in Siebel CRM, these
fields are defined according to the conditions that are set for them.
6 In the Fields list, add a new field using values from the following table.
Property Value
Property Value
Calculated True
Calculated Value IIF([Primary Contact Last Name] is NULL and [Primary Contact First
Name] is NULL, "", "]")
7 In the Fields list, add a new field using values from the following table.
Property Value
Join S_CONTACT
Column LAST_NAME
Siebel CRM uses the LAST_NAME column to retrieve details about the
contact from the S_CONTACT table. To support drilldown on the
contact icon and dynamic drilldown on the activity, details about the
contact are required. If the definition of the drilldown is changed, then
it might be necessary for you to change the relevant fields.
You must define the Join property before you define the Column property.
8 In the Fields list, verify that the Primary Contact Last Name field is defined using values from the
following table.
Property Value
Join S_CONTACT
Column LAST_NAME
If the field does not exist, then create it. If the field is not defined correctly, then modify it.
9 In the Fields list, verify that the Primary Contact First Name field is defined with values from the
following table.
Property Value
Join S_CONTACT
Column FST_NAME
If the field does not exist, then create it. If the field is not defined properly, then modify it.
10 Create a file name for the icon that Siebel CRM uses with the Primary Contact Icon field.
b In the Calculated Value property, replace icon_copy.gif with a file name that contains an image
of the icon you must display.
If a primary contact is associated to the calendar event, then Siebel CRM displays this icon
on a calendar event.
b In the Object Explorer, click Join, then query the Alias property of the Joins list for S_CONTACT.
d In the Object Explorer, expand the Join tree, and then choose Join Specification.
e In the Join Specifications list, verify that the join specification contains the following values.
Property Value
Name S_CONTACT
f If an S_CONTACT join with the alias S_CONTACT does not exist, then search for a join on the
S_CONTACT table that contains the same definition.
❏ If a predefined join with this definition does not exist, then create a new join using values
in Step b through Step e.
❏ If a join does exist that contains a different alias that meets this definition, then change
the join values to match the values in Step b through Step e.
In this topic you define the links and tooltips for the Activity HI Calendar Applet.
3 In the Object Explorer, expand the Applet tree, and then click Applet User Prop.
4 In the Applet User Properties list, locate the Display Fields applet user property, and then define
the Value property using values from the following table.
Property Value
Siebel CRM displays each field you define in the Value property as a separate link. The Contact
Details and Primary Contact Icon fields provide contact details, and the Description field provides
Activity information in the calendar. Siebel CRM can use an icon to represent the link.
5 In the Applet User Properties list, locate the Display Field Drilldown Object Names applet user
property, then define the Value property using values from the following table.
Property Value
This step defines the link for the drilldown object. The values must match the drilldown object.
6 In the Applet User Properties list, add a new applet user property using values from the following
table.
Property Value
This step defines the display text for the Contact Details link that you defined in Step 4. The text
that Siebel CRM displays before the period in the name of the applet user property must match
the Contact Details field that you defined in the value property in Step 4.
7 In the Applet User Properties list, add a new applet user property using values from the following
table.
Property Value
This step defines the tooltip for the Contact Details link. The text before the period in the name
of the applet user property must match the Contact Details field that you defined in the value
property in Step 4.
8 In the Applet User Properties list, add a new applet user property using values from the following
table.
Property Value
This step defines the tooltip for the Description link. The text before the period in the name of
the applet user property must match the Description field that you defined in the value property
in Step 4.
9 In the Applet User Properties list, add a new applet user property using values from the following
table.
Property Value
Value Description
10 In the Applet User Properties list, add a new applet user property using values from the following
table.
Property Value
This step defines the tooltip for the Primary Contact Icon link that you defined in Step 4. The text
before the period in the name of the applet user property must match the Primary Contact Icon
field that you defined in the value property in Step 4.
In this topic you define the drilldown objects and controls for the Activity HI Calendar Applet. This
configuration allows the user to perform a dynamic drilldown on an activity and a static drilldown on
a contact. Note that if the Activity Type is Presentation, then the target view is the Activity
Participants View. Otherwise, the target view is the eCalendar Detail View.
3 In the Drilldown Objects list, add a new drilldown object using values from the following table.
Property Value
Hyperlink Field Id
Source Field Id
4 In the Drilldown Objects list, add a new drilldown object using values from the following table.
Property Value
Hyperlink Field Id
Source Field Id
5 In the Drilldown Objects list, add a new drilldown object using values from the following table.
Property Value
7 In the Object Explorer, expand the Drilldown Object tree, and then click Dynamic Drilldown
Destination.
8 In the Dynamic Drilldown Destinations list, add a new dynamic drilldown destination using values
from the following table.
Property Value
Value P
You must complete Step 4 on page 348 before you can add the dynamic drilldown.
10 In the Controls list, add a new control using values from the following table.
Property Value
11 In the Controls list, add a new control using values from the following table.
Property Value
Because each control references a drilldown object, you must define the Hyperlink Field and Source
Field property in the Drilldown Object before you define the control. The exception is if the value of
the Hyperlink Field or Source Field is Id, then you can define the control first.
The optional configuration in this topic changes the link feature so that if the primary contact is an
employee, then Siebel CRM displays a different icon.
3 In the Object Explorer, expand the Business Component tree, and then click Field.
4 In the Fields list, add a new field using values from the following table.
Property Value
Join S_CONTACT.
As an alternative, you can use the name of the join specification that
you use in Step e on page 350.
Column EMP_FLG
5 In the Fields list, modify a predefined field using values from the following table.
Property Value
Calculated Value IIF([Primary Contact Last Name] is NULL and [Primary Contact First
Name] is NULL, "", IIF([Primary Contact Employee Flag] = "Y", "<img
src='images/icon_copy.gif' border='0'>", "<img src='images/
icon_alarm.gif' border='0'>"))
Column EMP_FLG
The optional configuration in this topic causes the dynamic drilldown to drill down to an employee
view if the primary contact is an employee. Otherwise, the drilldown displays a contact view.
4 In the Drilldown Objects list, add a new drilldown object using values from the following table.
Property Value
5 In the Drilldown Objects list, locate the Contact - Detail drilldown object.
6 In the Object Explorer, expand the Drilldown Object tree, and then click Dynamic Drilldown
Destination.
7 In the Dynamic Drilldown Destinations list, add a new destination using values from the following
table.
Property Value
Value Y
8 If necessary, make sure that the Employee Activity (ERM - Help Desk) view is defined in the ERM
Employee ReadOnly Screen.The Employee Activity (ERM - Help Desk) view comes predefined. It
is only necessary to perform this step if the view is deleted or modified for some reason:
d In the Screen Views list, locate the Employee Activity (ERM - Help Desk) screen view.
Because the name of this screen view contains a special character, you must enclose the
name in double quotes when you issue the query.
e If the query returns an empty result, then add a new screen view using values from the
following table.
Property Value
Property Value
1 Setting the Language Mode of the Applet Layout Editor on page 599
The Applet Layout Editor is a visual editing tool that allows you to modify the layout of an applet,
which includes adding and removing controls and list columns. It provides a canvas and a preview
mode that allows you to view how Siebel CRM renders the applet in the Siebel client.
The constrain mode affects certain text strings. For more information, see “Setting Up the
Configuration File for Siebel Tools” on page 199.
Capabilities vary between browsers. For example, some browsers support frames and JavaScript.
Before you edit the layout of an applet, you set the context so that the Web Layout Editor displays
objects that the browser supports. For more information, see “Displaying Different Sections of a
Template Depending on the Browser Type” on page 523.
The Configuration Context toolbar includes the Target Browser drop down list. This list allows you
to specify the target browser.
2 In the Configuration Context toolbar, Choose the Target Browser drop down list, and then choose
Target Browser Config.
3 In the Available browsers window of the Target Browser Configuration dialog box, choose a
browser you must map, and then click the right arrow.
You can view capability information about the browser in the Capability Name and Value sections
of the dialog box.
The target browser determines how Siebel Tools handles conditional template tags in the Web
Layout Editor. If you choose more than one browser, then the group of target browsers
determines how Siebel Tools handles these tags.
If you do not choose a browser in the Target Browser field, then Siebel Tools displays an error
message when you open the Applet Layout Editor.
CAUTION: Do not change the Configuration Context after you start to modify an applet layout.
The Web Layout Editor displays information differently depending on the target browser you
choose. For example:
■ The Target Browser is IE 5.0. The editor displays a placeholder for the applet in the frame
with an underlying identifier of 101. You can drag and drop a specific applet to the
placeholder. This is because IE 5.0 includes a FrameSupport capability.
■ The Target Browser is IE 1.5. The editor does not display the placeholder because the
FrameSupport capability for IE 1.5 is FALSE.
It might be necessary for you to define different applet layouts to support different browser
capabilities.
If the applet you chose does not reference an applet web template, then Siebel CRM displays a
dialog box that allows you to open the Applet Wizard so that you can reference a web template.
Make sure you choose an active web template. Siebel Tools displays active and inactive web
templates. Siebel Tools labels uses inactive to label an inactive web template.
Siebel Tools does not automatically apply changes you make to an applet layout in one mode to
an applet layout in another mode.
Choose All Applications to apply changes to all applications. Choose a specific application to apply
changes to only one application. For more information, see “Options to Determine How Siebel CRM
Displays Controls and List Columns in a Siebel Application” on page 129.
3 (Optional) To display the standard interactivity placeholder, choose the Interactivity list on the
Configuration Context toolbar, and then choose Standard.
A placeholder exists in the header of a list or form applet that allows you to add a button that
Siebel CRM only renders in standard interactivity. The item ID of the placeholder is 580. For more
information, see “About Standard Interactivity and High Interactivity” on page 42.
If you add a new control or list column to the applet layout, then you can use the Properties
window to define an object property, such as Field or Name.
In the Applet Layout Editor you can add a predefined or custom control or list column. You can add
a predefined control or list column that is a child object of the applet that exists in the Siebel
repository but is not mapped to the applet web template.
You can also add a custom control or list column to an applet layout. For example, you can add a
custom control to the applet layout that displays a custom business component field. If you add a
control, then the Applet Layout Editor automatically creates the corresponding child objects to the
applet, including the control or list column, and the applet web template item.
For more information, see “About Applet Controls and List Columns” on page 121.
2 In the Applets list, locate the applet you must modify, right-click, and then choose Edit Web
Layout.
To display the Controls/Columns window, choose the View menu, Windows, and then the Controls
Window menu item.
4 Drag and drop the control or list column you must add from the Controls/Columns window to the
canvas.
Siebel Tools displays the control or list column in the canvas and creates the corresponding web
template item. If this is a custom control, then Siebel Tools also automatically creates an object
definition for the control.
5 (Optional) Use the Properties window to define the properties for the control.
If the Properties window is not open, choose View menu, Windows, and then the Properties
Window menu item.
6 To add a control or list column in a layout that does not use a grid, drag and drop the control or
list column from the Controls/Columns window to any empty placeholder in the canvas.
The predefined placeholders in the web template determines the locations that are available for
a control in an applet that references a web template that does not use a grid. For example, with
a list applet. For these applets, you drag and drop a control onto an empty placeholder in the
canvas. For more information, see “About Nongrid Form Applet Templates” on page 164.
An applet header and footer is designed for a button control. Avoid placing a non-button control,
such as a field, on an applet header or footer.
2 In the Applets list, locate the applet you must modify, right-click, and then choose Edit Web
Layout.
TIP: To choose multiple controls, hold down the Shift key, and then choose the controls you
must delete.
■ Choose the Edit menu, and then choose the Cut menu item.
■ Press CTRL+X.
Siebel Tools removes the item from the canvas and deletes the corresponding applet web
template object definitions from the Siebel repository.
You can preview the applet layout to view how Siebel CRM displays the applet in the Siebel client.
You can preview the layout in the following ways:
■ In high interactivity or standard interactivity. For more information, see “About Standard
Interactivity and High Interactivity” on page 42.
■ To view the layout in full view, hide any docked windows, such as the Object Explorer or the
Properties window.
■ Siebel Tools displays a grid in the preview mode that allows you to estimate the width of the
applet layout. The default grid includes cells that measure 100 pixels by 100 pixels. A red bar in
the preview mode indicates the right edge of the layout, beyond which the user must scroll
horizontally. The bar is two grid cells wide. For the default grid, Siebel CRM displays the bar at
969 pixels, which is optimized for a resolution of 1024 pixels.
You can change the background grid of the preview to optimize the layout for different monitor
settings. For more information, see Using Siebel Tools.
■ If Siebel Tools displays the layout of a grid applet in preview mode, then Siebel Tools might
compress spaces between fields and the spaces in labels. However, Siebel Tools does not
compress fields.
2 In the Applets list, locate the applet you must modify, right-click, and then choose Edit Web
Layout.
3 In the Mode list of the Controls/Columns window, choose the applet mode that you must edit.
Siebel Tools displays an approximation of how Siebel CRM displays the applet in the Siebel client.
2 In the Save As dialog box, choose a file name and locate the following directory:
<ORACLE_HOME>\tools\public\enu
You must choose this directory so that Siebel Tools correctly renders image files that exist in the
HTML file, such as buttons.
■ Customizing the Display Name for a Control Caption or List Column on page 364
■ Displaying a Parent Applet Field in the Title of a Detail Applet on page 365
■ Displaying a Field Only If the User Chooses Show More on page 367
■ Setting the Input Method Editor Mode on a Control or List Column on page 368
■ Copying Controls and Labels from an Applet to a Web Template on page 369
■ Verifying the Map Between a Control or List Column and a Placeholder on page 370
For more information, see “Setting Up the Configuration File for Siebel Tools” on page 199.
2 In the Applets list, locate the applet you must modify, right-click, and then choose Edit Web
Layout.
4 Choose the text in the display name or caption, and then type new text.
Siebel Tools searches for a symbolic string that is an exact match to the text you type, and that
is unique, and then does the following:
■ If Siebel Tools finds an exact match, then Siebel Tools references the symbolic string from
the control or list column and enters the value of the current string in the Display Name or
Caption field. After you save your work, Siebel Tools updates the Display Name property for
the control or list column.
■ If Siebel Tools does not find an exact match, or if the match is not unique to a single symbolic
string, then Siebel Tools displays an error message.
5 (Optional) You can also use the Controls or List Columns list to change the control caption or list
column display name:
2 In the Applets list, locate the detail applet you must modify, right-click, and then choose Edit
Web Layout.
3 Drag and drop a text control into the placeholder for the title that is positioned on the canvas.
4 Give the control a useful name, such as <business component name> Title.
6 In the Field property of the control, choose the parent business component field whose value you
must display, for example Name.
The Mode property of the applet web template item determines the mode in which Siebel CRM
displays a control or list column. For more information, see “Displaying a Field Only If the User Chooses
Show More” on page 367.
If no web template item is defined in the More mode for an applet, then Siebel CRM does not display
the Show More/Less button. Siebel CRM does not support the More/Less feature for a pop-up applet.
For more information, see “Customizing Pop-Up Applets and Windows” on page 315.
2 In the Applets list, locate the detail applet you must modify, right-click, and then choose Edit
Web Layout.
3 In the Applet Layout Editor, drag and drop one of the following controls onto a placeholder at the
upper right of the applet:
4 In the Properties window, set properties for the control using values from the following table.
Property Value
Property Value
Runtime FALSE
Sort FALSE
Visible TRUE
5 Close the Applet Layout Editor, then step off the applet record to save changes.
6 Choose the applet, and then confirm that it now includes the ToggleLayout or
ToggleListRowCount applet web template item.
2 In the Applets list, locate the detail applet you must modify, right-click, and then choose Edit
Web Layout.
Siebel Tools displays the control in the canvas with a down arrow. In the Siebel client, Siebel
CRM only displays this control after the user chooses Show More.
For more information, see “Displaying a Subset of Fields or CRM Records” on page 366.
2 In the Applets list, locate the applet you must modify, right-click, and then choose Edit Web
Layout.
Siebel Tools changes the mode of the Applet Layout Editor to Set Tab Order and displays a
number next to each control. If the user repeatedly presses the tab button, then the number
indicates the sequence in which the user progresses through the controls.
4 To create the tab order, click each control in the same sequence in which the user progresses
through the controls.
Siebel Tools assigns a sequence number to each control when you click the control.
5 After you assign all the desired controls, click the canvas.
Siebel Tools returns the Applet Layout Editor to normal edit mode. If necessary, you can start at
Step 1 to reset the tab order.
Siebel Tools returns the Applet Layout Editor to normal edit mode.
8 Repeat steps Step 1 through Step 7 for each applet web template mode.
You can only use the input method editor in high interactivity. You cannot use the input method
editor in standard interactivity. For more information, see “About Standard Interactivity and High
Interactivity” on page 42.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
4 In the Object Explorer, expand the Applet tree, and then do one of the following:
■ Click Control
5 In the Controls or List Columns list, locate the control or list column you must modify.
6 In the Object Explorer, expand the Control or List Column tree, and then choose Control User
Prop or List Columns User Prop.
7 In the Control User Props list or in the List Columns User Props list, add the required records.
The following table lists the values for several example records.
Name Value
IME E0010411:Hiragana
IME E0010411:Direct
IME E0010411:IMEOFF
This setting can be useful for a field that must only contain numeric data,
such as a phone number. In this situation, you can restrict the data the user
enters to only numeric characters.
The code for the IME version varies. For example, a Microsoft Windows IME uses the following
code:
Version Code
2 In the Applets list, locate the applet you must modify, right-click, and then choose Edit Web
Layout.
3 In the canvas, hold down the Shift key, and then choose the items you must copy.
5 In the Object Explorer, navigate to the web template where you must copy the items, and then
choose Paste from the Edit menu.
■ If you paste into the same applet web template that the applet references, or if you paste
into a different applet, then Siebel Tools creates new controls and applet web template items.
■ If you paste into the same applet but to another mode, then Siebel Tools creates only the
applet web template items.
You cannot assign the same placeholder ID to more than one object.
2 In the Applets list, locate the applet you must verify, right-click, and then choose Edit Web
Layout.
3 Right-click the canvas of the Applet Layout Editor, and then choose Check Mappings.
If a map between a control or list column and a placeholder is invalid, then Siebel Tools prompts
you to delete the placeholder from the web template.
■ Using the Conversion Wizard to Convert a Form Applet to Grid Layout on page 372
■ Modifying the Web Template to Convert a Form Applet to Grid Layout on page 374
■ Identifying an Applet or Applet Web Template That You Cannot Convert to a Grid Layout on page 375
Grid layout is a design technology in the Applet Layout Editor and certain applet web templates that
allows you to modify the layout of a form applet without having to directly modify the underlying
applet web template. The work space is a grid canvas where controls snap to a grid. You use a palette
of layout tools to define the layout of the form applet, such as resizing, aligning, and centering.
If you define a form applet, then it is recommended that you use a template that uses a grid. A
template that uses a grid allows you to use the Applet Layout Editor, which helps you to control the
layout of the form applet.
For more information, see “About Grid Form Applet Templates” on page 163.
4 In the Object Explorer, expand the Applet tree, and then click Applet Web Template.
5 In the Applet Web Templates list, make sure the Web Template property references the
appropriate template.
For more information, see “Applet Web Templates That Support Grid Layout” on page 372.
6 In the Applets list, right-click, and then choose Edit Web Layout.
8 For more information, see “Guidelines for Arranging Controls in Grid Layout” on page 377.
Applet Form Grid CCAppletFormGridLayout.swt Use with all modes of form applets.
Layout
This template includes buttons in the
applet header.
2 In the Web Template Explorer, expand the Siebel Web Templates tree, and then choose
CCAppletFormGridLayout.
Siebel Tools displays the code for the CCAppletFormGridLayout file in the Web Template File window.
You can use this template for a form applet.
3 To view the template, click CCAppletPopupFormGridLayout in the Siebel Web Templates tree.
You can use this template for a popup form applet.
■ You must convert a form applet to use grid layout, you did not previously convert the applet to
use a grid layout, and you preserved the custom layout during an upgrade.
■ You must convert a custom applet you defined that uses a template that does not use a grid.
For more information, see “Identifying an Applet or Applet Web Template That You Cannot Convert
to a Grid Layout” on page 375.
2 In the Configuration Context Toolbar, make sure the Application field contains the context you
require.
For more information, see “How the Siebel Application Context Affects Controls That the Applet Web
Template Conversion Wizard Converts” on page 374.
3 If you work in Language Override mode, then make sure your Tools Language Mode is configured
for the language you must convert.
For more information, see “About Localization in the Development Environment” on page 598.
6 From the Tools menu, choose the Convert to Grid Layout menu item.
7 In the Applet Web Template Conversion Wizard, move the applets you must convert from the
Available Applets window to the Selected Window.
■ It is recommended that you choose the Backup existing Applet Web Templates option.
■ If you choose the Label on the left of the fields option, then the Conversion Wizard creates
a new form template that does not use a grid, moves labels to the left, and then converts
that template to grid layout.
■ If you choose the Launch web layout editor upon completion option, then the editor displays
the applet web template for the last applet that you chose in Step 7.
9 Click Next.
The wizard converts the active web templates to grid layout web templates:
■ If no error occurs, then you can use the Applet Layout Editor to edit the layout of these
applets. For more information, see “Process of Using the Applet Layout Editor” on page 359.
■ If an error occurs, then the Applet Web Template Conversion Wizard displays the error in a
dialog box. Siebel Tools stores this information in a log file. For more information, see
“Troubleshooting a Grid Layout Conversion Problem” on page 376.
NOTE: If an item in an applet header or footer does not convert properly, then you might be
required to manually modify the item after the conversion. This situation can occur if you map a
field to a placeholder in an applet header or footer. You typically map a button control rather
than a field to a header or footer.
How the Siebel Application Context Affects Controls That the Applet
Web Template Conversion Wizard Converts
The Applet Web Template Conversion Wizard only converts controls that are valid in the current
application context that is chosen in the Application field of the Configuration Context Toolbar. For
example, if the Siebel ERM application is chosen, then Siebel Tools only converts the controls that
are valid in the context of the Siebel ERM application. If a control is not valid in the chosen application
context, then Siebel Tools displays a dialog box that provides you the option to cancel the conversion
or to continue. If you choose continue, then Siebel Tools creates an entry in a log file for each control
that it does not convert. For more information, see “Troubleshooting a Grid Layout Conversion
Problem” on page 376.
For more information, see “Identifying an Applet or Applet Web Template That You Cannot Convert
to a Grid Layout” on page 375.
3 In the Applets list, right-click the applet that you must convert to a grid layout, and then choose
Edit Web Layout.
If the Controls/Columns window is not visible, then choose the View menu, Windows, and then
the Controls Window menu item.
For more information, see “Applet Web Templates That Support Grid Layout” on page 372.
After you reference a grid layout template, you can use the Applet Layout Editor to edit the
applet. For more information, see “Process of Using the Applet Layout Editor” on page 359 and
“Guidelines for Working with Grid Layout” on page 377.
To identify an applet web template that you cannot convert to a grid layout
1 In Windows Explorer, navigate to the Tools_Install\BIN directory.
If you use another operating system, then use the appropriate navigation software.
The awtcvtcfg.txt file is the configuration file for the Applet Web Template Conversion Wizard.
It lists applets and applet web templates that you cannot convert.
3 Make sure the applet or applet web template you must convert is not listed.
NOTE: Do not modify the list of applet classes and applet web template files that are listed in
the configuration file for the Applet Web Template Conversion Wizard. Siebel CRM does not
support modification of these classes or files.
■ If the applet is the child applet, then modify the AppletStyle3 selector.
The child applet is not the top applet in a view. For example:
To resolve a grid layout conversion problem, look for it in the list of Symptoms or Error messages
column in Table 42.
Siebel Tools displays these errors in a dialog box at the end of the conversion process. Siebel Tools
creates an entry in a log file for each control that it does not convert or for errors that it encounters
when it converts an applet to grid layout. The log file is named awtconversion.txt and is located in
the tools_install\temp directory.
Symptom or
Error Message Diagnostic Steps or Cause Solution
Cannot map a This problem might be due to an applet Use the Applet Layout Editor to
control or label. web template item that is not explicitly map a control to the applet layout.
mapped to a control on the original applet For more information, see “Adding
web template. To display on the new grid a Control or List Column to an Applet
applet web template, the Control Layout” on page 361.
property on each web template item must
contain a value.
Cannot convert The following items might cause the Use Edit Web Layout to associate a
an applet. problem: valid web template to the applet.
The applet web For more information, see “How the Siebel Choose the appropriate application
template is Application Context Affects Controls That in the Application field of the
configured for the Applet Web Template Conversion Configuration Context toolbar and
more than one Wizard Converts” on page 374. run the Conversion Wizard again.
application
For more information, see “Using
context.
the Conversion Wizard to Convert a
Form Applet to Grid Layout” on
page 372.
■ Controls snap to a grid in which each grid cell measures 8 pixels by 8 pixels.
■ A grid layout only partially resizes a field according to the monitor resolution that is set on the
computer on which the Siebel client runs. For example, if a grid form applet is designed to run
on a monitor with a resolution of 1024 by 768, and if Siebel CRM displays the applet on a monitor
with a resolution of 800 by 600, then the user must scroll to the right to view the right-most
edge of the layout. If Siebel CRM displays the same applet on a monitor set to a resolution of
1280 by 1024, then the form does not occupy the entire width of the screen.
To reduce the potential for horizontal scroll, the browser eliminates as much padding as possible.
Field sizes do not change, but empty characters at the beginning or end of a label do change.
For example, an applet that is 150 grid cells wide is 1200 pixels wide, and can render in the width
of a screen that is set at a width resolution of 1028. The Tools Preview mode reflects this
functionality. You can use the preview mode to track how many cells the form crosses, and to
approximate how wide the form is when Siebel CRM renders it in the browser.
■ If you configure a control in an applet that uses a grid layout, then place controls marked for
More mode at the bottom of the applet. The grid layout applet does not compress empty space
in the applet.
■ In the Applet Layout Editor, Siebel CRM displays a label as an item that is separate from the
corresponding control, which provides you with a way to independently position the label. Siebel
CRM uses labels as constructs in the Applet Layout Editor only. A label does not exist as a
separate control in the Siebel repository. A label is defined as an applet web template item.
Although it uses the Caption and Text Alignment- Label properties of the corresponding control,
other properties from the control do not apply.
■ The Item Identifier property of the applet web template item indicates the position of the label
or control in the grid. For example, in the Edit applet web template of the Account Form Applet,
the value of the Item Identifier for Country is 8,072. The label is CountryLabel and is located at
8,064.
■ If you save an applet layout, then the Applet Layout Editor checks for overlapping controls. If an
overlapping control exists, then Siebel Tools displays an error message and you cannot save the
layout.
■ If you use the alignment buttons on the Format toolbar, then the last item you choose on the
canvas is the item to which Siebel Tools aligns, centers, and spaces all other items.
■ To determine the action a tool performs, scroll over the tool and view the small pop-up label that
Siebel Tools displays.
■ A tool in the Format Toolbar is only active if the action that the tool performs in the Applet Layout
Editor is actionable. For example, the Align Lefts tool is only active if you choose more than one
control.
■ To resize or position a control, always use the Applet Layout Editor. Do not modify the property
of a control in the Controls list.
■ You can use the arrow keys to move a control or controls to the desired position.
This chapter describes how customize special-purpose applets such as chart, tree, attachment, and
pop-up applets. It includes the following topics:
■ Customizing a Chart That Includes Multiple Lines Against One Y-Axis on page 405
For more information, see “About Chart Applet Templates” on page 172.
This view is named Opportunity Size Analysis. The object definition for this view in Siebel Tools is
named Oppty Chart View - Opportunity Size Analysis. It includes a list and a chart applet. It lists
opportunities in the list applet and aggregates them by size in the Oppty Chart Applet - Competitor
Frequency Analysis chart applet. By default, the chart applet in this view displays the data in the
three dimensional bar chart format. The user can choose different chart types from the Type list that
Siebel CRM displays in the chart applet. To change the size of the legend for a chart applet, the user
can right-click the legend, and then choose one of the menu items. For more information, see “Types
of Charts” on page 382, and “Considering Factors That Affect Chart Performance” on page 565.
■ To identify a different project, uses each bar color for Z, series, and axis.
In a chart that contains two Y axes, the first Y-axis refers to the vertical axis on the left side of the
chart, and the second Y-axis refers to the vertical axis on the right side of the chart.
Axis Terminology
Table 43 describes each axis in a chart.
X-axis Category The horizontal axis, except in a The horizontal The set of pie slice
horizontal bar chart, in which the X- axis. labels.
axis is the vertical axis along the
left side of the chart.
Y-axis Data The vertical axis, except in a The vertical axis. The percentage of
Values horizontal bar chart, in which the Y- the circle that each
axis is the horizontal axis along the pie slice occupies,
bottom of the chart. and the
corresponding
numeric value.
Z-axis Series A set of labels in the legend. In the A set of labels in Because Siebel
stacked bar or cluster bar charts, the legend. In a CRM charts only
each series label corresponds to a line chart, each the first entry in
bar segment or bar of a specific series label in the each series, do not
color that Siebel CRM displays in legend use a series field
each stack or cluster. corresponds to with a pie chart.
one line.
Types of Charts
This topic describes different types of charts. It includes the following topics:
NOTE: Siebel CRM does not support all styles for all chart applets. Siebel CRM uses data from the
CHART_TYPE list of values to populate a chart type list.
The user can choose different chart types from the Type list that is located at the upper right in most
chart applets. A chart type provides the following layout options:
■ Horizontal bar
■ Stacked bar
■ Pie
■ Line
■ Scatter
■ Spline
Several of these charts can display data in two or three dimensions. The functionality for a three
dimension chart is the same as the corresponding two dimensional chart except the three
dimensional chart displays thickness for the bar, line, or pie.
Bar Charts
A bar chart compares the difference in data from one category to another category. This topic
includes examples of different bar charts.
Figure 42 illustrates how Siebel CRM displays a cluster of bars for categories rather than a single bar
if the chart is configured with a Z series axis.
Figure 42. Example of a Three Dimensional Bar Chart With Series Axis
Figure 44 illustrates how, if a series axis is present, then clusters of horizontal bars replace individual
horizontal bars.
Figure 44. Example of a Three Dimensional Horizontal Bar Chart With Series Axis
Each quarter along the X-axis includes a stack of bars. Each bar in the stack indicates the revenue
reached in a specific quarter. The stacks in each bar indicate individual projects.
Line Charts
A line chart displays trends across categories or over time.This topic incudes examples of different
line charts.
■ If there is no series axis, then Siebel CRM displays a single line and set of points.
■ If there is a series axis, then Siebel CRM displays one line and the corresponding set of points
for each color in the legend.
■ Does not display the actual data points. It only displays a smoothed line.
Pie Charts
A pie chart compares the relative difference across categories. It divides a circle into segments that
represents the percentage of the whole for each category. This topic includes examples of pie charts.
■ The category constitutes the X-axis. It is the set of pie slices and corresponding labels.
■ The data points constitute the Y-axis. it determines the relative size of each pie slice as a
percentage of the total.
You cannot define a series axis for a pie chart. The three dimensional pie chart gives the illusion of
depth for visual attractiveness.
Scatter Charts
A scatter chart displays the distribution of data across two dimensions, which is useful for probability
distribution and other uses. Because the category axis must contain only numeric data, you cannot
convert the two dimensional scatter chart to other chart types, such as the bar chart, line chart, or
pie chart. For this reason, the following conditions apply for the two dimensional scatter chart:
A single bar or line graph is the simplest form of chart applet. It contains no series axis and only a
category field and a data point field are defined. Siebel CRM plots pairs of category and data point
field values as points or bars. If multiple records use the same category value, then Siebel CRM adds
together their data point values.
Figure 57 illustrates how Siebel CRM plots the number of opportunities on the data point axis against
the source of the opportunity on the category axis. Example sources include referral, magazine
article, Web site, and so forth. To generate the data required for the line, Siebel CRM checks the
Source field in each record and tallies the number of opportunities for each distinct source value.
Figure 58 illustrates the result, which is a two row temporary table that includes a column for each
source.
Figure 59 illustrates a multiple line chart where Siebel CRM adds a row to the temporary table for
each line in the series.
Property Description
Category Field Contains the name of a text or date field in the business component except for
a scatter chart, which uses a numeric category field. When Siebel CRM scans
the business component records, Siebel CRM maps the different values in this
field to different categories. Siebel CRM displays values on the X-axis labels of
the chart.
Data Point Field Can contain the name of a numeric field in the business component or is not
defined:
■ If it is defined, then Siebel CRM adds the value in this field in each record
to the total for the value of the category field in the same record.
■ If it is not defined, then Siebel CRM increments the count for the
corresponding category field.
These counts or totals determine the height along the Y-axis of a bar or line
point for each unique category field value in the line. Rather than a total or a
count, some other function that is defined in the Data Function property can
determine how to use the data in the Data Point Field property.
Series Field Contains the name of a text field in the business component, or is not defined.
When Siebel CRM scans the business component records, Siebel CRM maps the
different values in this field to different lines. Siebel CRM displays these values
on the legend labels of the chart.
NOTE: If the number of series exceeds 50 when the user runs the chart, then
Siebel CRM displays an error message. The user might be required to run
another query that results in a display that does not exceed 50 series.
Function Determines how Siebel CRM converts data point field values into the cell values
of the new table. The following values are available:
■ Plot. Similar to Count except that if a cell is empty, then the value is NULL
instead of 0.
2 In the New Object Wizards dialog box, Click the Applets tab, click the Chart Applet icon, and then
click OK.
3 In the General dialog box of the Chart Applet Wizard, define the following properties, and then
click Next:
■ Project
■ Business Component
■ Name
■ Display Name
4 In the Y Axis dialog box, define the properties for the Y-axis, and then click Next.
Follow the instructions in the dialog box. Note that when you define the Data point field, Siebel
Tools automatically enters values in the Titles section of the dialog box. For more information,
see “Data Point Field” on page 397 and “Function” on page 397.
5 In the X-axis dialog box, define the properties for the X-axis, and then click Next.
6 (Optional) In the Z Axis dialog box, define the properties for the Z-axis, and then click Next.
7 In the Chart Title dialog box, enter a title, and then click Next.
8 In the Web Layout - General dialog box, choose the Siebel Web Template to use for the base
read-only mode, and then click Next.
9 In the Finish dialog box, review the information, and then click Finish.
The Chart Applet Wizard creates the required object definitions and sets the property values
according to the information you entered in the wizard. The Web Applet Layout Editor opens and
allows you to map controls to placeholders in the web template.
For more information, see “Editing the Layout of a Web Page” on page 519.
1 Show list. Allows the user to change data that Siebel CRM displays on the Y-axis. For more
information, see “Customizing the Show List of a Chart Applet” on page 400.
2 By list. Allows the user to change data that Siebel CRM displays on the X-axis. For information,
see “Customizing the By List of a Chart Applet” on page 403.
Second By list. Allows the user to choose which source field provides data for the Z-axis. For
more information, see “Customizing the Second By List of a Chart Applet” on page 404.
3 Type list. The most common of the four lists. Siebel CRM displays it in most chart applets and
provides the user with a way to choose a different type of chart for the same data, such as a pie
chart instead of a bar chart, or a two-dimensional line chart instead of a three-dimensional chart.
For more information, see “Types of Charts” on page 382.
You can use a comma separated list of chart type names in the Picklist Types property of the
chart object definition to define options for the type list. For example:
3dBar,3dStackedBar,3dPie,3dHorizBar,2dBar,2dStackedBar,2dPie,2dHorizBar
Siebel CRM does not allow spaces between the elements in the comma separated list.
The default type is the chart type that Siebel CRM displays the first time it displays the chart.
This default is defined in the Type property. A chart that does not include a type list uses the
Type property to define the chart type. The user cannot change a chart that does not include a
type list.
By ChartPickby PickXAxis
4 In the Object Explorer, expand the Applet tree, and then click Chart.
Property Description
■ Enter one field for each entry that Siebel CRM displays in the show list.
■ If you only enter one field name, then this entry applies to all functions
in the list.
Data Function Enter a comma separated list that includes the following values: SUM,
COUNT, AVERAGE, or PLOT.
PLOT instructs Siebel CRM to derive Y values from the values in the source
field.
The order of items in this list determines the association with a data point
field and title, which is the list function. If the Data Function property
contains fewer elements than the list of names that are defined in the
Picklist Functions property, then Siebel CRM substitutes the values in the
Data Function property with the following values:
Sum,Count,Average,Plot
Picklist Functions Enter a comma separated list of Y-axis titles, which is also the text that
Siebel CRM displays in the list. The order of values in the Picklist Functions
property determines the association with a data point field and data
function.
You can define a show list with an explicit format that displays the following choices:
■ Number of Opportunities
■ Opportunity Revenue
Table 46 describes the properties and their values that are required to implement this example.
Table 46. Properties of the Show List for the Sales Method Bar Chart
Property Value
Table 46. Properties of the Show List for the Sales Method Bar Chart
Property Value
In this example, the values in each comma separated list creates the following relationships between
the properties:
■ Opportunity Expected Revenue performs a Sum function on the Expected Revenue field.
The Lead Source Analysis chart in the Opportunity New Business Analysis view in Siebel Sales (Oppty
Chart Applet - New Business) is an example of a Show list that is defined with an implicit format and
function list. This list displays the following choices:
■ Number of Opportunities
■ Opportunity Revenue
Table 47 describes the properties and their values that are required to implement this example.
Table 47. Properties of the Show List for the Lead Source Analysis Chart
Property Value
The value of Revenue in the Data Point Field property applies to all entries in the list.
In this example, the values in each comma separated list creates the following relationships between
the properties:
Because the value of the Count in the Data Function property is not necessary, it can be empty.
If the number of entries in the Data Function property is not the same as the number of entries in
the Picklist Functions property, then Siebel CRM supplies the following predefined list in the Data
Function property:
■ Count,Sum,Average,Plot
■ In a period chart, Siebel CRM enters data into the by list with different date periods. The user
can choose from a list of possible X-axis date periods for calendar data. This calendar data
includes day, week, month, quarter, and year. You can define these options in the Picklist Periods
property of the chart object.
■ If you define a list of source fields rather than a single source field, then the list allows the user
to choose which source field provides data for the X-axis.
■ Because the user can invert the X-axis and the Z-axis, the user can view the data from a source
field in a business component that displays along the X-axis or Z-axis according to the selection
the user makes in the list.
For example, in the New Business Analysis chart the category field is Created, which is the date that
Siebel CRM created the opportunity record. The increment that the user chooses in the by list
determines the date increments that the category axis contains.
Text labels in the X-Axis and Category and Series Field Names in the List
If the Category Field property contains the name of a single text field from the business component,
and if a series field is defined in the Series Field property, then the by list includes the names of the
category field and the series field. The user can choose either field to update the X-axis with labels
from the contents of that field. The unchosen field provides labels for the legend box. The legend box
is the Z-axis. The default value is the category field and Siebel CRM initially displays it on the X-axis.
For example, the chart in the Service Request Product Analysis view in the Siebel Service application
includes a Product category field and a Severity series field. When Siebel CRM initially displays the
chart, the X-axis labels are product names and the legend labels are severity levels. However, Siebel
CRM displays the Product and Severity field names in the by list. The severity allows the user to
display severity levels in the X-axis and product names in the legend.
Text Labels in the X-Axis and Multiple Field Names in the List
If the Category Field property contains a comma separated list of field names, then Siebel CRM
displays this list in the by list. The user chooses the field that provides data for the X-axis. The default
value is the first value in the list. You must not include an empty space before or after a field name
in the list.
For example, the Probability Cluster Analysis chart in the Opportunity Probability Cluster Analysis
view includes the Rep% category field, which is the probability of a sale. In this chart, Siebel CRM
plots probability against the X-axis, the X-axis increments are percentages from 0% to 100%, and
Siebel CRM displays no by list.
The following values in the Series Field property in the chart object determines the behavior of the
second by list:
■ If the Series Field property is empty, then Siebel CRM maps all records into a single series.
■ If the Series Field property contains the name of a field from a business component, then Siebel
CRM includes labels on the Z-axis that it derives from the contents of that field.
■ If the Series Field property contains a comma separated list of field names, then Siebel CRM
displays this list of fields in the second by list. The user chooses the field that provides data for
the Z-axis. The default value is the first value in the comma separated list.
2 Define properties of the chart object, using values from the following table.
Property Description
Data Point Field Create a comma separated list of source fields, one for each line that
Siebel CRM displays in the graph.
Data Function Create a comma separated list that includes some of the following function
names: SUM, COUNT, AVERAGE, or PLOT.
PLOT indicates that Siebel CRM derives the Y values directly from the
values in the source field.
The list of function names must include the same number of entries as the
Data Point Field list. The order in the list in the Data Function property
determines the association with the data point field and title.
Picklist Functions Create a comma separated list of Y-axis titles. Items in this list define the
individual lines in the Legend. The list of titles must include the same
number of entries that Siebel Tools displays in the list in the Data Point
Field property. The order in the list determines the association with the
data point field and data function.
Series Field This property must be empty. Remove any existing values from the Series
Field property. If the Series Field property contains a value, then Siebel
CRM converts the multiple lines to a Z-axis.
Multi Data Point Set to TRUE, which indicates that multiple lines are plotted.
3 In the Applet Web Editor, remove the Show combo box and the label for the Show combo box.
2 Define properties of the chart object, using values from the following table.
Property Description
Data Point Field Define two fields that are separated by a comma:
2 In the Object Explorer, expand the Chart tree, and then click Chart Element.
3 In the Chart Elements list, define properties of the axis label chart element, using values from
the following table.
Property Description
Divisions Defines the X-axis or the Z-axis. Enter an integer to limit the number of
X-axis or Z-axis labels. Siebel CRM limits the number of labels it displays
to the number you enter. Note the following:
Sort Specification Defines the Y-axis. Enter a value of Ascending or Descending. Note the
following:
This sort specification is independent of limiting the number of X-axis or Z-axis divisions. A sort
specification on Y orders the data points regardless of if you limit or do not limit the display to
the first N points. However, you cannot set a number of X-axis or Z-axis divisions without also
setting a sort specification on Y.
2 In the Object Explorer, expand the Chart tree, and then click Chart Element.
3 Set the Sort Specification of the chart element in the X-axis or Z-axis label.
For example, if the X-axis displays country names, then sort the names so that they are in
alphabetical order, from left to right. This is different from sorting on Y-axis values from a field
in a business component or function according to the field where these values are numeric.
2 In the Object Explorer, expand the Chart tree, and then click Chart Element.
3 Define the Type property using values from the following table.
AxisLabel Displays an axis label along each axis with one label for each division of
the axis.
You cannot define more than 49 labels on the X-axis. If you define more
than 49 labels, then Siebel CRM does not display any of these additional
labels.
AxisLineGrid Displays a grid that simplifies reading a chart. You can set properties for
the entire grid, such as color, width, and visibility. You can also set
properties for each axis.
AxisTitle Displays a title along each axis with one title for each axis.
Legend Displays a list of colored rectangles with accompanying labels on the left
side of the chart.
Plot Displays an area that contains the graphs. Siebel CRM typically displays
this area in the center of the chart.
Title Displays a large text string. Siebel CRM typically this text at the top of the
chart.
Font, Font Color, Sets the font, font color, or font size for most Chart Elements that contain
or Font Size text.
Fill color Sets the fill color of the chart and the Plot Chart Element types.
Using Properties of the Chart Element That Apply To the X-Axis Label
If you define a list of X-axis source fields, then do not use the properties of the Chart Element that
apply to the X-axis label. These properties are relevant only for one X-axis field. These properties
include:
■ Coordinates
■ Display Format
■ Divisions
■ List Of Values
■ Sort Specification
■ Text
2 In the Object Explorer, expand the Chart tree, and then click Chart Element.
3 In the Chart Elements list, locate the chart element that contains properties described in the
following table.
Property Value
Axis Id XAxis
Type AxisLabel
More than one XAxis element might exist. The Vertical property only
applies to an element whose Type property equals AxisLabel.
Property Value
HTML Width Set the value in pixels. The default value is 1012.
HTML Height Set the value in pixels. The default value is 560.
■ Using the Tree Applet Wizard to Create a Tree Applet on page 414
■ Using the Applet Layout Editor to Add a Tree Control on page 417
For more information, see “About Tree Applet Templates” on page 169, and “Customizing Icons in a Tree
Applet” on page 516.
A tree item includes any of the following objects. Siebel CRM displays these objects in a tree:
■ Root
■ Branch
■ Leaf
A tree node is a repository tree node. The swe:node tag specifies the placeholder for a tree item. For
more information, see About Siebel Tags on page 176.
A tree control can include repository tree nodes and field values as elements in the tree. Siebel CRM
displays the following:
1 Open the client for a Siebel application, such as Siebel Call Center.
2 Click the Service screen tab, and then the Explorer link.
Siebel CRM displays the SR Tree Applet in a frame on the left side of the interface and the Service
Request List Applet in a frame on the right side of the interface.
A tree applet in an explorer view operates in a way that is similar to how the Object Explorer and
Object List Editor operates in Siebel Tools. The user can expand and collapse folders in the tree
applet and view the records in the folder in the list applet. The hierarchy in the tree applet represents
a parent-child relationship between records of different business components.
For example, if the user expands a document tree in the Service Requests tree, such as the 1-49119-
Claim-New Claim document, then Siebel CRM displays a set of folders that it positions hierarchically
beneath the service request. Note the following:
■ These folders include Activities, Attachments, Change Requests, Solutions, and so forth.
■ If the user expands one of these child folders, then Siebel CRM displays a list of records that
represent the corresponding business component.
■ If the user expands the folder for a service request, and then expands the Activities folder
beneath it, then Siebel CRM displays a list of records that constitute the set of activities for that
service request. In the parent-child relationship between service requests and activities, these
activity records are child records of the parent service request record that is expanded.
■ The user can add or associate child records of various kinds to a parent record. For example, to
associate a solution record from an association applet, the user can navigate down through the
hierarchy to the Solutions folder, click the list applet, and then choose New Record from the
applet menu. The product solution record becomes a detail record of the service request.
Figure 62 illustrates the relationships and objects in the Service Request business object.
Figure 62. Relationships and Objects in the Service Request Business Object
Figure 63 illustrates relationships and objects in the Service Request business object that Siebel CRM
uses in the Service Request Explorer View.
Figure 63. Relationships and Objects in the Service Request Business Object That Siebel CRM Uses
in the Service Request Explorer View
Table 48 describes the relationship between business components in the Service Request business
object and folder names in the tree applet.
Action Activities
You can configure the tree applet and explorer view for service requests to include more business
components. For example, you can add the Contacts, Customer Surveys, and Service Agreements
folders as child folders of Service Requests. You can add a Line Items folder as a child of RMAs and
Service Orders. However, you can only add business components from the business object in an
explorer view that references the business object. In this example, that business object is Service
Request. Also, you can only add a business component as the immediate child folder of the business
component that is the parent of this business component in the business object. For example, you
can add Order Entry Line Items as a child of RMAs and Service Orders. You cannot add Order Entry
Line Items as a child of Activities.
■ Only provides a named reference point. A tree is similar to the list object type that Siebel CRM
uses in a list applet because the tree serves only as a reference for child objects.
Property Description
Business Component Must reference the same business component as the top level tree node.
Siebel CRM does not support a search specification on a tree applet. For more information, see
“Options to Filter Data Displayed in an Applet” on page 126.
A tree applet references an explorer view as a view web template item. A list applet does not
reference an explorer view. If the user chooses a folder, then Siebel CRM determines the list applet
dynamically. The folder in a tree applet represents a tree node. The Business Object property of the
view determines which business component data Siebel CRM displays.
2 In the New Object Wizards dialog box, choose the Applets tab, and then choose the Tree Applet
icon.
3 In the General dialog box, define the following properties, and then click Next:
■ Project
■ Business Component
■ Name
■ Display Name
4 In the Web Layout - General dialog box, choose the web template to use for the tree applet, and
then click Next.
The following are some templates that you can use for a tree applet:
■ Applet Tree
■ Applet Tree 2
5 In the Finish dialog box, review the information, and then click Finish.
The Tree Applet Wizard creates the tree object and sets the required properties according to the
information you entered.
6 Add a tree node for each applet that Siebel CRM must display in the Explorer section of the view,
including the top level node.
The Tree Applet Wizard does not create child objects for the tree node. You must add a tree node
for each applet that Siebel CRM must display in the Explorer section of the view, including the
top level node, such as Service Requests. For more information, see “Customizing a Tree Node”
on page 415.
5 In the Object Explorer, expand the Tree tree, and then click Tree Node.
6 In the Tree Nodes list, add a new tree node using values from the following table.
Property Description
Display Name Define the name of the tree node.Siebel CRM displays this name in the
tree applet to the right of the folder icon.
Applet Specify the applet that Siebel CRM displays in the right portion of the view
if the user opens the corresponding folder. Typically, you specify a list
applet. Make sure the applet references a business component that is in
the appropriate hierarchical position in the business object.
Property Description
■ Define the hierarchical position of the tree node relative to other tree
nodes.
■ Define the sequence of the tree node for the level on which the tree
node resides.
For more information, see “Defining the Position Property of a Tree Node” on
page 416.
Business Specify the same business component that is defined for the applet that
Component Siebel CRM displays in the right portion of the view.
Make sure each tree node in the hierarchy references a unique business
component. You cannot use one business component for multiple tree
nodes because Siebel CRM will not properly refresh the business
component.
Label Field Specify the name of the field that provides the names in the list that Siebel
CRM displays if the user expands the node. For example:
■ The Order Number field provides values for the RMAs and Service
Orders node.
Selected Bitmap Specify the number 5. This number identifies the folder symbol.
Index
■ Define the top level node with a position of 1. For example, x.1.2, where x specifies the top level
node.
■ Define immediate child nodes of the top level node with a value of 1.x, where x specifies the
order of the node relative to other nodes on the same level.
For example, to display the Activities folder after the Attachments folder rather than before the
Attachments folder:
To attach a child node at the third level, define the Position property for the new node so that the
first two integers match the position of the parent node. For example, assume you define the RMAs
and Service Orders node at 1.4. To attach a node to the RMAs and Service Orders node, you define
the new node with a position of 1.4.1. In general, the rightmost digit in a position specifies the order
relative to other nodes that exist on the same level.
3 In the Object Explorer, expand the Applet tree, and then choose Applet Web Template.
4 In the Applet Web Templates list, right-click the template you must modify, and then choose Edit
Web Layout.
5 Drag a TreeControl control from the palette and drop it on the applet layout.
Siebel Tools creates the required controls and the object definition for the tree.
6 To modify your configuration, right-click the tree control, and then choose a menu item from the
pop-up menu using values from the following table.
Select Tree Allows you to copy and paste the tree control to another applet.
Create New Tree Adds a new tree node to the tree. Siebel Tools creates the tree node at
Node the top level. You can then use the Move Selected Tree Node menu item
to move the new node.
Move Selected Allows you to change the position of the tree node in the tree. Press and
Tree Node hold down the SHIFT key, and then use the following keys on your
keyboard:
■ Use the up and down arrow keys to move the tree node up or down a
level.
■ Use the left and right arrow keys to change the position of the node in
the current level.
Siebel Tools automatically updates the Position property of each node according to each
operation you perform in the Web Layout Editor.
If you press the DELETE key when Siebel Tools displays the tree in the Applet Web Template
Layout window, then Siebel Tools deletes the currently chosen tree node. You can use the Undo
and Redo menu items in the Edit menu of the Applet Web Editor to modify your changes.
■ Accounts
■ Activities
■ Campaigns
■ Opportunities
■ Positions
A recursive tree applet is defined with a tree object to which only one tree node is attached. The
business component in a recursive tree must reference the record of the same type at the next level
up in the hierarchy. In the accounts tree example, the Account business component includes a Parent
Account Id field that references the parent account. A link object must exist that references this field
in the Destination Field property of the link. In the accounts example, this link is Account/Account.
Property Description
Recursive Link Specify the link that references the one-to-many relationship between the
parent business component and itself.
Root Search Spec Create a search specification that instructs Siebel CRM how to derive the
list of top level records. Because the top level records typically contain
nothing in the parent Id field, use the following format:
where:
For example, [Parent Account Id] is NULL. For more information, see
“Options to Filter Data Displayed in an Applet” on page 126.
Siebel CRM defines the graphic elements in a tree applet, such as elbows, folder symbols, and so
forth, as parameters of the application object manager. You can define these parameters to
customize the appearance of the folder and document symbols, expand icons, collapse icons, elbows,
spacers, and so forth. For more information about application object manager, see Siebel System
Administration Guide.
You can also use an HTML hierarchy bitmap to customize some graphic elements. For more
information, see “Customizing Icons in a Tree Applet” on page 516.
6 In the Component Parameters list, query the Parameter field for the parameter you must modify,
and then set the values.
For more information, see “Parameters You Can Modify to Customize How Siebel CRM Displays
Graphic Elements in a Tree Apple” on page 420.
Table 50. Parameters You Can Modify to Customize How Siebel CRM Displays Graphic Elements in
a Tree Applet
■ TreeNodeCollapseElbowCaption
■ TreeNodeCollapseTeeCaption
■ TreeNodeElbowCaption
■ TreeNodeExpandElbowCaption
■ TreeNodeExpandTeeCaption
■ TreeNodeTeeCaption
Root, Leaf, Open Siebel CRM supports the following parameters:
Folder, and Closed
■ TreeNodeCloseFolderCaption.
Folder Icons
■ TreeNodeLeafCaption.
■ TreeNodeRootCaption.
■ TreeNodeBarCaption
■ TreeNodeSpaceCaption
where:
For example:
You can use the alt parameter in the img tag to replace an image with text. This technique is useful
to support a browser that only displays text.
Customizing How Siebel CRM Displays Text Derived from Field Values
You can customize how Siebel CRM displays text derived from field values.
To customize how Siebel CRM displays text derived from field values
1 Open the relevant configuration file in a text editor.
2 Add a separate line for each parameter you must specify, using the following format:
<parameter_name> = <value>
where:
❏ TreeNodeFontStyle
❏ TreeNodeFontSize
❏ TreeNodeSelectBgColor
❏ TreeNodeSelectFgColor
The term caption that Siebel CRM displays in the parameter refers to an icon or graphic. Siebel CRM
displays the caption as an image and positions it in one of the following ways:
■ Precedes the text that Siebel CRM generates from a field value
■ Limiting the Number of Records That Siebel CRM Returns in a Hierarchical List Applet on page 424
■ Example of Configuring a Hierarchical List Applet to Use External Data on page 424
A hierarchical list applet is a type of applet that displays records that include a hierarchical
relationship. Although it is similar to a list applet, you can display a hierarchical list applet in a way
that is similar in appearance to a tree control. For example, the Categories list that the user accesses
to create and manage a catalog category in Siebel eSales.
The Hierarchy Parent Field property of the business component establishes the hierarchy.
The HTML Hierarchy Bitmap object that is defined in the HTML Hierarchy Bitmap property of the list
defines the icons that Siebel CRM uses to render the list applet. You must define the following
bitmaps for the HTML Hierarchy Bitmap:
■ Expand Bitmap
■ Collapse Bitmap
■ Space
Siebel CRM can display a hierarchical list applet in Base or Edit List mode.
It is recommended that the number of columns displayed in a hierarchical list applet be small
because the width of the column expands as the user navigates down the hierarchy. It is
recommended that Siebel CRM only display fields that contain small values in a column that includes
an expand control and a collapse control.
Siebel CRM displays the Quote Item List Applet. This applet is an example of a hierarchical list
applet.
Siebel CRM displays an expanded hierarchy that includes indented document icons and sequence
numbers.
Changes that the MoveUp and MoveDown applet method menu items make are temporary. Siebel
CRM does not save these changes to the Siebel database.
To create an applet that resembles the tree applet, you can define other bitmaps. The tree applet is
not defined for a hierarchical list applet in the Siebel client. Siebel CRM uses the Arrow Down and
Arrow Up bitmap only in a tree control. For more information, see “Customizing a Tree Applet” on
page 409.
3 In the Object Explorer, expand the Applet tree, and then click Applet Method Menu Item.
4 In the Applet Method Menu Items list, create a new record and set properties using values
described in Table 51 on page 423.
Table 51 describes the applet method menu items you can call from a control. These methods provide
a way to edit the indentation and order in which Siebel CRM displays objects in the hierarchical list
applet.
Table 51. Applet Method Menu Items That Control the Hierarchy of a Hierarchical List Applet
Item Description
Indent Moves the current record to a position that is indented from the peer record.
Outdent Moves the current record to a position that is at the same level as a peer record of
the parent.
MoveUp Moves the current record to a position that is above the position of the peer record.
MoveDown Moves the current record to a position that is under the position of the peer record.
There were more rows than could be returned. Please refine your query to bring back fewer rows.
To limit the number of records that Siebel CRM returns in a hierarchical list applet
■ Use one of the following techniques to make sure that the applet does not return more than ten
thousand rows:
■ Create a search specification on the business component or on the applet. For more
information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ Use a predefined query for the view. For more information, see “Guidelines for Modifying a
Predefined Query” on page 188.
2 Creating the Business Service for the Hierarchical List Applet on page 425
3 Implementing the Customization on page 429
You can configure a hierarchical list applet to draw external data from a virtual business component.
A hierarchical list applet does not require special configuration on a business component other than
a properly set Hierarchy Parent Field property. However, more configuration is required for a virtual
business component.
2 In the Business Components list, create a new business component using values from the
following table.
Property Value
3 In Business Components list, right-click the record you created in Step 2, and then choose Edit
Server Scripts.
4 In the Scripting Language dialog box, choose eScript, and then click OK.
5 In the BusComp Script window, expand the BusComp tree, and then click
BusComp_PreInvokeMethod.
6 In the script editing window, remove the existing script, and then enter the following script:
return (ContinueOperation);
7 In the BusComp tree, Click BusComp_InvokeMethod, remove the existing script, and then enter
the following script:
8 In the Object Explorer, expand the Business Components tree, and then click Field.
9 In the Fields list, add fields to your virtual business component using values from the following
table.
Name Type
Is Expanded DTYPE_BOOL
The business service server script is a child of the business service. For more information, see
“Displaying Object Types That You Use to Configure Siebel CRM” on page 200.
3 In the Business Services list, add a new business service using values from the following table.
Property Value
4 In the Object Explorer, expand the Business Service tree, and then click Business Service Server
Script.
5 In the Business Service Server Scripts list, add a new record using values from the following
table.
Property Value
Name Init
Program Language JS
Sequence 1
with( Outputs )
return( CancelOperation );
TIP: To enter the script, you can copy the text from this book, and then paste it into the Script
property. To view the correctly formatted script, right-click Hierarchical List Service in the
Business Services list, choose Edit Service Scripts, expand the general tree, and then click Init.
6 In the Business Service Server Scripts list, add a new record using values from the following
table.
Property Value
Name Query
Program Language JS
Property Value
Sequence 2
Script For more information, see “Script for the Query Method when
Configuring a Hierarchical List Applet” on page 702.
7 In the Business Service Server Scripts list, add a new record using values from the following
table.
Property Value
Name Service_PreInvokeMethod
Program Language JS
Sequence 3
switch( MethodName )
case "Init":
case "Query":
return (ContinueOperation);
8 Add code to the Query method of the business service so that the method provides output that
is meaningful for those fields:
■ Has Children. Y or N, depending on if the record references children or does not reference
children.
■ Outline Number. A string that describes the position of the record in the hierarchy. For
example. 1.2 or 2.1.1.
■ Last Child Info. A string that represents a binary sequence that indicates if the record and
the parent of the record is the last record in the list of children. For more information, see
“About Last Child Info” on page 429.
The code can be similar to the code that you added in Step 7.
The Update method is specific to your custom implementation and requires a mechanism to
update the records of the virtual business component. The exception is if all records are read-
only, then no Update method is required.
■ If there is an item in the tree that is at position 1.3.2, and if item 1.3.3 does not exist, then the
third bit is 1, which can be thought of as xx1. Otherwise the third bit is 0, which can be thought
of as xx0.
■ If the parent record at position 1.3 is the last child, then the second bit is 1, which can be thought
of as x1x. If item 1.4 does not exist in the tree, then Siebel CRM considers the record as the last
child.
■ If the grandparent record at position 1 is the last child, and if item 2 does not exist in the tree,
then the first bit is 1, which can be thought of as 1xx.
2 If you defined a new screen, then add the screen to the application screen object.
4 In the Siebel client, add the view to the list of views, and then add an appropriate responsibility
so that the user can access this view.
■ Allows the user click the name of a file from a list to open a document.
■ Allows the user to add a document file to a list, edit it, or remove it.
To view an example of a file attachment applet, in the Siebel client navigate to the Account screen,
drill down on an account, and then click the Attachments tab. Siebel CRM displays the Account
Attachment view. The form applet is the predefined Account Form Applet. The list applet is the
Account Attachment Applet. This attachment applet displays attachments for the account. A parent-
child relationship exists between the account and the list of account attachments. A row in the
attachments list represents each document. Siebel CRM also displays the following information in
this applet:
■ File name for the document. Siebel CRM displays each file name as underlined and with colored
font. This indicates that the user can click the name to open the file in a Windows application.
■ File size.
To add a document to the attachment list, the user clicks New File, and then clicks the select button
in the Attachment Name field. Siebel CRM searches for files to be attached in the directory that it
last used to attach a file. If the user chooses a different folder while attaching a file, then Siebel CRM
searches for the file in the different folder the next time the user attaches a file.
A file attachment applet uses specialized objects and methods in the Siebel File System.
For more information, see “Customizing an Attachment Business Component” on page 432.
2 Create a file attachment applet using values from the following table.
Property Description
Business Specify the required business component. For more information, see
Component “Customizing an Attachment Business Component” on page 432.
3 Add a new child list column or control to the applet for each row in the following table.
For the prefix, enter the required prefix for the business component. For more information, see
“Prefix for the Field Name” on page 431.
These list columns or controls reference fields in the attachment business component. For more
information, see “Customizing an Attachment Business Component” on page 432.
4 Make sure the value in the Detail Applet property of each list column or text box control you
added in Step 3 is File Popup Applet.
This value references the dialog box that Siebel CRM displays if the user clicks the ellipsis in the
list column or text box.
2 In the Business Components list, locate the attachment business component you must modify.
3 Make sure the value in the Class property is CSSBCFile or a subclass of CSSBCFile, such as
CSSBCSalesTool or CSSBCEventFile.
For example, the attachment table is S_ACCNT_ATT in the Account Attachment Applet. For more
information, see “Customizing an Attachment Table” on page 434.
5 In Siebel Tools, in the Object Explorer, expand the Business Component tree, and then click
Business Component User Prop.
6 In the Business Component User Props list, create a new business component user prop using
values from the following table.
Name Value
DefaultPrefix Specify the prefix. For more information, see “Prefix for the Field Name” on
page 431.
7 In the Business Component User Props list, create a new business component user prop using
values from the following table.
Name Value
FileMustExist Use one of the following values:
■ TRUE. If the file does not exist, then the user cannot enter the name
of the file. TRUE is the typical value.
■ FALSE. If the file does not exist, then the user can enter the name of
the file.
For more information, see “Fields in an Attachment Business Component” on page 433.
Table 53 describes a field that the file engine does not supply. This field is usually present but is not
required.
Table 53. Field in an Attachment Business Component That the File Engine Does Not Supply
You can include more fields. For a specialized use of an attachment, such as an image control, the
file engine fields can be present in addition to the fields from a predefined business component.
Siebel CRM typically obtains the fields from the predefined business component through a join. For
example, a Product or Literature business component can contain file engine fields to support the
display of a product picture or a brochure picture from a bitmap image.
You can incorporate multiple sets of file engine fields from different tables in the same business
component. For example, a literature attachment can include subattachments where Siebel CRM
derives the subattachments from an intersection table or an extension table. Make sure the prefix
for the field name is different for each table.
The user does not directly update the attachment table. Siebel CRM provides the user an empty
attachment table. The user then uses drag and drop functionality or the browser dialog box in the
corresponding file attachment applet to bring data into the empty table one file at a time.
Physical
Name Default User Name Type Type Length
For the Name property, you must use the value described in Table 54. For the User Name property,
you are not required to use the value described in Table 54.
Various system columns that are not related to the file engine are also present, such as CREATED,
LAST_UPD_BY, and ROW_ID.
If the table includes a file engine column, then you must make sure the File property in the
corresponding table is TRUE.
Siebel CRM uses the CSSFrameContactOrgChart class for predefined applets in an organization chart.
It displays the following fields:
■ Full Name
■ Job Title
■ Work Phone#
To require one or more fields to display in a given box of an organization chart, you can add a new
list column for each field. For more information, see Siebel Applications Administration Guide.
3 In the Object Explorer, expand the Applets tree, expand the List tree, and then click List Column.
4 In the List Columns list, add a new record using values from the following table.
Property Description
Name Enter any text that describes the content of the field.
Field Choose the field that contains the information for the contact
that you must display in the organization chart.
HTML Sequence Enter a value to define the sequence in which Siebel CRM
displays the field. A lower sequence causes the field to display
higher in the box in the organization chart.
5 Repeat Step 4 for each additional field that Siebel CRM must display in the applet.
This chapter describes how to configure lists and pick applets. It includes the following topics:
A list is a type of user interface element that allows the user to choose values from a list to update
a field instead of typing values into a field. You can define the following types of lists:
■ Static list. Acquires data from the Siebel list of values table, which an administrator maintains.
The data in the list of values table is static. For more information, see “Creating a List of Values”
on page 463.
■ Dynamic list. Acquires data from tables that the user maintains, such as S_CONTACT or
S_ORG_EXT. The data in these tables are dynamic.
■ A bounded list is a type of list that allows the user to choose a value from the list only.
■ An unbounded list is a type of list that allows the user to choose a value from the list or to type
a value directly into the field.
You cannot delete the lookup value. You can set the field that the user chooses back to empty, unless
it is required. Lead Quality is an example of a chosen field.
For more information, see “Using the Pick List Wizard to Create a Static List” on page 455 and “Creating
a List of Values” on page 463.
The list that Siebel CRM displays is an example of a static list. It includes static values, such as
Miss, Mr., Ms., Mrs. and Dr.
Figure 64. Relationships and Objects That Siebel CRM Uses to Construct a Static List
Figure 65 illustrates an example of how Siebel CRM constructs a static list. This example implements
the Quality list that is illustrated in Figure 64 on page 438.
1 Originating control or list column. The control or list column that the user clicks to call the
list. In this example, Quality is the originating control.
2 Originating applet. The applet that contains the originating control or list column. After the
user chooses a value from the list, the originating control displays a revised value. In this
example, the Opportunity form applet is the originating. The Business Component property of
the originating applet identifies the originating business component.
3 Originating business component. Business component that the originating applet references.
This business component supplies the data that Siebel CRM displays in the originating applet.
Siebel CRM updates one field in the current record in this business component after the user
chooses a value in the list. In this example, the Opportunity business component is the
originating business component.
4 Originating field. Field in the originating business component that the originating control
represents. This field typically contains one pick map child that defines how the field from the
PickList Generic business component maps to the originating business component. In this
example, Quality is the originating field.
5 PickList Generic business component. Business component that provides the lists in a static
list. You use the List of Values view in the Administration - Data screen in the Siebel client to
administer the PickList Generic business component. For more information, see “About the Picklist
Generic Business Component” on page 440.
6 Pick list. Identifies the business component that the pick applet references and the field that
provides data for the pick applet. This business component is always PickList Generic. In this
example, the Pick List is named Picklist Quality. The field of the originating control references the
list.
7 Pick map. Defines a relationship between the Value field in the PickList Generic business
component and the originating field. If the user chooses a value from the list, then this
relationship provides the information Siebel CRM requires to update the record in the current
originating business component with information from the PickList Generic business component.
The pick map is a child of the originating field.
8 Sequence property. Defines the sequence to update fields in the current record of the
originating business component. Siebel CRM updates these fields with information from the pick
business component. If you do not define sequence numbers on the pick map, then Siebel CRM
updates fields in the order in which Siebel CRM created the fields.
■ Type. Groups together all records that are in one list of values. For example, the LEAD_QUALITY
type identifies a record as a member of the Lead Quality list of values. Each list of values includes
a type. For more information, see “Creating a List of Values” on page 463.
■ Value. The value that Siebel CRM displays in the static list. For example, values for Lead Quality
include Excellent, Very Good, High, Fair, and Poor.
LEAD_QUALITY Excellent
LEAD_QUALITY High
LEAD_QUALITY Fair
LEAD_QUALITY Poor
PERSON_TITLE Mr.
PERSON_TITLE Ms.
PERSON_TITLE Dr.
ACCOUNT_TYPE Commercial
ACCOUNT_TYPE Competitor
ACCOUNT_TYPE Customer
■ Because a static list is a static list of values, it does not draw values dynamically from a pick
business component. An administrator defines these values in the List of Values view in the
Administration - Data screen.
■ A static list typically does not call a dialog box with multiple list columns and buttons. Instead,
it uses a simple pop-up list that contains one column and no buttons. Although it is possible to
use a pick applet rather than a simple list to display a static list of values, Siebel CRM does not
frequently use this technique.
■ A static list does not provide data for multiple controls in the originating applet. It provides data
for a single control in the applet and the corresponding field in the business component that the
applet references.
For more information, see “About Dynamic Lists” on page 443, and “Creating a List of Values” on
page 463.
The pick applet is a child of the applet object type. It includes the following important properties:
■ Type. Set to Pick List, which indicates that this is a pick applet. This property determines the
behavior of the dialog box and button controls.
■ Title. Set to the name of the pick applet that Siebel CRM displays in the title bar.
3 List columns. Each list column displays the contents of one field in the business component.
4 Pick Record control. Calls the PickRecord method if clicked. The PickRecord method locates the
pick map child objects of the originating field. The PickRecord method uses these child objects
to determine which fields to update in the originating business component. The record that the
user chooses from the pick business component determines how Siebel CRM updates these fields.
■ Web templates. Defines the layout for each of the defined modes. Example layout includes the
position of the list columns and controls.
■ Web template items. Maps list columns and controls to placeholders in the web template. Web
template items exist for each list column and control that is defined for the applet.
■ The list
The source field is the business component field that the Business Component property of the list
defines. Because Siebel CRM uses multiple fields for the query, it is not possible to only copy back a
single field.
For example, assume the user performs a query through the list that Siebel CRM displays for the
Parent Account Name field of the account list in the Account screen. Siebel CRM uses the name and
location for the query because these fields are part of the U1 index of the underlying S_ORG_EXT
table. The Location field is a primary key field for the Account business component and Siebel CRM
includes it in the query.
You can define a pick applet so that Siebel CRM correctly enters data into the Subarea field according
to the choice that the user makes, such as the Area field of the Service Request Detail Applet. You
can use this technique in edit mode but not in query mode. For more information, see “Options to
Control How the User Creates, Edits, Queries, and Deletes CRM Data” on page 124 and “Creating a
Hierarchical List” on page 462.
Similar to a static list, a dynamic list is a type of list that allows the user to choose a value from a
list, and then Siebel CRM uses the value to update a field. Rather than drawing the values from the
list of values table, a dynamic list draws values from another business component that the user
maintains. A field that uses a dynamic list is typically a joined field that displays data from a table
other than the base table of the business component. The dynamic list allows the user to update the
joined field.
You use a pick applet to display a dynamic list in the Siebel client. The pick applet allows the user to
choose a value from a list and then enter the value into a control or the cell of a list column. In end-
user documentation, a pick applet is referred to as a dialog box. For more information, see “Using
the Pick List Wizard to Create a Dynamic List” on page 459.
1 In the Opportunity Form applet, the user enters information for the Organic Cereals opportunity,
and then clicks Select.
2 Siebel CRM displays the Account List pick applet and displays rows from the Account business
component.
3 The user chooses Account 1, Smith’s Dry Goods, and then clicks OK.
4 Siebel CRM enters Account data for Smith’s Dry Goods into the Opportunity Form applet.
A dynamic list maintains the foreign keys that facilitate a join relationship. In the opportunity and
account example, a foreign key in the Opportunity business component identifies the account for
each opportunity. If the user chooses an account in the pick applet, then Siebel CRM enters data into
this foreign key field. This choice associates the account with this opportunity for future use by the
join that uses the foreign key. For example, if the user chooses a record in the pick applet, then
Siebel CRM copies values in certain list columns in the chosen record to corresponding list columns
in the originating applet. In this example, the user chooses a parent account for an account record.
Figure 68. Relationships Between Object Types That Siebel CRM Uses to Construct a Dynamic List
Figure 69 illustrates the objects that Siebel CRM uses to construct a dynamic list.
Figure 69. Objects That Siebel CRM Uses to Construct a Dynamic List
1 Originating applet. Contains the control or list column that calls the pick applet. After Siebel
CRM calls the pick applet and chooses a value, it displays revised values in specific controls in
the originating applet. In the example, the Opportunity Form Applet is the originating applet. For
more information, see “Originating Applet of a Dynamic List” on page 448.
2 Pick applet. Dialog box that Siebel CRM calls to choose a value. The dialog box is a list applet
that contains a scrolling list table of rows. Each row corresponds to a business component record.
In the example, the Account applet is the pick applet.
3 Originating business component. Business component of the originating applet. This business
component supplies the data Siebel CRM presents in the originating applet. The selection process
in the pick applet causes Siebel CRM to update the current record in this business component.
In the example, the Opportunity business component is the business component of the
originating applet, and the Opportunity Form Applet is the originating applet.
4 Pick business component. Business component of the pick applet. Data from fields in this
business component display in the list columns of the pick applet. In the example, the Account
business component is the pick business component.
5 Originating control or originating list column. If the user clicks the originating control or list
column, then the originating control or list column calls the pick applet. In the example, the
Account control is the originating control.
6 Originating field. Field in the originating business component that the originating control
references. It includes child pick maps that define how Siebel CRM maps fields from the pick
business component to the originating business component. In the example, the Account field is
the originating field.
7 Pick maps. Each pick map defines a relationship between a field in the pick business component
and a field in the originating business component. If the user chooses a record, then these
relationships provide the information that Siebel CRM requires to update the current, originating
business component record with information from the pick business component record.
If the user chooses a value from an unbounded list, then Siebel CRM uses the corresponding pick
map that references the same field to copy the value to the field with which the list is associated.
If the list is bounded, then Siebel CRM only enters data into fields that are associated with other
child pick maps.
NOTE: Typing a new value into an unbounded list does not automatically result in Siebel CRM
displaying the value in the list of values that the user can choose. Siebel CRM does not update
fields in a pick map if the user chooses a value from an unbounded list. An applet that references
the CSSBuscomp or the CSSBCBase class with an unbounded list does not map all the values in
the pick map. To map all the values in a pick map, the list must be bounded.
8 Pick list. References the business component of the pick applet. In the example, the PickList
Opportunity Account pick list is the list.
9 Join and join specification. The join is a child of the originating business component. The join
specification is a child of the join. The join field references this child object. One of the pick maps
updates the join field. If a value in the join field changes, then Siebel CRM updates all fields
whose values it derives from the join. This update is not as immediate as the update that Siebel
CRM performs through the pick map. If the other pick maps are absent, then Siebel CRM does
not update the data until the user navigates away from the view and then returns to the view.
In the example, S_ORG_EXT is the join and Account Id is the join specification.
Figure 70 illustrates the details of the originating applet that is included in Figure 68 on page 445.
Siebel CRM uses the following objects in the originating applet of a dynamic list:
1 Business component property. Creates the association between the originating applet and the
originating business component.
2 Originating control. Calls the pick applet if the user clicks the arrow. The name of the pick
applet is defined in the Pick Applet property of the originating control. The originating field is
defined in the Field property of the originating control. It includes definitions for the pick map
child object. For more information, see “Originating Business Component of a Dynamic List” on
page 449.
3 Controls that contain data from a pick applet and join. If the user chooses a value from the
pick applet, then Siebel CRM updates each control that contains data from a pick applet and join.
Figure 71 illustrates how the originating business component of a dynamic list is defined. This list is
described in “Originating Applet of a Dynamic List” on page 448.
Siebel CRM uses the following objects in the originating business component of a dynamic list:
1 Originating field. Provides data to the originating control. The originating field is the parent of
the pick map. The Pick List property of the field specifies the pick list. Because a pick map is a
child of an originating field, it supports pick applets on more than one field in the business
component.
The originating field must reference a database column. You cannot associate a pick applet or
list with a read-only field, including a calculated field.
2 Pick maps. Creates a relationship between a field in the pick business component and a field in
the originating business component. This relationship provides the information that Siebel CRM
requires to update the active record of the originating business component with information from
the pick business component. Because one of the pick maps updates the join field, the join
updates the business component fields that depend on the join.
It is recommended that you test your pick map after you create it. If the value in the originating
field remains the same after you choose a value from the pick applet, then you must check the
pick map definition for that field.
3 Field property. Identifies a field in the originating business component that contains data from
a field in the pick business component when Siebel CRM calls the PickRecord method.
4 Pick List Field property. Identifies a field in the pick business component that provides data
for the field in the Field property of the pick map. Note the following behavior:
■ If the user picks a value from an unbounded list, then Siebel CRM updates the fields in the
pick map.
■ If the user types in a new value, then Siebel CRM does not update fields in the pick map.
■ If the user types a new value into a field that references an unbounded list, then Siebel CRM
does not automatically add the value to the list of values that the user can choose.
Do not define more than one multi-value field in an originating business component that
references the same destination field that the pick applet references in the Pick List Field
Property. If you use this technique, then Siebel CRM does not display the arrow for the list and
the user cannot use the list. For more information, see “About the Multi-Value Field” on page 106.
5 Join field. Serves as a foreign key in the join that the pick applet references. Typically, the Id is
included in the name of the join field, such as Account Id or Key Contact Id. It is defined in the
Source Field property of the join specification. The join field is one of the fields defined in a pick
map. If the user chooses a record from the pick applet, then Siebel CRM updates the join field
and all fields that reference the join.
NOTE: The pick maps initially update fields in the originating business component and the
controls or list columns that reference these fields. The join and join specification do not update
the contents of the applet until the user navigates away from the view and then returns to the
view.
6 Join and join specification. Sets up the join between the base table of the originating business
component and the base table of the pick business component. Siebel CRM uses this join to
update fields in the originating business component that include the name of the join in the Join
property of the field.
7 Fields that derive data from the pick applet and join. If Siebel CRM changes the value in
the join field, then Siebel CRM updates fields that include the name of the join in the Join
property. If the user chooses a value from the pick applet, then Siebel CRM updates fields that
are defined in the Field property of the pick maps.
Although a pick map and a join update the same fields, an update that involves a pick map is
immediate. An update that involves a join is somewhat delayed. if the user picks a record, then
a pick map can update the display value of a joined field. For example, with the Account Name
joined field. A pick map does not physically copy a value to the joined fields. It only writes to the
foreign key field. For example, Account Id.
8 Pick list. The field of the originating control references the pick list. The Business Component
property of the pick list references the pick business component.
NOTE: If you define a pick applet that a multi-value group applet calls, then define the list and
the pick maps on the originating field in the originating business component. Do not define the
list and the pick maps on fields in the child business component that the multi-value group applet
references. For more information, see “How Siebel CRM Constructs a Multi-Value Group” on
page 474.
Figure 72 illustrates how Siebel CRM constrains a dynamic list. It illustrates the details of the pick
business component that is included in Figure 68 on page 445.
1 Pick applet. Displays only contacts that contain the same account, account Id, and account
location as the quote. To accomplish this, you define a constraint pick map as a child of the
Contact Last Name field. This is in addition to the predefined copy pick map object definitions
that define pick behavior.
■ Copy pick map. Updates the current record in the originating business component with
information from the pick business component. For more information, see “Originating
Business Component of a Dynamic List” on page 449.
■ Constraint pick map. Displays only those records that contain a matching value in a
corresponding field in the originating and the pick business component. A constraint pick map
causes Siebel CRM to filter the records that it displays in the pick applet. For more
information, see “Constraint Pick Map Acts as a Predefault Value” on page 453.
3 Pick business component. The business component that the pick applet references. Siebel
CRM displays data from fields in this business component in the list columns of the pick applet.
4 Fields displayed in the pick applet. Enters data into the list columns in the pick applet. The
Field property of the corresponding list columns in the pick applet reference these list columns.
Because Siebel CRM includes some of the same fields in the Pick List Field property of Pick Map
object definitions, these fields have a role in updating corresponding fields in the originating
business component.
5 Fields not displayed in the pick applet. Although not displayed in list columns in the pick
applet, Siebel CRM includes some of these fields in the Pick List Field property of the object
definitions for a Pick Map. Therefore, such fields have a role in updating corresponding fields in
the originating business component.
The list of values table establishes the hierarchical relationship between these values. Siebel CRM
uses the same LOV Type to determine the values for the lists in the hierarchy. For example, for Area
and Subarea, the LOV Type named SR_AREA determines the values. For more information, see
“Creating a List of Values” on page 463.
SAMPLE_LOV 1 1 None
SAMPLE_LOV A A 1
SAMPLE_LOV B B 1
SAMPLE_LOV 2 2 None
SAMPLE_LOV C C 2
SAMPLE_LOV D D 2
Assume Siebel CRM displays the values listed in Table 56 in the following lists in a hierarchical
relationship:
■ Child list. Displays values depending on which value the user chooses in the parent list:
■ If the user chooses 1 in the parent list, then Siebel CRM displays the values A and B in the
child list.
■ If the user chooses 2 in the parent list, then Siebel CRM displays the values C and D in the
child list.
■ Configure the child list to reference the PickList Hierarchical Sub-Area business component.
■ Using the Pick List Wizard to Create a Static List on page 455
■ Using the Pick Applet Wizard to Create a Pick Applet on page 458
■ Using the Pick List Wizard to Create a Dynamic List on page 459
3 In the Pick List dialog box, enter the following information, and then click Next:
■ Project.
■ Business Component. Choose the originating business component. This is the parent
business component of the field whose values display in the list.
■ Field.
4 In the Pick List Type dialog box, choose Static, and then click Next.
■ If you must create a new list, then choose Create New Pick List, and then click Next.
■ If you must use a predefined list, then choose the list and the associated list of values you
must use, click Next, and then proceed to Step 8.
6 If you must create a new list of values (LOV), then do the following:
c In the List of Values dialog box, enter a name for the list of values, and then enter the values.
For more information, see “Creating a List of Values” on page 463 and Siebel Applications
Administration Guide.
d Click Next.
d In the third Pick List Definition dialog box, enter a search specification and a comment, and then
choose to bind or not bind the list. For more information, see “Options to Filter Data Displayed
in an Applet” on page 126.
e Click Next.
8 In the Finish dialog box, review the specifications for the list, and then click Finish.
3 In the Object Explorer, expand the Applet tree, and then choose Control.
4 In the Controls list, add an originating control using values from the following table.
Property Description
Field Specify the originating field that resides in the originating business
component.
Runtime Set to TRUE. This setting indicates that Siebel CRM attaches and activates
a static list if the user clicks the control or list column.
5 Click Business Component in the Object Explorer, and then locate the originating business
component in the Business Components list.
6 In the Object Explorer, expand the Business Component tree, click Field, locate the originating
field in the Fields list, and then modify the field using values from the following table.
Property Description
NOTE: If the originating field is a custom field, then make sure that it can accommodate the LOV
table values. If the originating field is shorter than the values that exist in the LOV table, then
Siebel CRM truncates the values from the LOV table when it displays these values in the Siebel
client or when it stores them in the Siebel database.
7 In the Object Explorer, expand the Field tree, click Pick Map, and then add a pick map in the Pick
Maps list using values from the following table:
Property Description
This value references the Value field in the PickList Generic business
component.
8 If you use a multiple column selection list, then configure more pick maps, as required.
9 In the Object Explorer, click Pick List, and then create a new pick list in the Pick Lists list using
values from the following table.
Property Description
This value instructs Siebel CRM to search the Type field in the PickList
Generic business component for types. Each list of values includes a type
that uniquely identifies the list and each value in the list.
Type Value Enter the relevant type for the list of values.
For example, the values that display in the Lead Quality list in Table 55 on
page 440 include a Type Value property whose value is LEAD_QUALITY.
Search In most situations, leave the Search Specification property empty. For
Specification more information, see “How Siebel CRM Handles a Hierarchy of Search
Specifications” on page 128.
Property Description
For more information, see “Creating a Sort Specification for a Static List” on
page 458.
If the No Insert property does not contain a check mark, then Siebel CRM
generates an error that is similar to Unable to create list popup applet.
You can specify a sort specification on a static list to change this behavior. This change applies only
to the static list. A sort specification on a list object sorts values in the static list that references the
list of values in the PickList Generic business component. For more information, see “How a Business
Component Sorts Records” on page 84.
2 Click the Applets tab, click the Pick Applet icon, and then click OK.
3 In the General dialog box, define the following properties, and then click Next:
■ Project.
❏ Use the following format to name a pick a applet: <business component name> Pick
Applet.
❏ Use the following format to name an association applet: <business component name>
Assoc Applet.
■ Display Name.
4 In the Web Layout General dialog box, choose the templates to use for the Base and Edit List
modes, and then click Next.
For more information, see “Options to Control How the User Creates, Edits, Queries, and Deletes
CRM Data” on page 124.
5 In the Web Layout - Fields dialog box, choose the fields that Siebel CRM must display in the pick
applet, and then click Next.
6 In the Second Web Layout - Fields dialog box, choose the controls that Siebel CRM must display
in the pick applet, and then click Next.
By default, Siebel Tools displays all controls in the Selected Controls. These controls reference
the Model Pick Applet in the Siebel repository. To move a control to the Available Controls
window, choose the control, and then click the left arrow.
7 In the Finish dialog box, review the information, and then click Finish.
The Pick Applet Wizard creates the pick applet object, and then opens the Web Layout editor that
you can use to map list columns and controls to placeholders in the web template.
■ Pick List. Defines the properties of the list, including the originating business component and
the pick business component. For more information, see “How Siebel CRM Constructs a Dynamic
List” on page 445.
■ Pick Map. Child object of a business component field that maps the source field in the pick
business component with the target field in the originating business component.
■ Pick Applet. Pop-up applet that allows you to display the list of records from which the user can
choose a value.
NOTE: The values of the Visibility Type and Visibility Auto All properties of the list object override
the pop-up visibility properties on the business component. For more information, see Siebel
Security Guide.
3 In the Pick List dialog box, enter the following information and then click Next.
■ Project.
■ Business Component. Define the originating business component. This is the parent business
component of the field that displays the list.
■ Field.
For more information, see “Using the Pick List Wizard to Create a Static List” on page 455.
5 In the Pick List Definition dialog box, choose to use a new list or a predefined list:
❏ Choose the predefined list from the Existing Pick Lists window.
6 In the Pick List Definition dialog box, enter information using values from the following table, and
then click Next.
Property Description
Business component Choose the field that Siebel CRM must use to sort the list.
field
Name Enter a name for the new PickList object. Use the following format:
Search specification As an option, you can specify a search specification. For more
information, see “Options to Filter Data Displayed in an Applet” on
page 126.
7 In the Pick List Specifications dialog box, define the actions, such as No Delete, that the user can
perform on Siebel data.
c Click Add.
9 Click Next, verify the information in the Finish Dialog box, and then click Finish.
The Constrain property of the pick map defines a constraint for a pick applet. For example, to
configure a Country list to display only states that are part of that country, you must indicate the
relationship between each state and the country in which the state resides.
After the user chooses a value from the Country list, Siebel CRM displays the State list. The value
that the user chooses from the Country list constrains the values in the State list. To filter the values
that it displays in the State list, Siebel CRM uses the value that the user chooses from the Country
list. In the State list, Siebel CRM only displays values if the Description field contains the value that
the user chooses from the Country list.
■ Use the predefined Description field in the Picklist Generic business component.
2 To update the Description field with valid country values, do one of the following:
■ Do the following in the Siebel client:
❏ In the Object Explorer, choose Business Component, and then locate the Account
business component in the Accounts list.
❏ In the Object Explorer, expand the Business Component tree, choose Field, and then
locate the State field in the Fields list.
❏ In the Object Explorer, expand the Field tree, and then choose Pick Map.
❏ In the Pick Maps list, add a new record using values from the following table.
Property Value
Field Country
Constrain True
Property Value
Property Value
4 In the Business Components list, locate the business component that contains the fields that you
must associate with the hierarchical list.
5 In the Object Explorer, expand the Business Component tree, and then choose Field.
6 In the Fields list, locate the parent field and then set properties using values from the following
table.
Property Description
Immediate Post Changes Make sure this property contains a check mark.
7 In the Fields list, locate the child field and then set properties using values from the following
table.
Property Description
8 In the Object Explorer, expand the Field tree, and then choose Pick Map.
9 In the Pick Maps list, create a new pick map using values from the following table.
Property Description
10 In the Pick Maps list, create another new pick map using values from the following table.
Property Description
Siebel CRM stores the values in a list of values as records in the S_LST_OF_VAL table. A given list
of values includes the following parts:
■ Header Row. Defines the name of the type grouping. For example, the first row in Table 57. This
type grouping name is the value of the Display Value property, such as ACCOUNT_STATUS.
Although the row includes a Display Value property, Siebel CRM does not display the header row
in the list of values. The Display Value property for a header row defines only the name for the
list of values. It does not display any strings in the Siebel client.
■ Display Value Rows. Includes the values that Siebel CRM displays in a list that references the
list of values. The rows in Table 57 where Type is ACCOUNT_STATUS are examples of display
value rows. These rows contain the display values that Siebel CRM displays in the Siebel client.
The Type property for each display value row is ACCOUNT_STATUS, which is the same as the
Display Value of the Header Row.
The Type field groups List of Value records. For example, the Type value is ACCOUNT_STATUS for
values that are included in the Status field of the Account Entry Applet.
A picklist object includes a Type property that identifies the LOV Type that is associated with the list.
In the Siebel client, Siebel CRM reads this information to determine which list of values to display
for a given list. For more information, see “About Static Lists” on page 437.
Table 57 lists the values that belong to the LOV Type defined as ACCOUNT_STATUS.
ACCOUNT_STATUS Candidate
ACCOUNT_STATUS Qualified
ACCOUNT_STATUS Active
ACCOUNT_STATUS Inactive
■ You can use the List of Values view in the Administration - Data screen in the Siebel client to
modify a list of values. You can add, modify, or deactivate LOV values for LOV types for
predefined list of values. For example, you can add another value to the ACCOUNT_STATUS LOV
type. For more information, see Siebel Applications Administration Guide.
■ You can create a new list of values in Siebel Tools. If you must add a new set of values that you
define as a new LOV Type, then you must use Siebel Tools.
2 In the List of Values list, create a header record for the new LOV Type using values from the
following table.
Field Description
Display Value Enter the name of the LOV Type. For example, ACCOUNT_STATUS.
Do not use single quotes in the Display Value property. These quotes
cause search specifications that reference the Display Value field to
fail. For more information, see “Options to Filter Data Displayed in an
Applet” on page 126.
Translate Do not modify this property. For more information, see “Modifying the
Translate Property for a Predefined List of Values” on page 606.
Language Independent In most cases, enter the same value that you enter for the display
Code value. For more information, see “About Language-Independent Code”
on page 601.
3 Enter a new record for the LOV value using values from the following table.
Property Description
Type Choose the name of the LOV type that you created in Step 2. For example
ACCOUNT_STATUS.
The value you define for this property must match the value you define in the
Type property of the list that you configure to display these values.
Display Value Enter the value that Siebel CRM must display in the list.
Language In most cases, enter the same value that you enter for the display value.
Independent
Code
Translate Do not modify this property. For more information, see “Modifying the Translate
Property for a Predefined List of Values” on page 606.
Language Choose the name of the language for the Display Value.
Name
You use some properties only for a multilingual list of values, such as Translate, Multilingual, and
Language-Independent Code. For more information, see “Defining Properties of an MLOV” on
page 605. For a complete description of LOV fields, see Siebel Applications Administration Guide.
For more information, see “Configuring Lists and Pick Applets” on page 437.
Make sure you clear the cache. For more information, see Step 7 on page 467.
For example, the organization associated with the active position of a user might be Org ABC, but
the primary organization that is associated with the record that the user is viewing might be Org
XYZ. In this situation, Siebel CRM displays the list of values that are associated with Org XYZ.
For more information, see “Guidelines for Associating an Organization with a List of Values” on
page 467. For more information about organizations and access control, see Siebel Security Guide.
Siebel CRM displays the LOV types in a tree. You can expand each LOV type to view the LOV
values that are associated with each LOV type.
2 In the List of Values - Type list, query the Type field for the LOV type that requires LOV values
that are specific to the organization.
5 In the LOV explorer, expand the Types folder, and then expand the Values folder.
6 In the List of Values list, create a set of LOV values for each organization:
d Repeat Step a through Step c for each LOV value that you must associate with an organization.
You can associate each LOV value with only one organization. If you must associate a given value
with more than one organization, then you must create a duplicate value for each organization.
If a LOV Value is not associated to an organization, then it is available to all organizations, except
those organizations that are associated with the LOV Type in Step 4.
The list of values changes take effect after you clear the cache.
■ Identify all LOV types that require lists of values that are associated with an organization. For
each of these LOV types, do the following:
■ Identify and use predefined lists of values. These are the values that all organizations use.
They do not require custom lists of values.
■ Identify the organizations that require custom lists of values. For each organization, define
the custom lists of values for the organization.
■ For a large deployment, use Enterprise Integration Manager to load list of values data that is
specific to an organization. Make sure to associate the appropriate organizations with the LOV
types and a single organization with each LOV value. For more information, see Siebel Enterprise
Integration Manager Administration Guide.
■ Explicitly associate each list of values with each organization. A list of values that is associated
with an organization is associated with only one organization. Organization hierarchy does not
determine inheritance between lists of values. For example, a list of values that is associated with
a parent organization does not mean that all child organizations inherit access to the list of
values.
■ After an upgrade, review your custom lists of values to make sure that any predefined lists of
values that come with the upgrade do not interfere with your custom lists of values.
■ If you associate an MLOV with an organization, then make sure one of the following situations is
true:
■ The values for the Language Independent Code property and the Display Value property are
distinct from all other records.
■ The values for the Language Independent Code property and the Display Value property are
the same as another record that belongs to another organization.
■ Data does not exist. To determine visibility of the list of values, Siebel CRM uses the
organization that is associated with the current position of the user. Creating a new record
is an example where data does not exist.
■ Data does exist. To determine visibility of the list of values, Siebel CRM uses the primary
organization that is associated with the record.
In this example, Siebel CRM displays value 3 for all organizations except for Org ABC and Org XYZ.
For Value 3 to display for Org ABC and Org XYZ, you must create duplicate values and then add them
to the lists of values that are specific to the organization, one assigned to Org ABC and one assigned
to Org XYZ.
The Organization Specifier property in most tables reference the column that contains the primary
organization Id. For example, the S_ORG_EXT table references BU_ID. You can define this property
in several levels, which allows you to define a child business component so that it inherits the
organization context from the row in the parent business component. For example, if the user creates
a child record, then the value of the column defined as the Owner Organization Specifier determines
the lists of values that Siebel CRM displays.
The following is an example of the Organization Specifier property defined with several levels:
[S_TAB_X][S_TAB_COL1][S_TAB1_COL2]
This chapter describes how to configure multi-value group applets, association applets, and shuttle
applets. It includes the following topics:
■ Guidelines to Create Multi-value Group Applets and Pick Applets on page 477
■ Contains list columns that present data from corresponding fields in the detail business
component
■ Provides the user with a way to add and delete detail records
For more information, see “Multi-Value Group, Multi-Value Link, and Multi-Value Group Applet” on
page 35.
2 In the Account Entry Applet, click the Select button that is located on the right side of the Address
field.
Siebel CRM displays the Account Addresses multi-value group applet. This applet lists the detail
Address records that are associated with the master account record. This dialog box lists the address
information that is associated with each account, including the street address, city, state, and ZIP
Code.
A check mark in the Primary column indicates that Siebel CRM displays data from this record in the
Address field of the Account Entry Applet. While the Account Addresses multi-value group applet is
open, you can view the list of addresses that are associated with the account. You can also add,
query, or delete an address.
Figure 73 illustrates the relationships and objects that Siebel CRM uses in a multi-value group applet.
Figure 73. Relationships and Objects That Siebel CRM Uses in a View Multi-Value Group Applet
Property Description
Business Component Identifies the detail business component that the multi-value group
references.
Type MVG, which indicates that this is a multi-value group applet. This
property defines the behavior of the dialog box and button controls.
Title Identifies the name of the multi-value group applet that Siebel CRM
displays in the title bar.
Figure 74. Objects and Properties Siebel CRM Uses to Construct a Multi-Value Group Applet
Siebel CRM uses the following objects to construct a multi-value group applet:
1 Originating applet. Contains the control or list column that calls the multi-value group applet.
For more information, see “Originating Applet of a Multi-Value Group” on page 476.
2 Parent business component. Supplies data to the originating applet. For more information,
see “Parent Business Component of a Multi-Value Group” on page 476.
3 Multi-value fields. Includes the fields that constitute a multi-value group. For more
information, see “About the Multi-Value Field” on page 106.
NOTE: If the field is a multi-value field, then Siebel CRM ignores the Required. In this situation
you can use a script in Siebel Visual Basic or Siebel eScript, or create a calculated field that
references the multi-value field, and then make the calculated field required.
4 Multi-value link. Identifies the link that provides the field values from the child business
component that the multi-value group references.
5 Link. Specifies the parent-child relationship between the parent business component and the
child business component that the multi-value group applet references. To provide a way for the
fields in the parent business component to obtain their values, the multi-value link references
the link.
6 Multi-value group applet. A dialog box that Siebel CRM displays if the user clicks the ellipsis
button in the originating applet. It lists the records of the child business component that the
multi-value group references. It also provides the user a way add, edit, or delete a child record.
7 Child business component. Stores the child records. The records that Siebel CRM displays in
the multi-value group applet are the records of the child business component that the multi-value
group references. For more information, see “Child Business Component of a Multi-Value Group”
on page 477.
Table 59. Example of Objects Siebel CRM Uses to Construct a Multi-Value Group Applet
■ Street Address
■ Address Id
■ City
■ Country
■ Fax Number
■ Postal Code
■ State
Table 59. Example of Objects Siebel CRM Uses to Construct a Multi-Value Group Applet
Table 60 describes the important properties of the originating control or list column.
Property Description
The parent business component does not include any properties that are required to define a multi-
value group. However, the field and multi-value link child objects are significant.
The originating field is the field defined in the Field property of the originating control or list column.
Other than the relationship with the originating control, the role of the originating field is identical
to that of the other multi-value fields that share the multi-value link. For more information, see
“About the Multi-Value Field” on page 106.
Property Description
Field Identifies a field in the parent business component into which Siebel CRM
enters data. Siebel CRM uses data from a field in the multi-value group
business component when it calls the PickRecord method.
Pick List Field Identifies a field in the multi-value group business component that is the
source of data for the field in the Field property of the pick map.
The State multi-value field of the Account business component is an example of how Siebel CRM uses
the MVF pick map. The Account business component includes a multi-value link to the Business
Address business component, where it obtains address information.
For more information, see “About Multi-Value Links” on page 103, and “About Links” on page 111.
■ To store data for a field in the multi-value group. A list column in the multi-value group
applet represents each field that fulfills this role. To supply data to a corresponding field in the
parent business component, it might also participate in the multi-value link.
■ To identify the primary record in the multi-value group. The primary field that is defined
in the Primary Field Id property of the multi-value link identifies the primary records.
NOTE: The primary field is relevant to the parent business component, the multi-value link, and
the multi-value group applet. The primary field has nothing to do with the child business
component that the multi-value group references.
■ As the destination field of the link. The field with this role is a foreign key to the parent
business component.
■ Use Base mode to display the primary value in the multi-value group applet, and to suppress the
display of a link that the user can click to pop-up the multi-value group applet.
■ To display the primary record from the multi-value group as read-only text, and to display a link
after the text that the user can click to pop-up the multi-value group applet., use Edit, New, or
Edit List mode. If the user clicks the link, then Siebel CRM renders the multi-value group applet
in a separate pop-up window. You must also make sure the control or list column is editable.
■ Use the EditFieldCaption and EditFieldType parameters in the configuration file to set the style
of the link.
■ You must make sure an Edit List or Base template is defined for the multi-value group applet:
■ If an Edit List template is defined, then Siebel CRM uses this template to render the applet.
■ If an Edit List template is not defined, then Siebel CRM uses the Base template.
■ If an Edit List template is not defined, and if a Base template is not defined, then Siebel CRM
generates an error.
■ You can call methods, such as EditRecord, AddRecord, or CreateRecord. The multi-value group
applet behaves like any other list applet in the pop-up window. When Siebel CRM calls a method,
it displays the appropriate template in the current pop-up window. After the user saves or
chooses the record, Siebel CRM renders the multi-value group applet in this window in Base mode
or Edit List mode.
For more information, see “About Applet Web Templates” on page 162.
2 In the New Object Wizards dialog box, in the General Tab, click MVG, and then click OK.
a The project to which the multi-value group belongs. Only locked projects are available.
b The master business component. The master business component must belong to the project
you chose.
c Click Next.
c Click Next.
■ In the Direct Links dialog box, choose the appropriate link, and then click Next.
For more information, see “How Siebel CRM Constructs a Direct Multi-Value Link” on page 104.
■ In the Indirect Links dialog box, choose the link and the source field in the master business
component, and then click Next.
For more information, see “How Siebel CRM Constructs an Indirect Multi-Value Link” on
page 107.
The Multi-Value Group Wizard displays the Direct Links or Indirect Links dialog box depending on
the choices you make in the Multi Value Group dialog box. The available links are those that
already exist between the master business component and the detail business component.
For more information, see “About the Auto Primary Property of a Multi-Value Link” on page 563.
For more information, see “About the Auto Primary Property of a Multi-Value Link” on page 563.
For more information, see “About the Use Primary Join Property of a Multi-Value Link” on
page 563.
For more information, see “About the Check No Match Property of a Multi-Value Link” on
page 561.
e Click Next.
7 In the Multi Value Link dialog box, choose the appropriate properties, and then click Next.
8 In the multi-value fields dialog box, enter information to create multi-value fields on the parent
business component.
For more information, see “About the Multi-Value Field” on page 106.
c Click Add.
d Repeat Step a through Step c for each field you must add.
e Click Next.
9 In the Finish dialog box, review the information you entered for the multi-value group, and then
click Finish.
2 In the New Object Wizards dialog box, click the Applets tab, choose MVG Applet, and then click
OK.
3 In the General dialog box, enter values using information from the following table, and then click
Next.
Property Description
Project Choose the project to associate with this applet. Siebel Tools only
includes locked projects in the list.
Applet Name Apply the format for naming a multi-value group applet. For more
information, see “Guidelines for Naming an Applet” on page 132.
Business Component Choose the business component that this applet references.
Display Title Enter the name that Siebel CRM displays in the Siebel client. For
more information, see “Guidelines for Creating an Applet Title” on
page 133.
4 In the Web Layout - General dialog box, enter the web templates to use for the applet, and then
click Next.
For more information, see “Including a New Button in a Multi-Value Group Applet” on page 481.
5 In the Web Layout - Fields dialog box, choose the fields that Siebel CRM must display in the
applet, and then click Next.
Siebel Tools displays the fields that are defined for the business component that you chose in
Step 3. It displays these fields in the Available Fields window.
6 In the Web Layout - Fields dialog box, choose the controls in the Available Controls window that
Siebel CRM must display in the applet, and then click Next.
By default, the wizard adds the controls that are included in the Selected Controls window. If you
must exclude a control, then move it to the Available Controls window. For more information,
see “Configuring How Siebel Tools Enters Data Into the Selected Controls Window” on page 313.
7 Review the information displayed in the Finish dialog box, and then click Finish.
The MVG Applet Wizard creates the applet and the supporting object definitions. For more
information about shuttle applets, see Siebel Release Notes on My Oracle Support.
■ Manually define an Edit mode that uses the Popup Query template.
■ How Siebel CRM Calls an Association Applet from a Master-Detail View on page 487
■ How Siebel CRM Calls an Association Applet from a Multi-Value Group Applet in Standard
Interactivity on page 488
If a user adds a record to the child business component in a many-to-many relationship, then Siebel
CRM associates the predefined detail record with a parent record rather than creating a new detail
record. This is because parent and detail are relative terms in a many-to-many relationship. For
example, Siebel CRM can display one opportunity to many contacts or one contact to many
opportunities, depending on which view is active.
In this situation, the association applet presents the user with a list of available child records where
the user can choose a detail record. The user can also create a new detail record. In the context of
this many-to-many relationship, Siebel CRM does the following:
■ If the user creates a new association for a predefined detail record, then Siebel CRM creates an
association.
■ If the user creates a new detail for an association, then Siebel CRM creates an addition.
Siebel CRM creates a new row in the intersection table for an association or an addition. Siebel CRM
also creates a new row in the detail table for an addition.
Figure 76. Relationships and Objects That Siebel CRM Uses to Construct an Association Applet
Figure 77 illustrates a generic picture of how Siebel CRM constructs an association applet.
Figure 77. Generic Picture of How Siebel CRM Constructs an Association Applet
1 Opportunity Detail - Contacts List View. View that provides the context in which Siebel CRM
calls the association applet, although no properties of the view directly identify the association
applet. The Business Object property of the view establishes the parent-child relationship
between the business components whose data Siebel CRM displays.
2 Opportunity form applet. Parent applet that displays one record from the parent business
component.
3 Opportunity business component. Parent business component that provides data for the
parent applet.
4 Opportunity Contact List Applet. Detail applet that lists records from the child business
component that are child records for the current parent record in the parent business component.
Siebel CRM defines the name of the association applet in the Associate Applet property.
5 Contact Assoc Applet. Association applet that defines the dialog box that Siebel CRM displays
if the user attempts to add or insert a record in the detail applet. It includes the following
properties:
Siebel CRM configures the association applet as a predefined list applet. This list applet includes
a child List object. This child object includes List Object objects.
6 List columns. Defines the fields that Siebel CRM displays in the association applet, and in what
order. They duplicate some or all of the list columns in the detail applet in the view.
7 Controls. For more information, see “Specialized Controls That Siebel CRM Can Display in an
Association Applet” on page 486.
8 Contact business component. Detail business component that provides data for the detail
applet and the association applet.
Siebel CRM displays records from the child business component in the association applet. It only
displays records in the detail applet that are already associated to the current parent record.
Table 62. Specialized Controls That Siebel CRM Can Display in an Association Applet
Control Description
Check Button that associates chosen records to the current parent. Siebel CRM creates
an intersection table row between the row identified in the parent applet and the
row identified in the association applet. The control is named PopupQueryAdd and
includes an AddRecord method that Siebel CRM calls.
Find Combo box that provides the user with search capabilities to locate the desired
record in the association applet.
Go Button that the user clicks to initiate the search specified in the Find combo box
and Starting With text box.
New Button that creates a new row in the detail applet. Siebel CRM creates a new row
in the detail table and an intersection table row between the row identified in the
parent applet and the row created in the association applet. The control is named
ButtonNew and includes a NewRecord method that Siebel CRM calls.
Starting With Text box where the user enters the search criteria. A wild card automatically
completes the criteria entered in this control.
3 In the Contacts list, click Menu, and then the New Record menu item.
Siebel CRM displays the Add Contacts dialog box. This dialog box is defined as the Contact Assoc
Applet association applet.
4 From the application menu, choose Help, and then About View.
Note that the Opportunity Detail - Contacts View is the master-detail view.
5 Click OK.
6 Click the Contacts screen tab, and then click the Contacts List link.
8 Click the More Views down arrow, and then choose Opportunities.
9 From the application menu, choose Help, and then About View.
Note that the Contacts Detail - Opportunities View is a master-detail view that displays the
inverse of the parent-child relationship you viewed in Step 4.
10 Click OK.
11 In the Opportunities list, click Menu, and then the New Record menu item.
If you choose New Record, then Siebel CRM displays the Add Opportunities dialog box that allows
you to choose an existing opportunity record and insert it, or to create a new opportunity record.
If you choose New, then Siebel CRM creates a new opportunity and allows you to enter data for
the new record in the Opportunities list.
2 The business component of the underlying multi-value group applet includes a many-to-many
relationship with the parent business component.
Siebel CRM displays the Add Industries association applet. This association applet allows the user
to associate a new record with the multi-value group. Some association applets also allow the
user to create new records to associate with the multi-value group.
For more information, see “About Standard Interactivity and High Interactivity” on page 42.
Figure 79. How Siebel CRM Constructs an Association Applet It Calls from a Multi-Value Group Applet
Siebel CRM uses the following objects to construct an association applet that it calls from a multi-
value group applet:
1 Form applet. Contains one or more text box controls that display a multi-value field. If the user
clicks the MVG button, then the MVG Applet property for each of these text box controls identifies
a multi-value group applet that Siebel CRM calls.
2 Multi-value group applet. Includes the list of records that are assigned to the multi-value field
in the form applet. The Associate Applet property in the multi-value group applet identifies the
association applet that Siebel CRM calls.
3 Association applet. Includes the list of records that are available to associate to the parent
record. The association applet includes the following properties:
■ Type property value of Association List. Indicates the applet is an association applet.
■ Class property value of CSSFrameList. Indicates the applet is a list applet. The
association applet is configured as a predefined list applet, with a List child object that
includes List Object child objects.
4 Multi-value group business component. Stores the detail multi-value group records for each
parent business component record. The multi-value group business component supplies records
to the multi-value group applet and the association applet.
2 The business component of the underlying multi-value group applet includes a many-to-many
relationship with the parent business component.
A shuttle applet uses the same underlying object architecture as an association applet. For more
information, see “How Siebel CRM Constructs an Association Applet It Calls from a Multi-Value Group
Applet” on page 489.
A shuttle applet derives the following items from the association applet:
■ Applet header. For example, New, Query, Find, and Starting With.
■ Available label.
■ List body that Siebel CRM displays on the left side of the shuttle applet.
A shuttle applet derives the following items from the multi-value group applet:
■ Selected label
■ List body that Siebel CRM displays on the right side of the shuttle applet
■ OK button
For more information, see “About Standard Interactivity and High Interactivity” on page 42 and Siebel
Release Notes on My Oracle Support.
■ CCPopupListAssoc.swt
■ CCPopupListMVG.swt
The Mode property of the applet web template item determines the applets in which Siebel CRM
displays the controls:
■ If Mode is not defined, then Siebel CRM displays the control in shuttle and non-shuttle applets.
■ If Mode is DefaultOnly, then Siebel CRM displays the control only in an applet that is not a shuttle
applet. Examples include the OK and the Cancel button on the association applet.
■ If Mode is More, then Siebel CRM displays the control only in the shuttle applet. Examples include
certain buttons, such as Add, Add All, Remove, and Remove All.
3 In the form, click the MVG button for the Account field.
To create a shuttle applet, you use a multi-value group applet and an association applet in a view.
This example adds employees to a sales team.
In a shuttle applet, Siebel CRM displays the association applet on the left side of the view. It contains
the list of records that are available.
2 Click the Applets tab, click MVG Applet, and then click OK.
3 In the General dialog box, define properties using values from the following table.
Property Description
4 Click Next.
5 For the Edit List mode, choose Popup List Assoc, and then click Next.
For more information, see “Options to Control How the User Creates, Edits, Queries, and Deletes
CRM Data” on page 124.
6 In the first Web Layout - Fields dialog box, choose the following fields, and then click Next:
■ First Name
■ Last Name
7 In the second Web Layout - Fields dialog box, remove Query Assistant from the list of controls
that Siebel Tools displays in the Selected Controls window.
10 In the Applets list, locate the Create Contact Access List Assoc applet, and then modify properties
using values in the following table.
Property Value
Class CSSSWEFrameShuttleBaseAssoc
11 In the Object Explorer, expand the Applet tree and then click Applet User Prop.
12 In the Applet User Props list, add three new records using values from the following table.
Name Value
EnableStandardMethods Y
In a shuttle applet, Siebel CRM displays the multi-value group applet on the right side of the view.
It contains the list of chosen records.
3 In the General dialog box, define properties using values from the following table, and then click
Next.
Property Description
Property Description
4 In the Web Layout - General dialog box, choose Popup List Mvg for the Edit List mode, and then
click Next.
For more information, see “Options to Control How the User Creates, Edits, Queries, and Deletes
CRM Data” on page 124.
5 On the Web Layout - Fields page, choose the following fields, and then click Next:
■ First Name
■ Last Name
6 In the second Web Layout - Fields dialog box, remove Query Assistant from the list of chosen
controls.
9 In the Applets list, locate the Create Contact Access List MVG applet, and then modify properties
using values in the following table.
Property Value
Class CSSSWEFrameShuttleBaseMvg
Associate Applet Create Contact Access List Assoc
10 In the Object Explorer, expand the Applet tree and then click Applet User Prop.
11 In the Applet User Props list, add five new records using values from the following table.
Name Value
EnableStandardMethods Y
12 Drag and drop controls from the Controls/Columns window to the applet until your layout
resembles the layout displayed in the following diagram:
a Drop the AddRecord, RemoveRecord, and RemoveAllRecords controls on the far left.
In this optional step, you define the view that contains the multi-value group applet and the
association applet.
3 Define properties in the New View dialog box using values from the following table.
Property Description
4 Click Next.
5 In the View Web Layout-Select Template dialog box, choose View 1 Over 2 Over 1, and then click
Next.
6 In the Web Layout-Applets dialog box, choose the following applets, and then click Next:
Siebel Tools creates the new view and then displays it in the Web Layout Editor.
Name Value
ShuttleViewParentBuscomp Contact
13 Open the view in the Web Layout Editor, and then modify the layout until it is similar to the layout
displayed in the following diagram:
To position an applet in the view, click the applet, and then drag it to one of the empty side-by-
side placeholders.
This chapter describes how to configure menus, toolbars, and icons. It includes the following topics:
■ The application menu is a menu that provides the user a way to perform a task consistently
across a Siebel application. Siebel CRM displays it in a frame near the top of the Siebel client in
the browser window. This menu includes submenus, such as File, Edit, View, Navigate, Query,
Tools, and Help.
■ The application toolbar is a toolbar that provides the user a quick way to access some of the more
commonly performed tasks. Siebel CRM displays it just beneath the primary tab bar, as
illustrated in Figure 80. Some icons on the application toolbar are redundant with menu items in
the application menu.
Application Menu
Application Toolbar
Applet Menu
An applet can contain a menu. An applet menu is a contextual menu that includes a number of menu
items. Each menu item in an applet menu provides the user a way to perform a task in the context
of the applet. It is located in the upper left corner of an applet. To view an example applet menu, in
the Siebel client, click the Accounts screen tab, and then the Accounts List link. In the Accounts List
applet, click Menu. The menu that Siebel CRM displays is an example of an applet menu. If you click
it, then Siebel CRM displays a pop-up contextual menu.
■ In a class in the server infrastructure, such as a Siebel Web Engine frame manager
The menu item or toolbar icon is defined to target the following items:
■ A method name
■ A method handler
■ A service (optional)
A web template involves toolbar tags. For more information, see “Using Web Templates to Customize
Toolbars” on page 530 and Siebel Developer’s Reference.
For more information, see “Creating a Command Object” on page 502 and “Properties of a Command”
on page 684.
A communication toolbar is a type of toolbar in Siebel CRM that you can alter in response to an event.
For example, Siebel Call Center includes a blinking icon on a communication toolbar to indicate an
incoming telephone call. A communication toolbar uses Java. You must enter a class name in the
Class property for a toolbar that uses Java. For more information, see Siebel Communications Server
Administration Guide.
A menu item object is an object type that associates a command object definition with a menu item
object definition. This association places a menu item in a given position. The method for this menu
item is defined in the command object definition on the defined menu. For more information, see
“Properties of a Toolbar Item” on page 687.
■ A mirror instance of the object. This instance exists on the Siebel Server.
■ An inherited class.
■ Call received from application menu or application toolbar. The method handler is the
defined object manager service. It does not retarget.
■ Call received from applet menu. The method handler performs a SetBC call to set to the
business component of the applet, and then calls the defined object manager service. It does not
retarget.
■ The method handler for this target exists on the browser as the JavaScript application, a
JavaScript applet, or a JavaScript service.
■ If a business service is defined in the Business Service property, then Siebel CRM targets a
business service.
■ If a business service is not defined in the Business Service property, then Siebel CRM handles
the method differently. This targeting depends on the following:
■ Call received from application menu or application toolbar. Targets to the method
defined in the JavaScript application. Does not retarget. For example, if you use the
ActiveBusObject and RaiseErrorText application methods in a server script, then these
methods must include a Browser target.
■ Call received from applet menu. Targets to the method defined in the JavaScript applet.
If not handled, then retargets to the method defined in the corresponding JavaScript
business component. No inheritance and no more retargeting occurs.
■ Call received from application menu or toolbar. Siebel CRM handles the method in the
following order of priority:
■ Uses the Siebel Web Engine UDF loader on the Siebel Server
■ Call received from applet menu. Siebel CRM handles the method in the following order of
priority:
■ If still not handled, retargets to the business component class of the business component
that the applet references, and successively up through the business component class
hierarchy to CSSBusComp
Application Server Contains a value The business service that is defined in the Business
menu or Service property determines the method handler
toolbar that calls the service on the Siebel Server. It does
not retarget.
Browser Contains a value The business service that is defined in the Business
Service property determines the targets of the
method. It does not retarget.
Applet Server Contains a value The business service that is defined in the Business
menu Service property identifies the business service
that the method handler calls on the Siebel Server.
It does not retarget.
Does not contain a The method handler is initially the applet class to
value which the applet belongs. Siebel CRM retargets it
successively up through the applet class hierarchy
to CSSSWEFrame. If still not handled, then Siebel
CRM retargets to the business component class of
the business component that the applet
references, and successively upwards through the
business component class hierarchy to
CSSBusComp.
Browser Contains a value The business service that is defined in the Business
Service Property determines the service that the
method handler calls on the browser. It does not
retarget.
■ Choose the browser or the Siebel Server to handle the method that the command calls.
■ Click Next.
■ Choose the object that handles the command. If a business service handles the command,
then choose the business service from the list. You must know if the business service is
available for your choice of browser or for the Siebel Server.
■ Enter the method that the command calls. You must choose a method that is available to the
business service or Siebel application.
■ (Optional) Provide the argument that Siebel CRM passes to the method. The argument must
be correct for the chosen method.
■ Click Next.
■ Specify to execute or not execute the command in a new browser window. If Siebel CRM
executes the command in a new browser window, then define the height and width for the
window.
■ (Optional) Define the HTML bitmap and the tooltip text that Siebel CRM displays on the
toolbar button that is associated with the command.
■ Click Next.
7 Click Finish.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
5 To display the toolbar in the Siebel client, you must add a specific tag to the Container Page or
one of the child templates that you are using.
For more information, see “About the Container Page” on page 155 and Siebel Developer’s
Reference.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
2 Verify that the bitmap image you must use for the toolbar icon currently exists as a child bitmap
of the Command Icons bitmap category.
If it does not exist, then create a bitmap in this bitmap category. For more information, see
“Overview of Customizing Icons in the Siebel Client” on page 510. If it does exist, then note the
name of the bitmap.
3 Verify that the method that this toolbar icon calls currently exists.
4 If the method that this toolbar icon calls does not exist, then do the following:
a Add a Siebel Visual Basic or Siebel eScript script to the PreInvokeMethod.
b Write an If or Case statement in the script that references MethodName. Write the instructions
for that MethodName in the If or Case statement.
8 In the Object Explorer, expand the Toolbar tree, and then click Toolbar Item.
9 In the Toolbar Items list, add a new toolbar item and then define the required properties.
You must use a button. You cannot use other types of elements, such as a combo box or label.
For more information, see “Properties of a Toolbar Item” on page 687, and ID 517909.1 (Doc ID)
on My Oracle Support.
2 Retargets CanInvokeMethod from the browser application to the applet class hierarchy on the
Siebel Server, and then to the business component class hierarchy.
For more information, see “About the Method, Business Service, and Target Properties of the Command
Object” on page 499.
2 In the New Object Wizards dialog box, in the General Tab, click Applet Method Menu, and then
click OK.
a In the project window, choose the project that is defined in the Project property of the applet.
b In the applet name window, choose the applet you must modify, and then click Next.
■ To display a menu item, move the item to the Selected Menu Items window.
■ To suppress display of a menu item, move it out of the Selected Menu Items Window.
■ Click Finish.
If you click Finish, then Siebel Tools saves all the changes that you made to the Siebel
repository, displays the object definition for the applet in the Applets list, and exits this
procedure.
If you choose Create New Menu Item, then Siebel Tools replaces the Finish button with the
Next button.
6 To create a new object definition for a method menu item, choose an entry from the Select the
Command to be executed by this Menu Item window.
7 In the Enter the text to be displayed for this Menu Item window, define the text to display for
this method menu item, and then click Next.
Siebel Tools displays the Method Menu Item dialog box. You can examine the properties that you
defined. Click Back to return to the appropriate dialog box to make a correction.
9 Click Next.
Siebel Tools displays the method menu item you just defined in the Selected Menu Items window
of the Applet Method Menu dialog box.
10 Click Finish.
Siebel Tools displays the Applet Layout.
You can activate or suppress individual applet menu items. You can use the techniques described in
this topic only for applet menus. You cannot use these techniques for application menus or toolbars.
Siebel CRM includes some applet menu items in almost all applets, such as Copy, Edit, and Delete.
Siebel CRM includes other applet menu items in almost all list applets, such as Columns Displayed.
You can activate an applet menu to make a menu item available globally for applets of a given class
and subclass. You can then suppress it in applets where Siebel CRM must not display the menu item.
CAUTION: You cannot include a browser script in a business service that Siebel CRM calls from an
applet menu item. The business service only works with a server script. If Siebel CRM executes a
business service that includes a browser script from an applet menu item on the Siebel Server, then
the business service fails.
■ Set the Suppress Menu Item property in the class method menu item
■ To add a menu item to the applet that the applet class does not already provide.
■ To suppress display of an applet menu item that the applet normally inherits. In this situation,
do the following:
■ Create an applet method menu item object definition with the same name as the applet menu
item you must suppress.
■ Make sure the Suppress Menu Item property contains a check mark.
You use this file to define a custom JavaScript toolbar class that is a subclass of JSSToolbar.
2 Copy the JavaScript file to the following directory on the Siebel Server:
<ORACLE_HOME>\webmaster\<Siebel_build_number_in_use>\scripts
3 In Siebel Tools, display the DLL object type and class object type.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
b In the DLLs list, add a new record using values from the following table.
Property Value
Name Enter a name for the DLL object. For example, BarcodeToolbar.
File Name Enter the file name that references the JavaScript file. For example,
barcodeToolbar.js.
b In the Classes list, add a new record using values from the following table.
Property Value
Name Enter the name of the class that is defined in the JavaScript
file. For example, JSSBarcodeToolbar.
DLL Choose the name of the DLL object that you defined in Step 3.
For more information, see “Adding a New Toolbar Icon to a Predefined Toolbar” on page 504.
8 If you create a new toolbar, then add a swe:toolbar tag to the appropriate web template.
Make sure the name property in the swe:toolbar tag is the name of the Toolbar object you
created in Step 6. For more information, see “Using Web Templates to Customize Toolbars” on
page 530.
For more information, see “Using Web Templates to Customize Toolbars” on page 530.
Customizing Icons
This topic describes how to customize icons that Siebel CRM displays in the Siebel client. It includes
the following topics:
Bitmap Allows you to associate an image file, such as a GIF file or JPEG file, with
a Siebel object, such as a button control or field. It fulfills the following
roles:
■ Defines the location of the image file and other properties, such as
width and height.
■ Height and Width. Can be set to the height and width of the image
that you must display on the Web page. If these properties are set,
then the Siebel Web Engine uses them as width and height
properties of the <img> tag. This technique allows you to create
bitmap objects that share the same image file but that Siebel CRM
renders with different dimensions.
■ Alt Text. Can be included in the alt attribute of the image tag.
You do not use the other properties of the bitmap with a Web image.
Example properties include Data and Transparent Color.
Bitmap Category Allows you to group image files together by function. Includes the
following bitmap categories:
■ HTML Control Icons. Contains images that Siebel CRM uses for
HTML controls in the Siebel client.
HTML Hierarchy Bitmap Allows you to display an image in a hierarchical applet, such as a tree
applet.
Icon Map Allows you to display an image for a field value. Includes the child icon
object type.
■ Imports BMP images into the Siebel repository. Sets the File Name field of the bitmap to read-
only.
■ Stores GIF and JPG files in the public\lang\images folder of your Siebel installation. The bitmap
references these files. Does not store GIF and JPG files in the Siebel repository.
NOTE: Siebel CRM only defines images that are associated with Siebel objects as bitmap objects in
the Siebel repository. Example objects include icon maps, page tabs, and so forth. Siebel CRM does
not associate some images in web templates, such as static images, with Siebel objects. Siebel CRM
does not define these images as bitmap objects in the Siebel repository. It defines these objects in
the configuration file for the Siebel application.
The Siebel Web Engine (SWE) uses the HTML img tag to render a bitmap.
■ bitmap category
■ Icon map
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on page 200.
For more information, see “Displaying Object Types You Use to Customize Icons” on page 511.
3 In the Bitmap Categories list, create a new bitmap category or choose a predefined bitmap
category.
4 In the Object Explorer, expand the Bitmap Category tree, and then click Bitmap.
5 In the Bitmaps list, create a new bitmap using values from the following table.
Property Description
Alt Text Enter alternative text that Siebel CRM uses in place of the name property for
a bitmap.
■ To create a bitmap for a BMP file, leave the File Name property empty.
■ To create a bitmap for a GIF file, enter the name of the image file in the
File Name property. If the image resides in a subfolder of the image folder,
then include the subfolder. For example, for an image named image.gif:
6 If you must create a bitmap for a BMP file, then do the following:
a Right-click the record in the Bitmaps list, and then choose Import Bitmap.
b In the Open dialog box, locate the BMP file that you must import, and then click Open.
Depending on the image you choose, Siebel Tools sets certain properties, such as Height and
Width. It also imports the BMP file into the Siebel repository the next time you compile.
For more information, see “Customizing a Bitmap Category and a Bitmap” on page 511.
3 In the Applets list, locate the applet that contains the control you must modify.
4 In the Object Explorer, expand the Applet tree, and then click Control.
6 Define properties for the control using values from the following table.
Property Description
HTML Bitmap Choose the bitmap object Siebel CRM must use if the button is
active.
HTML Disable Bitmap Choose the bitmap object Siebel CRM must use if the button is not
active.
For more information, see “About Applet Controls and List Columns” on page 121.
■ The HTML Bitmap and HTML Disabled Bitmap properties are not set.
These bitmaps must exist in the HTML Control Icons bitmap category.
An icon map is an object type that allows you to represent the values in a control or list column as
icons. Each icon map includes a collection of child icon objects. Siebel CRM associates these icon
objects with a bitmap object, which defines the image for the icon, and corresponds to a specific field
value. The Icon Map property of a control or list column allows you to define the icon map that Siebel
CRM uses to render the values in a field.
The example in this topic uses the Status list column on the Activity List Applet. Assume that the
Status field can include the following values:
■ Not Started
■ In Progress
■ Done
You must configure the Status field to display an icon for each of these values.
NOTE: If you must use a custom icon in a list applet, then you must size the icon according to the
row font size of the list applet. For example, an eight point font is typical for Siebel CRM. If you use
an eight point font, then the icon must be 23 pixels wide by 14 pixels high. If you change the list
applet row font size dynamically, or if you place an icon that is larger than 23 pixels by 14 pixels in
a row, then Siebel CRM scrambles the list applet rows.
For more information, see “Customizing a Bitmap Category and a Bitmap” on page 511.
2 In the Bitmaps list, create three new bitmap objects for each image that you must display using
values from the following table.
In Progress inprogress.gif
Done done.gif
For more information, see “Customizing a Bitmap Category and a Bitmap” on page 511.
4 In the Icon Maps list, create a new icon map named Activity Status.
5 In the Object Explorer, expand the Icon Map tree, and then click Icon.
6 In the Icons list, create three new icon objects for each field value using values from the following
table.
■ Bitmap Category. Set to the bitmap category you must use for the field value.
■ Bitmap. Set to the bitmap object you must use for the field value.
7 In the Object Explorer, click Applet, and then locate the Activity List Applet in the Applets list.
8 In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.
9 In the List Columns list, query the Name property for Status.
You can create an icon named Default in an icon map. If the field value does not match any of the
icons, then Siebel CRM uses the Default icon to represent values in the field. This feature is useful
to create an icon that Siebel CRM uses if a field might contain different values, such as URLs.
For more information, see “Example of Using Icons to Represent Values in a Field” on page 513.
2 Define the control or list column using values from the following table.
Property Description
HTML Icon Map Set to an icon map that contains only one icon, named Default.
■ In the Siebel client, click the Accounts screen tab, and then click the Explorer link.
Siebel CRM displays the tree portion of the Account Tree Applet. The HTML hierarchy bitmap
defines the icons that Siebel CRM uses to represent the folders, the plus symbol, and the minus
symbol in the Account Tree Applet.
You can also customize other graphic elements in the tree applet. For more information, see
“Customizing the Graphic Elements of a Tree Applet” on page 418.
2 If an existing bitmap does not meet your requirements, then you must modify an existing or
create a new bitmap.
The HTML hierarchy bitmap references bitmaps in a bitmap category. For more information, see
“Customizing a Bitmap Category and a Bitmap” on page 511.
3 If an existing HTML hierarchy bitmap does not meet your requirements, then you must modify
an existing or create a new HTML hierarchy bitmap.
You can specify the icons that an HTML hierarchy bitmap references. For more information, see
“Properties of an HTML Hierarchy Bitmap” on page 517.
5 In the Applets list, locate the applet that contains the tree you must modify.
6 In the Object Explorer, expand the Applet tree, and then click Tree.
7 In the Trees list, locate the tree you must modify, and then set properties for the tree using
values from the following table.
Property Value
HTML Hierarchy Bitmap Enter the name of any HTML hierarchy bitmap.
To modify an object in a list, do Step 6 and Step 7 for a list object type. For more information,
see “How Applet Objects Reference an HTML Hierarchy Bitmap” on page 517.
The tree node object is a child of the tree object. It includes the optional HTML Open Bitmap and
HTML Close Bitmap properties:
■ If you define these properties, then Siebel CRM uses them for the node on which the
properties are defined. This is useful if different nodes must display different icons.
■ If you do not define these properties, then Siebel CRM uses the Open Bitmap and Close
Bitmap properties of the HTML Hierarchy Bitmap object.
The predefined tree applets reference the bitmap objects that are defined in the HTML hierarchy
bitmap named HTML Hierarchy Icons.
Table 65. Properties That Siebel CRM Commonly Uses With an HTML Hierarchy Bitmap
Property Description
Elbow Bitmap, Tee Bitmap Icons to create an elbow (L) or a Tee (T).
This chapter describes how to configure Siebel web templates and Siebel tags. It includes the
following topics:
■ Customizing Web Templates to Render Menus, Toolbars, and Thread Bars on page 527
For more information, see Chapter 8, “About Siebel Web Templates and Siebel Tags.”
■ Displaying Different Sections of a Template Depending on the Browser Type on page 523
■ Customizing How Siebel CRM Displays an Error That Occurs on the Siebel Server on page 526
For other tasks that use web templates and tags, see the following topics:
■ Using a Control to Allow the User to Click a Link to Activate a Record on page 332
■ Configuring Display of the Currently Chosen Record in Standard Interactivity on page 344
■ Login pages
■ Error pages
■ Container pages
Similar to an applet or view, a Web page is associated with a Web template. Siebel CRM maps web
page objects to placeholders in the template. The Web Page Editor allows you to view and edit web
page objects. For more information, see “Editing the Layout of a View” on page 272.
For more information, see “Setting the Configuration Context” on page 359.
3 In the Web Pages list, locate the web page you must modify, right-click, and then choose Edit
Web Layout.
4 Choose a custom control from the combo box on the toolbar and then drag it to a placeholder.
5 Use the Properties window to set properties for the control, such as Caption, Method Invoked,
and so forth.
After you add controls to the web page, you can choose the Web Page Item object type in the
Object Explorer, and then use the Web Page Items list to change the mappings you just created.
For example, you can change the caption for the Queries menu label, which is the FavoritesLabel
Web page item.
public\lang\images directory
Oracle Universal Installer creates the public\lang\images directory when you install Siebel
CRM. The Siebel client includes three directories for a Siebel application. These directories
contain all the files that Siebel CRM uses, including the graphics files.
■ Main view. Chosen from the link bar. There is only one main view.
■ Alternate views. Other views that Siebel CRM displays with the main view. For example, the
Search View that displays applets that Siebel CRM uses for find and search operations.
■ Display multiple views in the main view in the main browser window and display a single
alternate view in a pop-up window.
Only the main view can use high interactivity. Siebel CRM displays alternate views in standard
interactivity. It is recommended that you define alternate views as simple views that do not contain
complex navigation links. For more information, see “About Standard Interactivity and High
Interactivity” on page 42.
NOTE: The examples in this topic describe how to create multiple view layouts if you use HTML
frames. The procedure is similar to the procedure you use if you do not use HTML frames. If you do
not use HTML frames, then to position the views, you can use HTML tables instead of frames and
framesets.
To support multiple views, you must modify the structure of frames and framesets.
For more information, see “Guidelines for Naming a Siebel Web Template” on page 186.
2 Replace the view frame in the container page with a content frame.
This frame defines the area where Siebel CRM loads one or more views. Initially this frame
contains a frameset that includes a view type frame. You can replace this view frame with the
following example content frame:
<swe:include file="CCMainView.swt"/>
</swe:frame>
For more information, see “Example Code of the CCMainView.swt File” on page 523.
3 Modify all the application container templates to use the content frame.
4 To display more views in the content area, load a different content container page in the content
frame:
b Make sure the User Property container loads the content container.
For more information, see “Using the LoadContentContainer Method to Load Multiple Views” on
page 522.
Siebel CRM behaves the same before and after you make this modification. You only add one more
layer of frames in the content area. The unmodified application container page template included in
the view frame without the outer content frame does not generate errors. However, you cannot use
it to display multiple views.
To load the main view and search view into two frames, the CCSMainAndSearchView.swt file contains
the following tags:
<swe:current-view/>
</swe:frame>
</swe:frame>
</swe:frameset>
In this example, you still reference the main view in the swe:current-view tag. You reference
alternate views in the swe:view tag.
To switch from displaying the search and main views to displaying only the main view, you can call
the LoadContentContainer method again, but this time reference the container page that references
the CCMainView.swt file.
■ Id. Identifies the location that this view occupies. You use this Id to replace this view with
another view.
The swe:frame tag contains an alternate view named AltView. You can define only one alternate view
for each frameset. If you add more than one alternate view, then you might encounter an error.
<swe:current-view/>
</swe:frame>
</swe:frameset>
You can use conditions in the swe:if tag to display different sections of a template, depending on
which browser the user uses with the Siebel client. These conditions use the following format:
NOTE: This topic includes the term User Agent. This term is a synonym for browser. The User Agent
header property of an HTTP request provides a unique identifier for the type of client that makes the
request. For example, Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) for Microsoft Internet
Explorer 5.0.
For example, you can associate a template with a view that contains the following tags:
<swe:this property=”FormattedHtml”/>
</swe:applet>
</swe:frame>
</swe:frameset>
</swe:if>
...
</swe:if>
■ UserAgent business service method argument. To identify the browser type, this argument uses
the following format:
...
</swe:if>
■ Capability Name:Capability Value business service method argument. If you provide more than
one capability as an argument, and if the browser supports all these capabilities, then the
condition evaluates to TRUE.
■ CookiesAllowed=TRUE
■ HighInteract=TRUE
■ ActiveX=TRUE
■ Browser=IE
■ Version=5
■ DefaultMarkup=HTML
■ VBScript=TRUE
■ JavaScript=TRUE
■ JavaApplets=TRUE
■ SynchExternalContent=TRUE
■ FramesSupport=TRUE
■ TablesSupport=TRUE
■ Parent=IE 5.0
You can determine the following capabilities for Microsoft Internet Explorer version 5.5:
■ Parent=IE 5.0
■ Version=5.5
■ XML=TRUE
■ WAP=FALSE
■ StyleSheets=TRUE
■ JavaScriptVer=1.3
■ DHTML=TRUE
You can use the swe:error tag to customize how Siebel CRM displays an error that occurs on the
Siebel Server. Note the following behavior:
■ If Siebel CRM encounters no errors when it renders a form, then Siebel CRM skips the contents
of the swe:error tag.
■ The only attribute of the swe:error tag is a property whose value must equal FormattedHtml.
This configuration instructs Siebel CRM to display the contents of the error message.
■ If you do not use a swe:error tag in a Siebel web template file, then the code automatically
generates an error node, which is an instance of the CSSSWEErrorSWX code. Siebel CRM inserts
this error node as the first child of the enclosing page or form node.
■ Siebel CRM displays an error message in plain text. It displays each error message in a separate
paragraph.
■ The enclosing HTML tags determine the font and style of the error message. If the font uses the
same color as the background, then the error message is not visible.
To customize how Siebel CRM displays an error that occurs on the Siebel Server
1 To display the error message in a form, place the following tags in the swe:form tag:
<swe:error>
<swe:this property=“FormattedHtml”/>
</swe:error>
<swe:error>
The format of the swe:error tag with the FormattedHtml property is as follows:
<swe:error property=”FormattedHtml”/>
or
<swe:error>
<swe:this property=”FormattedHtml”/>
<swe:error/>
<swe:form>
<swe:error>
</swe:error>
...
</swe:form>
For another example, see “Example Code of a Nongrid Form Applet Template” on page 164.
Siebel CRM renders an applet menu as an icon button, typically placed to the left of other buttons,
such as Edit and Delete. In the Siebel client, Siebel CRM uses the configuration in the SRF file to
generate a set of menu items for a given applet. The tag must be defined in an applet web template
for applet menus.
The following example code from the CCFrameBanner.swt file includes the swe:menu tag at the start
of the definition for a banner:
<!--Start Banner-->
<swe:menu/>
<tr>
<td width="50%">
</td>
<td width="50%">
</td>
</tr>
■ Applications. Renders one button or link for each application menu that is defined for the Siebel
application in the menu object definition and children of the menu object definition.
■ Button. Siebel CRM renders a button that displays a menu that includes the menu items if
the user clicks the button.
■ bitmap. Used only if the Type attribute is Button. It defines the name of a bitmap object that
Siebel CRM uses as the label for the button. This bitmap is defined in Siebel Tools in the HTML
Control Icons bitmap category.
■ width. Defines the width of the menu in pixels. For more information, see “Localizing an
Application Menu” on page 600.
■ bgcolor. Defines the background color of the menu. You must use the hexadecimal triplet format
that HTML requires. For example, #FFFFFF.
■ fgcolor. Defines the foreground color of the menu. You must use the hexadecimal triplet format
that HTML requires.
<swe:menu/>
</td>
<swe:control id="132">
</td>
<td> </td>
</swe:control>
(and so forth...)
A JavaScript toolbar object resides in the JSSApplication hidden frame, which typically does not
reload during the life cycle of the Siebel application. Therefore, Siebel CRM does not redraw when a
page refresh occurs. The user interface part of the JavaScript toolbar resides in a visible HTML frame
and redraws when the HTML frame reloads. It is recommended that the visible HTML frame is a
persistent frame that reloads infrequently. HTML toolbars reside in the topmost frame in the
application template, which is set aside for this purpose.
■ Javaapplet. Must be set to true for a Java toolbar, and false for an HTML toolbar.
<swe:toolbaritem>
<swe:toolbaritem>
</swe:toolbar>
2 For combo box items, make sure you target the command to a service.
■ ShellUIInit method on the command target service when the applet attempts to initialize
A set of communication protocols is defined for the communication between the Java Applet and the
service.
title: value
You can omit the title or value. Separators separate thread buttons. For example, the greater than
symbol (>) is a separator.
If a thread applet or thread field is not defined for a view, then Siebel CRM does not update the
thread button when it displays the view.
Table 66 describes how Siebel CRM responds to actions the user performs in the thread bar. For more
information, see “Customizing the Thread Bar” on page 275.
Table 66. How Siebel CRM Responds to User Actions in the Thread Bar
User requests a new screen. Siebel CRM creates a new thread to replace the current thread.
User clicks a view button. Siebel CRM replaces the last thread with the new view that the
user requested.
User clicks a drilldown link. Siebel CRM appends a new step on the thread bar for the view
that the user requested.
User clicks a thread button. Siebel CRM deletes all the thread buttons to the right of the
thread button that the user clicked and proceeds to the step view
that SWEBMCount indicates.
SWECmd=GotoBookmarkView&SWEBMCount=2SWECount =3
where:
■ SWEBMCount=2 indicates that Siebel CRM uses bookmark number 2 to create the view.
For example, Siebel CRM uses the swe tags and thread link format to translate the thread button for
the A.K. Parker account into the following HTML format:
If the user clicks the thread button to display a bookmarked view that the user previously accessed,
then Siebel CRM creates a new bookmark that identifies the view that is currently displayed. The
bookmark ID for the new view is the current swe count increased by 1. The swe count is the count
that Siebel CRM passes to the Siebel Server in the request.
Bookmark deletion policy is not modified with the above bookmark ID assignment policy. By default,
Siebel CRM keeps the most recently created 20 bookmarks and deletes all other bookmarks. If the
swe count in the user request is less than the swe count on the Siebel Server, then Siebel CRM
deletes all the bookmarks that contain a swe count that is larger than the swe count in the user
request.
■ swe:threadbar. Defines the start and finish of the thread bar section.
■ swe:threadlink. Defines the definition of a thread button on the thread bar. This tag includes
the following properties:
■ Title. Display the title and value pair of the thread button.
Use the swe:threadlink and swe:stepseparator tags only in the swe:threadbar tag.
The usage of these swe tags is similar to that of the screen bar and view bar tags.
■ Application does not use frames. Insert the definition in a container page. For example,
CCPageContainer.swt.
■ Application uses frames. Insert the definition in the Siebel web template file for the
Viewbar frame or the View frame.
The following code provides an example of how to insert thread bar definitions into a Siebel web
template file:
<tr valign="left">
</td>
<td width=99%>
<swe:threadbar>
<swe:threadlink property="FormattedHtml">
</swe:threadlink>
<swe:stepseparator>></swe:stepseparator>
</swe:threadbar>
</td>
</tr>
</table>
You use the cchtmltype.swf file to define more complex attributes that determine the appearance or
client functionality of a type of HTML element. For example, a button type that is associated with a
specific GIF image, or a type of link that connects the user with an FTP site.
To add qualities to a page element, you can define tags and attributes in the Siebel Web template
file. You can also define types in the cchtmltype.swf file that you can reference in Siebel Tools for a
specific control on a specific applet web template or web page object. This technique preserves the
generality of the Siebel web template by avoiding the need to place HTML directly in the template.
Because it reduces customization in the templates and stores more configuration information in the
Siebel repository, this technique also reduces maintenance of Siebel CRM.
NOTE: High interactivity does not support a custom control type that calls a method. For more
information, see “About Standard Interactivity and High Interactivity” on page 42.
Siebel CRM uses two SWF files. The file you modify must use the SWF extension. It must
reside in the same directory as the template files. One file contains the special types that
Siebel CRM defines. The other file contains custom definitions that you define to add more
types or to override Siebel types.
Use the swe:htmltype and swe:this tags to define how to render the custom type using the
following format:
</swe:htmltype>
b Set the UserSWFName parameter to the name of the SWF file that the application object
manager must use.
For more information about the application object manager, see Siebel System
Administration Guide.
3 In Siebel Tools, change the HTML Type property of the control, list column, or page item to the
new type.
4 In the template file, use the FormattedHTML property for the swe:control tag or the
swe:pageItem tag.
■ An enclosing XML element that names the type and optionally names the mode and state in which
Siebel CRM uses the current format
You must make sure the content format meets the following requirements:
■ It can reference all the properties of the current control, except FormattedHtml. To prevent
recursion, it cannot reference FormattedHtml.
<swe:htmltype name=”LabelRed”>
</swe:htmltype>
<swe:htmltype name=”SiebelText”>
</swe:htmltype>
</swe:htmltype>
For more information, see “Options to Control How the User Creates, Edits, Queries, and Deletes CRM
Data” on page 124.
■ Disabled. For a control or list column that calls a method, when Siebel CRM cannot call the
method on the record.
For example, to display a gray button when Siebel CRM cannot call a method, add the following code
in addition to the default definition described earlier in this topic:
</swe:htmltype>
■ If Siebel CRM cannot call a method with a predefined HTML type, then Siebel CRM does not
display the control or list item.
■ With a custom HTML type, Siebel CRM always uses the format defined in the SWF file to display
the control or list item. The HTML that Siebel CRM generates for the following Data property when
Siebel CRM cannot call a method is the caption of the control or list item without any href tags:
If Siebel CRM cannot call a method, then you can use a custom HTML type to hide a control or list
column. For example, you can create the following empty swe:htmltype tag for the Disabled state:
This code hides only the swe:control tag or the swe:this tag that calls the FormattedHtml property.
*
<swe:this property=”DisplayName”/>
:
</swe:htmltype>
The Siebel Web Engine uses the following order of precedence when it looks up HTML Type definitions
in the SWF file:
1 Mode
2 State
It is recommended that you always create a default format definition for all custom HTML types. To
create a default format definition, you define it without specifying the mode attribute and state
attribute.
<swe:htmltype name=”MiniButton”>
</swe:htmltype>
The following code outputs the same HTML as if the template included a separate swe:this tag, where
the property is FormattedHtml and the HTML type of the control is the predefined Link type:
You can only define a predefined type and not a custom type for the type attribute of a Data element.
An ActiveX control is a self-contained program that you can run in other programs. An ActiveX control
typically registers itself in the Windows registry. You can incorporate any registered ActiveX control
in the applet of a Siebel application. You can use an ActiveX control to add certain features to an
applet, such as a slider, media player, and so forth. You can also embed an entire application that
you deploy as an ActiveX control.
To make an ActiveX control available for use, you must create DLL and class objects in Siebel Tools.
These objects reference the CAB (cabinet) file that contains the control.
Microsoft provides some utilities that you can use for assistance.
■ If you deploy to a server environment, then copy the CAB file to the following folder:
<ORACLE_HOME>\SWEApp\public\<language_code>\applets
where:
❏ ORACLE_HOME is the full path to Siebel CRM installation directory on the Siebel Web
Server.
❏ language_code is the three-letter code for the language. For example, ENU for U.S.
English or JPN for Japanese.
■ If you deploy to a CAB file on the Siebel client, then copy the CAB file to the following folder:
<ORACLE_HOME>\PUBLIC\language_code\applets
where:
❏ language_code is the three-letter code for the language. For example, ENU for U.S.
English or JPN for Japanese.
4 In the DLLs list, add a new record using values from the following table.
Property Description
File Name Enter a file name and version that references the CAB file that contains the
ActiveX control. For example:
subman.cab#Version=7,0,0,0
Code or Class Enter the Class Id of the ActiveX control. For example:
Id
clsid:06314967-EECF-11D2-9D64-0000949887BE
6 In the Classes list, add a new record using values from the following table.
Property Description
DLL Choose the name of the DLL object you created in Step 4.
You use the Applet Layout Editor to add an ActiveX control to an applet.
3 Right-click the record in the Applets list, and then choose Edit Web Layout.
4 Drag and then drop the ActiveX icon from the Palette to a placeholder in the web template.
Siebel Tools displays the Insert ActiveX Control dialog box. This dialog box lists the ActiveX
controls that are currently registered on your computer.
5 In the Insert ActiveX Control dialog box, choose the desired ActiveX control and then click OK.
6 Set the Class property of the control to the name of the class that you created in Step 6 on
page 542.
The default properties of the ActiveX control are defined as control user properties.
An ActiveX control includes a set of properties that vary from control to control. To view or modify
the properties of an ActiveX control, you can use the Properties window or activate the property
sheet for the control.
Siebel Tools displays the changes you make to the native properties in the Applet Web Template
Layout window, such as if you change a text color or font property. Siebel Tools saves changes you
make to the native properties with the applet, just as it does with Siebel properties.
If a native property sheet is available for the control, then Siebel Tools displays it.
2 Set the properties, as required.
If you exit the Applet Web Template Layout window or perform a Save, then Siebel Tools saves
these settings with the applet.
Siebel Tools displays the ActiveX Control Methods dialog box. This dialog box lists the methods
and the specified format for calling each method. It is for reference purposes only.
2 Make a note of the method you must call, and then click Close.
This chapter describes how to tune and improve the performance of a Siebel application. It includes
the following topics:
■ Using the Case Insensitivity Wizard to Improve Query Performance on page 548
For example, in the S_CONTACT table, assume the LAST_NAME column is defined for a CIAI query
and uses the LAST_NAME_CI column. Assuming an IBM DB2 database, if you query for the name
Smith, then the object manager creates a query similar to the following:
The Siebel database then uses the CIAI index on LAST_NAME_CI to locate the records.
For Text and CLOB physical types, the Case Insensitivity Wizard does the following work:
■ Does not create a CIAI column or CIAI indexes for a Text or CLOB physical type
For more information, see “Types of Tables and Columns That CIAI Query Supports” on page 700.
■ A view with the Visibility Applet Type property set to All uses the CIAI column in the ORDER_BY
clause.
■ A view with the Visibility Applet Type property set to Org does not use the CIAI column for sorts.
If querying on another column in the same view that is not configured for CIAI, then Siebel CRM does
not use the CIAI column in the ORDER_BY clause.
■ Variables You Can Use with the Case Insensitivity Wizard on page 551
■ Using the Case Insensitivity Wizard on Columns That Do Not Contain an Index on page 556
■ Using the Case Insensitivity Wizard to Accomplish Various CIAI Configuration Tasks on page 557
■ Using the Case Insensitivity Wizard to Deactivate CIAI Configuration on page 558
■ Choosing the Correct Repository when Running the Case Insensitivity Wizard on page 559
For more information, see “How a CIAI Index Can Improve a Query” on page 547.
■ If you use an input file, then validates the format of all records in the input file. For more
information, see “Input File You Can Use with the Case Insensitivity Wizard” on page 554.
■ Validates that all tables and columns are eligible for CIAI configuration. For more information,
see “How the Case Insensitivity Wizard Verifies Eligibility” on page 549.
■ For each eligible base column, defines a new CIAI column and a CIAI index in the Siebel
repository. The CIAI column contains data in the base column. The wizard converts this data to
uppercase. For more information, see “Index Strategy Variable of the Case Insensitivity Wizard” on
page 552.
■ Sets the Default Insensitivity property for the base column to DB Case & Accent. You can also
run the Case Insensitivity Wizard in a special mode to set the Default Insensitivity property on
columns that do not contain an index.
■ Sets flags and performs other configuration operations in the Siebel repository that are required
to support a CIAI query.
Siebel Tools does not create columns or indexes in the Siebel database until you compile the Siebel
repository.
■ Siebel CRM supports the table type, column functional type, and column physical type for each
CIAI configuration.
■ The column already includes one or more indexes. If no index is defined on the column, but the
column is otherwise eligible, then the wizard accepts the column but does not create a CIAI
column or any CIAI indexes for the column. The Case Insensitivity Wizard sets the Default
Insensitivity property to DB Case & Accent. For more information, see “Using the Case
Insensitivity Wizard on Columns That Do Not Contain an Index” on page 556.
■ Column name. Appends a _CI suffix to the CIAI column name. For example, if the parent
column is LAST_NAME, then the CIAI column is LAST_NAME_CI.
■ Index name. Uses the following format to append a string to the base table name:
<BASE_TABLE_NAME>_C#
where:
■ Deletes characters one at a time, beginning with the rightmost character. Characters include
letters, numbers, and so forth.
You can manually limit the length of schema object names to 18 characters. For more information,
see “Limiting the Length of Schema Object Names Manually” on page 559
How the Case Insensitivity Wizard Makes Sure Each Name Is Unique
If the Case Insensitivity Wizard truncates a column or index name, then the name might not be
unique. If this situation occurs, then the wizard truncates the rightmost character in the base column
name or base table name. The wizard replaces the truncated character with an integer, starting with
1. To maintain the overall string length, the wizard does the following:
■ Truncates the name to make room for more digits if the wizard requires more digits to make the
name unique
■ Ignore the errors. When the Case Insensitivity Wizard configures columns, it skips each column
that generates an error.
You can export errors that the Case Insensitivity Wizard reports to a text file. Errors typically fall into
one of the following categories:
■ Input file format error. Punctuation error or improper use of configuration options.
■ Table and column eligibility problem. Occurs if you choose tables and columns that the Case
Insensitivity Wizard does not support.
■ Project not locked. You must lock any table you define in the Table variable before you run the
wizard. The wizard displays the list of projects that you must lock.
■ Table
■ Column
■ Method
■ Index Strategy
■ Operation
If the Force Case property is FirstUpper, Lower, or Upper, then Siebel CRM forces the column data
to the case that is set in the Force Case property before it writes data to the Siebel database. Because
all data in the base column is in the same case, the object manager can use the base column and
the base column indexes for a query that is not case-sensitive. A CIAI column and CIAI indexes are
not required. To retrieve records, the object manager uses the indexes that are already defined on
the base column.
If Force Case is FirstUpper, LOWER, or Upper, then the Case Insensitivity Wizard considers Force
Case to be set for a column. If Force Case is empty, then the wizard does not consider Force Case
to be set.
■ For the first key where the column becomes CIAI enabled, the wizard defines a copy of the index.
In the copy, the key references the CIAI column instead of the base column.
■ For each additional key that is CIAI enabled, the wizard deletes the index copy in the Siebel
repository and redefines it so keys reference the additional CIAI columns.
1 The S_CONTACT table contains Base Column A. This column includes Index A, which uses the
LAST_NAME and FST_NAME columns as keys.
2 You choose the LAST_NAME column for a CIAI query and define the Copy All index strategy.
3 The Case Insensitivity Wizard defines the LAST_NAME_CI column and a CIAI index for the new
column.
4 To create Index B for Base Column A, the wizard copies Index A and specifies LAST_NAME_CI
and FST_NAME as keys.
6 As part of configuring FST_NAME for a CIAI query, the wizard does the following work in the
Siebel repository:
■ Deletes Index B on Base Column A and redefines it with the LAST_NAME_CI and
FST_NAME_CI keys.
For more information, see “Index Strategy Variable of the Case Insensitivity Wizard” on page 552.
Table 67 describes the index strategies you can use with the method variable set to Database. The
wizard sets the Default Insensitivity property to DB Case & Accent no matter which index strategy
you use.
Table 67. Index Strategies You Can Use With the Database Method
For every index in which the base column participates, the wizard does not
create another index that references the CIAI column.
Copy All Defines a new CIAI column and a CIAI index for the column.
For every index in which the base column participates, the wizard defines a
copy of that index. The copy references the CIAI column instead of the base
column.
■ If the Force Case property is set on the table column, then the wizard uses the Force Case
method.
■ If the Force Case property is not set on the table column, then the wizard uses the Database
method.
■ If the method is Force Case, then the wizard sets the index strategy to None.
■ If the method is Database, and if the base column does not contain an index, then the wizard
sets the index strategy to None.
■ If the method is Database, and if the base column contains an index, then the wizard uses the
Copy All index strategy.
If the Case Insensitivity Wizard uses None as an index strategy, then the wizard does not define new
columns or indexes. It sets the Default Insensitivity property to DB Case & Accent.
■ If the Force Case property is set on a column, then the wizard does not define columns or
indexes.
■ If the column contains an index, then the wizard does not define columns or indexes.
In these situations, the Case Insensitivity Wizard accepts the column as eligible but does not define
columns or indexes. These default behaviors define implicit eligibility requirements.
For more information, see “Choosing the Correct Repository when Running the Case Insensitivity
Wizard” on page 559.
3 From the Tools menu, choose Utilities, and then Case Insensitivity.
4 Choose Administer the columns listed in this file, and then click Browse.
Siebel Tools displays the tools\objects directory, which contains the default csv input files.
5 Choose the desired csv file, click Open, and then click Next.
If the file contains an error, then the wizard lists the records that contain the errors. If you
continue, then the wizard skips records that contain errors. If there are errors, then click Export
to export the error list to a text file, correct the errors, and then restart the Case Insensitivity
Wizard.
For more information, see “Input File You Can Use with the Case Insensitivity Wizard” on page 554.
6 Click Next.
The Case Insensitivity Wizard displays the records in the input file.
a Click Export.
b Edit the text file, and then restart the Case Insensitivity Wizard, specifying the edited text file as
the input file.
8 Click Next.
The Case Insensitivity Wizard displays the changes it will make to repository tables and indexes.
9 (Optional) If you must save a record of the changes, then click Export.
10 Click Finish.
The Case Insensitivity Wizard configures the columns in the Siebel repository to support a CIAI
query.
Input File You Can Use with the Case Insensitivity Wizard
The Case Insensitivity Wizard can accept a comma-delimited (.csv) file as input. Each line in the file
is one record that defines one column that the wizard configures for a CIAI query. Oracle provides a
recommended input file. The input files include a csv file extension and are located in the objects
subdirectory of your Siebel Tools installation. These files list columns that Siebel CRM frequently uses
for queries. You can edit these files or create new input files.
<TABLE_NAME>,<COLUMN_NAME>,<Method>,<Index Strategy>,<Operation>
where:
For example:
S_CONTACT,EMAIL_ADDR,Database,Copy All,On
The Case Insensitivity Wizard inserts the default value for any optional variable that you omit.
If you omit a variable from a record, then you must provide a delimiting comma that represents the
placeholder for the variable. In the following example, the Index Strategy variable is omitted:
S_CONTACT,EMAIL_ADDR,Database,,On
The Case Insensitivity Wizard does not perform special handling for a denormalized column. To
configure a CIAI query on denormalized columns, you must include them in an input file.
For more information, see “Variables You Can Use with the Case Insensitivity Wizard” on page 551.
For more information, see “Choosing the Correct Repository when Running the Case Insensitivity
Wizard” on page 559.
As an alternative, you can display the Object Explorer in Flat mode, click Column, and then locate
the desired column in the Columns list.
4 In the Object Explorer, expand the Table tree, and then click Column.
5 In the Columns list, right-click the column you must modify, and then choose Case Insensitivity.
■ Lists any column that contains an eligibility error in the Configure Case Insensitivity dialog
box.
If there is an error, then you can export the error list to a text file, correct the error, and then
restart the Case Insensitivity Wizard. To export the error list, click Export. If there is an error
and you continue, then the Case Insensitivity Wizard skips any column that contains an error.
TIP: To run the Case Insensitivity Wizard for multiple columns, hold down the CTRL key while
you choose each column in the Columns list.
For example, in the S_CONTACT table, assume the LAST_NAME column does not include an index.
You run the Case Insensitivity Wizard to set the Default Insensitivity property to DB Case & Accent.
If you query for the name Smith, or any case variant such as SMITH or smiTH, then the object
manager uses a query similar to the following:
To use the Case Insensitivity Wizard on columns that do not contain an index
1 In Siebel Tools, open the desired repository.
For more information, see “Choosing the Correct Repository when Running the Case Insensitivity
Wizard” on page 559.
2 From the Tools menu, choose Utilities, and then the Case Insensitivity menu item.
3 Choose the Enable for all unindexed columns option, and then click Next.
4 Click Export to export the list of tables to a text file, then exit the Case Insensitivity Wizard.
6 In Siebel Tools, lock all tables that are listed in the text file.
7 Start the Case Insensitivity Wizard again, choose the Enable for all unindexed columns option,
and then click Next.
■ Displays a list that describes how the unindexed columns are configured
8 Verify that method is Database and Index Strategy is None for all columns.
If the index strategy is None, then the Case Insensitivity Wizard does not create a CIAI column
or index.
9 Click Next.
The Case Insensitivity Wizard displays a list that describes the Siebel repository changes it will
make.
10 Verify that the Default Insensitivity property is DB Case & Accent for all columns.
11 Click Finish.
The Case Insensitivity Wizard makes the changes to the Siebel repository.
To use the Case Insensitivity Wizard to accomplish various CIAI configuration tasks
■ Use Table 68 to determine how to run the wizard.
Table 68. Running the Case Insensitivity Wizard to Accomplish Various CIAI Configuration Tasks
Work You Must Perform How to Run the Case Insensitivity Wizard
Define new columns to support a CIAI Use an input file or choose files manually.
query.
Deactivate CIAI for defined columns. Use an input file that specifies the desired columns. For
each column, set Operation to Off.
Change the Default Insensitivity Choose the Tools menu, Utilities, and then the Case
property from None to DB Case & Insensitivity menu item. Choose the Enable for all
Accent for eligible columns without unindexed columns option.
indexes.
Change the method from Force Case Use an input file or choose files manually.
to Database for columns that are
already defined.
Table 68. Running the Case Insensitivity Wizard to Accomplish Various CIAI Configuration Tasks
Work You Must Perform How to Run the Case Insensitivity Wizard
Change the method from Database to Use an input file that specifies the desired columns. For
Force Case for columns that are each column, set Operation to Off. This technique
already defined. deactivates the CIAI column and CIAI indexes. Verify that
the Force Case property is set for base columns.
Change the index strategy from Single Use an input file that specifies to change the index
to Copy All for columns that are strategy from Single to Copy All.
already defined.
■ Sets the related CIAI indexes to inactive for indexes in which the base column participates.
■ Does not deactivate CIAI columns that reference the base column. You must manually set
inactive to TRUE for each of these columns.
■ Does not delete CIAI columns or CIAI indexes in the Siebel repository.
NOTE: You cannot manually change the Default Insensitivity property of a predefined Siebel column
to None. You must run the Case Insensitivity Wizard for this column with Operation set to Off. This
column is the last column in the csv file.
To choose the correct repository when running the Case Insensitivity Wizard
1 If you are not upgrading a development environment, then do the following:
a In the development environment, run the Case Insensitivity Wizard on the Siebel Repository.
b Generate another schema.ddl file, and then use it to update your test and production
environments.
2 If you are upgrading a development environment, then run the Case Insensitivity wizard on the
New Customer Repository.
Later in the upgrade process, Siebel CRM renames this repository to Siebel Repository. To revise
the columns you configured for a case insensitive query, you can run the Case Insensitivity
Wizard after an upgrade is complete. For more information, see Siebel Database Upgrade Guide.
2 Choose the Database tab of the Development Tools Options dialog box.
3 Make sure the Limit schema object names to 18 characters option contains a check mark, and
then click OK.
■ Improving Performance by Defining the Primary ID Field of a Multi-Value Link on page 562
■ The multi-value group is new and does not contain any records.
You can define the multi-value link to update the primary foreign key to a value of NULL, or to a
special value of NoMatchRowId, depending on your requirements. The purpose of the NoMatchRowId
value is to prevent a secondary query on a foreign key value that failed. This technique improves
performance in the same way that a primary join improves performance.
For more information, see “About the Auto Primary Property of a Multi-Value Link” on page 563, and
“How Siebel CRM Constructs a Multi-Value Group” on page 474.
In this situation, if you set Check No Match to TRUE, then performance is almost as slow as not
having a primary join at all, and you might encounter serious negative performance
consequences. In most situations, you must not set Check No Match to TRUE.
For more information, see “About the Check No Match Property of a Multi-Value Link” on page 561.
2 If a user can add a record to the multi-value group other than through the multi-value group,
then consider setting Check No Match to TRUE.
■ If a user can add a record to the same multi-value group through a multi-value link that is
defined on the Contact business component in addition to a multi-value link that is defined
on the Account business component
3 If you set CheckNoMatch to TRUE, then set the Use Primary Join property of the multi-value link
to TRUE.
If the CheckNoMatch property is TRUE, and if the Use Primary Join is FALSE, then to find the child
records, Siebel CRM always performs the secondary query. For more information, see “About the
Use Primary Join Property of a Multi-Value Link” on page 563.
■ If Siebel CRM encounters a parent record where the value of the primary foreign key is
NoMatchRowId, then Siebel CRM does not perform a secondary query because a value of
NoMatchRowId indicates that there are no child records in the multi-value group.
■ If Siebel CRM encounters a parent record where the primary foreign key is empty, NULL, or
invalid, then Siebel CRM performs a secondary query to determine if there are child records in
the multi-value group:
■ If Siebel CRM finds there are no child records, then it sets the Primary ID Field to
NoMatchRowId. For more information, see “About the Primary ID Field” on page 106.
■ If the Auto Primary property of the multi-value link is DEFAULT, and if the secondary query
locates a matching detail record, then Siebel CRM updates the foreign key with the row ID
of the record that the query located.
■ If the Auto Primary property of the multi-value link is NONE, and if the secondary query does
not locate a matching detail record, then Siebel CRM leaves the current value intact.
For example, in the Account business component the Primary ID Field property of the Business
Address multi-value link is Primary Address Id. The Account Address Mvg Applet displays the
corresponding multi-value group. Siebel CRM stores the row ID for the primary record in the Primary
Address Id field in the account record. The Primary check mark in the list column identifies the
primary. Each time Siebel CRM displays a different account record, the multi-value fields for the
Address load only the values from the record of the primary Business Address. It is not necessary to
query the Business Address business component for multiple rows. This configuration can
significantly improve performance, especially in a list applet.
Most predefined multi-value links designate a primary record. A multi-value link that does not
designate a primary record uses the first record that Siebel CRM retrieves from the child business
component. The link and multi-value link include a set of properties that you can define to instruct
Siebel CRM to obtain the record Id of the first record that displays records from the child table each
time the parent record changes. You can create a primary field for a one-to-many or a many-to-many
relationship.
NOTE: In a multi-value group applet, the list column that displays the check mark indicates the
primary or nonprimary status of each record. This list column obtains data for the column from the
SSA Primary Field system field. Although Siebel Tools does not display this field in the Object
Explorer or Object List Editor, you can reference it from a list column.
2 Create a new field that references the Primary Id column you created in Step 1.
3 In a multi-value link, set the Primary Id Field property to the field you created in Step 2.
The Primary Id Field property specifies the name of the field in the parent business component
that contains the row IDs that reference primary records in the child business component.
NOTE: Do not display the Primary ID Field in the Siebel client. If you display the Primary ID Field
in an editable control or list column on an applet, then the multi-value group applet does not
update the primary. If you must display the Primary ID Field in the Siebel client, such as for
testing, then use a read-only control or list column.
4 Set the Use Primary Join property of the multi-value link to TRUE.
For more information, see “About the Use Primary Join Property of a Multi-Value Link” on page 563.
For more information, see “About the Auto Primary Property of a Multi-Value Link” on page 563.
■ SELECTED. If the user views the multi-value group applet and then exits, then the highlighted
record becomes the primary. For more information, see “About the Select Option of the Auto
Primary Property” on page 563.
How the Auto Primary Property Affects the Read-Only Status of the Primary ID Field
If the Auto Primary property of a multi-value link contains a value of SELECTED, then defining a read-
only property at the applet level does not force the SSA Primary Field to be read-only. If the
destination business component of the multi-value link is read-only, then Siebel CRM might display
an error message that is similar to the following: This operation is not available for a read-only field
‘SSA Primary Field’. This errors occurs because Siebel CRM automatically updates the Primary ID
Field through the SSA Primary Field system field, which is part of the destination business
component. If this business component is read-only, then the Primary ID Field is read-only and
Siebel CRM cannot update it. For more information, see “System Fields of a Business Component” on
page 97.
If a business component defines an outer join, and if a joined field that uses the outer join
is included in the search specification for the business component, then the SQL generates
changes to the inner join for performance reasons.
■ Avoid using a NOT or OR operator in the search specification. These operators force the Siebel
database to execute a full table scan, which can adversely affect performance.
You can configure the CanInvokeMethod applet user property to enable a button. For more
information on using a minibutton to call a custom method, see Siebel Object Interfaces
Reference.
■ Log in to the Siebel client, and then use the Responsibility Administration Screen to
disassociate all views of the unused screen from the responsibilities that your organization
uses. This technique does not require you to recompile the SRF file. It also provides an easy
upgrade path if you decide to use the screen or views later. At that time, no configuration or
software upgrade is required. You only need to reassign the views to the relevant
responsibility.
■ Use Siebel Tools to deactivate the screen. This technique requires you to compile the SRF file.
When you compile, Siebel CRM does not include the inactive screen in the SRF file.
When you design your implementation, consider how the following factors affect the performance of
a chart in Siebel CRM:
■ If the chart must or must not search a multi-value group to obtain data
■ If the data point field is a currency field, then consider the number of records whose currency is
not the functional currency
This chapter describes how to map a custom table to an interface table. It includes the following
topics:
Related Topics
For more information, see the following topics:
■ Guidelines for Customizing a Foreign Key That Affects Enterprise Integration Manager on page 76
■ Guidelines for Using Enterprise Integration Manager with an MLOV on page 610
This chapter describes only how to map a custom table to an interface table. To fully transfer data
between databases, you must perform more configuration. For more information, see Siebel
Enterprise Integration Manager Administration Guide.
An interface table is an intermediate database table that provides a staging area between the Siebel
database and other databases. It includes the following qualities:
■ A Siebel administrator uses it to perform bulk imports, exports, updates, and deletes.
■ A database administrator typically uses a third-party tool to populate an interface table. SQL
Loader is an example of a third-party tool.
To use EIM to populate custom extension tables and extension columns, you create mappings
between the new columns and EIM interface tables. You use the EIM Table Mapping Wizard to create
these mappings. For more information, see “Mapping a Custom Table to an Interface Table” on
page 573.
Figure 82 illustrates how the child columns of a given interface table are the same as the child
columns of a table. The EIM_PRI_LST price list interface table is an example.
Figure 82. child Columns of an Interface Table Are the Same as Child Columns of a Table
Figure 83 illustrates how the Destination Table property of each EIM table mapping object identifies
the name of the data table to update.
Figure 83. Example of How an EIM Interface Table References a Data Table
CAUTION: Do not modify the object definition of an interface table user key usage. Any modification
can adversely affect performance and operation.
■ Interface Table Data Column. Identifies the column in the interface table that supplies the
data.
■ Base Table Attribute Column. Identifies the column in the destination table that receives the
data.
If you add an extension column to a table, and if an interface table must provide data to the
extension table, then you must add a corresponding attribute mapping.
Figure 84 illustrates an example of how an EIM table mapping references a data table.
Figure 84. Example of How an EIM Table Mapping References a Data Table
Figure 85 illustrates an example of how a foreign key map references a data table. To access the
desired row, Siebel CRM uses a combination of attribute columns in the destination table of the
foreign key. EIM obtains the foreign key value from that row. A foreign key mapping is not a one-
to-one column mapping from an interface table to a destination table. Because the numeric foreign
key does not exist in the interface table, you cannot map it.
Figure 85. Example of How a Foreign Key Map References a Data Table
■ To locate rows in the table that the foreign key references, identifies one of the attribute columns
EIM uses. EIM combines values from the user key columns to form a key that uniquely identifies
rows in that table.
■ Identifies the user key columns so EIM can derive foreign key values during an import or export.
For example, the S_PROD_INT products table includes the S_PROD_INT_U1 user key. This user key
references the following columns:
■ PROD_NAME
■ PROD_VENDOR
■ PROD_VEN_LOC
Because EIM obtains the PROD_NAME column from the S_PROD_INT table, no join is required.
EIM must use a join to obtain the PROD_VENDOR and PROD_VEN_LOC columns from the S_ORG_EXT
accounts table. EIM uses a join on VENDR_OU_ID, which is a foreign key from the S_PROD_INT table
to the S_ORG_EXT table.
■ Guidelines for Using the EIM Table Mapping Wizard on page 576
■ Starting the EIM Table Mapping Wizard for a Table That Does Not Use the Foreign Key on page 577
To map custom columns and tables to a predefined EIM interface table, you use the EIM Table
Mapping Wizard.
For more information, see “Guidelines for Using the EIM Table Mapping Wizard” on page 576.
2 In Siebel Tools, display all child object types of the EIM interface table object type.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
4 In the Tables list, locate the table that must reference an EIM Table.
This table is the primary table into which EIM imports data from the predefined interface table.
Siebel Tools displays the Interface Table Mapping dialog box. It enters data into the Base Table
name window of this dialog box. It derives this data from the table you located in Step 4.
■ If a prefix does not already exist for the EIM table, then Siebel Tools adds the new prefix you
enter to the EIM interface table columns that are related to the table.
■ If a prefix already exists for the EIM table, then Siebel Tools uses the existing prefix.
7 In the Select the interface Table window, choose a value from the list, and then click Next.
Siebel Tools constrains the list you use to choose the EIM interface table to display only those
interface tables to which your new custom table includes a foreign key relationship. Siebel Tools
sorts this list by EIM table name. If the Exist field of the interface table is Y, then the EIM table
is already mapped to the base table. If you extend a predefined Siebel table, then a table with
a Y in the Exist field is an ideal candidate for EIM mapping.
8 Click Finish to accept the configuration and generate the EIM Interface Table object.
Siebel Tools begins the mapping, which might take several minutes. For more information, see
“Relations That the EIM Table Mapping Wizard Creates” on page 576.
b In the EIM Tables list, run a query for all changed records.
When you run the query, make sure the Changed property contains a check mark. Leave all
other properties empty.
c Run the following query to review any more columns that Siebel Tools generated:
T_*
Figure 86. Relations That the EIM Table Mapping Wizard Generates
■ You must set the Type property for any table you use with the EIM Table Mapping Wizard to one
of the following values:
■ Data (Public)
■ Data (Intersection)
■ Extension
■ Extension (Siebel)
■ You cannot use the EIM Table Mapping Wizard with a custom table because there is no EIM table
to choose in the EIM Table Mapping Wizard.
■ You can map a single column in an interface table to multiple base tables or extension tables.
However, do not map multiple interface table columns to a single column in a target table
because it can create ambiguity for EIM.
■ EIM does not validate an interface table or a column definition. EIM validates a list of values
against the lists of values that are defined for the base columns to which the values are mapped.
From To Restriction
Interface table Base column Supported if there are predefined mappings from the
column interface table to the data table.
Interface table Base column Supported if there are no other mappings to the base
extension column column. Use with caution.
Interface table Extension Supported if there are predefined mappings from the
column table column interface table to the base table of the extension table.
To start the EIM Table Mapping Wizard for a table that does not use the foreign key
1 Create a temporary column. Use properties described in the following table.
Property Value
Property Value
Foreign Key Table Choose the target table for the interface table.
Name
NOTE: In many but not all situations, this table is the parent table of the
temporary column.
By creating the temporary column, The EIM Table Mapping Wizard lists predefined EIM interface
tables that are already mapped to this table as the target or destination table. The wizard also
lists EIM tables that are mapped to tables with which this table uses a foreign key. However, the
foreign key must be part of the Traditional U1 Index user key of this table.
For more information, see “Mapping a Custom Table to an Interface Table” on page 573.
3 After the EIM Table Mapping Wizard finishes, delete the column you created in Step 1.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the EIM Interface Tables list, locate the table that contains the attribute mapping you must
modify.
4 In the Object Explorer, expand the EIM Interface Table tree, and then click EIM Table Mapping.
5 In the EIM Table Mappings list, locate the table mapping that contains the attribute mapping you
must modify.
6 In the Object Explorer, expand the EIM Table Mapping tree, and then click Attribute Mapping.
7 In the Attribute Mappings list, locate the attribute mapping you must modify.
■ If you load data through EIM and a primary child column includes no match, then EIM labels the
column with NULL.
■ If you load data through the Siebel client and a primary child column includes no match, then
Siebel CRM labels the column with No Match Row Id.
Siebel CRM replaces each instance of a NULL value with No Match Row Id.
This chapter describes how to configure docking rules for Siebel Remote. It includes the following
topics:
Related Topics
For more information, see the following topics:
A dock object is an object type that is a logical grouping of tables that contain special schema
structures that synchronize data between a server database and a local database in a coherent
manner.
When Siebel CRM updates data on the Siebel Server, Siebel Remote synchronizes the local database
when the remote user connects to the Siebel Server and performs a synchronization. Siebel Remote
only synchronizes the data that it must download to the local database. During the synchronization,
Siebel Remote uploads any updates that exist in the local database to the Siebel Server. For more
information, see Siebel Remote and Replication Manager Administration Guide.
■ Uploads to the Siebel Server all records from tables that are part of a private dock object.
■ Tables that contain static data or data that changes only occasionally.
For example, the Primary Table Name property of the Opportunity dock object is set to S_OPTY. Dock
object tables that are children of the Opportunity dock object reference other tables, such as the
S_NOTE_OPTY table and the S_OPTY_REL table. This example describes how a dock object is a set
of logical records. In this example, opportunities are the logical records. Each logical record is a
collection of one or more physical database records that are spread across multiple tables.
■ Position
■ Organization
For more information, see Siebel Remote and Replication Manager Administration Guide.
Calendar Examines remote user access to the calendar of the user who owns the
record. Applies only to calendar appointment records.
Check Dock Object Examines the relationship to another record that the user receives. For more
information, see “Check Dock Object Visibility Rule” on page 584.
Employee Examines the foreign key to the employee record of the remote user, and
downloads data depending on the identity of the remote user.
To find all candidate rules, Siebel Remote identifies all columns that are
foreign keys to the S_USER table, except CREATED_BY and LAST_UPD_BY.
Employee Manager Examines the foreign key to the employee record of someone who directly
reports to the remote user, and downloads data according to the employees
who report to the remote user.
To find all candidate rules, Siebel Remote identifies all columns that are
foreign keys to the S_USER table, except CREATED_BY and LAST_UPD_BY.
Organization Examines the same business unit in which the remote user resides.
Position Examines the foreign key to the primary Position of the remote user, and
downloads data according to the position of the remote user.
To find all candidate rules, Siebel Remote identifies all columns that are
foreign keys to the S_POSTN table.
Position Manager Examines the foreign key to the Position of someone who reports directly to
the remote user, and then downloads data according to the positions that
report to the remote user position.
To find all candidate rules, Siebel Remote identifies all columns that are
foreign keys to the S_POSTN table.
The Foreign Key Table Name property of the table columns determines the candidate Check Dock
Object rules that the Docking Wizard can find. For each foreign key, the following Check Dock Object
rules exist regardless of where the foreign key column resides:
■ Rules that use the dock object as the destination dock object. To determine these rules, Siebel
Remote uses the foreign keys on the primary table of one of the following objects:
■ The current dock object. To find this kind of rule, Siebel Remote uses an algorithm that
finds all foreign key columns except columns that reference the S_USER table or the
S_POSTN table. It finds these columns in the table of the current dock object. For these
foreign key columns, the algorithm finds the foreign key table that these foreign key columns
reference. The dock object of the foreign key table becomes the object for the Check Dock
Object of the newly created Check Dock Object rule in the current dock object.
■ Other dock objects. To find this kind of rule, Siebel Remote uses an algorithm that finds all
foreign key columns that reference the primary table of the current dock object, on any table
that is part of a limited dock object. The algorithm adds the appropriate Check Dock Object
visibility rules to these limited dock objects, with the current dock object being the object for
the Check Dock Object.
■ Rules that use this dock object as the Check Dock Object rules. To determine these rules, Siebel
Remote uses the foreign keys on the primary table of one of the following objects:
The algorithm for these types of rules is similar to the algorithm for rules that use this dock object
as the destination dock object. The main difference involves switching the source table or column
and target table or column.
A dock object visibility rule includes the Visibility Strength property. For most situations, the value
for this property can be 0, 100, or any integer between 0 and 100. A visibility strength of 100
indicates full visibility. A visibility strength of 0 indicates no visibility. It is recommended that you
use a value of 100 or less. If your configuration requires a higher value, then you can use any value
up to 254.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Dock Objects list, query the Name property for Opportunity.
4 In the Object Explorer, expand the Dock Object tree, and then click Dock Object Table.
7 Note the following values for the first record that Siebel Tools displays in the Dock Object
Visibility Rules list.
Property Value
Sequence 1
8 Note the following values for the sixth record that Siebel Tools displays in the Dock Object
Visibility Rules list.
Property Value
Sequence 6
Visibility Strength 50
■ If a dock object visibility rules passes, then Siebel Remote stops evaluating the rules and uses
the value in the Visibility Strength property of the rule that passed as the overall strength for the
rule.
■ If none of the dock object visibility rules pass, then Siebel Remote uses zero for the overall
strength for the rule.
1 Determines the overall visibility strength of the dock object visibility rules. For example:
■ If the user is on the sales team for the opportunity, then Siebel Remote uses the value in the
Visibility Strength property of the first record in the Dock Object Visibility Rules list. This
value is 100.
■ If the user is not on the sales team for the opportunity, then Siebel Remote evaluates each
visibility rule in sequence until a rule passes. For example, assume visibility rules with 2, 3,
4, and 5 in the Sequence property all fail. Assume the user does possess full visibility to the
account for the opportunity, so rule 6 passes. In this situation, Siebel Remote uses the value
in the Visibility Strength property for the rule that contains 6 in the Sequence property. This
value is 50.
2 Compares the visibility strength it obtained it Step 1 to the Visibility Strength property of the first
table that Siebel Tools displays in the Dock Object Tables list, and then does the following:
■ If the visibility strength from the visibility rule is greater than or equal to the visibility
strength defined for the table, then Siebel Remote downloads all records from the table to
the user.
■ If the visibility strength from the visibility rule is less than the visibility strength defined for
the table, then Siebel Remote does not download any records from the table to the user.
3 Repeat Step 2 for each subsequent record that Siebel Tools displays in the Dock Object Tables list.
For example, assume the overall visibility strength from Step 1 is 50. In this situation, Siebel Remote
does the following:
In this situation, the user receives all opportunity records but no notes for any opportunity. If the
user is on the sales team of the opportunity, then the user receives all notes for the opportunities.
■ Rebuilding the Databases After You Run the Docking Wizard on page 593
Table 71 lists some important business components and their associated dock objects.
Visibility
Business Component Dock Object Primary Table Level
NOTE: The Party dock object represents the Employee and Position records. The visibility level for
the Party dock object is Limited. However, the SQL rules in the Party dock object determine visibility
for employee and position records as Enterprise.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Business Components list, locate the business component you seek.
For example, Siebel Tools displays the S_OPTY table in the Table property for the Opportunity
business component.
5 In the Object Explorer, choose the Flat tab and then click Dock Object.
6 In the Dock Objects list, query the Dock Object Table property for the table you identified in
Step 4.
If a dock object references the table, then Siebel Tools displays the dock object. For example,
the Opportunity dock object references the same table that the Opportunity business component
references.
7 If your query provides a result, then you might be able to reuse the predefined dock object. Do
the following:
b In the Object Explorer, click the Types tab, and then click Dock Object.
c Query the Name property for the value you noted in Step a.
d Examine the dock object and the child objects of the dock object to determine if they meet your
requirements.
■ Create a new dock object for a custom extension table that is not already in a dock object.
■ Create new dock object visibility rules for a custom or predefined dock object.
■ Dock object.
■ Dock object visibility rule. For more information, see “How the Docking Wizard Creates Visibility
Rules” on page 591.
You can use the Docking Wizard to create public, private, and limited dock objects.
For more information, see “Guidelines for Using the Docking Wizard” on page 589 and “How the Docking
Wizard Behaves Depending on Where You Start It” on page 590.
It might not be necessary to create a new dock object. If a dock object already references a table,
then Siebel Tools disables the Docking Wizard menu item and you cannot choose it. For more
information, see “Reusing a Predefined Dock Object” on page 587.
4 In the Tables list, locate the custom extension table to which you must associate a docking
object.
a In the Tables list, right-click the record, and then choose the Docking Wizard menu item.
For example, right-click the CX_TEST_PRI table. You must choose a custom extension table
that includes the CX_ prefix in the name column.
b In the Add Table to Dock Object dialog box, enter the name of the dock object into the Dock
Object field.
You must use the DOX prefix. For example, DOX PRI.
If you chose Limited, then the Docking Wizard automatically creates the visibility rules. For
more information, see “How the Docking Wizard Creates Visibility Rules” on page 591.
a In the Object Explorer, expand the Table tree, and then click Column.
b In the Columns list, locate the column to which you must associate a dock object.
c Right-click the record, and then choose the Docking Wizard menu item.
The Docking Wizard menu item is active only if one of the following situations is true:
❏ The table name includes a CX_ prefix and a dock object already references the table.
You can start the Docking Wizard multiple times regardless of how many times you start it
for a column.
For more information, see “Verifying That Siebel Tools Created Dock Objects” on page 592.
For more information, see “Rebuilding the Databases After You Run the Docking Wizard” on
page 593.
■ For a custom extension table, make sure a dock object does not already reference the table. If
a dock object does already exist, then do not start the Docking Wizard from the table.
■ You can start the Docking Wizard from a custom extension column that is added to a predefined
table.
■ You cannot add a custom intersection table to the dock object of a table that Siebel Remote
downloads. If you require this functionality, then see “Getting Help from Oracle” on page 196.
■ You can create a new dock object for a custom table that includes a mandatory foreign key to
another custom table that is already part of a custom dock object. You can also add it to the
predefined custom dock object. This technique depends on your business requirements and
desired outcome.
■ The Docking Wizard creates rules with the following visibility strengths:
You must get assistance from Oracle to modify these strengths. For more information, see
“Getting Help from Oracle” on page 196.
If you start the Docking Wizard from a table, then the following applies:
■ If the custom table is a stand-alone table, then you must create a new dock object for the table,
and then create the dock object visibility rules.
■ If the custom table includes foreign keys to other custom tables that are already in certain dock
objects, then you can do one of the following:
■ If you start the Docking Wizard from a stand-alone custom table, then only the Create a New
Dock Object option is active in the Add Table to Object dialog box. The Add the Table to an
Existing Dock Object option is not active.
If you start the Docking Wizard from a column, then you do not need to make any choices. The
Docking Wizard adds the following dock object visibility rules:
■ For a regular foreign key, the Docking Wizard adds the following dock object visibility rules:
■ One rule from the dock object of the table to the dock object of the foreign key table
■ One rule from the dock object of the foreign key table to the dock object of the table
■ For a foreign key to the S_POSTN table, the Docking Wizard only adds a position dock object
visibility rule.
■ You use the Docking Wizard to add a dock object table to a custom dock object.
■ You start the Docking Wizard from a custom extension column that is a foreign key to another
table.
You can use the Docking Wizard to create the following types of limited dock object visibility rules:
■ Employee
■ Employee Manager
■ Position
■ Position Manager
For more information, see “Dock Object Visibility Rule” on page 582.
■ If you create a new dock object for a stand-alone custom table, then you must lock the project
that the new dock object references before you create the new dock object.
■ If you create a new dock object for a custom table that is not a stand-alone table, then you must
do the following before you create the new dock object:
■ Lock all projects for the dock objects in which the parent table of the custom table resides.
The Docking Wizard adds new dock object visibility rules for a predefined dock object. Siebel Remote
uses the new dock object visibility rules to determine to download or not download records from an
existing table to the Remote user. This technique is appropriate in the following situations:
■ If the new table acts as a parent to the primary table of another, limited visibility dock object.
■ If the new table includes a foreign key to the primary table of another limited visibility dock
object.
2 In the Tables list, right-click the record, and then choose the Docking Wizard menu item.
For example, right-click the CX_TEST_PRI table. You must choose an existing extension table
that includes the CX_ prefix in the name column.
3 In the Add Table to Dock Object dialog box, choose the Add the Table to an Existing Dock Object
option.
Siebel Tools displays a list of all Dock Objects that contain tables to which the new table includes
a foreign key.
This list allows you to choose a column from the new table that is a foreign key to the parent
table that is contained in the chosen Dock Object Table. Typically, Siebel Tools only displays one
column, but there might be more in some situations.
If you choose the Source Column, then Siebel Tools displays a value in the Target Table field.
Siebel Tools creates a dock object table object and then displays it in the Dock Object Tables list.
For more information, see “Verifying That Siebel Tools Created Dock Objects” on page 592.
For more information, see “Rebuilding the Databases After You Run the Docking Wizard” on
page 593.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
4 In the Object Explorer, expand the Dock Object tree and then click Dock Object Table.
7 In the Object Visibility Rules list, locate the new visibility rules.
For more information, see “Dock Object Visibility Rule” on page 582 and Siebel Remote and Replication
Manager Administration Guide.
This rebuild allows database extract and download to work properly. For more information, see Siebel
Remote and Replication Manager Administration Guide.
<ORACLE_HOME>\bin\diccache.dat
<ORACLE_HOME>\bin\dicdata.dat
6 To rebuild the dobjinst.dbf file, start the Transaction Processor with the TsDbRecreate
parameter set to TRUE.
7 To rebuild the visdata.dbf file, start the Transaction Router with the IdDbRecreate parameter
set to TRUE.
In these situations, you must cleanse the dock objects before you can use the Docking Wizard again
or before you can use Siebel Remote.
b Prompts you to make sure all the dock objects are clean. If they are not, then Siebel Tools
deletes some objects.
c If the projects on which you work are not locked, then Siebel Tools prompts you to lock them.
After Siebel Tools finishes, it repeats Step b.
For example, lock the project that the new dock object will reference, such as Dock Opportunity.
For more information, see “Locking Related Projects” on page 591.
2 Choose the File menu, and then choose the New Object menu item.
3 In the New Object Wizards dialog box, choose the Table icon in the General tab, and then click
OK.
a Enter the name of your custom extension table with a CX_ prefix.
Siebel Tools creates the table and then displays the Tables list.
This chapter describes how to configure your Siebel application so that you can deploy it in a localized
environment. It includes the following topics:
Related Topics
For more information about localization, see the following topics:
■ Troubleshooting a View That Siebel CRM Does Not Display in the Siebel Client on page 284
■ Setting the Input Method Editor Mode on a Control or List Column on page 368
■ Using the Conversion Wizard to Convert a Form Applet to Grid Layout on page 372
■ Setting the Language Mode of the Applet Layout Editor on page 599
■ Deleting a Control or List Column While in Language Override Mode on page 599
You can get locale data for a specific project. You can do this if you change your current working
language. For example, assume you only use language data for English-American as your current
working language in Siebel Tools, and you must switch to French. To view any localizable data in
Siebel Tools, you must get the locale data for French.
The Replication Level field of an MLOV determines the replication level of the list of values record.
Setting this field to All routes the record to the regional databases and mobile clients. However, if
you run the MLOV Converter Utility in translation mode to update the target columns and
S_LST_OF_VAL table, then the utility does not log changes in the transaction log table. Therefore,
you must reextract the regional databases and remote clients. For more information, see “Converting
Your Current Data for an MLOV” on page 611.
Siebel Tools displays the current language in the lower right corner of the Siebel Tools window. For
example, Language:ENU. This language allows you to work with data in a language other than
English. Example data includes a translatable text string. The language mode also determines the
records that are specific to a locale that Siebel Tools transfers during check in and check out and
compiles to the SRF file. You can set the language mode.
3 Choose the appropriate language in the Language window, and then click OK.
CAUTION: If you work in language override mode, then do not delete a control or list column from
an applet Web layout. Instead, make sure the Visible property for the control does not contain a
check mark. If you delete a control or list column while working in language override mode, then
Siebel Tools deletes the corresponding object for all languages, not just for the language in which
you work. If you undo after you cut items from the applet layout, then close the Applet Layout Editor
without saving your changes. For more information, see “Deleting a Control or List Column” on
page 362.
For example, to localize an application menu for Japanese, increase the width parameter from
275 to 405. For more information on the CCFrameBanner.swt web template, see “Customizing
Web Templates to Render Menus, Toolbars, and Thread Bars” on page 527.
Localizing Help
This topic describes how to deploy help in different languages. If you must use Siebel CRM in a
language that is not available from Oracle, and you must deploy help in that language, then you must
localize the help. For more information, see Siebel Global Deployment Guide.
To localize help
1 If the predefined localized help meets your requirements, then use that predefined help and exit
this task.
Siebel CRM comes with predefined localized help. For more information see, “Predefined Localized
Help” on page 600.
2 If the predefined localized help does not meet your requirements, then customize the ENU
(American English) help to meet your requirements.
5 Distribute the localized help to the Siebel Servers and Siebel clients.
<ORACLE_HOME>\public\<install language>\help
where:
■ ORACLE_HOME is the directory where you installed the Siebel Web Server Extensions
■ install language is the language you chose during installation
For details about the location of the help files for Siebel CRM, see“Location of Help Files for an
Employee or Partner Application” on page 649 and “Location of Help Files for a Customer Application” on
page 652.
A multilingual list of values (MLOV) is a type of list of values that allows you to display values in the
natural language in which the user communicates. It also allows a user who works in a particular
language to retrieve values for another language.
Siebel CRM displays an MLOV in a static list. To configure an MLOV for a predefined static list, the
list must meet the following requirements:
■ It must be bounded.
For more information about the active language, see Siebel Global Deployment Guide. For more
information about list of value fields, see Siebel Applications Administration Guide
■ Display Value
Monolingual and multilingual lists of values display values from the Display Value column. If the user
chooses a value in a list, then the actual value that Siebel CRM stores in the Siebel database is
different for monolingual and multilingual lists of values:
Language-independent code (LIC) is a mechanism that allows Siebel CRM to do the following:
■ Store data in a form that a user working in another language can retrieve
■ Roll up of data for management reports regardless of the language of the user who enters the
data
Mr. Mr.
Señor Mr.
Herr Mr.
NOTE: The language-independent code value for predefined list of values data is typically the same
as the American-English version.
Because you define an MLOV on a column basis, the columns that are not configured for multilingual
continue to store display values instead of language-independent codes.
For more information, see “Considering Factors That Affect MLOV Performance” on page 566.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
a In Siebel Tools, in the List of Values list, locate the list of values you must modify.
For more information, see “Creating a New List of Values” on page 464.
For more information, see “Modifying the Translate Property” on page 606.
a In the Object Explorer, choose the Flat tab, and then click Pick List.
b In the Pick Lists list, query the Type Value property for the type of list of values you must modify.
5 Make sure the columns that the list references are bounded and consistent:
b In the Columns list, query the LOV Type property for the list of values type you must modify.
c Make sure the LOV Bounded property for each column contains a check mark.
For more information, see “Example of Determining If the List Is Bounded” on page 604.
d Make sure the Translation Table Name property is set to S_LST_OF_VAL for all columns.
e Make sure the LOV Type for the list matches the LOV Type of the column that the field for the list
references.
6 Make sure you can use the column with an MLOV.
For more information, see “Columns That You Cannot Use with an MLOV” on page 605.
7 Make sure the column that is referenced by the field that uses the list contains the following
property.
Property Value
8 Check the visibility rules for references to the list of values that is a part of your MLOV
configuration:
a In the Object Explorer, choose the Flat tab, and then click Dock Object Visibility Rule.
b In the Dock Object Visibility Rules list, query the SQL Statement field for literals across all rows
that are not empty.
c Identify the values that Siebel CRM must translate.
You must change the display value for any reference in a visibility rule that references a list of
values entry for a type that you configure for multilingual support. Note that you cannot change
visibility rules.
c Create a new record for each display value for the type of list of values that you use for a specific
language.
For more information, see “Adding Records for All Supported Languages” on page 607.
11 Use the MLOV Converter Utility to convert data for the current lists of values.
For more information, see “Converting Your Current Data for an MLOV” on page 611.
CURR_AVAIL_CD AVAILABILITY_STATUS Y
NEXT_AVAIL_CD AVAILABILITY_STATUS Y
CURR_AVAIL_CD AVAILABILITY_STATUS Y
NEXT_AVAIL_CD AVAILABILITY_STATUS N
You can change the LOV Bounded and LOV Type properties of the column in the following situations:
■ For a predefined column that is not already assigned to a predefined list of values type.
■ For a predefined column that is already assigned to a predefined list of values type and that has
the LOV Bounded property set to FALSE, you can change the LOV Bounded property to TRUE.
Siebel CRM supports this configuration only in the context of enabling an MLOV.
NOTE: You can configure a custom extension column for use with an MLOV. Do not configure a
column for an MLOV unless you are sure that you intend to use that column in your implementation.
For more information, see “Creating a New List of Values” on page 464.
2 Define properties for the MLOV using values from the following table.
Property Description
Multilingual Indicates the list of values is multilingual. The MLOV Converter Utility sets
this flag for the values in the list of values. For more information, see
“Converting Your Current Data for an MLOV” on page 611.
If you add a new MLOV record after the MLOV Converter Utility executes,
then you must manually add a check mark to the Multilingual property to
make sure it is consistent with the previously created records.
Language Indicates the natural language. In the Siebel client, Siebel CRM derives the
Name values for this list from the Languages view in the Administration - Data
screen.
Translate If you add a list of values type that must function as an MLOV, then make
sure the Translate property contains a check mark. Do not change the
Translate field for a predefined list of values. For more information, see
“Modifying the Translate Property for a Predefined List of Values” on page 606.
Language- The internal language-independent code for a list of values. Siebel CRM
Independent stores it in the Siebel database for an MLOV that a Siebel application enables
Code and references. The language-independent code must be 30 characters or
less. It is typically the English-American version. You cannot change the
language-independent code.
If you click the List of Values Explorer link in the Siebel client, then the Code
field displays the language-independent code.
Display Value Contains the text that Siebel CRM displays in a list. Siebel CRM stores it in
the Siebel database for an MLOV that is not enabled.
To determine the display value, if display values exist for more than one
language for a list of values, then Siebel CRM uses the current active
language.
■ Siebel CRM does not translate an MLOV whose Translate property does not contain a check mark.
■ To translate the chosen text to the language-independent code, Siebel CRM hard codes translate
functionality to use the Display Value property. You cannot use a different value for translation.
If you use Assignment Manager, then you must add records for all the languages you support. For
more information, see “Configuring Siebel Assignment Manager to Use MLOV Fields” on page 619.
For more information about adding records to the list of values table, see Siebel Applications
Administration Guide.
For example, assume you must support German, French and English. In this situation, you create
two new records for each display value. One record for German and one record for French.
Make sure the language-independent code for each new record is the same as the original record.
Make sure the Language and Display Value fields are set differently to reflect the language.
You can use this function to configure search with a predefined query and search expression.
For more information about the LookupValue function, see “Guidelines for Using Code in an MLOV
Configuration” on page 609. For more information, see “Guidelines for Modifying a Predefined Query”
on page 188.
For more information about query operators and expressions, see Siebel Developer’s Reference and
Siebel Fundamentals.
Do not use the language-independent code to query. A query translates the search specification
to the appropriate language-independent code. For more information, see “Options to Filter Data
Displayed in an Applet” on page 126.
2 Make sure the Display Value you use as the search specification corresponds to the language that
Siebel CRM uses to perform the query.
If the query runs through a Siebel interface, such as COM, then the language that Siebel CRM
uses for this translation is configured in the configuration file that Siebel CRM uses with the
interface.
If you delete an MLOV record, then Siebel CRM does the following:
■ Uses the display value in the list of values entries to display the language-specific text. Note that
Siebel CRM cannot correctly display records in other tables that use the MLOV record.
■ To display the language-independent code, Siebel CRM uses the language-independent codes in
the target columns that refer to the deleted record.
2 Make sure the Active field does not contain a check mark.
By default, Siebel CRM includes a check mark for the Active field.
■ Make sure language-independent code is unique. For more information, see “Language-
Independent Code Must be Unique” on page 610.
■ If the header row entry is inactive, then make sure the Display Value rows are not active.
■ You cannot customize a hierarchical MLOV. Siebel CRM does not support this configuration. If
you require a hierarchical MLOV, then see Doc ID 473813.1, which was previously published as
Siebel Technical Note 632 on My Oracle Support. For help with a hierarchical MLOV, see “Getting
Help from Oracle” on page 196.
■ Do not create more than one header row for a given MLOV type. For example, assume an MLOV
named ACCOUNT_STATUS includes nine Display Value rows, three rows each for English,
Spanish, and German. Siebel CRM requires only one header row for these nine values. If you
create three header rows for the ACCOUNT_STATUS MLOV, then the MLOV will fail.
■ Make sure the length of the table column that stores the language-independent code is equal to
the longest display value for the MLOV.
CAUTION: The length of the table column that stores the language-independent code must
equal the longest display value for the MLOV. This length is 30 characters. If it does not, then
Siebel CRM truncates the display value. If the predefined column does not meet your
requirements, and if you use a custom extension column, then you must make sure the column
is a VARCHAR column and has a maximum length of 30.
■ Make sure any customization you perform that directly involves the list of values table is
compatible with other MLOV functionality in your Siebel application. For display, Siebel CRM uses
a lookup to convert the underlying language-independent code to the corresponding display
value. For search and sort, Siebel CRM performs a database join to the list of values table.
■ Associate an MLOV with only one business component field. Siebel CRM uses only one
multilingual list type for each column. However, multiple business components can reference a
table, and multiple business component fields can reference the same column in a table. When
run in validation mode, the MLOV Converter utility makes sure an MLOV is associated with only
one field. For more information, see “Converting Your Current Data for an MLOV” on page 611.
■ Do not hard-code the conditions for a dynamic drilldown or toggle applet. Instead, use the
LookupValue function. A drilldown or toggle applet references a business component field that
includes a value from a list of values. Because these values are dynamic, you must not hard-
come them. For example, a dynamic drilldown might navigate the user in the following ways:
■ Never use Siebel Visual Basic to hard-code the Display Value. Instead, use the language-
independent code. Siebel Visual Basic does not include a function that retrieves a Display Value
that is specific to a particular language. To write Siebel Visual Basic code using only language-
independent code, you must create a calculated business component field that contains the
language-specific translation for a language-independent code.
■ Use the LookupName function only in a calculated field or in a search specification. You cannot
use it with Siebel scripting. For more information, see “Options to Filter Data Displayed in an
Applet” on page 126.
■ For the Pre Default Value and Post Default Value properties of a business component field that
uses a list of values list, always prepend the LookupValue function with Expr:. The first argument
is the LOV Type. The second argument is the language-independent code. The function returns
the language-specific Display Value. For example:
■ If you define a search specification for a business component, link, applet, or list, then use the
LookupValue function. For example:
For more information, see “Options to Filter Data Displayed in an Applet” on page 126.
■ If you import data into the list of values table, then you must make sure the source table includes
a language code and a name-value pair. This pair includes the display value and the language-
independent code.
■ If you import data into any other table, then you must provide a language code for the
LANGUAGE command-line parameter for EIM. The source table must include the display value for
multilingual columns in the language defined in the parameter. EIM validates imported data
against list of values entries. It converts incoming data to the related language-independent code
during the import.
■ When EIM validates MLOV values during an import, it ignores list of values entries that are
marked inactive.
■ During an export, you must define a language code for the LANGUAGE parameter so that EIM
can correctly translate the language-independent code in the table to the display value.
For more information, see Siebel Enterprise Integration Manager Administration Guide.
In this example, WA is not assigned to the language-independent code for both child list of value
entries. Because the meaning is different for each location, Siebel CRM assigns a unique language-
independent code. For example, WESTERN_AU and WASH_STATE_USA.
There are situations where it is appropriate to use duplicate values in the child list of values, but you
must assign these the same display values in the same language. For example:
Because the status can be Open for each type of defect, the list of values table contains multiple
entries with the display value Open, one for each time that Siebel CRM can use it with each parent
list of values entry. Because the LookupValue function returns the first value in the list of values
table that matches the supplied LOV_TYPE and language-independent code values, it is essential that
Siebel CRM assigns the same display value.
■ For each column configured for an MLOV, locates values in lists of values in user data that are
not in the S_LST_OF_VAL table.
■ Changes the display value of bounded columns to the language-independent code and sets the
value for the Multilingual property to true.
■ It is recommended that you backup the Siebel database before you run the utility. You cannot
reverse or undo a conversion.
■ You must perform this conversion even if you recently completed a new installation of your Siebel
application.
■ You can run the utility as often as necessary. The utility only processes data that is not already
converted.
You run the MLOV Converter Utility in one of the following modes:
■ Validation. Validates the current repository for data inconsistencies. If the utility finds
inconsistencies, then the utility writes errors to a log file and then stops.
■ Translation. Does the following:
■ If a column is configured for an MLOV, then the utility changes the display value for the
column to the language-independent code.
■ If you set the target column for a LOV Type to multilingual, then to make sure the multilingual
state of the target column and the corresponding list of values in the S_LST_OF_VAL table
are consistent with each other, the utility sets the MULTILINGUAL flag to TRUE in the
S_LST_OF_VAL table.
The MLOV Converter Utility sets the multilingual flag to TRUE for the header row and the
Display Value rows for the MLOV.
■ Verifies that target columns that use the MLOV type are configured. A target column is a
column that stores the display value or the language-independent code as part of user data.
You will recreate these indexes after you finish the MLOV conversion.
For information, see Siebel Installation Guide for Microsoft Windows. If you use UNIX, then see
Siebel Installation Guide for UNIX.
For more information, see “Parameters You Use to Run the MLOV Converter Utility” on page 613.
The MLOV Converter Utility checks for errors and writes them to a log file. The default name of
the log file is mlovupgd_verify.log. The default location of the file is the siebsrvr\LOG
directory.
9 If the utility reports an error, then resume the utility in validation mode.
For more information, see “Resuming the MLOV Converter Utility If an Error Occurs” on page 613.
10 Repeat Step 2 through Step 9 until the utility does not report any errors.
11 Repeat Step 2 through Step 5 to restart the Siebel Database Configuration Wizard.
12 Specify Translation Mode, and then run the MLOV Converter Utility.
13 Recreate the indexes you deleted in Step 1.
14 Compile and test your changes.
Table 75. Parameters You Use to Run the MLOV Converter Utility
Configuration Parameter Review Review the parameters you defined and then
click Finish.
<ORACLE_HOME>\BIN
2 If you use Windows, then do one of the following at the command prompt:
siebupg /m master_mlov_verify.ucf
siebupg /m master_mlov_translate.ucf
3 If you use UNIX, then do one of the following at the shell prompt:
srvrupgwiz /m master_mlov_verify.ucf
srvrupgwiz /m master_mlov_translate.ucf
siebsrvr\log\mlov_verify_validation\output or siebsrvr\log\mlov_translate\output
1- Two or more columns defined in the same LOV domain are inconsistently bounded
(one bounded, one not)
2- Two or more columns are defined in the same LOV domain and at least one of them
does not have a Translation Table Name of S_LST_OF_VAL
The utility includes a log entry for each error it encounters. The utility includes the LOV type, column,
and table.
5 To make sure you corrected all errors, run the MLOV Converter Utility in validation mode.
In this situation, a list of values domain does reside in the Siebel repository but it fails one of the
following tests:
■ You delete a record in the list of values table instead of deactivating it. For more information,
see “Deactivating an MLOV Record Instead of Deleting It” on page 608.
■ You enter an incorrect entry in the LOV Type property for a column added using a database
extension.
For more information, see “Adding Records for All Supported Languages” on page 607.
A script creates a matching record in the list of values table for any values it finds in the target
tables that do not include matching records in the list of values table. The script marks these
records as inactive.
c In the Siebel client, navigate to the Administration - Data screen, and then add language-specific
entries for the base records you just compiled.
This allows Siebel CRM to display the values in the active language.
a In the Siebel client, navigate to the Administration - Data screen, and then click the List of Values
link.
b Add the list of values domain and set the Type field to LOV_TYPE.
■ Siebel CRM stores the language-independent code in the MLOV column of the database table.
■ Siebel CRM stores the display value in the Business Process Administration table.
To allow Siebel Worklfow to work with an MLOV column, you must configure workflow objects so that
they compare the language-independent code in the target table with the language-independent
code in the Business Process Designer administration table. You must do this for the following
objects:
For more information, see Siebel Business Process Framework: Workflow Guide.
■ Workflow policy
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
4 In the Object Explorer, expand the Business Component tree, and then click Field.
5 In the Fields list, identify the fields that are enabled for an MLOV.
6 Of the fields that are enabled for an MLOV, identify the fields that reference the workflow policy
conditions and action arguments.
7 For each field that references a workflow policy condition, do the following:
2 In the Applets list, locate an applet that resembles the functionality you require.
Property Value
Name Append LIC to the name. For example, Account Status Pick Applet
LIC.
5 In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.
6 In the List Columns list, locate a list column that resembles the functionality you require.
Property Value
Name Name
Field Name
For more information, see “Creating a List That Uses Language-Independent Code” on page 617.
2 In the Pick Lists list, locate a picklist that resembles the functionality you require.
Property Value
Name Append LIC to the name. For example, Picklist Account Status LIC.
For more information, see “Configuring the Workflow Policy and Workflow Policy Program Argument”
on page 618.
b In the Workflow Policy Columns list, locate the workflow policy column that you must use with
an MLOV.
c Set the properties for the workflow policy column. Make sure you set them in the order in which
they are listed in the following table, starting with the Applet property.
Property Value
b In the Workflow Policy Programs list, locate the workflow policy program that contains the
argument you must enable for use with an MLOV.
c In the Object Explorer, expand the Workflow Policy Program tree, and then click Workflow Policy
Program Arg.
d In the Workflow Policy Program Arguments list, choose the argument you must enable for use
with an MLOV.
e Set properties for the argument using values from the table in Step 1.
a Open the Siebel client, navigate to the Administration - Business Process screen, and then click
the Workflow Policies link.
Make sure the Siebel client is connected to the Siebel repository file you just compiled.
c In the Conditions List, choose the condition and then enter the value.
d In the Arguments List, choose the argument, enter the value, and then step off the record.
■ Siebel CRM stores the language-independent code in the MLOV column of the database table.
■ Siebel CRM stores the display value in the Assignment Manager administration table.
To allow Assignment Manager to work with an MLOV column, you must configure the criteria values
and criteria skills so that they compare the language-independent code in the target table with the
language-independent code in the Assignment Manager administration table. This situation is similar
to configuring Siebel Workflow. For more information, see “Configuring Siebel Workflow to Use MLOV
Fields” on page 616.
For more information, see “Siebel Assignment Manager” on page 49 and Siebel Assignment Manager
Administration Guide.
a In Step 1 on page 616, display the workflow policy column and assignment attribute object
types.
b In Step 6 on page 617, identify the fields that reference the following object types:
❏ Criteria values
❏ Criteria skills
❏ Workload rules
2 Set the criteria for each field that references criteria values and criteria skills:
b In the Assignment Attributes list, locate the assignment attribute that must work with an MLOV
field.
c Set properties of the assignment attribute using values from the following table.
Property Value
Translate Pick Field Choose the field that stores the language-independent code. The
Name field usually stores the language-independent code.
d Repeat Step 2 for each field until you configured all criteria.
3 Set the workload rules for each field you identified in Step b on page 620:
c Configure the workflow policy column to use the new list and applet.
Work you perform in this step is similar to work you perform to configure a workflow policy. For
more information, “Preparing Policy Conditions and Action Arguments for an MLOV” on page 616.
3 In the Object Explorer, expand the Table tree, and then click Column.
4 In the Columns list, locate the STATUS column, and then set properties using values from the
following table.
Property Value
This chapter describes how to configure the Customer Dashboard. It includes the following topics:
■ Modifying the Appearance and Layout of the Customer Dashboard on page 631
■ Siebel CRM updates the Customer Dashboard. To receive this data, the Customer Dashboard
must be open.
■ This information remains in the Customer Dashboard until Siebel CRM executes the Clear
Dashboard command.
■ During a session, Siebel CRM saves all data that it displays in the Customer Dashboard. The user
can use the Forward and Backward buttons to display this stored data.
■ You can configure a button on an applet that updates the Customer Dashboard with information
from the currently chosen row in an applet. For more information, see “Configuring a Button to
Update the Customer Dashboard” on page 639.
■ You can configure the Customer Dashboard to display data from any business component.
Business object Groups together business components that can update the Customer
Dashboard.
Business service method Updates the Customer Dashboard. Upon receiving the arguments, the
methods evaluate the set of fields to display, retrieves the data, and
then enters the data into the Customer Dashboard.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Business Services list, locate the Persistent Customer Dashboard business service.
4 Verify that the Inactive property does not contain a check mark, which is the default setting.
5 In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
6 In the Business Service User Props list, query the Name property for Applications.
For example, to activate Customer Dashboard for the Siebel Employee Relationship Management
application (Siebel ERM), you add Siebel ERM to the user property as described in the following
table.
Applications Siebel Universal Agent; Siebel Field Service; Siebel Sales Enterprise;
Siebel ERM
The Customer Dashboard displays a set of fields from multiple business components, such as the
Account, Contact, Employee and Service Request business components. You can configure the
Customer Dashboard to display information from other business components. To do this, you add
the business component to the Persistent Customer Dashboard business object.
The Customer Dashboard does not simultaneously display data from multiple business components.
It does display data in different contexts. For example, Siebel CRM displays the following information
in the Customer Dashboard:
■ If the user is in the Accounts screen and clicks Update, then Siebel CRM displays account data.
■ If the user is in the Contacts screen and clicks Update, then Siebel CRM displays contact data.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
b In the Business Objects list, query the Name property for Persistent Customer Dashboard.
c In the Object Explorer, expand the Business Objects tree, and then click Business Object
Component.
d To determine if a record already exists for the business component that must provide data to the
Customer Dashboard, examine the Bus Comp property. If it does exist, then exit this task.
e Add a new business object component using values from the following table.
Property Description
Bus Comp Choose the name of the business component you must add.
b In the Business Services list, locate the Persistent Customer Dashboard business service.
c In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
d In the Business Service User Props list, add a user property using values from the following table.
For more information, see “About the Business Component List” on page 627.
Property Description
Name Enter a name for this business service user property that represents
the business component list. Use the following format:
List <integer>
where:
■ integer is a number.
For example:
List 1
Value Enter the name of the business component and the names of the
business component fields that must provide data to the Customer
Dashboard. Use the following format:
where:
For example:
■ Value. Identifies the name of the business component and the list of business component fields
that constitute the business component list.
Table 77 describes the predefined List 1 business component list for contacts and List 2 for
opportunities.
Table 77. Example Business Component Lists in the Business Service User Property of the
Persistent Customer Dashboard Business Service
A customer dashboard field is a field that Siebel CRM displays in the Customer Dashboard. To create
this field, you define a business service user property for the Persistent Customer Dashboard
business service. You define the following properties for this business service user property:
■ Name. Identifies the name of the Customer Dashboard field. For example, Field 1.
■ Value. Identifies the business component list and a field from the business component list.
Siebel CRM predefines the following field names for the Customer Dashboard:
■ Field 1.
■ Field 2.
■ Field 3.
■ Field 5.
■ Field 10.
■ Field 12.
2 In the Business Services list, locate the Persistent Customer Dashboard business service.
3 In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
4 In the Business Service User Props list, add a user property using values from the following table.
Property Description
Name Enter a name for this business service user property that represents the
customer dashboard field. Use the following format:
Field <integer>
where:
■ integer is a number.
For example:
Field 1
■ Assume you must reference the Last Name field of the Contact business
component. Because this field is the first field that is included in the Value
property for the List 1 business component list, you use the following
format:
List 1.1
■ Assume you must reference the First Name field of the Contact business
component. Because this field is the second field that is included in the
Value property for the List 1 business component list, you use the following
format:
List 1.2
The Customer Dashboard business service searches through the list of user properties, starting with
Field, and looks for fields that are mapped to the Customer Dashboard from the current business
component.
NOTE: If you create a new Customer Dashboard field, then make sure to include a member from
every business component list. If you do not do this, then the Customer Dashboard might retain data
from the previous business component when Siebel CRM updates the dashboard.
2 In the Business Services list, locate the Persistent Customer Dashboard business service.
3 In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
4 In the Business Service User Props list, add a user property using values from the following table.
Property Description
Name Enter a name for this business service user property that represents the
customer dashboard field. For example:
Field 1
Value Reference each field from each business component list. You must use the
following format:
List 1.1 represents the first field of List 1. List 2.1 represents the first field of
List 2.
■ Locates business service user properties with Field in the Name property.
■ If a Field business service user property references the Contact business component, then Siebel
CRM displays data from the business component field.
■ If a Field business service user property does not reference the Contact business component,
then Siebel CRM does nothing and the Customer Dashboard field remains empty.
■ If a Field business service user property references the Opportunity business component, and if
the Opportunity business component is active, then Siebel CRM displays data from the
Opportunity business component field.
■ Changing the Background Color and Border of the Customer Dashboard on page 636
■ Changing the Size and Location of the Customer Dashboard on page 637
The field labels that Siebel CRM displays in the Customer Dashboard change depending on the data
that Siebel CRM displays in the Customer Dashboard. For example:
■ If Siebel CRM displays contact information, then the labels are Customer Name, Work Phone #,
Email Address, and so forth.
■ If Siebel CRM displays opportunity information, then the labels are Opportunity Name, Account,
Sales Stage, and so forth.
If no data is available for the Customer Dashboard, then Siebel CRM displays labels for the default
business component. The default business component is defined in the Persistent Customer
Dashboard business service. The Contacts business component is predefined as the default business
component.
The Siebel Repository File contains placeholder controls, such as Label 1, Label 2, and so forth. It
also contains predefined business service user properties, also named Label 1, Label 2, and so forth.
These business service user properties map the placeholder labels to fields in the Customer
Dashboard.
If you add a field to the Customer Dashboard, then you must define the label that replaces the
placeholder label in the Siebel client. To create the label, you create an applet control for each
business component field that you must display. The naming format for the applet control identifies
it as a Label and identifies the business component and field that determine when Siebel CRM
displays it.
2 In the Applets list, query the Name property for Persistent Customer Dashboard Applet.
3 In the Object Explorer, expand the Applet tree, and then click Control.
4 In the Controls list, create a new control using values from the following table.
Property Description
For example, to reference the SR Number field of the Service Request business
component, you enter the following:
Caption Define the label text that Siebel CRM must display in the Customer Dashboard.
For example, to display the text SR Number to the left of the customer
dashboard field, you enter the following:
SR Number
5 Repeat Step 4 for each label that you must display in the Customer Dashboard.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Business Services list, locate the Persistent Customer Dashboard business service.
4 In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
5 In the Business Service User Props list, add a user property using values from the following table.
Property Description
Name Enter a name for this business service user property that represents the phone
number prefix. You must use the following format:
For example:
Value Define the parameters for the phone number prefix. You must use the following
format:
For example:
5;1;650555
■ Adds the 650555 prefix to the remaining part of the extension, which is
4565.
1 To locate records that begin with View in the Name property, searches the list of user properties.
Table 78 describes some predefined business service user properties. Each business service user
property represent a view that Siebel CRM displays in the Go To list. For example, View 1 specifies
that if the Customer Dashboard contains data from the Contact business component, then Siebel
CRM displays the All Activities view in the GoTo View list. If the user chooses the All Activities view
from the Go To list, then Siebel CRM displays only records for the current Contact ID in the view.
Table 78. Example Predefined Business Service User Properties That Represent Views in the Go To
List
Name Value
View 1 Contact; All Activity List View; Activity List Applet With Navigation; Contact Id
View 3 Contact; Agreement List View; Agreement List Applet No Parent; Contact Person Id
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Business Services list, locate the Persistent Customer Dashboard business service.
4 In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
5 To add a view to the Go To list, in the Business Service User Props list, add a user property using
values from the following table.
Property Description
Name Enter a name for this business service user property that represents a view that
Siebel CRM displays in the Go To list. You must use the following format:
View <integer>
For example:
View 1
Value Create a view that Siebel CRM displays in the Go To list. You must use the
following format:
For example:
The name for each of these items must match exactly the name that is defined
in the Siebel Repository File. The foreign key field is conditional. For more
information, see “Referencing a Foreign Key Field from the Go To List” on
page 635.
For more information, see “Configuring the Label for the View in the Go To List” on page 636.
For example, if the Customer Dashboard currently displays data from the Contact business
component, and if the All Activities view is listed in the GoTo list, then you must define the Contact
Id field as the foreign key field. The Contact Id field is the foreign key field in the Action business
component that references the Contacts business component. This foreign key field allows Siebel
CRM to query all activities that are related to the contact that Siebel CRM currently displays in the
Customer Dashboard.
2 In the Applets list, query the Name property for Persistent Customer Dashboard Applet.
3 In the Object Explorer, expand the Applet tree, and then click Control.
4 In the Controls list, create a new control using values from the following table.
Property Description
where:
■ name of the user property is the name of the business service user property
that defines the view that Siebel CRM displays in the Go To list.
For example, to reference the business service user property that references
the All Activity List View in Step 5 on page 635, you enter the following:
Label View 1
Caption Define the label text that Siebel CRM must display as the list item in the Go To
list.
For example, to display the text Activities for This Contact, enter the following:
5 Repeat Step 4 for each label that you must display in the Go To list.
6 Compile and then test your changes.
PUBLIC\Language_Code\FILES\
3 Locate, and then modify the values for the following parameters, as necessary:
/*---------------------*/
/*Dashboard Definitions*/
/*---------------------*/
.dashbrdBorder {background-color:#999999;}
.dashbrdBack {background-color:#f0f0f0;}
The dashbrdBorder and dashbrdBack parameters use standard HTML color values. In this
example, the #999999 value is medium grey and the #f0f0f0 value is light grey.
Note that Siebel CRM locates the Customer Dashboard outside of the Content Frame. You cannot
move the Customer Dashboard into the Content Frame.
■ CCFrameContent_V.swt
■ CCFrameContent_VD.swt
■ CCFrameContent_VSD.swt
■ CCFrameContent_VDT.swt
■ CCFrameContent_VSDT.swt
■ CCAppletDashboard.swt
For more information, see Chapter 8, “About Siebel Web Templates and Siebel Tags.”
2 (Optional) Change the size of the frame in which Siebel CRM displays the Customer Dashboard:
a In Siebel Tools, in the Object Explorer, display the business service user prop object type, which
is a child of the business service object type.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
c In the Business Services list, locate the Persistent Customer Dashboard business service.
d In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
e In the Business Service User Props list, query the Name property for DashboardFrameSize.
The DashboardFrameSize business service user property controls the size of the frame in
which Siebel CRM displays the Customer Dashboard.
f Set the Value property using values from the following table.
Property Description
The default value is 55,*. This default sets the height of the frame to 55
pixels and the width to the width of the entire window.
Make sure the Customer Dashboard frame, content frame, and search center frame work
together properly. For more information, see “Positioning the Customer Dashboard Frame to
Accommodate Other User Interface Elements” on page 638.
■ Using Siebel Visual Basic or Siebel eScript to Update Information in the Customer Dashboard on
page 644
■ Selected Record. The user can choose a record in a view, and then click the Update button in
the Customer Dashboard. Siebel CRM then updates the Customer Dashboard with data from the
primary business component that the view references. It updates fields in the dashboard with
data from the business component record.
■ SmartScript answer. Siebel CRM automatically enters the answer to a question from a
SmartScript into the Customer Dashboard.
■ Communications event. If the user accepts an incoming call, then Siebel CRM automatically
enters contact information from the caller into the Customer Dashboard.
■ Search Center results. If Siebel CRM cannot automatically identify the customer from an
inbound call, then the user can search for the contact in the Search Center, and then click the
Set Dashboard icon. Siebel CRM then enters the search results into the Customer Dashboard.
3 In the Object Explorer, expand the Applet tree, and then click Control.
4 In the Controls list, add a button as an applet control and set properties using values from the
following table.
Property Value
■ Call the Update Dashboard command. For more information, see “Using Siebel Visual Basic or
Siebel eScript to Update Information in the Customer Dashboard” on page 644.
■ Use the InvokeMethod function and pass a set of name-value pairs. The following are
examples of name-value pairs:
❏ RowId: 'srowid'
Customer Dashboard Allows Only One Update for Each User Interface
Event
The Customer Dashboard allows only one user interface update for each user interface event. For
example, if you add a button to a view, then one click of that button is one user interface event. For
that event, Siebel CRM can execute only one user interface update, such as updating the Customer
Dashboard. The code behind a single button cannot include two user interface updates, such as
updating the Customer Dashboard, and then displaying a new view in the main frame of the Siebel
application.
■ Voice call
The Multichannel Def A communication event is predefined to update the Customer Dashboard with
contact information for certain communication events. To meet your display requirements, you can
also configure any communication event for any business component.
The API between communication events and the Customer Dashboard is a member function
UpdatefromCTI of the Persistent Customer Dashboard business service. Siebel CRM predefines the
CTI administration views to call the UpdateDashboard business service method when a significant
event occurs, and to pass variables as arguments. Example variables include the phone number and
number of calls in queue.
To update the Customer Dashboard during a communications command or event, you must call the
method to update the Customer Dashboard and pass the following parameters:
For example, the parameters listed in Table 79 instruct the Customer Dashboard to derive data from
contact information for the contact whose Work Phone # matches the ANI (automatic number
identification) of the inbound call.
ServiceParam.Value {ANI}
ServiceParam.BuscompName Contact
To call the Customer Dashboard business service from the communications event
log
1 In the Siebel client, navigate to the Administration - Communications screen, and then click the
All Event Handlers link.
2 Query the Name property of the Event Handlers list for InboundCallReceived.
5 In the Event Log Parameters list, set the parameters. For example, for contacts, you can use
values from the following table.
Name Value
ServiceParam.Field Id
ServiceParam.Value {Contact.Id}
WorkTrackingObj.ContactId {Contact.Id}
■ Applet user prop object type, which is a child of the applet object type
■ Business service user prop object type, which is a child of the business service object type
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
c In the Object Explorer, expand the Applet tree, and then click Applet User Prop.
d In the Applet User Props list, locate the Notify Dashboard applet user property, and then verify
the property described in the following table.
Property Value
Value Y
c In the Object Explorer, expand the Business Service tree, and then click Business Service User
Prop.
d In the Business Service User Props list, create a new record using values from the following table.
Name Value
These values represent the variables from the SmartScript script that
Siebel CRM displays in the Customer Dashboard. These values must
match exactly the variable names defined in the SmartScript script.
This mapping technique is similar to defining user properties for a business component list.
For more information, see “Mapping a Business Component Field to a Customer Dashboard
Field” on page 628.
a In the Siebel client, navigate to the Administration - SmartScript screen, and then click the
Questions link.
b In the Questions list, choose a question.
c In the More Info form, enter SmartScript List in the Save User Parameters field.
This step allows Siebel CRM to save the answer as a global variable to the script. The name
of the variable you enter must match exactly the name of the business service user property
that you defined in Step 3.
d Click the Scripts link, and then locate the appropriate script in the Scripts list.
e In the Translation form, enter the name of the variables from each question into the Dashboard
Text field. Use the following format:
For example:
[Fname] [Lname]
Siebel CRM passes the values for the variables in the Dashboard Text field to the Customer
Dashboard when Siebel CRM executes the SmartScript.
f Repeat Step a through Step e for each question you must configure for the Customer
Dashboard.
6 Test your changes.
You use the following commands to pull information from the dashboard:
■ GetCurrentContactId
■ GetDashboardFieldValue
■ If the record is from the Contact business component, then GetCurrentContactId returns the
ContactId
■ If the record is from the Account business component, then GetCurrentContactId returns the
AccountId.
Always define ContactId as the output argument. The Customer Dashboard uses the ContactId
variable. In this situation, this variable includes the record ID of the business component whose data
Siebel CRM currently displays in the Customer Dashboard.
bs.InvokeMethod("GetCurrentContactId",inpargs,outargs);
bs.InvokeMethod("GetDashboardFieldValue",inpargs,outargs);
■ RowId: E301
bs.InvokeMethod("Update Dashboard",inpargs,outargs);
■ Get the contact ID, Field 4, and Field Time of the current record in the Customer Dashboard.
■ Print values of the contact ID, Field 4, and Field Time to a file.
function Script_Open ()
{
var fn1=Clib.fopen("d:\\sabari5.txt", "wt");
bs.InvokeMethod("GetCurrentContactId",inpargs,outargs);
var fvalue = outargs.GetProperty("Contact Id");
Clib.fprintf (fn1, "The current id in the dashboard = %s \n",fvalue);
Clib.fclose(fn1);
return(ContinueOperation);
}
Sub Script_Open
Dim bs as Service
Dim inpargs as PropertySet
Dim outargs as PropertySet
Dim fvalue as String
bs.InvokeMethod "GetCurrentContactId",inpargs,outargs
fvalue = outargs.GetProperty("Contact Id")
Write #1, "The current id in the dashboard = " & fvalue
End Sub
For example, you can display a different applet or view to the agent according to the customer
profile. You can display a Recommended Products applet that only displays products for this
customer according to products that the customer previously purchased.
To access the profile information, you create personalization rules. The following attributes allow you
to access different types of information:
■ GetProfileAttr("You.Last Name")
■ GetProfileAttr("Me.Last Name")
To access help, the user chooses the Help application menu, and then the Contents menu item. The
user can then use the Web browser functionality to navigate through the help and to print topics.The
help includes an index that allows the user to enter a keyword to locate a topic.
Help includes HTML files, image files, and a cascading style sheet that controls the appearance of
the help pages. A predefined Siebel application displays the start page of the help in a separate
browser window if the user accesses help. The following method of the Siebel Web Engine
implements this functionality:
In this configuration, help files reside in the following location on the Siebel Server:
<ORACLE_HOME>\public\<language_code>\help
where:
■ ORACLE_HOME is the directory where you installed the Siebel Web Server Extensions
During the installation process, Siebel CRM configures your Web server so that the
<ORACLE_HOME>\public\<language_code> directory becomes the following root directory for the
URL:
If the Help Identifier property of a screen references a URL in the Help Id object, then that URL is
relative to the following directory:
http://siebsrvr/callcenter/help/siebaccounts.htm
In this situation, you can place the help files in any directory that you can reference from the
following directory:
http://<hostname>/<Siebel_application_name>
<ORACLE_HOME>\public\<language_code>\
2 Create a new help topic file named accountshelp.htm for the Accounts screen.
3 Configure your Web server so that Siebel CRM displays the customhelp directory to the user.
In this situation, you create Help Id objects that reference the customhelp URL. Table 80 describes
the Help Id object properties:
Property Value
Name ID_SCREEN_ACCOUNTS
Type Screen
Location of Help Files in the Siebel Developer Web Client and Siebel
Mobile Web Client
Siebel CRM delivers the Siebel Developer Web Client through a Web browser that provides direct
connectivity to a database server. It requires an installed Siebel business application on the client
computer. It does not require a local database, Web server, or Siebel Server. Siebel CRM still
requires the Siebel Server for certain functionality, such as Assignment Manager and Replication.
The Siebel Mobile Web Client is a portable client delivered through a Web browser. It is designed for
local data access. It requires installation of a Siebel business application on the client computer. It
does not require connection to a server. It meets the needs of field professionals who do not possess
continuous access to a network. The Siebel Mobile Web Client uses a local database on each remote
computer. Periodically, the client must access the Siebel Server through a network connection to
synchronize data changes between the Siebel Database and the Siebel File System.
The software installed on the client computer for the Siebel Developer Web Client and Siebel Mobile
Web Client is identical except for the type of connectivity provided.
The following installation directory on the Siebel client determines the location of the help files:
<ORACLE_HOME>\public\<language_code>\help
where:
■ ORACLE_HOME is the complete path to the location where you installed Siebel CRM
D:\sea\webclient\public\enu\help
During the installation process, Siebel CRM configures the local Web server so that the
<ORACLE_HOME>\public\<language_code>\ directory becomes the following root directory for the
URL:
http://localhost
If the Help Identifier property of a screen references a URL in the Help Id object, then that URL is
relative to the following directory:
http://<localhost directory>
Example of Locating Help Files for the Siebel Developer Web Client and Siebel Mobile Web
Client
The example to configure help files for the Siebel Developer Web Client and Siebel Mobile Web Client
is the same as for the Siebel Web Client except you use http://localhost instead of http://
<hostname>/<Siebel_application_name>.
The location of the help files for a customer application is the same as the location for an employee
application except if the Value property of the Url Web Page Item Parameter references a URL, that
URL is relative to the following URL:
For more information, see “Location of Help Files in the Siebel Web Client” on page 650.
The location of where you install Siebel CRM determines the location of the help files. If you run
Siebel eSales on the Siebel Server, and if you request help, then Siebel CRM displays the following
page:
http://siebsrvr/esales/help/comgeneric.htm
In this situation, you can place the help files in any directory that you can reference from the
following directory:
http://<hostname>/<Siebel_application_name>
<ORACLE_HOME>\public\<language_code>\
3 Configure your Web server so that Siebel CRM displays the customhelp directory to the user.
In this situation, you create a web page item parameter that references the customhelp URL. Table 81
describes the properties of this web page item parameter.
Table 81. Example Properties of the Web Page Item Parameter Object Type
Property Value
Name Url
Value customhelp/myonlinehelp.htm
The Container Web Page property of the Siebel application references a web page. Each web page
contains child web page items. The HelpButton web page item includes a property that identifies the
start page of the help. For more information, see “How Siebel CRM References Web Pages” on
page 155.
Figure 87. How a Container Web Page Establishes the Link Between an Application and the Help
Start Page
The Help Identifier property of each screen and view establishes a link with the help Id object. Siebel
CRM uses the following format for the Help Identifier property:
ID_type_objdefname
where:
Siebel CRM uses the following format of the HTML Help URL property:
help/helptopics.htm
where:
■ help is the folder on the Siebel Server where the HTML topic files reside
■ helptopics.htm is the HTML file that Siebel CRM displays if the user calls help
Configuring Help
This topic describes how to configure help. It includes the following topics:
■ Example of Identifying the HTML File That Contains Help Content on page 655
2 Choose the Help application menu, and then choose the About View menu item.
3 In the About View dialog box, note the name of the screen.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
6 In the Screens list, query the Name property for Accounts Screen.
9 In the Help Ids list, query the Name property for ID_SCREEN_ACCOUNTS.
Siebel CRM associates some screens with generic help topics. In this situation, if you customize help,
then you must use a different file name. For more information, see “Adding Generic Help Topics to a
Screen” on page 658.
2 In the Web Pages list, query the Name property for CC Help Page.
3 In the Object Explorer, expand the Web Page tree, and then click Web Page Item.
4 In the Web Page Items list, modify the Caption property of the Online Help object definition to
reference your default help topic.
6 Distribute the Siebel repository file and your new default topic file.
For example, for the Siebel Web Client, copy the index.htm file to the appropriate directory on
the Siebel Server. For more information, see “Testing and Distributing Changes” on page 666.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Applications list, locate the Siebel application you must modify.
For example, the Container Web Page property of the Siebel eSales Application object is CC
Container Page (eSales). It references the web page. For more information, see “About the
Container Page” on page 155.
6 In the Web Pages list, query the Name property for the value you noted in Step 4.
7 In the Object Explorer, expand the Web Page tree, and then click Web Page Item.
8 In the Web Page Items list, query the Name property for HelpButton.
9 If the query returns no results, then you can add a new link that references the start page. In
the Web Page Items list, create a new record using values from the following table.
Property Value
Name HelpButton
Type Link
Property Value
Caption Help
Item Identifier Enter a number between 11 and 19 that another web page item in the Web
Page Items list does not already use.
10 In the Object Explorer, expand the Web Page Item tree, and then click Web Page Item
Parameter.
11 In the Web Page Item Parameters list, locate the Url web page item parameter.
12 If the Url web page item parameter does not exist, then create a new record.
13 Set the properties of the Url web page item parameter. Use values from the following table.
Property Value
Name Url
Value help/siebcomgeneric.htm
siebcomgeneric.htm is the default start page for the help. You can change this
parameter to reference a different file. For example, index.htm.
16 Distribute the Siebel repository file and the new HTML file to the appropriate Siebel Server.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
If the Screen object does not exist, then create it now. For example, create the My New Screen
screen. For more information, see “Process of Creating a Screen” on page 285.
4 Define the Help Identifier property of the screen. For example, you can use the values from the
following table.
Property Value
6 In the Help Ids list, create a new record using values from the following table.
Property Value
Type Screen
HTML Help URL Name of the file that will contain the help content.
You must compile the Repository Help Id project and the screen. In this example, you must
compile the Repository Help Id project and the screen named My New Screen.
8 Create a new HTML file that contains help content for the screen.
For the name of this file, use the name you defined in the HTML Help URL property in Step 6. For
example, mynewscreen.htm.
10 Distribute the Siebel repository file and the new HTML file to the appropriate Siebel Servers and
Siebel clients.
For example, for the Siebel Web Client, copy the mynewscreen.htm file to the appropriate
directory on the Siebel Server. For more information, see “Testing and Distributing Changes” on
page 666.
For more information, see “Example of Identifying the HTML File That Contains Help Content” on
page 655.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
5 In the Help Ids list, change the HTML Help URL property to the file name you saved in Step 2.
■ Modify or create a view instead of a screen. For more information, see “Process of Creating a
View” on page 271.
■ Define the Help Identifier property of the view. For example, for the Opportunity Detail -
Contacts View, use ID_VIEW_OPPORTUNITY_DETAIL_CONTACTS as the Help Identifier. If
you leave the Help Identifier property empty for a view, then Siebel CRM uses the help that
is defined as the default help topic for the screen.
Property Value
Property Value
Type Screen
HTML Help URL Name of the file that will contain the help content.
■ Compile the Repository Help Id project and the view. In this example, you must compile the
Repository Help Id project and the view named Opportunity Detail - Contacts View.
For more information, see “Example of Identifying the HTML File That Contains Help Content” on
page 655.
For example, help/siebopportunities.htm is the HTML file that is associated with the
Opportunities screen.
2 If the file you identified in Step 1 is one following screens, then exit this task and go to “Adding
Generic Help Topics to a Screen” on page 658:
■ siebendusegeneric.htm
■ siebadmgeneric.htm
■ siebstarthelp.htm
3 Open the HTML file you identified in Step 1, make your changes, and then save the file.
For example, open siebaccounts.htm, make your changes, and then save the file.
For more information, see “Removing the Redirect Tag” on page 661.
5 Test your changes and distribute the updated HTML file to the appropriate Siebel Servers and
Siebel clients.
For example, for the Siebel Web Client, copy the siebopportunities.htm file to the appropriate
directory on the Siebel Server. For more information, see “Testing and Distributing Changes” on
page 666.
2 Test your changes, and then distribute the updated siebindex.htm file to the appropriate Siebel
Servers and Siebel clients.
For example, for the Siebel Web Client, copy the updated siebindex.htm file to the appropriate
directory on the Siebel Server. For more information, see “Testing and Distributing Changes” on
page 666.
2 Delete the statements that reference the siebindex.htm file, and then save your changes.
3 Repeat Step 1 and Step 2 for each HTML file in the help.
4 Test your changes, and then distribute the updated HTML files to the appropriate Siebel Servers
and Siebel clients.
For example, for the Siebel Web Client, copy all the updated HTML files to the appropriate
directory on the Siebel Server. For more information, see “Testing and Distributing Changes” on
page 666.
The tasks in this topic use an example that assumes you changed the sa_acct.rtf source file to
customize the help content for the Accounts screen. It assumes you made this change to support an
earlier release of your Siebel application.
In this topic, the phrase rich text editor describes a text editor that supports hidden text and
footnotes, such as Microsoft Word.
■ Maintains format, layout, and navigation elements of the original predefined help
Assume you used the <source>.rtf file to create the help content in the previous version. In this
example, open the sa_acct.rtf file.
For more information, see “Removing the Redirect Tag” on page 661.
4 Copy and paste content from the <source>.rtf file to the HTML file.
In this example, copy content from the sa_acct.rtf file to the siebaccounts.htm file.
For a description of the cascading style sheet that Siebel CRM uses in help, see “Location of Help
Files for an Employee or Partner Application” on page 649.
7 Test your changes, and then distribute the updated HTML file to the appropriate Siebel Servers
and Siebel clients.
In this example, for the Siebel Web Client, replace the siebaccounts.htm file that resides on the
Siebel Server with your version of the siebaccounts.htm file. For more information, see “Testing
and Distributing Changes” on page 666.
■ To avoid format errors, make sure the person who customizes help is familiar with editing HTML.
■ To avoid losing links to the table of contents and index, make sure the correct HTML code is
inserted in the new HTML file.
Assume you used the <source>.rtf file to create the help content in the previous version. In this
example, open the sa_acct.rtf file.
3 Save the file in HTML format, using the appropriate Siebel file name.
4 Open the file you created in Step 3, and then do the following:
You can copy this information from one of the predefined HTML files.
5 Clean up the HTML code to use styles defined in the style sheet.
7 Test your changes and distribute the updated HTML file to the appropriate Siebel Servers and
Siebel clients.
In this example, for the Siebel Web Client, replace the siebaccounts.htm that resides on the
Siebel Server with your version of siebaccounts.htm. For more information, see “Testing and
Distributing Changes” on page 666.
■ Update the help properties for each topic file that does not use a Siebel name.
■ Make sure you enter the file names correctly in Siebel Tools.
You can use a custom file name. In this example, save the sa_acct.rtf file as sa_acct.htm.
For more information, see “Example of Identifying the HTML File That Contains Help Content”
on page 655.
b Update properties of the ID_SCREEN_ACCOUNTS help Id object to reflect the correct file name.
Use values from the following table.
Property Value
5 Distribute the Siebel repository file and the new HTML file to the appropriate Siebel Servers and
Siebel clients.
For example, for the Siebel Web Client, copy the sa_acct.htm file to the appropriate directory on
the Siebel Server. For more information, see “Testing and Distributing Changes” on page 666.
For more information, see “Displaying Object Types That You Use to Configure Siebel CRM” on
page 200.
3 In the Commands list, query the Name property for the following command object:
4 In the Object Explorer, expand the Command tree, and then click Accelerator.
5 In the Accelerators list, change the accelerators using values from the following table.
1 F1 F1
2 F1 F1
7 Distribute the Siebel repository file to the appropriate Siebel Servers and Siebel clients.
■ Each time the user calls help,Siebel CRM displays the File Download dialog box in the Web
browser. The user must interact with this dialog box to access the help. To correct this problem,
your administrator must change security settings.
■ If the user calls help from a screen, then Siebel CRM displays the default topic in the WinHelp
file in the help window. It does not display the context-sensitive topic that Siebel CRM associates
with the screen. In WinHelp, you specify the default topic for the help file in the [OPTIONS]
section of the help.hpj project file. If you do not specify a default topic, then WinHelp uses the
first topic of the first file that is listed in the .hpj help project file.
■ The user can access the Index in the help window, but the table of contents that is normally
available through the Contents tab of the Help Topics window is not available. Microsoft is aware
of this problem, but because WinHelp is no longer the Microsoft preference to deliver help,
Microsoft will not fix this defect.
To avoid the disadvantages of using WinHelp, investigate alternatives before you proceed.
2 In Siebel Tools, update the HTML Help URL property for all help Id objects to reflect the correct
file name. Use values from the following table.
Property Value
For more information, see “Example of Identifying the HTML File That Contains Help Content” on
page 655.
4 Distribute the Siebel repository file and the Windows compiled help file to the appropriate Siebel
Servers and Siebel clients.
For example, for the Siebel Web Client, distribute the Siebel repository file and copy the
siebhelp.hlp file to the appropriate directory on the Siebel Server. For more information, see
“Testing and Distributing Changes” on page 666.
2 Use a standard HTML authoring tool to make sure no links are broken in the existing HTML files
and to verify links in the changed HTML files.
3 In a Web browser, open the HTML file you changed, and then review the content.
4 Distribute the updated files to the appropriate Siebel Servers and Siebel clients.
For example, for the Siebel Web Client, copy the updated file to the following directory on the
Siebel Server:
<ORACLE_HOME>\public\<language_code>\help
This appendix provides reference information for Siebel CRM. It includes the following topics:
■ Types of Tables and Columns That CIAI Query Supports on page 700
For a complete list of properties of objects, see Siebel Object Types Reference
Table 82. Properties That Siebel CRM Commonly Uses with a Siebel Table
Property Description
Type The table type. For more information, see Table 85 on page 673.
Base Table The base table if the table is an extension table. If the table is a base table, then
this property is empty. An extension table always identifies a base table.
User Name A longer, descriptive name that helps you identify the table.
Comments A text description of the table, such as the type of data that Siebel CRM stores in
the table.
Status The current status of a table. Indicates if Siebel CRM can use, in the most recent
version of Siebel CRM, a table from a previous version of Siebel CRM.
Table 83. Properties That Siebel CRM Commonly Uses with a Table Column
Property Description
Default Stores a default value when Siebel CRM adds new table rows.
Foreign Key Stores the table to which this column is a foreign key. Siebel Enterprise
Table Integration Manager (EIM) uses this information. For more information, see
“Mapping a Custom Table to an Interface Table” on page 573.
LOV Bounded Stores import behavior for EIM. If LOV Bounded is TRUE, then, during import,
EIM checks the values against the values contained in a list defined in the LOV
Type property. In that situation, LOV data must be imported first into the
S_LST_OF_VAL table, and the LOV Type property must be defined. This
property is read-only for a predefined column in Siebel CRM but you can edit it
for a custom extension column.
LOV Type Stores the list of values domain in which the Siebel schema validates this
column. Siebel CRM uses it in conjunction with the LOV Bounded property. You
define a list of values domain in the Administration - Data screen, List of Values
view in the Siebel client. This property is read-only for a predefined column in
Siebel CRM but you can edit it for a custom extension column.
Name Stores the name of the database column in the database table.
Table 83. Properties That Siebel CRM Commonly Uses with a Table Column
Property Description
Nullable Indicates if the Siebel database can or cannot store NULL in this column. If
TRUE, then Siebel CRM can store NULL.
Physical Type For more information, see “Physical Type Property of a Table Column” on
page 671.
Precision Stores the maximum number of digits in a number column. For a noninteger
column, the precision is 22. For an integer column, the precision is 10.
Primary Key Stores the primary key for the table. If TRUE, then this column is the primary
key for the table. With minor exceptions, the ROW_ID column in a table is the
primary key, and it contains a TRUE value for this property.
Scale Stores the maximum number of digits after the decimal point. For a noninteger
column, the scale is 7. For an integer column, the scale is 0.
Type For more information, see “Type Property of a Table Column” on page 673.
User Key Stores the sequence in the user key where this column fits.
Sequence
Table 84. Physical Types That Siebel CRM Supports in the Physical Type Property of a Table Column
Character Stores text that is fixed in length. Also used for a Boolean column, which is a
character column that contains a length of 1. By default, you cannot use Char
greater than 1.
To change the default setting in Siebel Tools, you can choose the View menu,
Options, and then click the Database tab. Make sure the following option
contains a check mark:
NOTE: If you define a Column as a Char column, and if the data that Siebel
CRM stores in the column varies in length, then Siebel CRM pads the data with
empty spaces in the Siebel database. It is recommend that you use the Varchar
data type for all but Boolean columns that are defined as CHAR(1).
Character Large For more information, see “Character Large Object (CLOB) Physical Type” on
Object (CLOB) page 672.
Date Time Stores combined date and time in the same column.
Table 84. Physical Types That Siebel CRM Supports in the Physical Type Property of a Table Column
Long Stores long text. You can store approximately 16 KB of data in a Long column.
Number Stores any numeric data. Typical numeric columns in Siebel CRM are 22,7 for
general-purpose numbers, and 10,0 for integers. For more information, see
“Maximum Number of Digits for a Numeric Physical Type” on page 673.
UTC Date Time Stores the date and time. Siebel CRM saves time in Greenwich Mean Time
(GMT).
Varchar Stores text that varies in length. Used for most alphanumeric columns in the
data objects layer, including ROW_ID, foreign key, list of values, and other free
form text columns.
■ Because a column in a Siebel table is limited to 128 KB of data, you cannot define a column of
type CLOB that is greater than 128 KB.
■ Siebel CRM allows no more than three CLOB columns for each table.
■ In Siebel Tools, you can only set the physical type to CLOB when you define a column. You cannot
change a predefined column, such as a Long column, to a CLOB column.
■ Siebel Tools displays the CLOB Physical Type as L (Long) in the Properties window.
■ Because MS SQL Server does not define a CLOB type, MS SQL Server treats a CLOB as a
varchar(max) or nvarchar(max) object.
■ To query on a DTYPE_CLOB field, you must use at least one wildcard in the search expression.
You use an asterisk (*) to express a wildcard. For example, use TEST*. Do not use an equal sign
(=) in the query. For example, do not use =TEST. If you use an equal sign, then Siebel CRM
generates an error.
■ As Siebel CRM increases the number of digits it uses to the left of the decimal point, the number
of usable digits to the right of the decimal point decreases by an equal amount.
■ If you use a decimal point, then data is limited to 15 digits to the left of the decimal point.
■ You cannot use more than 7 digits to the right of the decimal point.
■ Data. For more information, see “Data Columns of a Siebel Table” on page 65.
■ Extension. For more information, see “Extension Columns of a Siebel Table” on page 65.
■ System. For more information, see “System Columns of a Siebel Table” on page 66.
■ IFMGR. Occurs in an interface table. The Siebel Enterprise Integration Manager uses it
internally. The name of an IFMGR type follows the IFMGR:nn format. For example,
IFMGR:ROW_ID.
Table 85 describes possible values for the Type property of a Siebel table.
Type Description
Data (Public) Contains data that Siebel CRM makes available through business components.
To customize a public data table, you can use an extension table and extension
column. It is among the predefined set of tables.
Data (Private) Similar to a public data table, except it cannot contain an extension column.
Extension Provides more columns that you can use to store data. Contains an implicit one-
to-one relationship to the parent base table, which is the table that an
extension table logically extends.
Type Description
Interface Siebel Enterprise Integration Manager (EIM) uses the Interface type to
populate data for one or more base tables and subsequently to perform periodic
batch updates between Siebel CRM and other enterprise applications. The suffix
in the name of an interface table is _IF or _XMIF.
Extension Reserved for Oracle internal use. An Extension (Siebel) table is usually an
(Siebel) extension of the S_PARTY table.
Table 86. Properties That Siebel CRM Commonly Uses with an Index
Property Description
You must not define a custom unique index without assistance. For more
information, see “Getting Help from Oracle” on page 196.
Type Indicates the type of index. Siebel CRM commonly uses the following types:
■ Primary Key. An index that Siebel CRM indexes on the ROW_ID column.
■ User Key. A custom index that you define. You specify the set of index
columns. It must consist of a unique combination of columns.
Table 87. Properties That Siebel CRM Commonly Uses with an Index Column
Property Description
Column Name Stores the name of the column on which the parent index performs an
operation, such as a sort operation.
Sequence An integer value that stores the order of the column in the index relative to
other columns. You must define the Sequence property even if only one index
column is defined for an index.
Sort Order Stores the sort order of the index column. The order is one of the following:
■ Asc (ascending)
■ Desc (descending)
Table 88. Properties That Siebel CRM Commonly Uses with a Business Component
Property Description
Class The C++ class that defines the functionality of the business component. For
more information, see “Class Property of a Business Component” on page 84.
Name A name that must be unique among all business components that reside in the
SRF. Siebel CRM uses the name to reference a business component.
No Delete If set to TRUE, then the user cannot perform the defined data manipulation
operation. For example, if No Delete is TRUE, then the user cannot delete a
No Insert
record that is associated with this business component. The default value is
No Update FALSE.
Search A conditional expression that Siebel CRM uses to restrict the records retrieved.
Specification Defining the search specification on a business component is very similar to
defining the search specification on an applet. For more information, see
“Options to Filter Data Displayed in an Applet” on page 126.
Table 88. Properties That Siebel CRM Commonly Uses with a Business Component
Property Description
Sort A sort specification that Siebel CRM uses to order the records returned. For
Specification more information, see “Determining How a Business Component Sorts Records”
on page 251.
Table The name of the SQL table from which Siebel CRM retrieves records to update
the majority of fields in the business component.
Physical Maximum
Field Data Type Type Length Description
■ TRUE or FALSE
■ checked or unchecked
Physical Maximum
Field Data Type Type Length Description
DTYPE_DATETIME Date Time 7 Describes data as a date and time. You can use
the Windows Control Panel to set the appearance
of time and date values. You can also use a
combination of DTYPE_DATE and DTYPE_TIME to
configure an explicit date format.
DTYPE_ID Varchar 15 Describes data as the primary key that Siebel CRM
automatically generates.
Physical Maximum
Field Data Type Type Length Description
To define an explicit date format, you can also use the following symbols:
For more information, see “How Siebel CRM Handles Certain Date Formats” on page 681.
■ Comma (,). Specifies the position of the thousands separator. You specify the character in the
Windows Control Panel.
■ Period (.). Specifies the position of the decimal separator. You specify the character in the
Windows Control Panel.
■ Plus sign (+). Specifies the position and appearance of the positive value indicator.
■ Minus sign (-). Specifies the position and appearance of the negative value indicator.
There are restrictions regarding the number of digits you can use with a business component field
whose Type property is DTYPE_NUMBER. For more information, see “Maximum Number of Digits for a
Numeric Physical Type” on page 673.
Table 90. Values for the Display Format Property of a Control or List Column
Property Description
■ 0 (zero)
■ # (pound sign)
■ + (plus sign)
■ - (minus sign)
■ , (comma)
■ . (period)
DTYPE_CURRENCY Uses the same symbols as with the DTYPE_NUMBER property, in addition to
the dollar sign.
To control how Siebel CRM displays currency, in the Siebel client, you
navigate to the Application Administration screen, choose the Currencies
view, and then modify the Scale field.
DTYPE_DATETIME Stores one of the following values in the Display Format property:
■ Date
■ DateTime
■ DateTimeNoSec
■ TimeNoSec
■ MM/DD/YY
where:
■ MM is the month
■ DD is the day
■ YY is the year
If empty, then to determine the appearance of date values, Siebel CRM uses
the Regional Settings section of the Windows Control Panel. For more
information, see “How Siebel CRM Handles Certain Date Formats” on page 681.
Table 90. Values for the Display Format Property of a Control or List Column
Property Description
■ Specify TimeNoSec.
■ HH:hh:mm:ss
where:
■ HH is the hours
■ hh is the hours
■ mm is the minutes
■ ss is the seconds
If empty, then to determine the appearance of time values, Siebel CRM uses
the Regional Settings section of the Windows Control Panel.
DTYPE_PHONE If empty, then to determine the appearance of phone values, Siebel CRM uses
the Regional Settings section of the Windows Control Panel.
Can't convert formatted string to its internal representation. Please check if your
data is in correct format.
Table 91. Properties That Siebel CRM Commonly Uses with a Screen View
Property Description
Category Default Defines the default view for a screen view as an Aggregate Category or
View Detail Category.
If the category for the screen view is Aggregate View or Detail View, then
the Category Default View property is read-only.
Category Name Name of the Aggregate Category or Detail Category. This property must
be unique in each screen.
If the category for the screen view is Aggregate View or Detail View, then
the Category Name property is read-only.
Display in Page If Siebel CRM must display the screen view in the page, then you must set
the Display in Page property to TRUE.
If no views in the category are included, then Siebel CRM does not
automatically display the screen view.
Display in Site Map If Siebel CRM must display the screen view on the Site Map, then the
Display in Site Map property must be TRUE.
Menu Text Text that Siebel CRM displays in the Site Map. To modify the text style that
Siebel CRM renders in the Site Map, you can use HTML tags in the Menu
Text property. For more information, see “Changing the Text Style of a
Control or List Column in an Applet” on page 327.
Parent Category If the Type property is Aggregate Category, then the Parent Category
property is empty because there is no parent.
If the Type property is Aggregate View, then the Parent Category property
might or might not be empty.
If the Type property is Detail View or Detail Category, then the Parent
Category property must contain a value.
Table 91. Properties That Siebel CRM Commonly Uses with a Screen View
Property Description
■ Aggregate Category
■ Aggregate View
■ Detail Category
■ Detail View
View If the Type property of the screen view is Aggregate View or Detail View,
then you must define the view property. The View property associates the
view with the screen view. The View property is read only for Aggregate
Category and Detail Category.
Properties of an Application
Table 92 describes properties of the application object type.
Property Description
Acknowledgement Web The Web page that Siebel CRM displays after the user successfully logs
Page in. If a login occurs after a timeout, then Siebel CRM displays the view
that the user attempted to access when the timeout occurred.
Acknowledgement Web The view that Siebel CRM displays after the user successfully logs in,
View except in the following situations:
■ The Explicit Login property is set to TRUE for the view that the
user attempts to access.
In this situation, Siebel CRM displays the view that the user was
attempting to access. It does not display the view defined in the
Acknowledgement Web View property.
Property Description
Container Web Page A Web page that defines the structure of the Siebel application. This page
can contain the common user interface components, such as screen bars,
view bars, logos, and so forth. You can use this page to define the HTML
Frame definition document for the Siebel application. Siebel CRM
displays all views and, as an option, all pages in the context of the
container page. For more information, see “About the Container Page” on
page 155.
Error Web Page The page Siebel CRM displays if an error occurs in the Siebel application.
Login Web Page The page Siebel CRM displays as the login page.
Logoff The page Siebel CRM displays when the user logs out of the Siebel
Acknowledgement Web application.
Page
Sort Web Page The page Siebel CRM uses to create a dialog to perform an advanced sort
on list applet columns.
Properties of a Command
Table 93 describes some of the properties that Siebel CRM commonly uses with a command.
Table 93. Properties That Siebel CRM Commonly Uses with a Command
Property Description
Business Service Specifies the business service that handles the method. The service is browser
or server depending on the Target property. Note the following:
■ If the Business Service property is empty, then Siebel CRM targets the
browser or server infrastructure rather than a specific service.
■ If the Business Service property is not empty, then the business service
that is defined must handle CanInvokeMethod and InvokeMethod for the
method that is defined in the Method property.
HTML Popup If the Show Popup property contains a check mark, then the HTML Popup
Dimensions Dimensions property specifies the dimensions of the pop-up window, in pixels.
For example, you can specify a popup with a dimension of 640x480. Do include
the x between the dimensions. Do not include spaces.
Table 93. Properties That Siebel CRM Commonly Uses with a Command
Property Description
Method Specifies the name of the method that Siebel CRM calls if the user chooses the
menu item or clicks the toolbar icon. This is a required property. For more
information, see “About the Method, Business Service, and Target Properties of
the Command Object” on page 499.
Method Provides the means to pass an argument to the method defined in the Method
Argument property. For example, assume a command item opens a new window and
navigates to a URL in that window. This command can use the Method
Argument property to define the GotoURL method in the Method property and
the URL to navigate to.
■ If the Show Popup property contains a check mark, then Siebel CRM opens
a new browser window before it calls the method.
■ If the Show Popup property does not contain a check mark, then Siebel CRM
does not open a new browser window before it calls the method.
Target Specifies the entity that handles the method that the command calls. The
following options are available:
■ Server. Specifies the method handler and object manager service on the
Siebel Server or the object manager infrastructure, depending on if a
service is defined or not defined in the Business Service property.
The object manager infrastructure is the Siebel Web Engine UDF loader or
the model.
■ Browser Applet. Used with high interactivity. For more information, see
“About Standard Interactivity and High Interactivity” on page 42.
For more information, see “About the Method, Business Service, and Target
Properties of the Command Object” on page 499.
Tooltip Text The tooltip text that Siebel CRM displays if the user positions the cursor over a
toolbar icon. For a predefined method, leave the Tooltip Text property empty.
If the Tooltip Text property is empty, then the method dynamically supplies the
text, and language localization takes place as a part of this process. If you
define the method, then you must enter literal text. If you define literal text,
then Siebel CRM does not use language localization for this tooltip text. For
more information, see Chapter 25, “Localizing Siebel Business Applications.”
Properties of a Toolbar
Table 94 describes some of the properties that Siebel CRM commonly uses with a toolbar.
Table 94. Properties That Siebel CRM Commonly Uses with a Toolbar
Property Description
■ For a Java toolbar, enter the name of the Java class that implements the
toolbar.
Display Name Siebel CRM uses this property for the History button and to display or hide
toolbars by name.
Name Referenced by other object definitions and by the swe:toolbar tag in the name
clause.
Table 95. Properties That Siebel CRM Commonly Uses with a Menu Item
Property Description
Caption The text that Siebel CRM displays in the menu or menu item.
Command Name of the Command object definition that provides the method and target
for the menu item.
Position Determines the order of menu items and the parent-child relationships. For
example, a menu item with a Position of 150 is a parent to menu items with
Position values of 150.10, 150.20, and so forth. Note the following:
■ If the parent menu item is active, then Siebel CRM displays the child menu
items.
■ If the parent menu item is not active, then Siebel CRM does not display the
child menu items.
Table 96. Properties That Siebel CRM Commonly Uses with a Toolbar Item
Property Description
Command Name of the Command object definition that provides the bitmap, method, and
target for the toolbar item. To instruct Siebel CRM to insert a separator between
icons, you can define one or more hyphens instead of the name of a Command
object.
HTML Type Identifies the type of control that Siebel CRM displays in the toolbar in the
browser. You can specify one of the following types:
■ ComboBox
■ Button
■ Edit
■ Label
■ Hyperlink
■ MiniButton
■ Timer
Name Name of the toolbar item. Siebel Tools uses this property for internal use only.
The Name property must be unique in the toolbar.
Position Determines the order of toolbar items and the parent-child relationships. For
example, a Toolbar item with a Position of 150 is a parent to Toolbar items with
Position values of 150.10, 150.20, and so forth. Note the following:
■ If the parent toolbar item is active, then Siebel CRM displays the child
toolbar items.
■ If the parent toolbar item is not active, then Siebel CRM does not display
the child toolbar items.
Table 97. Properties that Siebel CRM Commonly Uses with an Applet Method Menu Item
Property Description
Command Name of the command that provides the bitmap, method, and target for the
applet method menu item.
Use Browser as the target of the Command object for a menu item that Siebel
CRM displays on an applet menu.
Menu Text The text that Siebel CRM displays in the menu item.
Position The sequence of the menu item in the list of menu items.
Suppress Menu If the Suppress Menu Item property contains a check mark, then Siebel CRM
Item removes the class-level menu item of the defined name from the applet menu
in the applet where this property is defined.
Table 98. Properties That Siebel CRM Commonly Uses with a Class Method Menu Item
Property Description
■ If defined, then this property identifies the business service on which to call
the method.
■ If not defined, then Siebel CRM calls the method in the applet class on the
browser or server, as defined in the Target property. If not handled, then
Siebel CRM performs a subsequent retargeting.
Menu Text The text that Siebel CRM displays in the menu item.
Method The method that Siebel CRM calls if the user chooses the item.
Position The sequence of the menu item in the list of menu items.
Table 98. Properties That Siebel CRM Commonly Uses with a Class Method Menu Item
Property Description
Suppress Menu If the Suppress Menu Item property contains a check mark, then Siebel CRM
Item removes the applet menu items of the defined name from the applet menu in
all applets that Siebel CRM derives from this class and subclasses.
Target Specifies the entity that handles the method that is defined in the Method
property. The following options are available:
Table 99 describes some of the applet controls and list columns that Siebel CRM commonly uses, as
defined in the HTML Type property of the control or list column.
Table 99. Applet Controls and List Columns That Siebel CRM Commonly Uses
HTML Type
Property Description
ActiveX Allows you to place an ActiveX control in an applet. Siebel Tools does not
support the placement of a frameless ActiveX control or list column.
You cannot use a calendar ActiveX control or list column in a form applet.
Instead, use a pop-up calendar control in the Siebel client. For more
information, see “Creating a Pop-Up Control in an Applet” on page 316.
Table 99. Applet Controls and List Columns That Siebel CRM Commonly Uses
HTML Type
Property Description
■ If the user clicks an empty check box, then Siebel CRM displays a check
mark in the check box.
■ If the user clicks a check box that is checked, then Siebel CRM removes the
check mark.
The ComboBox control includes a field with a button that displays with a down
arrow. If the user clicks this button, then Siebel CRM displays a list. If the user
chooses an item from this list, then Siebel CRM replaces the previous value in
the box. A list provides the list of values.
A combo box displays and behaves almost identically to a static list, except the
user interacts with a combo box control or list column rather than a text control
or list column. For more information, see “About Static Lists” on page 437.
DrillDownTitle Includes a drilldown on the title of an applet. If the user clicks the title, then
Siebel CRM displays the target view. Applets on the home page use this control.
To view an example of a DrillDownTitle control in a Siebel application, such as
Call Center, navigate to the Home screen, and then note the My Activities title.
Field Displays text in a rectangular box. Includes a native HTML type of Text. For
more information, see “Text Control and Text List Column” on page 123.
Hidden Not visible in the Web page but you can access it through a script.
Table 99. Applet Controls and List Columns That Siebel CRM Commonly Uses
HTML Type
Property Description
FormSection A label that helps to group related fields in an applet. The FormSection label
expands to fit the region where it is placed. To set it apart, Siebel CRM displays
the label against the FormSection color that is defined in the cascading style
sheet.
NOTE: If a form applet does not use a grid, then the FormSection control
cannot expand to fit in the layout editor. However, the FormSection control
does render correctly in the Siebel client.
ImageButton A minibutton that references an image. For more information, see “MiniButton
Control and MiniButton List Column” on page 122.
JavaApplet Siebel CRM does not support specialized applet classes for a custom
configuration.
Label Provides a visual aid. It is not tied to a business component field, it does not
display data, and it does not provide any data entry capability. If you must
place a text label in a form applet, then use a label control.
NOTE: If a caption includes any HTML reserved character, then you must
encode the HTML with &, <, >, ", and so forth. Example HTML
reserved characters include the ampersand (&), less than symbol (<), greater
than symbol (>), period (.), and so forth.
Link Creates an HTML link that calls a method when activated. Siebel CRM uses it
with a control or list column on which an InvokeMethod is defined, which can
include a method that comes predefined with Siebel CRM.
Mailto Siebel CRM displays the value of this control or list column as a link. If the user
clicks this control or list column, then Siebel CRM opens the default email
program for the user, and then enters the value of this control or list column
into the email address.
Password Allows the user to enter a password. Siebel CRM uses asterisks (*) to mask
characters that the user enters in this control or list column.
Table 99. Applet Controls and List Columns That Siebel CRM Commonly Uses
HTML Type
Property Description
RTC The following RTC (Rich Text Component) controls define the dimensions and
font qualities of a container that includes a rich text component:
■ italic <EM>
■ Underline <U>
■ <P>
■ <FONT>
■ <BLOCKQUOTE >
You cannot use an RTC control in a list applet, list, or a multi-value group
applet.
TextArea Allows the user to enter text in multiple lines. The HTML Height property of the
control or list column determines the number of rows of text Siebel CRM
displays in the text area.
For more information, see “Text Control and Text List Column” on page 123.
URL Displays as a link. If the user clicks this control, then Siebel CRM opens the
specified URL.
Property Value
EIM
Physical Processing
Name Type Length Type User Name Column
Table 103. EIM Interface Table Columns for Processing a Mapping to a Defined Table
Column Value
Name Derived from the name of the target table using the following format:
where:
■ part one is the EIM Table Mapping Name without the CX_ prefix
User Name Name of the EIM Table Mapping object for which the column is being
created.
Table 104 describes an example of the columns that Siebel Tools generates and the default
properties. For example, if the target table is CX_SEC_LEV, then Siebel Tools creates an EIM table
mapping.
Table 104. Example of EIM Interface Table Columns for Processing a Mapping to a Defined Table
EIM
Physical Processing
Name Type Length Type User Name Column
Table 105. EIM Interface Table Columns for Processing a Foreign Key
Column Value
Name Derived from the target table name and the corresponding foreign key column on
the target table using the following format:
where:
■ part one is the target table name with the CX_ prefix replaced with T_
Length Length of foreign key column of the target table, which is typically 15.
<target table name or EIM table mapping name>. <foreign key column
name>
Table 106 describes the EIM table columns that EIM generates if the CX_SEC_LEV table contains the
following foreign key column mappings:
■ The OPTY_ID foreign key column mapping references the S_OPTY table
■ The ACCNT_ID foreign key column mapping references the S_ORG_EXT table
Table 106. Example of EIM Interface Table Columns for Processing a Foreign Key
Physical
Name Type Length Type User Name
Column Value
<part one> _ <name of the foreign key column on the target table>
where:
■ part one is the first four letters of the foreign key table name without the S_
prefix, and trimmed to remove any trailing underscore (_) characters
Physical Type Physical type of the user key column on the target table, which is typically Varchar.
Length Corresponds to the length of user key columns that the column references, which
is typically 15.
Table 108 describes properties of interface table columns for foreign keys using CX_SEC_LEV as an
example. EIM generates the corresponding EIM columns depending on the base column type.
Table 109. EIM Interface Table Column for Attributes on the Target Table
Column Value
Table 110 describes the interface table columns that EIM generates if you enter a prefix of SECL with
the following attribute columns in the CX_SEC_LEV table:
■ AUTO_UPDATE (Char 1)
Table 110. Example of EIM Interface Table Columns Attributes on the Target Table
Physical
Name Type Length Type User Name
Table 111. Example of EIM Table Mappings That Reference the Target Table
Column Value
Name CX_SEC_LEV
Table 112. Attribute Mapping Properties of EIM Interface Columns That EIM Generates
Property Value
Interface Table Data Column Name of corresponding EIM interface table column generated. For
more information, see Table 110 on page 697.
Base Table Attribute Column Name of the attribute column on the target table.
Table 113. Foreign Key Mapping Properties of Foreign Key Columns on the Target Table
Property Value
Table 113. Foreign Key Mapping Properties of Foreign Key Columns on the Target Table
Property Value
User Key Name of the U1 user key of the foreign key table.
EIM Foreign Key Proc Corresponding EIM interface table column for foreign key processing
Column derived from the following format:
where:
■ part one is the name of the target table without the CX_ prefix
Table 114 describes the foreign key mapping, using the CX_SEC_LEV table as an example.
Table 114. Example of Foreign Key Mapping Properties of Foreign Key Columns on the Target Table
Foreign Key
Name Column User Key EIM Foreign Key Proc Column
Table 115. Foreign Key Mapping Columns for Foreign Key Mappings
Column Value
Name Name of the foreign key mapping column.
Interface Data EIM interface table column to which EIM maps the user key column on the
Column target table.
User Key Attribute Name of the user key column that is part of the user key defined in
Table 113 on page 698.
Table 116 describes the foreign key mapping, using the CX_SEC_LEV table as an example.
Table 116. Example of Foreign Key Mapping Columns for Foreign Key Mappings
Dictionary No
Extension Yes
External No
Interface No
Log No
Repository No
Table 118 lists the types of columns that CIAI query supports.
Denormalized Yes
Extension Yes
External No
IFMGR: Exists No
IFMGR: FKey No
IFMGR: Status No
IFMGR: ROW_ID No
System No
Table 119 lists the physical types of columns that CIAI query supports.
Physical Type
C Char Yes
D Date No
L Long Yes
L CLOB Yes
N Number No
S Time Stamp No
T Date Time No
V Varchar Yes
X Text Yes
For the example in this book, use the following script for the Query of the Hierarchical List Service
business service:
var row;
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "1");
row.SetProperty("Description", "Haus");
row.SetProperty("Amount", "740000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "1.1");
row.SetProperty("Description", "T1");
row.SetProperty("Amount", "240000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "1.1.1");
row.SetProperty("Description", "Kurant");
row.SetProperty("Amount", "200000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "1.1.2");
row.SetProperty("Description", "Blanko");
row.SetProperty("Amount", "40000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "1.2");
row.SetProperty("Description", "T3");
row.SetProperty("Amount", "500000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "1.2.1");
row.SetProperty("Description", "Kurant");
row.SetProperty("Amount", "500000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "2");
row.SetProperty("Description", "Auto");
row.SetProperty("Amount", "13500");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "2.1");
row.SetProperty("Description", "T4");
row.SetProperty("Amount", "240000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "2.1.1");
row.SetProperty("Description", "Blanko");
row.SetProperty("Amount", "40000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "3");
row.SetProperty("Description", "Nieren");
row.SetProperty("Amount", "8000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "3.1");
row.SetProperty("Description", "T1");
row.SetProperty("Amount", "8000");
Outputs.AddChild( row );
row = TheApplication().NewPropertySet();
row.SetProperty("Id", "3.1.1");
row.SetProperty("Description", "Kurant");
row.SetProperty("Amount", "8000");
Outputs.AddChild( row );
return( CancelOperation );
allowing users to Set Primaries 256 screen view objects, defining 288
defining 562 screen views
printing about screen view 140
customer application help topics 652 hierarchy example 143
private dock object 581 screens
Properties window, using 233 about 140
about screen view 140
Q adding help 657
queries configuring 286
about Siebel conditional tags 180 creating screen views 287
conditional tag:<swe:if> 183 defining sequence for screen view
conditional tag:<swe:if-var> 184 objects 288
conditional tags: <swe:switch>, <swe:case>, help properties 655
and <swe:default> 183 help properties example 655
predefined 188 managing unused screens 565
query management commands 188 process of creating screens and screen
views 285
screen view hierarchy example 143
R scripting
RadioButton control 692 and object interfaces 202
read-only behavior browser scripting 204
about 93 generating browser scripts 207
BC Read Only Field user property 94 server scripting 202
Field Read Only Field user property 95 Search Specification property
Parent Read Only Field user property 95 about 128
Parent Read Only Field: user property 96 defining 675
restricting Competitor field 253 sequence fields
warnings on user properties 97 about creating 91
Recent records functionality, adding sequence field 252
configuring 293 object definitions 92
RecNavNxt control 692 Sequence property, Dock Object object
RecNavPrv control 692 type 582
records, adding for MLOV fields 607 server database
recursive trees, about 418 applying data objects layer changes to 248
registering views 273 server scripting 202
remote users, setting up developers as 201 Set Primaries, setting 256
responsibility, associating to view 273 shapes
rich list templates, about 173 modifying shape properties 234, 235
roof icon 420 moving shapes 236
RTCEmbedded text editor 692 resizing 237
RTCEmbeddedLinkField, about 692 shortcuts
about 307
S adding new keyboard shortcut 308
S_Party table 68 guidelines for configuring 308
scatter charts 394 hiding key sequence 309
Screen Home Pages modifying key sequence 309
applets, creating 296 show list, about 400
business object, creating 295 Show More/Less button
creating, process of 289 about and adding to applets 366
screen view, creating 300 configuring controls for More mode 367
view, creating 298 shuttle applets
screen menu items about 490
associating with screens 287 association applets as known as 481
defining screen menu items 287 configuring 491
Siebel Anywhere, configuring to use MLOV about calendar views and interactivity 46
fields 620 about integration with Java EE 40
Siebel application, personalizing 47 configuring high interactivity guideline 45
Siebel applications enabling/disabling High Interactivity 301
about configuring 192 how Siebel Web Engine generates app 40
about copying objects 210 JavaScript on high interactivity 44
about modifying objects 210 Siebel Web Engine infrastructure 38
about structuring development work 193 standard and high interactivity 42
about upgrade inheritance 198 Siebel Partner Connect, about 42
adding view 273 Siebel Pricer, about 50
configuration goals and objectives 193 Siebel Self-Service Applications
configuration guidelines 197 architecture 30, 33
configuration strategy 193 configuration 192
copying business objects and business Siebel and Java EE integration, about 41
components 215 Siebel Spell Check, configuring
copying user interface objects 216 about invoking 322
deciding when to reuse objects 218 adding button to Web template 324
development process overview 47 associating business component to business
object reuse guidelines 209 object 324
reusing applets 215 creating a spell check button 323
reusing business component fields and table creating spell check menu item 324
columns 257 defining spell check button user
reusing business components 225 properties 323
reusing tables 211 process for configuring 322
reusing views 215 Siebel Tags
usage and configuration on non-licensed about 176
objects 191 about iterator tags 179
Siebel Assignment Manager about singleton and multipart tags 178
configuring assignment criteria and skills for about This tag 178
MLOVs 620 Siebel Templates
configuring to use MLOV-enabled fields 619 types of templates 152
configuring Workload rules 620 Siebel Tools
Siebel Developer Web Client about classes 37
defining online help example 652 about customizing and adding help 660
implementing online help 651 about language mode 598
Siebel eScript about migrating help 662
using dashboard commands with Siebel adding help for a screen 657
eScript 645 adding help for a view 659
using to populate customer dashboard 639 changing keyboard shortcut 665
Siebel HTML file, updating with custom configuring MLOV 602
content 662 converting content to HTML using custom file
Siebel Mobile Web Client names 664
implementing online help 651 converting content to HTML using Siebel file
implementing online help example 652 names 663
Siebel object definitions creating LOVs 464
about 27 customizing help content for generic help
architecture 28 files 660
Business Object layer 34 customizing help index 661
data object layer 35 customizing with generic help 658
Logical User Interface Objects layer 31 default help topic 655
physical user interface layer 30 example 662
summary of object types 36 for Partner Connect 42
Siebel operating architecture help Id objects 654
about 37 help menu items 665
help migration options 662 roof, leaf, and open/closed folder icons 420
online help and customer applications 653 support for multiple views 520
online help in employee applications 653 text style parameters 420
removing access to help topic 661 Siebel Web templates
screen and view objects 653 about HTML frames view web templates 161
screens and views help properties 655 Siebel Workflow 48
screens and views help properties singleton tags, about 178
example 655 size, changing for customer dashboard 637
updating Siebel topic files 662 SmartScripts
using WinHelp 665 activating SmartScripts Player applet 642
Siebel topic files, updating with custom configuring 643
content 662 configuring to enter data into customer
Siebel VB dashboard 642
using to enter data for customer mapping SmartScripts variables to dashboard
dashboard 639 fields 642
Siebel Visual Basic SmartScripts Player applet, activating 642
using dashboard commands Siebel Visual sort specifications, defining 251
Basic 646 sorting capabilities, adding 305
Siebel Web Client spell check, configuring 325
implementing online help 650 about invoking 322
implementing online help example 650 adding button to Web template 324
Siebel Web Engine associating business component to business
how generates application 40 object 324
infrastructure 38 creating a spell check button 323
Siebel Web template creating spell check menu item 324
about 151 defining spell check button user
about applet templates 162 properties 323
about catalog-style list applets 173 process for configuring 322
about chart applet templates 172 SSNxt control 692
about form templates (grid) 163 SSPrv 692
about form templates (non-grid) 164 Standard Interactivity 42
about HTML frames in Container Page 156 Standard Interactivity mode 42
about indentation graphics 420 state model, about using 49
about list applet templates 166 static lists
about rich list templates 173 about 437
about the Container Page 155 about originating applet 439
about tree applet templates 169 about PickList Generic business
about view templates 159 component 440
about Web Page templates 155 architecture and object types 441
catalog-style list applet example 175 creating static list 455
Container Page areas 155 difference from dynamic list 437
current record selection in list applets 344 Pick List object 440
displaying totals of list column values 327 style sheets
elbows and trees 420 about cascading style sheet for online
enabling current record selection in list help 652
applets 332 about cascading style sheets 527
example list applet template 166 SWE templates
how SWE generates HTML files 153 about browser group-specific templates 523
HTML frame in Container Page about browser-specific mappings 524
templates 159 about cascading style sheets 527
multirecord select list applets 342 about formats 536
multirow editable list applets 341 about search and find 180
multi-value group and pick applet 477 about Search and Find applet tags 180
persistently editable list applets 166 about Search Result applet tags 181