You are on page 1of 1014

SIEBEL eBUSINESS APPLICATIONS

SIEBEL TOOLS GUIDE


VOLUME 1 OF 2
SIEBEL 2000
VERSION 6.0
10PA1-ST00-06001

MARCH 2000

Siebel Systems, Inc., 1855 South Grant St., San Mateo, CA 94402
Copyright 2000 Siebel Systems, Inc.
All rights reserved. Published 19982000
Printed in the United States of America
No part of this publication may be stored in a retrieval system, transmitted, or reproduced in any way, including
but not limited to photocopy, photographic, magnetic or other record, without the prior agreement and written
permission of Siebel Systems, Inc.
Target Account Selling Methodologies, Copyright 1996 Target Marketing International, Inc. All rights reserved.
The full text search capabilities of Siebel eBusiness Applications include technology used under license from
Fulcrum Technologies, Inc. and are the copyright of Fulcrum Technologies, Inc. and/or its licensors.
Siebel, the Siebel logo, ActiveBriefing, TrickleSync, TSQ, Universal Agent, and other Siebel product names
referenced herein are trademarks of Siebel Systems, Inc., and may be registered in certain jurisdictions.
Windows is a registered trademark of Microsoft Corporation.
All other product names, marks, logos, and symbols may be trademarks or registered trademarks of their
respective owners.
U.S. GOVERNMENT RESTRICTED RIGHTS. Programs, Ancillary Programs and Documentation, delivered
subject to the Department of Defense Federal Acquisition Regulation Supplement, are commercial computer
software as set forth in DFARS 227.7202, Commercial Computer Software and Commercial Computer Software
Documentation, and as such, any use, duplication and disclosure of the Programs, Ancillary Programs and
Documentation shall be subject to the restrictions contained in the applicable Siebel license agreement. All
other use, duplication and disclosure of the Programs, Ancillary Programs and Documentation by the U.S.
Government shall be subject to the applicable Siebel license agreement and the restrictions contained in
subsection (c) of FAR 52.227-19, Commercial Computer Software - Restricted Rights (June 1987), or
FAR 52.227-14, Rights in General Data Alternative III (June 1987), as applicable. Contractor/licensor is
Siebel Systems, Inc., 1855 South Grant Street, San Mateo, CA 94402.

Proprietary Information
Siebel Systems, Inc. considers information included in this documentation and
in Siebel eBusiness Applications Online Help to be Confidential Information.
Your access to and use of this Confidential Information are subject to the terms
and conditions of: (1) the applicable Siebel Systems software license
agreement, which has been executed and with which you agree to comply; and
(2) the proprietary and restricted rights notices included in this documentation.

Siebel Tools Guide

Contents

Volume 1 of 2
Introduction
Who Should Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-2
How This Book Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-3
Organization of Volume 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-3
Organization of Volume 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-4
Diagramming Conventions in this Guide . . . . . . . . . . . . . . . . . . . . . . . Intro-5
Whats New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-9
Configuring HTML Thin Client Applications in Siebel Tools . . . . . . . . . Intro-9
Business Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-11
Virtual Business Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-13
New Object Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-14
Multiple Organizational Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-16
New Interface Table Naming Conventions . . . . . . . . . . . . . . . . . . . . . Intro-17
eScript COM/CORBA Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-17
Graphics Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-18
Dynamic User Interface Enhancements . . . . . . . . . . . . . . . . . . . . . . . Intro-20
New Validation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-22
New Reporting Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-23
Additional Documentation

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-24

Other Siebel Tools Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-24


System Administration Documentation Set . . . . . . . . . . . . . . . . . . . . . Intro-25
Other Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-26
How to Order Product Documentation . . . . . . . . . . . . . . . . . . . . . . . . Intro-27

Version 6.0

Siebel Tools Guide Volume 1 of 2

iii

Contents

Contacting Siebel Technical Support . . . . . . . . . . . . . . . . . . . . . . .Intro-28


Siebel Welcomes Your Comments . . . . . . . . . . . . . . . . . . . . . . . . .Intro-29

PART 1.

Siebel Application Environment

Chapter 1. Installing Siebel Tools


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Preinstallation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Verifying Siebel Tools Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Installing a Database Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Installing Siebel Tools

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

Post-Installation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8


Verifying Successful Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Verifying the Siebel Tools Directory Structure . . . . . . . . . . . . . . . . . . . . . . 1-9
Siebel Tools Icons . . . . . . . . . . . . . . . . . . . . . .
Siebel Tools ODBC Data Sources. . . . . . . . . . . .
Running Multiple Local Databases . . . . . . . . . .
Repository Naming Conventions . . . . . . . . . . .
Setting Up the Development Environment. . . . .

...
...
...
...
...

....
....
....
....
....

...
...
...
...
...

...
...
...
...
...

...
...
...
...
...

. . . . 1-11
. . . 1-12
. . . 1-13
. . . 1-15
. . . 1-16

Chapter Summary and Where to Get More Information . . . . . . . . . . . . 1-19

Chapter 2. Application Configuration (Basic Concepts)


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Overview of Siebel Application Configuration . . . . . . . . . . . . . . . . . . . . 2-3
What Is Siebel Tools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
The Siebel Tools Application Window . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Siebel Tools Product Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Components of a Siebel Application

. . . . . . . . . . . . . . . . . . . . . . . . . 2-20

Siebel Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22

iv

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Programming Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24


Siebel VB and Siebel eScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25
Siebel Object Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
Configuration Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27
Major Configuration Tasks

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28

Chapter Summary and Where to Get More Information . . . . . . . . . . . . 2-30

Chapter 3. Siebel Architecture (Basic Concepts)


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Layered Structure of Siebel Applications . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Data Objects Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Standard Tables and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Business Objects Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
User Interface Objects Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Object Definitions and Value Types . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Object Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Summary of the Major Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
The Siebel Repository and Database . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Configuration Guidelines: Architectural Considerations . . . . . . . . . . . . 3-23
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 3-24

Chapter 4. Using Siebel Tools


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
Windows in Siebel Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Object Explorer Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Object List Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Properties Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Hiding the Object Explorer or Properties Window . . . . . . . . . . . . . . . . . . 4-9
Docking the Object Explorer or Properties Window . . . . . . . . . . . . . . . . .4-10

Version 6.0

Siebel Tools Guide Volume 1 of 2

Contents

Viewing Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11


Modifying, Copying, and Creating New Object Definitions . . . . . . . . . . 4-14
Modifying Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14
Creating a Copy of an Existing Object Definition . . . . . . . . . . . . . . . . . . 4-15
Creating a New Object Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16
Undoing New or Changed Object Definitions . . . . . . . . . . . . . . . . . . . . . 4-18
Validating Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
The Changed Flag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Using Queries to Selectively List Object Definitions . . . . . . . . . . . . . . . 4-28
Simple Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
Compound Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
Searching the Repository for Object Definitions . . . . . . . . . . . . . . . . . 4-33
Getting Reports About Object Relationships . . . . . . . . . . . . . . . . . . . . 4-36
Viewing Object Relationships: Visualization Views . . . . . . . . . . . . . . . 4-38
Details Visualization Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Relationships Visualization View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44
Hierarchy Visualization Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47
Chapter Summary and Where To Get More Information . . . . . . . . . . . . 4-50

Chapter 5. Managing Application Development Projects


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
What Are Siebel Projects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Getting Information about Repositories and Projects . . . . . . . . . . . . . . . 5-5
Selecting the Current Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Getting Information About the Current Repository . . . . . . . . . . . . . . . . . . 5-6
Viewing Object Definitions by Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8
Getting Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Checking Out Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12
Creating New Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15

vi

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Renaming Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16


Assigning Object Definitions to Projects . . . . . . . . . . . . . . . . . . . . . . . 5-17
Moving Object Definitions Between Projects . . . . . . . . . . . . . . . . . . . . 5-18
Checking In Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Check In Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-20
Check-In Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22
Check In/Check Out Options (Data Sources) . . . . . . . . . . . . . . . . . . . . 5-23
Determining Project Differences at Check-In Time . . . . . . . . . . . . . . . . 5-25
Canceling Check-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Locking Projects Directly

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29

Compiling Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31


Configuration Guidelines: Project Structure Considerations . . . . . . . . . . 5-34
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 5-35

PART 2.

Developing Siebel Applications

Chapter 6. Developing Siebel eBusiness Applications


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Defining Business Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Development Sequence for Defining Business Objects . . . . . . . . . . . . . . . 6-4
Modifying (or Creating) a Business Component Definition . . . . . . . . . . . . . 6-5
Adding Fields to a Business Component . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Creating or Modifying a Business Object Definition . . . . . . . . . . . . . . . . . 6-10
Mapping Business Components to Business Objects . . . . . . . . . . . . . . . . .6-12
Defining User Interface Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15
Defining Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
Defining Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-28
Defining Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-32
Defining Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36
Associating Bitmaps with Applets, Toolbar Icons, and View Bars . . . . . . . 6-41

Version 6.0

Siebel Tools Guide Volume 1 of 2

vii

Contents

Defining Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-49


Providing User Access to a New View . . . . . . . . . . . . . . . . . . . . . . . . . . 6-50
User Interface Summary: Mappings Between UI Object Definitions. . . . . . 6-51
Application Development Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 6-52
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 6-53

Chapter 7. Developing Siebel .COM Applications


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2
What Is a Siebel Thin Client Application? . . . . . . . . . . . . . . . . . . . . . . . 7-3
HTML Thin Client Configuration Scenarios . . . . . . . . . . . . . . . . . . . . . . 7-8
HTML Thin Client Configuration: General Approach . . . . . . . . . . . . . . 7-10
Example: Configuring an Applet Web Layout . . . . . . . . . . . . . . . . . . . 7-11
Editing the Web Layout of Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13
Editing the Web Layout of Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16
Working with the Web Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
Setting Web Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 7-21

Chapter 8. Controlling Access to Information


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3
Overview of Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Visibility Within a Single Organization . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Multiple Organizational Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
Responsibility Administration View . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-10
Employee Administration View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13
Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15
Sales Team Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17
Personal Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22

vii i

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Manager Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-25


Organizational Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-26
All Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-26
Configuring Drilldown and Pop-Up Visibility . . . . . . . . . . . . . . . . . . . . 8-27
Visibility Property Settings in Siebel Tools . . . . . . . . . . . . . . . . . . . . . 8-29
Business Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-29
View Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31
Link Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-33
Drilldown Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34
Report Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-34
Routing Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35
Visibility Levels in a Dock Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-36
Dock Object Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-38
Dock Object Visibility Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-40
Selective Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 8-45

Chapter 9. Configuring Email and Fax


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2
Overview of Email and Fax Configuration . . . . . . . . . . . . . . . . . . . . . . . 9-3
Setting Up a Client Machine for Fax or Email . . . . . . . . . . . . . . . . . . . . 9-6
Setting Up Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
Configuring Generic Recipients with User Properties . . . . . . . . . . . . . . 9-11
Setting Up Fax Property Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13
Generating Activities Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
Faxing from the Siebel Reports Module . . . . . . . . . . . . . . . . . . . . . . . . 9-19
Chapter Summary and Where To Get More Information . . . . . . . . . . . . 9-20

Version 6.0

Siebel Tools Guide Volume 1 of 2

ix

Contents

Chapter 10. Configuring Assignment Objects


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Assignment Manager Configuration Overview . . . . . . . . . . . . . . . . . . . 10-3
Assignment Manager Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5
Assignment Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
Assignment Object Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Assignment Criteria Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
Assignment Criteria Attribute Objects . . . . . . . . . . . . . . . . . . . . . . . 10-17
Assignment Attribute Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20
Assignment Attribute Column Objects . . . . . . . . . . . . . . . . . . . . . . . 10-23
Configuring for Interactive Assignment . . . . . . . . . . . . . . . . . . . . . . 10-24
Chapter Summary and Where to Get More Information . . . . . . . . . . . 10-27

Chapter 11. Using Extension Tables and Columns


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2
What Is the Siebel Extension Designer? . . . . . . . . . . . . . . . . . . . . . . . 11-3
Database Extension Planning and Design . . . . . . . . . . . . . . . . . . . . . . 11-4
Planning and Design Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
Naming Conventions for Extension Tables and Columns . . . . . . . . . . . . . 11-7
Accommodating Active Mobile Clients . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
DBMS Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
Database Extension Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 11-10
Checking Out and Locking the Projects . . . . . . . . . . . . . . . . . . . . . . . . . 11-11
Updating the Logical Schema Definition in the Local Environment . . . . . 11-11
Applying the Physical Schema Extensions to the Local Database . . . . . . 11-21
Displaying Extension Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-23
Preparing the Server Database Prior to Applying Schema Extensions . . . 11-26
Applying the Changes to the Server Database . . . . . . . . . . . . . . . . . . . . . 11-26
Applying Server Database Changes to Other Local Databases. . . . . . . . . 11-29
Populating Extension Tables and Columns . . . . . . . . . . . . . . . . . . . . . . . 11-30
Running ddlsync.ksh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-30
Chapter Summary and Where to Get More Information . . . . . . . . . . . 11-32
x

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

PART 3.

Designers and Wizards

Chapter 12. Applet, View, and Menu Designers


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
The Applet Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
Applet Designer Toolbar and Format Menu . . . . . . . . . . . . . . . . . . . . . . .12-5
Applet Designer Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-9
The View Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10
Sectors in a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-12
The Menu Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-13
Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-14
Application- and Applet-Level Menus . . . . . . . . . . . . . . . . . . . . . . . . . .12-14
PreInvokeMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-14
Chapter Summary and Where to Get More Information . . . . . . . . . . . 12-15

Chapter 13. New Object Wizards


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2
New Applet Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
New List Applet Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-4
New Form Applet Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-12
New View Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-20
Pick List Wizard

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26

Multi Value Group Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-28


Business Component Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31
Report Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-32
OLEDB Rowset Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33
Integration Object Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-35
Chapter Summary and Where to Get More Information . . . . . . . . . . . 13-36

Index

Version 6.0

Siebel Tools Guide Volume 1 of 2

xi

Contents

Volume 2 of 2
PART 4.

Managing Your Development Environment

Chapter 14. Managing Repositories


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2
Exporting and Importing Repository Objects . . . . . . . . . . . . . . . . . . . . 14-3
Exporting Individual Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
Exporting Entire Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-6
Importing Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-8
Renaming, Deleting, Backing Up, and Migrating Repositories . . . . . . . 14-16
Renaming and Deleting Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . .14-16
Copying Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14-17
Backing Up and Restoring Repositories . . . . . . . . . . . . . . . . . . . . . . . . 14-18
Migrating Repositories and Schemas Between Databases . . . . . . . . . . . .14-25
Creating Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-32
Integrating with External Source Code Control Software . . . . . . . . . . 14-36
Enabling the Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-37
Configuring the srcctrl.bat File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14-38
Microsoft Visual SourceSafe Examples . . . . . . . . . . . . . . . . . . . . . . . . . 14-44
Check In/Check Out Options (Source Control Integration) . . . . . . . . . 14-45
Chapter Summary and Where to Get More Information . . . . . . . . . . . 14-47

Chapter 15. Data Cleansing and Deduplication


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2
What Are Data Cleansing and Deduplication? . . . . . . . . . . . . . . . . . . . 15-3
Configuring Data Cleansing

xii

Siebel Tools Guide Volume 1 of 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5

Version 6.0

Contents

Configuring Deduplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8


Dedup Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15-8
Other User Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10
DeDuplication Results Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-11
Deduplication Administration Views . . . . . . . . . . . . . . . . . . . . . . . . . . .15-12
Configuring Business Components and Fields . . . . . . . . . . . . . . . . . . . .15-14
Chapter Summary and Where to Get More Information . . . . . . . . . . . 15-17

Chapter 16. Improving Performance


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2
Causes of Poor Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
Severe Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-3
Significant Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
Moderate Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Multi-Value Group Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5
Database Indexes in Sorting and Searching . . . . . . . . . . . . . . . . . . . . . 16-7
Displaying Totals in a List Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
Other Performance Bottlenecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-9
Performance Troubleshooting Using Spooled SQL . . . . . . . . . . . . . . . 16-11
Analyzing the Trace File and Query Plans . . . . . . . . . . . . . . . . . . . . . . .16-14
Followup Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-17
Chapter Summary and Where to Get More Information . . . . . . . . . . . 16-18

PART 5.

Siebel Architecture

Chapter 17. Data Objects Layer


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
Data Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5

Version 6.0

Siebel Tools Guide Volume 1 of 2

x iii

Contents

Base Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5


Properties of the Table Object Type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-6
Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
Extension Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
Intersection Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-18
Column Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-29
Column Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-29
Data Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-31
Extension Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-31
System Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-33
Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-36
Index Column Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-37
EIM Interface Tables

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-38

EIM Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-39


Labeling Data Loaded in EIM as No Match Row Id Instead of NULL . . . . 17-48
Field Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-48
Chapter Summary and Where to Get More Information . . . . . . . . . . . 17-53

Chapter 18. Business Objects Layer


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3
Business Components

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3

Base Tables of Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5


Joined Tables and Extension Tables of Business Components . . . . . . . . . 18-6
Sort Specification Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8
Search Specification Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-10
Configuring Data-Driven Read-Only Behavior . . . . . . . . . . . . . . . . . . . . . 18-11
Intersection Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-15
Virtual Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-17
Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-18
Sequence Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-22

xiv

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-27
How a Join Is Constructed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-30
Using a Pre-Default Value for a Join Field . . . . . . . . . . . . . . . . . . . . . . . 18-33
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-34
How a Link Is Constructed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-36
Using a Link in a Master-Detail View . . . . . . . . . . . . . . . . . . . . . . . . . . .18-38
Using a Link in a Multi-Value Group . . . . . . . . . . . . . . . . . . . . . . . . . . .18-39
Using a Link in a Many-to-Many Relationship . . . . . . . . . . . . . . . . . . . .18-39
Using a Link When Merging Records . . . . . . . . . . . . . . . . . . . . . . . . . . .18-39
Cascade Delete Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-40
Multi-Value Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-40
How a Multi-Value Link Is Constructed . . . . . . . . . . . . . . . . . . . . . . . . .18-42
How an Indirect Multi-Value Link Is Constructed . . . . . . . . . . . . . . . . . .18-47
Primary ID Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-54
How a Cascade Copy with a Multi-Value Link Is Constructed . . . . . . . . .18-57
Business Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-59
How a Business Object Is Constructed . . . . . . . . . . . . . . . . . . . . . . . . . .18-63
Chapter Summary and Where to Get More Information . . . . . . . . . . . 18-65

Chapter 19. User Interface Objects Layer


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3
Major User Interface Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
Text Style for User Interface Elements

. . . . . . . . . . . . . . . . . . . . . . . . 19-8

Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9
Applet Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-14
Form Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-14
List Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-23
Display Format Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31
Popup Edit and Multi Line Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31
Type Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-32
Configuring Field Level Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-32

Version 6.0

Siebel Tools Guide Volume 1 of 2

xv

Contents

Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-33
Configuring Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-36
List-Form Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-38
Master-Detail Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-40
Thread Bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-43
Drilldown Behavior in a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-44
Applet Toggle Behavior Within a View . . . . . . . . . . . . . . . . . . . . . . . . . 19-49
Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-52
Finds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-53
Configuring the Find Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-54
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-56
Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-58
The Toolbar Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-60
The Command Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-60
The Toolbar Item Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-62
Chapter Summary and Where to Get More Information . . . . . . . . . . . 19-63

PART 6.

Applets and Controls

Chapter 20. Pick Applets and Static Picklists


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Pick Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Configuring the Originating Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
Configuring the Pick Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-12
Configuring the Originating Business Component . . . . . . . . . . . . . . . . . .20-13
Configuring Pick Business Components . . . . . . . . . . . . . . . . . . . . . . . . 20-17
Configuring Picklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-18
Constraining a Picklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20-19

xvi

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Static Picklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-21


Configuring Originating Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-25
Configuring Originating Business Components . . . . . . . . . . . . . . . . . . . . 20-25
Configuring the Pick List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-26
The PickList Generic Business Component . . . . . . . . . . . . . . . . . . . . . . . 20-27
Pop-Up Visibility Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-28
Chapter Summary and Where to Get More Information . . . . . . . . . . . 20-29

Chapter 21. Multi-Value Group and Association Applets


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
Multi-Value Group Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
Configuring the Originating Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-6
Configuring the Originating Business Component . . . . . . . . . . . . . . . . . . . 21-6
Configuring
Configuring
Configuring
Configuring

the Multi-Value Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7


Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
the Multi-Value Group Applet . . . . . . . . . . . . . . . . . . . . . . . 21-9
the Multi-Value Group Business Component . . . . . . . . . . . . 21-10

Association Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11


Association Applets Invoked from Master-Detail Views . . . . . . . . . . . . . . 21-15
Association Applets Invoked from Multi-Value Group Applets . . . . . . . . . 21-19
Chapter Summary and Where to Get More Information . . . . . . . . . . . 21-23

Chapter 22. Special-Purpose Applets


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2
Chart Applets

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3

Axis Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-4


Chart Layout Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-5
Configuring Chart Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-15
Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-28
Tree Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-29
Configuring Tree Applets and Explorer Views . . . . . . . . . . . . . . . . . . . . .22-33
Tree Applets in the Applet Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-36
Recursive Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-36
Version 6.0

Siebel Tools Guide Volume 1 of 2

x vii

Contents

File Attachment Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-37


Configuring Attachment Applets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-40
Configuring Attachment Business Components . . . . . . . . . . . . . . . . . . . 22-42
Configuring Attachment Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-44
Web Browser Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-46
Web Search Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-50
Web Browser Applet Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-52
Chapter Summary and Where to Get More Information . . . . . . . . . . . 22-54

Chapter 23. Special-Purpose Controls


About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2
Image Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2
Implementing an Image Control in a Standalone Applet . . . . . . . . . . . . . 23-4
Integrating an Image Control in an Existing Form Applet . . . . . . . . . . . . 23-6
ActiveX Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-9
Setting Properties in an ActiveX Control . . . . . . . . . . . . . . . . . . . . . . . . 23-11
ActiveX Methods and Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23-13
Manipulating an ActiveX Control from Siebel VB Scripts . . . . . . . . . . . . .23-15
Chapter Summary and Where to Get More Information . . . . . . . . . . . 23-16

PART 7.

Additional Topics

Appendix A. Siebel Tools Menus and Toolbars


About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Menu Bar Menus

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2

File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2


Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Screens Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Go Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6

xvi ii

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Query Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7


Reports Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Format Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Debug Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
Repository Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Siebel Tools Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Edit Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
List Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
History Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17
Web Controls Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18
Appendix Summary and Where to Get More Information . . . . . . . . . . . A-19

Appendix B. Operators, Expressions, and Conditions


About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
Pattern Matching with LIKE and NOT LIKE . . . . . . . . . . . . . . . . . . . . . . B-4
NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Functions in Calculation Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . B-7
Using Julian Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10
Calculated Field Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10
Example of String Concatenation and the IIf Function . . . . . . . . . . . . . . .B-11
Syntax for Predefault Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-12
Calculated Field Values and Field Validation . . . . . . . . . . . . . . . . . . . . B-13
Field Object Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15

Version 6.0

Siebel Tools Guide Volume 1 of 2

x ix

Contents

Search Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16


Query By Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16
Search Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17
Searching Multi-Value Groups with [NOT] EXISTS . . . . . . . . . . . . . . . . . B-18
Sort Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
Sorting Through Predefined Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
Sorting Through the Object Property Sort Specification . . . . . . . . . . . . . . B-20
Sorting Through the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21
Sorting Versus Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21
Appendix Summary and Where to Get More Information . . . . . . . . . . . B-21

Appendix C. Siebel Application Run-Time Environment


About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Run-Time Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Command Line Execution Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-2
Configuration File and .srf File Load Process . . . . . . . . . . . . . . . . . . . . . . C-3
Database Logon Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-5
Visibility Establishment Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-7
Object and Data Interaction Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
Appendix Summary and Where to Get More Information . . . . . . . . . . . C-10

Appendix D. Configuration Guidelines


About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3
Object Definitions You Should Not Reconfigure . . . . . . . . . . . . . . . . . . . D-3
Copying vs. Modifying Object Definitions . . . . . . . . . . . . . . . . . . . . . . . D-4
Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-5
Business Components and Business Objects . . . . . . . . . . . . . . . . . . . . . . . D-6
Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-6
Pick Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-6

xx

Siebel Tools Guide Volume 1 of 2

Version 6.0

Contents

Guidelines for Business Components . . . . . . . . . . . . . . . . . . . . . . . . . D-7


Specialized Business Component Classes . . . . . . . . . . . . . . . . . . . . . . . . . D-7
Unused Business Components and Business Objects . . . . . . . . . . . . . . . . D-8
Defining System Fields in Business Components . . . . . . . . . . . . . . . . . . . D-8
Visibility Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-9
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-9
Guidelines for Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-10
Applet Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-11
Unused Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-12
Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-12
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-12
Applet Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-14
Guidelines for Controls and List Columns . . . . . . . . . . . . . . . . . . . . . . D-15
Exposing System Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-15
Unused Controls and List Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16
Text Controls and List Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16
Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16
Check Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16
Controls and List Columns in Association Applets . . . . . . . . . . . . . . . . . D-17
Naming Conventions for Controls and List Columns . . . . . . . . . . . . . . . . D-18
Guidelines for Views

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-19

Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-19
Unused Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-19
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-20
View Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-21
Additional Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-22
Naming for Various Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-22
SQL Queries Against Database Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-22
Appendix Summary and Where to Get More Information . . . . . . . . . . . D-23

Version 6.0

Siebel Tools Guide Volume 1 of 2

x xi

Contents

Appendix E. User Properties


About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2
Supported User Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2
Appendix Summary and Where to Get More Information . . . . . . . . . . . E-11

Appendix F. Relational Database Management Concepts


About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-2
Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-2
Tables, Rows, and Columns

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-2

Primary and Foreign Key Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-3


Relationships Based on Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-5
Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-7
Join Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-8
Appendix Summary and Where to Get More Information . . . . . . . . . . . F-10

Index

xx ii

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction

Who Should Use This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-2


How This Book Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-3
Organization of Volume 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-3
Organization of Volume 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-4
Diagramming Conventions in this Guide

. . . . . . . . . . . . . . . . . . Intro-5

Whats New in This Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-9


Configuring HTML Thin Client Applications in Siebel Tools . . . . . Intro-9
Business Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-11
Virtual Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-13
New Object Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-14
Multiple Organizational Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-16
New Interface Table Naming Conventions . . . . . . . . . . . . . . . . Intro-17
eScript COM/CORBA Integration . . . . . . . . . . . . . . . . . . . . . . . Intro-17
Graphics Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-18
Dynamic User Interface Enhancements

. . . . . . . . . . . . . . . . . . Intro-20

New Validation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-22


New Reporting Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-23
Additional Documentation

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intro-24

Other Siebel Tools Documentation . . . . . . . . . . . . . . . . . . . . . . Intro-24


System Administration Documentation Set . . . . . . . . . . . . . . . . Intro-25
Other Related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . Intro-26
How to Order Product Documentation . . . . . . . . . . . . . . . . . . . Intro-27
Contacting Siebel Technical Support . . . . . . . . . . . . . . . . . . . . . . . Intro-28
Siebel Welcomes Your Comments . . . . . . . . . . . . . . . . . . . . . . . . . Intro-29

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 1

Introduction
Who Should Use This Book

Who Should Use This Book

Intro

The audience for this book consists of:


Siebel Application Persons who plan, implement, and configure Siebel applications,
Developers
possibly adding new functionality. A developer is typically

someone from the Information Services department.


Database
Administrators

Persons who administer the database system, including data


loading; system monitoring, backup, and recovery; space
allocation and sizing; and user account management.

Configurators

Persons responsible for planning, implementing, and configuring


Siebel applications. A configurator is typically a consultant or
someone from the Information Systems department.

To do the tasks described in this book, you need to have a thorough


understanding of:

 The Siebel application environment and data model


 The Microsoft Windows operating environment
 Application development concepts and processes
 Relational database concepts
 Object-oriented application design
Configuring Siebel applications using Siebel Tools includes many or all of the
following tasks; you should have prior experience in doing similar tasks:

 Installing Siebel applications and Siebel Tools


 Setting up the Siebel application development environment (for example,
workstations and servers)

 Installing and setting up the relational DBMS where the native data is stored
 Importing existing native data into your Siebel application
 Modifying or creating new Siebel object definitions
 Writing Siebel VB or Siebel eScript application code

In t ro - 2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
How This Book Is Organized

How This Book Is Organized

Intro

This book is a two-document set: Siebel Tools Guide, Volumes 1 and 2.


Information in this book contains guidance information, basic and advanced
concepts, and reference information. In general, the information is either generic or
applies specifically to the dedicated client environment. There are also some
sections that apply only to the HTML thin client environment.

Organization of Volume 1

Intro

Part 1, Siebel Application Environment contains the following:

 Chapter 1, Installing Siebel Tools


 Chapter 2, Application Configuration (Basic Concepts)
 Chapter 3, Siebel Architecture (Basic Concepts)
 Chapter 4, Using Siebel Tools
 Chapter 5, Managing Application Development Projects
Part 2, Developing Siebel Applications gives you the basic information you need
to configure Siebel dedicated client applications and Siebel thin client applications.
It contains the following:

 Chapter 6, Developing Siebel eBusiness Applications


 Chapter 7, Developing Siebel .COM Applications
 Chapter 8, Controlling Access to Information
 Chapter 9, Configuring Email and Fax
 Chapter 10, Configuring Assignment Objects
 Chapter 11, Using Extension Tables and Columns

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 3

Introduction
How This Book Is Organized

Part 3, Designers and Wizards includes the following:

 Chapter 12, Applet, View, and Menu Designers


 Chapter 13, New Object Wizards, including:
 Applet wizards
 View wizard
 Pick List and Multi Value Group wizards

Part 4, Managing Your Development Environment provides the following


information:

 Chapter 14, Managing Repositories


 Chapter 15, Data Cleansing and Deduplication
 Chapter 16, Improving Performance

Organization of Volume 2

Intro

Part 5, Siebel Architecture contains information about the following architectural


layers:

 Chapter 17, Data Objects Layer


 Chapter 18, Business Objects Layer
 Chapter 19, User Interface Objects Layer
Part 6, Applets and Controls includes information on special-purpose applets, for
example, chart, tree, file attachment, and Web browser applets, and special-purpose
controls, for example, image and ActiveX controls. It contains the following:

 Chapter 20, Pick Applets and Static Picklists


 Chapter 21, Multi-Value Group and Association Applets
 Chapter 22, Special-Purpose Applets
 Chapter 23, Special-Purpose Controls

In t ro - 4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
How This Book Is Organized

Part 7, Additional Topics includes the following appendixes:

 Appendix A, Siebel Tools Menus and Toolbars


 Appendix B, Operators, Expressions, and Conditions
 Appendix C, Siebel Application Run-Time Environment
 Appendix D, Configuration Guidelines
 Appendix E, User Properties
 Appendix F, Relational Database Management Concepts

Diagramming Conventions in this Guide

Intro

Line diagrams in this guide primarily fall into two categories: architectural diagrams
and property diagrams.
NOTE: Information in both kinds of diagrams throughout this book represents what
is true for standard (sometimes called vanilla) Siebel applications. It may be
different for configured applications.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 5

Introduction
How This Book Is Organized

Architectural Diagrams
An architectural diagram shows the hierarchical (parent-child) relationships
between selected object types.
Figure 1 shows an example of an architectural diagram.

User Interface Objects Layer


Applet

List

Control

List Column

Business Objects Layer


Business
Component

Field

Pick Map
Join
Legend:
Object type

Join
Specification

Figure 1.

In t ro - 6

1:M relationship through object hierarchy


1:M relationship through properties

Architectural Diagram Example

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
How This Book Is Organized

An architectural diagram contains the following visual features:

Object type boxes (white). Each white box represents an object type, such as

applet, control, or picklist.

Architectural layer boxes (light gray). Each light gray box (background feature)

represents an architectural layer in Siebel applications, such as the User


Interface Objects Layer. The object type boxes inside the architectural layer box
are object types found in that layer.

One-to-many connectors (solid). Each solid line terminating in a three-way

connector represents a one-to-many relationship between object definitions in


the parent and child object types.

Solid lines. Each solid line that connects two object type boxes represents a oneto-one relationship between object definitions in the parent and child object
types. For example, an applet has, at most, one list (child) object definition and
a join normally has one join specification child object definition.

Dashed lines. Each dashed line that connects two object types indicates a

relationship implemented through properties, rather than through the object


type hierarchy. For example, the dashed line between the applet box and the
business component box indicates that every applet has a business component
assigned to it, specified in the Business Component property of the Applet object
type.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 7

Introduction
How This Book Is Organized

Property Diagrams
A property diagram shows the relationships between object definitions used to
implement a complex structure. An example of a property diagram (in this case
illustrating the details of a multi-value group applet) appears in Figure 2.

originating Applet

multi value group Applet

MVG Applet
property

originating Control

List Columns

Field property

originating Business Component


originating Multi
Value Field

Business
Component
property

Field
property

Multi Value
Fields

Multi Value
Link property

Multi Value
Link property

Destination
Business
Component
property

multi value group


Business Component
multi value group
Fields

Multi Value Link

foreign key Field


Parent Business
Component
property

Destination Link
property

Link

Child Business
Component
property

object definition
Destination Field
property

Figure 2.

In t ro - 8

Legend:
contained (child) object
definition
property specifies other
object definition

Property Diagram Example

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

Whats New in This Release

Intro

The following sections describe Siebel Tools product features new in Version 6.0.

Configuring HTML Thin Client Applications in Siebel Tools

Intro

In Siebel Tools Version 6.0 the Siebel Object Model has been extendednew objects
enable you to configure the structure and content of HTML thin client Siebel
applications (for example, Siebel .COM applications and Siebel Wireless) using
Siebel Tools.
The major benefits of using Siebel Tools to configure Siebel .COM applications are
rapid development and simplified upgrade. In prior releases, changes to Siebel
business component and applet definitions were not automatically reflected in an
upgraded Web-based applicationchanges had to be made manually.
Key features include:

 You can configure applets and views once in Siebel Tools for all deployment
options: Windows, Java, and HTML.

 A small set of templates determine the HTML presentation across the


application.

 You can design applet and view Web layouts in wizards and designers.
Using this new Siebel Tools capability, you can do the following kinds of tasks for
.COM applications:

 Define your overall Web page structure


 Reorder sections on pages
 Change the search criteria for sections
 Add or delete buttons and controls

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 9

Introduction
Whats New in This Release

Figure 3 shows the Web Page object typeWeb Page is one of several new object
types that support HTML thin client configuration.

Figure 3.

Web Page Objects

For information about doing .COM configuration, see Chapter 7 of this book and the
Configuring Siebel .COM Applications.
For information about new Web-related object types, see the Siebel Object Types
Reference.

In t ro - 1 0

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

Business Services

Intro

This feature provides a new top-level object (like a business object or applet) that
can be used to implement reusable business logic, and implement business rules
capabilities. Business services:

 Have methods, properties, and a state


 Are building blocks for Siebel applications
 Are supplied in standard Siebel applications (C++ business services) or can be
configured by customers using Siebel VB or Siebel eScript

 Can be defined in Siebel Tools (built-in business services) or the administration


client (runtime business services)

 Are callable from scripts or via object interfaces using COM, CORBA, or Java

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 1 1

Introduction
Whats New in This Release

Figure 4 shows the Business Service object type.

Figure 4.

Built-in Business Service Objects

For information about using this feature, see the Siebel Object Interfaces Reference
and the Siebel eBusiness Application Integration Guide.
For information about the Business Service object type, see the Siebel Object Types
Reference.

In t ro - 1 2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

Virtual Business Components

Intro

Virtual business components enable you to:

 Represent external data (for example, data in an SAP R/3 database) as a virtual
business component within a Siebel application

 Use business services (see Business Services on page Introduction-11) to


transfer data
This feature provides the following benefits:

 Avoids the duplication of data between back-office solutions and Siebel


applications

 Provides a unified presentation of legacy and Siebel data within the Siebel
application user interface
For information about configuring integration objects, see the Siebel eBusiness
Application Integration Guide.
For information about the Integration object type, see the Siebel Object Types
Reference; for information about the Integration Object wizard, see Integration
Object Wizard on page 13-35.
For more information about virtual business components, see Virtual Business
Components on page 18-17 and the Siebel eBusiness Application Integration Guide.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 1 3

Introduction
Whats New in This Release

New Object Wizards

Intro

Wizards in Siebel Tools step you through the process of creating and configuring an
object definition of a particular object type and stylefor example, a Siebel applet.
Wherever a wizard exists for a particular task in Siebel Tools, you can choose to use
it or not:

 If you dont use the wizard, you change property settings for object definitions
directly.

 If you use the wizard, it asks you for your preferences, and then bases property
settings on them.
Prior releases introduced the following wizards:






List Applet
MVG Applet
Pick Applet
Form Applet






Chart Applet
BusComp
Report
View

Siebel Tools Version 6.0 has the following new wizards:

 Pick List
 MVG
 OLEDB Rowset
 Integration Object
For information about using Siebel Tools wizards, see Chapter 13.
OLEDB Rowset Wizard is explained in more detail in the following section.

In t ro - 1 4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

OLEDB Rowset Wizard


OLEDB is a specification for a set of data access interfaces designed to enable
heterogeneous datastores to work together. Components built to the OLEDB
standard present external data as a tabular format with a minimum of custom
development.
The Siebel OLEDB Wizard is a read-only provider that exposes Siebel business
components as virtual OLEDB tables. Using the Siebel OLEDB Wizard, external
OLEDB-enabled applications (like Microsoft Excel) can seamlessly access data
stored in Siebel by referring to Siebel objects like Contact or Account without the
need to understand the internals of the Siebel Data and Object Model. The Siebel
OLEDB Wizard is integrated with Siebel Tools so you can configure the Siebel
business components that are exposed to the client application as OLEDB tables.
You can use the OLEDB wizard in two modes:

 Thin client mode


 Local Siebel client mode
The OLEDB wizard steps you through the process of creating OLEDB tables.
Using the OLEDB Rowset Wizard is described in detail in the Siebel eBusiness
Application Integration Guide.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 1 5

Introduction
Whats New in This Release

Multiple Organizational Visibility

Intro

Customers with large or complex Siebel application deployments, especially those


spanning multiple user groups both internal and external to their enterprise, can
now better control visibility to application data within and between those groups.
A new capability in Siebel eBusiness Applications, called multiple organizational
(multi-org) visibility, provides this support.
In prior releases of Siebel applications, you could limit visibility of accounts,
contacts, opportunities, and service requests at the individual level within a single
organization. Access to those kinds of records is limited to individuals whose
positions have been placed on virtual teams for each record.
In Version 6.0 you can limit access to additional entities, such as products, price
lists, and competitors. In addition, these limitations work at the level of business
organizations rather than at the level of individual users.
Multi-org visibility provides a logical layer above the visibility controls at the
enterprise, limited, and personal levels; it provides the ability to limit visibility to
all data based on the organization or organizations to which user positions are
assigned.
Multi-org visibility can be applied to all user data within Siebel eBusiness
Applications, including transactional data (for example, accounts, contacts, and
opportunities), reference data (for example, price lists), and run-time configuration
data (for example, Assignment Manager rules and Product Configurator models).
Configuring for multi-org visibility involves tasks accomplished within both Siebel
Tools and Siebel applications. There are a number of new configurable object
properties related to multi-org visibilityfor example, the Organization Table and
Set Primary Org properties of Assignment Object.
For information about new and changed visibility objects and properties, see the
Siebel Object Types Reference.
For information about controlling access to information (and other visibility topics),
see Chapter 8 and the Siebel Applications Administration Guide.

In t ro - 1 6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

New Interface Table Naming Conventions

Intro

In Version 6.0 of Siebel eBusiness Applications the existing set of interface tables
has been updated to be compliant with the new multiple organizational data model.
However, any row in one of these interface tables will refer to data owned by exactly
one organization. Export is no longer supported in the S_xxx IF tables, and the new
explicit primary mapping capability is not provided in the S_xxx IF tables.
A new family of interface tables has been introduced whose names are of the format
EIM_xxx. These tables are fully multi-org enabled. For example, using EIM_OPTY,
a single row can import an opportunity owned by organization Japan that
features a product defined by organization USA. All processes including export
are supported.
Siebel recommends that new customers use only the EIM_... interface tables, and
that existing customers transition to the new tables as soon as is convenient for
them. Siebel is continuing to support the existing S_... IF tables.

eScript COM/CORBA Integration

Intro

External objects can now be instantiated and accessed from Siebel eScript via COM
(Windows) and CORBA.
In prior releases, this was supported through an intermediate (wrapper) DLL or
shared object. The new feature enables seamless outbound integration with
external applications via standard published interfaces.
For information about this feature, see the Siebel Object Interfaces Reference and the
Siebel eScript Language Reference.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 1 7

Introduction
Whats New in This Release

Graphics Enhancements

Intro

User interface enhancements in Siebel Version 6.0 include the following.

Enhanced Bitmap Support


The support comprises:

 Support for high-resolution bitmapsapplet backgrounds and buttons can now


use high-resolution graphics for improved presentation

 A static image control type that enables you to use a static image (not tied to the
current record) for a high-impact user interface
For information about the Control object type, see the Siebel Object Types Reference.

Control of Text Styles and Colors


This release introduces a new object type called Text Style. You can define objects
of this type to centrally control the font characteristics of the user interface of your
Siebel dedicated client, Windows thin client, or Java thin client applications.
Control properties for this object type include:

 Text stylecan be inherited from applet, view, or application


 Foreground color
 Background color

In t ro - 1 8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

Figure 5 shows the new Text Style object type.

Figure 5.

Text Style Object Type

For information about the Text Style object type, see the Siebel Object Types
Reference.

Removable Applet Borders


In this release the View object type has a new attribute: No Borders.
The default is FALSE.
If you set the property to TRUE:

 All applets in the view appear without borders.


 There is no spacing between the applets in the view.
This provides a high-impact visual effect of a contiguous canvas when used in
conjunction with a view background bitmap.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 1 9

Introduction
Whats New in This Release

Dynamic User Interface Enhancements

Intro

Three new features in Version 6.0 provide a more intuitive and appealing user
interface:

 Dynamic control properties


 Configurable menus and toolbars

Dynamic Control Properties


You can now dynamically show or hide a control from an applet depending on the
record being shown. The following properties of controls can be modified through
scripting:

 Text style
 Foreground color
 Background color
 Visible
 Enabled
For example, if the account being viewed is a federal account, the Annual Revenues
text box and associated label can be hidden.
If some required information is missing, the corresponding label can be made red
upon validation.
These capabilities are available only in the dedicated client.
For information about using this feature, see the Siebel Object Interfaces Reference.

Configurable Menus and Toolbars


In Siebel Tools 6.0 you can:

 Configure system menus as well as custom menus in Siebel Tools


 Assign shortcuts and keyboard accelerators to menu items and toolbar items

In t ro - 2 0

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

This feature enables you to control product functionality (for example, export and
correspondence) available to your end users.
The Command property of each object names the command to be executed.
Commands can initiate business services, and can be enabled or disabled through
business services.
Figure 6 shows definitions of various Edit system menus.

Figure 6.

Edit System Menus

For information about system menus and toolbars, see Appendix A.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 2 1

Introduction
Whats New in This Release

New Validation Options

Intro

Figure 7 (see items 61 through 71) shows validation options new in this release.

Figure 7.

New Validation Options

Options 64 through 71 are used with integration objects; for more information about
them, see the Siebel eBusiness Application Integration Guide.

In t ro - 2 2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Whats New in This Release

New Reporting Capability

Intro

In Siebel Tools 6.0 you can define reports that will run in the Report Server.
For more information about the new reporting capabilities, see the Siebel Reports
Guide.
NOTE: Your Siebel implementation may not have all the features described in this

guide, depending on which software modules you have purchased.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 2 3

Introduction
Additional Documentation

Additional Documentation

Intro

The following documentation provides additional information that may help you do
Siebel application configuration.

Other Siebel Tools Documentation

Intro

Table 1 lists additional books in the Siebel Tools documentation set.


Table 1.

Additional Books in the Siebel Tools Documentation Set

Book Title

Information Contained in the Book

Siebel Object Types


Reference




Alphabetical list of the object types you can configure

Siebel Object Interfaces


Reference





Programming environment embedded in Siebel Tools

Quick reference information about the syntax for Siebel


events and methods

Summary and brief description of the Siebel VB commands


and functions

Language overviewthe essential rules and components


of Siebel VB

List of all commands and functions, including examples

Summary and brief description of the Siebel eScript


commands and functions

Language overviewthe essential rules and components


of Siebel eScript

List of all commands and functions, including examples

Siebel VB Language
Reference Guide

Siebel eScript Language


Reference

Siebel Reports Guide

In t ro - 2 4

Definitions for properties within each object type

Interfaces available for accessing Siebel objects


Siebel events and methods, grouped by the type of object
with which they can be used

How to use the Actuate Developer Workbench to customize,


enhance, and create new Siebel reports

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Additional Documentation

System Administration Documentation Set

Intro

When you do Siebel application configuration, you may need to consult books in
the system administration documentation set (for example, to set up the
workstation/server development environment and to import legacy data into your
Siebel application).
Table 2 contains a list of the books in the system administration documentation set,
and the topics covered in them.
Table 2.

System Administration Documentation Set

Book Title

Information Contained in the Book

Siebel Server
Administration Guide

Server administration, architecture, and system service


administration





Security administration

Server components and parameters





EIM imports, exports, deletes, and merges





Assignment concepts and strategy








Siebel Remote

Siebel Enterprise
Integration Manager
Administration Guide
Siebel Assignment Manager
Administration Guide

Siebel Remote and


Replication Manager
Administration Guide

Version 6.0

(Sheet 1 of 2)

State model administration


Server Manager, Data Quality Manager, List Manager,
and Object Manager

Interface tables and base tables


EIM configuration file

Configuring and running Assignment Manager


Defining assignment rules and criteria

Extracting and setting up mobile clients


Synchronization
Replication Manager
Regional servers
Routing rules and groups

Siebel Tools Guide Volume 1 of 2

I n tr o - 2 5

Introduction
Additional Documentation

Table 2.

System Administration Documentation Set

(Sheet 2 of 2)

Book Title

Information Contained in the Book

Siebel Client
Administration Guide




Thin clients

Siebel Anywhere Guide




Siebel Anywhere

Siebel Workflow Guide

Mobile clients

Packager utility

How to configure, implement, test, and monitor Siebel


Workflow

Other Related Documentation

Intro

The documents listed in Table 3 may also be useful to you.


Table 3.

In t ro - 2 6

Other Related Documentation

Document Title

Information Contained in the Document

Siebel Basics

Using Siebel applications

Using Siebel Applications

Using Siebel applications

Siebel Server Installation Guide

Installing Siebel applications

Siebel Upgrade Guide

Upgrading Siebel applications

Configuring Siebel .COM


Applications

Configuring HTML thin client applications

Siebel eBusiness Application


Integration Guide

Virtual business components and business services

Siebel Applications Administration


Guide

Administering Siebel applications

Siebel Online Help

Additional source of product information

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Additional Documentation

How to Order Product Documentation

Intro

For copies of any Siebel product documents, please use Siebel Books Online,
accessible via the Worldwide Services tab on the Siebel Systems Web site
(www.siebel.com). Through Siebel Books Online, you can order additional Siebel
documentation and copies of the Bookshelf for Siebel eBusiness Applications
CD-ROM.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 2 7

Introduction
Contacting Siebel Technical Support

Contacting Siebel Technical Support

Intro

Do you know how to access Siebel Technical Support? It is crucial that you
understand the requirements for getting support. This will ensure the best
experience possible. If you have questions, please dont hesitate to contact us.
To ensure that you maximize your knowledge of Siebel products and your return on
investment:

 You must attend Siebel training to become a designated contact.


 Your trained designated contacts provide technical support to your users. Siebel
Technical Support provides support to your designated contacts only.
To provide efficient and timely support, and to empower you in the process:

 Siebel Technical Support is primarily Web-based, accessed via Siebel


SupportWeb (http://supportweb.siebel.com). Please submit new service
requests to us through SupportWeb, where you can also search the knowledge
base for solutions.

 Designated contacts receive read/write access to SupportWeb. All other project


team members at your company receive a read-only account to ensure they can
reap the benefits of the support knowledge base.
To register for Siebel training, please access http://www.siebel.com/education/ and
choose Siebel Customer Technical Education. Questions on the above can be
directed to Siebel Technical Support at:
eBusiness Customers:

support@siebel.com

Workgroup Customers: swasupport@siebel.com or:


Americas: eBusiness: 800.214.0400 or 650.295.5724 Workgroup: 800.354.1571
London:

+44.1784.494.949

Tokyo:

+81.3.5469.3811(main number)

Munich:

+49.89.95718.400

Singapore: +65.320.8533 (main number)

Please submit technical issues and updates to Siebel SupportWeb


(http://supportweb.siebel.com). If you do not have a SupportWeb account, please
email us at the relevant email address above. Thank you and we hope you enjoy
working with Siebel Technical Support!

In t ro - 2 8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Introduction
Siebel Welcomes Your Comments

Siebel Welcomes Your Comments

Intro

To help us with future versions, we want to know about any corrections or


clarifications that you would find useful. Please include in your message:

 The title and version of this guide


 Your name, your company name, job title or functional area, phone number, and
email address
Write to us via regular mail or email at:
Siebel Systems, Inc.
Technical Publications Department
1855 South Grant Street
San Mateo, CA 94402-2667
doc@siebel.com
We appreciate your feedback.

Version 6.0

Siebel Tools Guide Volume 1 of 2

I n tr o - 2 9

Introduction
Siebel Welcomes Your Comments

In t ro - 3 0

Siebel Tools Guide Volume 1 of 2

Version 6.0

Part 1

Siebel Application Environment

Chapter 1. Installing Siebel Tools


Chapter 2. Application Configuration (Basic Concepts)
Chapter 3. Siebel Architecture (Basic Concepts)
Chapter 4. Using Siebel Tools
Chapter 5. Managing Application Development Projects

Version 6.0

Siebel Tools Guide Volume 1 of 2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2


Preinstallation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Verifying Siebel Tools Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Installing a Database Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Installing Siebel Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Post-Installation Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Verifying Successful Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Verifying the Siebel Tools Directory Structure . . . . . . . . . . . . . . . . . . . . . . 1-9
Siebel Tools Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11
Siebel Tools ODBC Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-12
Running Multiple Local Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-13
Repository Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-15
Setting Up the Development Environment . . . . . . . . . . . . . . . . . . . . . . . .1-16
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 1-19

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-1

Installing Siebel Tools


About This Chapter

About This Chapter

This chapter explains how to install Siebel Tools and set up the application
development environment.

Preinstallation Tasks

Do the following tasks before running the Siebel Tools installation program.

Verifying Siebel Tools Prerequisites

Siebel Tools supports the hardware and software platforms listed in the Siebel
System Requirements and Supported Platforms and Siebel Release Notes. Before
installing Siebel Tools, make sure your client platforms meet all of these
requirements and have all required third-party software installed, including
database connectivity software for your chosen RDBMS.

Installing a Database Server

As a prerequisite to using Siebel Tools, you must have installed a Siebel Database
Server, which is used to store the Siebel Tools project repositories. For information
about how to do that, see the Siebel Server Installation Guide.

1-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Installing Siebel Tools

Installing Siebel Tools

To install Siebel Tools on a workstation


1 Navigate to the \seatools directory on the Siebel eBusiness Applications Client
CD-ROM in Windows Explorer.
2 Double-click setup.exe to start the Siebel Tools Installation program.
3 In the Welcome dialog box, click Next.
4 In the Setup Type dialog box, select the type of Siebel Tools installation to install
on this PC:
 Typical Setup. Install all Siebel Tools components. This option is
recommended for most users.
 Compact Setup. Install all modules except the help files, report source code,
and demonstration database.
 Custom Setup. Lets you customize your installation by choosing among
different components. Each component is listed with the amount of disk
space it requires. Click the Disk Space button to see how much disk space is
available on the hard drive and network drives that are accessible from this
PC. This option is recommended for experienced administrators only.
NOTE: A warning appears if there is insufficient disk space to install Siebel Tools
on the destination host machine. In this case, you must free some disk space
before continuing with the installation process.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-3

Installing Siebel Tools


Installing Siebel Tools

5 Select a destination directory.


The default directory for Siebel Tools is C:\siebdev.
 Click Next in the Setup Type dialog box to accept the default directory.
 Click Browse to specify a different destination directory.

The directory name cannot be more than 18 characters long, but long
filenames, including spaces, are supported. If you specify a directory other
than C:\siebdev, make the appropriate substitutions as you read this guide.
Caution: Do not install Siebel Tools in the same directory as the
Siebel client. Doing so will cause memory conflicts and program
crashes.

6 Specify the name of your server database in the Server Database dialog box and
click Next.
7 Complete the Required Software Component - ODBC Pack dialog box.
 If your PC has the exact required versions of the ODBC Text and Access
drivers (and the Microsoft SQL Server, if you are deploying on that database),
this dialog box does not appear.
 If you have newer versions of the ODBC drivers installed, this dialog box lets
you choose whether to install the older versions of the ODBC drivers
included with the Siebel application software.
 If you have older versions of the ODBC drivers installed, you must install the
versions provided with Siebel eBusiness Applications before continuing with
the installation.

1-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Installing Siebel Tools

To install the Microsoft Data Access Components


1 Click Next to launch the Microsoft Data Access Components (MDAC) installer,
which installs the ODBC drivers.
2 Click Yes to accept the license agreement.
3 Click Continue to proceed with the installation.
4 Click Complete to install the required ODBC drivers.
5 If you selected Microsoft SQL Server in the Server Database dialog box, the
Local Database dialog box will appear.
a Specify the local database used by your organization for Siebel Remote
mobile users.
b Click Next.
NOTE: If your server database is not Microsoft SQL Server, you will not see this

dialog box. Proceed to the next step.

6 Click OK to exit the installer and return to the Siebel Tools installation program.
Microsoft licensing requires that at least one 32-bit Microsoft product, such as
Microsoft Word 7 (the version of Word that comes with Office 97), be installed on
the PC before Data Access Components can be installed.
NOTE: Do not select Restart Windows if prompted to do so by the MDAC installer.
Instead, select Exit Setup. Siebel recommends that you complete the installation
before rebooting your computer.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-5

Installing Siebel Tools


Installing Siebel Tools

To finish installing Siebel Tools


1 In the Server Locations dialog box, enter the names of the Siebel Remote Server
and Siebel File System to which this client will connect, and click Next.
These names should be listed in the Deployment Planning Worksheet, which is
part of the Siebel Server Installation Guide. You must use the network name
(machine name) of the server where the Siebel Server is installed. Use either the
UNC name of the Siebel File System directory or a drive letter mapped to it.

2 Complete the Database Identification dialog box:


 For DB2, complete the following:
Connect string. Enter the database alias for your Siebel Server Database in the
Deployment Planning Worksheet.
Tableowner. Enter the name of the database account that owns the Siebel
tables in the Deployment Planning Worksheet.

 For Informix, complete the following:


Connect String. Enter the name of the database on the Informix default server
in the Deployment Planning Worksheet.
Table Owner. Enter the DBSA account /e name; for instance, Informix in the
Deployment Planning Worksheet.

 For Microsoft SQL Server, complete the following:


Server Database Name. Enter the server name for your Siebel Server Database

in the Deployment Planning Worksheet.


Database Owner Name. Enter the name of the database owner account in the

Deployment Planning Worksheet.


NOTE: Microsoft SQL Server is case-sensitive; all information must be entered

exactly as it exists on the SQL Server database.

1-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Installing Siebel Tools

 For Oracle, complete the following:


Connect String. Enter the SQL*Net connect string for your Siebel Server

Database. This is recorded on Page 5, Section 11 of the Deployment Planning


Worksheet.
Table Owner. Enter the name of the database account that owns the Siebel
tables. This is also recorded on Page 5, Section 11 of the Deployment
Planning Worksheet.

 For Sybase, complete the following:


Server Database Name. Enter the server name for your Siebel Server Database.

This is recorded on Page 5, Section 12 of the Deployment Planning


Worksheet.
Database Owner Name. Enter the name of the database owner account. This is

also recorded on Page 5, Section 12 of the Deployment Planning Worksheet.


NOTE: Sybase is case-sensitive; all information must be entered exactly as it

exists on the database.

3 In the Select Program Folder dialog box, specify the name of your program
folder, and click Next.
The Siebel Tools icons are installed in this directory. The Event Log dialog box
appears after the installer has completed copying files. It describes the steps the
installer completes during your Siebel Tools installation.

4 Click Next to continue.


5 Click Finish to complete the installation.
Your Siebel Tools installation is now complete.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-7

Installing Siebel Tools


Post-Installation Tasks

Post-Installation Tasks

Do the following tasks (described in the following sections) after running the Siebel
Tools installation program:

 Verifying Successful Installation


 Verifying the Siebel Tools Directory Structure on page 1-9
 Siebel Tools Icons on page 1-11
 Siebel Tools ODBC Data Sources on page 1-12
 Running Multiple Local Databases on page 1-13
 Repository Naming Conventions on page 1-15
 Setting Up the Development Environment on page 1-16

Verifying Successful Installation

Verify that installation was successful by connecting to the Siebel Database Server
and entering your license key for Siebel Tools.

To verify that the installation completed successfully


1 Start Siebel Tools and log onto the Siebel Database Server.
The first time you log on, the system prompts you to enter a license key number
if you have not done so already.

2 Enter your license key number in the dialog box that appears, and click OK.
You can find the license key number that has been assigned to your site on the
CD-ROM case.

1-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Post-Installation Tasks

Verifying the Siebel Tools Directory Structure

The Siebel Tools installation program creates the following directories:


SIEBDEV
actuate
afc
bin
cache
bin
help
local
files
inbox
outbox
locale
log
msgtempl
objects
packager
install
reports
enu
rptsrc
enu
lib
standard
sample
files
inbox
outbox
sqltempl
temp
upgrade
webtempl
enu

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-9

Installing Siebel Tools


Post-Installation Tasks

SIEBDEV. The Siebel Tools root directory. (The name could be different based on
installation choice.)
actuate. Actuate-related files for generating and running reports.
afc. Actuate Foundation Class files.
bin. Actuate binary files.
cache. Actuate cache files.
bin. All binary files (*.exe, *.dll, *.cfg, *.dsn, *.enu, *.bat), configuration

files, and user preference files.


help. Siebel Tools help files.
local. Where the local, extracted database is stored.
files. Where local file attachments are stored.
inbox. Not used for Siebel Tools.
outbox. Not used for Siebel Tools.
locale. Language-specific files.
log. Log files from Siebel Tools operations.
msgtempl. Message files.
objects. Contains siebel.srf, the compiled definition file used by Siebel Tools.
This is also the default location for .srf files created using the Siebel Tools object
compiler. The Siebel Client itself stores .srf files in the siebel\objects directory,
not the SIEBDEV\objects directory.
reports. All report files.
enu. American-English version of reports.

1-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Post-Installation Tasks

rptsrc. Actuate source files for all reports.


enu. American-English version.
lib. Report object library files.
standard. Report object design files.
sample. Where the sample database is installed.
files. Where the sample file attachments are installed.
inbox. Not used for Siebel Tools.
outbox. Not used for Siebel Tools.
sqltempl. SQL statement fragments used by certain Siebel Tools operations.
temp. Temporary working area.
upgrade. Not used for Siebel Tools.

Siebel Tools Icons

The Siebel Tools installation creates the following icons in the Siebel program folder
for the modules you have chosen to install:
Local Database Initialization. Initializes the local database.
Siebel Tools. Starts Siebel Tools.
Siebel Tools Demo. Connects to the Siebel Tools demonstration database.
Siebel Tools Help. Accesses Siebel Tools help.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-11

Installing Siebel Tools


Post-Installation Tasks

Siebel Tools ODBC Data Sources

The Siebel Tools Installer creates the ODBC data sources described in Table 1-1. By
default, these are created as user data sources, which are visible only to the user
account under which Siebel Tools is installed. To create system data sources, you
must modify the SystemDSN parameter in the siebel.ini file before running the
Siebel Tools installation.
For information about how to do that, see the Siebel Client Installation and
Administration Guide.
The drive letter and directory at the end of each data source name will vary,
depending on where you have chosen to install Siebel Tools.
Table 1-1.

1-12

Siebel Tools ODBC Data Sources

Data Source

Use

SSD Local Db C:/SIEBDEV

Connects to the local SQL Anywhere database.

SSD DB2Udb C:/SIEBDEV

Connects to the DB2 database.

SSD MSQL C:/SIEBDEV

Connects to the Microsoft SQL Server database.

SSD Oracle C:/SIEBDEV

Connects to the Oracle database.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Post-Installation Tasks

Running Multiple Local Databases

You may want to have multiple local databases open at the same timefor example,
to run Siebel Tools and the Siebel client application simultaneously. If you want to
operate in this manner, you must change the local database configuration of one of
the applications.
SQL Anywhere also requires that all database files opened simultaneously have
unique filenames. Because all Siebel client applications use the same default name
for their local database files, you must rename the database file of one application
and move it to the database directory of the other.

To rename and move the local database for your Siebel Tools installation
1 Exit Siebel Tools if it is running.
2 Edit the .cfg file to change the name of your local database file:
a Open the tools.cfg file (in the \bin subdirectory of your Siebel Tools
installation) with a text editor.
b Replace the file parameter for ConnectString, under the [Local] section, with
the new name and location of the Siebel Tools local database file.
For example, change:
ConnectString

= d:\siebdev\local\sse_data.dbf

ConnectString

= c:\siebel\local\sse_tools.dbf

to:

Where:
c:\siebel = the root directory of the other Siebel application.
local = the directory of the data source.

3 Rename the Siebel Tools local database file and move it to the directory specified
in Step 2.
In this example, the c:\siebdev\database\sse_data.dbf file would be renamed
sse_tools.dbf and moved to the c:\siebel\database directory.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-13

Installing Siebel Tools


Post-Installation Tasks

4 Modify the ODBC data source that points to the Siebel Tools local database as
follows:
a From a DOS prompt, navigate to the \bin subdirectory of your Siebel Tools
installation.
b Type ODBCAD32 to start the ODBC administrator.
c Select the data source used by Siebel Tools.
This defaults to SSD Local Db c:\siebdev
Where:
c:\siebdev = the directory into which Siebel Tools was installed.

d Click the Configure button.


e Change the value in the Database File window, under the Database Startup
section, to the new location and name of the Siebel Tools local database. In
this example, change
c:\siebdev\local\sse_data.dbf

to:
c:\siebel\local\sse_tools.dbf

1-14

Close the ODBC32 applet.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Post-Installation Tasks

Repository Naming Conventions

Use a consistent naming convention for your repositories in all environments. A


number of dependencies exist upon repository names: both the Siebel eBusiness
Applications client and server programs point to a specific repository by name. The
procedures for upgrading to new versions of Siebel eBusiness Applications are also
dependent on repository names.
A consistent naming convention ensures successful configuration and testing, and
minimizes the work required when migrating new repositories or performing
upgrades. Follow these guidelines in determining your repository naming
conventions:

Production environment. Decide on a repository name to be used in your

production environment. By default, the name is Siebel Repository and should


be changed only if you have a compelling reason, because much of the Siebel
documentation and the default configuration of Siebel eBusiness Applications
assume the use of this name.

Test environment. Choose the same name for the active repository in your test

environment and the current working repository in your production


environment. The default name is Siebel Repository. Using the same name
simplifies the process of migrating repositories from development to test and
from test to production, and eliminates the need to change your Siebel client or
server configurations when you do so.

Development environment. Use descriptive names for the other repositories in your
development environment. Typically, your development environment will
contain a number of repositories in addition to the current repository that is
being configured. These may include the initial repository loaded with Siebel,
other repository versions used in Siebel upgrades, and repositories from
previous versions of your custom configuration.

These repositories should be given unique and fully descriptive names. For
example, you might use Siebel 6.0.1 Original for the initial repository that was
included in the standard Siebel eBusiness Applications version 6.0.1.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-15

Installing Siebel Tools


Post-Installation Tasks

Setting Up the Development Environment

This section:

 Explains how to set up and work in the Siebel Tools development environment
 Describes how to establish the development environment
 Lists the names of important directories
 Explains how to set up developers as mobile users
This section focuses on the activities associated with configuring a Siebel
application. Some of these activities also apply to extending the database. See
Chapter 11, Using Extension Tables and Columns, for a complete discussion of
database extension.

Creating the Development Environment


As a developer, you need to be aware of which repository is used for the test
environment, the system test environment, and the production environment.
Operating effectively with multiple environments requires the ability to work with
local databases, and a familiarity with checking projects into and out of repositories.
First create a complete development environment that includes both a Siebel
Database Server and a Siebel Server. These can reside on the same physical
machine. This environment should be completely separate from your production
environmentno development work should be performed in the production
environment.
You should also have a separate test environment into which your configuration can
be migrated for system testing prior to installation in the production environment.
As with the development environment, the test environment should include both a
Siebel Database Server and a Siebel Server.
The development database will store the working copies of all repositories being
configured by all developers. Configuration work should take place only on the
development database. After you have finished configuring a repository, you will
use the Siebel repimexp utility to transfer that repository to the test (and, later,
production) environment. For information about this utility, see Backing Up and
Restoring Repositories on page 14-18.

1-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Post-Installation Tasks

Setting Up Developers as Mobile Users


Because all developers need Siebel Tools and a local repository, they should install
the Siebel Mobile Client on their computers.

To set up developers as mobile users


1 Install Siebel Tools on all developers PCs, in a directory separate from the
standard Siebel applications.
For example, if you have installed your Siebel applications in C:\siebel, install
the development tools in C:\siebdev. This ensures that the development and
run-time environments are distinct. You may be using Siebel Remote in both
environments, so you need to ensure that the two installations do not conflict.

2 Verify that each developer has a valid user name and password for the Siebel
Development Database Server.
In most cases, their employee logins and passwords will also be their Database
Server user names and passwords.

3 Using a Siebel application client connected to the development server database,


create an Employee record and a Mobile User record for each developer.
Use the developers first and last names for the employee first and last names.
Use a standard naming convention, such as first initial and last name, for the
logon name. This makes it easy to identify who has locked a project.

4 Grant each developer a position and a responsibility.


You can grant all developers the Siebel administrator responsibility, or you might
want to create a responsibility with access to all views except the System,
Service, and Marketing Administration views to prevent unintended changes to
important system preferences. You can use a common position for all
developers, but, for testing purposes, you should also set up an organization
structure that models the business.

5 On the Siebel Server, generate a database template.

Version 6.0

Siebel Tools Guide Volume 1 of 2

1-17

Installing Siebel Tools


Post-Installation Tasks

6 On the Siebel Server, extract each developers local database using the Database
Extract component.
Database Extract creates a template for the developers local database that is
populated only with business data, not repository data. All enterprise-visible
data is extracted into this template, together with any limited-visibility data
(contacts, accounts, opportunities, and so on) to which this user has access.

7 Initialize the Developers Mobile Client Database.


Begin by double-clicking the Local Database Initialization icon in the Siebel
Tools program group on each developers workstation to start the local database
initialization program.

8 Enter the Siebel developer logon created in Step 3 and an appropriate password.
The initialization program creates the sse_data.dbf local database in the \local
directory of your Siebel Tools installation, for example c:\siebdev.

9 Do an initial get of all projects on each local database, as described in Getting


Projects on page 5-10.
10 Check Out selected projects you want to work on, as described in Checking Out
Projects on page 5-12.

1-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Installing Siebel Tools


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information


This chapter explained how to install Siebel Tools and set up the development
environment.
Table 1-2 lists sources of additional information about topics discussed in this
chapter.
Table 1-2.

Version 6.0

Sources of additional information

For information about this topic . . .

. . . see the following

Object naming conventions

Object Naming Conventions on page 3-19 and


in Appendix D

Database extension

Chapter 11

Using the repimexp utility

Backing Up and Restoring Repositories on


page 14-18

Getting projects

Getting Projects on page 5-10

Checking out projects

Checking Out Projects on page 5-12

Siebel Tools Guide Volume 1 of 2

1-19

Installing Siebel Tools


Chapter Summary and Where to Get More Information

1-20

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2


Overview of Siebel Application Configuration . . . . . . . . . . . . . . . . . . . . 2-3
What Is Siebel Tools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6
The Siebel Tools Application Window . . . . . . . . . . . . . . . . . . . . . . . 2-7
Siebel Tools Product Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Components of a Siebel Application . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20
Siebel Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22
Programming Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
Siebel VB and Siebel eScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-25
Siebel Object Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-26
Configuration Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . 2-27
Major Configuration Tasks

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-28

Chapter Summary and Where to Get More Information . . . . . . . . . . . . 2-30

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-1

Application Configuration (Basic Concepts)


About This Chapter

About This Chapter

This chapter provides an introduction to application configuration in the Siebel


application environment, and an overview of the components and capabilities of
Siebel Tools, a development environment that helps you customize your Siebel
application to meet your organizations specific needs.

2-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Overview of Siebel Application Configuration

Overview of Siebel Application Configuration

Siebel applications are delivered out of the box with a standard interface
definition.
Figure 2-1 shows the user interface of a standard Siebel dedicated client application.

Figure 2-1.

Version 6.0

User Interface of a Standard Siebel Dedicated Client Application

Siebel Tools Guide Volume 1 of 2

2-3

Application Configuration (Basic Concepts)


Overview of Siebel Application Configuration

Figure 2-2 shows the user interface of a standard Siebel .COM application.

Figure 2-2.

User Interface of a Standard Siebel .COM Application

Many Siebel customers use standard Siebel applications just as they are purchased;
however, other customers have requirements to modify the look and feel,
behavior, and workflow of their Siebel applications.

2-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Overview of Siebel Application Configuration

For example, you might need to configure your standard Siebel application in one
of the following ways:

 To create a customized form applet where your call center employees will enter
new contact information

 To modify the definitions of some of the business entitiesfor example, to create


a customized follow-up list in place of the standard Siebel Activity entity

 To use Siebel extension tables to modify the standard database tablesthereby


allowing your sales team to enter additional information about potential sales
leads

 To modify the way data is presented in your HTML thin client application

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-5

Application Configuration (Basic Concepts)


What Is Siebel Tools?

What Is Siebel Tools?

Siebel Tools is an integrated environment for configuring all aspects of a Siebel


application so a single configuration can be:

 Deployed across Windows, Java, HTML and wireless clients


 Easily maintained
 Automatically upgraded to future Siebel product releases
Siebel Tools is not a programming languageit is a declarative software
development tool. Standard Siebel applications provide a core set of object
definitions that you can use as a basis for your tailored application. Using Siebel
Tools and other configuration tools that are part of a Siebel solution, individual
programmers or teams of developers can customize a standard Siebel application
without modifying source code or SQL.
Siebel Tools is the major tool set among a number of configuration tools available
to Siebel application developers, system administrators, and database
administrators. Some of the configuration tools are accessed through Siebel
applicationsSiebel Tools, however, is a separate product with its own user
interface.

2-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

The Siebel Tools Application Window

Figure 2-3 shows the main application window for Siebel Tools. (For more
information about this window, see Windows in Siebel Tools on page 4-4.)
Object Explorer window

Figure 2-3.

Object List Editor windows

Siebel Tools Application Window (BusObject Explorer)

The window in Figure 2-3 (which appears when you initialize Siebel Tools) is
actually the interface for a component of Siebel Tools called BusObject Explorer.
Other product components are described in the following sections.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-7

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Siebel Tools Product Components

The components of Siebel Tools include:

 Siebel BusObject Designer


 Siebel VB and Siebel eScript
 Siebel COM Interfaces
 Siebel Database Extension Designer
 Siebel Application Upgrader
The following sections describe the components.

Siebel BusObject Designer


The Siebel BusObject Designer gives you the ability to customize Siebel products. It
includes:

Siebel BusObject Explorer. Graphical editing tool used for modifying and

managing object definitions (shown in Figure 2-3 on page 2-7).


The Siebel BusObject Explorer comprises:
 A hierarchical Object Explorer that enables you to browse the various object
types
 An Object List Editor for viewing and editing object definitions
 A properties window for editing object property values
 A Windows-style find capability that enables you to quickly locate objects
in the Siebel repository

2-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Siebel Object Visualization Views. Graphical representations of the relationships


between the various object definitions in the Siebel repository.

Figure 2-4 shows the details of a business component definition.

Figure 2-4.

Version 6.0

Object Visualization View of a Siebel Business Component

Siebel Tools Guide Volume 1 of 2

2-9

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Siebel Applet Designer. Drag-and-drop visual programming interface used to


modify and extend list, form, dialog, and chart user interface objects (applets).

These objects can be populated with standard Windows controls, including


buttons, combo boxes, check boxes, labels, and text fields, as well as ActiveX
controls. The controls can be configured with the Properties Window and
written using the integrated Siebel VB Editor.
The Siebel Applet Designer also helps ensure visually accurate and correctly
translated configurations by providing a design-time preview of the applet in a
variety of screen resolutions and under various language settings.
Figure 2-5 shows the Siebel Applet Designer.

Figure 2-5.

2-10

Siebel Applet Designer

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Siebel View Designer. Enables you to visually modify existing views and construct
new ones by dragging and dropping applets onto the view canvas.

No additional specification or code is required for defining the relationships


between the applets.
Figure 2-6 shows the Siebel View Designer.

Figure 2-6.

Siebel View Designer

Siebel Menu Designer. Provides a visual metaphor for customizing and extending

Siebel menu structures.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-11

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Figure 2-7 shows the Siebel Menu Designer.

Figure 2-7.

2-12

Siebel Menu Designer

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

New Object wizards. Assist you in the creating new objects in the Siebel

repository.
Wizards include:
 List Applet
 MVG Applet
 Pick Applet
 Form Applet
 Chart Applet
 BusComp
 Report
 View
 Pick List
 MVG
 OLEDB Rowset
 Integration Object

When you click on the type of new object you want to create, the Siebel wizard
guides you through the task of entering the properties that type of object
requires.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-13

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Figure 2-8 shows the Siebel List Applet Wizard.

Figure 2-8.

2-14

Siebel List Applet Wizard

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

BusObject Repository Manager. Provides a multiuser development environment


that includes access to check-in/check-out functionality and version control.

In a typical Siebel Tools development environment, a server repository contains


the master application definition. Each developer on a team has a local
repository to which Siebel Tools connects. Developers can lock projects, check
them out from the server repository, and move them into their local repositories
to make changes to the object definitions.
You can integrate the Siebel Tools check-in/check-out process with an external
version control system like Microsoft Visual SourceSafe, PVCS, or ClearCase,
enabling the development team to maintain a version history of all changes to
the repository.

Siebel BusObject Compiler. Enables you to compile the entire repository or

individual projects.
The compiler generates a Siebel repository file that is used to run a Siebel
application.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-15

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Figure 2-9 shows the Siebel Compiler dialog box.

Figure 2-9.

Siebel Compiler Dialog Box

Siebel VB and Siebel eScript


The Siebel VB and Siebel eScript development environments provide you with a
programming platform to:

 Integrate Siebel applications with third-party cooperative applications


 Extend the base functionality of the Siebel application screens and business
components

2-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Siebel VB is a Microsoft Visual Basic-like environment that includes an editor, a


debugger, and an interpreter/compiler that enable you to extend and further
configure Siebel applications. This capability is integrated with the Siebel Applet
Designer, so you can attach scripts to user interface element controls like buttons,
fields, and ActiveX controls.
Figure 2-10 shows the Siebel VB editor and debugger.

Figure 2-10. Siebel VB Editor and Debugger

Siebel eScript is a JavaScript-compatible language provided in Siebel Tools that


enables developers to write event procedures. Siebel eScript supports scripting in
Windows as well as non-Windows environments such as UNIX.
For more information about Siebel VB and Siebel eScript, see Programming
Environment on page 2-24.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-17

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Siebel Object Interfaces


You can use both Siebel VB (or Siebel eScript) and Siebels other object interfaces
to access Siebel data from third-party applications, provide integration with legacy
systems, and automate Siebel applications from other external applications. This
enables you to extend Siebel application behavior, provide client-side (and, for thin
client environments, server-side) integration to other applications, and provide
access to Siebel data and business rules from other programs that use Microsoft
Visual Basic, PowerBuilder, Java, or ActiveX.

Database Extension Designer


For developers who require extensions beyond built-in database extensions, Siebel
Database Extension Designer provides a point-and-click interface for extending
Siebel application tables. You can use these database extensions to capture data
from new fields in application screens or from external sources using the Siebel
Enterprise Integration Manager (EIM).

Siebel Application Upgrader


The Siebel Application Upgrader reduces the time and cost of version upgrades by
enabling 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 object definitions, and enables you to
manually override and apply any changes.

2-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


What Is Siebel Tools?

Figure 2-11 shows the Siebel Application Upgrader.

Figure 2-11. Siebel Application Upgrader

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-19

Application Configuration (Basic Concepts)


Components of a Siebel Application

Components of a Siebel Application

The key components of a Siebel application are:

 A common executable, siebel.exe


This is a general-purpose instantiation engine that instantiates and runs objects
whose definitions are stored in the repository. The run-time engine reads object
definitions at run time and generates on-the-fly optimized SQL statements to
the database. Therefore, customers do not need to write SQL code.
For a Siebel application, all configuration is done at the repository level. You
dont need to create your own SQL scriptthe application generates the SQL it
needs at run time.
Other object instantiation engines include:
 Siebel client application manager
 Thin client (for example, ActiveX and Java)
 Siebel Web engine

 A repository file (a compiled file with .srf extension) that contains definitions for
the configured application
The repository file is a compressed, binary, read-only file that contains the
configuration definitions of the objects you create or modify during the
configuration process, and that reside in the repository.
A single repository file can contain definitions for multiple applications.
The definitions (that is, the metadata) that specify a Siebel application reside in
the system database. Siebel Tools extracts them from the database in a
compilation process and stores them in a compressed format in a binary file for
faster access by the Siebel executable, which reads them from the repository file,
as needed.

 A configuration file (.cfg extension) that specifies the repository and database
files, and contains data sources and parameters
Because one of the parameters identifies the name of the application within the
repository file, each application requires a separate .cfg file.

2-20

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Components of a Siebel Application

Figure 2-12 shows the Siebel application components and their relationship to one
another.

Repository file

siebel.exe

Definitions of UI,
business entries,
database constructs

.cfg file

data sources and


parameters

RDBMS

Enterprise data
accessed by users

Figure 2-12. Components of a Siebel Application

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-21

Application Configuration (Basic Concepts)


Siebel Objects

Siebel Objects

Siebel applications are built on object-oriented principles.


A Siebel object definition is a data construct in the repository file that defines an
element of the:

 User interface
 Business entities
 Database organization
An object definition consists of a set of properties with assigned values.
For example, a view might have properties called:

 Name
 Title
 Inactive
The value of these properties might be:

 Name: Account List view


 Title: My Accounts
 Inactive: FALSE

2-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Siebel Objects

Figure 2-13 shows the properties of a view object with a Name of Account
ActiveBriefing.

Figure 2-13. Properties of View Object Account ActiveBriefing

In general, a large portion of the task of configuring a Siebel application involves


modifying or creating object definitions within Siebel Tools.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-23

Application Configuration (Basic Concepts)


Programming Environment

Programming Environment

Siebel applications are primarily enhanced through creating and modifying object
definitions rather than writing program code. This provides many of the important
benefits of the Siebel applications architecture, such as ease of application
configuration, maintenance, and upgrade. However, programming is supported
through three facilities in Siebel applications. These are Siebel VB, Siebel eScript,
and Siebel Object Interfaces.

Siebel VB. Siebel VB is a language provided in Siebel Tools that is similar to


Microsoft Visual Basic. It enables the developers to write event procedures to
attach to certain object types. For example, these custom event procedures can
be used to implement a button control or to attach additional validation logic to
a business component. Siebel VB is available on Windows platforms only.

Siebel eScript. Siebel eScript is a JavaScript-compatible language provided in

Siebel Tools that enables developers to write event procedures. Siebel eScript
supports scripting in Windows as well as non-Windows environments such as
UNIX.
Siebel eScript is ECMAscript compliantECMAscript is the industry standard
implementation of Java script.

Siebel Object Interfaces. Siebel Object Interfaces provides access to the object

definitions and data in Siebel applications by external programs through COM


and CORBA interfaces.
Siebel VB and Siebel eScript are discussed in the next section.
Siebel Object Interfaces are discussed in Siebel Object Interfaces on page 2-26.

2-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Programming Environment

Siebel VB and Siebel eScript

Siebel VB and Siebel eScript are programming languages that enable you to write
event procedures, known as scripts, that are associated with the Siebel Event Model.
Each script is associated with a specific object and event.
Scripts are attached to object definitions of specific object types. These object types
include application, applet, control, and business component. The Siebel Script
Editor, Debugger, and Compiler are provided in Siebel Tools for the creation and
testing of Siebel VB or eScript scripts. You indicate which language you will use in
a configuration file parameter.
NOTE: Scripts are associated with the Siebel Event Model. Each script is associated

to a specific object and event.


Siebel VB and Siebel eScript can be used to program the following kinds of
enhancements:

Data validation routines. These routines enforce specific business rules before or

after performing record manipulation operations, such as record writes and


deletes.

Data manipulation and computational routines. These routines can be used to

modify data. For example, a custom routine can set the value of one field based
on the value of another after a new record is created.

Version 6.0

Data transport routines. These routines import and export small volumes of data
between Siebel applications and other applications on the client machine.

Application launching routines. These routines launch external applications from


push-button controls or in response to Siebel events, and pass start-up
parameters.

Siebel Tools Guide Volume 1 of 2

2-25

Application Configuration (Basic Concepts)


Programming Environment

Siebel Object Interfaces

Siebel Object Interfaces provide open interfaces into the Siebel applications,
supporting integration between Siebel applications and external applications.
Siebel Object Interfaces are based on declarative object definitions that can be
configured and automatically upgraded to successive releases using Siebel Tools,
providing ease of configuration and maintenance.
Siebel Object Interfaces constitute an application program interface that supports:

 Microsofts Component Object Model (COM) using the Siebel COM Automation
and Siebel COM Data Servers

 ActiveX using Siebel ActiveX application control and Siebel ActiveX data control
 Java using the Siebel Java Data Bean
 Common Object Request Broker Architecture (CORBA) using Siebel CORBA
Interfaces

 Java
Siebel developers can integrate client and server applications from a variety of
vendors. Application integration typically requires that cooperative software
application programs interactively pass data back and forth. In addition, application
integration sometimes requires that one application control or automate
another application.
Siebel Object Interfaces enable you to:

 Do scripting and event handling in Siebel VB and Siebel eScript


 Access data and the user interface using automation interfaces
 Access data via COM, CORBA, ActiveX, and Java
The Siebel Object Interfaces are a collection of objects that expose their data and
functions to custom routines written in Siebel VB or Siebel eScript, and languages
external to the Siebel application. The interfaces provide access to Siebel business
objects with defined methods, events, and data.
For more information about the Siebel Object Interfaces, refer to the Siebel Object
Interfaces Reference.

2-26

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Configuration Goals and Objectives

Configuration Goals and Objectives

The major goal of Siebel application configuration is to create a target application


that meets the look, feel, and functional requirements of your organization and your
usersand is easy to maintain and upgrade.
Key objectives for your configuration project should include:

 Leverage existing Siebel application functionality (that is, never create new
objects unless your requirements cannot be met by modifying existing ones).
If you follow this principle your configured application will be much easier to
maintain and upgrade to future Siebel product releases.
The reason this is true is that during upgrade, new product features are
automatically applied to Siebel-supplied object definitions. Your custom
application (that is, an application that includes objects you create) will be
preserved during upgrade, but any specialized functionality or new child object
definitions implemented for the original Siebel definition will not be
implemented for your customized copy. In this situation you need to complete
your upgrade by manually comparing your cloned objects with the new standard
objects and making the relevant adjustments in the definitions of your clones.

 Standardize configuration development.


For object naming guidelines, see Object Naming Conventions on page 3-19
and in Appendix D. Follow these guidelines when you modify existing objects
or create new ones.

 Achieve acceptable system performance.


For information about tuning performance, see Chapter 16.

 Build a consistent and intuitive user interface.


For example, if you create a new form applet it should have the same general
look and feel as other form applets in your Siebel application.
For information about configuring your Siebel application user interface, see
Chapter 4.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-27

Application Configuration (Basic Concepts)


Major Configuration Tasks

Major Configuration Tasks

This is the general process you need to follow to configure a Siebel application
dedicated client application or HTML thin client application (for example, a .COM
or Wireless application):

1 Do a thorough business analysis of your organizations and users needs, and get
buy-in and time and resource commitments from the relevant organizations.
 Can you meet the needs of your users with a standard Siebel application?
 If not, what business needs will require changes to the application?
 How can you ensure success with your configured application?

2 Write a design document that includes:


 The requirements that are being satisfied by the configured application
 An ER diagram or text equivalent of the entity relationships
 The names and descriptions of the business objects and business
components required for your application, and how they relate to one
another
 Screen flow diagrams and a list of fields to be displayed on each applet
 A description of your development environment and process, for example:
 How the work will be divided up among participating developers
 Naming conventions the development team will be required to use
 How the application will be tested and rolled out to users
 The complete step-by-step procedures your development and test team will
need to follow to complete the application

3 Have the design reviewed by:


 Your participating organizations and users
 The Siebel Expert Services organization

2-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

Application Configuration (Basic Concepts)


Major Configuration Tasks

4 Set up your application development environmentfor example:


 System and database environment
 Developer workstations

5 Develop the application:


a Within Siebel Tools, create (or modify, if possible) the necessary object
definitions:
 Business components and business objects
 User interface objects (for example, applets, views, and screens)

b (HTML thin client application only) Modify your template files using a text
editor or HTML authoring tool.
c Compile your Siebel application and do unit testing.
6 Using the tools available to you in the Siebel application environment (for
example, Assignment Manager and Workflow Manager), implement the
appropriate assignment and workflow rules.
7 Extend the functionality of your application through scripting using Siebel VB or
Siebel eScript.
8 Globalize your application.
9 Do system and performance testing of your Siebel application.
10 Iterate through the development steps until your design has been fully
implemented and your application is running smoothly and meets your
performance objectives.
11 Introduce the application to your users and train them to use it effectively.
This book focuses on the tasks listed in steps 4 and 5, above.
For information about how to do Siebel application configuration tasks not
described in the Siebel Tools documentation, see Table 2-1 on page 2-30.

Version 6.0

Siebel Tools Guide Volume 1 of 2

2-29

Application Configuration (Basic Concepts)


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

This chapter introduced application configuration in the Siebel application


environment, and Siebel Tools, a declarative software development tool that helps
you configure your Siebel application to meet your organizations specific needs.
Table 2-1 lists sources of additional information about topics discussed in this
chapter.
Table 2-1.

2-30

Sources of Additional Information

For information about this topic . . .

. . . see the following

Siebel objects

Chapter 3

Siebel Tools application window

Chapter 4 and Appendix A

Guidelines for defining objects

Appendix D

Configuring Siebel eBusiness Applications

Chapter 6

Configuring HTML thin client applications

Chapter 7 and the Siebel HTML


Thin Client Developers Reference

Virtual business components and business services

Siebel Enterprise Application


Integration Guide

Assignment Manager

Siebel Assignment Manager


Administration Guide

Workflow Manager

Siebel Workflow Guide

Siebel VB

Siebel VB Language Reference Guide

Siebel eScript

Siebel eScript Language Reference

Siebel Object Interfaces

Siebel Object Interfaces Reference

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2


Layered Structure of Siebel Applications . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Data Objects Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Standard Tables and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5
Business Objects Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Business Components

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

User Interface Objects Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12


Object Definitions and Value Types . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Object Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Summary of the Major Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
The Siebel Repository and Database . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Configuration Guidelines: Architectural Considerations . . . . . . . . . . . . 3-23
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 3-24

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-1

Siebel Architecture (Basic Concepts)


About This Chapter

About This Chapter

This chapter describes the Siebel application architecture, which is a layered


structure containing user interface objects, business objects, and data objects, as
well as a third-party relational database management system.
The chapter also outlines key architectural considerations in setting up your
application development project.

3-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Layered Structure of Siebel Applications

Layered Structure of Siebel Applications

Siebel Tools enables you to customize Siebel applications by modifying and creating
object definitions. A standard Siebel application provides a core set of object
definitions, which you can use as a basis for your own tailored application.
NOTE: The terms object and object definition in the Siebel application context

do not mean the same thing as the terms object, object class, or object
instance as used in a programming language like C++.
Object definitions are grouped into three layers with different subject matter and
purposes; for example:

 Presentation of data
 Business entities
 Database details
Object types in a given layer depend on definitions in the next lower layer, and are
insulated from other layers in the structure. This means, for example, that you can
make changes to a Siebel application without changing the underlying database
structure. Similarly, you can extend the Siebel database schema without impacting
the Siebel application.
As shown in Figure 3-1, the Siebel application architecture consists of the following
four layers:

 User Interface Objects Layer


 Business Objects Layer
 Data Objects Layer
 Third-party relational database management system (RDBMS)

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-3

Siebel Architecture (Basic Concepts)


Layered Structure of Siebel Applications

User Interface Objects Layer


User interface
object definitions

Business Objects Layer


Business object
definitions

Siebel
eBusiness
Applications

Data Objects Layer


Data object
definitions

DBMS

Figure 3-1.

Third-party
Database
Vendor

Siebel Object-Based, Layered Architecture

An object definition in the Siebel Tools environment implements one piece of the
softwareeither a user interface, an abstract data representation, or a direct
database representation construct. For example, a database column, a dialog box,
and a join relationship between database tables are each implemented as an object
definition.
An object definition consists of properties. Properties are characteristics of the
software construct that the object definition implements. For example, the
properties of a database column include its name, data type, length, and so on.
Similarly, the properties of a dialog box include its height and width, the caption to
appear in the title bar, and so on.

3-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Data Objects Layer

Data Objects Layer

Object definitions in the Data Objects layer provide a logical representation of the
underlying physical database (constructs like table, column, and index), and
are independent of the installed DBMS.
This product feature enables you to migrate a Siebel application from one DBMS to
another without having to modify the repository file where the metadata is stored.
In fact, you can have a single repository file and a mix of databases from different
vendors (for example, one on the server, another for connected clients, and a third
for remote clients).
The physical tables in the DBMS are created as part of the Siebel application
installation process.

Standard Tables and Columns

A set of standard tables is provided with Siebel applications for installation in the
DBMS at your site. These provide data storage for all of the features included in
standard Siebel applications, as well as expansion capability. The standard tables
and their columns and indexes are represented by corresponding table, column,
index, and index column object definitions.
Standard tables and their table object definitions generally have the following
styles:

Data. The data tables comprise the bulk of the table object definitions in Siebel

applications. The columns in data tables provide the data for fields. A data table
may serve as a base table for a business component. That is, it may provide the
primary source of data for that business component. You can add new columns
to data tables through Siebel Tools on most DBMS platforms.

Version 6.0

Intersection. An intersection table (in combination with certain business object


definitions) implements a many-to-many relationship between two data tables.
The intersection table provides the means to implement the many-to-many
relationship as two one-to-many relationships, which the underlying DBMS is
equipped to handle (there is no database construct that implements many-tomany relationships directly).

Siebel Tools Guide Volume 1 of 2

3-5

Siebel Architecture (Basic Concepts)


Data Objects Layer

Extension. An extension table provides additional columns that cannot be

directly added to a data table. The database product may support only a limited
number of columns, or wont allow adding a column to a table once it is
populated with data. An extension table allows you to provide additional
columns for use as fields in a business component without violating DBMS or
Siebel restrictions.

Interface. The interface tables are intermediate database tables between the

Siebel application database and other databases. Interface tables are used by the
Siebel Enterprise Integration Manager (EIM) to import data into one or more
base tables and, subsequently, to exchange data between Siebel applications and
other enterprise applications.
The columns in standard tables are of the following styles:

Data. The data columns are part of the original set of columns implemented in

Siebel applications. They hold data that is made available through fields to
developers and users.

Extension. An extension column is a column that is not used by standard Siebel

applications. However, it is included for use in reconfigured applications. There


are three kinds of extension columns:
 Standard extension columns. Siebel includes these in standard extension tables
for developer use. They are named ATTRIB_nn, where nn is a value between
01 and 47 (for example, ATTRIB_13). Each has a predefined data type and
length.
 Custom extension columns in an extension table. These are columns added by
developers to extension tables, and given custom names.
 Custom extension columns in a base table. These are columns added by
developers to base tables of extension tables. Their names have the X_ prefix.

System. Various system columns appear in all tables in Siebel applications,

although no one set of system columns appears in every table. Some standard
system columns are ROW_ID, CREATED, and CREATED_BY. Developers may use
the data in system columns for various purposes; for example, the ROW_ID
column in tables is used in the construction of joins. Generally developers do not
modify the data in system columns, although there are exceptions, such as
certain of the system columns in interface tables.

3-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Data Objects Layer

The set of tables and columns provided in standard Siebel applications implements
a comprehensive design, and supports a wide range of configuration activities.
However, it is also designed to work in certain ways, and changes made that are not
in accordance with Siebel standards can slow performance or cause software
failures. You can add extension tables as well as extension columns to base tables
using Siebel Tools, and you can also add new base tables.

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-7

Siebel Architecture (Basic Concepts)


Business Objects Layer

Business Objects Layer

The major object types in the Business Objects Layer are:

Business component. One fundamental business entity in the enterprisefor


example, Contact, Business Address, or Activity.

Business object. Denotes a functional area that is a grouping of one or more

related business components.

Business Components

A business component consists of multiple fields that characterize it; for example,
some of the fields for Contact might consist of first name, job title, and email
address.
As shown in Figure 3-2, a business component (in this example, Contact) maps to
one main table (S_CONTACT) in the Data Objects Layer, and fields in the business
component map to columns in the main table.

Business
Component

Table

Contact
First Name

3-8

Email Address

Fields

JOB_TITLE

EMAIL_ADDR

Columns

S_CONTACT
FST_NAME

Figure 3-2.

Job Title

Business Component Mapping to the Main Contact Table

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Business Objects Layer

Business components can also include data from related tables. Figure 3-3 shows
the Contact business component mapped to the main table (S_CONTACT) and also
two related tables, S_ORG_EXT and S_OPTY_CON.

Business
Component

Contact
First Name

Account Location

Role

Fields

Table

Figure 3-3.

FST_NAME

LOC

ROLE_CD

S_CONTACT

S_ORG_EXT

S_OPTY_CON

Columns

Business Component Mapping to Data in Related Tables

You can think of a business component as a denormalized virtual database table


that spans multiple real tables.
The grouping of data can be achieved by:

 Referencing an extension table


 An explicit join of two tables
 A link that joins data in an intersection table

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-9

Siebel Architecture (Basic Concepts)


Business Objects Layer

Business Objects
A business object represents a major functional area of the enterpriseevery major
entity has a business object. Examples of business objects are Opportunity,
Account, and Contact.
A business object is a collection of related business components; for example (as
shown in Figure 3-4 on page 3-10), the Opportunity business object consists of
Opportunities plus related Contacts, Activities, Products, and Issues.
Each business object has one business component that serves as the master or
driving business component. This master business component provides focus for
the business object, and they both have the same name (the name is Opportunity
in Figure 3-4).
Business
Object
Opportunity

Business
Component

Opportunity

Figure 3-4.

Contact

Activity

Product

Issues

The Opportunity Business Object and Its Business Components

The Opportunity business component has one and only one parent, which is the
Opportunity business object. A link would be required for the other business
components (Contact, Activity, Product, and Issues) to connect with the
Opportunity business object.

3-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Business Objects Layer

Business Component Reuse


As shown in Figure 3-5, a business component can be defined once in terms of a
logical collection of columns from one or more tables, and then used in many
different business object contexts. One specific area of application configuration
where reuse plays a significant role is virtual business components. See Virtual
Business Components on page Introduction-13 for more information.

Opportunity

Opportunity

Contact

Activity

Contact

Figure 3-5.

Version 6.0

Product

Issues

Account

Account

Business Component Reuse

Siebel Tools Guide Volume 1 of 2

3-11

Siebel Architecture (Basic Concepts)


User Interface Objects Layer

User Interface Objects Layer

The user interface defines the visual elements with which users interactfor
example:

 Layout of applets and views


 Navigation
 User interface controls (buttons, checkboxes, and so forth)
The User Interface Objects Layer is insulated from the Data Objects Layer and the
underlying database by the Business Objects Layer.
Figure 3-6 shows various interface elements in a Siebel eBusiness Applicationa
View bar (which shows a list of available views), a Tab bar (which shows a list of
available screens), and two applets.
View bar

Figure 3-6.

3-12

Tab bar

Applets

User Interface Objects in a Siebel eBusiness Application

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


User Interface Objects Layer

Figure 3-7 shows the user interface for a Siebel .COM application.

Figure 3-7.

User Interface Objects in a Siebel .COM Application

Applets
An applet allows access to the data of a single business component for viewing,
editing, and modifying fields in the business component.
An applet can be configured to allow data entry for a single record; to provide a
scrolling table displaying multiple records; or to display business graphics, a
navigation tree, or a Web browser.

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-13

Siebel Architecture (Basic Concepts)


User Interface Objects Layer

As shown in Figure 3-8, an applet consists of controls that map to fields in the
corresponding business component:

 A list column for a list applet (the bottom applet in Figure 3-6 on page 3-12)
 A text box for form applets (the top applet in Figure 3-6 on page 3-12)

Business
Component

Figure 3-8.

Contact
First Name

Job Title

Email Address

Fields in a Contact Applet Mapped to the Contact Business Component

All data in a given applet must be part of the business component that calls it.
Data in a given business component can be from a single table or multiple tables.
Business components can be reused in multiple applets; that is, several applets can
reference the same business component definition. This is a benefit of having a
single definition in the business component of the logical-to-physical relationship.
Since the user interface (applet) layer is abstracted from the physical layer via the
business component, there is no need to revisit the details of multiple tables in the
physical layer for each of the applets that will display data for the same business
function.
NOTE: Do not confuse the applet construct in Siebel applications with Java applets.

They are somewhat similar, but there are significant differences.

3-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


User Interface Objects Layer

Views
A view presents one or more applets together at one time in a predefined visual
arrangement and logical data relationship. Views are named, and a specific view is
selected by name from a combination of menus or tab symbols.
A given view is mapped to a single business object, which determines the
relationship between data displayed in two or more applets in the view. For
example, the Opportunity Contacts Detail view is based on the Opportunity
business object. Opportunity data is always displayed as the master or parent, and
other types of data (for example, Contacts) are displayed as child records of a
particular Opportunity. This allows users to see all the contacts associated with a
single Opportunity.
Each applet in a view must map to a business component in that business object.
The business components that are required to be included in each view are:

 For a view based on the business object, all business components to which
applets in that view are mapped

 Any business component whose data is exported in a report from a view based
on the business object
NOTE: The business component you include can be a child of another business

component.

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-15

Siebel Architecture (Basic Concepts)


User Interface Objects Layer

Screens
A screen is a collection of related views.
Screens are associated with major functional areas of the enterprise.
In general, all views in a screen map to the same business objectan exception is
administration screens.
As shown in Figure 3-9, screens are accessible from the Screens menu and also from
the Screens tab.
NOTE: The list of screens you can access from the Screens menu and Screens tab

may not be the same.

Figure 3-9.

3-16

Accessing the Product Screen from the Screens Menu and Screens Tab

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


User Interface Objects Layer

Applications
An application (for example, Siebel Sales) is a collection of screens.
NOTE: Dont confuse Siebel applications with application executables (that is, .exe

files).
Applications are typically accessible from a Microsoft Windows icon, or from the
Windows Start menu. You access thin clients from URLs and active application
controls; Siebel thin client applications can also be stand-alone Windows or Java
applications.
Your organization may have licensed more than one Siebel application (for example,
Siebel Sales and Siebel Call Center), to be used by different groups (for example, the
sales team and the customer support team) within your organization.
In that situation you can install the Siebel Sales and Siebel Call Center as separate
applications, or as a single application in which you establish different views for the
relevant responsibilities of the two groups using them.

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-17

Siebel Architecture (Basic Concepts)


Object Definitions and Value Types

Object Definitions and Value Types

All the object definitions required for a standard Siebel application are already
present when you install it. You can modify object definitions or create new ones in
the course of application configuration.
Object definitions can have the following value types:

 User-defined names
 Numerical values
 Boolean values (TRUE and FALSE)
 Siebel-defined constants
 References to the names of other object definitions
For example, a field might have the following values:

 Name: Account Products


 Text Length: 500
 Read Only: FALSE
 Type: DTYPE_TEXT
 Column: PROD

3-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Object Naming Conventions

Object Naming Conventions

As illustrated in the prior example, standard Siebel objects follow these naming
conventions:

 Logical objects in the Business Object (Account Products) and User Interface
Objects layers use mixed case and embedded spaces.
Siebel recommends this convention in the Business Objects and User Interface
Objects layers.

 Physical objects in the Data Object Layer (DTYPE_TEXT and PROD) use
uppercase and underscores.
Siebel enforces this convention in the Data Object Layer.
NOTE: Always prefix the names of new objects with a meaningful text stringfor

example, if your company name is XYZ Industrial Products, Inc. you might prefix
the name of new objects with XYZ. You will find it a valuable convention during
both development and upgrade.
For more information about object naming conventions, see Appendix D.

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-19

Siebel Architecture (Basic Concepts)


Summary of the Major Object Types

Summary of the Major Object Types

Figure 3-10 shows the major object types in a Siebel application, and the
relationship between them.
UI
Object Layer

Control

Applet

Business
Object Layer

Field

Business
Component

Data
Object Layer

Column

Table

View

Screen

Application

Business
Object

One or more
contained in
Maps to

Figure 3-10. Overview of the Major Object Types and Their Relationships

3-20

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


The Siebel Repository and Database

The Siebel Repository and Database

The Siebel repository contains tables in the Siebel database where Siebel object
definitions are stored.
You view the contents of the Siebel repository through the Siebel Tools windows
that appear when you initialize Siebel Tools.
Figure 3-11 shows the definition of the Contact repository object as viewed in
Siebel Tools.

Figure 3-11. Contact Repository Object as Viewed in Siebel Tools

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-21

Siebel Architecture (Basic Concepts)


The Siebel Repository and Database

The Siebel database is created within a third-party RDBMS; it contains:

 The tables that comprise the Siebel repository, where Siebel Object Definitions
(that is, object metadata) are stored

 The tables that contain user data (for example, the name, address, and phone
number of a customer contact)
There are three supported methods for getting user data into the Siebel database:
 Bring in existing data using the Enterprise Integration Manager (EIM)
 Bring in existing data using the Siebel COM, CORBA, or Java interface
 Enter data directly into the Siebel application user interface

Virtual business components allow data from external RDBMSs and applications to
be displayed in the Siebel user interface.

3-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Siebel Architecture (Basic Concepts)


Configuration Guidelines: Architectural Considerations

Configuration Guidelines: Architectural Considerations


There are two common approaches to structuring the development work required
to configure Siebel applications:

 Assign a single developer or group the development role for a complete


functional area
 For example, the group or individual person may develop a screen and all the
supporting logical business object definitions and data object definitions.
 This approach typically enables different groups to implement in parallel.

 Assign a single developer or group to a specific architectural layer


 This approach takes advantage of the specialized expertise of developers
for example:
 The RDBMS specialists can implement extensions in the Data Objects
Layer.
 The system architects can implement the Business Object Layer.
 The UI programmers can implement the User Interface Objects Layer.
 Using this approach requires each group to complete some work before
another group begins.

For more information about configuration guidelines, see Appendix D.

Version 6.0

Siebel Tools Guide Volume 1 of 2

3-23

Siebel Architecture (Basic Concepts)


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

The Siebel application architecture is object oriented, data driven, and layered for
rapid application development, so you can:

 Easily modify standard Siebel applications to meet your organizations specific


needs

 Reuse Siebel-supplied Object Definitions


The layered structure of the architecture insulates one layer from another, which
allows you to make independent changes.
Table 3-1 lists sources of additional information about topics discussed in this
chapter.
Table 3-1.

3-24

Sources of Additional Information

For information about this topic . . .

. . . see the following

Siebel application architecture

Part 5, Siebel Architecture

Data Object Layer

Chapter 17

Defining business objects

Defining Business Objects on


page 6-3

Business Objects Layer of the Siebel application


architecture

Chapter 18

Defining user interface objects

Defining User Interface Objects


on page 6-15

User Interface Objects Layer of the Siebel


application architecture

Chapter 19

Getting legacy data into a Siebel application using


the Siebel Enterprise Integration Manager

Siebel Enterprise Integration


Manager Administration Guide

General configuration guidelines

Appendix D

Configuration guidelines: project structure


considerations

Configuration Guidelines: Project


Structure Considerations on
page 5-34

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3


Windows in Siebel Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
Object Explorer Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Object List Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Properties Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
Hiding the Object Explorer or Properties Window . . . . . . . . . . . . . . . 4-9
Docking the Object Explorer or Properties Window . . . . . . . . . . . . . 4-10
Viewing Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Modifying, Copying, and Creating New Object Definitions . . . . . . . . . . 4-14
Modifying Object Definitions

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14

Creating a Copy of an Existing Object Definition . . . . . . . . . . . . . . . 4-15


Creating a New Object Definition

. . . . . . . . . . . . . . . . . . . . . . . . . 4-16

Undoing New or Changed Object Definitions . . . . . . . . . . . . . . . . . 4-18


Validating Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19
The Changed Flag

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25

Using Queries to Selectively List Object Definitions . . . . . . . . . . . . . . . 4-28


Simple Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
Compound Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32
Searching the Repository for Object Definitions . . . . . . . . . . . . . . . . . . 4-33
Getting Reports About Object Relationships . . . . . . . . . . . . . . . . . . . . 4-36

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-1

Using Siebel Tools

Viewing Object Relationships: Visualization Views . . . . . . . . . . . . . . . 4-38


Details Visualization Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Relationships Visualization View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44
Hierarchy Visualization Views . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47
Chapter Summary and Where To Get More Information . . . . . . . . . . . . 4-50

4-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


About This Chapter

About This Chapter

You do primary navigation in Siebel Tools through three windows:

 Object Explorer window


 Object List Editor window
 Properties windows
The Object Explorer employs a hierarchical tree-structure user interface (similar to
that of the Microsoft Windows Explorer) to enable you 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 detail about individual objects in the Siebel repository.
This chapter describes how to:

 View object definitions in the Object Explorer, Object List Editor, and Properties
windows

 View object relationships


 Define object definitions
 Search the repository for object definitions
 Get reports about object relationships

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-3

Using Siebel Tools


Windows in Siebel Tools

Windows in Siebel Tools

Figure 4-1 shows the BusObject Explorer windows in Siebel Tools that are most
often visible.
Object Explorer
Window

Figure 4-1.

4-4

Properties
Window

Object List Editor


Window

BusObject Explorer Windows in Siebel Tools

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Windows in Siebel Tools

Object Explorer Window

The Object Explorer window (see Figure 4-1 on page 4-4) shows a hierarchical
representation of the major object types, and the Object List Editor window shows
object instantiations and definitions.

To make the Object Explorer window visible


NOTE: By default, the Object Explorer is visible when you initialize Siebel Tools.

 Choose View

 Object Explorer.

NOTE: Many of the menu commands in Siebel Tools have shortcut equivalents,

which are displayed to the right of the command name.

Tabs in the Object Explorer Window


There are three tabs in the Object Explorer window: Types, Detail, and Flat.

Types Tab
The Types tab is selected in the Object Explorer window shown in Figure 4-2.
The Types tab View shows all object types, listed alphabetically. The Types tab
shows the object hierarchyclicking on the plus sign (+) to the left of an object
type displays all the child object types. Clicking on the minus sign (-) to the left of
an object type collapses all its child object types.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-5

Using Siebel Tools


Windows in Siebel Tools

Some object types have a hierarchy of multiple levels. For example (as shown in
Figure 4-2):

 One of the child object types of Applet is Control, and, at the next lowest level,
Control User Prop.

 One of the child object types of Business Component is Field.

Figure 4-2.

4-6

Hierarchy of Object Types (Types Tab)

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Windows in Siebel Tools

Detail Tab
If you select the Detail tab of the Object Explorer (as shown in Figure 4-3) and select
an object type, the Object List Editor displays all its object definitions.

Figure 4-3.

Version 6.0

Object Explorer: Detail Tab

Siebel Tools Guide Volume 1 of 2

4-7

Using Siebel Tools


Windows in Siebel Tools

Flat Tab
The Flat tab (shown in Figure 4-4) of the Object Explorer shows all object types
(parent and child) in a single list.

Figure 4-4.

Object Explorer: Flat Tab

The Flat tab view helps you:

 Find a child object with an unknown parent


For example, if you created a new field but dont 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 object definitions and properties are typically used

4-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Windows in Siebel Tools

Object List Editor Window

The Object List Editor window (see Figure 4-1 on page 4-4) displays the object
definitions for the object type currently selected in the Object Explorer. If the object
selected in the Object Explorer window is a second- or third-tier object, two Object
List Editor windows are displayedthe object definition is in the bottom window.

Properties Window

The Properties window (see Figure 4-1 on page 4-4) displays the property settings
for the object definition currently highlighted in the Object List Editor, Applet
Designer, or Visualization View.

Hiding the Object Explorer or Properties Window

You can control whether or not the Object Explorer or Properties windows are
visible.
NOTE: The Object List Editor is always visible unless Siebel Tools replaces it with a

Designer or Wizard window.

To hide the Object Explorer or Properties window


To hide these windows, do one of the following:

 Select View

Object Explorer or View Properties Window to remove the


check mark indicating that the window is visible.

 Click the window to make it active, and then click the right mouse button. Select
Hide from the menu that appears.

 Click the Close (X) button in the upper-right corner of the window.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-9

Using Siebel Tools


Windows in Siebel Tools

Docking the Object Explorer or Properties Window

You can let the Object Explorer or Properties window float, moving and sizing to fit
your needs, or dock the window in a corner of the main window.
NOTE: You cannot dock the Object List Editor window.

To dock the Object Explorer or Properties window

 Drag the window to the area of the main window where you want to dock.
To undock the Object Explorer or Properties window

 Right-click the window and select Dock.


To prevent a window from docking when its being moved

 Hold down the CTRL key during the move.

4-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Definitions

Viewing Object Definitions

You can view object definitions in the Object List Editor or the Properties window.

To view definitions in the Object List Editor


1 In the Object Explorer (Types tab), expand the parent object type.
2 In the Object Explorer, select a parent object type.
3 Select a child object type, if one exists.
4 View the object definition in the Object List Editor.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-11

Using Siebel Tools


Viewing Object Definitions

Figure 4-5 shows the field-level definition for the Contact business component, as
displayed in the Object List Editor windows.

Figure 4-5.

Viewing Field-Level Information in the Object List Editor Windows

To view object definitions through the Properties window


The Properties window also displays (in alphabetical order) the definition of the
selected objectthe value is shown next to the property name.
By default, the Properties window is closed when you initialize Siebel Tools.
To open it so you can view an object definition, choose View

4-12

Siebel Tools Guide Volume 1 of 2

 Properties Window.

Version 6.0

Using Siebel Tools


Viewing Object Definitions

Figure 4-6 shows the field-level definition for the Contact business component, as
displayed in the Properties window.

Figure 4-6.

Viewing Field-Level Information in the Properties Window

NOTE: The Properties window does not display the Project and Changed properties.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-13

Using Siebel Tools


Modifying, Copying, and Creating New Object Definitions

Modifying, Copying, and Creating New Object Definitions

You modify new object definitions in the Object List Editor or the Properties
window.
You copy and create object definitions in the Object List Editor.

Modifying Object Definitions

To modify an object definition in the Object List Editor


1 Be sure the project the object is a part of is locked.
For information about locking projects, see Chapter 5, Managing Application
Development Projects.

2 In the Object Explorer window, select the relevant object type.


3 In the Object List Editor window, select the object definition you want to change.
4 Use the TAB key to move the cursor to the specific value you want to change.
NOTE: Siebel recommends that you use the TAB key to move from property
column to property column in the object definitionif you use the mouse you
might unintentionally change the value of a Boolean property.

5 Type in a new value, or pick a value from the picklist (if one is provided).
6 To commit your changes, click anywhere outside the modified row (or move
outside the row with the UP or DOWN arrow).
A check mark appears in the Changed column (for more information about the
Changed column, see The Changed Flag on page 4-25).

4-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Modifying, Copying, and Creating New Object Definitions

To modify an object definition in the Properties window


1 Be sure the project the object is a part of is locked.
For information about locking projects, see Chapter 5, Managing Application
Development Projects.

2 In the Object Explorer window, select the correct object type.


3 In the Object List Editor window, select the relevant object definition.
4 Open the Properties window, if it is not already open (View
Window).

 Properties

5 Select the current value, and then type in a new one.


6 To commit your changes, click anywhere outside the modified row (or move
outside the row with the UP or DOWN arrow).
A check mark appears in the Changed column (for more information about the
Changed column, see The Changed Flag on page 4-25).

Creating a Copy of an Existing Object Definition

Caution: Whenever possible you should modify existing records


rather than copying and modifying. Objects that are copied are not
automatically upgraded when you move to a new Siebel product
release.

To create a new object that is a copy of an existing object


1 Lock the project to which the object belongs, if it is not already locked.
2 In the Object Explorer window, select the relevant object type.
3 In the Object List Editor, locate the object definition to copy, and click anywhere
in the row to select it.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-15

Using Siebel Tools


Modifying, Copying, and Creating New Object Definitions

4 Choose Edit

 Copy Record.

A new row appears above the copied row, containing identical property values
except for the Name and Project, which are blank, and the Changed flag, which
is checked (for more information about the Changed column, see The Changed
Flag on page 4-25).

5 Enter a new value for the Name property.


6 Click in the Project field.
7 In the picklist that appears, select the name of a currently locked project to
which to assign the new object.
8 If necessary, modify any other relevant properties and child objects.
9 To commit your changes, click anywhere outside the new row or move outside
the row with the UP or DOWN arrow keys.

Creating a New Object Definition

Caution: Whenever possible you should modify existing records


rather than creating new ones. Objects you create are not
automatically upgraded when you move to a new Siebel product
release.

To create a new object definition


1 Lock the project that will contain the object you intend to add.
For information about locking projects, see Chapter 5.

2 Select the relevant object type in the Object Explorer.


The Object List Editor opens, listing all object definitions of this object type.

3 Click in the Object List Editor window to make it active.

4-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Modifying, Copying, and Creating New Object Definitions

4 Choose Edit

 New Record, or right-click and select New Record.

A new record appears.


Figure 4-7 shows a new business component record.

Figure 4-7.

New Business Component Record

5 Enter property values in the new row in the Object List Editor.
At a minimum, these consist of the object definitions Name property and
Project property. Other properties may also be required, depending on the type
of object definition you are creating.

6 To commit your changes, click anywhere outside the new row or move outside
of the row with the UP or DOWN arrow keys.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-17

Using Siebel Tools


Modifying, Copying, and Creating New Object Definitions

Undoing New or Changed Object Definitions

The Edit Undo Record menu option provides the means to discard your new
record or modifications as long as you are still positioned on that record.
Once you reposition to a different record, the new record or changes are committed,
and the Undo Record option is no longer available.

4-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Validating Object Definitions

Validating Object Definitions

As you modify or create objects, you need to validate their definitions.


Validating a parent object validates all child objects, as well.
Validation is based on a set of rulesyou can enable or disable the rules you want
to enforce.

To validate an object
1 Select the object you want to validate
2 Right-click and select Validate.
The Validate window (see Figure 4-8) appears.

Figure 4-8.

Version 6.0

Validate Window

Siebel Tools Guide Volume 1 of 2

4-19

Using Siebel Tools


Validating Object Definitions

3 In the Validate window, click Start.


Violations of the rules currently being enforced appear in the Errors list, as
shown in Figure 4-9.

Figure 4-9.

4-20

Object Definition Errors Listed in the Validate Window

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Validating Object Definitions

User interface elements in the Validate window:

Errors list table. Displays the results of the validation process. Each row in the list

table identifies a rule violation for a specific object definition. You can sort the
rows by a particular list column by clicking the heading of that list column. You
can also widen and narrow list columns by dragging the right or left border of
the heading cell. The Errors list table contains the following columns:
 Severity. An icon appears in this list column for each violation row. It
indicates whether the 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. An integer value appears in this list column, identifying the rule that
has been violated. Rules are listed in order of rule number in the Validation
Options window (shown in Figure 4-10 on page 4-22)
 Object. The name of the object definition that failed validation.
 Description. The description of the error or warning. It is normally cut off by
the right boundary of the list column. To view the complete text, click a
validation row, and it appears in the Details text box.

Details text box. The full text of the error or warning message for the currently

selected row in the Errors list table.

Go To button. Select an error message row and click Go To to navigate to the

corresponding object definition in the Object List Editor. Alternatively, you can
double-click the error message.

Log File 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 the right directory, and 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.

Version 6.0

Save As button. Saves the current list of validation rows as a log file.

Siebel Tools Guide Volume 1 of 2

4-21

Using Siebel Tools


Validating Object Definitions

To change validation options


1 In the Validate window (see Figure 4-8 on page 4-19), click Options.
2 Change items in the Enforce column (shown in Figure 4-10) from Yes to No, or
vice versa, for rules you want to enforce or not enforce.
You do that by selecting a row and clicking the Enforce or Ignore button.

Figure 4-10. Validation Options

4-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Validating Object Definitions

User interface elements in the Validation Options window:

Rules list table. Lists all rules that can be enforced during validation. Each row

in the list table identifies a rule for a specific object type (or All). You can sort
the rows by a particular list column by clicking the heading of that list column.
You can also widen and narrow list columns by dragging the right or left border
of the heading cell. The Rules list table contains the following list columns:
 Severity. An icon appears in this list column for each rule row. It indicates
whether the rule generates a warning (yellow icon with an exclamation
point) or an error (red icon with a minus sign).
 Rule. The integer value that identifies this rule.
 Object. Either the single object type that this rule applies to, or All.
 Description. The description of the rule. It is normally cut off by the right
boundary of the list column. To view the complete text, click a rule row, and
it appears in the Details text box.
 Enforce. A Yes or No value for each rule row. Yes validates all object
definitions of the object type identified in the Object list column. Yes/No
values in this list column are changed using the Enforce, Ignore, Enforce All,
and Ignore All buttons.

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
automatically when you press ENTER.

Enforce button. Changes the Enforce list column value in the selected row from

No to Yes.

Ignore button. Changes the Enforce list column value in the selected row from Yes

to No.

Enforce All button. Changes all values in the Enforce list column to Yes.

Ignore All button. Changes all values in the Enforce list column to No. This has
the effect in the next validation of not validating any object definitions.

Details text box. The full text of the rule description for the currently selected row

in the Rules list table.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-23

Using Siebel Tools


Validating Object Definitions

Do not report warnings check box. When checked, reports errors only, not

warnings. It also changes the Enforced setting of all warning rules to No.

Abort validation after check box and text box. When the check box is checked and
an integer value appears in the text box, the system stops validating after the
specified number of errors is reached. By default, the validation process
continues to run until it is completed or cancelled.

OK button. Saves the validation option settings and closes the Validation Options

dialog box.

Cancel button. Discards the Validation Options settings and closes the Validation

Options dialog box.

4-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


The Changed Flag

The Changed Flag

When you edit a record, a check mark appears in the Changed field of the object
definition. This indicates that changes have been made to the contents of the
corresponding record since a particular date and time (you set this date and time
using the General tab of the Tools Options menu). Lack of a check mark indicates
that the object definition has not been changed since the date and time specified in
Tools Options, or since the last upgrade.

Figure 4-11 shows a changed field (Account).

Figure 4-11. Changed Project (Account)

The changed flag cascades upwards through its parents. That is, when an object
definition is edited or created, the changed flag is set for its parent object definition,
if any, and for the parent object definition of that parent, and likewise up through
the hierarchy.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-25

Using Siebel Tools


The Changed Flag

To determine by whom and when a record was created and last updated
1 Select a record in the Object List Editor.
2 Choose Help

 About Record from the menu bar.

3 The Siebel Tools dialog box appears (this dialog box displays the user, date, and
time for record creation and update).

4-26

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


The Changed Flag

To update the Changed date manually


1 Choose Tools

 Options.

2 Click the General tab.

3 Set a date and time.


4 Click OK to save the Changed date.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-27

Using Siebel Tools


Using Queries to Selectively List Object Definitions

Using Queries to Selectively List Object Definitions

The Object List Editor provides a Query feature that uses a query-by-example (QBE)
metaphor to let you narrow the list of object definitions in the current Object List
Editor window. For example, when you are in the list of business components, you
can use the Query feature to display only those business components in the
Contacts field, or only those having names that start with Opportunity, or any
other restrictions you can specify for particular properties.
An Object List Editor query is a search for object definitions based on matching
values in one or more properties. The queries can be simple, one-condition queries
or compound, multiple-condition queries. You can create, refine, and activate
queries from the Query menu or from the List toolbar. (Refine means impose a
further restriction on the current Object List Editor query by re-executing it with an
additional constraint.)

4-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Using Queries to Selectively List Object Definitions

To create and execute an Object List Editor query


1 Navigate to the Object List Editor window listing object definitions of the
relevant object type.
2 Select Query

 New Query from the menu bar.

In the Object List Editor window, the list of object definitions is hidden, and a
query row appears, as shown in Figure 4-12.
Property cells that can hold
query criteria in the query row.

Figure 4-12. Creating an Object List Editor Query

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-29

Using Siebel Tools


Using Queries to Selectively List Object Definitions

3 In each of one or more property cells in the query row, enter a value for which
the query will look for a match.
These values may be single literal values such as Opportunity List Applet, or
they may include wildcard symbols. In TRUE/FALSE properties, a check mark
represents TRUE.

4 Press ENTER or select Query

 Execute Query from the menu bar.

The resulting list of object definitions in the Object List Editor consists of only
those meeting the set of criteria you specified.

To restore the Object List Editor window to its pre-query state

 New Query from the menu bar.


Press ENTER or select Query  Execute Query from the menu bar.

1 Select Query
2

The list of object definitions in the Object List Editor is restored to its pre-query
state.

4-30

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Using Queries to Selectively List Object Definitions

Simple Queries

A simple query finds information based on one condition. Table 4-1 lists the
operators you can use to create a simple query.
Table 4-1.

Simple Operators

Operator

Description

Equal to

<

Less than

>

Greater than

<>

Not equal to

<=

Less than or equal to

>=

Greater than or equal to

Any number of characters (including none) may take the place of the
asterisk (*)

Any one character matches the question mark (?)

IS NOT NULL

Searches for non-blank fields

IS NULL

Searches for blank fields

LIKE

Searches for values starting with the indicated string

NOT LIKE

Searches for values not starting with the indicated string

Searches for strings that contain special characters, such as a comma (,)

EXISTS ( )

Searches for values in a multi-value group

If the value is part of a larger expression using an operator such as NOT LIKE,
enclose the property in quotation marks; otherwise, you can omit them.
For more information about simple operators, see Appendix B.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-31

Using Siebel Tools


Using Queries to Selectively List Object Definitions

Compound Queries

Compound queries enable you to find information based on two or more conditions.
There are three ways to create compound queries:

 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 4-2 lists the unique operators for compound queries. Use these operators in
addition to the operators you use to create a simple query.
Table 4-2.

Compound Operators

Operator

Description

AND

All the conditions connected by ANDs 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 Appendix B.

4-32

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Searching the Repository for Object Definitions

Searching the Repository for Object Definitions

You can use the repository search facility to search for object definitions based on
text in their names (or other properties) and their object types. Its a quick way to
locate one or more object definitions when you know all or part of their names or
some other property.

To display the Find In Repository window


Choose Repository

 Find In Repository (the window is shown in Figure 4-13).

Figure 4-13. Find in Repository Window

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-33

Using Siebel Tools


Searching the Repository for Object Definitions

User interface elements in the Find in Repository window:

Find Value text box. Enter the search string text to be located in the names and
property values of object definitions.

Case Sensitive check box. Check if you want only those object definitions whose
property values contain the search string with the same capitalization. Leave
empty if matching capitalization is unnecessary.

Exact Match check box. Check if you want only those object definitions whose

property values exactly match the entire search string.

Types to Search list box. 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. CTRL-clicking and SHIFT-clicking can be used to select multiple
object types. For better performance, search only the object type or types you
need.

Select All button. Selects all the object types in the Types to Search list.

Clear All button. Deselects all the object types in the Types to Search list.

(Result Object Definitions) list table. Lists all the object definitions found in the

search. Double-click on an item in this list to bring it up in the Object List Editor.
Double-clicking on an item in the Result Objects List has the same effect as doing
an Object List Editor query that searches on the name of the object definition.
To restore the Object List Editor window to list all object definitions of the type
selected in the Object Explorer, do a query with the asterisk (*) symbol in the
Name column of the Object List Editor.

Find Now button. Executes the search.

Cancel button. Stops the search process if a search is executing. Closes the Find

in Repository window.

4-34

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Searching the Repository for Object Definitions

The Result Object Definitions list has these columns:

Version 6.0

Type. Object type of the object definition returned by the search.

Name. Name of the object definition returned by the search.

Property. Name of the property of the object definition in which the search value
was found.

Value. Value of the property of the object definition in which the search value
was found.

Siebel Tools Guide Volume 1 of 2

4-35

Using Siebel Tools


Getting Reports About Object Relationships

Getting Reports About Object Relationships

You can get reports about the relationships between certain object types in the
repository. This section provides an introduction to using the reports facility; for
more information, see the Siebel Reports Guide.
For repository reports to run on your client computer, you need to have the Siebel
report viewer or Actuate report viewer installed.
The list of records that displays in a repository report is not dependent on the
currently selected object definition in the Object List Editorfor example, if you
select the Contact business component in the Object List Editor and generate the
business components and fields report, the report will show all business
components, not just the Contact business component.
To restrict a report to a single parent object definitionthat is, one business
component, business object, dock object, table, or workflow objectdo a query in
the Object List Editor (for the parent object type) that restricts the list to the one
object definition you want to see.
The following example shows how to get the Tables report for S_ORG_EXT.

To get a Tables report for the S_ORG_EXT table


1 In the Object Explorer, select the Table object type.
2 Activate the Object List Editor for tables by clicking on it.
3 Choose Query

 New Query from the menu bar.

4 Enter a value of S_ORG_EXT in the Name property and press Enter.


5 Choose Reports

 Tables.

The generated report will provide information only for the S_ORG_EXT table.
You can use a similar approach to restrict a report to a range of object definitions
that have a property value in common. The report will include only those object
definitions satisfying the current query. For example, you can get a Tables report of
all extension tables, a business components report of all business components of a
specific class, or any of the reports restricted to a single field.

4-36

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Getting Reports About Object Relationships

The current object type in the Object Explorer determines the list of reports in the
Reports menu. Repository reports are listed by current object type in Table 4-3.
Table 4-3.

Version 6.0

Reports Available for Each Object Type

Object Type

Report

Description

Applet

Applets by
BusComp

Lists the applets in the repository


alphabetically within each business
component.

Business
component

Business
Component and
Fields

Lists the fields in each business component


alphabetically. For each field, the base
column and join table, if any, are identified.

Business object

Business Object and


Components

Lists the business object components in


each business object. For each business
object component, the business component
and link are identified.

Dock object

Repository Dock
Objects

For each dock object displays selected


properties, and lists the member tables,
visibility rules, and related dock objects.

Project

Project List

Lists all projects, and identifies the locking


status, person locked by, and locked date
for each.

Table

Tables

For each table displays selected properties,


and lists the columns. The name, physical
type, length, scale, comments, and various
other properties are identified for each
column.

Workflow Policy
Object

Workflow Policy
Objects

Lists the workflow components in each


workflow object, and within each workflow
component lists the columns.

Siebel Tools Guide Volume 1 of 2

4-37

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Viewing Object Relationships: Visualization Views

You can use the Siebel Tools Visualization views to see how object definitions relate
to one another.

To invoke the Visualization views


Use one of two methods:

 Choose one of the Visualization views from the View menu.


 Right-click an object definition of the relevant object type in the Object List
Editor, and choose the Visualization view you want.
The Visualization views are:

View Details. Applicable to business components and business objects. The

diagram displays how the business component(s) map to underlying tables


directly or via joins, and map to other business components via links.

View Relationships. Applicable to business components and tables. For business

components, the diagram displays how the business component links to other
business components via multi-value link object definitions. For tables, the
diagram displays how the table joins to other tables by way of join object
definitions.

4-38

View Hierarchy. Applicable to applets, applications, business components,


screens, and views. The diagram displays the parent-child relationships between
the selected object definition and its parent and child object definitions, as well
as the parents of the parent object definitions and children of the child object
definitions, up and down the hierarchy.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Details Visualization Views

The Details Visualization View for a business component displays how it maps to
underlying tables via joins or to business components by means of multi-value
links. The business object version of the diagram displays links between pairs of
business components in the business object.

Business Component Version


The Details Visualization view for the Account External Product business
component is shown in Figure 4-14.

Figure 4-14. Details Visualization View for the Account External Product Business Component

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-39

Using Siebel Tools


Viewing Object Relationships: Visualization Views

The selected business component appears in a box at the left of the diagram. The
business component on the left may be associated with one or more of these boxes
on the right:

Table box for the base table. The base table for the business component appears
to the right of the business component without any intervening join or mvlink
boxes between it and the business component.

The base table in Figure 4-14 is S_ORG_PRDEXT.

Table boxes for joined tables. Tables that are joined to the business component via

join object definitions have a join box between the business component and the
joined table. The join box provides the name of the join.
The joined tables in Figure 4-14 are S_ORG_EXT and S_PROD_EXT.

BusComp boxes for linked business components. Business components that are

linked to the selected business component via a multi-value link have an mvlink
box between the selected business component and the linked business
component.
Figure 4-14 does not show any linked business components.
For the tables and business components displayed on the right, only columns (or
fields) in use by the business component are listed, unless you click on the plus
symbol icon labeled All columns or All fields in the corresponding table or
BusComp box.
If you click the name of a field in the left-side BusComp box, an arrow appears from
that field name to the corresponding column in the base table, joined table, or
linked business component on the right. This is illustrated in Figure 4-15, where
Vendor Location points to LOC.

Figure 4-15. Arrow from a Field to a Column

4-40

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Business Object Version


The business object version of the Details Visualization view for Admin Product is
shown in Figure 4-16.

Figure 4-16. Business Object Version of the Details Visualization View

The selected business object is represented as a horizontal bar at the top.


All immediately subordinate business components in the selected business object
appear in a row beneath the BusObj bar. In Figure 4-16, Internal Product is the only
business component immediately subordinate to Admin Product.
For each business component on the second row, all business components to which
the business component has links appear on the fourth row.
On the third row (the row is staggered in Figure 4-16) are boxes representing the
links between the two.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-41

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Plus and minus symbol icons identify lists that can be expanded or collapsed in a
box. For a business component this is a list of fields, for a table this is a list of
columns, and for an applet this is a list of controls. Figure 4-17 illustrates this for
three business components in a diagram; the one on the left has an expanded fields
list, and the two on the right have collapsed fields lists.

Figure 4-17. Expanded and Collapsed Field Lists

You can use the UP and DOWN arrow keys to move up or down one level at a time
in a visualization diagram. Use the LEFT and RIGHT arrow keys to move between
objects on the same level.
Right-click anywhere in a visualization diagram to display a shortcut menu, which
provides options pertaining to the entire diagram. These are:

Expand All. Expands all fields lists, column lists, and control lists in boxes in the

diagram.

4-42

Contract All. Collapses all field, column, and control lists.

Zoom. Provides options for zooming in or out on the diagram.

Style. Provides three options governing the general style of the diagram and the
boxes in it. The default is Outline. 3D Border is similar, but it is on a gray
background and shows beveled edges on the boxes. Iconic provides an icon in
each box, which helps distinguish the object types visually.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Edit Definition. Opens the Object List Editor with the currently selected object

definition in the diagram displayed in the List Editor.

Edit Layout. When a view or applet object definition is selected in a visualization

diagram, the View Designer or Applet Designer is opened with that object
definition displayed.
If the Properties window is displayed at the same time as the window containing a
visualization diagram, the object definition whose properties appear changes as you
select different object definitions in the diagram. This can be a useful way to
navigate from object definition to related object definition to View properties.
However, you cannot edit the properties when the Properties window is accessed
this way.

To generate a Details Visualization View for a business component in the


current Details Visualization View
1 Right-click a business component.
2 Choose View Details from the shortcut menu.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-43

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Relationships Visualization View

The Relationships Visualization View is available for business components and


tables. For business components, the diagram displays links among business
components via multi-value links. For tables, the diagram displays how the table
relates to other tables via foreign keys.

Business Components Version


The business components version of the Relationships Visualization View appears
in Figure 4-18.

Figure 4-18. Business Component Version of the Relationships Visualization View

4-44

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Relationships: Visualization Views

The selected business component (Decision Issue in Figure 4-18) appears as a box
in the center of the diagram. Business components that link to the selected business
component appear in a row above it (connected by means of a row of link boxes).
Business components that the selected business component links to appear in a row
below it, again connected by a row of link boxes. The link boxes provide the names
of the links.

To navigate within the business components version of View Relationships

 Double-click on a business component other than the initially selected oneit


becomes the focus of the diagram.

To display a View Details diagram for a selected business component


1 Right-click a business component.
2 Select View Details from the shortcut menu.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-45

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Tables Version
The Tables version of the Relationships Visualization View appears in Figure 4-19.

Figure 4-19. Tables Version of the Relationships Visualization View

The selected table appears as a box centered in the diagram. The diagram shows the
tables immediate foreign key relationships to other tables. Tables that have foreign
keys to the selected table appear above it, and tables to which the selected table has
foreign keys appear below it.

To navigate within the tables version of View Relationships

 Double-click on a table other than the initially selected oneit becomes the
focus of the diagram.
4-46

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Relationships: Visualization Views

Hierarchy Visualization Views

The Hierarchy Visualization View is available for applet, application, business


component, screen, and view. The diagram displays the parent-child relationships
between the selected object definition and its parent and child object definitions, as
well as the parents of the parent object definitions and children of the child object
definitions, up and down the hierarchy.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-47

Using Siebel Tools


Viewing Object Relationships: Visualization Views

The Hierarchy Visualization View for the Accounts screen appears in Figure 4-20.

Figure 4-20. Hierarchy Visualization View

4-48

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Siebel Tools


Viewing Object Relationships: Visualization Views

The selected object definition appears as a box in the center of the diagram. For this
object definition, this diagram shows its parent-child relationships to other object
definitions of various object types. Parent object definitions appear above the
selected object definitions, and child object definitions appear below. The hierarchy
starts with the parent application at the top level and includes screens, views,
applets, and business components.
Because the entire hierarchy appears for an application, it is better to create View
Hierarchy diagrams for object definitions lower in the hierarchy than the application
level.

To navigate within a View Hierarchy diagram

 Double-click on an object definition other than the initially selected oneit


becomes the focus of the diagram.
You can also navigate to the Details Visualization View for a business component
in the Hierarchy diagram by right-clicking the business component and selecting the
View Details option.

Version 6.0

Siebel Tools Guide Volume 1 of 2

4-49

Using Siebel Tools


Chapter Summary and Where To Get More Information

Chapter Summary and Where To Get More Information

This chapter explained how to navigate in Siebel Tools to view Siebel objects and
their relationships to one another.
Table 4-4 lists sources of additional information about topics discussed in this
chapter.
Table 4-4.

4-50

Sources of Additional Information

For information about this topic . . .

. . . see the following

Siebel Tools user interface (menus and toolbars)

Appendix A

Siebel Tools menu shortcuts

Appendix A

Query syntax

Appendix B

Search syntax

Appendix B

Getting reports about object relationships

Siebel Reports Guide

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2


What Are Siebel Projects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Getting Information about Repositories and Projects . . . . . . . . . . . . . . . 5-5
Selecting the Current Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Getting Information About the Current Repository

. . . . . . . . . . . . . . 5-6

Viewing Object Definitions by Project . . . . . . . . . . . . . . . . . . . . . . . 5-8


Getting Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Checking Out Projects

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12

Creating New Projects

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-15

Renaming Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16


Assigning Object Definitions to Projects . . . . . . . . . . . . . . . . . . . . . . . 5-17
Moving Object Definitions Between Projects . . . . . . . . . . . . . . . . . . . . 5-18
Checking In Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Check In Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20
Check-In Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-22
Check In/Check Out Options (Data Sources) . . . . . . . . . . . . . . . . . . . . 5-23
Determining Project Differences at Check-In Time . . . . . . . . . . . . . . . . 5-25
Canceling Check-Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28
Locking Projects Directly

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29

Compiling Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31


Configuration Guidelines: Project Structure Considerations . . . . . . . . . . 5-34
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 5-35
Version 6.0

Siebel Tools Guide Volume 1 of 2

5-1

Managing Application Development Projects


About This Chapter

About This Chapter

This chapter defines Siebel projects and explains how to:

 Get information about projects


 Create projects
 Assign object definitions to projects
 Check out and check in projects
 Compile projects

5-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


What Are Siebel Projects?

What Are Siebel Projects?

Projects are named sets of object definitions that reside in the Siebel repository
mechanisms to meaningfully group object definitions so they can be worked on by
teams of application developers.
The master copy of the repository resides on a server database. Multiple developers
can access it to make changes and additions by locking and checking out groups of
server repository object definitions to local (client) repository databases for
modification, and checking them back in to the server following modification and
testing.
A Siebel application is delivered with a large number of existing projects.
Figure 5-1 shows a list of projects displayed in the Object List Editor window.

Figure 5-1.

Version 6.0

List of Projects Displayed in the Object List Editor Window

Siebel Tools Guide Volume 1 of 2

5-3

Managing Application Development Projects


What Are Siebel Projects?

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
definitions pertaining to the Account functional area. A name (like Account)
without a suffix usually contains Business Object Layer definitions that span
multiple Siebel applications.
Project names that have a suffix (for example, Account(SSE)) contain user interface
or business object definitions that are specific to the Siebel application indicated by
the suffix. The suffix SSE in Account(SSE) (fourth field from the top in Figure 5-1)
indicates a field containing Account user interface data for the Siebel Sales
application.
Other suffixes indicating user interface data only are SSV for Siebel Service and CC
for Siebel Cell Center.
Other suffixes indicating both user interface and business object data are FS for
Field Service and WWW for World Wide Web.

5-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Getting Information about Repositories and Projects

Getting Information about Repositories and Projects

This section discusses:

 Selecting the current repository


 Getting information about the current repository
 Viewing object definitions by project

Selecting the Current Repository

Under normal circumstances there is only one repository available on your local
database, and one available on the server database for your development
workgroup. Typically this repository (in either location) is called the Siebel
repository and is opened by default when you open Siebel Tools and log on to Local
or Server. However, there are circumstancesespecially when your group is in the
process of upgrading to a new version of Siebel applicationsin which multiple
repositories can be present, especially on the server.

Whenever there is a possibility of multiple repositories, choose File Open


Repository and verify that you already have the correct repository open, or select a
different one.

The File Open Repository option lists only the repositories that have been
previously checked out from the server. In order to see an additional server
repository, you must first do a Get to get all of the fields for that repository in the
Check Out window. This is described in Getting Information About the Current
Repository on page 5-6.

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-5

Managing Application Development Projects


Getting Information about Repositories and Projects

Getting Information About the Current Repository

You can get version, compilation, and path information about the current repository
by choosing Help About SRF from the menu bar in Siebel Tools. The About
Repository File window is shown in Figure 5-2.

Figure 5-2.

5-6

About Repository File Window

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Getting Information about Repositories and Projects

This window displays the following information fields:

Internal version. Version number maintained internally at Siebel 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 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/Last incremental compile radio buttons. Determines whether the

Compile Information fields display information about the most recent full
compilation or incremental compilation. If there have been no incremental
compilations since the full compilation, the latter option is dimmed (as shown
in Figure 5-2).

When. Date of the last compilationincremental or full, as specified in the radio


buttons.

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 Siebel Technical
Services 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, generally located in C:\Siebdev\Objects.


NOTE: This is not the same Siebel application .srf file that is produced by
compilation and distributed to client machines. Siebel Tools itself is a
customized Siebel application, so it has its own repository file.

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-7

Managing Application Development Projects


Getting Information about Repositories and Projects

Viewing Object Definitions by Project

To restrict the objects displayed in the BusObject Designer to those that belong to a
particular project, select a field from the project picklist you access at the top of the
Siebel Tools Object Explorer window (shown in Figure 5-3).

Figure 5-3.

Project Picklist

To see all projects, select the blank entry from the top of the picklist.

5-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Getting Information about Repositories and Projects

The Object Explorer displays object types only if there are definitions of that type
in the selected project. Figure 5-4 shows the applets in the Account project.

Figure 5-4.

Version 6.0

Applets in the Account Project

Siebel Tools Guide Volume 1 of 2

5-9

Managing Application Development Projects


Getting Projects

Getting Projects

You do a get to populate a newly initialized local database with a copy of all projects
in the server repository.
NOTE: The sample database, unlike the local database, cannot receive checked-out
object definitions, and its object definitions cannot be checked in to the server
database. The sample database is strictly for instructional use.

You need to do an initial get before doing the first compile for your local
repositoryyour .srf files must be based on the full list of delivered Siebel object
definitions plus any changes you make.
You can also use a full get to refresh read-only projects in an existing local
repository.
NOTE: A full get means getting all the projectsfor example, when you first

populate a repository or do a comprehensive refresh of its objects.


You do this if you need object definitions modified by other developers to update
your local copy, because:

 Your work may depend on the latest definition enhancements by others.


 Your changes need to be tested locally against those made by others.

5-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Getting Projects

To do the initial get of all projects from the repository


1 Choose Repository

 Check Out...

The Check Out dialog box appears (see Figure 5-5 on page 5-13).

2 Choose the name of your development repository from the Repository picklist.
3 Select the All Projects radio button.
4 Click the Options button.
5 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.
6 Close the Development Tools Options window.
7 In the Check Out dialog box (see Figure 5-5) click Get.
After the get is complete, your currently open local repository has the same
contents as the server repository from which you did the get.

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-11

Managing Application Development Projects


Checking Out Projects

Checking Out Projects

To check out a copy of one or more projects


1 Select Repository

 Check Out.

The Check Out dialog box appears (see Figure 5-5 on page 5-13).

2 Ensure that the correct repository is selected.


3 Select the projects you want to modify.
4 Click the Options button.
5 In the Development Tools Options window( see Figure 5-8 on page 5-23), make
sure the Server and Client data sources are specified correctly.
6 Close the Development Tools Options window.
7 In the Check Out dialog box, click Check Out.
NOTE: The contents of the object definitions you have checked out are not
automatically displayed or redisplayed in the Object List Editor following check-out.
Select View Refresh Windows to display updated information.

Caution: Password encryption interferes with check-out. If you will


be checking out projects, you need to disable password encryption
in the client or .cfg file when running Siebel Tools.

5-12

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Checking Out Projects

Check Out Dialog Box


The Check Out dialog box is shown in Figure 5-5.

Figure 5-5.

Check Out Dialog Box

User interface elements in the Check Out dialog box:

Repository picklist. Available repositories on the server. The list of projects in the

projects list table reflects the list of projects in the selected server repository. If
you select a different server repository than 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. Projects in the server repository.

Click a project or projects to check out or get.


The projects list contains the following list columns:
 Project list column. Displays the name of each project in the server repository.
 Updated. A value of Yes appears if the server Locked By and Locked Date are
different from the client version, indicating that your version of the project is
out of sync with the servers version.

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-13

Managing Application Development Projects


Checking Out Projects

 Server Locked By. Logon ID of the developer who currently has this project
checked out on the server.
 Server Locked Date. Check-out date.
 Client Locked By. Logon ID of the developer who currently has this project
locked.
 Client Locked Date. Date the project was locked locally.

Selected projects radio button. When this radio button is active, you can select
individual projects to check out or get.

All projects radio button. When this radio button is active, all projects in the
repository are selected to check out or get.

Updated projects radio button. When this radio button is active, only projects with

an Updated value of Yes are selected. This enables 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 will get rather than check out such
projects, to bring your local repository up to date.

Get button. Selected projects are copied to the local repository, replacing pre-

existing versions there. The lock status of these projects is not changed on the
server. You can get any projects on the server, including those locked by others.

Check Out button. Copies all object definitions 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 (if you select a locked project in
the projects list, the Check Out button dims).

Options button. Opens the Development Tools Options dialog box with the Check

In/Out tab selected. This is the same dialog box that appears when you select
Tools Options from the menu bar.

5-14

Cancel button. Cancels check-out and closes the Check Out dialog box.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Creating New Projects

Creating New Projects

You can create a new project by selecting the Project object type in the Siebel Tools
Explorer window (Types tab) and creating a new record in the Object List Editor.
In general, you would add new projects:

 To break large numbers of object definitions into more manageable groups.


 When developers are contending for different sets of object definitions in the
same projects.
Caution: Once you create a project you cannot delete it.

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-15

Managing Application Development Projects


Renaming Projects

Renaming Projects

You need to rename projects on the server, not the local database.
Caution: Never change the name of a project that standard Siebel
Object definitions are associated with.

To rename a project or reassign object definitions on the server


1 Make sure developers have checked in all checked-out projects.
2 Open the server repository.
3 Change the Name property of the project or the Project properties of the relevant
object definitions.
4 Have developers do a get of all projects on the server repository.
5 Have developers do a full compilation the next time they compile.

5-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Assigning Object Definitions to Projects

Assigning Object Definitions to Projects

Every object definition must be assigned to one, and only one project, either:

 A Siebel-supplied project, or
 A user-created project
You assign an object definition to a project by setting the Project property.
The Competitor (SME) business component shown in Figure 5-6 (the selected
business component) has an assigned Project property of Oppty (SME).

Figure 5-6.

Version 6.0

Project Property of a Business Component

Siebel Tools Guide Volume 1 of 2

5-17

Managing Application Development Projects


Moving Object Definitions Between Projects

Moving Object Definitions Between Projects

To move an object definition between two projects


1 Check out both projects to your local database.
2 Change the Project property of the object definition you intend to move, so that
it reflects the name of the new project.
3 Check in both projects together.
Caution: Failure to check in both projects at the same time can
leave the repository in an inconsistent state.

4 Inform other developers that they must do a simultaneous get of the two projects
prior to doing any subsequent work on the object definition in either project.

5-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Checking In Projects

Checking In Projects

Use Check In to copy new or modified object definitions in a local repository to the
server repository.
The check-in process:

 Replaces any existing versions of the checked-out object definitions with


modified versions, and adds any new ones

 Unlocks the project


If you use Check In with Maintain lock, the server repository is updated, but the
project is still locked to your local repository.
Caution: Password encryption interferes with check-in. You need to
disable password encryption when running Siebel Tools if you will
be checking in projects.

To check in new or modified object definitions


1 Choose Repository

 Check In...

The Check In dialog box appears (see Figure 5-7 on page 5-20).

2 Click the Options button.


In the Development Tools Options dialog box, make sure the server and client
Data Sources are pointing to the correct databases.

3 Close the dialog box.


4 In the Check In dialog box, select the appropriate repository in the Repository
picklist.
5 Do one of the following:
 Click the Selected projects radio button and select the individual projects to
check in.
 To check in all locked and new projects, click the Locked/New Projects radio
button.

6 Click Check In.


Version 6.0

Siebel Tools Guide Volume 1 of 2

5-19

Managing Application Development Projects


Checking In Projects

Check In Dialog Box

Figure 5-7 shows the Check In dialog box.

Figure 5-7.

5-20

Check In Dialog Box

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Checking In Projects

User interface elements in the Check In dialog box:

Repository picklist. Available repositories in the local database. The list of

projects in the Projects list table reflects the list of projects in the selected
repository (in addition to locally created projects). If you select a different
repository than the one currently open in Siebel Tools, check-in will begin, and
you will receive no warnings. However, this will check in only new projects you
have created locally.

Projects list table. Identifies all projects in the local repository selected in the

Repository picklist. It contains the following list columns:


 Project. Displays the name of each new or checked-out project in the local
repository. Projects obtained by means of get operations 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, indicating
whether you created it yourself or obtained it through check-out.
 Lock/Creation Date. Displays the date and time when you created the project
or checked it out from the server.

Selected projects radio button. When this radio button is active, you can manually

select individual projects to check in.

Locked/New projects radio button. Selects all of the projects in the listthat is, all

projects you have created or obtained through check-out.

Version 6.0

Maintain lock check box. When checked, tells the system to check in the projects,
but keep them locked on the server.

Check In button. Initiates the check-in process.

Diff button. Opens the Project Differences window for comparison of the object
definitions in the projects you are checking in with their corresponding versions
on the server. For more information, see Determining Project Differences at
Check-In Time on page 5-25.

Options button. Opens the Developer Tools Options window where you specify
check-in/check-out settings, especially server and client data source names.

Cancel button. Closes the Check In dialog box.

Siebel Tools Guide Volume 1 of 2

5-21

Managing Application Development Projects


Checking In Projects

Check-In Guidelines

Here are some rules to follow when you check in projects:

 Before doing a check-in, ensure that the projects you are checking in are in a
stable state and have been thoroughly tested against your local repository. Check
in projects only when all dependent Siebel VB code is complete.

 Check in all dependent projects at the same time to ensure that the configuration
on the server remains consistent.
For example, if you create a new PickList object definition in the PickList project
and reference that object definition in your Oppty project, check in both projects
to the server at the same time.

 Consider the timing of your check-in and its impact on the work of other
developers. In some instances, you may need to check in a project before you
have fully completed the configurations required in that project because another
developers configurations may depend on a particular feature you have added
to your project.

5-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Check In/Check Out Options (Data Sources)

Check In/Check Out Options (Data Sources)

The Check In/Out tab in the Development Tools Options dialog box (see Figure 5-8)
provides options for setting up check-in and check-out.
The Data sources options are discussed below; for information about the Source
control integration options, see Check In/Check Out Options (Source Control
Integration) on page 14-45.

Figure 5-8.

Version 6.0

Check In/Out Tab in Development Tools Options Window

Siebel Tools Guide Volume 1 of 2

5-23

Managing Application Development Projects


Check In/Check Out Options (Data Sources)

Data sources user interface elements in the Development Tools Options window:

Server data source text box and change button. ODBC data source of the server

repository. When you click the Change button, the Change Data Source window
appears (see Figure 5-9) so you can enter and modify the ODBC data source
parameters.

Figure 5-9.

Change Data Source Window

User interface elements in the Change Data Source window:


 ODBC data source. Full ODBC data source string that provides communication
with the 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.

Client data source text box and Change button. ODBC data source of the local

repository. When you click the Change button, the Change Data Source window
appears so you can enter and modify the ODBC data source parameters. These
parameters are similar to those described in the prior section for the server data
source. In particular, the User name and Password must be in all uppercase
letters.

5-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Determining Project Differences at Check-In Time

Determining Project Differences at Check-In Time

From the Project Differences window you can view details of changes made to
checked-out projects prior to checking them init is a debugging tool that helps
you find errors or omissions before your changes are committed to the server
repository.

To invoke the Project Differences window

 Click the Diff button on the Check In dialog box (see Figure 5-7 on page 5-20).
The Project Differences window appears (see Figure 5-10).

Figure 5-10. Project Differences Window

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-25

Managing Application Development Projects


Determining Project Differences at Check-In Time

The Project Differences window displays all checked-out projects that have been
modified since the last check-out. By default the Project Differences window
displays only changed projects, object definitions, and properties. You have the
option to display all checked-out projects.
The Project Differences window consists of three windowpanesProject
Differences, Object Differences, and Attribute Differencesdiscussed in the
following sections.

Project Differences Windowpane


The Project Differences windowpane displays the hierarchy of object definitions for
which there are changes from the originally checked-out versions. It behaves like
the Object Explorer in the Detail mode and is used for navigation. The hierarchy in
this windowpane mirrors the object type/object definition hierarchy in a Siebel
repository, but shows only changes since check-out rather than all repository or all
checked-out object definitions.
Selection of an object definition in this hierarchy causes this object definition and
the others at its level to appear in the Object Differences windowpane.

Object Differences Windowpane


The Object Differences windowpane is similar to the Object List Editor in that it
displays separate object definitions on each row. It specifies for each object
definition a value of Modified, Added, or Deleted. These have the following
meanings:

Modified. Object definitions whose properties you changed, or to which you

added or removed child object definitions.

Added. Object definitions that did not exist in the checked-out projects, but

which you added in the course of configuration.

5-26

Deleted. Object definitions that existed in the checked-out projects, but which
you deleted.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Determining Project Differences at Check-In Time

Attribute Differences Windowpane


The Attribute Differences windowpane displays the property (attribute) value
changes for the currently selected object definition in the Object Differences
windowpane. By default, only those properties are listed in which the original
checked-out version differs from the modified version of the object definition. If you
want to view all the properties, check the Show All Attributes check box.
The Attribute Differences list contains the following list columns:

Attribute. Name of the property.

Before. Value of the property in the originally checked-out version of the object
definition.

After. Value of the property in the modified version of the object definition.

Modification. Value of Added if the property was previously blank, Deleted if an


existing value was removed, or Modified if an existing value was changed.

Click the gray header cell at the top of a list column to sort by the contents of that
column. This can be especially useful with the Modification list column, because
clicking that header cell reorders the listing of properties so they are grouped by the
action taken on them.

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-27

Managing Application Development Projects


Canceling Check-Out

Canceling Check-Out

To discard changes made to a checked-out project


1 Repeat the check-out of the project from the repository.
This replaces the modified object definitions in the local repository with the
original version from the server repositoryrepeating a check-out is permitted
for the person who last checked out the project.

2 Check in the project.


This unlocks the project on both the local and server repositories (unless you
check the Maintain lock radio button in the Check In dialog boxsee Figure 5-7
on page 5-20).

5-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Locking Projects Directly

Locking Projects Directly

You can lock and unlock projects directly (as contrasted with the check-out
procedure, which locks projects as it checks them out).

To lock local projects directly


All object definitions have a Locked property that you can set to TRUE or FALSE in
one of three ways:

 By setting the Locked property to TRUE in the Object List Editor


 By setting the Locked property to TRUE in the Properties window
 By selecting a particular business or data object definition and choosing
Repository

 Lock Project

Figure 5-11 shows a locked project (Account).

Figure 5-11. Locked Project (Account)

Version 6.0

Siebel Tools Guide Volume 1 of 2

5-29

Managing Application Development Projects


Locking Projects Directly

You lock at the project level, even though the Locked property is associated with a
particular Business, Data, or User Interface Object. That is, when you lock a specific
object, the entire project associated with the object is locked.
It might not seem logical to do a direct lock on a local project, because if it is not
also locked on the server, other developers might check it out and your changes and
theirs might ultimately conflict. Direct local locking would make sense, however, if
you are:

 Prototyping your ideas and dont really want to prevent others from checking out
the project youre working on

 Intending to discard your work when you are done


Be aware, though, that you cant change your mind and decide to use your
prototype created this way in your application, because:

 You can check in only those projects you have checked out.
 Your local projects definition will get overwritten the next time you get or check
out that project.

Locking Server Projects Directly


Although you can do a direct lock on server projects (by changing the Locked
property), Siebel recommends that you never do thisalways lock by doing a
check-out, instead, because:

 When you lock on the project directly, other developers who do a get on the
object definitions in the directly locked project may find that the definitions are
in an incomplete, inconsistent, and untested state.

 You, as the project owner, lose your ability to cancel the check-out and restore
the original object definitions.

5-30

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Compiling Projects

Compiling Projects

Once you have completed modifying the object definitions in your project, you need
to compile the changes and test them. You can compile all projects (full compile) or
projects selected from a list (incremental compile). To compile incrementally, you
must have already done at least one full compile. Doing an incremental compile will
not remove objects from the .srf file that have been deleted or inactivated.
Caution: Avoid doing incremental compilations into an .srf file,
unless the .srf file was built from a full compilation from the same
database. In particular, you should avoid doing incremental
compilations into the generic .srf file included in standard Siebel
applications.

To access the object compiler

 Select Repository

Version 6.0

 Compile.

Siebel Tools Guide Volume 1 of 2

5-31

Managing Application Development Projects


Compiling Projects

Figure 5-12 shows the Object Compiler window.

Figure 5-12. Object Compiler Window

User interface elements in the Object Compiler window:

Projects list box. All projects that are available to compile. The selected ones

(Account through Account(TAS) in Figure 5-12) are those that will actually be
compiled, if you click the Selected projects radio button.

5-32

Selected projects radio button. Compiles the selected projects.

All projects radio button. Compiles all projects in the repository.

Locked projects radio button. Compiles all locally locked projects.

Siebel repository file text box. Name and location of the .srf file to be created. Use
the Browse button to locate an existing file to replace.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Compiling Projects

You should compile to the objects subdirectory of your Siebel application client
directory (the default location is C:\siebel\objects\). Confirm that the filename and
path you compile to match the filename and path specified in the .cfg files that
define your deployed Siebel application.
Caution: Do not attempt to compile to or modify the default .srf file
displayed in the Object Compiler windowusually in
C:\siebdev\objects\siebel.srf. This file is locked because the Siebel
Tools program itself reads from it constantly as it runs. If you
attempt to compile to this filename and path, you will receive an
error and be prevented from compiling.

Language picklist. The language into which translatable user interface features

are compiled. If no translation is required, leave this field set to the default value,
no translation. If you specify a language, there must be at least some string
maps (translation records) in the message table in the local database for that
language.

Version 6.0

Compile button. Starts the compile procedure.

Cancel button. Cancels the current compile request.

Siebel Tools Guide Volume 1 of 2

5-33

Managing Application Development Projects


Configuration Guidelines: Project Structure Considerations

Configuration Guidelines: Project Structure


Considerations

The Siebel-supplied project structure is usually well suited to having several


developers work on the same repository without contention for the same object
definitions.
To determine if the Siebel project structure will work in your environment:

 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 object definitions in the same projects at the same timeif so,
break out groups of object definitions into separate projects to enable concurrent
development.
Siebel recommends that:

 You do not change the project structure in standard Siebel applications without
a compelling reason.

 You limit application modifications as much as possible.

5-34

Siebel Tools Guide Volume 1 of 2

Version 6.0

Managing Application Development Projects


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information


This chapter explained how to:

 Get information about repositories and projects


 Create new projects, rename existing ones, and move Object Definitions
between projects

 Do a get on the server repository to populate a local repository


 Check out and check in projects
Table 5-1 lists sources of additional information about topics discussed in this
chapter.
Table 5-1.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Managing Siebel repositories

Chapter 14

General configuration guidelines

Appendix D

Siebel Tools Guide Volume 1 of 2

5-35

Managing Application Development Projects


Chapter Summary and Where to Get More Information

5-36

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel Applications

Part 2

Chapter 6. Developing Siebel eBusiness Applications


Chapter 7. Developing Siebel .COM Applications
Chapter 8. Controlling Access to Information
Chapter 9. Configuring Email and Fax
Chapter 10. Configuring Assignment Objects
Chapter 11. Using Extension Tables and Columns

Version 6.0

Siebel Tools Guide Volume 1 of 2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2


Defining Business Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Development Sequence for Defining Business Objects . . . . . . . . . . . . 6-4
Modifying (or Creating) a Business Component Definition . . . . . . . . . . . . 6-5
Adding Fields to a Business Component . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Creating or Modifying a Business Object Definition . . . . . . . . . . . . . . . . .6-10
Mapping Business Components to Business Objects

. . . . . . . . . . . . 6-12

Defining User Interface Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15


Defining Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-16
Defining Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-28
Defining Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Defining Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-36
Associating Bitmaps with Applets, Toolbar Icons, and View Bars . . . . . . .6-41
Defining Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-49
Providing User Access to a New View . . . . . . . . . . . . . . . . . . . . . . 6-50
User Interface Summary: Mappings Between UI Object Definitions . . . . . . 6-51
Application Development Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 6-52
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 6-53

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-1

Developing Siebel eBusiness Applications


About This Chapter

About This Chapter

This chapter gives you information you need to develop a Siebel eBusiness
Application. It applies, in a general way, to all Siebel applications, but some of the
details are relevant only in the dedicated-client environment. For specific
information about developing HTML thin client applications, see Chapter 7.
Do these tasks in a bottom-up sequenceyou need to create objects in the bottom
layers before they can be referenced in the layers above. The order is:

1 Create or modify objects in the Business Object Layer:


a Business components
b Links
c Business objects
2 Create or modify objects in the User Interface Layer:
a Applets
b Views
c Screens
d Applications
NOTE: You must define business components, links, applets, and views in the order
shown, or you will encounter application errors. Siebel strongly recommends that
you also define business objects, screens, and applications in the order shown, and
then refine their definitions, as required, during the application development cycle.

6-2

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining Business Objects

Defining Business Objects

The Business Objects Layer of the Siebel application architecture is where your
applications data organization is defined.
You need to develop object definitions in this layer before developing definitions in
the User Interface Layer.
The following Business Object Layer object types (introduced in Chapter 3) are the
foundation of all Siebel applications:

 Business components
 Fields (child objects of business components)
 Business objects
Business component and field definitions in the Business Objects Layer map to table
and column definitions in the Data Objects Layer.
Figure 6-1 summarizes the mappings required between user interface objects and
business objects.

Siebel Sales

Contacts Screen

BusObj
Contacts

BusComps
Opportunity

Contact

Maps to

Contact List
View

Maps to

Contact List
Applet

....

Fields
First Name

Figure 6-1.

Last Name

Job Title

Maps to

Job Title

Mapping of UI Layer Objects to BO Layer Objects

To do the mapping you need to have knowledge of the underlying data model.
Version 6.0

Siebel Tools GuideVolume 1 of 2

6-3

Developing Siebel eBusiness Applications


Defining Business Objects

Development Sequence for Defining Business Objects

NOTE: Follow this sequence when you work with objects in the Business Objects
Layer (the assumption is that you have already created a project and checked it out,
as described in Chapter 5, Managing Application Development Projects):

1 Create a business component (or modify an existing one) and add it to the
project.
2 Add fields to the business component.
3 Create links that will relate the business components to one another within a
business object.
4 Create a business object and add it to the project.
5 Associate the business component with the business object.
6 Validate your business object definitions.
These steps are discussed in more detail in the following sections.

6-4

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining Business Objects

Modifying (or Creating) a Business Component Definition

General instructions for modifying or creating object definitions are provided in


Modifying, Copying, and Creating New Object Definitions on page 4-14.
Figure 6-2 shows the object definition for a business component called Account
Category.

Figure 6-2.

Version 6.0

Business Component Object Definition: Account Category

Siebel Tools GuideVolume 1 of 2

6-5

Developing Siebel eBusiness Applications


Defining Business Objects

Business Component Properties


Following are descriptions for key properties for the Business Component object
type. For a complete list and more detailed descriptions, see the Siebel Object Types
Reference.

Class property. The C++ class that implements the functionality of the business

component.
A picklist of values appears for setting this property.
Siebel applications have a hierarchy of business component classes.
CSSBusComp is at the top of the hierarchy. (Account Category in Figure 6-2 is in
the CSSBusComp business component class.) All other specialized business
component classes (CSSBCOppty is an example) are derived from CSSBusComp.
The functionality that is common between business components includes
navigation (moving through a result set returned from the database), get or set
field values in records, create and delete records, commit changes, undo/redo,
bookmark, search, and sort.

Name property. (Required.) Must be unique among all business components in

the repository. All references to the business component are done through its
name.

No Delete, No Insert, No Update properties. (Default is FALSE.) If set to TRUE, then

you cant do data manipulation operations.

Search Specification property. A conditional expression used to restrict the records

retrieved.

Sort Specification property. A sort expression used to order the records returned.

Table property. (Required.) The name of the SQL table from which records are

retrieved to populate the majority of fields in the business component. A list of


tables appears in a picklist.

6-6

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining Business Objects

Adding Fields to a Business Component

To add a field to a business component


1 In the Object Explorer window, select the Business Component object type.
2 In the Object List Editor window, select the business component you are
defining.
3 In the Object Explorer window, expand the Business Component object type,
and then select Field.
4 Modify the Field properties, as shown in Figure 6-3.

Figure 6-3.

Version 6.0

Single Value Field Properties of a Business Component (Account Product)

Siebel Tools GuideVolume 1 of 2

6-7

Developing Siebel eBusiness Applications


Defining Business Objects

Field Properties
Following are descriptions for key properties of the Field object type. For a complete
list and more detailed descriptions, see the Siebel Object Types Reference.

Column property. (Required unless it is a calculated field.) The name of the tables

column. Default table is the business component table.

Name property. (Required.) User-defined name for the field. It must be unique

within the business component.

No Copy property. If TRUE, the fields value is not copied into the newly created

record during a Copy Record operation.




Read Only property. If TRUE, the field value cannot be changed by the user.
Required property. If TRUE, a value must be entered before the record can be

written.

Text Length property. Siebel Tools gets the text length from the database and, for

columns with a physical type of varchar, sets the Text Length property for a
business component field to this value.
If the physical type is character(1), the Text Length is set to 1 and the Type is set
to DTYPE_BOOL.
For number, date, and datetime fields, Siebel Tools does not put a value in Text
Length. Exceptions are fields mapped to foreign key columns (these columns
have names that end in ID and have a physical type of varchar and length of 15).
These fields get a Siebel Type of DTYPE_ID and a Text Length of 15.
If you edit the value in the Text Length property, it is ignored unless the value in
a picklist is longer than what is specified on the business component field. In
this case you get an error.

Type property. The field data type.

For a information about the data types for the field object type, see the Siebel
Object Types Reference.

6-8

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining Business Objects

Single-Value and Multi-Value Fields


As shown in Figure 6-4, the Object Explorer shows Business Component child
object types for Field, Single Value Field, and Multi Value Field.

Figure 6-4.

Field, Single Value Field, and Multi Value Field Object Types

Normally you would modify all Field objects by selecting the Field object type,
finding the field you want, and making the changes. If you select the Single Value
Field object type, you see only Single Value objects and their properties; the Multi
Value Field object type shows only Multi Value objects. You can also configure
particular Single Value Field and Multi Value Field objects by viewing and changing
them within Single Value Field and Multi Value Field object type. Changes you make
there will be reflected when you select the changed object in Field object type.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-9

Developing Siebel eBusiness Applications


Defining Business Objects

Creating or Modifying a Business Object Definition

General instructions for modifying or creating object definitions are provided in


Modifying, Copying, and Creating New Object Definitions on page 4-14.
Figure 6-5 shows the object definition for a business component called Account
Category.

Figure 6-5.

6-10

Properties of the Account Business Object

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining Business Objects

Business Object Properties


Following are descriptions for key properties of the Business Object object type. For
a complete list and more detailed descriptions, see the Siebel Object Types Reference.

Name property. The name of the business object must be unique among business

objects in the repository. All references to the business object are done through
its name.

Query List Business Component property. The default value is Query List. It

identifies the business component used to store predefined queries for the
business object.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-11

Developing Siebel eBusiness Applications


Defining Business Objects

Mapping Business Components to Business Objects

As shown in Figure 6-6, select Business Object Component under Business Object,
and then pick from the picklist the business component that the business object
needs to be associated with.

Figure 6-6.

6-12

Mapping a Business Object (Account) with a Business Component (Account)

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining Business Objects

Mapping Business Objects to Data Objects


Figure 6-7 illustrates object definition mappings.

ABC Opportunity BusObj


Property
Name
Project

Value
ABC Opportunity
ABC Opportunity
Column

Property
BusComp

Value
ABC Opportunity

ABC Opportunity BusComp


Property
Name
Table
Class

Value
ABC Opportunity
S_OPTY
CSSBCOppty

Column
Property
Value
Column
DESCRIPTION
Name
Opportunity
Text Length
100
Type
DTYPE_TEXT

S_OPTY Table
Property
Name
Project

Value
S_OPTY
New Table

Column
Property
Value
Name
DESCRIPTION
Physical Type Varchar
Length
100

Figure 6-7.

Mappings Between Business Objects and Data Objects

If you change the value of the Name property of an object definition, you must
update property values in other object definitions that refer to the original Name
value so that they now refer to the new Name value.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-13

Developing Siebel eBusiness Applications


Defining Business Objects

Mapping User Interface Objects to Business Objects


Figure 6-8 shows how objects in the User Interface Layer are mapped to objects in
the Business Objects Layer.

ABC Opty List View


Property
Name
Business Obj
Sector0 Applet
Sector1 Applet
Sector2(-7)....

Value
ABC Opty List View
ABC Opportunity
ABC Opty List Applet
ABC Opty List Apple:

ABC Opportunity BusObj


Property
Name

Value
ABC Opportunity

Business Object Component


Property
Value
BusComp
ABC Opportunity

ABC Opty List Applet


Property
Value
Name
ABC Opty List Applet
Business Comp ABC Opportunity
List
List Column
Property
Value
Field
Budget
Display name Budgeted Amount

Figure 6-8.

6-14

ABC Opportunity BusComp


Property
Name
Table
....

Property
Column
Name

Value
ABC Opportunity
S_Opty
Field
Value
BDGT_AMT
Budget

Mapping of UI Layer Definitions to BO Layer Definitions

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining User Interface Objects

Follow this sequence when you create objects in the User Interface Object Layer.
Before you begin working on user interface objects:

 Check out the relevant project.


 Define the required objects in the Business Objects Layer.
To create the objects in the User Interface Objects Layer:

1 Define an applet, as well as the required controls and list columns.


2 Define a view.
3 Define a screen.
4 Add the view to the screen.
5 Create an application (or use an existing one).
6 Associate the screens to the page tabs.
7 Associate the screens to the screen menu items.
8 Validate your business object definitions.
These steps are discussed in more detail in the following sections.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-15

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining Applets

Applets provide viewing, entry, modification, and navigation capabilities for data in
one business component.
Applets appear as part of a view.
Applets are usually implemented as a scrolling list table or data entry form. Form
applets can be populated with standard Microsoft Windows controls like buttons,
text boxes, and check boxes. Form applets can include ActiveX controls, which are
externally created program units that can interact with the applet through property
settings, methods, and events.
An entry applet is simply a type of form applet that has the button controls New,
Delete, Copy, and Cancel. In a standard Siebel application, entry applets typically
appear in list views occupying the bottom horizontal sectors. They enable users to
use the form for record manipulation.
Form applets that are not entry style are typically used in detail views and occupy
the top horizontal sectors. By convention an entry style form applet will not have a
title because the list applet above it always has a title.
Some applets perform specialized roles as dialog boxes, charts, trees, and Web
browsers.
For more information about applet styles and types, see Chapter 19, User Interface
Objects Layer.
Figure 6-9 on page 6-17 shows the object definition for a list applet called
Opportunity.

6-16

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Field Properties on page 6-8 explains the key Single Value Field properties for
applets.

Figure 6-9.

Version 6.0

Opportunity List Applet

Siebel Tools GuideVolume 1 of 2

6-17

Developing Siebel eBusiness Applications


Defining User Interface Objects

Single-Value Field Properties


You can create an applet before the business component property is set, but you will
be required to return to the applet definition and modify it once the business
component is created.
The list applet will be autosized to fit into the view sectors in which the applet is
defined. The size of a list applet cannot be increased, however, so be sure to make
the list applet the maximum size (that is, 4 x 2 sectors).
Following are descriptions for key Single-Value Field properties. For a complete list
and more detailed descriptions, see the Siebel Object Types Reference.

Business Component property. (Required.) The name of the business component

whose data is to be displayed in the applet.

Class property. (Required.) The C++ class used to manage the applet. Form
applets use the CSSFrame class, and list applets use the CSSFrameList class.
There are also some specialized classes for applets that use special business
components and/or have special features.

(Various properties for Web applets.) This includes HTML Attributes, HTML

Display Mode, HTML Only, HTML Row Sensitive, and HTML Type.

Height property. (Required.) Height in sectors of the applet. Valid values are from

1-4, in sectors. A Siebel view contains a maximum of 2 sectors wide by 4 sectors


tall. For more information, see Defining Views on page 6-28.

Name property. (Required.) Name of the applet.

No Delete, No Insert, No Update properties. If TRUE, you are not allowed to perform

the data manipulation operation.


NOTE: If these are true for the business component on which the applet is based,
the applet will automatically inherit the restrictions from the business
component.

6-18

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Search Specification property. A conditional expression used to restrict the records

displayed.




Title property. The text used for the title of the applet. Requires a label control in
the applet named Applet Title.
Width property. (Required.) The width in sectors of the applet. Valid value from

12.

Applet Controls
Following are descriptions for key applet Control properties. For a complete list and
more detailed descriptions, see the Siebel Object Types Reference.

List Applet Control Properties


The following are the key control properties for all list applets:

Applet Title property. (Label Control.) Title of the applet, defined in the applet

definition.

List property. (List Control.) Control used for displaying columns of data from the

underlying business component.


Accept the default values for these list applet controls.

Form Applet Control Properties




Caption property. (PushButton, CheckBox, Group, Label Controls.)

Field property. (TextBox, CheckBox.) Business component field for which the

control is displaying data.

Method Invoked property. (PushButton.) Method invoked when the button control

is pushed.

Name property. (Required.) The name of the control.

Read Only property. (TextBox, CheckBox.) If TRUE, the control is read-only and

the value in it cannot be modified.

Version 6.0

Sequence property. The position of this control relative to other controls in the
applet, indicating tab sequence. Valid values are numbers greater than zero.

Siebel Tools GuideVolume 1 of 2

6-19

Developing Siebel eBusiness Applications


Defining User Interface Objects

Tab Stop property. If TRUE, it allows the user to move to the control using the TAB

key.

Text Alignment property. (Label Controls.) Left is the default. It indicates how to

align the text in the control.

Type property. The control type.

The Applet Designer


The Applet Designer is a visual object editor used for creating applets in Siebel
applications. With it you can:

 Populate either form or list applets with standard Microsoft Windows controls.
 Format controls and specify control properties.
 Paste controls from other applets into the new applet. You should generally do
this for List, PickList, MVG and Assoc type applets.

6-20

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Figure 6-10 shows the Siebel Applet Designer for a form applet.

Figure 6-10. Siebel Applet Designer

To invoke the Siebel Applet Designer


Do one of the following:

 Choose View

 Edit Layout.

 Right-click the applet and choose Edit Layout.


For more information about using the Applet Designer, see The Applet Designer
on page 12-3.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-21

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining List Applets


Figure 6-11 shows the steps you need to follow to create a list applet definition.

Use Copy
Record to
Clone

No

Create From
Scratch?

Yes

Select Simular
Applet and
Copy Controls
to Clipboard
Use Applet
Designer

Remove
Unwanted
Columns

Creste a New
Applet and
Paste Controls
into Applet

Edit Copied
Columns if
Necessary
Add Columns
Mapping to
BusComp
Fields

Figure 6-11. Defining List Applets

You can go through these steps manually, on your own, or use the List Applet
wizard (explained in New List Applet Wizard on page 13-4).

6-22

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining List Columns in a List Applet


Figure 6-12 shows the field list columns from the Opportunity business component.

Figure 6-12. Field List Columns in Opportunity Business Component

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-23

Developing Siebel eBusiness Applications


Defining User Interface Objects

User Settings and Preferences


Users can choose which list columns to display, and the order in which they are
displayed in the Siebel client. User settings override Siebel Tools configuration
settings.

To test a configuration without user-specified settings


Do one of the following:

 In the Siebel client, go to the list applet to which your completed configuration
changes apply, right-click in a column heading, and select Columns Displayed...
Then click the Reset button. Inspect the list applet to be sure your configuration
changes are what you expect.

 Delete the users folder, which is named something like


c:\siebel00\bin\user1\siebel.ssf.
NOTE: User preferences set with the Options dialog in a Siebel application are

saved in c:\siebel00\bin\user1 in siebel.pre.

Lists and List Columns


A list applet contains only list columns, or list columns and buttons.
List is the parent of the List Column object type. A list applet can contain one and
only one List object definition.
Set the AlphaTab Search Field property of the list to cause an alpha tab search bar
to appear at the bottom of the list. Specify the Business Component Field name for
the field the alpha search is applied to.

6-24

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Type Property of List Column Object Type


As shown in Figure 6-13, valid Type column values are:

 CheckBox
 TextBox (this is the default).

Figure 6-13. Type Properties of List Column Object Type

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-25

Developing Siebel eBusiness Applications


Defining User Interface Objects

Type Property of Control Object Type


Figure 6-14 illustrates Label and TextBox control types.

Figure 6-14. Control Types: Label and TextBox

Valid values are:

 ChartControl
 CheckBox
 ComboBox
 Group
 Label (Account in Figure 6-14)

6-26

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

 ListControl
 PushButton
 TextBox
 TreeControl
 ImageControl
 ActiveXControl

Enhancing Control Behavior


For TextBox type controls and list columns:

 If a calendar or calculator needs to appear for control, set the Runtime property
of the control to TRUE.

 If a popup editor needs to appear, set the Popup Edit property of the control to
TRUE.
For List Columns of type CheckBox:

 Set the Check Bitmap Identifier property to one of the Siebel-supplied options
(for example, CHECK, ASTERISK, or FLAG).

High-Resolution Static Images Embedded in Applets


You can display both static images (those that do not change from record to record)
and dynamic images (different images for each record). If you specify a bitmap
property, a static bitmap will be used.
You can set the value of the bitmap property using a picklist that restricts choices
to those bitmaps in the Bitmap Category property control icons.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-27

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining Views

Views define a visual representation of a business objects data.


A Siebel application window displays one view at any one time.
Views:

 Contain applets
 Are components of a screen (each screen includes one or more views)
 Appear in one of he three primary view styleslist, detail, and explorer
A view displays one or more applets in a rectangle of the display area, which (in the
dedicated client onlynot the Web client) are divided into sectors. The sectors are
numbered zero through seven, as illustrated in Figure 6-15.

Figure 6-15. Sectors in a View

6-28

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

An applet can occupy one or more sectorsthe sectors must form a rectangular area
of the screen. Sector layout is part of view definition.
An explorer view populates only sectors 03the right-hand sectors are
dynamically determined for the child list.
The Siebel client detects current Windows display mode and automatically adjusts
the user interface on start-up.
The sectors that are displayed are based on screen resolution:

 For SVGA (800 x 600) a view displays six sectors.


The others are drop sectors and must be defined as such.
NOTE: If you define sectors 0 and 4 as drop sectors, the view will not be displayed

properly in SVGA mode.

 For XVGA (1024 x 768 and higher) a view displays all eight sectors.
NOTE: The key question to ask in deciding whether to use six sectors or eight is:

Do all my users have XVGA monitors? If not, you should use only six sectors.
You add a new view object in the Object List Editor.
You can do the complete view definition in:

 The Object List Editor (and/or Property window)


 The View Designer

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-29

Developing Siebel eBusiness Applications


Defining User Interface Objects

To define a view in the Object List Editor


1 From the Object Explorer, select View.
The Object List Editor opens.

2 Choose Edit

 New Record to add a new view object definition.

3 Set the following properties for the new view record:


 Name property. (Required.) The name of the view. All references to views are
done through its name.
 Drop Sectors property. (Six-sector mode only.) The pair of sectors to drop.
Valid values are 0and4, 1and5, 2and6, or 3and7.
 Business Object property. (Required.) The name of the business object used by
the view. This determines the relationship between business components on
which member applets are based.
 Sector0(-7) Applet property. (Required.) Which applet will appear in sector
0(-7) of the view.

All the sector properties must have a value specified (except explorer view).
 Screen Menu property. If TRUE, the view should be included in the screen
menu.
 Title property. Text string used as the window title.

To define a view using the View Designer


1 In the Object Explorer, select the View object type.
2 In the Object List Editor, select the particular view you want to define.
NOTE: Prior to this step you need to have created the view in the Object List

Editor.

3 From the menu bar, choose View


definition).

 Edit Layout (or right-click on a view

4 Drag an applet from the applets window to the layout window.

6-30

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

5 Size the applet using the blue handles.


6 Save the changes.
Figure 6-16 shows the View Designer.

Figure 6-16. View Designer

The applets window shows only the available applets in either icon or list form. An
applet is considered available if it is associated with a business component that is
present in the business object for this view.
You can delete an applet on the layout by selecting it, and then clicking the DELETE
key.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-31

Developing Siebel eBusiness Applications


Defining User Interface Objects

Configuring applets within a view


Use the following three View properties to configure the layout of applets within a
view:

 High Applet Borders


 No Applet Highlight
 No Inter-Applet Spacing

Defining Screens

A screen is a collection or group of related views:

 The screen represents a logical grouping of views pertaining to one business


function.

 All the views in a screen usually map to a single business object.


You access screens via the Screens menu or the tabs in the Tab bar.

 The menu and tab that provide access to a screen are defined as part of
application object definitionone or both may exist for a given screen.

 Screens have bitmap and text properties that are used in the View bar area.
Screen definitions specify the default view that appears when a tab is clicked.
Screens have a single child object type: Screen View.

To define a screen
1 From the Object Explorer, select Screen.
The Object List Editor opens.

2 Choose Edit

 New Record to add a new Screen object definition.

3 Set the following properties for the new Screen record:


 Name property. (Required.) Name of the screen. All references to a screen are
done through its name.

6-32

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

 Default View property. View that will be used when the user clicks on a page
tab for a Screen.
NOTE: A view must be added to the screen before it can be specified as a

default.
 Bitmap Category property. Bitmap category containing the logo bitmap that
will be shown in the View bar.
 Viewbar Text property. Label that appears below the optional logo bitmap in
the View Bar.

Figure 6-17 shows the definition for the Accounts Screen.

Figure 6-17. Accounts Screen Definition

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-33

Developing Siebel eBusiness Applications


Defining User Interface Objects

To define a screen view


1 From the Object Explorer, select the Screen object type. The Object List Editor
opens.
2 Choose Edit

 New Record to add a new screen object definition.

3 Set the following properties for the new Screen View object:
 6 Sectors property. If TRUE, the view will be available when the application
is running in 6-sector mode.
 8 Sectors property. If TRUE, the view will be available when the application
is running in 8-sector mode.
 Menu Text property. The text displayed in the submenu of the Screen menu bar
selection. If a screen has only one view, the Screen View menu text appears
as the menu item instead of the Screen Menu text.
 Sequence property. Specifies the order in which the views will appear in the
cascading menu for the Screen menu item.
 Category property. Views in the screen can be grouped into categories. These
categories appear hierarchically in the View bar.

6-34

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Figure 6-18 shows the Account Address view definition in the Object List Editor and
Properties windows.

Figure 6-18. Account Address View Definition

The Applets window shows only the available applets in either icon or list form. An
applet is considered available if it is associated with a business component that is
present in the business object for this view.
You can delete an applet on the layout by selecting it and clicking the DELETE key.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-35

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining Applications

An application is a collection of screensit defines which screens will be accessible


through menus and tabs.
Many applications can be supported in a single repository.
The applications name is the one used in the configuration file that is read when
the application is executed. Application names are case-sensitive and spacesensitive.
Siebel applications place application object definitions in their own separate
project. This is done to minimize locking of the application object definition.
After your application has been created you need to

 Associate screens to Page Tabs


 Associate screens to Screen Menu Items
To define an application
1 In the Object Explorer, select Screen.
The Object List Editor opens.

2 Choose Edit

6-36

 New Record to add a new application object definition.

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

3 Set the properties for the new application record.


Figure 6-19 shows application definitions in the Object List Editor and Properties
windows.

Figure 6-19. Application Definitions

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-37

Developing Siebel eBusiness Applications


Defining User Interface Objects

Associating Screens to Page Tabs


Figure 6-20 shows Page Tab definitions in the Object List Editor and Properties
windows.

Figure 6-20. Page Tab Definitions for Accounts Screen (SSW)

To create Page Tabs in an application


1 In the Object Explorer, expand the Application object type.
2 Select the child object of Application called Page Tab. The Page Tabs List Editor
appears as the bottom windowpane in the Object List Editor window.
3 With the Page Tabs List Editor active, choose Edit
Page Tab object definition.

6-38

Siebel Tools GuideVolume 1 of 2

 New Record to add a new

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

4 Set the properties for the new Page Tab record:


 Screen property. The screen you want to expose through a page tab.
 Sequence property. Specifies the order of the page tabs for an application.
 Text property. Specifies the text that will be displayed on the page tab.

Defining Screen Menu Items


Figure 6-21 shows Screen Menu Item definitions in the Object List Editor and
Properties windows.

Figure 6-21. Screen Menu Item Definitions for Accounts Screen (SSW)

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-39

Developing Siebel eBusiness Applications


Defining User Interface Objects

To associate screens to screen menu items


1 From the Object Explorer, expand the Application object type.
2 Select the child object of Application called Screen Menu Item.
The Screen Menu Items List Editor appears as the bottom windowpane in the
Object List Editor window.

3 With the Screen Menu Items List Editor active, choose Edit
a new Screen Menu Item object definition.

 New Record to add

4 Set the properties for the new Screen Menu Item record:
 Screen property. The screen that will be accessed with the menu item.
 Sequence property. The position of the menu item on the Screens menu for the
application.

Duplicate sequence numbers are acceptablein that case the first one added
will be the first to appear.
You can also use gaps in sequence numbers so you can insert additional
screens between your original entries.
 Text property. The text to use for the menu item.

You can put an ampersand (&) before any letter in the Text property to create
a shortcut. When users execute the Siebel application, the letter you
preceded with an ampersand will appear underlined. This allows users to use
a keyboard key rather than a mouse-click to invoke the menu item.

6-40

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Associating Bitmaps with Applets, Toolbar Icons, and View Bars


You can associate bitmap images with applets, toolbar icons, and the View bar.
The Bitmap Category object type allows you to group bitmaps together by function.
For example, there is a category called Button Icons that contains all images for
buttons on applets used in Siebel applications.
NOTE: Status bitmaps used in Siebel applications must be in .bmp format. (They can
be 24-bit high-resolution bitmaps.) For toolbar icons and button icons, use only 4bit or 8-bit color bitmaps with color palette restrictions.

Figure 6-22 shows bitmaps associated with the Calendar bitmap category.

Figure 6-22. Bitmaps Associated with the Calendar Bitmap Category

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-41

Developing Siebel eBusiness Applications


Defining User Interface Objects

To create a new bitmap category and add a bitmap to it


1 In the Object Explorer, select Bitmap Category.
2 Add a new bitmap category.
3 Select the Bitmap child object.
4 Add a new bitmap (the name must be Logo).
5 Import the bitmap (for a logo, the approximately size should be 40 x 256).
6 Preview the bitmap to verify that it is the correct bitmap and the correct size.
Static bitmaps are implemented with the Bitmap and Bitmap Category object types.
Static bitmaps can serve the following purposes in your configuration:

 Screen logo in a View bar


 Applet background that is similar to Microsoft Windows wallpaper
 Toolbar button with a custom bitmap image
 Command button in an applet with a custom bitmap image
 Custom company logo in the upper right of the application window
Static bitmaps are part of the configuration, and are compiled into the .srf file. They
are distinct from bitmap file attachments, which are found in user data stored in the
database and displayed in image controls in applets.

6-42

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Bitmap Category Object Type


The Bitmap Category object type enables you to group together images by purpose
or other relationship. The Bitmap object type is a child of Bitmap Category;
therefore every bitmap image in the repository must be found in exactly one bitmap
category. Two different kinds of bitmap categories (as indicated in the Predefined
property) exist:

 If the Predefined property is TRUE, this is a predefined category. These typically


contain both user-provided and system-provided bitmap files. Bitmap files may
be added to or removed from predefined categories, but the bitmap category
object definition itself cannot be deleted or renamed.
The following are some important predefined bitmap categories:
 Applet Backgrounds holds wallpaper bitmaps.
 Command Icons holds Toolbar button bitmaps.
 Button Icons holds applet command button bitmaps.
 Company Logos holds each company logo bitmap displayed in the upper
right corner of an application, specified in the Company Logo Bitmap
property of the application object definition.
 Control Icons is used for static image controls.
 View Background is used as a background image in a view.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-43

Developing Siebel eBusiness Applications


Defining User Interface Objects

 If the Predefined property is FALSE, this is a user-defined category. These


typically contain a specially named (by the system) bitmap, but the bitmap
category object definition can be created, deleted, or modified by the developer.
These bitmaps are typically View bar logos, which have the fixed name Logo for
the bitmap object definition. The name of the bitmap category is user-provided,
and is referenced elsewhere (in the Bitmap Category property of the Screen
object type, in this case).
For example, the Account screen can have a custom logo imported into a bitmap
object definition called Logo, created as a child object definition of a userdefined bitmap category called Account. Then, in the Account screen object
definition, the Bitmap Category property is set to Account. The system will
search for a bitmap category called Account, and use the bitmap file that is
specified in its Logo child bitmap object definition. Note that the spelling and
capitalization of Logo must be exactly as shown, and the property value in the
Screen object definition must exactly match the name of the bitmap category
containing the Logo bitmap definition.

Importing Bitmaps
To create and import a new bitmap object definition into an existing bitmap
category
1 In the Object Explorer, select the Bitmap Category folder.
2 In the Object List Editor, select the bitmap category.
3 In the Object Explorer, select the Bitmap object type.
4 In the Object List Editor window, right-click in the left border of one of the rows
listing bitmap object definitions, and select New Record.
5 In the new bitmap object definition, enter a name for the bitmap.

6-44

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

6 Right-click in the left border of the new bitmap object definition, and select
Import Bitmap.
A standard Open dialog box appears.

7 In the Open dialog box, locate the bitmap file on your hard disk, CD drive, or
network, and click the Open button.
The height and width properties are automatically set. You cannot edit these
properties.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-45

Developing Siebel eBusiness Applications


Defining User Interface Objects

8 (Optional) Select a transparent color by clicking in the Transparent Color column


and selecting from the color picker dialog, or by manually typing in three
integers that identify the color.
Siebel Tools provides transparent color support for logos, toolbars, buttons, and
similar bitmap object styles. A transparent color in a bitmap is a color which
allows the background object behind it to show through. This is useful especially
for toolbar buttons and applet command buttons, because users may have
custom background color settings, and when your button appears on their
background, you may want it to take on the background color from the
application.
The color you select (or enter as an RGB triple) indicates which color to
substitute Transparent for.
You can preview the bitmap that is assigned to a bitmap object definition by
highlighting the object definition in the Object List Editor, right-clicking, and
selecting Preview Window from the popup menu.

Caution: For toolbar and command buttons, use the standard


VGA palette in a 16-color bitmap, or the browser safe palette
in a 256-color bitmap. High-resolution 24-bit bitmaps are
supported for other images (use these sparingly, however,
because large graphic can increase the size of the .srf file to the
point where performance may be affected).

Using Bitmap Button Controls in Applets and Views


Bitmap button controls display a bitmap instead of text, much like a Toolbar icon.
Unlike a Toolbar icon, however, a bitmap button control is a command button in
the applet. A good example of the use of a bitmap button control in an applet is the
toggle button that appears in applets that use the applet toggle feature. The toggle
button uses a bitmap in the Button Icons bitmap category called TOGGLE.

6-46

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

To make a bitmap button control on an applet or view


1 Import the bitmap into the repository by first creating a new bitmap object
definition in the predefined bitmap category Button Icons, and then using
Import Bitmap.
(This is described in Importing Bitmaps on page 6-44.)

2 Set a transparent color (192 192 192 is recommended).


3 In the Object Explorer, navigate to the applet or view.
4 To open the Applet Designer for the applet (or View Designer for the view),
right-click on the row tab at the left of the applets (or views) entry in the Object
List Editor, and select Edit Layout.
5 Draw the button control on the applet in the Applet Designer (or view in the
View Designer).
6 Locate the control object definition for the button that you just created.
7 Set the Caption property of the control to the name of the bitmap.
8 Set the Owner Draw property to TRUE.
This means that the application draws the visual object. This should always be
set to TRUE for bitmap buttons, and does not apply to any other object types.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-47

Developing Siebel eBusiness Applications


Defining User Interface Objects

Using Applet Background Bitmaps


To set up the background for an applet using an imported bitmap
1 Import the bitmap into the repository by first creating a new bitmap object
definition in the predefined bitmap category Applet Backgrounds, and then
using Import Bitmap.
(This is described in Importing Bitmaps on page 6-44.)

2 Navigate to the applet in the Object Explorer.


3 Set the Background Bitmap property for the applet to the name of the bitmap
object definition.
4 Set the Background Bitmap Style for the applet to one of the following settings:
 Center value. Places the bitmap once in the center. This setting is appropriate
for watermark-type bitmaps.
 Stretch value. Stretches the bitmap to fill the entire applet background.
 Tile value. Displays the bitmap repeatedly at its actual size, arranged like
rectangular tiles to cover the surface of the applet background.
 Top Left value. Places the bitmap once at the top left corner of the applet.

6-48

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

Defining Toolbars

To define a new Toolbar


1 In Types view in the Object Explorer, double-click the Toolbar object type.
2 Click to the left of a row in the Object List Editor, and choose Edit

 New Record.

3 Specify the name of the new Toolbar in the Name property of the new object
definition.

To add a new Toolbar icon to an existing Toolbar


1 Verify that the bitmap image you want to use on the Toolbar icon surface
currently exists as a child bitmap object definition of the bitmap category object
definition named Command Icons.
If it does not exist, create a bitmap object definition in this bitmap category as
described in Bitmap Category Object Type on page 6-43. If it does exist, note
the name of the bitmap object definition.

2 Verify that the method you want for this Toolbar icon to invoke currently exists,
or add a Siebel VB or eScript script to the application PreInvokeMethod.
You need to write an If or Case statement based on MethodName and write the
instructions for that MethodName within the If or Case statement.
You also need to change the last line of PreInvokeMethod to CancelOperation
(from ContinueOperation).

3 Navigate to the Command object type in the Object Explorer, and add a new
Command object definition in the Object List Editor. Specify the bitmap to use
in the Bitmap property, the method to invoke in the Method property, and other
properties.
4 Navigate to the Toolbar object definition to which the new Toolbar Item is to be
added.
5 In the Object Explorer, select the Toolbar Item object type.
6 In the Object List Editor, add a new Toolbar Item object definition. Specify the
name, the name of the Command object definition which supplies the bitmap
and method, and the sequence number of the Toolbar icon relative to the other
Toolbar icons appearing in the Toolbar Items list in the Object List Editor.

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-49

Developing Siebel eBusiness Applications


Defining User Interface Objects

Providing User Access to a New View

Providing users access to a new view is an application administration task.


NOTE: This is an important step to remember. If you simply define a screen without
providing access to it, it will not be accessible to any users in the Siebel application
client.

Once you add a new view to the Siebel repository, an application administrator
needs to:

 Log in to the Siebel application as a user with the right level of administrative
responsibility

 Add the new view to the list of views


 Add the view to the appropriate responsibility
Depending on the nature of the new view and the users who need access to it, the
application administrator may also need to:

 Add new responsibilities


 Add employees to the new responsibilities
For information about doing these tasks, see Chapter 8, Controlling Access to
Information, and the Siebel Applications Administration Guide.

6-50

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Defining User Interface Objects

User Interface Summary: Mappings Between UI Object Definitions


Figure 6-23 summarizes the mappings required between UI object definitions.

ABC Sales Enterprise Application


Property
Name

Value
ABC Opportunity

ABC Opportunities Screen


Property
Name
Default View

Value
ABC Opportunities
ABC Opty List View

Page Tab
Property
Screen

Value
ABC Opportunity

Screen Menu Items


Property
Screen

Screen View
Value
ABC Opty List View
&Opportunity

Value
ABC Opportunity

ABC Opty List View


Property
Name
BusObj
Sector0 Applet
Sector1 Applet
Sector2(-7)....

Property
View
Menu Text

Value
ABC Opty List View
ABC Opportunity
ABC Opty List Applet
ABC Opty List Apple:

ABC Opty List Applet


Property
Name
BusComp

Value
ABC Opty List Applet
ABC Opportunity

Figure 6-23. Mappings Between UI Object Definitions

Version 6.0

Siebel Tools GuideVolume 1 of 2

6-51

Developing Siebel eBusiness Applications


Application Development Summary

Application Development Summary

To develop a Siebel eBusiness Application you need to:

 Define the relevant objects in the Business Object Layer


 Define the relevant objects in the User Interface Object Layer
 Map objects to one another

6-52

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel eBusiness Applications


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information


This chapter outlined the sequence of tasks you need to follow to develop a typical
Siebel eBusiness Application:

1 Create or modify objects in the Business Object Layer:


a Business components
b Links
c Business objects
2 Create or modify objects in the User Interface Layer:
a Applets
b Views
c Screens
d Applications
Table 6-1 lists sources of additional information about topics discussed in this
chapter.
Table 6-1.

Version 6.0

Sources of additional information

For information about this topic . . .

. . . see the following

Business Objects Layer

Chapter 18

User Interface Objects Layer

Chapter 19

Controlling access to information

Chapter 8

Field data types

Siebel Object Types Reference

Administering Siebel applications; in particular,


providing user access to new views

Siebel Applications Administration


Guide

Siebel Tools GuideVolume 1 of 2

6-53

Developing Siebel eBusiness Applications


Chapter Summary and Where to Get More Information

6-54

Siebel Tools GuideVolume 1 of 2

Version 6.0

Developing Siebel .COM Applications

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-2


What Is a Siebel Thin Client Application? . . . . . . . . . . . . . . . . . . . . . . . 7-3
HTML Thin Client Configuration Scenarios . . . . . . . . . . . . . . . . . . . . . . 7-8
HTML Thin Client Configuration: General Approach . . . . . . . . . . . . . . 7-10
Example: Configuring an Applet Web Layout

. . . . . . . . . . . . . . . . . . . 7-11

Editing the Web Layout of Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13


Editing the Web Layout of Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16
Working with the Web Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17
Setting Web Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 7-21

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-1

Developing Siebel .COM Applications


About This Chapter

About This Chapter

This chapter outlines:

 The sequence of tasks you need to go through to develop a typical Siebel HTML
thin client application

 The Siebel Tools product components you use to do those tasks


The chapter assumes you already know the basics of configuring Siebel eBusiness
Applications (as discussed in Chapter 6).

7-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


What Is a Siebel Thin Client Application?

What Is a Siebel Thin Client Application?

A Siebel thin client enables enterprises to deploy the User Interface Objects Layer
of a Siebel application on a Web browser, as a Java application, or on a wireless
device.
A Siebel thin client is distinguished from a Siebel dedicated client, which is the
default Siebel client for Siebel eBusiness Applications. In a Siebel dedicated client,
all layers of the Siebel application architecture except the database reside on the
users personal computer.
Various standard Siebel applications are shipped with thin clients, including Siebel
.COM applications and Siebel eBriefings applications.
There are four types of Siebel thin clients:

Siebel thin client for Windows. Enables enterprises to deploy the User Interface

Objects Layer of a Siebel application in a standard Microsoft Windows Web


browser.
The thin client for Windows consists of:
 A standalone executable (.exe file)
 ActiveX controls
 A Netscape plug-in

Siebel Java thin client. Enables enterprises to deploy the User Interface Objects
Layer of a Siebel application as a stand-alone Java application.

Siebel HTML thin client. Uses an HTML-based user interface. This interface is part
of Siebel .COM applications.

Siebel WML thin client. Uses a WML-based user interface to deploy Siebel

applications to wireless devices.

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-3

Developing Siebel .COM Applications


What Is a Siebel Thin Client Application?

An example of a view displayed in the Siebel thin client for Windows appears in
Figure 7-1.

Figure 7-1. Opportunity List View Displayed in Windows Thin Client in Microsoft
Internet Explorer

7-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


What Is a Siebel Thin Client Application?

The same view in a Siebel Java thin client appears in Figure 7-2.

Figure 7-2.

Version 6.0

Opportunity List View Displayed in Java Thin Client

Siebel Tools Guide Volume 1 of 2

7-5

Developing Siebel .COM Applications


What Is a Siebel Thin Client Application?

Figure 7-3 shows the HTML thin client user interface of a standard Siebel .COM
application.

Figure 7-3.

7-6

User Interface of a Standard Siebel .COM Application

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


What Is a Siebel Thin Client Application?

Figure 7-4 shows the WML thin client user interface of a Siebel Wireless
application.

Figure 7-4.

User Interface of a Siebel Wireless Application

A large portion of the task of configuring Siebel HTML thin client applications is
done in Siebel Tools.
This chapter outlines the steps you need to take to do HTML thin client
configuration.
Configuring Siebel .COM Applications presents this configuration procedure in
greater detail, and it also discusses the tasks of configuring Windows and Java thin
clients.

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-7

Developing Siebel .COM Applications


HTML Thin Client Configuration Scenarios

HTML Thin Client Configuration Scenarios

The following is a typical HTML thin client configuration scenario.

 You want to tailor a Siebel .COM application to meet your unique business
requirements.
Follow these general steps:
 Use Siebel Tools to configure business objects to meet your requirements.

This procedure is described in Defining Business Objects on page 6-3.


 Configure the thin client user interface:
 Modify the standard templates that are shipped with the Siebel .COM
application to conform to the look and feel of your Web site. To do this,
use any third-party HTML development environment (for example,
Macromedia Dreamweaver). You can invoke the HTML editor from Siebel
Tools if you install it as a plug-in.
 Create Web Layouts for your Siebel application applets and views using
templates.
 Assemble the HTML application definition from the applets, views, and
templates.
 Iterate through the user interface development steps until you are
satisfied with the look, feel, and behavior of your HTML thin client
application.
 Validate the HTML application definition, looking for configuration
errors.

7-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


HTML Thin Client Configuration Scenarios

 You have already configured a Siebel eBusiness Application (dedicated client)


and you now want to deploy some or all of your application on an HTML thin
client.
Assume that you have already configured a large number of objects (both
business objects and user interface objects), and you need to convert them into
components of your new thin client application.
Follow these general steps:
 Reuse as many business objects as possible without any modification.
 Make the configured applets and views available over the Web by generating
Web layouts using the wizards and Web editors.
 Do additional configuration as required.

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-9

Developing Siebel .COM Applications


HTML Thin Client Configuration: General Approach

HTML Thin Client Configuration: General Approach

The task of configuring HTML-based thin clients is a modular one that separates
style (style sheets) and structure (templates) from the binding (HTML display
objects like applets and views) to objects representing actual data (business
components and business objects).
You can reuse style sheets and templates across multiple HTML display objects.
As illustrated in Figure 7-5, HTML thin client generation involves assembling the
style and structure pieces with the binding and data pieces to produce HTML
output.

Style Sheet
(STYLE)

Template
(STRUCTURE)
Generate
Applet/View
(BINDING)

HTML Output

(By the Siebel Web Engine)

BusComp/BusObj
(DATA)

Figure 7-5.

7-10

How HTML Output Is Produced

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


Example: Configuring an Applet Web Layout

Example: Configuring an Applet Web Layout

Following are steps for creating an applet Web layout. The steps for creating a view
Web layout are similar.

1 Using a third-party HTML development tool (for example, Macromedia


Dreamweaver or Microsoft FrontPage), edit the (applet) template.
You are most likely to want to do this to make the structure and style of the
template consistent with your existing Web site.
Style information is maintained in external Cascading Style Sheet files, and the
elements of the template refer to it.
The template contains references to controls, called placeholders. The definition
of the applet in the Siebel repository has children objects called Applet Web
Template and Applet Web Template Item, which define the mapping from the
controls to these placeholders in the template. Applets with the same look and
feel are based on the same templatethus requiring only a small number of
templates to describe the look and feel of the entire application.
NOTE: Once you have a set of templates that meet your needs and are stable, you

can perform the remainder of your configuration within Siebel Tools.

2 Using the New Form Applet or New List Applet wizard, create a new applet
based on a business component definition.
The wizard enables you to specify the templates to be used by the applet in each
of the modes: Base (read-only), Edit, Query, and New. It also lets you determine
the subset of the fields that will be available over the Web.
You can also deploy an existing applet in your Web application. From the Applet
Layout Editor, right-click and select Web Layout Wizard... This wizard takes you
through the steps of making the applet available over the Web (that is, selecting
the templates and the subset of fields).
The wizard creates a default Web layout for each of the modes for which you
specified a template. The controls or list columns corresponding to the fields you
selected are mapped to placeholders in the template.

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-11

Developing Siebel .COM Applications


Example: Configuring an Applet Web Layout

3 Edit the applet Web layout using the Web Applet Editor.
The Web Applet Editor allows you to map a control or list column to a
placeholder in the templateyou simply drag these items from the Controls /
Columns window to the Web layout. You can also create new controls that are
available in the HTML thin client (these are called Web controls) and map them
to placeholders in the template.
See Editing the Web Layout of Applets on page 7-13 for details.

4 If at this point if you want to make changes to the HTML structure in the
underlying template, you need to (re-)invoke the external HTML editor.
One example of a change at this point might be to extend a three-columnar form
template to a two-columnar layout. Another might be to implement a global
style change that affects your entire Web site.
Once you save your changes to the template, you can have the mappings and
the Web layout updated to reflect these changes.

5 Compile the repository changes into the .srf file.


When the HTML application runs, the Siebel Web engine reads the applet definition
from the .srf file, selects the specified template, combines the two, retrieves the
necessary data by way of the business object definitions, and presents the data to
the user.
The HTML thin client application is assembled from the various HTML display
objects and templates that were shipped with the standard application, as well as
those that were created through configuration, as described above.
When you are ready to deploy your HTML thin client application, you package
the .srf file, templates, and related files, and copy them over to the test or
deployment area.

7-12

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


Editing the Web Layout of Applets

Editing the Web Layout of Applets

You edit the Web layout of an applet in the Web Applet Editor. The Controls /
Columns window, which is also active, shows all the controls and list columns
defined for the current applet, including those that may or may not be mapped to
placeholders in the current template.
The Web Applet Editor enables you to:

 Edit the mapping between controls and list columns in the applet, and
placeholders in the template

 Create new Web controls and map them to placeholders in the template
The Applet Web Layout Editor is shown in Figure 7-6.

Figure 7-6.

Version 6.0

Applet Web Layout Editor (New Layout)

Siebel Tools Guide Volume 1 of 2

7-13

Developing Siebel .COM Applications


Editing the Web Layout of Applets

You launch the editor from the Applet Designer by right-clicking and selecting Edit
Web Layout. The editor also launches automatically when you click Finish in the
New Applet wizard. Alternatively, you can select an Applet Web Template child
object for the applet in the Object List Editor, right-click, and select Edit Layout.
A visual representation of the HTML template is displayed in the window. Control
placeholders are included (as shown in Figure 7-6). For placeholders that are
mapped to controls, the appropriate representation of the control is shown.
Placeholders that are not mapped are shown using a generic style, such as [*].
You map controls or list columns by dragging and dropping from the Controls /
Columns window to a placeholder. You can also create a new control that appears
only in the HTML thin client (a Web control). To do this, select from the Web
Controls toolbar the type of control you want to create, and then select the
placeholder with which you want to associate the control. You can edit the
properties of a control (including Web controls) or list column by selecting it from
the Controls / Columns window in the Applet Web layout, and making changes in
the Properties window.

7-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


Editing the Web Layout of Applets

You can preview the Web layout by right-clicking and selecting Preview. Figure 7-7
shows the preview of the layout in Figure 7-6 on page 7-13.

Figure 7-7.

Version 6.0

Applet Web Layout Editor: Preview

Siebel Tools Guide Volume 1 of 2

7-15

Developing Siebel .COM Applications


Editing the Web Layout of Views

Editing the Web Layout of Views

You edit the Web layout of a view in the Web View Editor, which enables you to edit
the mapping between applets in the view and placeholders in the template.
To launch the editor, select the View Web Template object (which is a child of
View), right-click, and select Edit Layout. If a View Web Template does not exist for
this view, create one by clicking on New Record and selecting a template name from
the picklist.
Figure 7-8 shows the Web View Editor.
The Web View Editor renders the underlying view template with mapped and
unmapped placeholders.

Figure 7-8.

7-16

Web View Editor

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


Working with the Web Layout

Working with the Web Layout

Here are additional tasks you can do with the view Web layout.

To add an applet to the Web layout of the view


To create a mapping, you can drag an applet from the Applets window and drop it
onto an applet placeholder in the template. By default the Applets window shows
all applets based on business components in the business object of the view. You
can restrict the list to only those applets that have Web layouts. When a placeholder
is mapped to an applet, its look changes to reflect the type and name of the applet
that was mapped.

To change to another template


The template currently being used is displayed in a read-only text box in the toolbar.
To change the template being used, click on the Change Template button that
appears next to the Template text box. This action may result in some mappings
becoming invalid if the corresponding placeholder IDs do not exist in the new
template.

To edit the template


1 Click on the Edit Template button in the toolbar.
This launches an external HTML editor (for example, Macromedia
Dreamweaver). You configure the command line to launch the HTML editor in
the Web Template Editor tab of the Options dialog box.

2 After you have saved the changes to the template and returned to the Web View
editor, you are prompted to refresh the template.
This causes the changes made to the template to be reflected in the view Web
layout.

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-17

Developing Siebel .COM Applications


Working with the Web Layout

To preview the view design

 Right-click and select Preview.


Figure 7-9 shows the Web View Editor - Preview window.

Figure 7-9.

Web View Editor - Preview

This simulates what the view would look like in the run-time environment by
removing unmapped placeholders. This preview is not intended to be a 100%
accurate representation of the eventual HTML outputit is intended to give you a
rough idea about the structure and look of the generated output.

7-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


Setting Web Preferences

Setting Web Preferences

You can select the HTML editor to launch when editing templates by specifying it
in the Web Template Editor tab of the Development Tools Options dialog box.

To set Web preferences


1 Select Tools

 Options.

2 Select the Web Template Editor tab.


The Web Template Editor dialog box appears.

3 Specify the path of the external HTML editor executable that you want to be
launched to edit the templates. You can also specify any optional parameters.
4 Click OK.
The changes will take effect the next time the Web Applet Editor or Web View
Editor is launched.

Version 6.0

Siebel Tools Guide Volume 1 of 2

7-19

Developing Siebel .COM Applications


Setting Web Preferences

The Web Template Editor tab of the Development Tools Options dialog box is shown
in Figure 7-10.

Figure 7-10. Development Tools Options: Web Template Editor Tab

7-20

Siebel Tools Guide Volume 1 of 2

Version 6.0

Developing Siebel .COM Applications


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information


This chapter outlined:

 The sequence of tasks you need to go through to develop a typical Siebel HTML
thin client application

 The Siebel Tools product components you would use to do those tasks
 Where to get more detailed information about configuring HTML applications
Table 7-1 lists sources of additional information about topics discussed in this
chapter.
Table 7-1.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

General information about configuring Siebel


eBusiness Applications

Chapter 6

Detailed information about developing HTML thin


client applications

Configuring Siebel .COM


Applications

Information about deploying Windows and Java


thin client applications

Configuring Siebel .COM


Applications

Special considerations in developing Siebel .COM


applications

Configuring Siebel .COM


Applications

Special considerations in developing Siebel


eBriefings applications

Siebel eBriefings Guide

Using the Applet Designer

Chapter 12

Using the Siebel Tools wizards

Chapter 13

The Web Controls toolbar

Appendix A

Siebel Tools Guide Volume 1 of 2

7-21

Developing Siebel .COM Applications


Chapter Summary and Where to Get More Information

7-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3


Overview of Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Visibility Within a Single Organization

. . . . . . . . . . . . . . . . . . . . . . 8-4

Multiple Organizational Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6


Responsibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8
Responsibility Administration View . . . . . . . . . . . . . . . . . . . . . . . . 8-10
Employee Administration View . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-13
Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-15
Sales Team Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-17
Personal Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-22
Manager Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-25
Organizational Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
All Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-26
Configuring Drilldown and Pop-Up Visibility . . . . . . . . . . . . . . . . . . . . 8-27
Visibility Property Settings in Siebel Tools . . . . . . . . . . . . . . . . . . . . . 8-29
Business Component Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-29
View Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-31
Link Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-33
Drilldown Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-34
Report Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-1

Controlling Access to Information

Routing Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-35


Visibility Levels in a Dock Object . . . . . . . . . . . . . . . . . . . . . . . . . 8-36
Dock Object Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38
Dock Object Visibility Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-40
Selective Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-43
Chapter Summary and Where to Get More Information . . . . . . . . . . . . 8-45

8-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


About This Chapter

About This Chapter

This chapter explains different methods you can use to control users access to
information. Access control in Siebel applications is implemented through three
mechanisms: responsibilities, visibility, and routing.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-3

Controlling Access to Information


Overview of Access Control

Overview of Access Control

Access control in Siebel applications is implemented through three interrelated


mechanismsresponsibilities, visibility, and routing:

 Responsibilities control user access to views through the Screens menu and View
bar.

 Visibility controls user access to records within specific views based on record
ownership by teams or individuals.

 Routing further restricts the record access of remote users in order to prevent
excessive transfer of data over dial-up lines.

 Multiple organizational visibility limits the visibility of data to the organization


to which you are assigned.

 Multiple tenancy enables users to go from one organization to another in a single


instance of the Siebel application.

 Hoteling allows multiple users to use the same computer and, based on their
unique log on, view their own custom views and information within Siebel
applications.

Visibility Within a Single Organization

User access control is based on the users responsibilities and positions, which are
both obtained using the users logon ID. Typically users have one of each, although
they may have multiple responsibilities or multiple positions. A responsibility is a
class of users who require access to the same set of application features, specifically
views.
A position is a job title within the organization, a box in the organizations hierarchy
chart with a reporting relationship to a supervisory position. Positions provide most
of the basis for control of record access. Records are assigned to positions, or teams
of positions, rather than to individuals through their logon IDs. This is because the
position in the organization is typically more stable than the individuals
assignment to that position, because of employee turnover, promotion, and transfer.

8-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Overview of Access Control

The users logon ID is processed in two different ways following logon. First, it is
used to establish connection with the database system underlying Siebel
applications. Second, after successful logon to the DBMS, the Siebel application
engine locates the users database logon ID value in the Logon Name field in the
Employee business component records, and thereby accesses the user's employee
record.
Each employee record has a Primary Position field and a Responsibility field that
are both capable of storing multiple values. (As already mentioned, the users
primary position is selected by default when logging on to a Siebel application.) The
Responsibility field is a multi-value field containing one or more responsibilities
(user groups with a given access level). The set of responsibilities in the
Responsibility multi-value field establishes view access visibility (also referred to as
responsibilities), which determines what views in the application are available to
the logged-on employee.
The Position field is a multi-value field containing one or more positions (job
descriptions) in the organization. The set of positions in the Position multi-value
field establishes record access visibility, which determines what portions of the data
are visible to the logged-on employee. View access visibility, or simply visibility, is
discussed in Visibility on page 8-15.
NOTE: The users logon may be used instead of his or her positions for
determination of record access visibility in certain special circumstances. This is
described in Personal Visibility on page 8-22.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-5

Controlling Access to Information


Overview of Access Control

Multiple Organizational Visibility

Customers with large or complex Siebel application deployments, especially those


spanning multiple user groups both internal and external to their enterprise, can go
one step further to control visibility to application data within and between those
groups. Multiple organizational (multi-org) visibility provides this support.
As described in the prior section, you can limit visibility of accounts, contacts, and
opportunities at the individual level within a single organization. Access to those
kinds of records is limited to individuals whose positions have been placed on
virtual teams for each record.
You can also limit access to additional entities, such as products and price lists.
These limitations work at the level of business organizations rather than at the level
of individual users.
Multi-org visibility provides a logical layer above the visibility controls at the
enterprise, limited, and personal levels; it provides the ability to limit visibility to
all data based on the organization or organizations to which user positions are
assigned.
Multi-org visibility can be applied to user data within Siebel eBusiness Applications,
including transactional data (for example, accounts, contacts, and opportunities),
reference data (for example, price lists), and run-time configuration data (for
example, Assignment Manager rules and Product Configurator models).
Configuring for multi-org visibility involves tasks accomplished within both Siebel
Tools and Siebel applications. There are a number of configurable object properties
related to multi-org visibilityfor example, the Organization Table and Set Primary
Org properties of Assignment Object.
Multi-org visibility supports the following kinds of tasks:

 Data sharing across the extended enterprise; for example, distributing sales
opportunities among multiple channel partners or resellers

 Applying appropriate business logic to different and diverse internal


organizations

 Limiting visibility to each users specific business context; for example, limiting
a software salespersons visibility to software product prices rather than all
product prices, including prices for hardware

8-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Overview of Access Control

 Improving application performance for mobile users and executives with broad
responsibilities and many direct reports by providing more ways to limit the
number of rows they retrieve from the database in a given query
NOTE: Although multiple organizational visibility can be a powerful tool for a
diverse, global enterprises, you should not split your internal enterprise into
multiple organizations (that is, virtually, within your Siebel applications) without a
thorough analysis of the issues of convenience versus complexity. In general, multiorg visibility provides the greatest benefit in isolating customers or partner
organizations from internal enterprise organizations. Using views within a single
internal organizational structure will provide the best visibility solution for many
enterprises.

For information about visibility-related objects and properties (both single-org and
multi-org), see the Siebel Object Types Reference.
For information about implementing multiple organizational visibility, see the
Siebel Applications Administration Guide and Siebel Assignment Manager
Administration Guide.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-7

Controlling Access to Information


Responsibilities

Responsibilities

Responsibilities, also called view access visibility, control which views a logged-on
user sees. One or more responsibility records are assigned to the user in the users
employee record in an administration view in Siebel applications. Views are
assigned to each responsibility in another administration view. The result of these
two administration activities is that at logon, the employees logon can be used to
obtain the employees responsibilities, from which the list of views accessible to
that employee can be obtained. Only these views are made available to the user; all
others are hidden. This process is illustrated in Figure 8-1.

User

Logon ID

Lookup in
Employee
Records

List of
Users
Responsibilities

List of Users
Accessible Views

Figure 8-1.

Lookup in
ResponsibilityView Records

View Access Visibility Establishment Process

A responsibility is a class of users who require access to the same set of application
features, and defines the set of views that a user with this responsibility can see and
use. A user responsibility is the association between a responsibility and a user,
providing that user with the access to views that the assigned responsibility
conveys.

8-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Responsibilities

In Siebel applications, a user navigates to a view by means of one of the following:

 Menu options in the Screens menu


 Screen bar and View bar tabs
 Drilldown functionality in another view
When a users responsibility or set of responsibilities does not include a specific
view, that users ability to navigate to that view is disabled, as follows:

 The views name disappears from the submenus of the Screens menu that
contain it. (The screens name also disappears from the main Screens menu if
all views in that screens submenu are unavailable to the user.)

 The views tab disappears from the View bar for any screens (appearing in the
Tab bar) that contain it. (The screens tab in the Tab bar also disappears if all
views in that screens subordinate View bar are unavailable.)

 Drilldown text loses its hyperlink underlining and coloring, and loses its
hyperlink functionality. Drilldown by double-clicking the record is also disabled.
NOTE: In addition to limiting view access to specific users through responsibilities,
there are two features in Siebel applications that limit access to views for all users.
One is the View Administration view (Screens Application Administration
View); if the view is not added to this list, the view will not appear in the
application. The other way to restrict access to views is the license key; at some
installations not all modules of Siebel applications have been purchased, and the
software registration number (license key) may prevent users from seeing the
particular screens and views.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-9

Controlling Access to Information


Responsibilities

Responsibility Administration View

The set of views and set of users assigned to each responsibility are administered
in the Responsibility Administration view in the System Administration screen in
Siebel applications. New responsibilities also may be created in this view. The
Responsibility Administration view is accessed (by a user with administrators
access) by means of the Screens Application Administration Responsibilities
menu option. It appears in Figure 8-2.

The highlighted
responsibility...
...provides access to
the views in this list...

Figure 8-2.

8-10

...and is assigned to
these employees.

Responsibility Administration View

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Responsibilities

This administration view consists of the Responsibilities list applet, which lists all
responsibilities in the system, and two subordinate list applets: Views and
Employees. The list of views in the Views list applet is the set of views enabled
when an employee has the responsibility currently selected in the Responsibilities
list applet. Similarly, the list of employees in the Employees list applet is the set of
employees who have the current responsibility.

To create a new responsibility


1 Log on to Siebel applications, accessing the Server database and using a system
administration logon.
2 Choose Screens

 Application Administration  Responsibilities.

This opens the Responsibility Administration view.

3 Click the Responsibilities list applet to highlight it.


4 Choose Edit

 Add New Record.

5 Enter a name and description in the new responsibility record.


6 Add views and, optionally, employees to the responsibility in the corresponding
list applets.

To add a view to an existing responsibility

1 Choose Screens Application Administration


Responsibility Administration view.

 Responsibilities. This opens the

2 Click the Responsibilities (upper) list applet to highlight it.


3 Locate the desired responsibility in the list and click it to highlight it.
4 Click the Views (lower left) list applet to highlight it.
5 Choose Edit

 Add New Record.

6 In the Add Views dialog box that appears, locate the desired view and click the
Add button.
NOTE: You cant add or remove views from vanilla (seed) data responsibilities like

Siebel Administrator. If you want to add or remove views from a vanilla


responsibility, use the record function to create a new responsibility and modify
accordingly.
Version 6.0

Siebel Tools Guide Volume 1 of 2

8-11

Controlling Access to Information


Responsibilities

Generally the assignment of responsibilities to an employee is performed in the


Employee Administration view rather than the Responsibility Administration view,
although it can be done in either place. In the Responsibility Administration view,
you administer the list of employees assigned to each responsibility rather than the
reverse, but the effect is the same.

Local Access
In the Views applet in the Responsibility Administration view are three list columns:
View Name, Description and Local Access. View Name and Description list columns
of Siebel applications are automatically entered when you add a view record and
select a view from the picklist. The Local Access list column has a special purpose,
however, and can be turned on or off for each view assignment by the administrator
(by clicking the check box to add or remove the check mark).
The Local Access list column, when set to TRUE (checked) for a view assignment
to a responsibility, indicates that users with this responsibility can access the view
from either the Local or Server database. When set to FALSE, the view is only
available to these users when directly connected to the Server database.
The Local Access list column is a mechanism for controlling which views mobile
users can work in offline, by controlling which ones they can see when not
connected to the server. When mobile users work offline, they rely on
synchronization and routing to supply some subset of the available records. Routing
is described in Routing Restrictions on page 8-35.
You should disable access in all responsibilities to offline work for all views that
have All visibility. A view with All visibility will have unpredictable and possibly
undesirable results for a mobile user. You disable access to All list views by setting
the Local Access field to FALSE for these view assignments.

8-12

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Responsibilities

Employee Administration View

The Employee Administration view lists all employees in the system, and enables
the administrator to create and remove employee records, and assign a logon ID,
responsibilities, positions, contact information, and so on to each employee. To
navigate to the Employee Administration view, choose Screens Application
Administration Employees Employees from the menu bar. This administration
view appears in Figure 8-3.

Responsibilities MVG Applet

Responsibility text box Control

Figure 8-3.

List of Responsibilities for an Employee

Employee responsibilities can be maintained in either the upper (list) or lower


(form) applet in this administration view.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-13

Controlling Access to Information


Responsibilities

To add and remove responsibilities for an employee


1 Choose Screens
the menu bar.

 Application Administration  Employees  Employees from

The Employee Administration view appears.

2 Locate and highlight the desired employee in the upper (Employees) list applet.
3 Click the ellipsis (...) icon to the right of the Responsibility text box Control in
the form applet, or click the Responsibility list Column cell in the list applet, and
then click the ellipsis icon that appears.
The Responsibilities pop-up (multi-value group) applet appears.

4 In the Responsibilities pop-up applet, delete an undesired responsibility by


selecting it, then clicking DELETE.
5 In the Responsibilities pop-up applet, add a new responsibility by clicking NEW.
The Add Responsibilities association applet appears.

6 Locate the desired responsibilities in the association applet, highlight them, and
click ADD.
This dismisses the association applet, and adds the responsibilities to the list of
employee responsibilities for the current employee.

7 Close the multi-value group applet by clicking CLOSE.


The Employee Administration view presents the reverse of the relationship between
responsibilities and employees that the Responsibility Administration view
presents. The Employee Administration view lists and provides the means to
maintain the responsibilities assigned to each employee. The Responsibility
Administration view enables maintenance of the list of views and employees
assigned to each responsibility.

8-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility

Visibility

Visibility, also known as record-access visibility, determines the set of records


displayed to the user from specific business components in specific views. The
users access to records is determined through the users position or positions (or,
occasionally, user ID) and the settings in certain visibility-related properties in the
view, business component, and other object definitions.
In the view bar for the Accounts screen, the first three views listed are called My
Accounts, My Teams Accounts, and All Accounts. All three of these are list-form
views that display records from the Account business component, and utilize the
Account list applet in the upper sectors and the Account form applet in the lower.
However, they perform different roles, as follows:

 The view labeled My Accounts (Account list view) displays only those records
to which the logged-on user has Sales Team visibilitythat is, account records
in which the users position appears in the Account Team multi-value group.

 The view labeled My Teams Accounts (Manager Account list view) displays
only those records to which the logged-on user has Manager visibilitythat is,
account records for which the primary position on the account team is the
logged-on managers direct or indirect subordinate.

 The view labeled All Accounts (All Account list view) displays all account
records, except those with an empty account team or an invalid primary
position. This is called All visibility. The visibility settings are All, Contact,
Manager, Organization, and Sales Rep.
Each of these three views has different visibility settings, which, in conjunction
with property settings in the business component and other object definitions,
specify the different record display behaviors.
All three of these views appear to a logged-on system administrator. However,
people with most other positions would see only one, or perhaps two, of these
views in the View bar.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-15

Controlling Access to Information


Visibility

Having views available with different visibility settings does not in itself create
access restrictions for users. The responsibilities feature described in
Responsibilities on page 8-8, used in combination with record-level visibility,
creates a situation in which the users access is appropriately restricted. In the
example of a field sales representative responsible for the midwestern U.S., the
responsibilities feature restricts this person to seeing only the view entitled My
Accounts. The visibility feature restricts the account records returned in this view
to only those in which the position Field Sales Representative - Midwestern U.S. is
present on the account team.
Record access visibility is based on a combination of the following three factors:

 The users position may be on one or more account, opportunity, or campaign


sales teams or contact access lists, collectively known as sales teams.

 His or her position may be designated as supervising other positions in the


organization chart of the selling organization.

 The user has a logon ID that is unique within the organization. This may be used
in certain special circumstances instead of the position.
Based on these factors, a users record access visibility in a particular view may be
any of the following four visibility types:

Sales Team visibility. Provides the user with access to records whose sales team

or contact access list contains his or her position.

Personal visibility. Provides the user with access to records in which his or her
position or logon ID is designated as the owner.

Manager visibility. Provides the user with access to records that have a sales team

in which a subordinate is designated as the primary position (if the business


component uses Sales Team visibility). Alternatively, it provides access to
records with an owner ID belonging to a subordinate (if the business component
uses owner-based Personal visibility). The reporting relationship may be direct
or indirect (such as the subordinate of a subordinate).

Organizational visibility. Provides the user with access to records within a given

organization.

All visibility. Provides the user with access to all records, except for those with a

missing or invalid primary position in the sales team.

8-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility

In addition to controlling access to records in designated views, visibility also


controls which records can be located in the Find dialog box (invoked from the
Edit Find menu option). Users can locate records to which they have visibility,
based on the broadest visibility mode supported in views to which they have access.

Sales Team, Personal, Manager, and All visibility types are described in more detail
in their respective subsections.

Sales Team Visibility

Sales Team visibility (also called Sales Rep visibility) provides access to records to
which users have access by being on an account, opportunity, or contact access list
that has access to those records. Account sales teams have access to particular sets
of accounts, opportunity sales teams have access to particular opportunities,
campaign sales teams to particular campaigns, and contact access lists to particular
contacts.
The views entitled My Accounts, My Contacts, My Quotes, and My Opportunities
all confer Sales Team visibility to records of the corresponding business
components.
NOTE: Views whose titles begin with the words Team or My Team confer Manager
visibility, not Sales Team visibility. There is no consistent naming convention for
Sales Team visibility views. Some views whose titles begin with My (without Team)
convey Sales Team visibility, and others convey Personal visibility.

Sales Team visibility is position-based. That is, the users position, rather than logon
ID, is considered when determining the users Sales Team visibility. Most users have
only one position, and this is the one selected by the system when the user logs on.
Users with multiple positions are logged on with their primary position by default,
but can select a different position to change visibility by choosing Edit Change
Position from the menu bar, and selecting a different position.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-17

Controlling Access to Information


Visibility

Positions are assigned to each employee in the Employee Administration view, in


the multi-value group applet attached to the Position field or list column. As there
is a many-to-many relationship between positions and employees, employees may
instead be assigned to each position in the Position Administration view, in the
multi-value group applet attached to the Last Name list Column. There is no
difference in the results of these two approaches to administering employee
positions.
A sales team (or access list, in the case of contacts) is a list of positions maintained
for a record in a multi-value group attached to a specific field or list column in the
account, opportunity, contact, or campaign record. This is shown for accounts in
Figure 8-4.
Account sales team
members for this Account

Figure 8-4.

8-18

Account Team text box Control

Account Sales Team for an Account

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility

The list column or control from which the multi-value group applet is invoked is
entitled Access List for contacts, Account Team for accounts, and Sales Team for
opportunities. In all cases, the underlying multi-value field is Sales Rep.
Using the multi-value group applet, position can be manually added to or removed
from the sales team (access list) for a particular opportunity, account, or contact.
The records owner (creator or assignee), and the person designated as primary on
the sales team or access list, have the access rights to add and delete team members.
The primary position cannot be deleted, and can only be set in a view with Manager
or Admin Mode visibility.

Territory Assignment
There is a process called territory assignment, performed by the Siebel Assignment
Manager, through which sales teams and contact access lists are automatically
updated based on territories and the positions assigned to them. In very general
terms, the set of relationships illustrated in Figure 8-5 makes possible automatic
update of an accounts or opportunitys sales team based on its territories.

O p portunity
or A ccount

Em ployee (sales
team m em ber)

Position

Territory

Legend:
B u sin e ss
Com ponent
1 :M re la tio n sh ip
(th ro u g h a B u s.
O b je ct
Com ponent and a
L in k)

Figure 8-5.

Version 6.0

Business Component Relationships that Facilitate Territory Assignment

Siebel Tools Guide Volume 1 of 2

8-19

Controlling Access to Information


Visibility

Territories are groupings of accounts and opportunities that can be assigned to


salespersons or sales teams through their positions. Each territory can be defined
as a geographical region, a product or product line interest, a specific set of
accounts, an industry or industries, a level of lead quality or anticipated revenue,
or some combination of these. The territory definition process is described in the
Siebel Assignment Manager Administration Guide.
You assign one or more territories to an account or opportunity in the Territory
multi-value field in a form applet such as the Account form applet or Opportunity
entry applet. Assignment of territories to an opportunity is illustrated in Figure 8-6.
This
Opportunity...

Figure 8-6.

8-20

...has these
territories assigned.

The MVG applet is invoked


from the Territory text box.

List of Territories for an Opportunity

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility

There is a many-to-many relationship between territories and positions, reflecting


the fact that a salesperson may work on multiple territories, and a territory may be
worked on by multiple salespeople. (This relationship is between territories and
positions rather than between territories and employees, because employee
turnover is more frequent than reorganization in most organizations.)
Territories are assigned to each position in the Position Administration view in
Siebel applications. Positions can be assigned to each territory in the Territory
Administration view.
The territory assignment process periodically reviews new and changed
opportunities and accounts, and assigns (or reassigns) sales team members to them.
It also reallocates salespersons in response to additions, deletions, and
modifications to territory definitions and position assignments. The administrator
has considerable flexibility and control in setting up the territory assignment
process.
Contact access lists differ from opportunity and account sales teams in the matter
of territory assignment. Opportunity and account sales teams are populated directly,
as the result of the territories specified in each opportunity or account record.
Contact access lists for individual contacts are populated through association with
opportunity and account records.
If a position is assigned to an account by the territory assignment process (and
territory assignment is running in opportunity, account, and contact modes), then
that position will also be placed on the sales teams for opportunities for that
account that are within the territories of that users positions. The position will also
be added to the contact access list for all contacts associated with that account. The
employee designated as active for a position assigned to a record is displayed on the
team.
However, if a position is manually added to an account team, that position will not
be automatically added to any of the opportunity sales teams or contact access lists
for that account. Likewise, if a position is manually added to an opportunity sales
team, it is not automatically added to the account sales team for the account
associated with that opportunity.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-21

Controlling Access to Information


Visibility

When territory assignment runs, assignment or reassignment of an opportunity or


account results in assignment or reassignment of the contact access team associated
with the opportunity or account. If a contact is associated with more than one
account, all positions on those accounts sales teams are assigned to the contact.
For example, if contact John Smith is associated with Firm A and Firm B, the sales
representatives associated with Firm A and Firm B are put on the contact access list
for John Smith.
Territory assignment populates the contacts access list. Positions are placed on a
contacts access list if that user is on the opportunity or account team for the
opportunity or account with which the contact is associated. Territory assignment
does not remove the records creator from the contact access list.

Personal Visibility

Personal visibility provides access to records that a user has created or been
assigned to. The most important views that confer Personal visibility are entitled My
Activities, My Personal Contacts, My Product Defects, My Service Requests, My
Proposals, and Delegated Quotes. Notice that the word My in the view title does
not necessarily distinguish Personal visibility views; for example, My Activities
confers Personal visibility, whereas My Opportunities confers Sales Team visibility.
NOTE: Sales Rep visibility on quotes (that is, My Quotes view) appears and works
like a personal visibility even though the visibility applet type is Sales Rep. The
corresponding team sees the quotes in appropriate Oppty-Quotes or AccountQuotes view.

8-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility

Most business components that utilize visibility offer a Personal visibility view or a
Sales Team visibility view, but not both. Contacts are an exception. Contacts have
a Personal visibility view (entitled My Personal Contacts) as well as a Sales Team
visibility view (entitled My Contacts). Typically, uses have both views available,
allowing them to look at personal contacts separately from those shared by the
team. This is shown for a field sales representative in Figure 8-7.

Figure 8-7.

Version 6.0

Contacts Views

Siebel Tools Guide Volume 1 of 2

8-23

Controlling Access to Information


Visibility

The Owner Field property or Position Visibility Field property in the business
component is used to establish Personal visibility. This is similar to the use of a sales
team field in business component records to establish Sales Team visibility for each
record. However, the sales team field used for Sales Team visibility is multi-valued
(based on a multi-value link) and contains only positions. An owner or position ID
field used for Personal visibility is always single-valued and can contain either a
logon ID or a position, respectively.
The configuration of certain properties in the business component determines
whether a logon ID (owner) or position is used for Personal visibility. Only one or
the other is used, not both.
For example, the Action (that is, activities), Contact (Personal), Product Defect, and
Service Request business components use an owner ID field (called Owner Id) to
hold a logon ID that establishes Personal visibility. In contrast, the Campaign
Achievement, Personal Forecast, and Quota Achievement business components use
a position ID field (called Position Id in all three cases) to hold a position that
establishes Personal visibility.
Although it is feasible to use the system field called Created By as an owner ID field
to identify the logon ID of the creator, this solution is generally too limiting because
the value of Created By cannot be changed by a user. Instead, a separate owner ID
field is created (generally named Owned By ID) that defaults to the value in Created
By, but can be exposed in the user interface and changed by a user. However,
Created By is used as an owner ID by a few business components in which there is
no need for a user to ever select a different owner, including Correspondence and
Response Product.
In the owner-based Personal visibility situation the user can generally select a
different owner from a picklist of employees, or a different position from a picklist
of positions. In some cases the owner or position is not exposed in the user
interface. Also, the field that is exposed and activates the picklist may be a different
field from the one used to store the value, as the values are stored as record pointer
IDs (pointing to Position or Employee records) rather than text values.

8-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility

Manager Visibility

Manager visibility provides access to records in which the primary sales team
member (when the business component uses Sales Team visibility) or the owner
person or position (when the business component uses Personal visibility) is the
logged-on user and his or her direct subordinate. Manager visibility views generally
contain the phrase My Teams at the beginning of the title, such as My Teams
Accounts or My Teams Product Defects. The word My is sometimes omitted, as
in Teams Activities.
An indirect subordinate is the subordinate of a subordinate, and so on. If a manager
has no subordinates, he or she will receive no data in this visibility mode.
Manager-subordinate relationships are determined from the position hierarchy.
Positions have a Parent Position field in the Position Administration view that
establishes a manager-subordinate relationship. These relationships can be viewed
and manipulated in the tree applet in this view.
The primary sales team member of a record is designated in the sales team multivalue group applet, invoked from the records sales team multi-value field. The
primary sales team member is indicated in the check box in the Primary list Column
(shown in Figure 8-8).
Check mark indicating the primary member of the list

Figure 8-8.

Primary Member in a Contact Access List

There are no business component settings specific to Manager visibility. Manager


visibility is derived from the settings for Personal and Sales Team visibility.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-25

Controlling Access to Information


Visibility

Organizational Visibility

As described in Multiple Organizational Visibility on page 8-6, you can control


visibility to application data between organizations inside and outside of your
enterprise.
For information about defining your company structure at the multiple
organizational level, see the Siebel Applications Administration Guide.
Organization views will show all records where the organization on those records
match the organization associated to the users current position. These views in the
standard product generally contain the word All at the beginningAll Accounts,
for example.

All Visibility

All visibility provides access to all records that have a valid owner person or
position (in Personal visibility business components) or a valid primary sales team
position (in Sales Team visibility business components). This is regardless of
whether the logged-on user is the record owner (Personal) or a sales team member.
An All visibility view generally contains the word All at the beginning of the title,
as in All Contacts across organizations, All Opportunities across organizations, and
so on.
A separate visibility mode, called Admin mode, provides the means to see all
records, including those without a valid owner or primary sales team member. This
enables the administrator to fix records which otherwise no one could see. Admin
mode is specified for a view in the Admin Mode Flag property. Admin mode is
discussed in View Properties on page 8-31.
Problems with sales team and owner assignment are generally resolved
automatically by Assignment Manager when it runs, so it is not often necessary to
manually administer faulty record ownership or team membership. Sales team and
owner assignment are discussed briefly in Territory Assignment on page 8-19.
NOTE: The visible records in All visibility can be different for connected (as opposed
to mobile) users. This is described in Routing Restrictions on page 8-35. Admin
mode will also override business component-level (but not applet-level) record
operations restriction properties such as No Delete, No Insert, No Merge, and No
Update.

8-26

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Configuring Drilldown and Pop-Up Visibility

Configuring Drilldown and Pop-Up Visibility

The combination of the basic View and Business Component property settings
determines the visibility of records to specific users in specific views. However, they
do not directly govern what happens when the user leaves the view through
drilldown, or invokes a pick applet. These features require additional configuration.
Drilldown visibility can occur in three different scenarios:

Within a business object. If the original view and drilldown view are both based

on the same business object, and visibility is unspecified in the drilldown view,
whatever visibility is in effect in the original view is continued in the drilldown
view.
For example, when you drill down on the Account list column in the view
entitled My Accounts, you are taken to the view entitled Account Contacts, and
presented with the list of contacts for the account from which you drilled down.
Both of these views specify the Account business object, so the Sales Team
visibility in effect in the original view is also applied, even though there are
blank visibility settings in the drilldown view.

Between different business objects. If the original view and drilldown view are

based on different business objects, moving from one to the other may require
resetting the visibility in the destination to something other than its standard
setting. A setting of Drilldown in the Visibility Rule Applied property in the link
object definition (in the original view) specifies that the current visibility setting
be applied when you drill down.
For example, when you drill down on the Account list Column in the view
entitled Opportunity Contacts, you are moving from the Opportunity business
object to the Account business object. A setting of Drilldown in the link on
which the original view is based would restrict the user to seeing accounts in the
destination view that are detail records of opportunities to which the user has
visibility.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-27

Controlling Access to Information


Configuring Drilldown and Pop-Up Visibility

To a Destination Record. The Drilldown Object object type provides the means to

perform row ID-based drilldown, which drills down to a specific record in the
destination view based on matching the source field and destination field in the
source and destination business components, respectively. When this feature is
enabled (by specifying a row ID field in the Destination Field property of the
Drilldown object, or leaving it blank), the visibility setting may need to be
adjusted in the destination view so that the destination record can be displayed.
There is a Visibility Type property in the drilldown object for specifying this.
The visibility on pick or associate applets can be assigned the same visibility as the
View object. There is also a setting that dynamically determines the access level of
the users responsibility and then assigns the least restrictive visibilitythat setting
on the Popup Visibility property of a Business Component object is Auto All/Org.

8-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility Property Settings in Siebel Tools

Visibility Property Settings in Siebel Tools

Record access visibility is partially controlled by the software, using constructs that
are unavailable to developers. However, much of the record access visibility
behavior is controlled by properties in object definitions that are available to
developers for modification. The object types that have visibility-related properties
are described in this section.

Business Component Properties

Each business component can be configured to provide Personal, Sales Team, or


Organizational visibility. Manager and All visibility are derived from these.
Properties specify which single-value field points to the owner position or employee
for Personal visibility, or which multi-value field holds the set of sales team records
for Sales Team visibility.
The following properties in business components specify the most important
visibility characteristics:

Visibility Emp MVField property. Specifies the name of the multi-value field used

for maintenance of the list of sales team positions in Sales Team visibility. This
property is used in conjunction with Visibility MVLink, which identifies the
corresponding multi-value link.
NOTE: In situations where both Personal and Sales Team visibility are needed to
the same data, as in contacts, separate business components are created based
on the same base table. In the case of contacts, the Contact business component
is configured for Sales Team visibility, and the Contact (Personal) business
component is configured for Personal visibility.

Version 6.0

Visibility MVLink property. Specifies the name of the multi-value link used for
maintenance of the list of sales team positions in Sales Team visibility. This
property is used in conjunction with Visibility MVField, which identifies the
corresponding multi-value field. Typically the multi-value link is to the Position
business component, and is named Position.

Siebel Tools Guide Volume 1 of 2

8-29

Controlling Access to Information


Visibility Property Settings in Siebel Tools

Owner Visibility Field property. This property is used to identify the field used to

establish employee-based Personal visibility. The designated field is a record ID


pointer field to records in the Employee business component. If employee-based
Personal visibility is established with a value in the Owner Visibility field
property, you should not also specify position-based Personal visibility with a
value in the Position Visibility Field property.

Position Visibility Field property. This property is used to identify the field used to

establish position-based Personal visibility. The designated field is a record ID


pointer field to records in the Position business component. If position-based
Personal visibility is established with a value in this property, you should not
also specify employee-based Personal visibility using the Owner Visibility Field
property.

Organization Visibility Field property. Identifies objects that are related to only one

organization.

Organization Visibility MVField property. Identifies objects that are related to

multiple organizations.

Organization Visibility MVLink property. Specifies the name of the multi-value link
used in organizational visibility. Used in conjunction with the Organization
Visibility MVField property.

Contact Visibility Field property. Identifies the field used to establish contact

visibility. The designated field is a record ID pointer field to records in the


Contact User business component.
The following business component properties also have a role in visibility setup,
although not as central to configuration:

Popup Visibility Type property. Visibility within pick and association applets is

specified using the Popup Visibility Type property in the business component of
the pick or association applet.

8-30

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility Property Settings in Siebel Tools

Owner Delete property. This is a TRUE/FALSE property that establishes the


deletion rights of the user to the business component. If TRUE, then only the
owner (under Personal or Sales Team visibility) can delete the record. If FALSE,
then anyone can delete the record.

The owner of a record in a business component set up for Sales Team visibility
mode (non-blank Visibility MVLink and Visibility Emp MVField properties) is
the primary position on the sales team. The owner when the business
component is set up for employee-based Personal visibility (non-blank Owner
Visibility Field) is the employee whose logon appears in the field pointed to by
the Owner Visibility Field property. The owner when set up for position-based
Personal visibility is the position in the field pointed to by the Position Visibility
Field property.
When a view is designated for Admin mode, the Owner Delete protection is not
enabled and anyone having access to the view can delete any record.

Owner Field property. This property is primarily used for business components

that enable predefined queries. It operates only when owner-based Personal


visibility is in effect. This property enables Siebel applications to include
predefined queries that are partitioned by user, but still allows having public
queries, defined by an administrator, that show up in the same list.
The value in this property specifies the name of a field that indicates private or
public access to the record, generally named Private. If a field is specified as the
Owner field, that field will contain a TRUE/FALSE value in each record
indicating whether or not the record is private. If the record is marked as private
and employee-based owner visibility is in effect, then only the owner of the
record will see it. If it is not marked as private and employee-based owner
visibility is in effect, then all users will be able to see it.

View Properties

Property settings in view object definitions set up view-access visibility


(responsibilities). Each view that is to provide some level of restricted visibility is
configured using the Visibility Applet Type and Visibility Applet properties, which
select the visibility type and specify which applet in the view is restricted by the
visibility setting.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-31

Controlling Access to Information


Visibility Property Settings in Siebel Tools

The following properties in views are used in visibility configuration:

Visibility Applet Type property. This property specifies the visibility mode that will
be applied to the applet indicated in the Visibility Applet property, and contains
the value All, Contact, Manager, Organization, Personal, or Sales Rep.

All provides access to all records except those with a missing or invalid primary
position in the sales team.
Contact provides access to Contacts.
Managers can see their own records and records for their subordinates. For
views where visibility is based on team ownership, they see only the records
where manager or subordinate is a primary member of the team.
Organization provides access to an entire Organization. Organization of the
records must match the users current organization.
Personal provides users access to records they own.
Sales Rep provides users access to records whose sales team or contact access
list contains the users position.

Visibility Applet property. This property specifies which of the applets in the view

is the one where visibility is controlled. Usually this is the list (upper) applet in
a list-form view, or the master applet in a master-detail view. This property is
used in conjunction with Visibility Applet Type.

Admin Mode Flag property. A TRUE/FALSE property that, when TRUE, designates

the view as one that operates in Admin mode. Admin mode disables All visibility
rules. If the view is in Admin mode, then the no insert, no delete, no merge, and
no update restrictions for the business components used by the applets of the
view are ignored. However, these restrictions are set for the applet rather than
the business component. If a field has a Read Only value of TRUE, the Admin
mode will not circumvent them.
In Admin mode the user will see every record, even those with no primary team
member designated. This is distinct from All visibility, which shows all records
that have a primary team member designated. The Account Administration
view, Opportunity Administration view, and Product Administration view are
examples of Admin mode views.

8-32

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Visibility Property Settings in Siebel Tools

Link Properties

There is only one property in links that controls visibility:

Visibility Rule Applied property. This property indicates how visibility rules should

be applied when the current view uses this link. Visibility settings in a view
apply to the applet specified in the Visibility Applet property. If there is a masterdetail relationship between the visibility applet and an applet displaying detail
records, this property can be used to allow users to see detail records that they
would not see because of visibility rules, but not to allow them to drill down to
see the complete records. Valid values are Child, Drilldown, Never, and Always:
 Child value. When Child is specified, visibility rules are applied to the detail
records of master-detail views based on this link.
 Drilldown value. When Drilldown is specified, visibility rules are applied to the
destination view after drilling down.
 Never value. Disables visibility rules in the detail records when the current
view is based on this link.
 Always value. Enables visibility rules in the detail records when the current
master-detail view is based on this link, even though the view does not have
active visibility settings in the Visibility Applet and Visibility Applet Type
properties.
NOTE: Manager visibility is never applied to child business components

regardless of the value of the Visibility Rule Applied property.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-33

Controlling Access to Information


Visibility Property Settings in Siebel Tools

Drilldown Object Properties

The Drilldown Object object type has one visibility-related property, for use in row
ID-based drilldown:

Visibility Type property. When row ID-based drilldown is employed from an applet

to a specific destination record, the Visibility Type property setting can specify a
different visibility type than the default visibility for the destination business
component. Generally a value of All is used, if this feature is employed. This
ensures that the destination record can be displayed.

Report Properties

Report object definitions have only one visibility-related property:

8-34

View Mode property. For static Actuate reports, this property should be set to the
type of visibility that should be applied to the reports business component.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Routing Restrictions

Routing Restrictions

Users access server data either as connected or remote users. Connected users view
data from the server database through a local or wide area network. Remote users
(typically mobile users) download database records to their laptops by means of the
synchronization process. The visibility rules previously described apply to all users,
whether connected or remote. An additional category of restrictions called routing
is placed on user access to records for remote users only. Routing restrictions on
data access are in addition to visibility restrictions.
Each mobile user of Siebel applications has a local database that contains a subset
of the data that exists on the server database.
NOTE: You should disable access in all responsibilities to offline work for all views
that have All visibility. A view with All visibility will have unpredictable and
possibly undesirable results for a mobile user. You disable access to All list views
by setting the Local Access list column to FALSE for these view assignments. This
process is explained in Local Access on page 8-12.

The docking visibility rules determine which records from the server database are
propagated to each mobile user. Docking visibility rules are viewable but not
editable in Siebel Tools (except by Siebel technical personnel). Although it is not
possible for a customer developer to change these hard-coded visibility rules, it is
sometimes necessary to identify and interpret them, as in the following situations:

 When deciding whether to use a particular table in the Siebel data model for a
non-standard purpose (for example, storing something other than activities in
the S_EVT_ACT table), it is critical that the tables intended use be consistent
with its docking visibility rules.

 When determining which routing rules to have Siebel personnel disable, in


support of Selective Routing. Selective Routing is discussed in Selective
Routing on page 8-43.
Detailed information about routing appears in Siebel Tools in the properties of the
Dock Object object type and its child object types. Each dock object has multiple
dock object table and dock object visibility rule object definitions. Dock object table
object definitions are discussed in Dock Object Tables on page 8-38. Dock object
visibility rule object definitions are described in Dock Object Visibility Rules on
page 8-40.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-35

Controlling Access to Information


Routing Restrictions

Visibility Levels in a Dock Object

The Visibility Level property in a Dock object specifies at a high level whether all
records are to be transferred for the corresponding set of tables, or only a limited
set that corresponds to combinations of Personal, Sales Team and Manager
visibility. The transfer rules are further defined and restricted by the child dock
object visibility rule object definitions.
Three Visibility Level property settings are possible, as follows:

Limited value. Specifies a distribution of records corresponding to some


combination of Personal, Sales Team, and Manager visibility, depending on the
dock object and the user logon ID. Limited-level routing is specified by default
for the Organization (Account), Opportunity, Contact, Service Request, Product
Defect, DocQuote (quote), Calendar Item, Forecast, and Campaign dock objects.

Enterprise value. Specifies a distribution of records corresponding to All visibility.

The majority of dock objects have enterprise-level routing, which means they
have no restriction on the transfer of records.

Private value. Used exclusively for routing of non-configurable data. This setting

ensures that the rows in these dock objects will never be routed to any mobile
clients.
The default limited-level routing is as follows for each of the major dock objects:

Organization (Account) dock objects. Records are routed for which the user is on
the account sales team or is the manager of an employee on the account team,
or for accounts that are available through drilldown.

Opportunity dock objects. Records are routed for which the user is on the

opportunity sales team or is the manager of an employee on the sales team, or


for opportunities that are available through drilldown.

Contact dock objects. Records are routed for which the user is on the contact

access list or is the manager of an employee on the access list, or for contacts
that are available through drilldown.

8-36

ServiceRequest dock objects. Records are routed for which the user created or is
assigned to the service request, or for service requests that are available through
drilldown.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Routing Restrictions

ProductDefect dock objects. Records are routed for which the user created or is

assigned to the product defect.

DocQuote (quote) dock objects. Records are routed for which the user created or

is assigned to the quote or is the manager of the creator or assignee, or for quotes
that are available through drilldown.

Campaign dock object. Records are routed for which the user is on the campaign

team.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-37

Controlling Access to Information


Routing Restrictions

Dock Object Tables

The Dock Object Table object type is a child object type of Dock Object, and is used
to specify the tables whose records are actually transferred in conjunction with the
Dock Object. The Contact dock object and its child dock object tables are shown in
Figure 8-9.
The Contact dock object
object definition

Figure 8-9.

8-38

Dock object table child


object definitions

Dock Object and Dock Object Tables

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Routing Restrictions

Each dock object consists of a collection of related tables, which appear in Siebel
Tools as child object definitions of the type Dock Object Table. All of the tables
identified in dock object tables for a given dock object are related, via foreign keys
in the data model, to one driving table (also represented with a dock object table
object definition). The driving table is identified in the Primary Table property in
the Dock Object object type.
For example, the Contact dock object shown in Figure 8-9 is based on the primary
table S_CONTACT, but it also includes other dock object tables such as
S_NOTE_CON (notes for the contact), S_CONTACT_REL (relationships between
contacts), and S_POSTN_CON (access list for the contact). Also included are the
extension tables for S_CONTACT.
A dock object is therefore a set of logical records (contacts, in this case), where each
such logical record is itself a collection of one or more physical database records
spread across multiple tables.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-39

Controlling Access to Information


Routing Restrictions

Dock Object Visibility Rules

In order to determine which logical records in a dock object to give to each mobile
user, the Siebel application evaluates the dock object visibility rules for that dock
object. Dock Object Visibility Rule is a child object type of Dock Object, as
illustrated for Contact in Figure 8-10.
The Contact dock object
object definition

Dock object visibility rule


child object definitions

Figure 8-10. Dock Object and Dock Object Visibility Rules

8-40

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Routing Restrictions

Each visibility rule has a Comment property that explains specifically what the rule
checks. For example, the dock object visibility rules on the Contact dock object
include the following: You are on the sales team of the Contact, You are the
manager of the primary sales rep on the Contacts sales team, You are the owner
of the Contact, and so on. In addition, each dock object visibility rule has a
Visibility Strength property and a Sequence property.
Siebel applications determine which database records to propagate to each mobile
user (for dock objects that have limited visibility) by evaluating the visibility
strength of the user for a dock object, and comparing this with the visibility
strengths of the tables it contains.
The users visibility strength for a dock object is determined from the child dock
object visibility rules. For each logical dock object record, and for each mobile user,
the Siebel application sequentially evaluates the rules in order of descending
visibility strength and ascending sequence until one of them passes (that is,
evaluates to TRUE). As soon as one of the rules passes, the Siebel application stops
this evaluation process, and gives the current logical dock object record to the
current mobile user.
When a dock object visibility rule passes, the mobile user gets the parent (logical)
dock object record with a (user) visibility strength value obtained from the
corresponding property in the dock object visibility rule that caused him or her to
get the record. If none of the dock object visibility rules pass for a given logical dock
object record and a given mobile user, then that user will not receive that particular
logical record.
For example, consider two different dock object visibility rules on the Contact dock
object. The first visibility rule (You are on the sales team of the Contact) has a
visibility strength of 100, while the ninth rule (Contact for an Account Group you
have full visibility on) has a visibility strength of 50. So, if users are on the sales
team for a particular contact, they get that logical contact record with a visibility
strength of 100. However, if they are not on the sales team for that contact (and if
all the other first eight visibility rules also failed), they still get the logical contact
record with a visibility strength of 50 if the ninth rule passed.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-41

Controlling Access to Information


Routing Restrictions

Visibility strength values are integers between 0 and 100. A visibility strength of 100
denotes full visibility, while a visibility strength of 0 denotes no visibility. Any value
between 1 and 100 (typically 50) implies partial visibility.
NOTE: The integer range for a visibility strength value is actually 0 to 254, but a
value of 100 is, by convention, considered to mean full visibility. If your
configuration does not require the use of values higher than 100, use values in the
0100 range rather than 0254.

The users visibility strength (obtained from the successful dock object visibility
rule) is compared with each dock object tables visibility strength, as specified in its
Visibility Strength property. For users to receive the records from a particular dock
object table, their visibility strength must equal or exceed the visibility strength
specified for that table.
For example, suppose that a particular mobile user receives a particular logical
record from the Contact dock object with a visibility strength of 50. The Siebel
application will then propagate to the users local database all physical records that
are related to the given Contact on any of the dock object tables that have a visibility
strength of 50 or more in the Contact dock object.

8-42

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Routing Restrictions

Selective Routing

Selective routing (also called selective retrieval) is a routing capability that provides
the means to restrict the list of accounts routed to individual salespersons who are
connected to the server remotely. This feature makes it possible to limit the
connection time and disk space consumption of mobile users by transferring only
the accounts each salesperson needs, rather than all accounts to which he or she
has visibility.
Selective retrieval is implemented through a combination of disabling a dock object
visibility rule (performed by Siebel technical personnel) and adding account names
to mobile clients in an administrative view. The choice of which dock object
visibility rule (or rules) to disable will depend on which visibility mode is
generating the bulk of the unwanted records, generally Manager (rather than Sales
Team or Personal).
NOTE: Disabling a visibility rule affects all mobile users accessing the server, so this

change should be undertaken cautiously.

Version 6.0

Siebel Tools Guide Volume 1 of 2

8-43

Controlling Access to Information


Routing Restrictions

Once the undesired routing rule is disabled, the server must be configured to
override the disabling for specific accounts to be routed to specific users. This is
accomplished for each user in the Account Synchronization Selection view. This
view is invoked from the Screens Personal Administration Account
Synchronization Selection menu option, and appears in Figure 8-11.

Figure 8-11. Account Synchronization Selection View

In the Account Synchronization Selection view, the user adds himself or herself as
a mobile user in the upper applet, and to the mobile user thus specified adds
accounts in the lower applet. In each case the Edit Add New Record option is
used.

Accounts added to a mobile users routing rights through the selective routing
feature do not alter the users visibility restrictions on viewing records. If the user
does not have visibility to an account, but is having it routed, he or she will receive
that accounts records but will not be able to see them.

8-44

Siebel Tools Guide Volume 1 of 2

Version 6.0

Controlling Access to Information


Chapter Summary and Where to Get More Information

For a more complete discussion of selective retrieval and its implementation, refer
to the chapter about Siebel Remote administration in the Siebel Remote and
Replication Manager Administration Guide.

Chapter Summary and Where to Get More Information


This chapter explained different methods you can use to control users access to
information. Access control in Siebel applications is implemented through three
mechanisms: responsibilities, visibility, and routing.
Table 8-1 lists sources of additional information about topics discussed in this
chapter.
Table 8-1.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Additional information about access controls

Siebel Assignment Manager


Administration Guide

Siebel Remote administration

Siebel Remote and Replication


Manager Administration Guide

General information about Siebel application


administration and defining your company
structure

Siebel Applications Administration


Guide

Siebel Tools Guide Volume 1 of 2

8-45

Controlling Access to Information


Chapter Summary and Where to Get More Information

8-46

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Email and Fax

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2


Overview of Email and Fax Configuration . . . . . . . . . . . . . . . . . . . . . . . 9-3
Setting Up a Client Machine for Fax or Email . . . . . . . . . . . . . . . . . . . . 9-6
Setting Up Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9
Configuring Generic Recipients with User Properties . . . . . . . . . . . . . . 9-11
Setting Up Fax Property Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-13
Generating Activities Automatically . . . . . . . . . . . . . . . . . . . . . . . . . . 9-18
Faxing from the Siebel Reports Module . . . . . . . . . . . . . . . . . . . . . . . . 9-19
Chapter Summary and Where To Get More Information . . . . . . . . . . . . 9-20

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-1

Configuring Email and Fax


About This Chapter

About This Chapter

This chapter explains how to configure Siebel applications to send emails and faxes
from a Siebel application via a third-party application.

9-2

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Overview of Email and Fax Configuration

Overview of Email and Fax Configuration

You can send email or fax information directly from any view in a Siebel
application:

 You initiate an email by selecting the Send Mail command.


 You initiate a fax by selecting the Send Fax command.
You can send business component information, attachments, product literature, and
correspondence. You can automatically generate a fax cover sheet.
Siebel applications integrate with third-party MAPI-compliant email and fax
software. MAPI stands for Messaging Application Programming Interfaceit is a
standard messaging protocol that specifies how application software interacts with
messaging software. You can configure any MAPI-compliant software package for
use in a Siebel application by adding a service to a profile in the Mail and Fax
application in the Windows Control Panel.
When you invoke the Send Mail or Send Fax command, the Message Properties
dialog box (see Figure 9-1) opens to enable you to select recipients and templates.

Figure 9-1.

Message Properties Dialog Box

The list of recipients that appears in the Message Properties dialog box consists of
generic names such as Service Request Owner and Contact Name, rather than the
actual names of the persons, which are obtained from the business component
records.

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-3

Configuring Email and Fax


Overview of Email and Fax Configuration

You can also select recipients from the messaging softwares address book, and you
can use the messaging softwares standard procedure for adding files directly from
your local disk drive or network.
The text in the message area of the message dialog box is:

 Automatically generated from a combination of prespecified text and fields in


the current business component record in the active applet

 Configured using a template file


The list of templates is generated from the set of template files present in the
msgtempl subdirectory of the Siebel installation directory.
You can specify a default template for each applet.

9-4

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Overview of Email and Fax Configuration

After you have selected the recipients and templates, click OK and the standard
message dialog box for your mail or fax software appears. The message dialog box
for Microsoft Exchange appears in Figure 9-2.

Figure 9-2.

Message Dialog Box in Microsoft Exchange

Siebel applications can utilize the cover sheet support built into the third-party fax
product. These fax server products typically provide designer tools for creating
cover sheet templates. You configure this through a mapping-definition process that
maps fields to fax software properties.
Faxes and emails generated from applets can be automatically logged as Activity
records, either public or internal. This is a useful feature for recording sales
activities or service request follow-ups. The text of the message is stored in the
Comment field of the activity record, or it is stored as an attachment if its over a
certain length.
You cannot add multiple messages from various business components to one email
or fax. The message is generated once from the selected business component record
and template. You can add multiple recipients and file attachments, however.

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-5

Configuring Email and Fax


Setting Up a Client Machine for Fax or Email

Setting Up a Client Machine for Fax or Email

To set up a client machine


1 Set up your machine for sending emails and faxes through a MAPI-compliant
client, such as Microsoft Exchange or Microsoft Outlook.
Use an existing setup, or set up one or more services in one or more profiles in
the Mail and Fax application (accessed from Windows Start Settings
Control Panel).

2 In the Siebel client, select View

 Options and click the Communications tab.

The Options dialog box (Communications tab) is shown in Figure 9-3.

3 Specify the appropriate settings for the email and fax systems you are using.

Figure 9-3.

9-6

Communications Tab in the Options Dialog Box

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Setting Up a Client Machine for Fax or Email

The features in this dialog box are:

Upon sending messages successfully radio button group. Determines whether

activity records are automatically generated from the users email and fax
transmissions, and whether generated activities are public or internal. Three
selections are available:
 Generate public activities. This selection specifies that activity records are to
be generated from emails and faxes, and that they are to be indicated as
Public (with a value of FALSE in the Internal field).
 Generate internal activities. Specifies that activity records are to be generated,
and that they are to be indicated as Internal.
 Dont generate activities. Specifies that activity records are not to be generated
from emails and faxes.

For more information, refer to Generating Activities Automatically on


page 9-18.

Save long messages as attachments check box. When activities are automatically

generated, the Comment field is populated with the contents of the message:
 TRUE specifies that messages larger than the Comment field (currently 1500
characters) are saved as file attachments and corresponding file-attachment
records of the activities.
 FALSE specifies that messages longer than the limit are to be truncated.
NOTE: When an email message has file attachments in the message body, these
file attachments are not saved with automatically generated activities.
Attachments to these activities contain the message body text only.

Mail & fax Profile picklist. Use this picklist to select the MAPI profile in the

Windows Mail And Fax application to use for email and fax transmission. You
could have multiple profiles set up in Windows, but you need to specify just one
for e-mail and fax use.

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-7

Configuring Email and Fax


Setting Up a Client Machine for Fax or Email

Address entry type picklist. Address entry types are formats for addressing
messages that the specified MAPI profile can support on the server. In this
picklist, an address entry type is selected for faxing only. Generally the address
entry type to select will include the word fax and, often, the name of the fax
server software.

Address type picklist. This picklist is automatically selected when you select an
Address Entry Type; you do not have to enter anything here.

Modem port picklist. Specify your serial port (COM1, COM2, and so on) for your

local modem for paging.

9-8

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Setting Up Templates

Setting Up Templates

The template file you select in the Message Properties dialog box (see Figure 9-1 on
page 9-3) determines the text to include in the subject and message body areas of
the message:

 The subject line is from the first line of the template file.
 The message body text is obtained from the remaining lines in the file, and
consists of a combination of literal text from the template file and values
populated from fields in the current business component record.
You create template files with a text editor; you make them available to the system
by storing them in a directory location reserved for that purpose. You can use the
same template files for both emails and faxes, or create different custom versions
for the two purposes.
Template files are located in the msgtempl subdirectory of the directory where you
have installed your Siebel application software (usually C:\siebel\msgtempl).
The text of a typical template file for generating service-request emails or faxes
(srmail.txt) appears below:
Assignment Notification
The following service request has been assigned to you:
Service Request Number: %SR Number%
Date Opened : %Created%
Severity :
%Severity%
Priority :
%Priority%
Product :
%Product%
Abstract :
%Abstract%
Description : %Description%

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-9

Configuring Email and Fax


Setting Up Templates

Templates contain both text and field names. To embed fields, use the % sign before
and after the name of the specified field (for example, %Severity%). A template file
is specific to one business component, and can be used only when you select an
applet based on this business component. All fields identified in the template file
text must be present in this business component, and the spelling and case must
match. For example, the expression
%Contact Last Name%

is correct, whereas the expression


%CONTACT LAST NAME%

is incorrect, and the field value would not be substituted for it.
If you select a template file that is based on a different business component than
the one on which the current applet is based, and the specified fields dont exist in
the current business component, the field names, rather than the field values that
would normally substitute for them appear.

9-10

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Configuring Generic Recipients with User Properties

Configuring Generic Recipients with User Properties

A generic recipient is a generic name (for example, Service Request Owner or


Service Request Contact).
You can configure the list of generic recipients in the Message Properties dialog box
(see Figure 9-1 on page 9-3).
Non-generic recipients are added by adding business component user property
child object definitions to the business components being configured.
The name and corresponding fax number or email address are often extracted from
specific fields in the current business component record. Contact records are an
example of this, as they contain name, email address, and fax number fields.
Alternatively, you can get the recipient information from a record in another
business component through a join. An example might be a service request. The
Service Request Owner recipient information comes from an employee record, and
the Service Request Contact information from a contact record, both based on joins
from the service request record.
To configure non-joined generic recipients, configure the user property child object
definitions of the business component (see Table 9-1).
Table 9-1.

Version 6.0

User Properties for Non-Joined Generic Recipients

User property name

User property value

Recipient Email Address Field

The name of the field in the parent business


component that holds the email address; for
example, the Email Address Field in the Contact
business component.

Recipient Fax Phone Field

The name of the Field in the parent business


component that holds the fax phone number; for
example, the Fax Phone # Field in the Contact
business component.

Siebel Tools GuideVolume 1 of 2

9-11

Configuring Email and Fax


Configuring Generic Recipients with User Properties

To configure joined generic recipients, configure the user property child object
definitions of the business component (see Table 9-2).
Table 9-2.

User Properties for Joined Generic Recipients

User property name

User property value

Recipient Id Field n
(where n is an integer)

A comma-delimited list of three required values and


an optional fourth value. These are:

 Id Field Name. Identifies the foreign key field in


the parent business component that points to
records in the joined business component.

 Business Component. Identifies the joined


business component.

 Label. The text of the label to appear for this


generic recipient in the Message Properties
window, such as Service Request Owner.

 Field Name in Target Business Component


(optional). Include this value if the field name is
other than Id.

You can specify multiple joined generic recipients for a business component, which
is why the user property name contains an integer. That is, you can have Recipient
Id Field 1 specify one joined recipient, Recipient Id Field 2 specify another, and so
on. The order of the integers in the user property names determines their order in
the Recipients selection list in the Message Properties window.
The joined business component must have the user property settings of the nonjoined type; that is, Recipient Email Address Field and Recipient Fax Phone Field.
This is so you can ultimately obtain the email address and fax phone number for
each generic recipient.
NOTE: In order to specify a Recipient Id Field user property that points to a business
component other than Contact and Employee, you must add that business
component to the Message Recipient Business Object.

9-12

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Setting Up Fax Property Mappings

Setting Up Fax Property Mappings

MAPI-compliant fax-server software typically provides a MAPI property sheet for


setting up recipient addresses and other information. This property sheet is specific
to the fax software package. The property sheet for RightFAX appears in Figure 9-4.

Figure 9-4.

Property Sheet for RightFAX

You can configure your Siebel application client to automatically supply several of
these fax-software address property values from the current business component
record. To do that, configure a set of field value mappings from each business
component that will be used for generating faxes to the corresponding fax software
properties. You specify these mappings for a business component in the Map Fax
Properties dialog box.
Some of these fax system properties are required and others are optional. Because
the set of properties differs from fax system to fax system, custom mappings of these
properties from fields in business components must be defined for each fax system.
Standard Siebel applications include mappings for RightFAX. You can create your
own mappings to support additional fax systems.

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-13

Configuring Email and Fax


Setting Up Fax Property Mappings

Before you map fax properties:

 Configure the computer that will send faxes in the same way as the user
machines.

 Create a profile in the Mail and Fax option of the Windows Start
Control Panel.

 Settings 

To create custom mappings of fax system properties


1 In the Siebel Tools Object Explorer, select the Business Component object type.
2 In the Object List Editor, select the business component into which fax
properties are to map.
To automatically obtain default fax recipient values from field values, specify fax
mappings for each business component you want to fax from.

3 Choose Tools

 Map Fax Properties.

The Choose Profile dialog box appears, as shown.

Siebel Tools needs the Fax profile to determine the fax software that is being
used so it can correctly map the fields to the fax software fields. Depending on
the fax server being used, the server may need to be running, and the client
machine connected, to set up this configuration.

9-14

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Setting Up Fax Property Mappings

4 Select the profile you are using for fax configuration, and click OK.
The Select Address Type dialog box appears, as shown.

This dialog box enables you to identify the fax systems for which you want to
create mappings. Each fax system is typically associated with an address entry
type. If the computer has been properly set up to interface to the desired fax
system, an address entry type for that system should show up in this dialog box
(for example, RightFAX Address for RightFAX and Fax Address for Fax Sr.).

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-15

Configuring Email and Fax


Setting Up Fax Property Mappings

5 Select the address entry type, and click OK.


The Map Fax Properties dialog box appears, as shown.

The mappings of fax properties to fields are defined in this dialog box. For each
property of the selected address entry type, the property label, internal property
name, Required flag, and current field mapping are listed.

6 To assign a field to a specific fax property, select the property in the list table,
and then click the field in the list of the fields on the right side of the dialog box.
This list contains all fields in the business component.
7 If you need to review the Recipient property sheet in the fax software for the
current address entry type (to assist in determining the fax mappings for the
labels), click Show Template.
This enables you to more easily determine the fields to map to, based on fax
property labels. For instance, a label of ( may represent an area code property
that is displayed in the template as an area code surrounded by parentheses.
NOTE: This property sheet is made available for reference only. Any information

typed into it will be ignored.

9-16

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Setting Up Fax Property Mappings

8 Close the property sheet, if open.


9 Complete all configuration of property rows in the Map Fax Properties window
and click OK.
The mappings are saved as user properties in the business component in a
predefined format. For example, MAPI_LANFAX_3003001E is a typical user property
of this type, in which the portion at the beginning of the name (MAPI_LANFAX in
this case) identifies the fax software, and the portion at the end (3003001E)
identifies the fax system property. You do not need to manually configure user
properties of this type. Instead, you use the Map Fax Properties menu option as just
described.
After all the fax system properties have been configured, the repository reflects
these changes, and future compilations include these settings in the .srf file for
distribution.

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-17

Configuring Email and Fax


Generating Activities Automatically

Generating Activities Automatically

Fax and email activities (Activity business component records) are automatically
generated when sent if there is a corresponding system activity object definition,
and automatic generation is turned on in the Communications tab of the Options
window in Siebel applications. System activity objects are predefined for service
requests, opportunities, contacts, and various other business components.
When you submit a fax request, an activity is generated. The context of the activity
is based on the applet where the dialog box was first invoked. This activity includes
information as defined in the system activity object.
As a result, you can view fax history in relation to particular business component
records (such as contacts, accounts, and service requests). For example, you can
view a list of fax activities, and drill down to the contacts who were recipients of
the faxes.
The activity record has Email - Outbound or Fax in the Type field and the list
of recipients in the Description field. The text of the message appears in the
Comment field, unless the message is too long, resulting in its being stored as a file
attachment and attachment record.
NOTE: In the Communications tab of the Options window in Siebel applications, you
can turn on or off the storage of long comments as attachment records using the
Save long messages as attachments check box. If turned off, the comments are
truncated.

Additional configuration of automatic activity generation may be specified in the


system activity object definition. No activity is created if the message is canceled.
Although automatic activity generation provides functionality for Siebel application
users, the fax software typically provides additional fax administration and logging
capabilitiesfor example, you can usually determine which faxes have been sent.
Sent faxes usually appear in a special folder. In the case of fax software that
integrates with the Microsoft Exchange Server, this folder is the Sent Items folder in
Microsoft Exchange or Microsoft Outlook.
Most fax software sends a notification message when a fax cannot be transmitted
to the destination. Some fax software applications can also be set up to send a
notification when a fax is transmitted successfully.

9-18

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Email and Fax


Faxing from the Siebel Reports Module

Faxing from the Siebel Reports Module

You can generate a fax (outside the Send Fax mechanism) using the Siebel Reports
module. This is particularly useful for quotes.

To fax from the Siebel Reports module


1 From the Actuate report viewer, print the report to the fax server using the
Print command (with the Print Setup button).
This creates a fax message with the report converted to a fax image.

2 Specify an address/phone number, or copy the fax report into a message created
from a Siebel application using the Send Fax command.
Activities are not automatically generated when faxes are printed from the Reports
module. If you send a fax using the Siebel report viewer, you must create an activity
manually.

Version 6.0

Siebel Tools GuideVolume 1 of 2

9-19

Configuring Email and Fax


Chapter Summary and Where To Get More Information

Chapter Summary and Where To Get More Information

This chapter explained how to configure Siebel applications to send emails and
faxes from a Siebel application via a third-party application.
Table 9-3 lists sources of additional information about topics discussed in this
chapter.
Table 9-3.

9-20

Sources of Additional Information

For information about this topic . . .

. . . see the following

Siebel Reports module

Siebel Reports Guide

User properties

Appendix E

Siebel Tools GuideVolume 1 of 2

Version 6.0

Configuring Assignment Objects

10

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2


Assignment Manager Configuration Overview . . . . . . . . . . . . . . . . . . . 10-3
Assignment Manager Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-5
Assignment Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
Assignment Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Assignment Criteria Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-15
Assignment Criteria Attribute Objects . . . . . . . . . . . . . . . . . . . . . . . . 10-17
Assignment Attribute Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20
Assignment Attribute Column Objects . . . . . . . . . . . . . . . . . . . . . . . 10-23
Configuring for Interactive Assignment . . . . . . . . . . . . . . . . . . . . . . . 10-24
Chapter Summary and Where to Get More Information . . . . . . . . . . . 10-27

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-1

Configuring Assignment Objects


About This Chapter

About This Chapter

10

This chapter explains how to configure assignment objects in Siebel Tools.

10-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Manager Configuration Overview

Assignment Manager Configuration Overview

10

Siebel Assignment Manager provides an extensive set of prebuilt assignment


objects, rules, criteria, and attributes (for use in criteria) to meet the automatic
personnel assignment requirements of many businesses.
For example, when you click the ellipsis (...) button in the Object field in an
assignment rule record (in the Assignment Rules or Assignment Criteria views), a
pick applet appears that identifies all the assignment objects assigned to the
assignment rule record. This is shown in Figure 10-1.
When you click in the Name field of one of the records in the list (or a newly created
record), a picklist appears that provides a list of assignment objects for selection.
Each of the assignment objects in the picklist is implemented with an assignment
object definition in the repository.
Object field in
an assignment
rule record.

List of assignment
objects assigned to
this rule.

Picklist of available
assignment
objects.

Figure 10-1. List of Assignment Objects Attached to an Assignment Rule

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-3

Configuring Assignment Objects


Assignment Manager Configuration Overview

The example illustrates an assignment taskassigning custom objectsthat can be


configured only by adding or manipulating object definitions in Siebel Tools. (Other
assignment tasks can be done through administration views in Siebel applications).
Assignment Manager features you can custom configure in Siebel Tools include:

 The list of assignment objects that can be assigned to assignment rules


 The list of attributes that can be incorporated in assignment criteria
 The behavior of each available assignment object, including whether features
such as auto-reassignment of objects and creator retention on teams are
activated for the assignment object

 The table and column mappings of assignment objects and attributes


 The workflow policy component and workflow policy component column
mappings of attributes used in assignment criteria

10-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Manager Configuration Overview

Assignment Manager Object Types

10

The following object types in Siebel Tools are specific to Assignment Manager (each
type is discussed in detail later in the chapter):

Assignment Object. Assigned to assignment rules in the Object field of

assignment rule records. An assignment object specifies a business entity to


which a candidate can be assigned, what gets updated to accomplish that
assignment, and other assignment behavior parameters.

Assignment Criteria. An Assignment Criteria object definition defines an attribute,


called an assignment item, that can be used in assignment criteria records.
Assignment items appear in the picklist that appears when you click in the
Criteria list column of an assignment rule record.

Assignment Criteria Attribute. An Assignment Criteria Attribute object definition

assigns an assignment attribute to the parent assignment item type. Assignment


item attributes make it possible for an assignment item type to consist of
multiple attributes.

Assignment Attribute. An Assignment Attribute object definition defines an

attribute that can be referenced in assignment criteria records. It specifies a


logical attribute that may be chosen from a picklist for defining comparisons.

Assignment Attribute Column. An Assignment Attribute Column object definition

assigns an assignment attribute to an assignment object and a workflow policy


component column. These mappings set up value matching within the
assignment object and workflow policy object.

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-5

Configuring Assignment Objects


Assignment Manager Configuration Overview

These object types have hierarchical (parent-child) relationships you can view in
the Siebel Tools Object Explorer. The hierarchical relationships of these object types
(and two related object types in Workflow Manager configuration) are illustrated in
Figure 10-2.

Siebel
repository
Workflow
Object

Assignment
Object

Workflow
Component

Assignment
Attribute

Assignment
Item Type

Assignment
Attribute
Column

Assignment
Item Type
Attribute

Legend:
Object type
1:M relationship
through obj. hierarchy

Figure 10-2. Parent-Child Relationships Between Assignment Manager Object Types

10-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Manager Configuration Overview

In addition to the parent-child relationships between Assignment Manager object


types, there are one-to-one and one-to-many relationships specified in property
settings within the object definitions. These are illustrated in Figure 10-3.

"assignment rule"
(Assignment Group
business component record)

Assignment Object
multi-value field

"assignment criterion"
(Assignment Rule
business component
record)

Assignment
Object

Assignment
Object
property

Assignment
Attribute
Assignment
Attribute
Column

Item Type
Name field

Assignment Item
Type
Assignment
Item Type
Attribute

Assignment
Attribute
property

Workflow Object,
Workflow Component
and Workflow
Component Column
properties

Workflow Object
Legend:
object definition
contained (child) object definition
Business Component record

Workflow
Component
Workflow
Component
Column

property specifies other object def

Figure 10-3. Field Value and Property Relationships Among Assignment Manager Object Types

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-7

Configuring Assignment Objects


Assignment Manager Configuration Overview

Figure 10-3 on page 10-7 shows the following:

 Assignment rules (the box with a broken line border at the upper left) have
assignment criteria children, as is suggested by the Assignment Manager
administration views. Assignment rules are actually records of the Assignment
Group business component, and their child assignment criteria are records of the
Assignment Rule business component.

 Each assignment rule points to one or more assignment object definitions, stored
in a multi-value group attached to the Assignment Objects field in the
assignment rule (Assignment Group business component) record.
NOTE: If an assignment rule does not specify an assignment object, this means

that it applies to all assignment objects.

 Each assignment criterion record points to an Assignment Criteria object


definition, by means of the value in the Item Type Name field.

 Assignment attributes are attached to an Assignment Object through a property


setting in each Assignment Attribute Column object definition.

 An Assignment Attribute Column object definition is mapped to a Workflow


Policy Component column object definition, for dynamic assignment purposes,
by means of a pair of property settings.
These relationships are explained more fully in the subsequent sections.

10-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Objects

Assignment Objects

10

One or more Assignment Object object definitions can be assigned to each


assignment rule. They appear in the multi-value group applet that appears when
you click in the Object text box control or list column when editing an assignment
rule record in Siebel applications. This is illustrated in Figure 10-1 on page 10-3.
An assignment object specifies a business entity to which a candidate can be
assigned, and it specifies what gets updated to accomplish that assignment. For
example, an employee or position can be assigned ownership of an opportunity or
account, or made a member of the opportunitys or accounts sales team. Similarly,
an employee can be assigned ownership of a service request or product defect. Each
of the corresponding business components has one or more fields that specify the
owner or team. An assignment rule includes one or more assignment objects. When
the rule is satisfied, specific columns underlying these fields are updated with
replaced or added employee IDs in accordance with the settings in the assignment
object.
Assignment Object is a child object type of the Workflow Policy Object object. The
parent object provides a set of available column mappings through its child
Workflow Policy Component and grandchild Workflow Policy Component Col
object types. These can be specified in Assignment Attribute Column object
definitions as columns to test for value matches, and to monitor in dynamic
assignment for value changes.
In standard Siebel applications, all but two Workflow objects (Order and Quote)
have one preconfigured child Assignment Object apiece. Normally there is no need
for multiple assignment objects in a workflow policy object. However, if you need
to specify multiple behaviors for the same business entity, such as updating the
account team in some rules and the account owner in others, you can add
additional assignment objects to the workflow policy object. Most of the time, you
will only need to alter property settings in an existing assignment object.

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-9

Configuring Assignment Objects


Assignment Objects

To add an assignment object to a workflow object


1 In the Object Explorer in Siebel Tools, expand the Workflow Policy Object object
type.
2 In the Object List Editor, select the workflow policy object to which you want to
add the new assignment object.
3 In the Object Explorer, select Assignment Object.
4 Click in the window where the assignment objects are displayed to make it
active.
5 Select Edit

 New Record from the menu bar.

6 In the new assignment object definition, enter property values as described in


the following section.
7 Click anywhere outside the record to commit the new object definition.
8 Compile, and replace the current .srf file with the newly compiled one.
9 Check in the project or projects containing the object definition.

10-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Objects

Assignment Object Properties

10

The property settings in an assignment object determine its behavior, defaults,


runtime settings, and references to tables and columns. The properties are
categorized below and defined in the Siebel Object Types Reference.

General-Purpose and Run-time Properties


These properties are the following:

 Auto Reassign
 Calendar Duration Column
 Calendar Start Time Column
 Ignore Extra Attributes
 Keep Creator
 Keep Manual Assigned
 Keep Manual Assignment Primary Employee
 Keep Manual Assignment Primary Position
 Keep Manual Assignment Primary Rule
 Lock Assignment Column
 Name
 Primary Table
 Replace Team Members
 Set Primary Employee
 Set Primary Position
 Set Primary Rule

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-11

Configuring Assignment Objects


Assignment Objects

Rule Intersection Table Setup Properties


These properties are used to set up the rule intersection table for the assignment
object. A rule intersection table is required when a record can be assigned to
multiple rules (such as territories). For example, opportunities and territories have
a many-to-many relationship, so the S_OPTY_TERR intersection table is specified
as the rule intersection table for the Opportunity assignment object.
The rule intersection table setup properties are:

 Rule Column
 Rule Primary Column
 Rule Primary Denorm Column
 Rule Primary Manual Column
 Rule Primary System Column
 Rule Table
 Rule Team Copy Columns
 Rule Team Denorm Column
 Rule Team Manual Column
 Rule Team System Column

10-12

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Objects

Employee Assignment Properties


These properties are used to set up assignment of employees (that is, specific
individuals). If candidates are assigned as positions rather than employees, these
properties are not used.
The employee assignment properties are:

 Default Employee
 Employee Column
 Employee Primary Column
 Employee Primary Denorm Column
 Employee Primary Manual Column
 Employee Primary System Column
 Employee Table
 Employee Team Copy Columns
 Employee Team Denorm Column
 Employee Team Manual Column
 Employee Team System Column

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-13

Configuring Assignment Objects


Assignment Objects

Position Assignment Properties


These properties are used to set up the assignment of positions, rather than
employees, to accounts, opportunities, campaigns, and so forth. If candidates are
assigned as employees rather than positions, these properties are left blank.
The position assignment properties are:

 Default Position
 Position Column
 Position Primary Column
 Position Primary Denorm Column
 Position Primary Manual Column
 Position Primary System Column
 Position Table
 Position Team Copy Column
 Position Team Denorm Column
 Position Team Manual Column
 Position Team System Column

Skill Table Setup Properties


These properties are used to specify the skill table and skill item table for the
assignment object. A skill table is used to enable the administrator to add custom
attributes for rule evaluation without creating object definitions in Siebel Tools.
When the Employee Skill property in an assignment criteria object definition is
TRUE, and this assignment criteria is used in a criterion record, the custom
attributes that the administrator adds are stored in the skill table and skill item table
specified in the assignment object.
The skill table setup properties are:

 Skill Item Table


 Skill Table

10-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Criteria Objects

Assignment Criteria Objects

10

An Assignment Criteria object is used in assignment criteria records. Assignment


criteria appear in the picklist that appears when you click in the Criteria list column
when editing an assignment criterion record in Siebel applications.
Figure 10-4 shows the Assignment Criteria applet in the Assignment Criteria view.
This applet lists the assignment criteria for a specific assignment rule. Each record
contains the information for one assignment criterion. The administrator can add
and modify criteria for the rule in this applet.
Criteria list column
in Assignment
Criteria applet

Picklist for selection


of an assignment
item

Figure 10-4. List of Assignment Criteria Objects in a Picklist

The Criteria list column in an assignment criterion record specifies the assignment
item that is to be tested for a match against one or more attributes of the assignment
object or the candidate. For example, in an assignment criterion that checks to see
if the state is California, the assignment item would be State, Home State, Account
State, or something similar, and the value California (CA) would be specified in a
child value record.

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-15

Configuring Assignment Objects


Assignment Criteria Objects

The administrator clicks the drop-down button in the Criteria list column, and a
picklist appears for selection of an assignment item for the criterion. The picklist
lists all available assignment itemsthat is, all Assignment Criteria object
definitions in the repository. When an assignment criterion is selected, its name is
stored in the current Assignment Rule business component record.
NOTE: The business component that holds assignment criteria is called Assignment
Rule. The business component that holds assignment rules is called Assignment
Group.

An assignment criterion contains one or more attributes, stored as Assignment


Criteria Attribute object definitions.
After you create an Assignment Criteria object definition, and recompile and check
its project in, it becomes available for selection from the Criteria list column picklist
in assignment criterion records.

To create an assignment item


1 In the Object Explorer, select the Assignment Criteria object type.
2 Select Edit

 New Record from the menu bar.

3 In the new Assignment Criteria object definition, enter property values. The
Name property is required.
4 Click anywhere outside the record to commit the new object definition.
5 Create one or more Assignment Criteria Attribute object definitions.
6 Compile the repository, and replace the current .srf file with the newly compiled
one.
7 Check in the project.

10-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Criteria Attribute Objects

Assignment Criteria Attribute Objects

10

An assignment criterion contains one or more assignment criteria attributes.


Assignment criteria attributes are implemented as object definitions of the
Assignment Criteria Attribute object type, a child object type of Assignment Criteria.
Assignment criteria attributes make it possible for an assignment criterion to consist
of multiple attributes.
For example, the City State Country assignment criteria includes a city, state, and
country, each of them corresponding to a specific column. This is accomplished by
creating three assignment criteria attribute values: City, State, and Country. Many
assignment criteria have only a single assignment criteria attribute.
The set of assignment criteria attributes in an assignment criterion determines the
set of list columns to appear in the Values applet. This is illustrated in Figure 10-5.
The Product
Wildcard
assignment item...

...has a Product
list column in its
value records.

Figure 10-5. List Columns in the Values Applet

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-17

Configuring Assignment Objects


Assignment Criteria Attribute Objects

One list column appears in the Values list applet for each assignment item attribute
in the assignment item. In the figure, the Product Wildcard assignment item
(actually the Product Name assignment criterion, but with a display name of
Product Wildcard) has a Product list column in the display of its child Value records.
This list column corresponds to the Product Name assignment criteria attribute
(with a display name of Product). This is illustrated in Figure 10-6.
Product Name
assignment
item

Product Name
assignment
item attribute

Figure 10-6. Assignment Criteria and Assignment Criteria Attribute

10-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Criteria Attribute Objects

If there were more assignment item attributes for this assignment item, each would
have a list column in the Values applet. The Score list column is automatically
provided, and the Expertise Code list column appears in this circumstance because
the assignment item has a Use Expertise property setting of TRUE.
Assignment item attributes make it possible for an assignment item to consist of
multiple attributes, each mapping to a specific assignment attribute object
definition.

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-19

Configuring Assignment Objects


Assignment Attribute Objects

Assignment Attribute Objects

10

An Assignment Attribute object definition defines an attribute that can be


referenced in assignment criteria records. It specifies a logical attribute that may be
chosen from a picklist for defining comparisons; it does not directly specify a
particular database column or combination of columns. Column mapping is
accomplished through the child assignment attribute column object definitions, one
for each assignment object that uses the parent assignment attribute.
An assignment attribute also specifies the picklist to be used in the Values applet in
the Assignment Criteria view when the administrator is entering an attribute in a
value record. This is shown in Figure 10-7.
This list column is
based on an
assignment
attribute...

...in whose
definition this
picklist is
specified.

Figure 10-7. Picklist for Populating an Attribute in a Value Record

An Assignment Criteria Attribute object definition implements each list column in


the Values applet, as described in Assignment Criteria Attribute Objects on
page 10-17. The assignment criteria attribute is based on an assignment attribute,
as specified in its Assignment Attribute property. The referenced assignment
attribute identifies a picklist. This is the picklist that appears when the
administrator clicks the drop-down button to the right of the list column cell.

10-20

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Attribute Objects

The Assignment Attribute object type functions as an intermediary between the


assignment criteria on the one hand and the assignment objects on the other. This
is illustrated in Figure 10-8.

"assignment rule"
(Assignment Group
business component record)

Assignment Object
multi-value field

"assignment criterion"
(Assignment Rule
business component
record)

Assignment
Object

Assignment
Object
property

Assignment
Attribute
Assignment
Attribute
Column

Item Type
Name field

Assignment Item
Type
Assignment
Item Type
Attribute

Assignment
Attribute
property

Workflow Object,
Workflow Component
and Workflow
Component Column
properties

Workflow Object
Legend:
object definition
contained (child) object definition
Business Component record

Workflow
Component
Workflow
Component
Column

property specifies other object def

Figure 10-8. Property Relationships Between Assignment Attribute and Other Object Types

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-21

Configuring Assignment Objects


Assignment Attribute Objects

An assignment criteria attribute references an assignment attribute through its


Assignment Attribute property. In turn, each of the assignment attributes child
columns specifies an assignment object and a workflow component/column
combination.
The assignment criteria attribute is a logical grouping of similar mappings to
different assignment objects that can utilize the same picklist for value selection.
For example, the Account State assignment criteria attribute has nine child object
definitions. Each of these is for selection of the state in which an account is located,
but four of them are for different assignment objects (Activity, Account, Contact,
and Position), and the other five are for different account state attributes in the
Opportunity assignment object (Primary Account State, Indirect Account Primary
State, and so forth).

10-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Assignment Attribute Column Objects

Assignment Attribute Column Objects

10

An Assignment Attribute Column object definition assigns an assignment attribute


to an assignment object and a workflow policy component column. These
mappings set up value matching within the assignment object and workflow policy
object for criteria that use the parent assignment attribute.
The parent assignment attribute is an abstract logical attribute to test for a value
match, and is specified in an assignment criterion by the administrator. Its child
assignment attribute columns specify the actual mappings to assignment objects
and workflow policy component columns. Each assignment attribute column can
specify a different assignment object to search, or a different attribute within the
same assignment object.

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-23

Configuring Assignment Objects


Configuring for Interactive Assignment

Configuring for Interactive Assignment

10

Interactive assignment allows users to invoke Assignment Manager immediately,


view the list of assignees generated by Assignment Manager, and then override or
confirm the assignees in the list. It is invoked with the Assign button in an applet
displaying records from a business component that is configured and administered
for automatic assignment through Assignment Manager.
An example of interactive assignment can be seen in the My Service Requests View
(Personal Service Request List View) in the Service Requests screen in Siebel
Service, shown in Figure 10-9.

Figure 10-9. My Service Requests View

10-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Configuring for Interactive Assignment

When you click the Assign button in the form applet for the current service request,
the Siebel application client contacts the assignment server and creates a list of
qualified employees sorted by descending scores. The user selects an employee
from the list to be the service request owner.
Administration of Assignment Manager for interactive assignment consists of
setting parameter values in the .cfg file. The administration process is explained in
the Siebel Assignment Manager Administration Guide.
There are also configuration steps in Siebel Tools to add interactive assignment
functionality to a workflow policy object (other than Service Request, which is
preconfigured).

To configure interactive assignment in an applet


1 Verify that Assignment Manager is configured and administered to perform
assignment of values in the desired field, including the presence of the necessary
assignment object and assignment rules and values.
2 Verify that the displayed business component is of the CSSBCBase class or one
of its subclasses. Business components based on other classes cannot be
configured for interactive assignment.
You can determine this by looking in the Class property of the business
component. If the value is CSSBCBase (such as in the Account business
component), interactive assignment configuration is permitted. If it is not
CSSBCBase, note the class name and locate it in the Object List Editor for the
Class object type. Note the value in the Super Class property for this class. If the
Super Class is CSSBCBase, interactive assignment is permitted. Otherwise, it
is not.

3 Verify that the appropriate applet is of the CSSFRBase class or one of its
subclasses. Applets based on other classes (including CSSFRListBase) cannot be
configured for interactive assignment.
4 Add a child business component user property to the business component. Set
the Name property to Assignment Object and the Value property to the name of
the assignment object that is to be used in the assignment process.

Version 6.0

Siebel Tools Guide Volume 1 of 2

10-25

Configuring Assignment Objects


Configuring for Interactive Assignment

5 Add the Assign button in the appropriate applet. To do this, you navigate in the
Object List Editor to the applet to which you want to add the Assign button.
Right-click the applet object definition, and choose Edit Layout from the shortcut
menu. Copy one of the existing buttons (for example Cancel). Set the Caption,
Method Invoked and Name properties of the new button to Assign. Save the
changes to the applet.
6 Add the business component that will hold assignment results records to the
business object of the view in which the reconfigured applet is used. This
business component already exists, and is either Assignment Results (Position)
or Assignment Results (Employee), depending on whether you are setting up
employee- or position-based assignment. To add the business component to the
business object, create a child Business Object Component object definition,
with the BusComp property set to Assignment Results (Position) or Assignment
Results (Employee).
NOTE: You can optionally define the Business Component user property called
Assignment Results BusComp and the applet user property called Assignment
Results Applet. These user properties are desirable when you need to show
additional information about the results. For example, the service request
assignment results could join to the CTI tables, and only query qualified service
people who are not currently using their telephone. The name of the business
component used to hold data for the additional fields would be specified in an
Assignment Results BusComp user property in the business component being
assigned. The name of the applet used to display the assignment results would be
specified in an Assignment Results Applet user property in the applet from which
assignment is invoked.

10-26

Siebel Tools Guide Volume 1 of 2

Version 6.0

Configuring Assignment Objects


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

10

This chapter explained how to configure assignment objects in Siebel Tools.


Table 10-1 lists sources of additional information about topics discussed in this
chapter.
Table 10-1.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Assignment Manager tasks you do in Siebel


application administration screens

Siebel Assignment Manager


Administration Guide

Siebel Tools Guide Volume 1 of 2

10-27

Configuring Assignment Objects


Chapter Summary and Where to Get More Information

10-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns

11

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2


What Is the Siebel Extension Designer? . . . . . . . . . . . . . . . . . . . . . . . 11-3
Database Extension Planning and Design . . . . . . . . . . . . . . . . . . . . . . 11-4
Planning and Design Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4
Naming Conventions for Extension Tables and Columns . . . . . . . . . . . . . . 11-7
Accommodating Active Mobile Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
DBMS Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-9
Database Extension Implementation . . . . . . . . . . . . . . . . . . . . . . . . . 11-10
Checking Out and Locking the Projects . . . . . . . . . . . . . . . . . . . . 11-11
Updating the Logical Schema Definition in the Local Environment . 11-11
Applying the Physical Schema Extensions to the Local Database . . . . . . . 11-21
Displaying Extension Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-23
Preparing the Server Database Prior to Applying Schema Extensions . . . . 11-26
Applying the Changes to the Server Database . . . . . . . . . . . . . . . . 11-26
Applying Server Database Changes to Other Local Databases . . . . . . . . . 11-29
Populating Extension Tables and Columns . . . . . . . . . . . . . . . . . . 11-30
Running ddlsync.ksh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-30
Chapter Summary and Where to Get More Information . . . . . . . . . . . 11-32

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-1

Using Extension Tables and Columns


About This Chapter

About This Chapter

11

This chapter describes what the Database Extension Designer is and how to use it.
It also provides you with information and guidelines for planning and designing
database extensions.

11-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


What Is the Siebel Extension Designer?

What Is the Siebel Extension Designer?

11

The Siebel Database Extension Designer is a feature in Siebel Tools that enables you
to perform extensions to the standard Siebel eBusiness Applications database. The
Database Extension Designer offers the following extension capabilities:

Capture additional attributes on entities. You can add columns to database tables.

You can use these columns to store additional information for use by business
object definitions. You can then modify the user interface object definitions to
display and update the contents of added columns.

Create your own extension tables. You can also extend the Siebel Data Model by

creating new 1:1 extension tables for Siebel base tables.

Carry custom attributes forward with new releases. As part of the implementation

process, the Database Extension Designer generates the necessary databasespecific DDL commands, and registers the columns in the Siebel application
dictionary. Siebel applications recognizes the columns, and carries them forward
into subsequent releases of the application.

Integrate with Siebel Remote. After implementing a database extension, you can
request that Siebel applications automatically generate a new structure for
mobile client local databases. Siebel applications provides a standard
methodology for propagating changes to mobile clients.

The Database Extension Designer utilizes a point-and-click interface for adding


columns to tables. It works in conjunction with the Object Explorer and Object List
Editor to enable you to view all tables in the database and all columns in each table,
and add extension columns to a table as necessary. This approach simplifies the
process of implementing necessary changes, enabling you to meet the needs of your
users more quickly.
You need to have a thorough understanding of the Siebel Object Architecture and
Siebel Data Model before you undertake database extension.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-3

Using Extension Tables and Columns


Database Extension Planning and Design

Database Extension Planning and Design

11

Siebel Tools and Siebel applications provide several tools that automate much of the
process of implementing database extensions. However, to be successful, you need
to plan and design your extensions before using these tools. Planning and design
tasks are listed in this section, and those that the Database Extension Designer
facilitates are described in more detail in subsequent sections.
You should use a test database environment where you can make and verify
database extensions before they are propagated to the production database.
NOTE: Be sure to lock these projects when extending the database through Siebel

Tools: Newtable, EIM Interface Table, Scopus Migration, and ERP Interface Table.

Planning and Design Steps

11

To plan for adding a custom column to the database


1 Decide whether a new column is needed, or whether a standard extension
column such as ATTRIB_03 or ATTRIB_27 in the standard extension table will
meet your needs.
In many cases it is better to use a new columns on the base table rather than
standard extension columns, because it yields a little bit better performance
(that is, you avoid a join to the extension table). However, there are some
exceptions to this guideline. A Siebel Expert will identify when these exceptions
might apply during a review such as a configuration design review or EIM
mapping review.
If you choose to use a standard extension column, verify that the column is not
already in use by a field.
To find any fields currently using the standard extension column, do the
following:

a In the Siebel Tools Object Explorer, click the Flat tab.


b Select the Field object type.

11-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Planning and Design

c Initiate a query by choosing Query New Query from the menu bar. In the
QBE row in the Object List Editor, enter the name of the column you want to
use (in the Column property) and the name of the extension table (in the Join
property). Press ENTER.
d If the query does not return any Field object definitions, the column is
unused in the extension table and is available. 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 with the same extension table specified (in the Join property) and the
value ATTRIB* in the Column property.
Caution: If the column is in use by a field defined by a Siebel
application, do not deactivate the original field in order to use
that column for another purpose.

2 If you will add a new custom column, decide whether you will be implementing
it after you have deployed active mobile clients. Mobile clients will either have
to be re-extracted to get the new column, or Siebel Anywhere will need to be
used to distribute the schema change.
3 Design the extension column. Decide on a description, name, user name, and
characteristics (such as data type, length, and default values).
4 Decide on the applet(s), view(s), and screen(s) where the column will be used.
Decide if users can only view column data, or view and update it.
5 Decide where your custom column will reside: in a base table, a standard
extension table, or a custom extension table.
To find any existing columns in which you might place the field, do the
following:

a In Siebel Tools, navigate to the applet to which you want to add a control or
list column.
b Note the value in the Business Component property.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-5

Using Extension Tables and Columns


Database Extension Planning and Design

c Navigate to this business component using the Object Explorer and Object
List Editor. The object definition for the business component in the Object
List Editor displays, in its Table property, the name of the base table. Note
the name of this base table.
d In the Object Explorer, select the Table object type.
e In the Object List Editor, perform a query to restrict the list of tables to just
display extension tables with a base table name matching the previously
identified base table, as follows:
 Type property set to a value of Extension
 Base Table property equal to the base tables name, in all capitals

The result of this query is a display of the extension tables for the identified
base table.
NOTE: Alternatively, you could review the base table to determine if it would be
appropriate to create an extension column there. This would require a different
Object List Editor query, in which you set the Name property to the Name of the
identified base table, and expand the Column object type in the Object Explorer.

6 Decide on the method for loading data into the extension column. You may be
able to populate the extension column using the Enterprise Integration Manager
(EIM). For more information, refer to the section entitled Populating Extension
Tables and Columns on page 11-30. Alternatively, you could have your users
enter data through the user interface, or use Siebel Object Interfaces and
Siebel VB or Siebel eScript to update the data programmatically.
7 Document the planned changes, and work with Siebel Technical Services to
review the design.
8 Develop an implementation schedule that includes adequate time to test and
implement your work, as well as to propagate the changes to your active mobile
clients.
NOTE: Because all extensions are made and tested first against a local
development database, then against the test server environment, your mobile
users can continue to synchronize as you implement database extensions.

11-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Planning and Design

Naming Conventions for Extension Tables and Columns

11

The Database Extension Designer enforces a naming convention for extension


tables and columns to prevent naming conflicts and ensure that you can upgrade
your application.

Extension Table Names


The table name for an extension table comprises the name of the base table, an
underscore, and a suffix. The X suffix denotes a one-to-one (1:1) extension table;
the suffix XM denotes a one-to-many (1:M) extension table. For example:

 S_OPTY_X is the name of the 1:1 extension table for the S_OPTY base table.
 S_OPTY_XM is name of the 1:M extension table for the S_OPTY base table.
The user name of an extension table (in the User Name property) comprises the
user name of the base table, a space, and a suffix. The suffix Extension denotes a
1:1 extension table; the suffixes M:1 Extension or 1:M Extension denote a many-toone or one-to-many extension table. For example:

 Opportunity Extension is the user name for the S_OPTY_X extension table.
 Opportunity M:1 Extension is the user name for the S_OPTY_XM extension
table.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-7

Using Extension Tables and Columns


Database Extension Planning and Design

Extension Column Names


The column name for an extension column in a base table consists of a prefix, an
underscore, and a column name. For example:

 X_DISCOUNT
 X_SPECIALCHG
The user column name for an extension column in a base table uses a column name
and a suffix. For example:

 Discount Extension
 Special Charge Extension
NOTE: The Database Extension Designer imposes no naming convention on
extension columns in an extension table. Be careful not to use database reserved
words.

11-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Planning and Design

Accommodating Active Mobile Clients

11

Whenever possible, you should implement custom attributes before extracting


mobile clients. If you can do so, then propagating custom attributes to these clients
occurs during normal client installation.

DBMS Restrictions

11

You can add extension columns to a base table, standard extension table, or custom
extension table.
However, you should be aware that different DBMS systems have different limits on
the width of a table row, either on the maximum number of columns in a table or
the maximum number of bytes in a row. If you need to exceed the limit, you can
add extension columns to custom extension tables only.
Once added to the physical table, a column cannot be removed. Refer to your
database systems manuals for information on this constraint.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-9

Using Extension Tables and Columns


Database Extension Implementation

Database Extension Implementation

11

After planning and designing your database extensions, complete the following
steps to implement your extension column on the Siebel test database server. If you
are performing this work after your Siebel applications are in production, you
should establish a separate test environment and database. This approach ensures
the safety and integrity of your production system as you develop and test your
database extensions.
NOTE: During the process of implementing extension columns and tables, Siebel
Tools generates and executes the SQL data definition language (DDL) that is used
to modify the database and update other Siebel system components.

As with configuration work, database extensibility must first be performed against


the local database. This provides recoverability in the event of mistakes, and
enables the developer to thoroughly test changes before making them available to
all developers.

To implement database extensions


1 Check out and lock the project to which the table being extended belongs (in
most cases this is Newtable). If you want to import data into the new column
via EIM, you need to check out whatever project the appropriate interface table
belongs to.
2 Update the logical schema definition in the local environment.
3 Apply the physical schema extensions to the local database.
4 Update and test configuration changes that apply to the extension.
5 Prepare the server database prior to applying schema extensions.
6 Apply the changes to the server database (you must click the ACTIVATE button
for the EIM import to be successful).
7 Apply the server database changes to other local databases.
The following sections discuss each step in detail. Once you have implemented your
extensions in your test environment, refer to the section entitled Migrating
Repositories and Schemas Between Databases on page 14-25 for instructions on
implementing these extensions in your production database.

11-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Checking Out and Locking the Projects

11

With Siebel Tools running against the local database, check out the project to which
the table youre extending belongs. Be certain to specify Server Lock when checking
out the projects.
The reason that the Scopus Migration project needs to be checked out is that
extending a table causes a row to be inserted in a related interface table assigned to
that project.

Updating the Logical Schema Definition in the Local Environment

11

The logical schema (data object definitions) must be updated with your extensions
in Siebel Tools prior to your applying them to the physical database. Logical schema
update is performed against your local development repository. Any changes made
to your logical schema will be indicated by a check mark in the Changed column
for the table or column affected.
This section is organized into the following subsections:

 Creating a Custom Extension Table on page 11-12


 Adding Extension Columns to Tables on page 11-13
 Modifying Extension Tables or Columns on page 11-15
 Deleting Extension Tables or Columns on page 11-16
 Using Extensions with Enterprise Integration Manager on page 11-18
 Adding Custom Indexes on page 11-20
Carry out all of the steps in all of the subsections, in the order given here.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-11

Using Extension Tables and Columns


Database Extension Implementation

Creating a Custom Extension Table


Siebel eBusiness Applications provide standard extension tables for the major base
tables in the schema. Each extension table has standard extension columns that you
can use to hold custom data. In some cases, however, you may need to create a
custom extension table. Also, you may not have access to create custom extension
tables, only extension columns.

To create a custom 1:1 extension table


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, select the Table object type.
3 In the Object List Editor, select the base table for which you want to create an
extension table. Verify that its Type property has a value of Data (Public).
4 Click Extend.
The extension table appears in the list of tables in the Object List Editor. The
Database Extension Designer will automatically create the necessary standard
columns and standard indexes. Temporary columns in interface tables that are
imported to the base table for this extension table are also created automatically.

5 Create any additional extension columns on the custom extension table,


following the instructions in the next section.
NOTE: Although there is no upper limit to the number of extension tables you can
have for a base table, you should limit the number of extension tables for a single
base table for performance reasons.

11-12

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Adding Extension Columns to Tables


You can add extension columns to any of the following table types:

 Data tables
 Intersection tables
 Interface tables
 Standard extension tables
 Custom extension tables
You cant add extension columns to private data tablesthat is, tables with a Type
property of Data (Private). Some interface tables are private, although most are
public. You should check the Type property for a table to verify that you can
extend it.

To add an extension column


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, expand the Table object type.
3 In the Object List Editor, select the table to which you will add an extension
column or columns.
4 Ensure that the table is not of type Data (Private).
5 Select Column in the Object Explorer.
6 Select Edit

 New Record to add an extension column.

Do not use column names that are reserved words on your server or client
database.
When you add columns to base tables or interface tables, Siebel Tools enforces the
naming conventions described in the section Naming Conventions for Extension
Tables and Columns on page 11-7.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-13

Using Extension Tables and Columns


Database Extension Implementation

You must provide a default value, in the Default property, for any column that you
designate as mandatory (with a FALSE value in the Nullable property). Although
you can create a mandatory column without providing a default, you will encounter
problems when using this column. For example, if you try to add a column to a table
that is already populated with data, the database will fail to create the column. If
the table does not yet contain data, attempts to add data (via the user interface,
Enterprise Integration Manager, or Siebel Remote) may fail.
In an extension column, use only default values for the following properties:

 Translate
 Use FKey
 Sequence Object
 Cascade Clear
 Foreign Key Table Name
Caution: Be extremely careful when using custom extension
columns to track foreign keys. If you choose to implement this, you
must consult with Siebel Expert Services concerning the visibility
rules applied to the foreign key table. Additionally, you must set the
Foreign Key Table Name property to NULL for that column, and you
will not be able to use the Enterprise Integration Manager to load
values into that column.

You are limited to one custom extension column of type varchar and one of type
long per table. Each of these columns is limited to 2048 characters maximum. If you
attempt to add additional columns of these types, or exceed this length limit, you
will receive an error message.

11-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Modifying Extension Tables or Columns


You may need to modify your extension tables or columns after creating or
activating them. You can modify properties of extension tables or columns only.
Modification of standard base tables and their columns is not supported.

To modify an existing extension column


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, expand the Table object type.
3 In the Object List Editor, select the table containing the extension column to
modify.
4 In the Object Explorer, select Column.
5 In the Object List Editor, select the extension column to modify.
6 Modify the appropriate properties.
You can rename a column prior to applying it to the server. However, once added
or applied to the server, you cannot simply rename the column and must deactivate
the existing column and create a replacement extension column.

To rename an existing extension column


1 Deactivate the unwanted column.
2 Create the new column in Siebel Tools (the logical schema).
3 Export the data from the old column.
4 Drop the old column.
5 Use ddlsync.ksh to synchronize the logical and physical schemas and import the
data back in.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-15

Using Extension Tables and Columns


Database Extension Implementation

To modify an existing extension table


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, select the Table object type.
3 In the Object List Editor, select the extension table to modify.
4 Modify the appropriate properties.
NOTE: Be careful when modifying the Physical Type property for columns;

depending on existing data in the column, changes may not be possible.

Deleting Extension Tables or Columns


If you have created an extension table or column that is no longer required, you can
delete it from the logical schema. You can delete only custom extension columns
and tables; you cannot delete any standard tables or their columns.

To delete an existing extension column


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, expand the Table object type.
3 In the Object List Editor, select the table containing the extension column to be
deleted.
4 In the Object Explorer, select Column.
5 In the Object List Editor, select the extension column to be deleted.
6 Select Edit

11-16

 Delete from the menu to delete the extension column.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

To delete an existing extension table


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, select the Table object type.
3 In the Object List Editor, select the extension table to delete.
4 Select Edit

 Delete from the menu to delete the extension table.

Extension tables or columns that are deleted are removed from the logical schema.
If you delete an extension table, the corresponding temporary columns in any
interface table that is imported to the base table for the extension table are not
deleted. These columns cannot be deleted through Siebel Tools, and will remain in
the logical and physical schemas.
The physical schema is unaffected. After you have deleted an extension table or
column that exists in the physical database, the physical table or column will
remain. Deleted extension tables may be dropped manually once the extension
table is removed from the logical schema. In most databases it is not possible to
delete a column from the physical table once it is created.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-17

Using Extension Tables and Columns


Database Extension Implementation

Using Extensions with Enterprise Integration Manager


If you plan to use the Enterprise Integration Manager (EIM) to populate an
extension column with data, you must add an extension column to the appropriate
interface table, and map this extension column to the extension column in the base
table or extension table.
The Database Extension Designer and EIM support mappings between the columns
in extension tables and columns in interface tables that import into the extension
table or the base table for the extension table. When you create an extension table,
the temporary columns used by EIM are automatically created for you in any
interface table that can import to the base table for this extension table.
You can make new mappings from an interface table to a base table if either of two
conditions is true:

 There are already mappings from the interface table into the base table.
 The target table is an extension table, and there are already mappings from the
interface table into the corresponding base table.
For example, you can create an extension column in the S_ACCOUNT_IF table
called X_CUST_NUM, and map this either to an extension column you added to
S_ORG_EXT or to an existing column in the S_ORG_EXT_X extension table.
NOTE: Mappings from interface extension columns to base columns are not

supported.

11-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

To create and map interface extension columns


1 Identify the interface table used to populate your extension column.
2 Create the extension column on the interface table, following the instructions in
Adding Extension Columns to Tables on page 11-13.
3 In the Object Explorer, select the EIM Interface Table object type. In the Object
List Editor, select the appropriate interface table.
4 In the Object Explorer, select the EIM Table Mapping object type. In the Object
List Editor, select the base table or extension table that contains the column to
be populated.
5 In the Object Explorer, select the Attribute Mapping object type.

6 Select Edit New Record from the menu bar to create a mapping from the
interface extension column to the appropriate extension column in the base
table.
You should not map multiple interface table columns to a single column in a target
table. You can, however, map a single column in an interface table to multiple base
tables or extension tables for a base table of the interface table.
You can either delete or deactivate mappings if they are no longer necessary. To
delete the mapping, navigate to the Attribute Mapping object in the Object List
Editor and select Edit Delete Record. To deactivate a mapping, set the Inactive
property to TRUE for the Attribute Mapping object definition.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-19

Using Extension Tables and Columns


Database Extension Implementation

Adding Custom Indexes


You can create custom indexes if you determine that an additional index would
benefit your implementation. You cannot modify standard indexes, or delete them
from the schema.
Caution: Use caution when implementing custom indexes, because
a poor design can adversely affect performance during insert and
update operations.

To create a custom index


1 Connect to your local development database with Siebel Tools.
2 In the Object Explorer, expand the Table object type.
3 In the Object List Editor, select the table to which you want to add an index.
4 In the Object Explorer, expand the Index object type.
5 Select Edit

 New Record to add a custom index.

Refer to the Index section in the Siebel Object Types Reference for more
information on index properties. Do not use index names that are reserved
words on your server or client database.
When you add custom indexes to tables, Siebel appends an _X to the index
name.

6 In the Object Explorer, select the Index Column object type.


7 Select Edit

11-20

 New Record to specify each column to add to the index.

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Applying the Physical Schema Extensions to the Local Database

11

Once your changes are complete, you are ready to update your local environment.

To update your local environment


1 In the Object Explorer, select the Table object type.
2 In the Object List Editor, select the table from which you want to apply changes
to the database.
3 Click Apply. A dialog box appears, asking if you want to continue.
4 If you want to proceed, click OK to continue with the operation.
You then see the Apply Schema dialog box.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-21

Using Extension Tables and Columns


Database Extension Implementation

5 In the Tables picklist, select one of the following options. The Tables picklist
enables you to determine the scope of the changes to effect at this time, as
follows:
 All option. Update the database to reflect all changes made to the dictionary.
This option forces each database object to be compared with the data
dictionary, and updated if required.
 Current Query option. Update the database to reflect modifications made to the
tables in the current query only.
 Current Row option. Update the database to reflect modifications made to the
table in the current row only.

6 Verify that the ODBC connection specified in the ODBC Data Source text box is
correct for your environment.
NOTE: You cant apply schema changes to any database other than the one you're

currently connected to (for example, by specifying the ODBC name of a different


database).

7 Enter the password for the Siebel database owner in the Password text box.
Do not specify a table space or index space.

8 Click Apply to apply the extensions to the physical schema on your local
database.
Once this process has been completed, any extensions included in the tables you
selected now physically exist on your local database.
Your extension tables and columns are now available to use in your configuration.

To make your new database extensions available to other developers


1 Have each developer check out the relevant projects. This gives them the schema
change logically, that is, in Siebel Tools object definitions.
2 Have them apply these changes to their local database to obtain the changes
physically.

11-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Displaying Extension Data

11

Typically, data model changes are exposed in applets. You should test all of the new
extension tables or columns, checking out updated copies modified by other
developers, if necessary, against the local development database.
NOTE: When compiling the new .srf file, compile the projects.

Displaying Base Table Extension Column Data


Configuring an applet to display data from an extension column of a base table
involves creating or modifying fields in the business component on which the
applet is based, and then exposing these fields as controls or list columns.

To display data from an extension column of a base table


1 In the Object Explorer, expand the Business Component object type.
2 In the Object List Editor, select the business component to which you will add a
field.
3 In the Object Explorer, select the Field object type.
4 In the Object List Editor, select Edit

 New Record.

5 In the Column property in the new Field object definition, specify the column in
the business components base table that the field will represent.
6 In the Object Explorer, select the Applet object type.
7 Use the Applet Designer to add a control or list column in which this field will
be displayed.
8 In the new control or list column object definition, specify the name of the new
field.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-23

Using Extension Tables and Columns


Database Extension Implementation

Displaying Data in One-to-One Extension Tables


Configuring an Applet to display data from an extension column of a 1:1 extension
table involves adding a field based on a join to the business component.

To display data from a 1:1 extension table


1 In the Object Explorer, expand the Business Component object type.
2 In the Object List Editor, select the business component to which you will add a
field.
3 In the Object Explorer, select the Field object type.
4 In the Object List Editor, select Edit

 New Record.

5 In the Join property, specify the name of the 1:1 extension table. The join is
implied, and does not need to be defined separately.
6 In the Column property, specify the column from which you wish to map this
field.
7 In the Object Explorer, select the Applet object type.
8 Use the Applet Designer to add a control or list column where this field will be
displayed.
9 In the new Control or List Column object definition, specify the name of the new
field.

11-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Displaying Data in One-to-Many Extension Tables


Displaying data from an extension column of a 1:M extension table involves
creating a new business component and fields for the 1:M extension table, and
creating a link and business object component to provide a master-detail
relationship between the new (detail) business component and its master business
component. Create an applet to represent the new business component, and a new
view to display the link relationship.

To display data from a 1:M extension table


1 In the Object Explorer, expand the Business Component object type.
2 In the Object List Editor, select Edit

 New Record.

3 In the Table property, specify the name of the 1:M extension table.
4 Specify all other necessary properties for a business component.
5 In the Object Explorer, select the Field object type.
6 In the Object List Editor, select Edit

 New Record for each new field.

Add the appropriate fields to this business component using columns in the 1:M
extension table. Be sure to add all columns required by the unique index and the
foreign key to the parent table.

7 Create a link between the existing master and the new (extension table-based)
business components.
8 Add the new business component to the appropriate business object (by adding
a business object component child of the business object), and specify the link
with the master business component.
9 Create an applet that displays the detail business component. Create and
administer a master-detail view using the new applet (the one that displays the
detail business component).

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-25

Using Extension Tables and Columns


Database Extension Implementation

Preparing the Server Database Prior to Applying Schema Extensions

11

Once you have tested your extensions in the local environment, complete the
following actions before applying the changes to the server database:

 Make sure all connected clients are disconnected from the database server.
 Once all mobile user transactions have been merged and routed, stop all Siebel
servers.

 Perform a full backup of the database.


 Apply the changes to the server database as described in the next section. Once
this step is completed successfully, restart the Siebel servers.

Applying the Changes to the Server Database

11

Check the projects back in to the server database to update the repository schema
definition there.
At this point, the logical database schema of the server database has been updated,
but the changes have not been applied to the physical server database.

To apply and activate the changes to the server database


1 Connect to the server.
2 In the Object Explorer, select the Table object type.
3 In the Object List Editor, select the table from which you want to apply changes
to the database.
4 Click Apply. A dialog box appears asking if you want to continue.

11-26

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

5 If you indicate that you want to continue, you then see theApply Schema dialog
box.

6 In the Tables picklist, select one of the options explained below. The Tables
picklist enables you to determine the scope of the changes to make at this time,
as follows:
 All option. Update the database to reflect all changes made to the dictionary.
This option forces each database object to be compared with the data
dictionary and updated, if required.
 Current Query option. Update the database to reflect only the modifications
made to the tables in the current query.
 Current Row option. Update the database to reflect only the modifications
made to the table in the current row.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-27

Using Extension Tables and Columns


Database Extension Implementation

7 Verify that the ODBC connection specified in the ODBC Data Source box is
correct for your environment.
NOTE: You cant apply schema changes to any database other than the one youre

currently connected to (for example, by specifying the ODBC name of a different


database).

8 Type the password for the Siebel table owner in the Password text box. You may
specify a table space or index space if you want.
9 Click Apply to apply the extensions to the physical schema on your server
database.
10 Click Activate in the Object List Editor.
Once this process has been completed, any extensions included in the tables you
selected will now physically exist on your server database.
If you get error messages because the process is unable to obtain a DDL lock, you
must rerun the process outside the application to synchronize your logical and
physical schemas. The batch file ddlsync.ksh is provided to support this process.
Refer to Running ddlsync.ksh on page 11-30 for information on this alternate
method.

11-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Applying Server Database Changes to Other Local Databases

11

At this point, your extensions have been applied to your server database, and exist
on the physical database. Next, you must propagate the schema changes to mobile
users.

To propagate schema changes to mobile users


1 Have all mobile users perform a full synchronization.
2 Activate the extensions. This procedure differs depending on whether or not you
are using Siebel Anywhere.
Using Siebel Anywhere. Perform the following steps:

a Create an Upgrade Kit on your Server database that includes the Siebel
Database Schema as the upgrade kit component. Refer to the Siebel
Anywhere Guide for information on creating upgrade kits.
b Click Activate on the Upgrade Kits View to make the upgrade kit available.
Without Siebel Anywhere. Perform the following steps:

a Log on to Siebel Tools while connected to your server database.


b Click Activate in the Table List view. Executing this process will increase the
database schema version number, and therefore require a schema upgrade
for mobile users.
3 Run gennewdb to regenerate the template local database.
The Server Administration screen in the Siebel client has a view where this job
can be run. You can also use the srvrmg.exe utility through a DOS prompt

4 Re-extract mobile clients. Mobile clients will need to re-initialize their local
databases with the extracted data. This procedure differs depending on whether
or not you are using Siebel Anywhere.
Using Siebel Anywhere. In the Upgrade Configurations View, click Distribute. This

action will make the new custom schema version required, and therefore require
a schema upgrade.
Without Siebel Anywhere. Manually re-extract and re-initialize all mobile user

databases.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-29

Using Extension Tables and Columns


Database Extension Implementation

Populating Extension Tables and Columns

11

You can load initial data into your extension tables and columns by using a view
where the new fields are displayed in an applet. If you have a large amount of data
to load, or if the user interface does not permit data entry, you may be able to use
EIM to load data into the extension table or column.
To understand how to modify your data schema to use EIM, refer to EIM Interface
Tables on page 17-38. Work with your database administrator to populate the
interface table with the extension column data and matching user primary keys.
Run EIM to import the data from the interface table into the target tables.

Running ddlsync.ksh

11

Complete the steps in this section only if you are unable to apply schema changes
to the server database as discussed in the previous section. The ddlsync.ksh file
performs the following sequence of steps:

1 Exports logical schema definition from the specified repository to the .ddl file
2 Synchronizes the physical schema with this logical schema definition
3 Propagates new repository schema changes to mobile users (if Siebel Anywhere
is being used)
The ddlsync.ksh file is located in the dbsrvr_version#_root directory on the
development application server where you installed the Siebel database software.
Open ddlsync.ksh with a standard text editor, such as Microsoft WordPad, and be
sure you set the parameters in Table 11-1 correctly for your development
environment.
Table 11-1.

11-30

ddlsync.ksh Parameter Settings

(Sheet 1 of 2)

Parameter

Description

SRC_USR

Siebel user name

SRC_PSWD

Siebel user password

SRC_TBLO

Database tableowner

Siebel Tools Guide Volume 1 of 2

Version 6.0

Using Extension Tables and Columns


Database Extension Implementation

Table 11-1.

ddlsync.ksh Parameter Settings

(Sheet 2 of 2)

Parameter

Description

SRC_TBLO_PSWD

Tableowner password

USE_REPOSITORY

Name of currently active repository in the


development system

ODBC

ODBC data source name

DATA_AREA

Database storage area for tables

INDX_AREA

Database storage area for indexes

DATABASE_PLATFORM

Informix or MSSql or Oracle or Sybase or


DB2

To execute ddlsync.ksh
1 If you are not using Siebel Anywhere, stop all processes running on all Siebel
Application Servers, including all Siebel Remote Processes, once all mobile user
transactions have been merged and routed. If you are using Siebel Anywhere,
stop all Siebel Application Server processes except the Transaction Preprocessor
and Transaction Routers.
2 Open a command prompt window on the same development application server.
3 Navigate to the directory appsrvr_version#_root\bin.
4 Run the batch file siebenv.bat to set the required environment variables.
5 Navigate to the dbsrvr_version#_root directory, and run ddlsync.ksh.

Version 6.0

Siebel Tools Guide Volume 1 of 2

11-31

Using Extension Tables and Columns


Chapter Summary and Where to Get More Information

The ddlsync.ksh file prompts you to verify the parameters you entered above. If they
are not exactly as listed above, terminate the script, then re-edit ddlsync.ksh to
correct the errors. If the parameters are correct, press ENTER to continue with the
script. The ddlsync.ksh file generates a number of log files, which you need to
review for errors once the script has completed. The log files are:

 expschem.log
 ddlsync1.log
 ddlsync2.log
 dock_log.log
 dbrepos.log

Chapter Summary and Where to Get More Information

11

This chapter describes what the Database Extension Designer is, and how to use it.
It also provides you with information and guidelines for planning and designing
database extensions.
Table 11-2 lists sources of additional information about topics discussed in this
chapter.
Table 11-2.

11-32

Sources of Additional Information

For information about this topic . . .

. . . see the following

Siebel Data Model

Siebel Data Model Reference

Server administration topics

Siebel Server Administration Guide

Enterprise Integration Manager (EIM) topics

Siebel Enterprise Integration


Manager Administration Guide

Siebel Tools Guide Volume 1 of 2

Version 6.0

Designers and Wizards

Part 3

Chapter 12. Applet, View, and Menu Designers


Chapter 13. New Object Wizards

Version 6.0

Siebel Tools Guide Volume 1 of 2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers

12

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2


The Applet Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-3
Applet Designer Toolbar and Format Menu . . . . . . . . . . . . . . . . . . . 12-5
Applet Designer Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12-9
The View Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-10
Sectors in a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-12
The Menu Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-13
Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
Application- and Applet-Level Menus

. . . . . . . . . . . . . . . . . . . . . 12-14

PreInvokeMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-14
Chapter Summary and Where to Get More Information . . . . . . . . . . . 12-15

Version 6.0

Siebel Tools Guide Volume 1 of 2

12-1

Applet, View, and Menu Designers


About This Chapter

About This Chapter

12

This chapter describes the Designer components of Siebel Tools:

 Applet Designer
 View Designer
 Menu Designer
You use the Applet Designer to modify and extend dedicated client applets, and the
controls or list columns on the applets. This tool uses the same visual programming
metaphor as Microsoft Visual Basic and Developer Studio.
The View Designer enables you to incorporate applets in a dedicated client view:
you drag an applet into a view layout window, and then place, size, and customize
the applet.
You build menus for application or applet object definitions. The Menu Designer is
a visual menu editor that allows you to add custom menus and to add menu options
to custom menus. You can also create new menus and menu items and modify or
remove existing menu items independently of a particular application or applet.
For information about editing the Web layout of applets, see Editing the Web
Layout of Applets on page 7-13.
For information about editing the Web layout of views, see Editing the Web Layout
of Views on page 7-16.

12-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


The Applet Designer

The Applet Designer

12

You can populate applets with standard Windows controls including buttons, text
boxes, and check boxes, using drag and drop from the Control toolbar. Applets can
also include ActiveX controls, which are externally created program units that can
be placed on the applet and interact with it through property settings, methods, and
events.
By right-clicking a control, you can configure control attributes using property
sheets and dialog boxes. Formatting tools for aligning controls, snapping to a grid,
and setting fonts are all provided in a standard visual programming interface.
The Applet Designer supports visual editing of the list, form, chart, and tree applet
styles.
The Applet Designer can be accessed from the Object List Editor for an existing
applet object definition, or from a New Applet Wizard for creating a new applet.

Version 6.0

Siebel Tools Guide Volume 1 of 2

12-3

Applet, View, and Menu Designers


The Applet Designer

To access the Applet Designer for an existing applet object definition


1 Select the object definition in the Object Explorer, and right-click.
2 From the shortcut menu, select Edit Layout.
The Applet Designer replaces the Object List Editor in the Siebel Tools window,
as shown.

3 Add each control to the applet by selecting a tool in the Control toolbar, and
dragging open a sizing rectangle on the applet surface.
The Control toolbar tools are described in Applet Designer Toolbar and Format
Menu on page 12-5.

12-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


The Applet Designer

Applet Designer Toolbar and Format Menu

12

The Control toolbar becomes active when you display the Applet Designer. The
toolbar can be repositioned as a floating window anywhere on the screen, or it can
be placed with the other toolbars at the top of the screen. The toolbar supports dragand-drop behavior for the creation and placement of a new control. Figure 12-1
shows the Control toolbar.

ActiveX Control tool


TreeControl tool
ChartControl tool
ListControl tool
ImageControl tool
ComboBox tool
CheckBox tool
PushButton tool
Group tool
TextBox tool
Label tool
Select tool

Figure 12-1. Applet Control Toolbar

The Control toolbar contains the following tools:

Select tool. Selects controls or the applet.

Label tool. Enables a label to be placed in the applet. A label is a text string that

remains constant rather than displaying dynamic information.

TextBox tool. Enables the placement of a new text box in the applet. A text box

can display dynamic information from a field.

Version 6.0

Group tool. Enables the grouping of related controls in the applet.

PushButton tool. Enables the placement of a new command button in the applet.

Siebel Tools Guide Volume 1 of 2

12-5

Applet, View, and Menu Designers


The Applet Designer

CheckBox tool. Enables the placement of a new check box in the applet. Check

boxes are used for Yes/No or True/False options.

ComboBox tool. Enables the placement of a new combo box in the applet.
NOTE: Combo boxes, pick applets and calendar applets in Siebel applications are
reserved for use in chart applets. For more information on the use of combo
boxes in charts, refer to Chart Applets on page 22-3. Pick applets and static
picklists are used to provide selection list functionality in Siebel applications.

ImageControl tool. Enables the placement of a new image control in the applet.
An image control can display a bitmap graphic file for each business component
record, based on the filename and path information in fields in the business
component.

ListControl tool. Enables the placement of a new list control in the applet.

ChartControl tool. Enables the placement of a new chart control in the applet.

TreeControl tool. Enables the placement of a new tree control in the applet.

ActiveX Control tool. Enables the placement of an ActiveX control in the applet.

The Applet Designer Format menu enables you to select an item or multiple items
(press and hold the SHIFT key during selection), and modify their layout. The
Format menu is illustrated in Figure 12-2.

Figure 12-2. Format Menu in the Applet Designer

12-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


The Applet Designer

Many of the formatting options have shortcut keys that are listed in the submenus.
The functions of the formatting options are described as follows:

Align option. Aligns the selected items with the selected model.

Make Same Size option. Makes all selected items the same size as the selected

model.

Space Evenly option. Spaces the selected items evenly.

Center in Applet option. Centers the selected items.

Grid Settings option. Sets the horizontal and vertical grid to an integer between 4
and 30. You can also hide the grid.

Set Tab Order option. Active only when a form applet is open in the Applet
Designer. Enables you to change the tab sequence of the controls in the applet,
resetting the values in the Sequence property of each control. Tab sequence is
the order in which the Tab key cycles the user through the controls. Numbers
appear next to each control, indicating the order of each in the current tab
sequence. You click on each control in the order you want used for the tab
sequence, changing the numbers displayed in the Applet Designer and the
values in the Sequence properties of the controls.

List Columns option. Displays the List Column Fields dialog box, where you can

add, remove, and reorder the list columns.

Preview option. Invokes the Applet Designer Preview window, which enables you

to preview the applet as it would appear at run time in a particular language and
with particular viewing options. Refer to the section entitled Applet Designer
Preview on page 12-9.

Select Truncated Controls option. In the Applet Designer Preview, selects all

controls whose strings are too long to fit in the control.

Select Untranslated Controls option. In the Applet Designer Preview, selects all

controls that have not been translated.


When you select multiple items, the final item selected will be the model for the
formatting modification, and will be selected.

Version 6.0

Siebel Tools Guide Volume 1 of 2

12-7

Applet, View, and Menu Designers


The Applet Designer

You can attach Siebel VB or Siebel eScript scripts to controls from within the Applet
Designer. Double-click the control, or right-click and select Edit Basic Scripts, to
display an editing window that enables you to enter, modify, save, and run scripts.
It is helpful to have the Properties window open when you are working in the
Applet Designer. When you click a control to select it, the Properties window
displays the properties for the corresponding control object definition. This enables
you to move from control to control by clicking, and edit the properties of each.

Specifying the Applet Designer Font


The font displayed in the Applet Designer is set in the LargeFont parameter in the
Siebel Tools.cfg file in the Siebdev\bin directory. For example, the following sets up
the Applet Designer to use 10-point MS Sans Serif:
LargeFont = MS Sans Serif-10-normal

You can preview the results of the LargeFont setting in the Applet Designer Preview.
This value needs to match the LargeFont setting in the configuration file for the
Siebel application (such as siebel.cfg or service.cfg) in order to have what you see
in the Applet Designer accurately reflect the final product.

12-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


The Applet Designer

Applet Designer Preview

12

The Applet Designer Preview enables you to preview at design time an applet as it
would appear at run time, in a particular language, with particular user viewing
options. This feature enables you to make sizing changes to the applets controls
without having to recompile to view the changes each time. This is useful in
international language situations where the contents of the applet can be
significantly altered by language translation. It is also useful when designing for
various target screen resolutions.
There is also a feature that allows users to right-click on an applet displayed in the
Applet Designer and choose Select Business Component. This brings up properties
for the underlying business component in the Properties window. You can also do
the same operation when a particular text box is displayedyou can do a Select
Field and the Field properties are displayed. In both case the properties are readonly even if the project for the underlying business component is locked.
Applets are created in the Applet Designer with a video resolution of 1024x768.
When a client computer has a resolution less than this value, Siebel applications
automatically shrink the applet and attempts to fit all labels and controls into the
screen. At times, the labels might be cut off because there is not enough room, so
you should use the Applet Designer Preview to test an applet in all expected
resolutions.
NOTE: The font name in the Applet Designer should match the SmallFont value in

the .cfg file.

Version 6.0

Siebel Tools Guide Volume 1 of 2

12-9

Applet, View, and Menu Designers


The View Designer

The View Designer

12

You can access the View Designer either from the Object List Editor, or as part of
the New View Wizard process.

To access the Siebel View Designer from the Object List Editor
1 Select a view object definition in the Object List Editor.
2 Right-click and select Edit Layout from the shortcut menu.
The Siebel View Designer appears.

12-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


The View Designer

The View Designer has two windows (in addition to the Object Explorer and
Properties windows, if these are open). The View Designer windows are the applets
window and the Layout window. The Applets window shows all the available
applets in either icon or list form. An applet is considered available if it is associated
with a business component that is present in the business object for this view.
The Layout window shows the view layout divided into eight sectors. You can delete
an applet on the layout by selecting the applet and pressing the DELETE key. You
can add an applet to an empty sector by selecting and dragging the applet from the
Applets window to the Layout window. Once the applet is in the Layout window, it
can be resized to cover additional sectors (using the blue handles) or moved by
dragging.

Version 6.0

Siebel Tools Guide Volume 1 of 2

12-11

Applet, View, and Menu Designers


The View Designer

Sectors in a View

12

The Siebel user interface supports both VGA and Super VGA (SVGA) monitors.
Siebel applications detect the current Microsoft Windows video mode, and
automatically adjusts the user interface. VGA (640 x 480) monitors display six
sectors in a view; SVGA (1024 x 768 and above) displays eight sectors in a view.
When defining a view that may be viewed with a monitor showing only six sectors,
you can set the Drop Sectors property for the View object definition to drop the least
important sectors. Figure 12-3 shows the sectors in the Layout window.

Figure 12-3. Siebel Layout Window Sectors

Drop sectors must be specified in horizontal pairs. For example, sectors 3 and 7, or
2 and 6, or 1 and 5, or 0 and 4 are dropped together. Drop sectors are a property of
the View object, and are specified in the format XandY, for example 3and7.
The Vertical Line Position property on the view object definition controls the
position of the vertical boundary between the sectors (which is typically in the
middle). The possible values range from 0 to 12, where 0 is all the way to the left,
12 is all the way to the right, and 6 is in the middle.

12-12

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


The Menu Designer

The Menu Designer

12

You can configure the system menus that come with Siebel applications (shown in
Figure 12-4) and also create custom menus of your own for applications or applet
object definition.

Figure 12-4. Sample System Menu

The Menu Designer is a visual menu editor that allows you to add a custom menu
called Actions to an applet or application, and to add menu options to this menu.

To access the Menu Item Properties shortcut menu in the Menu Designer
1 Select an application or applet object definition in the Object List Editor.
2 Right-click and select Edit Menus from the shortcut menu.
3 Choose Edit
window.

 Properties, or double-click the menu box in the Menu Designer

The Menu Item Properties dialog box appears, along with the menu and
submenus under construction, as shown in the figure below.

Version 6.0

Siebel Tools Guide Volume 1 of 2

12-13

Applet, View, and Menu Designers


The Menu Designer

The following window features appear in the Menu Item Properties dialog box:

Item Type radio button group. Choose one of the following selections:

 Item option. Adds menu text.


 Sub-menu option. Adds a submenu, and prepares for submenu items entry.
 Separator option. Places a line across the menu to group like items.

Position text box. Numerically identifies the currently selected menu position.

Menu Text text box. Text of the menu item and shortcut indicator (&).

Invoke Method text box. Name of a standard or custom-defined Siebel VB method

that will be trapped using the PreInvokeMethod event.

Keyboard Shortcuts

12

To make the application easy to use for individuals who do not like using a mouse,
you should define unique keyboard shortcuts for menu items. Choose a shortcut key
by prefixing a letter in the Menu Text text box with an ampersand (&).

Application- and Applet-Level Menus

12

Application-level menus are always displayed. To add an application menu, select


an application object definition, and then open the menu editor. Applet menus are
displayed only when that applet is active. To create an applet menu, select an applet
object definition, and then open the menu editor.

PreInvokeMethod

12

Events are associated with each user-defined menu item. These events are created
using a PreInvokeMethod script. When the user clicks on a menu item, the
PreInvokeMethod for the applet is called. The PreInvokeMethod contains a script
associated with the menu item. To create a script, you use the Siebel VB Editor.

12-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

Applet, View, and Menu Designers


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

12

This chapter described the Designer components of Siebel Tools:

 Applet Designer
 View Designer
 Menu Designer
Table 12-1 lists sources of additional information about topics discussed in this
chapter.
Table 12-1.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Siebel VB

Siebel VB Language Reference Guide and Siebel


Object Interfaces Reference

Siebel eScript

Siebel eScript Language Reference

Editing the Web layout of applets

Chapter 7

Editing the Web layout of views

Chapter 7

Siebel Tools Guide Volume 1 of 2

12-15

Applet, View, and Menu Designers


Chapter Summary and Where to Get More Information

12-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards

13

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2


New Applet Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
New List Applet Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-4
New Form Applet Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13-12
New View Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-20
Pick List Wizard

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-26

Multi Value Group Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-28


Business Component Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-31
Report Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-32
OLEDB Rowset Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-33
Integration Object Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-35
Chapter Summary and Where to Get More Information . . . . . . . . . . . 13-36

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-1

New Object Wizards


About This Chapter

About This Chapter

13

Various wizards in Siebel Tools step you through the process of creating and
configuring an object definition of a particular object type and stylefor example,
a Siebel applet.
Wherever a wizard exists for a particular task in Siebel Tools, you can choose to use
it or not:

 If you dont use the wizard, you change property settings for object definitions
directly, in the Object List Editor.

 If you use the wizard, it asks you for your preferences, and then bases property
settings on them.
This chapter describes the new object wizards, which include:

 Applet wizards: List, Form, Chart, Tree, MVG, and Pick


 View wizard
 Pick List wizard
 Multi Value Group wizard
 BusComp wizard
 Report wizard
 OLEDB wizard
 Integration Object wizard
The List Applet Wizard, Form Applet Wizard, and View Wizard are described in
detail.

13-2

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


About This Chapter

You access the new object wizards by selecting File New Object from the Siebel
Tools main menu. Icons for all the new object wizards appear in the New Object
dialog box (shown in Figure 13-2).

Figure 13-1. New Object Dialog Box

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-3

New Object Wizards


New Applet Wizards

New Applet Wizards

13

Four kinds of applets have associated Wizards: form, list, chart, and tree applets.
The form and list applet wizards are described in this section.

New List Applet Wizard

13

A list applet displays data in a scrolling list table format, much like a spreadsheet
or word processor table. Rows in the list applet correspond to records in the
business component; list columns in the list applet correspond to fields in the
business component. A list applet is shown in Figure 13-2.

Figure 13-2. List Applet

To create a list applet using the New List Applet Wizard

1 Select File New Object from the Siebel Tools main menu. The New Object
dialog box opens.

13-4

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

2 Double-click the List Applet icon, or select the List Applet icon and click OK.
The General page appears, as shown.

3 Use the General page to indicate your preferences for the applet.
The wizard uses these preferences to set properties for the applet. You specify
the project to assign the applet to, the business component that will supply its
data, the name, and the title.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-5

New Object Wizards


New Applet Wizards

4 Click Next. The Fields page appears.


From the list in the left-hand windowpane, select the fields you want to appear
on the list applet, and click the arrow to move them to the right windowpane.
In the figure below, Account Status, Account Products, and Agreement Start Date
have been selected to appear in the list applet.

13-6

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

5 Click Next. The Web Layout - General page appears.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-7

New Object Wizards


New Applet Wizards

6 You can make this applet available over the Web.


 If you want to do that, activate the Yes radio button and fill in the template
information.

When you click Next, you will get the Web Layout - Fields page, where you
can select the fields you want to include in the Web version of the list applet
(similar to the way you selected the fields for the dedicated client applet).
 If you dont want to make it available over the Web, activate the No radio
button, and then click Next.

The Finish screen appears.

7 Review the settings on the Finish screen. If there are problems, click the Back
button until you get to the dialog box where you can correct them.

13-8

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

8 Click Finish.
The dedicated client version of the new list applet appears in the Applet
Designer (Applet - Layout Editor window).

In this window you can:


 Widen or narrow the list columns by dragging the right or left edge of the list
column heading to the left or right.
 If the Properties window is open, you can view and modify the properties of
each list column. You click the list column whose properties you wish to
view, and the Properties window displays the corresponding set of
properties.

For more information about the Applet Designer, see Chapter 12.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-9

New Object Wizards


New Applet Wizards

9 You can also edit the Web layout.


To do that, right-click in the layout window and select Edit Web Layout.

The Web Layout Editor is shown below.


For more information about this editor, see Chapter 7.

13-10

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

You can drag and drop items from the Controls / Columns window to the layout.
In the prior example the Applet Title label has been dragged and dropped into
the layout.
You can also add controls from the Web Controls toolbar above the layout. These
controls appear as HTML-only controls.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-11

New Object Wizards


New Applet Wizards

New Form Applet Wizard

13

A form applet displays data in a data entry form. Fields in the business component
appear on the form applet as text boxes, check boxes, and other standard Windows
controls. A form applet appears in Figure 13-3.

Figure 13-3. Form Applet

To create a form applet in the New Form Applet Wizard


1 Select File
opens.

13-12

 New from the Siebel Tools main menu. The New Object dialog box

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

2 Double-click the Form Applet icon, or select Form Applet and click OK. The New
Form Applet Wizard opens.

3 Use the wizard to indicate your preferences for the applet.


The wizard uses these preferences to set properties for the applet. Select the
project to assign the applet to, the business component that will supply its data,
the name, and the display title.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-13

New Object Wizards


New Applet Wizards

4 Click Next. The Layout page opens.

The Layout page enables you to specify where the form applet is to appear on
the view. Click on grid cells to add or remove the applet from their
corresponding sectors.

13-14

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

5 Click Next. The Fields page opens.

The Fields page shows you all the available fields in the applets underlying
business component.

6 Select the fields to include in the applet from the Available Fields list, and use
the right-facing arrow in the center of the page to move them to the Selected
Fields list. This indicates the business component fields to include in the form
applet.
Use the up and down arrows to reorder them in the Selected Fields list. This
determines the tab order of the resulting controls, and determines their order
when placed on the applet.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-15

New Object Wizards


New Applet Wizards

7 Click Next. The Form Options page opens.

The Form Options page enables you to indicate whether or not to include
standard record navigation buttons, and how to align label text.

13-16

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

8 Click Next. The Web Layout - General page appears.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-17

New Object Wizards


New Applet Wizards

9 You can make this applet available over the Web.


 If you want to do that, activate the Yes radio button (as shown in the prior
figure) and fill in the template information.

When you click Next, you will get the Web Layout - Fields page, where you
can select the fields you want to include in the Web version of the form applet
(similar to the way you selected the fields for the dedicated client applet).
 If you dont want to make it available over the Web, activate the No radio
button, and then click Next.

The Finish screen appears.

10 Review the settings on the Finish screen. If there are problems, click the Back
button until you get to the dialog box where you can correct them.

13-18

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New Applet Wizards

11 Click Finish.
The dedicated client version of the new form applet appears in the Applet
Designer (Applet - Layout Editor window).

For more information about the Applet Designer, see Chapter 12.

12 You can also edit the Web layout.


To do that, right-click in the layout window and select Edit Web Layout.

For more information about the Web Layout editor, see Chapter 7.
Version 6.0

Siebel Tools Guide Volume 1 of 2

13-19

New Object Wizards


New View Wizard

New View Wizard

13

The following procedure identifies the steps required to create a new view using the
New View Wizard.

To create a view using the wizard


1 Check out and lock the project from the server repository.
2 Click the New button in the Edit toolbar or select File

 New.

3 The New Object dialog box appears. Select the View icon, and then click OK.
4 The New View dialog box appears. Provide the requested information, select the
correct Web template to use (if you are producing a Web-based interface as well
as a standard one) and click Finish.

13-20

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New View Wizard

5 The new view appears in the View Designer window.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-21

New Object Wizards


New View Wizard

6 You add applets to the view by dragging and dropping them to the layout
windowpane.

7 Size the applets using the sizing boxes on the borders. Position the applets by
dragging them to additional sectors. Fill all of the sectors.
8 Save your new view by selecting File

 Save.

9 Compile the modified Project.


10 Run the modified application, and test the new view.
11 Check the modified Project into the server repository.

13-22

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New View Wizard

To specify how an applet will appear in Preview mode, select Tools Options and
select the Applet Designer tab. The Applet Designer tab appears in the Development
Tools Options dialog box, as shown in Figure 13-4.

Figure 13-4. The Applet Designer Tab

You can set the following options:

Resolution option. Select a screen resolution. The applet preview will simulate

this screen resolution.

Viewbar width option. Set a view bar width, in pixels. As the user can make the
view bar smaller or wider, you may need to preview the impact of this on the
controls in the applet.
Font Name and Font size. Select a font name and font size to simulate the users

default settings.

Language option. Select a language for international translation. The applet

preview will show the applets controls translated into this language.

Version 6.0

Width option. Default grid setting.

Height option. Default grid setting.

Siebel Tools Guide Volume 1 of 2

13-23

New Object Wizards


New View Wizard

To preview the applet, select Format Preview while the Applet Designer is active.
The Applet Designer Preview window appears as shown in Figure 13-5.

Figure 13-5. Applet Designer Preview Window

13-24

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


New View Wizard

You can continue to select, move, and resize controls while in the preview mode.
These changes will be reflected in the applet design. In addition, there are two
Format menu options that assist in locating controls that have strings that are too
long, or that havent been translated:

Select Truncated Controls option. This option will select (by surrounding with blue

handles) all controls whose strings are too long to fit in the control. These
selected controls will require resizing or changes in the message table so the
translated string is the right length.

Select Untranslated Controls option. This option will select (by surrounding with

blue handles) any control that has been added to the applet since the last
compilation, or that simply isnt translated. Since translation is at compile time,
new controls that have been added since the last compile may not have
translations. Flagging these controls brings them to your attention.
Be aware that the Applet Designer Preview feature performs translation based on
the set of string map records in the message Table in the local database. You need
a current set of string map records in the local database for the validations
performed by the Applet Designer Preview to be correct. Use the Get Strings feature
to download the contents of the message Table from the server to the local database
before using the Applet Designer Preview.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-25

New Object Wizards


Pick List Wizard

Pick List Wizard

13

You use the Pick List wizard to create a picklist.


To open the Pick List wizard, Click the New button in the Edit toolbar or select
File New. Then select the Pick List icon, and click OK. You can also invoke the
Pick List wizard by selecting the field for which you would like to create a picklist,
right-clicking, and choosing Add Pick List.

Figure 13-6 shows the first page of the Pick List wizard.

Figure 13-6. Pick List Wizard: Pick List Page

Figure 13-7 on page 13-27 shows the Type page, where you select whether the
picklist will be static or dynamic. Static picklists take their values from a predefined
list of values (LOV). Dynamic picklists show values from a business component.

13-26

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


Pick List Wizard

For more information about static and dynamic picklists, see Chapter 20.

Figure 13-7. Pick List Wizard: Pick List Type Page

If, when you are finished defining the picklist, a new applet needs to be created,
you are taken into the Applet Designer.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-27

New Object Wizards


Multi Value Group Wizard

Multi Value Group Wizard

13

You use the Multi Value Group wizard to create a multi-value group (MVG).
To open the MVG wizard, Click the New button in the Edit toolbar or select
File New. Then select the MVG icon, and click OK.

Figure 13-8 shows the first page of the Multi Value Group wizard.

Figure 13-8. Multi Value Group Wizard: Multi Value Group Page (1)

You can also launch the wizard by selecting the business component for which you
want to create a multi-value group, right-clicking, and choosing Add MVG. When
you launch in this manner, the page shown in Figure 13-8 is skipped.

13-28

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


Multi Value Group Wizard

The next page (shown in Figure 13-9) asks you to identify the detail business
component and the multi-value link.

Figure 13-9. Multi Value Group Wizard: Multi Value Group Page (2)

For information about multi-value links, see Multi-Value Links on page 18-40.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-29

New Object Wizards


Multi Value Group Wizard

If there are no direct links, you are asked to specify an indirect link (see
Figure 13-10).

Figure 13-10.

Multi Value Group Wizard: Indirect Links Page

Other pages help you define the primary ID field, multi-value link, and multi-value
fields.

13-30

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


Business Component Wizard

Business Component Wizard

13

You can create Business Component objects using the Business Component wizard
(shown in Figure 13-11).

Figure 13-11.

Business Component Wizard

This wizard has only one page. When you click Finish, you are taken to the business
component you just created in the Object List Editor, where you can further
configure the new Business Component object.
For more information about business components, see Business Components on
page 18-3.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-31

New Object Wizards


Report Wizard

Report Wizard

13

You can create Report objects using the Report wizard (shown in Figure 13-12).

Figure 13-12.

Report Wizard

This wizard has only one page. When you click Finish, you are taken to the report
you just created in the Object List Editor, where you can further configure the new
Report object.
For more information about reports, see the Siebel Reports Guide.

13-32

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


OLEDB Rowset Wizard

OLEDB Rowset Wizard

13

OLEDB is a specification for a set of data access interfaces designed to enable


heterogeneous datastores to work together. Components built to the OLEDB
standard behave as a table, even though complex computing processes can occur
between the data sources and the applications.
The Siebel OLEDB Rowset wizard is a read-only provider that exposes Siebel
business components as virtual OLEDB tables. Using the Siebel OLEDB Provider,
external OLEDB-enabled applications can seamlessly access data stored in Siebel by
referring to Siebel objects like Contact or Account without the need to understand
the internals of the Siebel Data Model. You can configure the Siebel business
components that are exposed to the client application as OLEDB tables.
You can use the OLEDB Wizard in two modes:

 Thin client mode


 Local Siebel client

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-33

New Object Wizards


OLEDB Rowset Wizard

The OLEDB Rowset wizard (shown in Figure 13-13) steps you through the process
of creating OLEDB tables.

Figure 13-13.

OLEDB Rowset Wizard

When you click Finish on the last page of the wizard you are taken to the Object
List Editor where your new OLEDB integration object is available for further
configuration.
For more information about the OLEDB Rowset wizard, see the Siebel eBusiness
Application Integration Guide.

13-34

Siebel Tools Guide Volume 1 of 2

Version 6.0

New Object Wizards


Integration Object Wizard

Integration Object Wizard

13

You can create Integration Object objects using the Integration object wizard
(shown in Figure 13-14).

Figure 13-14.

Integration Object Wizard

When you click Finish on the last page of the wizard, you are taken to the
integration object you just created in the Object List Editor, where you can configure
it further.
For more information about integration objects, see the Siebel eBusiness Application
Integration Guide.

Version 6.0

Siebel Tools Guide Volume 1 of 2

13-35

New Object Wizards


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

13

This chapter described the New Object Wizards, which include:

 Applet wizards: List, Form, Chart, Tree, MVG, and Pick


 View wizard
 Pick List wizard
 Multi Value Group wizard
 BusComp wizard
 Report wizard
 OLEDB Rowset wizard
 Integration Object wizard
Table 13-1 lists sources of additional information about topics discussed in this
chapter.
Table 13-1.

13-36

Sources of Additional Information

For information about this topic . . .

. . . see the following

User interface objects

Chapter 19

Multi-value groups and multi-value group applets

Chapter 21

Applet Designer

Chapter 12

Web Layout Editor

Chapter 7

Picklists

Chapter 20

Multi-value links

Chapter 21

Business components

Chapter 18

Reports

Siebel Reports Guide

OLEDB Rowset wizard

Siebel eBusiness Application


Integration Guide

Integration objects

Siebel eBusiness Application


Integration Guide

Siebel Tools Guide Volume 1 of 2

Version 6.0

M a n a g i n g Yo u r D e v e l o p m e n t
Environment

Part 4

Chapter 14. Managing Repositories


Chapter 15. Data Cleansing and Deduplication
Chapter 16. Improving Performance

Version 6.0

Siebel Tools Guide Volume 2 of 2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories

14

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-2


Exporting and Importing Repository Objects . . . . . . . . . . . . . . . . . . . . 14-3
Exporting Individual Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . .14-4
Exporting Entire Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14-6
Importing Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14-8
Renaming, Deleting, Backing Up, and Migrating Repositories . . . . . . . 14-16
Renaming and Deleting Repositories . . . . . . . . . . . . . . . . . . . . . . 14-16
Copying Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-17
Backing Up and Restoring Repositories . . . . . . . . . . . . . . . . . . . . . . . . .14-18
Migrating Repositories and Schemas Between Databases . . . . . . . . 14-25
Creating Patches

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-32

Integrating with External Source Code Control Software . . . . . . . . . . . 14-36


Enabling the Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14-37
Configuring the srcctrl.bat File . . . . . . . . . . . . . . . . . . . . . . . . . . 14-38
Microsoft Visual SourceSafe Examples . . . . . . . . . . . . . . . . . . . . . . . . . .14-44
Check In/Check Out Options (Source Control Integration) . . . . . . . . . 14-45
Chapter Summary and Where to Get More Information . . . . . . . . . . . 14-47

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-1

Managing Repositories
About This Chapter

About This Chapter

14

This chapter explains how to:

 Archive, export, and import entire projects and individual repository objects
 Rename, delete, back up, and migrate repositories
 Create patches
 Manage your Siebel repositories with third-party source control software

14-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

Exporting and Importing Repository Objects

14

Archive files contain object definitions exported from a repository; they are
available for importing into other repositories.
Archive files:

 Have an .sif extension, by default


 Can be version-controlled using third-party source control systems
 Are used to share object definitions among repositories in a multiple repository
development effort
You can include any of the following in an export file:

 One object definition


 Multiple object definitions of various object types
 All object definitions assigned to a specific project or multiple projects
When you do the import you can specify conflict-resolution at the object definition
level, telling the system whether to ignore the imported object definition, replace an
existing definition with an imported one, or merge the two on a property-byproperty basis.
NOTE: The Project property is never exported to or imported from an archive file.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-3

Managing Repositories
Exporting and Importing Repository Objects

Exporting Individual Object Definitions

14

Only top-level object typesthe object types that are visible in the Object List Editor
when you click an object type in the Types tab of the Object Explorercan be
exported. Child object definitions are exported and imported along with their
parents. You can also export individual object definitions at the child level.

To export individual object definitions


1 In the Object Explorer, navigate to the object type of the object you want to
export.
2 In the Object List Editor, select the object or objects you want to archive.

3 Select Repository Add To Archive from the menu bar, or right-click and select
Add To Archive from the shortcut menu.
The Export to Archive File dialog box appears.

Status messages appear showing which child object definitions are being
included. When the process completes, the selected top-level object definition
or definitions appear in the Objects to Archive list table in the Export to Archive
File dialog box.

4 If you need to add object definitions of another object type, navigate to that
object type in the Object Explorer without closing or saving the Export to
Archive File dialog box.
Move the Export to Archive File dialog box out of the way, if necessary.

14-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

5 Repeat steps 2 and 3.


6 If you want to remove an object definition from the list, select it and press the
DELETE key.
7 When you are finished adding object definitions to the list, enter in the Archive
File box the path and filename of the archive file to create. Alternatively, you can
browse to an existing archive file using the Browse button and the resulting Save
As dialog box.
8 Click Save. If a file of this name and location already exists, you are prompted
to overwrite it or cancel.
Figure 14-1 shows the Account Business Component ready to be exported.

Figure 14-1. Exporting the Account Business Component

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-5

Managing Repositories
Exporting and Importing Repository Objects

Exporting Entire Projects

14

To export an entire project or projects


1 In the Object Explorer, navigate to the Project object type.
2 In the Object List Editor, click the Project object definition to select it.

3 Select Repository Add to Archive from the menu bar (or right-click and select
Add To Archive from the shortcut menu).
The Export to Archive File dialog box appears.

4 Enter the path and filename of the archive file to be created in the Archive File
box.
5 Click Save.

14-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

Figure 14-2 illustrates this procedure.

Figure 14-2. Exporting the Account Project

NOTE: It is possible, but inadvisable, to export an entire repository by adding a


Repository object definition to an export list. The resulting export file will contain
all object definitions in the repository, but the processes of exporting and importing
such an archive will take an extremely long time, and the archive file will be very
large. If you need to export an entire repository, refer to Renaming, Deleting,
Backing Up, and Migrating Repositories on page 14-16.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-7

Managing Repositories
Exporting and Importing Repository Objects

Importing Object Definitions

14

You can import object definitions from an archive file into a local repository.
The Import process consists of the following major steps (described in the following
sections):

1 Preparing the target repository for import


2 Loading an archive file into the Import Wizards preview window, and
specifying the default resolution of conflicts between imported and pre-existing
object definitions
3 Adjusting the details of conflict resolution
4 Importing as specified
5 Testing and checking in the changed projects

Preparing the Target Repository for Import


You need to import into a checked out project or projects on the Local database of
a client PCdo not import to the Server database. Make sure the following
conditions exist before importing:

 The import file is accessible to the local PC by way of the network or local drives.
 The target repository is open in Siebel Tools and is the active repository.
 The projects that will be affected by import have been checked out to the Local
database. This includes any project that any object definition in the export file
is assigned to.
The only exception consists of projects (or their object definitions) that are in
the archive file, but that do not exist yet in the target repository. These are not
checked out because they dont exist in the target repository.
NOTE: In some cases it may be difficult to know in advance which projects need
to be checked out. The Import wizard informs you of any projects that were not
locked but need to be. This occurs on the second panel of the Import wizard,
after it has analyzed the object definitions in the archive file and compared them
to the object definitions in your repository.

14-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

Loading Object Definitions from an Archive File into the Preview


Window
1 Open the target repository in Siebel Tools, if it is not already open.
2 Select Repository

 Import From Archive.

The Select Archive To Import dialog box appears.

3 Navigate to the archive (.sif) file in the dialog box and click Open. The Import
Wizard - Preview window appears.

This window identifies the projects and the nonproject top-level object
definitions in the archive file you have opened so you can preview the contents
of the archive file.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-9

Managing Repositories
Exporting and Importing Repository Objects

4 Select a radio button in the Conflict resolution radio button group.


This specifies the default resolution for conflicts between the archive file and the
target repository. You will have the opportunity in subsequent windows in the
Import Wizard to change this choice for individual object definitions.
There are three choices available in the Conflict Resolution radio button group,
as follows:
 Overwrite the object definition in the repository. If the same top-level object
definition is found in the archive file and target repository, delete the version
in the target repository, along with its children, and replace them with the
object definition and children from the archive file.
 Merge the object definitions from the archive with the definition in the repository.
Merging is the default, and generally the safest option. When the same toplevel object definition occurs in both the target repository and the archive
file:
 Replace differing properties in the target top-level and child-level
definitions with those in the file being imported.
 Add new child object definitions to the target repository if they are not
already present.
 Do not change child object definitions in the target repository that are not
also present in the archive file.

The resulting top-level object definition has the same properties and children
as the object definition in the archive, plus any children that were already
present in the repository definition.
 Do not import the object definition from the archive. Do not change the object
definitions in the target repository.

5 Validate your selections and click Next to proceed.

14-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

6 If there are object definitions you will be replacing or modifying and whose
projects are not locked, the following warning message appears:

If this message appears, you need to cancel the import process, lock the projects,
and restart the Import Wizard.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-11

Managing Repositories
Exporting and Importing Repository Objects

Adjusting the Details of Conflict Resolution


You have made general decisions about conflict resolution in the Conflict Resolution
radio button group in the previous window of the Import wizard. In the Review
Conflicts and Actions window (shown in Figure 14-3), you can make adjustments
for individual object definitions and properties.

Figure 14-3. Review Conflicts and Actions Window

The three windowpanes are Conflicting Objects, Object Differences, and Attribute
Differences.

Conflicting Objects Windowpane


The Conflicting Objects windowpane displays the hierarchy of object definitions for
which there are differences. It is used for navigation and behaves like the Object
Explorer in Detail mode. The hierarchy in this windowpane mirrors the object type/
object definition hierarchy in a Siebel repository, but shows only conflicts to resolve
rather than all repository or archive object definitions.
If you select an object definition in the hierarchy, it and others at its level appear in
the Object Differences windowpane.

14-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

Object Differences Windowpane


The Object Differences windowpane displays object definitions, one to a row. It
shows for each object definition whether it exists only in the archive file, only in the
target repository, or in both, and what resolution is specified. You can change the
resolution here.
The object definitions displayed in the Object Differences windowpane include
those at all hierarchical levels, not just top-level object definitions. This provides the
means for making adjustments to the resolution for any affected object definitions.
The File and Repository list columns indicate whether each identified object
definition is present in the archive file or target repository. An X indicating the
object definitions presence can appear in the File list column, 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 definition
in the list. This setting is initially generated for each object definition from the
default behavior selected in the Conflict Resolution radio button group in the
Preview window. 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 window.

Merge. Equivalent to the Merge the object definitions from the archive with the
definition in the repository option in the previous window.

The resulting top-level object definition has the same properties and children as
the object definition 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 window.


For more information about these options, see Loading Object Definitions from an
Archive File into the Preview Window on page 14-9.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-13

Managing Repositories
Exporting and Importing Repository Objects

Attribute Differences Windowpane


The Attribute Differences windowpane displays the property value conflicts for the
currently selected object definition in the Object Differences windowpane. Those
properties are listed only where there is a conflict.
The Attribute Differences list contains the following list columns:

Attribute List Column. Name of the property.

File List Column. Value of the property in the archive file version of the object

definition.

Repository List Column. Value of the property in the target-repository version of

the object definition.

Resolution List Column. Value of either File or Repository for each property,

depending on whether the archive-file or target-repository version of the object


definition is to determine the value of the property in the final definition.
This list column can be updated only if the object definition 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 grayed out, 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 select Repository or File from the shortcut
menu.
After you click Next in the Review Conflicts and Actions window, you are shown a
summary of your changes and prompted to proceed or cancel, as shown in
Figure 14-4.

Figure 14-4. Summary Prompt

14-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Exporting and Importing Repository Objects

If you choose to proceed, the Summary window appears, as shown in Figure 14-5.

Figure 14-5. Summary Window

Importing occurs while the Summary window is displayed. The import actions are
logged and displayed as they occur. When the import process is completed, click
the Finish button.
A log file named importlog.txt is created in Siebdev\temp. It contains the same list
of messages that appeared in the Summary window. You may find it useful to store
this file elsewhere for a record of what changes were made to the repository. It is
also a good idea to change the file name so it reflects the date of the import.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-15

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Renaming, Deleting, Backing Up, and Migrating


Repositories

14

Various batch file (.ksh) and executable (.exe) programs are available outside Siebel
Tools for working with an entire repository as a unit. These programs are found on
the application server and database server. This section describes the use of these
programs, as well as other procedures you can perform that act on an entire
repository.
Caution: If versions of these program files appear in your Siebdev
directory or its subdirectories, do not use the ones found there. Use
only the programs found on the server.

Renaming and Deleting Repositories

14

You might need to rename a repository in some situations. However, renaming can
cause problems unless all developers check in their checked out projects prior to
renaming the repository. Following the rename, they need to do a get on all projects.
Siebel recommends that the current active repository in production always be
named Siebel repository.

To rename a repository
1 Have all developers check in all projects that have been checked out from this
repository.
2 In the Object Explorer, select the Repository object type.
3 In the Object List Editor, click in the Name property of the repository you want
to rename.
4 Enter the new name.
5 Click outside of the record to save your changes.
6 Have developers do a get of all projects.

14-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

In the Server Parameters view (accessed by means of the Screens Server


Administration Servers Server Parameters menu option in the Siebel
application client) verify references to the repository name in all Siebel client .cfg
files and Siebel servers. The name of the current production repository needs to be
Siebel repository.

To delete a repository
The delete process remove all records associated with the repository.

1 Click the Repository object type in the Object Explorer.


2 In the Object List Editor, click anywhere in the row for the repository you want
to delete.
3 Choose Edit

 Delete Record.

4 Click outside the record to commit the Delete action.

Copying Repositories
NOTE: Do not use the Edit

14

Copy Record menu option (or equivalent keystroke


combination) to copy a repository, because it will not copy the children of the
repository object definition.
To copy a repository, use exprep.ksh to create an export file, and then import the
file using imprep.ksh with a new repository name specified in the REPOS_NAME
parameter. Instructions for using exprep.ksh and imprep.ksh are in Backing Up
and Restoring Repositories below.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-17

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Backing Up and Restoring Repositories

14

A batch utility program called exprep.ksh generates an export file in text format
containing all object definitions in a repository, and imprep.ksh re-creates a
repository from the contents of the export file. The exprep and imprep scripts are
installed with the database server installation scripts and can be found in the
subdirectory named after the database platform being used (for example, Oracle).
Both exprep.ksh and imprep.ksh pass parameters to an executable program called
repimexp.exe. In rare circumstances you may need to execute repimexp.exe directly,
but generally you will only need exprep.ksh and imprep.ksh, which are
considerably easier to use. Repimexp.exe is installed with the Siebel Server and can
be found in the bin subdirectory.
You can use exprep.ksh to make backups of the development repositories on a
regular basis to safeguard your configuration work. Save repository backup files in
your source code control environment. When you complete configuration of a
specific version of your application, export the repository and check the export file
in to the source code control system, together with the other application
componentsclient .cfg and .srf files, batch scripts, Enterprise Integration Manager
.ifb files, and so forththat the version comprises.
Exprep.ksh and imprep.ksh operate only on an entire repositorynot portions of a
repository. To export or import a portion of a repository, use the Import/Export
feature in Siebel Tools, described in Exporting and Importing Repository Objects
on page 14-3.
Do not use the Import/Export feature in place of imprep.ksh and exprep.ksh to
export an entire repository, however. The imprep.ksh and exprep.ksh programs
work much faster.
If you need to back up user data as well as the repository object definitions, use the
database utilities provided by your RDBMS vendor.

14-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

exprep.ksh
Exprep.ksh exports the contents of a specified repository to a text file, typically
named customer.dat. It executes repimexp.exe using parameters you have specified
in the text of the batch file program. Exprep.ksh is located in the
dbsrvrroot\dbplatform directory on the development application server where you
installed the Siebel database software.
Before executing exprep.ksh, open it with a standard text editor, such as WordPad,
and ensure that the parameters listed in Table 14-1 are set correctly for your
development environment.
Table 14-1.

Version 6.0

Parameter Settings in exprep.ksh

(Sheet 1 of 2)

Parameter

Default Value

Meaning

SRC_USR

SADMIN

Siebel user name.

SRC_PSWD

SADMIN

Siebel user password.

SRC_TBLO

siebel

Siebel database table owner. Use siebel


for Oracle and Informix, dbo for Sybase
and MS SQL Server.

SRC_ODBC

Siebel_Server_Database

ODBC data source name.

SRC_REPOS
_NAME

Siebel Repository

Repository name.

EXP_USR

SADMIN

Export repository user name.

EXP_PSWD

SADMIN

Export repository password.

EXP_TBLO

siebel

Export repository table owner. Use siebel


for Oracle and Informix, dbo for Sybase
and MS SQL Server.

EXP_ODBC

Siebel_Server_Database

Export repository ODBC data source.

EXP_REPOS
_NAME

Siebel Repository

Export repository name.

This must be the name as


EXP_REPOS_NAME.

This must be the same name as


SRC_REPOS_NAME.

Siebel Tools Guide Volume 2 of 2

14-19

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Table 14-1.

Parameter Settings in exprep.ksh

(Sheet 2 of 2)

Parameter

Default Value

Meaning

FILE_NAME

c:\CHANGE_ME\xxxx.dat

The name and path of the export file to


create. Set this to an appropriate location
and file name.

SIEBEL _HOME

c:\CHANGE_ME\siebsrvr

The home directory for the Siebel Server.


Change this to the correct location.

siebenv.ksh
Prior to export, you may also need to make changes to siebenv.ksh, the batch file
program that sets environment variables. Table 14-2 lists the parameters that you
can change in the siebenv.ksh program file.
Table 14-2.

Parameter Settings in siebenv.ksh

Parameter

Default Value

SIEBEL_HOME
SIEBEL_ENTERPRISE
_SERVER

The home directory for the Siebel


Server. Set this to the correct location.
siebel

SIEBEL_SERVER _NAME
SIEBEL_LANGUAGE

14-20

Siebel Tools Guide Volume 2 of 2

Meaning

Directory of the Siebel enterprise


server.
Name of the Siebel server.

ENU

The language code of the active


language.

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

To execute exprep.ksh
1 Open a command prompt window.
2 Navigate to the appsrvr_root\bin directory.
3 Run siebenv.ksh to set the required environment variables.
4 Navigate to the dbsrvrroot\dbplatform directory and run exprep.ksh.
5 Exprep.ksh prompts you to verify the parameters you entered above.
If they are not correct, terminate the script and then re-edit exprep.ksh to correct
the errors.
If the parameters are correct, press ENTER to continue with the script.

6 Exprep.ksh generates a log file called exprep.log, which you should review for
errors once the script has completed.

imprep.ksh
Imprep.ksh imports the contents of a previously exported repository to a specified
repository name. Like exprep.ksh, it executes repimexp.exe using parameters you
have specified in the text of the batch file program. Imprep.ksh file is located in the
dbsrvrroot\dbplatform directory on the development application server where you
installed the Siebel database software.
NOTE: The new repository you generate with imprep.ksh will have all new Row Ids
in the database. The order in which definitions have been entered into the
repository will be different. This affects the order of Pre Default Value and Post
Default Value assignment, and the order of Pick Map entry execution if no sequence
numbers are defined on the Pick Map entries.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-21

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Before executing imprep.ksh, open it with a text editor and verify that the
parameters listed in Table 14-3 are set correctly for your development environment.
Table 14-3.

14-22

Parameter Settings in imprep.ksh

Parameter

Default Value

Meaning

SRC_USR

SADMIN

Siebel user login.

SRC_PSWD

SADMIN

Siebel user password.

SRC_TBLO

dbo

Siebel database table owner. Use siebel for


Oracle and Informix, dbo for Sybase and
MS SQL Server.

ODBC

CHANGE_ME

ODBC data source name, generally


Siebel_Server_Database (in quotes).

REPOS _NAME

Siebel Repository

Siebel repository name to create. This


cannot be an existing repository name; if
you specify an existing repository, you will
receive a Repository Already Exists error
message.

FILE_NAME

${DB_LANG}\mstrep.dat

The name and path of the text file to


import from. Set this to an appropriate
location and file name.

SIEBEL _HOME

c:\CHANGE_ME\siebsrvr

The home directory for the Siebel Server.


Change this to the correct location.

DB_LANG

Unspecified

Database language. Change this to the


language code for the language to be used
in the repository. Some possible values are
enu, jpn, deu, and fra. To find out which
languages are supported in your version,
please check your dbsrvr installation and/
or the Siebel Server Installation Guide for
which language subdirectories are present.
Use lowercase for the language code.

DBSRVR
_ROOT

c:\CHANGE_ME\dbsrvr

Root directory of the database server.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

To execute imprep.ksh
1 Navigate to the appsrvr_root\bin directory.
2 Run siebenv.ksh (through the korn shell emulator) to set the required
environment variables.
3 Navigate to the dbsrvrroot\dbplatform directory and run imprep.ksh.
4 Imprep.ksh prompts you to verify the parameters you entered above.
If they are not correct, terminate the script, and then re-edit exprep.ksh to
correct the errors.
If the parameters are correct, press ENTER to continue with the script.
Imprep.ksh generates a log file called imprep.log, which you should review for
errors once the script has completed.
Following restoration or import of a repository, all local developers must do a check
out without server lock or do a get all of the projects from the new repository.

repimexp.exe
The repimexp.exe program imports, exports, or creates a file dump of a repository.
You will not need to use repimexp.exe directlybut would rather use exprep.ksh
and imprep.ksh (which call repimexp.exe), instead. The only circumstances when
you would run repimexp.exe directly might be:

 You need to run repimexp.exe with special parameter settings that are
inaccessible through the batch files.

 You need to perform a file dump.


For an import, use the following syntax:
repimexp /A I argument_list

For an export, use the following syntax:


repimexp /A E argument_list

For a file dump, use the following syntax:


repimexp /A /F <dataFile> [/L <logFile>]

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-23

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

An export or import uses the arguments listed in Table 14-4.


Table 14-4.

Parameter Settings Passed as Arguments to repimexp.exe

Parameter

Required

Meaning

/U <userName>

Yes

Siebel user name.

/P <password>

Yes

Siebel password.

/C <ODBC data source>

Yes

ODBC data source. The default is the value in the


SIEBEL_DATA_SOURCE environment variable.

/D <table owner>

Yes

Siebel database table owner. The default is the value in the


SIEBEL_TABLE_OWNER environment variable.

/R <repository>

Yes

Repository name. The default is Siebel Repository.

/1 <export repository
userName>

For export

Export repository user name.

/2 <export repository
password>

For export

Export repository password.

/3 <export repository ODBC


data source>

For export

Export repository ODBC data source.

/4 <export repository table>

For export

Export repository table owner. Use siebel for Oracle and


Informix, dbo for Sybase and MS SQL Server.

/5 <export repository>

For export

Export repository name.

/B <appServer root>

Yes

Siebel server installation directory to override SIEBEL_HOME


environment variable.

/F <dataFile>

Yes

Data file, including path, to export to (or import from, on an


import).

/T <Y|N>

No

Test only, do not import into database.

/V <Y|N>

No

Verify data. For import, default is Y. For export, default is N.

/N <0|1|2>

No

For export only. 0= no change. 1= change CREATED_BY,


UPDATED_BY. 2=change CREATED_BY, UPDATED_BY, dates
columns. Default is 1.

/M <Y|N>

No

Commit changes even if verification failed. Default is N.

/L <logFile>

No

Log file for output messages.

14-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Migrating Repositories and Schemas Between Databases

14

Most customers have separate development, test, and production databases so


developers can try things out without the risk of creating problems on the
production server.
The repository and user data need to be migrated in parallel between databases so
the database schema for the user data, the business objects, and the user interface
remain synchronized. Populate the test database, and when sufficient testing has
taken place, migrate the repository and update the production database schema.
For information about setting up your system and database environment, see the
Siebel Server Installation Guide.
NOTE: Do not migrate repository customizations to your production environment
until you have completed extensive testing to verify that the customizations work
correctly and meet your business requirements.

If you configure only business object and user interface object definitions, you need
to replace only the object definitions in the production repository with those in the
development repository. Do this using exprep.ksh and imprep.ksh, as described in
Backing Up and Restoring Repositories on page 14-18. Then distribute a new .srf
file to client computers.
However, for upgrades involving schema changes, you need to use dev2prod.ksh,
which:

 Upgrades the data in the production server to the new schema


 Updates the repository object definitions
All mobile users need to synchronize prior to the upgrade and (if not using Siebel
Anywhere) re-extract following the upgrade.
NOTE: Dev2prod.ksh always forces a schema upgrade, regardless of whether schema

changes were made in the repository.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-25

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Follow these major steps to migrate a repository and schema from one database to
another:

1 Prepare the target database for the new repository


The TGT_REPO parameter should be the name of the repository that does not
already exist in the target database.

2 Run the repository migration batch file, dev2prod.ksh.


You need to first start a shell session with sh.exe.

3 Upgrade mobile databases that are dependent on the target database.


4 If you move a repository from one database to another, such as from
development to test, you need to also re-create any new views, responsibilities,
and list of values entries in the new environment.
Steps 1 through 3 are described in the following sections.
Step 4 is an application administration task, and is described in Siebel Applications
Administration Guide.

14-26

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Preparing Target Database for New Repository


Complete the following actions before you migrate the repository to the target
database:

 Ensure that all mobile users perform a full synchronization.


Once synchronized, mobile users should make no further changes to their local
databases until the upgrade has been completed. Any changes made between
synchronization and migration will be lost when they are upgraded.

 Ensure that all connected clients have disconnected from the database server.
 If you are not using Siebel Anywhere, stop all processes running on all Siebel
Application Servers, including all Siebel Remote Processes, once all mobile user
transactions have been merged and routed.

 If you are using Siebel Anywhere, stop all Siebel Application Server processes
except the Transaction Preprocessor and Transaction Routers. Leave these
processes running on all Siebel Remote Application Servers. You will be
instructed to stop these processes in a later step.

 Do a full backup of the production database once all mobile user transactions
have been merged and routed.

 Ensure that the production database configuration meets the database


requirements outlined in the Siebel Upgrade Guide.

 Verify the names of all repositories in the target database.


You will later choose a new name that the repository being migrated will have
in the target database. Siebel recommends that you keep the name of your
production repository constant. Accordingly, rename the existing production
repository to show that it has been superseded. You will also later import an
upgraded repository, to which you should give the standard name for your
production repository.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-27

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Running the Repository Migration Batch File (dev2prod.ksh)


Dev2prod.ksh does the following:

 Exports the designated repository from the source database


 Imports the designated repository into the target database
 Exports the logical schema definition from the specified repository to a .ddl file
 Synchronizes the physical schema of the target database with this logical
schema definition

 (If you are using Siebel Anywhere) propagates new repository schema changes
to mobile users
Dev2prod.ksh file is located in the dbsrvrroot\dbplatform directory on the
development application server where you installed the Siebel database software.
Open dev2prod.ksh with a standard text editor (for example, Microsoft WordPad)
and ensure that the parameters listed in Table 14-5 are set correctly for your
development environment.

14-28

Table 14-5.

Parameter Settings for dev2prod.ksh

Parameter

Meaning

SRC_USR

In the source database, the Siebel Application User Login.


The default is SADMIN.

SRC_PSWD

In the source database, the Siebel Application User Password.


The default is SADMIN.

SRC_TBLO

In the source database, the TableOwner - SSE Tableowner.


The default is SIEBEL.

SRC_REPOS

In the source database, the repository in which the required


schema definition resides. The default is Siebel Repository.

TGT_ODBC

In the target database, the ODBC Data Source Name. The


default is Siebel_Server_Database.

TGT_USR

In the target database, the Siebel Application User Login. The


default is SADMIN.

TGT_PSWD

In the target database, the Siebel Application User Password.


The default is SADMIN.

Siebel Tools Guide Volume 2 of 2

(Sheet 1 of 2)

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Table 14-5.

Parameter Settings for dev2prod.ksh

(Sheet 2 of 2)

Parameter

Meaning

TGT_TBLO

In the target database, the TableOwner for Siebel


applications. The default is SIEBEL.

TGT_TBLO_PSWD

In the target database, the TableOwners Password for Siebel


applications. The default is SIEBEL.

TGT_REPOS

In the target database, the repository in which the required


schema definition resides. The default is Siebel Repository.

TGT_ODBC

In the target database, the ODBC Data Source name. The


default is Siebel_Server_Database.

DATA_AREA

In the target database, the database storage area for tables


(Oracle table space or Sql Server data segment).
Note that DATA_AREA & INDX_AREA refer to segments in
MS Sql Server and Sybase. If you want to use default
segments, set these variables to default.

INDX_AREA

In the target database, the database storage area for indexes


(Oracle table space or Sql Server data segment).

DATABASE_PLATFORM

Database platform (Informix, Sql Server, Oracle, DB2, or


Sybase).

After editing dev2prod.ksh (if necessary), execute it.

To execute dev2prod.ksh
1 Navigate to the directory appsrvr_root\bin.
2 Run siebenv.ksh (through the korn shell emulator) to set the required
environment variables.
3 Navigate to the dbsrvrroot\dbplatform directory and run dev2prod.ksh.
4 Dev2prod.ksh asks you to verify the parameters you entered above.
If they are not as listed above, terminate the script and then edit dev2prod.ksh
to correct the errors.
If the parameters are correct, press ENTER to continue with the script.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-29

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Dev2prod.ksh generates a number of .log files, which you should review for errors
once the script has completed.
The log files are named as follows:

 exprep.log
 imprep.log
 expschem.log
 ddlsync1.log
 ddlsync2.log
NOTE: Messages in ddlsync1.log and ddlsync2.log indicate actions taken to bring

logical and physical data in sync.

14-30

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Renaming, Deleting, Backing Up, and Migrating Repositories

Upgrading Mobile Databases


Follow these steps:

1 Turn off transaction logging.


Dev2prod.ksh automatically sets the system preference Docking: Transaction
Logging to TRUE on the target database.
If you do not have mobile users in the target database environment, and
normally have this preference set to FALSE, reset it to FALSE, using a Siebel
application client connected directly to the target database.

2 Restart Siebel Remote processes.


If you have mobile users in your target database environment, restart the
Application Server Processes, regardless of whether you are using Siebel
Anywhere.
When you have restarted the processes, wait until the Transaction Pre-Processor
and the Transaction Router have processed all pending transactions before
proceeding with the remaining steps.

3 Regenerate local database templates.


Use the Siebel server component Generate New Database to regenerate the local
database template file to update its schema to the same version as the database
server.

4 Re-extract mobile users.


If you are not using Siebel Anywhere to upgrade your mobile clients, re-extract
all mobile users, using the Database Extract Component.
Ensure that you have copied the new database template to all production Siebel
Remote Servers before re-extracting the mobile users. The distmpl.ksh helps you
copy the database template.
If you are using Siebel Anywhere, refer to Applying Server Database Changes
to Other Local Databases on page 11-29 for instructions on propagating schema
extensions.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-31

Managing Repositories
Creating Patches

Creating Patches

14

A patch file, like an archive file, consists of exported object definitions. The
difference between a patch file (.spf file) and an archive file (.sif file) is that the
patch file contains two versions of each object definition, one from the pre-upgrade
source repository and one from the post-upgrade. (An archive file contains only one
version of each object definition, and all object definitions are from the same
repository.)
Figure 14-6 shows how pre- and post-upgrade versions of an object definition are
paired in the patch file, and then utilized in applying the patch to the target
repository.

Patch Creating Site

Patch Applying Site

Original Source
repository

Original Target
repository

object definition A

Patch File

object definition
A
object definition
B

object definition B
object definition A

Modified Source
repository

object definition B

object definition A
object definition B

Patched Target
repository
object definition A
object definition B

Figure 14-6. How a Patch Works

14-32

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Creating Patches

The pair of pre- and post-release object definitions in the patch file provide before
and after snapshots of the object definition. The patch application process
considers both when determining what changes to make to the target repository.
A wizard steps you through the process of creating a patch.

To create a patch file


1 Ensure that both the original source and the modified source repositories are
present on the client computer.
2 Select File
repository.

 Open Repository from the menu bar and open the modified source

NOTE: You can skip this step if you are building a patch file from an archive file.

3 Select Repository

 Build Patch from the menu bar.

The Build Patch - Setup window appears.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-33

Managing Repositories
Creating Patches

4 In the Select modifications from radio button group, select either Changed
Objects In current repository or Archive file:
 Changed Objects In Current Repository. Enables you to generate the set of
source object definitions in the patch file from all object definitions 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 object definitions for all object definitions that have changed
since a specified date. This is an easy way to capture all object definitions
that have changed since the start of work on the new release.
NOTE: This is useful for creating cumulative patch filesthat is, if several
patches are created over time, each successive patch will include all changes
that went into previous patches plus the most recent changes, as long as the
Changed Indicator Date hasnt been modified. This is the real reason that it
is possible to define a patch using the Changed property. If you use the
Changed indicator in this or any other way, you need to be careful that the
Changed Indicator Date doesnt get set arbitrarily.

 Archive file. Enables you to use an existing archive file to generate the same
set of object definitions in the patch file. Use this option when the set of patch
object definitions is identical to a recently exported archive file, or when you
want to explicitly select individual top-level object definitions 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 object definitions with a Changed value of TRUE.

If you selected the Archive File option, specify a pathname and filename for
the archive file in the File Name box, or click the Browse button and navigate
to the archive file.

5 In the Repository box, select the name of the original source repository.
6 In the Patch File box, specify a pathname and filename for the patch file to
create.

14-34

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Creating Patches

7 Click Next.
The Patch Builder window appears.

If you selected the Archive file option, the list of object definitions for the patch
loads immediately.
If you selected the Changed objects option, the system requires a minute or more
to generate 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.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-35

Managing Repositories
Integrating with External Source Code Control Software

Integrating with External Source Code Control Software

14

You can optionally interface your repository check in/check out mechanism in
Siebel Tools with a third-party source code control system such as Microsoft Visual
SourceSafe. When source control integration is enabled, each time a project is
checked in to the server repository, an archive file containing all the object
definitions in the project is also checked in to the source control system. As a result,
successive versions of the project are maintained in the source control system.
If you want to revert to an earlier version of a project, you can check out the project
archive file from the source control system to your local machine. Then you check
out the project from the server, import the archive file into the local repository
(overwriting the object definitions locally), and check the project back in to the
server repository.

14-36

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Integrating with External Source Code Control Software

Enabling the Interface

14

You enable and partly configure the interface to an external source control system
using the Development Tools Options dialog box.

To enable the source control interface

1 Select the Tools Options menu option (or click the Options button in the
Check Out or Check In dialog box).
The Development Tools Options dialog box appears.

2 Select the Check In/Out tab.


The Check In/Out tab in the dialog box appears.

3 Click the Enable Source Control Integration check box to set it to TRUE.
4 Click the Show execution of the integration batch file check box to enable this
feature. A DOS window is launched in the foreground when the srcctrl.bat batch
file is executed. This feature is for diagnostic purposes and facilitates debugging
a customized batch file.
5 If the srcctrl.bat file is in a different directory location than the one indicated,
type in a different location or select it using the Browse button.
Version 6.0

Siebel Tools Guide Volume 2 of 2

14-37

Managing Repositories
Integrating with External Source Code Control Software

By setting the Enable Source Control Integration check box to TRUE and specifying
a srcctrl.bat batch file, you are informing the system that it is to generate an archive
file for each project when performing repository check in, and to run the batch file
at the conclusion of repository check in. The batch file executes command-line
interface commands that are specific to the source code control software you are
using. Each command-line command launches the external source control software
with instructions to check an archive file or files in to the source control system.
Archive files for source code control have the same format and .sif filename
extension as an archive file generated with the Export feature. One .sif file is
generated for each project checked in to the server repository.

Configuring the srcctrl.bat File

14

The srcctrl.bat batch file contains the sequence of commands to be executed in


order to check the archived projects in to the source control system. The name of
the archive 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:
SRCCTRL action dir comment_file project_file

Table 14-6.

Arguments for the srcctrl.bat File

Argument

Description

action

Checkin or checkout.

dir

Pathname of the directory on your local file system where the


items are located.

comment_file

Contains the comment text to be provided to the source control


software with the project file.

project_file

Name of the archive 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 parameter list.

14-38

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Integrating with External Source Code Control Software

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 need to 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.
set PATH=C:\Program Files\DevStudio\Vss\win32\;%PATH%
set SOFTWARE=ss
set CHECKIN=%SOFTWARE% checkin
set CHECKOUT=%SOFTWARE% checkout
set ADD=%SOFTWARE% add
set SETPROJ=%SOFTWARE% cp
set PROJECT=$/PROJPOOL
set SRC_USR=
set SRC_PSWD=
set OPTIONS=-i-y -y%SRC_USR%,%SRC_PSWD%
set COMMENT=-c@
set NON_COMMENT=-cset FILE=
set LOGFILE=C:\Temp\xml.log

echo
=======================srcctrl.bat========================== >>
%LOGFILE%

set ACTION=%1
shift
set DIR=%1

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-39

Managing Repositories
Integrating with External Source Code Control Software

shift
set COMMENT=%COMMENT%%1
shift
set FILE=%1

echo Change local directory to %DIR% >> %LOGFILE%


chdir %DIR% >> %LOGFILE% 2>&1

echo Set %PROJECT% as the working folder at Source Control System


>> %LOGFILE%
%SETPROJ% %PROJECT% >> %LOGFILE% 2>&1
if errorlevel 100 goto END

if %ACTION%==checkout goto CHECK_OUT


if %ACTION%==checkin goto CHECK_IN

:CHECK_OUT
echo ============Check out file %FILE% from Source Control
System============

if not exist %FILE% echo "New File" >> %FILE%


attrib +r %FILE%

echo Add %FILE% in case it doesn't exist in Source Control System


>> %LOGFILE%
%ADD% %FILE% %NON_COMMENT% %OPTIONS% >> %LOGFILE% 2>&1

14-40

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Integrating with External Source Code Control Software

echo Start checking out %FILE% from Source Control System >>
%LOGFILE%
%CHECKOUT% %FILE% %NON_COMMENT% %OPTIONS% >> %LOGFILE% 2>&1

goto END

:CHECK_IN
echo ============Check in file %FILE% into Source Control
System============

echo Check in %FILE% into Source Control System >> %LOGFILE%


%CHECKIN% %FILE% %COMMENT% %OPTIONS% >> %LOGFILE% 2>&1
attrib -r %FILE%

goto END

:END
echo ===================End Of srcctrl.bat======================
>> %LOGFILE%

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-41

Managing Repositories
Integrating with External Source Code Control Software

Table 14-7 explains the variables used in the srcctrl.bat batch file.
Table 14-7.

14-42

Variables in srcctrl.bat

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 systems 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 will 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.

OPTIONS

Text of the Options clause to include in a command line.

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.

LOGFILE

Path and filename of the log file that will be generated.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Integrating with External Source Code Control Software

You need to:

 Change the program code in the batch file to reflect the development
environment

 Distribute to all of the developers at your site


These MS-DOS limitations exist in Windows 95 and 98:

 The default command-line character limitation is 127 characters. You can


increase the global command-line character limit to its maximum by placing the
following line in config.sys:
shell=c:\windows\command.com /u:255

 The default environment space limitation is 256 bytes. You can increase it by
placing the following line in config.sys:
shell=c:\command.com /p /e:2048

or by placing the following line in the [NonWindowsApp] section in the


system.ini file:
CommandEnvSize=2048

2048 is the size of the new environment space, so you might specify a different
value here.

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-43

Managing Repositories
Integrating with External Source Code Control Software

Microsoft Visual SourceSafe Examples

14

Check In Example
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 Project A and
Project B. The latest version of Project A.sif in Visual SourceSafe is 6, and the
latest version of Project B.sif is 5.
When you click the Check In button, the following sequence occurs:

1 Project A and Project B are checked in to the server repository.


2 C:\siebdev\bin\srcctrl.bat is invoked. This carries out steps 3, 4, and 5.
3 Project A.sif and Project B.sif are checked out and locked in Visual SourceSafe.
4 Project A is exported to C:\siebdev\temp\projects\Project A.sif, and Project B is
exported to C:\siebdev\temp\projects\Project B.sif.
5 Project A.sif and Project B.sif are checked in to Visual SourceSafe. The version
numbers are incremented so that the latest version of Project A.sif in Visual
SourceSafe is version 7, while Project B.sif is version 6.

Revert to Previous Version Example


Consider the situation in which an erroneous definition of Project A has been
checked in to the server repository. This is stored in Microsoft Visual Source Safe as
version 5 of Project A.sif. You want to revert to version 4 of Project A, since that
does not contain the errors.

1 Check out version 4 of Project A.sif from Visual SourceSafe into


C:\siebdev\temp.
2 Check out Project A from the server repository.
3 Import Project A.sif into the local repository using the Overwrite option to
resolve object definition conflicts. This replaces the existing definition of Project
A with the one in the archive file.
4 Check Project A in to the server repository. Project A.sif is automatically checked
in to Visual SourceSafe as version 6.

14-44

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Check In/Check Out Options (Source Control Integration)

Check In/Check Out Options (Source Control


Integration)

14

The Check In/Out tab in the Development Tools Options dialog box (see
Figure 14-7) provides options for setting up check in and check out.
The Source control integration options are discussed below; for information about
the Data sources options, see Check In/Check Out Options (Data Sources) on
page 5-23.

Figure 14-7. Check In/Out tab in Development Tools Options window

Version 6.0

Siebel Tools Guide Volume 2 of 2

14-45

Managing Repositories
Check In/Check Out Options (Source Control Integration)

The Source control integration options are the following:

Enable Source Control Integration check box. Set this check box to TRUE 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 batch file check box. Set this to TRUE to launch

a DOS window in the foreground when the srcctrl.bat batch file is executed. This
feature is for diagnosis purposes and facilitates debugging a customized batch
file.

Integration batch file text box and browse button. Specifies the location of the

srcctrl.bat batch file used by Siebel applications to instruct the source control
software to provide check in or check out of archive files.

14-46

Siebel Tools Guide Volume 2 of 2

Version 6.0

Managing Repositories
Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

14

This chapter explained how to:

 Archive, export, and import entire projects and individual objects


 Rename, delete, back up, and migrate repositories
 Create patches
 Manage your repositories with third-party source control software
Table 14-8 lists sources of additional information about topics discussed in this
chapter, and related topics.
Table 14-8.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Managing application development projects

Chapter 5

Siebel Anywhere

Siebel Anywhere Guide

Siebel Remote, and extracting and setting up mobile


clients

Siebel Remote and Replication


Manager Administration Guide

Siebel application administration tasks

Siebel Applications Administration


Guide

Siebel Tools Guide Volume 2 of 2

14-47

Managing Repositories
Chapter Summary and Where to Get More Information

14-48

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication

15

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-2


What Are Data Cleansing and Deduplication? . . . . . . . . . . . . . . . . . . . 15-3
Configuring Data Cleansing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-5
Configuring Deduplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8
Dedup Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-8
Other User Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-10
DeDuplication Results Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-11
Deduplication Administration Views . . . . . . . . . . . . . . . . . . . . . . 15-12
Configuring Business Components and Fields . . . . . . . . . . . . . . . . 15-14
Chapter Summary and Where to Get More Information . . . . . . . . . . . 15-17

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-1

Data Cleansing and Deduplication


About This Chapter

About This Chapter

15

This chapter describes the Siebel data cleansing and deduplication product features,
how to configure Siebel applications for data cleansing and deduplication, and how
to run these processes in real time.

15-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


What Are Data Cleansing and Deduplication?

What Are Data Cleansing and Deduplication?

15

Data cleansing:

 Changes names, job titles, addresses, and cities to put them in proper mixed
capitalization

 (For U.S. addresses only) Reconciles all address Fields with their proper Zip+4
postal code, and both stores and presents these Fields in standard U.S. Postal
Service format
Deduplication:

 Detects possible duplications in newly created or modified records of business


component types Account, Sub Account, Contact, and Prospect

 Prompts you to commit the new or changed record or use one of the possible
matches
Both data cleansing and deduplication operate in real-time modethat is, either
upon update of a single existing record or upon insertion of a single new record
or batch mode.
If you configure a business component for deduplication, you must also configure
it for data cleansing (and you need to turn data cleansing on). The reverse is not
trueyou can configure data cleansing for a business component without
deduplication.

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-3

Data Cleansing and Deduplication


What Are Data Cleansing and Deduplication?

You configure data cleansing and deduplication by modifying user properties of


business components. Figure 15-1 shows data cleansing and deduplication
properties for the Contact business component.

Figure 15-1. Data Cleansing and Deduplication Properties for Contact

You can enable or disable data cleansing and deduplication independently.


Data cleansing and deduplication are designed for American English text only.
To use data cleansing and deduplication, you need to license and install products
from Firstlogic Corporation.

15-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Configuring Data Cleansing

Configuring Data Cleansing

15

You can configure data cleansing for any business component whose purpose is to
hold name, address, or company (account) information. In standard Siebel
applications, data cleansing operates on the following data:

 Name and Location for Accounts and Sub Accounts


 First Name, Middle Name, Last Name, and Job Title for contacts and prospects
 Street Address, City, State, Postal Code, and Country for business address
records
The data cleansing feature is disabled by default; you enable it through settings in
the relevant .cfg file.
You can turn data cleansing off for specific records by checking the column labeled
Disable Data Cleansing in various list and multi-value group applets. You can add a
Disable Cleansing column to other list and multi-value group applets.
Data cleansing is configured in two kinds of business component user properties:

 DataCleansing Field
 DataCleansing Type
Both of these are shown in Figure 15-1 on page 15-4.
One DataCleansing Type user property, and one or more DataCleansing Field
properties, are required.

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-5

Data Cleansing and Deduplication


Configuring Data Cleansing

Business component user properties are child object definitions of the business
component, and each has a Name property (specifying the user property to be set)
and a Value property (specifying the value to set for the user property). Table 15-1
shows the set of child Business Component User Prop object definitions of the
Contact business component that are used for configuration of data cleansing.
Table 15-1.

Contact User Properties for Data Cleansing

User Property Name

User Property Value

DataCleansing Field 1

Last Name, Last Name

DataCleansing Field 2

First Name, First Name

DataCleansing Field 3

Middle Name, Middle Name

DataCleansing Field 4

Professional Title, Job Title

DataCleansing Type

Contact

The DataCleansing Type user property:

 Specifies to the FirstLogic application what kind of data is being validated


 Is required
 Has as its value Contact, Account, or Address:
 Contact indicates that the data consists of person name records.
 Account indicates that it consists of business or office name records.
 Address indicates that it consists of postal addresses.

Data cleansing operates differently on each of these types. For example, business
components with Address cleansing have reconciliation performed between
address fields and the zip (Postal Code) field. All values have capitalization
validated.

15-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Configuring Data Cleansing

Each DataCleansing Field n property specifies a correspondence between a field


name in the FirstLogic application and a field name in a Siebel application. The
Value property consists of a pair of text strings, separated by commas, with each
string enclosed in double-quotation marks. The first string in the pair is the
FirstLogic name; the second is the Siebel name.
You can add DataCleansing Field user properties to set up data cleansing
functionality for additional fields, or remove them to disable this functionality for
existing fields.
NOTE: In general, you should not remove existing DataCleansing Field user

properties.

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-7

Data Cleansing and Deduplication


Configuring Deduplication

Configuring Deduplication

15

The deduplication feature is disabled by default; it is enabled for the application


through settings in the corresponding .cfg file. Once turned on at the application
level, deduplication can be turned off for a specific business component by
deactivating all of the child user properties (by setting the Inactive property to
TRUE). Deduplication cannot be turned off for individual records.

Dedup Tokens

15

Deduplication detects possible matches to records in specified business components


during record creation and update. The matching process begins with the dedup
token, which is an identifier calculated for each Account, Contact, or Prospect in
the database as well as the newly created or modified record. Based on the value of
the dedup token, Siebel applications pass a short list of prequalified possible
matches between existing and new or modified records.
The dedup token is generated based on the following calculations:

Contacts. The dedup token consists of a concatenated string of the cleansed five-

digit zip code of the account address, the first letter of the cleansed account
name, and the first letter of the cleansed last name.
The calculation expression is:
IfNull (Left ([Postal Code], 5), "_") + IfNull (Left
([Account], 1), "_") + IfNull (Left ([Last Name], 1), "_")

Accounts and Sub-Accounts. The dedup token consists of a concatenated string of


the cleansed five-digit zip code of the account address, the first letter of the
cleansed account name, and the first nonblank nonnumeric character of the
cleansed street name.

The calculation expression is:


IfNull (Left ([Postal Code], 5), "_") + IfNull (Left ([Name],
1), "_") + IfNull (Mid ([Street Address], FindNoneOf ([Street
Address], "1234567890 "), 1), "_")

15-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Configuring Deduplication

Prospects. The dedup token consists of a concatenated string of the cleansed


five-digit zip code of the account address, the first letter of the cleansed account
name, and the first letter of the cleansed last name.

The calculation expression is:


IfNull (Left ([Postal Code], 5), "_") + IfNull (Left ([Primary
Account Name], 1), "_") + IfNull (Left ([Last Name], 1), "_")

Calculation expressions for dedup tokens follow the same syntax rules as calculated
fields. For a discussion of these syntax rules, see Calculated Field Values and Field
Validation on page B-13.
You can change the calculation expression to adjust the filtering that generates the
candidate set. For example, you might want a larger candidate set or one that is
more restrictive. You might also want to add or remove a Field from the expression.
To change the calculation value, modify the value in the DeDup Token Value user
property. When you do that, you need to regenerate the token values in the database
for existing data by running deduplication in batch mode, as described in the Siebel
Server Administration Guide.

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-9

Data Cleansing and Deduplication


Configuring Deduplication

Other User Properties

15

Deduplication has a set of numbered user properties that are used to create
correspondences between FirstLogic fields and fields in business components.
These field mapping properties have names of the form DeDuplication Field n,
where n is an integer value (for example, DeDuplication Field 7). The value consists
of:

 A pair of strings enclosed in double quotation marks and separated by a comma


 The first string identifies the FirstLogic field name and the second string
identifies the Siebel name
The set of fields mapped in DeDuplication Field user properties are passed in
records in the candidate set to the FirstLogic applications. The candidate set
consists of records with a dedup token exactly or partially matching the calculated
dedup token of the record being added or modified, and therefore representing
possible duplicates.
NOTE: You should consider the set of fields mapped to the FirstLogic applications in
standard Siebel applications a required minimal set. Do not remove these mappings
(Job Title is an exception.)

You need to configure Prospects differently than Contacts and Accounts. The reason
is that Prospects share name processing capabilities in the FirstLogic applications
with Contacts, and Contact data (rather than Prospect data) is assumed by the
system to be present.
In order to specify that Prospect data is being processed, you need to add the
following two user properties:

DeDuplication Results BusComp. Name of the business component that will hold

the returned data, typically DeDuplication Results (Prospect). This user property
is a child of the business component being processed.

DeDuplication Results Applet. Name of the pick applet that is to be used to prompt

the user to resolve duplicates, typically DeDuplication Results (Prospect) list


applet. This user property is a child of the applet from which deduplication is
invoked.

15-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Configuring Deduplication

DeDuplication Results Applet

15

In real-time operation, possible matches are displayed in a dialog box as you are
committing new or changed record.
This dialog box is configurable in Siebel Tools, and has the name DeDuplication
Results (xxx) List Applet, where xxx is the Account, Contact, or Prospect. Additional
columns from the S_DEDUP_RESULT table can be exposed as fields in the
DeDuplication Results (xxx) business component, and as list columns in the
DeDuplication Results (xxx) List Applet.
Figure 15-2 shows the DeDuplication Results (Contact) list applet.

Figure 15-2. DeDuplication Results (Contact) List Applet

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-11

Data Cleansing and Deduplication


Configuring Deduplication

Deduplication Administration Views

15

After you do a deduplication batch run you can view and process duplicates in the
database through the data quality administration views. Six views in standard
Siebel applications, two each for resolution of duplicate Accounts, Contacts, and
Prospects. You access these views in a Siebel application through Screens
Marketing Administration Data Quality.

The six views are:

 Duplicate Account Administration


 Duplicate Account Resolution Administration
 Duplicate Contact Administration
 Duplicate Contact Resolution Administration
 Duplicate Prospect Administration
 Duplicate Prospect Resolution Administration
These Administration views (for example, Duplicate Account Administration)
provide a list of possible duplicate records. For Accounts, this view lists name, site,
and comment for each Account. For Contacts, it lists the name, title, account name,
site, and comment. For prospects, it lists name, title, account name, site, and
address.

15-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Configuring Deduplication

You can drill down from a record in one of these three views to a detail viewthe
Resolution View. The detail view for Accounts (Duplicate Account Resolution
Administration) appears in Figure 15-3.

Figure 15-3. Duplicate Account Resolution Administration View

The detail views list the potentially matching records with many of their fields
displayedfor example, the Account detail view displays all fields normally
exposed in a list applet displaying Account information. The views also provide a
Match Score list column that indicates the closeness of the match between the
master Account record in the upper applet and the current detail record in the lower
applet. The Match Score is returned by the FirstLogic application.
The lower applet contains a Merge button. You can highlight multiple records, click
Merge, and the records are merged according to standard client-side merge
behavior. The winner in this mergethat is, the one whose name and address
information is recordedis the record that is selected last in the sequence.

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-13

Data Cleansing and Deduplication


Configuring Deduplication

Configuring Business Components and Fields

15

In standard Siebel applications only five business components have data cleansing
and deduplication enabled: Account, Business Address, Contact, List Mgmt
Prospective Contact, and Sub Account.
If you insert records through noncleansed, nondeduplicated business components,
the data is left dirty. Data will be cleansed and deduplicated during batch cleansing
and deduplication only if the data can be seen through one of the business
components above. You do not need to enable data quality on a business
component if you do not permit inserting or updating through the business
component.
Business components have certain fields with specialized deduplication purposes.
These fields are:

DeDup Token. Text field that represents the DEDUP_TOKEN column in the base

table.
This field stores the calculated dedup token value for each record in the business
component. It is required to be present but is not exposed in the user interface.
If you need to add this fields functionality to another business component, use
or create an extension column.

Deduplication Match Score. Integer field whose value is obtained from the

TOT_SCORE_VAL column in the S_DEDUP_RESULT table through a join to that


table on the duplicate object ID.
This field is represented in the user interface as the Match Score list column.
S_DEDUP_RESULT is used to pass the results of evaluation of the candidate set
back to Siebel applications from the FirstLogic application. TOT_SCORE_VAL
indicates the closeness of the match between the master account record and the
detail record in which the value is stored. This field is not required, and is used
only for the presentation of batch results.

15-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Configuring Deduplication

Deduplication Object Id. Row ID Field that functions as a foreign key to the master

duplicate record in the same business component. It represents the OBJ_ID


column in the S_DEDUP_RESULT table, and is obtained through the same join
as Deduplication Match Score.
This field is not exposed in the user interface and is not requiredit is used only
for the presentation of batch results.
There is a results business component for each business component using
deduplication, called DeDuplication Results (xxx), where xxx identifies the kind of
data being validated. For example, DeDuplication Results (Account) is the name of
the results business component for account data.
Figure 15-4 shows the DeDuplication Results (Account) business component.

Figure 15-4. DeDuplication Results (Account) Business Component

Version 6.0

Siebel Tools Guide Volume 2 of 2

15-15

Data Cleansing and Deduplication


Configuring Deduplication

Both real-time and batch results are stored in the results business component, but
the real-time results are a subset that the real-time dialog box isolates based on a
columncalled DEDUP_REQ_IDthat holds the deduplication request ID.
You should periodically run an SQL script to clear out old records from
S_DEDUP_RESULT. You can base your pruning algorithm on the LAST_UPDATED
column, testing for dates earlier than some specified date.
NOTE: Data cleansing can be particularly useful if you allow your users to
synchronize Contacts with Microsoft Outlook. This is because two users might enter
a single Contact record into their respective Outlook application that shows up as a
duplicate in Siebel applications because of a slight variation in spelling (for
example, William Stevens and Bill Stevens).

15-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Cleansing and Deduplication


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

15

This chapter describes the Siebel data cleansing and deduplication product features.
It describes how to configure Siebel applications for data cleansing and
deduplication, and how to run these processes in real time.
Table 15-2 lists sources of additional information about topics discussed in this
chapter.
Table 15-2.

Version 6.0

Sources of additional information

For information about this topic . . .

. . . see the following

Enabling and disabling data cleansing and


deduplication

Siebel Server Administration Guide

Running data cleansing and deduplication in batch


mode

Siebel Server Administration Guide

Siebel Tools Guide Volume 2 of 2

15-17

Data Cleansing and Deduplication


Chapter Summary and Where to Get More Information

15-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance

16

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-2


Causes of Poor Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
Severe Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-3
Significant Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16-4
Moderate Performance Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-4
Multi-Value Group Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-5
Database Indexes in Sorting and Searching . . . . . . . . . . . . . . . . . . . . . 16-7
Displaying Totals in a List Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-8
Other Performance Bottlenecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-9
Performance Troubleshooting Using Spooled SQL . . . . . . . . . . . . . . . 16-11
Analyzing the Trace File and Query Plans . . . . . . . . . . . . . . . . . . . 16-14
Followup Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-17
Chapter Summary and Where to Get More Information . . . . . . . . . . . 16-18

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-1

Improving Performance
About This Chapter

About This Chapter

16

This chapter discusses the most common sources of performance problems in


Siebel applications, how to prevent them, and how to diagnose them when they
occur.

16-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Causes of Poor Performance

Causes of Poor Performance

16

The Siebel architecture has been designed and tuned for optimal performance,
making use of features such as database indexes, data caching, RDBMS cursors,
efficient SQL generation, native database APIs, and so on. However, in custom
configuration there are various potential performance pitfalls, and their impact can
be amplified in environments with large databases and wide data distribution
across servers.
The primary causes of poor performance (categorized by severity) are listed below,
and described in the following sections.

Severe Performance Impact

16

 Multi-value group performance:


 Nonprimary multi-value groups appearing in a list applet

 Database indexes in sorting and searching:


 Sort specification containing one or more joined fields
 Nonindexed sort specification on a large result set
 Nonindexed search specification on a large table

 Displaying totals in a list applet:


 Displaying totals in a list applet with a large number of records

 Other performance bottlenecks:


 Search specification on a non-RDBMS-supported calculated field
 Setting the Cascade Delete property to TRUE in a link used in a many-tomany relationship

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-3

Improving Performance
Causes of Poor Performance

Significant Performance Impact

16

 Nonprimary multi-value groups appearing in a form applet


 Several business components used by applets in a view
 Too many joins, extension tables, or primary multi-value groups used in a
business component

Moderate Performance Impact

16

 A large number of fields used by a business component


 Use of outer joins when standard joins are sufficient

16-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Multi-Value Group Performance

Multi-Value Group Performance

16

Multi-value groups are a useful feature that permits the association of multiple
records within a single parent record, such as a list of address records for an account
or a list of sales team members for an opportunity. (Multi-value groups are
described in Chapter 21.)
However, in most cases, you need to assign a primary ID field when configuring a
multi-value group, or there could be serious performance consequences for list
applets that are based on the business component. Multi-value groups without a
primary ID field also have a performance impact on form applets that are based on
the business component, although it is not as severe as the result for list applets.
A business component with a multi-value field (a field containing a multi-value
group) has a one-to-many (or many-to-many) relationship with the records in the
multi-value group. For this reason, when a list applet displays each record from a
master business component (with no primary ID field defined), it must query all of
that records detail records to obtain a value to display in the multi-value field. The
performance impact is considerablethe number of queries invoked is many times
the number actually required.
When a primary ID field is defined in the master business component, it serves as
a foreign key from each master record to one record in the detail business
component. The primary ID field is used in a primary join to retrieve only one
record when the master business component is queried. Only when the multi-value
group is invoked by the user is the secondary query run to query the detail business
component for the detail records of the current master record. In other
circumstances, only one detail record is accessed for each master record.
The performance benefits of a primary join when a multi-value field is exposed on
a form applet are not as considerable as for a list applet, but should still be
considered. In the list applet, a large number of master records are accessed, each
with its set of detail records. In a form applet, only one master record is accessed at
a time. The presence of a primary ID field results in a single detail record being
accessed for each new master record displayed, rather than multiple detail records.
This can speed up the movement between master records in the form applet
somewhat as the user moves between them.

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-5

Improving Performance
Multi-Value Group Performance

There are some special circumstances in which configuring a primary join is not
desirable or feasible:

 When a foreign key would have to be added by means of an extension column.


The key here is that the extension column not be used to support the relationship
to the child business component. In this case that is being handled by the
destination link. The Primary Id field is only being used to speed performance.

 When Sybase or Microsoft SQL Server is being used, and the creation of the
primary join would create a double-outer-join situation prohibited by the Sybase
or Microsoft software.

 When the only purpose of the multi-value field is to sum child values.
In general, however, when a multi-value field is defined, a primary ID field should
be defined for it.

16-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Database Indexes in Sorting and Searching

Database Indexes in Sorting and Searching

16

A database index is a data structure in the relational database system associated


with a table. It provides references to all records in the table for quick lookup and
filtering, and is sorted in a particular order for sorting in that order quickly. The
database server uses an index to efficiently retrieve and sort the result set of a query.
Indexes provided in the Siebel Data Model are tuned for optimal performance of
standard Siebel applications. When you add new business components with custom
sorting or filtering requirements, you need to ensure that a database index is present
that supports the requirement and delivers the result set efficiently. You may need
to add new indexes.
An index is added in Siebel Tools using the Index and Index Column object types.
The index is added in the relational database as a result of its being created in Siebel
Tools and database extensions being applied. The addition of custom indexes can
adversely affect performance. You should discuss any custom index requirements
with a Siebel Expert.
The Sort Specification property of a Business Component object or picklist orders
the records retrieved in a query, and serves as the basis for the ORDER BY clause in
the SQL issued. An index needs to be present that supports the order specified in
the sort specification. Otherwise, the RDBMS engine physically sorts the entire
result set in a temporary table. The index needs to include the base columns for all
of the fields, and to use them in the same order. There can be more columns
specified in the index than are used in the sort specification, but the reverse is not
true.
For example, the sort specification Last Name, First Name in the Contact business
component is supported by at least one index on the S_CONTACT base table. One
of these indexes is called S_CONTACT_U1, and it contains the LAST_NAME,
FST_NAME, MID_NAME, PR_DEPT_OU_ID, OWNER_PER_ID and CONFLICT_ID
columns, in that order. If you wanted a search specification that ordered contacts in
first-name order, you would need to create a custom index.
The Search Specification property in a business component, applet, link, or picklist
selectively retrieves rows from the underlying table that meet the criterion specified
in the property. The search specification is the basis for the WHERE clause in the
resulting SQL. An index needs to be present that supports the criterion. Otherwise
the RDBMS engine may scan through all rows in the table rather than only those to
be returned by the query. The index needs to contain all the columns referenced by
fields in the search specification.

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-7

Improving Performance
Displaying Totals in a List Applet

Displaying Totals in a List Applet

16

You can configure a list applet to display totals at the bottom of one or more list
columns. This is configured with TRUE settings in the Total Required property in
the List object definition and the Total Required property in one or more List
Column object definitions (the ones you want totaled).
Setting up a list applet for totals will degrade performance somewhat, as all records
must be obtained in order to arrive at the totals. When there is no totaling, the
system can access records in batches for display, returning for another batch as the
user scrolls further down the list.
An additional property of the List object, Total Displayed, can have a major
performance impact. When Total Displayed is set to TRUE, the totals are calculated
and displayed immediately each time the user enters the view. When it is FALSE,
the user must specifically request totals using the Edit Show Totals menu option.
You should set Total Displayed to FALSE in a totaled list applet unless the number
of returned records is generally very small (such as in the list of line items for a
purchase order) or when the users demand to see totals each time the view is
entered.

16-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Other Performance Bottlenecks

Other Performance Bottlenecks

16

The following are some additional sources of poor performance:

Search specification on a non-RDBMS-supported calculated field. Calculated fields

utilize functions that may or may not be supported by the underlying relational
database system. If the RDBMS supports the function, it will have algorithms for
performing the calculations efficiently and will return the calculated values with
the result set. If the function is not supported in the RDBMS, the Siebel client
may have to rescan the entire result set to perform the desired calculation,
considerably increasing the time it takes to obtain the results of the query. The
difference is that in the one case the calculations can take place before the
results are returned, and in the other, they have to be performed in memory on
the client.
NOTE: Even if the calculated field is supported at the RDBMS level, there may be
other reasons why a search specification on a calculated field may result in poor
performance, such as the lack of an index supporting the search specification.
See Database Indexes in Sorting and Searching on page 16-7.

Too many business components in a view. An excessive number of different

business components used in applets in a view can slow down the display of
data upon entry into that view. This is because each of the applets must be
populated with data.

Number of joins, extension tables, and primary ID fields in a business component. Joins

degrade performance by causing an extra row retrieval in the joined table for
each row retrieval in the main table. Extension tables and primary ID fields also
use joins, although implied rather than explicitly defined, adding a row retrieval
for each. The more joins, extension tables, and primary ID fields defined in a
business component, the higher the number of row retrievals required in tables
other than the main table, with a corresponding performance degradation.

Number of fields in a business component. There is no set limit on the number of

fields in a business component or list columns in a list applet. However, a


business component with too many active fields will have degraded
performance. Also, in some database systems it is possible to generate a query
that is too large to be processed.

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-9

Improving Performance
Other Performance Bottlenecks

Use of Force Active property in fields. When fields in the business component have

TRUE settings in the Force Active property, performance may be slowed. The
Force Active setting of TRUE indicates to the system that it must obtain data for
the field every time the business component is accessed, even though the field
is not displayed in the current applet. This adds the field to the SQL query each
time.
While Force Active is necessary in some cases, it is often sufficient to put a
control or list column on an applet and hide it by setting the Visible property
to FALSE. This way the data does not have to be retrieved every time the
business component is instantiated, only when the relevant applet is used.

Use of Link Specification property in fields. TRUE settings in the Link Specification

property in fields may also slow performance. If TRUE, the fields value is passed
as a default value to a field in the detail business component through a link. This
is necessary if the master business component has a link relationship (in the
current business object) with one or more detail business components, and
these detail business components utilize the Parent: expression in the Pre
Default Value, Post Default Value, or Calculated Value properties in any fields.
The master business component must pass the field value to any detail records
displayed. As with the Force Active property, fields with the Link Specification
property set to TRUE will be retrieved every time the business component is
queried.

Use of outer joins Instead of Inner joins. Inner joins may be used for joined tables,
with a resulting savings in overhead, provided you are guaranteed that all
foreign key references are valid. For example, when the join is from a detail
business component to its master, you are guaranteed of the existence of the
master. You can configure the join as an inner join by setting the Outer Join Flag
property of the Join object to FALSE. This improves the performance of queries
that use the join.

Cascade Delete set in a many-to-many link. The Cascade Delete property in a Link

object definition must be correctly configured for use in a many-to-many link,


or the first insertion or deletion in the association applet will be abnormally
slow. A link object definition used in a many-to-many relationship is one that
contains a non-NULL Inter Table setting. The Cascade Delete property in such a
link must be set to NONE.

16-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Performance Troubleshooting Using Spooled SQL

Performance Troubleshooting Using Spooled SQL

16

Performance troubleshooting is an iterative process. You need to consider


performance implications during design. During development you need to note any
changes to potentially troublesome areas, especially multi-value groups and sort
and search specifications in new and changed business components, as well as the
addition of joins, extension tables, and indexes. Then you test the application to
determine bottlenecks, using realistic data volumes and distribution in your test
environment. You should focus the testing effort on the slowest, most important,
and most highly configured views.
If a performance problem is detected in testing or production, your next step is to
analyze the SQL statements being spooled by Siebel applications. This is your most
useful diagnostic tool for performance analysis.
To generate an SQL trace file, you add the /S parameter to the command line in the
properties for the Start Menu or desktop icon from which the Siebel application is
invoked. The command line has the following syntax:
C:\Siebel\bin\siebel.exe /c config_file /s trace_file

The /s trace_file expression in the command line instructs the system to


generate an SQL trace file with the specified filename and path. This trace file
records the text of all of the SQL queries issued by the Siebel application, and
identifies the amount of time spent processing each one. The trace file may be
opened in a text editor for examination after the session has ended.
NOTE: You can also programmatically start and stop SQL spooling though the Siebel
Object Interfaces by using the TraceOn and TraceOff methods on the Application
object. See the Siebel Object Interfaces Reference for more information.

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-11

Improving Performance
Performance Troubleshooting Using Spooled SQL

A sample SQL query and its bind variables and execute times appear below,
extracted from a trace file:
SELECT
T1.LAST_UPD,
T1.CREATED_BY,
T3.RSTRCT_DEL_FLG,
T3.RSTRCT_TRNS_FLG,
T1.DEFAULT_STATE_ID,
T2.LOGIN,
T3.DESC_TEXT,
T1.CONFLICT_ID,
T1.ACTIVATE_DT,
T1.CREATED,
T1.ROW_ID,
T2.ROW_ID,
T1.DESC_TEXT,
T3.VALUE,
T1.EXPIRE_DT,
T3.ROW_ID,
T1.NAME,
T3.RSTRCT_UPD_FLG,
T1.MODIFICATION_NUM,
T1.FIELD_NAME,
T1.BUSCOMP_NAME,
T1.LAST_UPD_BY

16-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Performance Troubleshooting Using Spooled SQL

FROM
SIEBEL.S_STATE_MODEL T1
INNER JOIN SIEBEL.S_EMPLOYEE T2 ON T1.CREATED_BY = T2.ROW_ID
LEFT OUTER JOIN SIEBEL.S_SM_STATE T3 ON T1.DEFAULT_STATE_ID
= T3.ROW_ID
WHERE
(T1.BUSCOMP_NAME = ? AND T1.ACTIVATE_DT <= ? AND (T1.EXPIRE_DT
IS NULL OR T1.EXPIRE_DT >= ?))
ORDER BY
T1.NAME

Bind variable 1: Opportunity


Bind variable 2: 08/11/1999 12:40:55
Bind variable 3: 08/11/1999 12:40:55

***** SQL Statement Execute Time: 0.170 seconds *****

NOTE: If the same statement is executed repeatedly, the Siebel application will
display the entire statement for the first query and only the bind variables for each
subsequent iteration of the query.

SQL statements are displayed for all queries, including housekeeping queries. These
are queries that are necessary for system operation, such as looking up the users
login to obtain responsibilities, and determining todays alarms in the calendar. You
will also see queries to the S_LST_OF_VAL table to populate picklists. The queries
that populate views are also present in the trace file, and should be easily
distinguishable based on the tables they access.

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-13

Improving Performance
Performance Troubleshooting Using Spooled SQL

Analyzing the Trace File and Query Plans

16

A query plan is a detailed reporting of various statistics about the query you
executed.

To obtain a query plan for an SQL statement in your trace file


1 Execute the Interactive SQL (isql.exe) program, located in the \bin subdirectory
of the Siebel Tools installation directory (generally siebdev\bin). The Data
window opens.

2 Copy and paste the SQL statement to analyze into the Command windowpane.
3 Replace bind variable references with the corresponding bind variable values.
4 Click the Execute button.
The query runs against the local SQL Anywhere database.

5 The Statistics windowpane provides analysis information.

16-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Performance Troubleshooting Using Spooled SQL

As you look through the trace file and run query plans, you should be aware of:

 The number and complexity of SQL statements


 Execution times
 Sorting criteria in the ORDER BY clauses, indicating sort specifications
 Selection criteria in the WHERE clauses, indicating search specifications
 The use of indexes (these are identified when you run a query plan)
 The use of temporary tables (also in the query plan)
 The use of sequential table scans (also in the query plan)
Run your query plans against datasets that are comparable to the production
dataset. You will not obtain useful results analyzing the performance of a query
against a 30-record test dataset when the production database has 200,000 records.
You may find it useful to prioritize the views to examine, as follows:

 First priorityViews that are known to have the biggest performance


bottlenecks

 Second priorityThose views that are accessed most frequently


 Third priorityViews that are the most highly configured (as compared to the
standard Siebel application)
Comparison with the standard Siebel application provides your benchmark for
evaluation. It is often very useful to obtain a trace file from the standard Siebel
application, following a preselected route through the views. Then you obtain a
separate trace file from the custom-configured application, following the same route
as closely as possible. The two trace files are compared, noting differences in the
bullet items listed above.

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-15

Improving Performance
Performance Troubleshooting Using Spooled SQL

You can tell where each new business object is being opened by searching for the
S_APP_QUERY statement. You can determine which business object has been
accessed by checking the Bind Variable statements beneath the query. Bind
variables are the values that determine which records are brought back. The
database software substitutes the value of a bind variable into an SQL statement
when the same SQL statement is being reused, generally in place of each occurrence
of a question mark or series of question marks. A business object bind variable is
used in an S_APP_QUERY statement because the purpose of this statement is to
open the business object.
Watch for the following indications of potential problems:

 Unnecessary fields are being accessed, especially ones not exposed in the user
interface and not needed for calculated fields, or used for passing values to child
records.

 Unnecessary joins are occurring, particularly to tables that are not being
accessed

 Unnecessary multiple joins are being made to the same table. This can indicate
duplicate join or multi-value link object definitions, or joins using the same
foreign key

 Multiple short queries similar to the following:


...FROM
SIEBEL.S_ADDR_PER T1

When a short query appears many times, this generally indicates that a multivalue group without a primary join is being accessed by a list applet. The system
is running a secondary query for each master record to obtain its detail records.
The secondary queries are the short queries appearing in the log file. This is
usually your best diagnostic indicator of the need for a primary join.
When a short query appears only once, it indicates the same situation, but
accessed in a form applet. In either case, the cure is a primary join, as explained
in Multi-Value Group Performance on page 16-5.

16-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Improving Performance
Performance Troubleshooting Using Spooled SQL

Followup Analysis

16

If you identify a problematic query in the trace file, you can obtain more information
about it using the database query tool provided with the RDBMS (such as SQL*Plus
in Oracle). Copy and paste the SQL statement from the trace file into the database
query tool, and then execute the query against the database. This will provide the
following additional information:

 The use of indexes


 The use of temporary tables
 Table scans

Version 6.0

Siebel Tools Guide Volume 2 of 2

16-17

Improving Performance
Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

16

This chapter discussed the most common sources of performance problems in


Siebel applications, how to prevent them, and how to diagnose them when they
occur.
Table 16-1 lists sources of additional information about topics discussed in this
chapter.
Table 16-1.

16-18

Sources of Additional Information

For information about this topic . . .

. . . see the following

Multi-value groups

Chapter 21

Joins

Joins on page 18-27

Links

Links on page 18-34

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Architecture

Part 5

Chapter 17. Data Objects Layer


Chapter 18. Business Objects Layer
Chapter 19. User Interface Objects Layer

Version 6.0

Siebel Tools Guide Volume 2 of 2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer

17

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2


Data Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-2
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
Base Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-5
Properties of the Table Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-6
Data Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
Extension Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-7
Intersection Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18
Column Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-29
Column Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-29
Data Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-31
Extension Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-31
System Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-33
Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-36
Index Column Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-37
EIM Interface Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-38
EIM Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17-39
Labeling Data Loaded in EIM as No Match Row Id Instead of NULL . . . .17-48
Field Data Types

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-48

Chapter Summary and Where to Get More Information . . . . . . . . . . . 17-53

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-1

Data Objects Layer


About This Chapter

About This Chapter

17

This chapter describes:

 Objects in the Data Objects Layer of the Siebel eBusiness Applications


architecture

 The underlying database management system (DBMS)

Data Object Types

17

Data objects fall under two data object types:

 Table, and child object types:


 Column
 Index
 User Key

 EIM (Enterprise Integration Manager)


Interface Table data objects map to underlying physical data objects that are
stored in a relational DBMS.

17-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Data Object Types

Siebel applications store and retrieve all their data from a relational DBMS.
Figure 17-1 shows the database columns in a Siebel application database table,
S_ORG_EXT, as displayed in the SQL*Plus viewer in Oracle.

Figure 17-1. S_ORG_EXT Table Displayed in Oracles SQL*Plus

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-3

Data Objects Layer


Data Object Types

Figure 17-2 shows the column object definitions in the S_ORG_EXT table object
definition in the Object List Editor of Siebel Tools.

Figure 17-2. S_ORG_EXT Columns in the Object List Editor of Siebel Tools

One Table object definition exists in Siebel Tools for each database table, and there
are similar correspondences between Column and Index object definitions in Siebel
Tools with physical columns and indexes.

17-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Tables

17

A table object definition is the direct representation of a physical database table in


a DBMS.
Siebel provides a set of standard tables that are included in standard Siebel
applications. These tables have predefined names and structures, and typically
begin with one of the following prefixes:

S_. Table names starting in S_ are standard tables for supplied with Siebel Sales

and Siebel Service. For example, the S_CONTACT table stores contact
information, and S_OPTY stores opportunity information. Nearly all standard
tables are of this type.

W_. Table names starting in W_ are warehousing tables used in Siebel Marketing
to normalize data used in the S_ tables.

Base Tables

17

The term base table is used in two different contexts:

 The base table for an extension table is the table it extends. This is specified in
the Base Table property of the extension tables object definition. Extension
tables are discussed in Extension Tables on page 17-7.

 The base table for a business component is the table that provides most of its
essential fields. This is specified in the Table property of the Business
Component object definition. The set of fields supplied by the base table is
supplemented by nonupdateable fields that are obtained from joins. Business
components are discussed in Business Components on page 18-3.
Tables have various styles based on the value in the Type property. They include,
among others, Data, Extension, Intersection, and Interface. Table styles are
summarized under the Type property heading in Properties of the Table Object
Type on page 17-6, and each is discussed in detail in a subsequent section.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-5

Data Objects Layer


Tables

Properties of the Table Object Type

17

The following are the key properties in a table object definition:

Name property. Provides the name of the table in the DBMS.

Type property. Indicates which of the following styles describes the table.

 Data (Public) value. Public data tables are among the original set of tables
implemented in Siebel applications. They hold data that is made available
through business components to developers and users. Public data tables can
be extended using extension tables and, subject to database restrictions,
extension columns.

Data tables are discussed in Data Tables on page 17-7.


 Data (Private) value. Private data tables are similar to public data tables, but
cannot have extension columns.
 Data (Intersection) value. Identifies an intersection table. An intersection table
implements a many-to-many relationship between two data tables.

Intersection tables are discussed in Intersection Tables on page 17-18.


 Extension value. An extension table adds additional columns to a data table
that the original data table is unable to hold due to DBMS platform or Siebel
application design restrictions. Extension table names have an _X suffix, or
_XM for one-to-many, or _T for TAS extension tables.

Extension tables are discussed in Extension Tables on page 17-7.


 Interface value. Interface tables are used by Siebel Enterprise Integration
Manager (EIM) to import initial data for populating one or more base tables
and subsequently to perform periodic batch updates between Siebel
applications and other enterprise applications. Interface table names end in
_IF or _XMIF.

Interface tables are discussed in Column Objects on page 17-29.


 Database View, Dictionary, Journal, Log, Repository, Virtual Table, and Warehouse
styles. These are all table types that are reserved for Siebel internal use.

17-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Base Table property. Identifies the base table if the table in the object definition
is an extension table. If the table in the object definition is not a base table, this
property is blank. An extension table always identifies a base table.

User Name property. A longer, descriptive name that aids in identifying the table

when used in configuration.

Alias property. A name that can be used as a synonym for the table name to make
the name more understandable. For example, an alias such as
S_Organization_External could be specified for the S_ORG_EXT table.

Data Tables

17

Data tables comprise most of the tables in Siebel applications. They serve as base
tables for business components, and their columns provide the data for fields. Data
tables can be public or private.

Extension Tables

17

An extension table provides additional columns to a data table that cannot be


directly added to the original table because the underlying DBMS may support only
a limited number of columns, or will not allow adding a column to a table once it
is populated with data. An extension table allows you to provide additional columns
for use as fields in a business component without violating DBMS or Siebel
application restrictions.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-7

Data Objects Layer


Tables

An extension table is a logical augmentation of an existing table. Its columns are


provided for developers, and are not used by standard Siebel applications. An
extension table extends a base table in the sense that it effectively adds additional
columns. These columns are not physically part of the base table, but are available
for use in a business component alongside the base table columns as if they were.
The relationships between a base table, an extension table, and the business
component that uses them are illustrated in Figure 17-3.

Business Component
primary
key Field

standard
Field 1

standard
Field 2

base Table
primary key
Column

custom Field 1

custom
Field 2

extension Table
standard
Column 1

standard
Column 2

standard
Column 3

(foreign) key
Column

generic
Column 1

generic
Column 2

Figure 17-3. Business Component, Base Table and Extension Table

17-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Note the following distinctions between standard and custom extension tables:

 Siebel provides standard extension tables for several of the standard data tables.
A standard extension table has a predefined relationship with a standard data
table. This relationship allows you to easily add columns for new functionality
without making alterations to the base table. You cannot create or delete
standard extension tables.

 You can use the Siebel Database Extension Designer to create custom extension
tables to extend data tables, provided the data tables are of type Data (Public).
NOTE: Custom extension tables, once created by the developer, cannot be deleted

from within Siebel Tools.


An extension table, whether standard or custom, provides a set of generic columns
of various data types and lengths for your use. These may eliminate the need to add
a custom column to the extension table. Generic columns in an extension table have
names of the form ATTRIB_xx, where xx stands for a two-digit number. For
example, there are generic columns named ATTRIB_04 and ATTRIB_12.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-9

Data Objects Layer


Tables

Figure 17-4 illustrates how columns from a standard one-to-one extension table are
used in the Contact business component in Siebel applications.

Contact Business Component

Id Field

standard data
Fields

S_CONTACT base Table


ROW_ID
Column

Approval Authority
Field

Married Field

Years At Account
Field

S_CONTACT_X extension Table

standard data
Columns

PAR_ROW_ID
Column

ATTRIB_15
Column

ATTRIB_O8
Column

ATTRIB_14
Column

Figure 17-4. Extension Table Example

There are eight fields in the Contact business component displaying data from
generic columns in S_CONTACT_X; only three are shown here. Extension tables
themselves are sparse; extension table rows exist only for those base table rows
that have extension data to store.

17-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Extension tables can be of the one-to-one or one-to-many style:

 Rows in one-to-one extension table have a one-to-one relationship with


corresponding rows in the base table. A one-to-one extension table extends the
base table horizontally, as shown in Figure 17-4. One-to-one extension tables are
described in greater detail in One-to-One Extension Tables, following.

 In a one-to-many extension table, there are multiple extension table rows for
each base table row. There are standard one-to-many extension tables for certain
of the major business components, including Opportunity, Contact and Account.
These are used primarily to create multi-value groups based on user-created
business components. One-to-many extension tables are described in One-toMany Extension Tables on page 17-14.

One-to-One Extension Tables


One-to-one extension tables have the _X suffix on their names (with the exception
of TAS tables, which have the suffix _T). The details of the object definition
relationships (excluding the implied join) are illustrated in Figure 17-5.

Business Component
Fields based on base
originating Control
Columns
Fields based on extension
Columns

extension Table
Column property

generic Columns
(ATTRIB_xx)

Legend:
object definition
contained (child) object definition
property specifies other object def

Figure 17-5. Extension Table Details (Excluding Implied Join)

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-11

Data Objects Layer


Tables

The object definitions in Figure 17-5 are:

Business component. Business component being extended.

Fields based on base columns. Fields that represent data from columns in the

business components base table. They are unaffected by the extension table.

Fields based on extension columns. Represent data from columns in the extension

table.

Extension table. Provides columns that may be used to add developer-defined


fields to the business component.

Implied Joins
Underlying the one-to-one extension tables relationships with the base table and
business component is a set of hidden relationships called an implied join. The
implied join makes the extension table rows available on a one-to-one basis to the
business component that uses the extension table. Every extension table has an
implied join with the business component it extends. This join always has the name
of the extension table.
An implied join is different from joins defined as object definitions. Data can be
updated through an implied join. Data can be displayed only through other joins.
This update capability is important for extension table functionality.
When a field in the business component is based on a column in the extension
table, the Column property of the Field object is set to the name of the column, and
the Join property is set to the name of the extension table. For example, the Birthday
field in the Contact business component has a Column property value of ATTRIB_26
and a Join property value of S_CONTACT_X.

17-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

The details of the object definition relationships in an implied join are illustrated in
Figure 17-6.

Business Component
Fields based on base
Columns
originating Control

extension Table

Column property

Fields based on extension


Columns

Join
property

Id Field
(implied)

generic Columns
(ATTRIB_xx)
Destination
Column
property

PAR_ROW_ID
Column

Source
Field
property
Table
property

Join (implied)
Join Specification
(implied)

Legend:
object definition
implied object definition
contained (child) object definition
property specifies other object
definition

Figure 17-6. Extension Table Details with Implied Join

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-13

Data Objects Layer


Tables

The following definitions participate in the implementation of the implied join:

Id field. The Id field is a system field in the business component. It represents the

ROW_ID column in the base table, and it can be used in joins involving
extension tables and other joined tables.

PAR_ROW_ID column. PAR_ROW_ID stands for parent row ID. Every extension

table has this column, and every extension table row has a value there. It is used
as a foreign key to the base table that is extended by the extension table.
For more information, refer to the section titled Joins on page 18-27.

One-to-Many Extension Tables


One-to-many extension tables have a Type property value of Data (Public) rather
than Extension. However, from a functional standpoint, one-to-many extension
tables are considered extension tables, and they have the same set of generic and
system columns. The names of one-to-many extension tables have the suffix _XM.
There is a fixed set of one-to-many extension tables supplied with Siebel
applications, and you cannot create additional ones. However, you can extend
existing one-to-many extension tables.
You can use one-to-many extension tables to create multi-value groups and masterdetail views that are based on custom business componentsthat is, business
components not present in standard Siebel applications.
For example, you may have a need for three new multi-value fields in the Contact
business component to store information on hobbies, prior companies, and areas of
expertise for each contact. No business components exist for these entities.
However, you can implement the same functionality using S_CONTACT_XM, the
one-to-many extension table that extends the Contact business component. A oneto-many, rather than one-to-one, extension table is required because there can be
many hobbies, prior companies, or areas of expertise for one contact.
Since the relationship is one-to-many rather than one-to-one, a link is required
rather than an implicit join. The relationships between object definitions used to
implement a multi-value field that is based on a one-to-many extension table are
illustrated in Figure 17-7.

17-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

master Business
Component
detail Business
Component

Key Field

1:M extension Table

Column property

Multi Value Field


Multi Value
Link
property

generic Columns
(ATTRIB_xx)

custom Fields

Name Field

Column property

NAME Column

Multi Value Link

Destination
Link
property

Source
Field
property

Parent
Business
Component
property

Type Field
(predefaulted)

Column property

"Id" Field (e.g.


Parent Contact Id)

Column property

TYPE Column

PAR_ROW_ID
Column

Link
Child
Business
Component
property
Destination Field property

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 17-7. One-to-Many Extension Table Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-15

Data Objects Layer


Tables

The object definitions in Figure 17-7 are described in detail below.

Master Business Components


The master business components will hold the new multi-value field(s). Master
business component contain the following important object definitions:

Key field. This is the key field in the master business component; it is used to
reference individual records. Typically, it is named Id. The Source Field property
of the Link object definition points to this field. The property value may be blank
because, by default, a blank Source Field value refers to the Id field.

Multi-value field. The multi-value field provides access to a corresponding field

value in the current record of the detail business component. The control or list
column that displays the multi-value field normally will be able to invoke a
multi-value group applet for display and maintenance of the detail records.

Multi-value link. The multi-value link provides access to the set of records in the

detail business component. One multi-value link is created for each multi-value
group that is created using the one-to-many extension table.

Link
The link object definition creates the one-to-many relationship between the master
and detail business components. There are no special link configuration issues
related to one-to-many extension tables. For more information on the configuration
of links, refer to Links on page 18-34.

Detail Business Component


The detail business component represents the one-to-many extension table used by
the multi-value link and multi-value group applet. Multiple custom business
components can be created using the same one-to-many extension table. Each
custom business component presents a different type of data for use in a different
multi-value group.
The detail business component contains custom fields that represent generic
(ATTRIBxx) extension columns, and hold whatever data is required for the
application. For example, an Area Of Expertise business component might have a
Subject Area field, a Years Of Experience field, and a Licensed field. Each field is a
mapping of a different generic extension column.

17-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

The following three fields are part of the User Key (U1), which uniquely identifies
a row for EIM:

Name field. The name field represents the NAME column from the extension
table. It provides the means for the user to enter an identifying value in each
record. For example, in a Hobbies business component, the name field might be
called Hobby. The user would enter the name of a hobby into each record in this
field.

Type field. The type field is usually named Type, and represents the TYPE

column. It contains the same value for all records in one multi-value group, and
distinguishes the records of that multi-value group from others. It should be set
in the Predefault property to some identifying word or phrase, such as HOBBY,
EXPERTISE or PRIOR JOB, and should not be exposed in the user interface.

Parent ID field. The parent ID field represents the PAR_ROW_ID column.

Generally it is named Parent Contact Id, Parent Account Id, or something similar.
It identifies the row ID of the base table row corresponding to the parent record
in the master business component. The parent ID field is specified in the
Destination Field property of the Link object.
The detail business component contains one important property for use with a oneto-many extension table:

Search Specification. The Search Specification property should be set to restrict

the records retrieved to only those with a specific value in the Type field. This is
the same value that is specified in the Pre Default Value property for that field.
In this way, the only records retrieved in the business component (and,
indirectly, the multi-value link and multi-value group applet) are those
designated as being in this multi-value group.
NOTE: Do not define tables with names longer than 18 characters in the DB2 or

Informix environments.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-17

Data Objects Layer


Tables

Intersection Tables

17

An intersection table implements a many-to-many relationship between two


business components.
NOTE: You may find it helpful to read the section titled Links on page 18-34 before

reading this section.


A many-to-many relationship is one in which there is a one-to-many relationship
from either direction. For example, there is a many-to-many relationship between
Opportunities and Contacts. One Opportunity can be associated with many Contact
people, and one Contact person can be associated with many Opportunities. Two
different views can appear (in different business objects) which associate the two
business components in opposite ways, as illustrated in Figure 17-8 on page 17-19
and Figure 17-9 on page 17-20.

17-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Figure 17-8 shows the Opportunity Detail - Contacts View, in which one
Opportunity displays with multiple detail Contacts.
Opportunity master record

Contact detail records

Figure 17-8. Opportunity Detail - Contacts View

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-19

Data Objects Layer


Tables

Figure 17-9 shows the Contact Detail - Opportunities View, in which one master
Contact is displayed with multiple detail Opportunities.
Contact master record

Opportunity detail records

Figure 17-9. Contact Detail - Opportunities View

17-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

In order to implement a many-to-many relationship, two links and a table


designated as an intersection table are required. The table is designated as an
intersection table in its Type property by means of a value of Data (Intersection).
The intersection table represents the many-to-many relationship as two one-tomany relationships, which the underlying DBMS is designed to handle. There is no
database construct that implements many-to-many relationships directly. This
representation design is illustrated in Figure 17-10.

Opportunity
business
component

many-to-many
relationship

Contact
business
component

implemented as
Opportunity
business
component

Contact
business
component

one-to-many
relationship

one-to-many
relationship

S_OPTY_CON
intersection table

Figure 17-10. Many-to-Many Relationship as Two One-to-Many Relationships

You cant directly configure a custom intersection table. However, if your


organization needs this functionality, contact a Siebel Expert for assistance.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-21

Data Objects Layer


Tables

How Intersection Tables Are Configured


Figure 17-11 displays the object types used in the implementation and use of an
intersection table.

Business Objects Layer


Business Object
Component

Business Object

1:2
Link

Business
Component

Field

Table (object
definition)

Column (object
definition)

Data Objects Layer

Legend:
Object type
1:M relationship through object hierarchy
1:M relationship through properties

Figure 17-11. Intersection Table Architecture

17-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

The intersection table contains one row for each association between a row in one
business components base table and a row in the other business components base
table, regardless of which one-to-many relationship the association pertains to. The
association row in the intersection table stores the ROW_ID values of the row in
each business component base table. The details of intersection table relationships
are illustrated in Figure 17-12.

Business Object
master
Business
Object
Component

detail Business
Object
Component

Business
Component
property

master Business
Component

Table
property

base Table
ROW_ID
Column

Business
Component
property

Link
property

Parent Business
Component
property

Child Business
Component
property

Link

Inter Parent
Column
property

Inter
Table
property

Inter Child
Column
property

Table
property

base Table

intersection Table
inter
parent
Column

detail Business
Component

inter child
Column

ROW_ID
Column

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 17-12. Intersection Table Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-23

Data Objects Layer


Tables

Figure 17-13 shows the object definition relationships in greater detail.

Opportunity - Contacts
Detail View

Contacts - Opportunity
Detail View

Smith Dry Goods

Amy Miller

Opportunity
Business
Object

Contact
Business
Object

Cynthia Smith

Smith Dry Goods

George Gilley

Soul Food Delux

Cynthia Smith
Link Opportunity
/Contact

Link Contact/
Opportunity

Business
Component Opportunity

Business
Component Contact

intersection Table - S_OPTY_CON


base Table - S_OPTY
ROW
_ID

NAME

801

Hat Extravaganza

1022

Smith Dry Goods

1213

Soul Food Delux

base Table - S_CONTACT


OPTY_ID
Column
(Opportunity)

PER_ID
Column
(Contact)

ROW
_ID

FST
_NAME

LAST
_NAME

1022

371

197

Steve

Jones

1022

375

218

Amy

Miller

1022

218

371

George

Gilley

1213

375

375

Cynthia

Smith

801

197

Figure 17-13. Intersection Table Example

17-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Notice how the associations stored in one intersection table serve both the
Opportunity/Contact and Contact/Opportunity links, and their corresponding
views. An association is simply a pair of ROW_ID values pointing to rows in their
respective business component base tables. One association may appear in both
views, for example, the association between Cynthia Smith and Smith Dry Goods in
Figure 17-13.
The set of object definitions and relationships in Figure 17-13 pertains to one of the
two links. The other link uses the same set of object types, but slightly different
relationships.
The following are descriptions of the object definitions in Figure 17-13:

Business object. The business object references the link (indirectly through the
business objects child business object component) that uses the intersection
table. It also contains the two business components included in the link.

Business object components. Business Object Component object definitions are

used to include business components in the business object. Business Object


Component is a child object type of Business Object. The detail business object
component references both the detail business component, by means of the
Business Component property, and the link, by means of the Link property. The
master business object component only references its corresponding business
component.

Link. The link object definition establishes a one-to-many relationship between

the two business components in a particular direction. That is, the property
settings in the link specify that one business component is the master and the
other is the detail in the master-detail relationship.

Master and detail business components. The two business components are

specified in the link. They provide data to the user interface object definitions
that display the master-detail relationship. The base table of each business
component contains the ROW_ID column referenced by the Inter Child Column
(detail) and Inter Parent Column (master) properties of the Link object type.

Intersection table. The intersection table holds the associations between rows in

the base tables of the master and detail 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.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-25

Data Objects Layer


Tables

Inter Parent column. This column in the intersection table holds the pointer to the
associated row in the master business components base table. It is identified in
the Inter Parent Column property of the Link object.

Inter Child column. This column in the intersection table holds the pointer to the

associated row in the detail business components base table. It is identified in


the Inter Child Column property of the Link object.

ROW_ID columns. The base table of each business component has a unique
identifier column for the rows in that table. This is the ROW_ID column.

NOTE: The Inter Table, Inter Parent Column, and Inter Child Column properties of
the Link object type are specific to links used in implementing many-to-many
relationships based on intersection tables, and are blank in other links.

17-26

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Tables

Figure 17-14 illustrates the property settings in the two links used to implement a
many-to-many relationshipin this case the relationship between Opportunities
and Contacts.

Contact/
Opportunity Link
Child Business
Component
property

Parent Business
Component
property
Inter
Child
Column
property

Opportunity
Business
Component

S_OPTY
Table

Inter
Table
property

Inter
Parent
Column
property

S_CONTACT
Table

S_OPTY_CON Table

Table
property

Table
property

ROW_ID
Column

OPTY_ID
Column

Inter
Parent
Column
property
Parent Business
Component
property

PER_ID
Column

Inter
Table
property

Opportunity/
Contact Link

Contact
Business
Component

ROW_ID
Column

Inter
Child
Column
property

Legend:
Child Business
Component
property

object definition
contained (child)
object definition
property specifies
other object def

Figure 17-14. Two-Link Intersection Table Example

Notice how the inter child column of one link is the inter parent column of the other,
and vice versa. Also notice how the parent business component in one link is the
child business component in the other, and vice versa. The two links are mirror
images of each other.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-27

Data Objects Layer


Tables

Intersection Data in the Intersection Table


In addition to the two foreign key columns that establish relationships between the
records in the two business components, an intersection table may contain various
columns that hold data specific to the intersection of the two. These columns are
called intersection data columns.
For example, in the S_OPTY_CON table, which implements the one-to-many
relationship between Opportunity and Contact, there are several data columns in
addition to OPTY_ID and PER_ID. These columns hold information about the
combination of a particular opportunity and a particular contact. A description of a
few of these columns follows:

ROLE_CD. The role played by this contact in this opportunity.

TIME_SPENT_CD. The time spent on this opportunity with this contact.

COMMENTS. Comment specific to this combination of opportunity and contact.

Some intersection data columns are useful primarily to one master-detail


relationship, some primarily to the other, and some to both. For example, ROLE_CD
would make sense only in the context of a master-detail relationship in which an
opportunity was the master record with multiple detail contact records. In contrast,
TIME_SPENT_CD would make sense in the context of either master-detail
relationship. That is, each contact has a unique role in the opportunity and the
converse does not make sense. However, the time spent with each contact on an
opportunity could be seen from the alternative perspective of the time spent on each
opportunity with a contact.
An intersection data column is accessed by a field in a business component using a
join. An implied join exists for any intersection table, and has the same name as the
intersection table. For example, the ROLE_CD column in S_OPTY_CON is mapped
into the Role field in the Contact business component. The Join property of this field
has the value S_OPTY_CON. The Contact business component does not have a
child join object definition named S_OPTY_CON; the join is automatically provided
and invisible in the Object Explorer. This is similar to the implied join that exists for
one-to-one extension tables. Data can also be updated through the implicit join.
NOTE: Intersection tables can be extended with extension columns. They cannot be

extended with custom extension tables.

17-28

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Column Objects

Joins are not the only way to expose intersection data. An alternative is to use the
intersection table as the base table for an intersection business component.
Intersection business components are described in Intersection Business
Components on page 18-15.

Column Objects

17

A Column object definition is the direct representation of a database column in a


DBMS. The name, data type, length, primary key/foreign key status, alias, and other
properties of the database column are recorded as properties in the corresponding
column object definition. Additional properties internal to Siebel applications are
provided in the object definition, such as the Changed and Inactive statuses, and
Type (a classification for column object definitions).
A column has one of several styles based on the value in the Type property. These
styles include Data, Extension, IFMGR, System, and others.
The Column object type is described in the next section followed by discussion of
the various column styles.

Column Object Type

17

The column object corresponds to one database column in the database table that
is represented by the parent table object definition. Each database column in the
database table needs to have a corresponding column object definition. The
important properties of the Column object type are as follows:

Name property. Provides the name of the database column in the database table.

Default property. Provides a default value when new rows of this table are added.

Physical Type (Physical Type Name) property. Identifies the data type of the column

in the database. The following data types are supported:


 Character. Used for fixed-length text. Also used for Boolean columns, which
are character columns with a length of 1.
 Long. Long text. You can store approximately 16K of data in long columns.
 Varchar. Variable-length text. Used for memo-type fields and to store row-ID
and foreign key values.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-29

Data Objects Layer


Column Objects

 Number. Any numeric data. Typical numeric columns in Siebel applications


are 22,7 for general-purpose numbers, and 10,0 for integers.
 Date. Date values only, without time.
 Date Time. Combined date and time values in the same column.
 Time. Time values only, without the date.

Precision property. Specifies the maximum number of digits in a number column.


For noninteger columns, the precision is 22. For integer columns, the precision
is 10.

Scale property. Specifies the maximum number of digits after the decimal point.
For noninteger columns, the scale is 7. For integer columns, the scale is 0.

Primary Key property. If TRUE, this column is the primary key for the table. With

minor exceptions, the ROW_ID column in a table is the primary key, and has a
TRUE value for this property.

Type property. Indicates which of the following styles describes the column:

 Data (Public). Public data columns are among the original set of columns
implemented in Siebel applications. They hold data that is made available
through fields to developers and users.
 Data (Private). Private data columns are reserved for Siebel use only; they
apply to tables used to manage the EIM process (for example, interface
tables).
 Denormalized. A denormalized column duplicates the data in a column in
another (base) table, for performance reasons. The table and column names
of the duplicated column are specified in the Denormalization Path property
of the Column object definition of the denormalized column. The
denormalized column should not be in the same table as the column whose
data it duplicates.
 Extension. An extension column is not used by standard Siebel applications.
It is used only in reconfigured applications. There are three kinds of
extension columns: standard extension columns, custom extension columns
in a base table, and custom extension columns in an extension table.

17-30

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Column Objects

 IFMGR: xxx. These columns have names such as IFMGR: ROW_ID and
IFMGR: Status. They are found in interface tables, and are for internal use by
the Siebel Enterprise Integration Manager.
NOTE: Interface tables also contain special columns, such as IF_ROW_STAT
and IF_ROW_BATCH_NUM. These columns are related to EIM processing,
but you can modify the contents of these columns. They have a type of
System rather than IFMGR: xxx.

 System. System columns appear in all tables in Siebel applications. However,


no one set of system columns appears in every table. You can use the data in
system columns for various purposes, although most system columns are
read-only.
NOTE: When configuring a custom extension column, you should set only the
following properties: Comments, Default, Foreign Key Table Name, Inactive, LOV
Bounded, LOV Type, Name, Nullable, Physical Type, Precision, Scale, and Text
Length.

Data Columns

17

Data columns comprise most of the columns in Siebel applications. They are
sometimes referred to as base columns. Data columns provide the data for fields, or
serve as foreign keys that point to rows in other tables. The developer cannot modify
the properties of data columns, unlike extension columns. Data columns can be
public or private.

Extension Columns

17

Extension columns have a value of Extension in their Type property. An extension


column is a column that is not used by standard Siebel applications. There are three
kinds of extension columns:

Version 6.0

Standard extension columns. Siebel includes these in extension tables for


developer use. They are named ATTRIB_nn, where nn is a value between 01 and
47 (for example, ATTRIB_13).

Siebel Tools Guide Volume 2 of 2

17-31

Data Objects Layer


Column Objects

Custom extension columns in an extension table. These are columns added by the

developer to an extension table. They have the prefix X_ in their names.

Custom extension columns in a base table. These are columns added by the

developer to a base table. The relational database system that you use with
Siebel applications determines whether or not this is allowed. When the
database system supports custom extension columns in base tables, it may be
preferable for performance reasons to add them there, rather than to an
extension table. Performance may be affected if the extension columns are
added to an extension table, because extra SQL is generated to join to the
extension table.

Standard Extension Columns


Each extension table provided with Siebel applications includes standard extension
columns of various data types. Table 17-1 lists the different data types found in
Siebel extension tables and the number of columns of each data type. These
columns are named ATTRIB_nn, where nn is a value from 01 to 47.
Table 17-1.

Standard Extension Columns

Data Type

Number of Columns

Number

12

Date

10

VarChar(255)
VarChar(100)

1
5

VarChar(50)

10

VarChar(30)

Char(1)

The benefit of using standard extension columns is that they provide the means to
add fields to business components for new functionality with a minimum of effort
and database impact. If there is a need for a custom column, you can adapt an
existing standard extension column in an existing standard extension table without
adding any new columns to the database schema.

17-32

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Column Objects

Extension Columns and Foreign Keys


Use caution when configuring a standard extension column to hold foreign keys;
generally you should avoid the practice. Foreign key extension columns can be
appropriate when pointing to enterprise-visible business objects, but not when
pointing to limited-visibility business objects such as Opportunity, Contact,
Account, or Service Request.
Foreign key relationships based on extension columns in the limited-visibility
situation can cause some users not to receive the record, causing the loss of the
relationship for all users. Also, business objects can change from enterprise-visible
to limited-visibility with a new release of Siebel applications.
You will also need the assistance of a Siebel Expert to configure EIM to import data
into a foreign key column, because the necessary EIM object types are not
customer-configurable. For more information on using EIM to populate foreign key
columns, refer to EIM Interface Tables on page 17-38.
If in doubt, avoid configuring extension columns as foreign key columns.
NOTE: Do not define columns with names longer than 18 characters in the DB2 or

Informix environments.

System Columns

17

System columns have a value of System in their Type property. System columns
appear in all tables in Siebel applications, although the same set of system columns
does not appear in every table. You can use the data in system columns for various
purposes; for example, the ROW_ID column in tables is used in the construction of
joins. Generally you should not modify the data in system columns. However, there
are exceptions, such as certain system columns in interface tables. Some common
system columns are described below:

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-33

Data Objects Layer


Column Objects

ROW_ID column. The ROW_ID column is present in all tables and provides a
unique identifier to the rows in the table. It is the typical destination column of
foreign key relationships from other tables. In standard data tables, it is often
represented by a field called Id for use in joins and links. For example, the
ROW_ID column in the S_ORG_EXT table is represented as the Id field in the
Account business component.
NOTE: The Id field that represents the ROW_ID column in business components
is an implied field, and does not appear in the Object Explorer as a child field of
any business components. However, every business component has an Id field,
which represents the ROW_ID column of its base table, as defined in the Table
property of the business component. The Id field is referenced in various
property settings throughout Siebel applications, such as in the Source Field
property of a link (in which a blank value also means the Id field).

CREATED column. Provides the creation date and time of each record.

CREATED_BY column. Stores the ROW_ID of the S_EMPLOYEE record of the

person who created the recordnot to be confused with the user name that the
user logged in with.

LAST_UPD column. Provides the date of last update of each record.

LAST_UPD_BY column. Stores the ROW_ID of the S_EMPLOYEE record of the

person who last updated the recordnot to be confused with the user name that
the user logged in with.
NOTE: The CREATED, CREATED_BY, LAST_UPD, and LAST_UPD_BY columns
all provide date-time and logon stamps for record creation and update on the
client, not server, databases.

PAR_ROW_ID column. The PAR_ROW_ID column is a foreign key to the ROW_ID

column of the base table. Extension tables, as well as _ATT and _T tables, have
this system column.

17-34

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Column Objects

Table 17-2 identifies the correspondences between system fields and system
columns.
Table 17-2.

System Fields and Their System Columns

System Field Name

System Column Name

Description

Id (or blank)

ROW_ID

Primary key for the table.

Created

CREATED

Creation date and time of the row.

Created By

CREATED_BY

User logon ID of the person who created the


row.

Updated

LAST_UPD

Date of last update of the row.

Updated By

LAST_UPD_BY

User logon ID of the person who last updated


the row.

These fields are automatically provided, and do not need to be explicitly declared.
You can reference them in the Field property of controls, list columns and other
object definitions, even though they do not display in the Object List Editor for the
business component.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-35

Data Objects Layer


Indexes

Indexes

17

An Index object definition is the direct representation of a database index in a


DBMS.
Siebel provides a set of standard indexes. All indexes supplied by Siebel have the S_
prefix.
NOTE: You cannot modify or delete standard indexes.

You can create custom indexes if you determine that an additional index would
benefit your implementation. For information about adding custom indexes, see
Adding Custom Indexes on page 11-20.
The Index object type has the following key properties:

Name. The name of the database index.

Unique. A TRUE/FALSE value indicating whether multiple rows with the same

value are allowed.

Type. Indicates which of the following styles describes the index:

 Primary Key value. A primary key index is indexed on the ROW_ID column.
 User Key value. A user key index is developer-created. The set of index
columns is developer-specified. It must consist of a unique combination of
columns.
 Extension value. An extension index is created by default when the developer
adds an index. The set of index columns is system-specified.
 System value. System indexes are included in standard Siebel applications,
and you cannot modify them.

17-36

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Indexes

Index Column Object Type

17

Index Column is a child object type of the Index object. An Index Column object
definition associates one column to the index that is the parent object definition of
the index column. The Index Column object type has the following important
properties:

Column Name property. The name of the column object definition to include in

this index object definition.

Sequence property. The integer value that indicates the order of the column in the

index relative to other columns, if more than one column is present.


NOTE: Do not define indexes with names longer than 18 characters in the DB2 or

Informix environments.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-37

Data Objects Layer


EIM Interface Tables

EIM Interface Tables

17

Interface tables are intermediate database tables between the Siebel application
database and other databases. A database administrator populates these tables with
information to be processed by Siebel applications. You then invoke Siebel
Enterprise Integration Manager (EIM) to process this information. EIM manages the
exchange of data between Siebel database tables and other corporate databases. You
can use EIM to perform bulk imports, exports, merges or deletes.
Interface tables have names that end in _IF, _XMIF, or _DTLIF:

 _IF indicates a one-to-one interface table.


 _XMIF indicates one-to-many.
 For _DTLIF tables, only the user key columns of the target table are mapped, and
the nontarget tables are children or grandchildren of the target and are detail
tables, such as attachment, one-to-one extension tables (_X), many-to-one
extension tables (_XM), attachment tables (_ATT), note tables (S_NOTE_...) and
skill/skill-item tables, used by the Siebel Assignment Manager (SKL, SKLIT).
All interface tables have a value of Interface in the Type property of their object
definitions.
Its necessary to extend IF tables unless there are no batch operations to be
performed on the corresponding base tables (and frequently this is the case).
For more information about interface tables and EIM, refer to Enterprise
Integration Manager Administration, in the Siebel System Administration Guide.
When tables or columns are added to the database, including extension tables and
extension columns, it is generally necessary to configure the corresponding EIM and
docking/routing interfaces. Siebel Experts typically perform the configuration of
EIM and docking interfaces. However, you can create and configure Attribute
Mapping object definitions and view the other object types for the purpose of
studying your existing interfaces. After you create an extension column, you must
add one or more Attribute Mapping object definitions in interface tables that will
supply data to it.
Two terms will be useful in the discussion that follows: foreign key column and
attribute column. A foreign key column contains a reference to the primary key of
another table, providing the means to perform a join from one table to the other. In
contrast, an attribute column holds data, and does not point anywhere else.

17-38

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


EIM Interface Tables

EIM Object Types

17

EIM object types are illustrated in Figure 17-15.

EIM Interface
Table

Table

Column

Data
Objects
Layer

Index

User Key
Attribute

User Key

EIM
Interface
Table
Column

EIM
Table
Mapping

Interface
Table
User Key
Usage

User Key
Column
Attribute
Mapping

User Key
Attribute Join
Legend:

Name

Existing object type


in Siebel 4.0

Name

New object type in


Siebel 5.0

Foreign
Key
Mapping

Foreign
Key
Mapping
Column

1:M relationship through


object hierarchy

Figure 17-15. Architecture of EIM Object Types

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-39

Data Objects Layer


EIM Interface Tables

The object types used in EIM configuration are described below.

EIM Interface Table object type. The EIM Interface Table object type is an

alternative representation of the Table object type, for tables of type Interface
only. That is, each interface table has a table object definition (with a value of
Interface in the Type property) and an EIM interface table object definition. This
is illustrated in Figure 17-16.

Table object type


Type
EIM Interface Table object
type
S_PRI_LST_IF
S_PRODINVLOC_IF

S_PRI_LST

Data (Public)

S_PRI_LST_IF

Interface

S_PRI_LST_ITEM

Data (Intersection)

S_PRODINVLOC_IF

Interface

S_PROD_BASELINE

Data (Public)

Figure 17-16. Relationship Between EIM Interface Table and Table

The EIM Interface Table object type has all the properties of the Table object
type, plus several additional properties that are specific to interface tables. EIM
Interface Table has the following child object types: EIM Interface Table Column,
EIM Table Mapping, and Interface Table User Key Usage.

17-40

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


EIM Interface Tables

EIM Interface Table Column object type. The EIM Interface Table Column object

type is an alternative representation of the Column object type, for columns that
are child object definitions of interface tables. For a given interface table, the
same list of columns appears as column children of the table object definition
and as EIM interface table column children of the corresponding EIM interface
table object definition. This is illustrated in Figure 17-17.

EIM Interface Table object type


(parent OBLE window)
S_PRI_LST_IF
EIM Interface Table Column object
type (child OBLE window)

Table object type (parent OBLE


window)
S_PRI_LST_IF
Column object type (child OBLE
window)

CONFLICT_ID

CONFLICT_ID

CREATED

CREATED

CREATED_BY

CREATED_BY

IF_ROW_BATCH_NUM

IF_ROW_BATCH_NUM

IF_ROW_MERGE_ID

IF_ROW_MERGE_ID

Figure 17-17. Relationship Between EIM Interface Table Column and Column

The EIM Interface Table Column object type contains all the properties of the
Column object type, in addition to some that are specific to EIM.
NOTE: The Price List interface table, S_PRI_LST_IF, is used in this and

subsequent examples in the section.

Interface Table User Key Usage object type. This object type provides support for

alternative user keys for base tables. An interface table user key usage object
definition defines the use of a nontraditional user key for a given base table in a
specific interface table.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-41

Data Objects Layer


EIM Interface Tables

EIM Table Mapping object type. Identifies a data table that is updated by the parent

EIM interface table object definition. One interface table may update one or
more data tables, and each data table to be updated requires an EIM Table
Mapping child object definition of the EIM Interface Table object. Each EIM
Table Mapping object definition identifies the name of the destination table (data
table to update) in its Destination Table property. This is illustrated in
Figure 17-18.

EIM Interface Table


(S_PRI_LST_IF)
EIM Table
Mapping

Destination Table property

data Table
(S_PRI_LST)

EIM Table
Mapping

Destination Table property

data Table
(S_PRI_LST_ITEM)

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 17-18. EIM Table Mapping Configuration

EIM Table Mapping has two child object types: Attribute Mapping and Foreign
Key Mapping.

17-42

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


EIM Interface Tables

Attribute Mapping object type. Identifies an attribute (data) column to update in

the destination (base) table specified in the parent EIM table mapping. Each
Attribute Mapping object definition identifies the column in the interface table
that supplies the data (in the Interface Table Data Column property). It also
identifies the column in the destination table that receives the data (in the Base
Table Attribute Column property). This is illustrated in Figure 17-19.

EIM Interface Table


(S_PRI_LST_IF)
EIM Table Mapping
(S_PRI_LST_ITEM)
Attribute Mapping
(PLI_CURCY_CD)
Attribute Mapping
(PLI_DESC)
Attribute Mapping
(PLI_PRI_CD)

data Table
(S_PRI_LST_ITEM)
Destination Table

Base Table
Attribute Column

Column
(CURCY_CD)

Base Table
Attribute Column

Column
(DESC_TXT)

Base Table
Attribute Column

Column
(PRI_CD)

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 17-19. Attribute Mapping Configuration

You can configure the Attribute Mapping object type. You should add a
corresponding Attribute Mapping object definition when you add an extension
column to a table, if the extension table is to be populated by an interface table.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-43

Data Objects Layer


EIM Interface Tables

Foreign Key Mapping object type. Each Foreign Key Mapping object definition
identifies a foreign key column in the destination table that is to be populated
from the interface table. Because foreign key values are stored as numeric row
ID values in data tables, to populate one from an interface table it is necessary
to map from the interface column to a combination of user key columns in the
destination table, rather than directly to the foreign key column.

A foreign key mapping is not a one-to-one column mapping from interface table
to destination table, as occurs with non-foreign key columns. The numeric
foreign key does not even exist in the interface table, so it cannot be mapped.
Instead, a combination of attribute columns in the destination table of the
foreign key is used to access the desired row, and the foreign key value can be
obtained from that row. These relationships are illustrated in Figure 17-20 on
page 17-45.

17-44

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


EIM Interface Tables

data Table
(S_PRI_LST_ITEM)

Destination
Table
Foreign
Key
Column

EIM Interface Table


(S_PRI_LST_IF)

Foreign
Key Table

EIM Table Mapping


(S_PRI_LST_ITEM)
Foreign Key Mapping
(PROD_ID)

foreign key Column


(PROD_ID)

data Table (S_PROD_INT)


User Key (S_PROD_INT_U1)
User Key

Foreign Key Mapping


Column
(PLI_PROD_NAME)

User Key
Attribute

Foreign Key Mapping


Column
(PLI_VENDR)

User Key
Attribute

Foreign Key Mapping


Column
(PLI_VENDR_LOC)

User Key
Attribute

User Key Attribute


(PROD_NAME)

User Key Attribute


(PROD_VENDOR)

User Key Attribute


(PROD_VEN_LOC)

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 17-20. Foreign Key Mapping Configuration

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-45

Data Objects Layer


EIM Interface Tables

Foreign Key Mapping Column object type. Each Foreign Key Mapping Column

object definition identifies a piece of the user key; that is, one of the attribute
columns used to locate rows in the table the foreign key points to. The user key
columns, taken together, uniquely identify rows in that table. The Foreign Key
Mapping Column object definitions identify these user key columns to the
interface table, so that foreign key values can be derived when import or export
takes place.

User Key object type. User Key is a child object type of Table. Each user key object

definition provides a set of attribute columns and related information that


specifies how the tables rows can be accessed in a particular EIM scenario. User
Key has two child object types: User Key Column and User Key Attribute.

User Key Column object type. User key columns can be either attributes or foreign

keys. In most cases these are the columns in the user key index (usually the
index with a suffix of _U1), with the exception of the CONFLICT_ID column.

User Key Attribute object type. Each user key attribute object definition in the
parent user key specifies one in the set of attribute columns that collectively
identify rows in the grandparent table. The column name is specified in the
Name property of the User Key Attribute object definition. User Key Attribute
has one child object type, which is User Key Attribute Join.

User Key Attribute Join object type. Each User Key Attribute object definition has

one or more User Key Attribute Join child object definitions. The user key
attribute join specifies a join operation that can be used to convert a user key
attribute that is itself a foreign key to another table into attribute column values
in that table. For example, the S_PROD_INT (products) table has a user key
consisting of three attributes: PROD_NAME, PROD_VENDOR and
PROD_VEN_LOC. The PROD_NAME (product name) attribute column is directly
obtained from the S_PROD_INT table, so no join is required. However, the
PROD_VENDOR and PROD_VEN_LOC columns occur in the S_ORG_EXT
(accounts) table, and must be obtained via a join on VENDR_OU_ID, a foreign
key from S_PROD_INT to S_ORG_EXT.

17-46

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


EIM Interface Tables

Adding and modifying attribute mappings are subject to the restrictions identified
in Table 17-3.
Table 17-3.

Restrictions on Adding and Modifying Mappings

From

To

Conditions

Interface table column

Base column

Supported if there are existing


mappings from this interface table into
this data table.

Interface table extension


column

Base column

Supported if there are no other


mappings to this base column. Use
with caution.

Interface table column

Extension table
column

Supported if there are existing


mappings from this interface table into
the extension tables base table.

Interface table extension


column

Extension table
column

Supported if there are existing


mappings from this interface table into
the extension tables base table.

NOTE: Do not map multiple interface table columns to a single column in a target
table. This creates ambiguity for EIM. However, you can map a single column in an
interface table to multiple base tables or extension tables.

You can deactivate mappings if they are no longer necessary. To deactivate a


mapping, navigate to the Attribute Mapping Object definition in the Object List
Editor and place a check mark in the Inactive property. You should not delete any
mappings.
NOTE: No validation is performed against interface table or column definitions. LOV
validation is performed against the LOVs defined for the base columns to which
they are mapped.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-47

Data Objects Layer


Field Data Types

Labeling Data Loaded in EIM as No Match Row Id Instead of NULL

17

When you are loading data through EIM and a PR_TERR_ID has no match, it is
labeled as NULL, whereas loading it through the user interface would produce No
Match Row Id.
To fix the problem you need to open the record set in the client user interface and
manually step through each record created by EIMeach instance of a NULL value
for PR_TERR_ID will be replaced with No Match Row Id.

Field Data Types

17

Field data types are used to identify the type of data retrieved from and sent to the
database server. These data types are not mapped to the physical data types defined
by the database. For example, a column defined as a date by the database could be
defined as DTYPE_TEXT instead of DTYPE_DATE by the field. If the data was readonly, this may be sufficient. However, because the DTYPE_DATE type has
knowledge about dates, such as valid date formats, using DTYPE_TEXT would be a
problem if the data could be changed and not entered in an appropriate format. All
field data types are prefaced with DTYPE_. Table 17-4 describes the Siebel field data
types.
NOTE: Most formatting is defaulted from the Microsoft Windows Control Panel.
Overriding the default format in the repository is possible but might lead to
confusion. For example, overriding a number format to show more or fewer decimal
places would be useful, but overriding a date format to DD/MM/YY would be
confusing to a user who has set the date format to MM/DD/YY in the Control Panel.

17-48

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Field Data Types

Table 17-4.

Field Data Types

(Sheet 1 of 4)

Field Data Type

Description

DTYPE_BOOL

Refers to data stored as Y or N, often displayed as TRUE or FALSE and checked or


unchecked.

DTYPE_CURRENCY

Refers to the data as currency.


You can control the appearance of currency values on a screen via the Windows
Control Panel, or you can specify an explicit format mask in the Display Format
property by using the following symbols:
dollar sign ($)

specifies the position for the currency symbol

trailing period
(.)

specifies the default precision for the currency

all valid symbols described for DTYPE_NUMBER


DTYPE_DATE

Version 6.0

Refers to the data as a date. When the date is returned, any additional information
(for example, time) is ignored. You can set the appearance of date values via the
Windows Control Panel, or you can specify an explicit date format using the
following symbols:
Y

2-digit year without a leading zero

YY

2-digit year with a leading zero

YYYY

4-digit year without a leading zero

YYY

4-digit year with a leading zero

month without a leading zero

MM

month with a leading zero

day without a leading zero

DD

day with a leading zero

slash (/)

position of the date separator (you specify the character in the


Windows Control Panel)

Siebel Tools Guide Volume 2 of 2

17-49

Data Objects Layer


Field Data Types

Table 17-4.

Field Data Types

(Sheet 2 of 4)

Field Data Type

Description

DTYPE_DATETIME

Refers to the data as a date and time. You can set the appearance of time and date
values via the Windows Control Panel, or you can specify an explicit date format
using a combination of the symbols for DTYPE_DATE and DTYPE_TIME.
Alternatively, you can use one of the following three properties:
Date

displays only the date portion of the value, using the format
specified in the Windows Control Panel

Time

displays only the time portion of the value, using the format
specified in the Windows Control Panel

TimeNoSec

displays only the hour-and-minute portion of the value, using the


format specified in the Windows Control Panel

DTYPE_ID

Refers to the data as the primary key automatically generated by the application.

DTYPE_INTEGER

Refers to data as whole numbers ranging in value from -32,768 to 32,767.

DTYPE_NOTE

Refers to the data as a long string less than or equal to 16 KB (16383 bytes); the
default, if the length is not explicitly defined, is 16 KB. When used with the Popup
Edit property in a control or list column, this data type is used to indicate to the
user interface that a multi-line edit box should be used.

DTYPE_NUMBER

Refers to the data as a number. You can control the appearance of numeric values
via the Windows Control Panel, or you can specify an explicit format mask using
the following symbols:

17-50

zero (0)

specifies the position of a mandatory digit

pound sign
(#)

specifies the position of an optional digit

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)

trailing period
(.)

specifies default display precision

plus sign (+)

specifies the position and appearance of negative value indicator


(plus sign if positive, minus sign if negative)

minus sign (-)

specifies the position and appearance of negative value indicator


(plus sign if positive, minus sign if negative)

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Field Data Types

Table 17-4.

Field Data Types

(Sheet 3 of 4)

Field Data Type

Description

DTYPE_PHONE

Refers to the data as a phone number. The DisplayFormat property is ignored for
values of this type.

DTYPE_TEXT

Refers to the data as a string less than or equal to 4095 bytes; the default is 255.
The DisplayFormat property is ignored for values of this type.
You can use ForceCase = Upper, ForceCase = Lower, or ForceCase =
FirstUpper to force the text to all uppercase, all lowercase, or the first letter of
each word uppercase after the end user tabs out of the field. Otherwise, the text is
in mixed case as the user entered it.

Version 6.0

Siebel Tools Guide Volume 2 of 2

17-51

Data Objects Layer


Field Data Types

Table 17-4.

Field Data Types

(Sheet 4 of 4)

Field Data Type

Description

DTYPE_TIME

Refers to the data as a time. When the time is retrieved, any additional information
(such as date) is ignored. You can set the appearance of time values via the
Windows Control Panel, or you can specify an explicit time format using the
following symbols:
H

hour (based on 24-hour clock) without a leading zero

HH

hour (based on 24-hour clock) with a leading zero

hour (based on 12-hour clock) without a leading zero

hh

hour (based on 12-hour clock) without a leading zero

minute without a leading zero

mm

minute with a leading zero

second without a leading zero

ss

second with a leading zero

colon (:)

the position of the time separator (you specify the character in the
Windows Control Panel)

TimeNoSec

displays only the hour-and-minute portion of the value, using the


format specified in the Windows Control Panel

NOTE: Do not add long (16K limit) fields to Siebel base tables.

17-52

Siebel Tools Guide Volume 2 of 2

Version 6.0

Data Objects Layer


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

17

This chapter described:

 Objects in the Data Objects Layer


 The underlying DBMS
Table 17-5 lists sources of additional information about topics discussed in this
chapter.
Table 17-5.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

High-level view of the Siebel architecture

Chapter 3

Siebel Tools Guide Volume 2 of 2

17-53

Data Objects Layer


Chapter Summary and Where to Get More Information

17-54

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer

18

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3


Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-3
Base Tables of Business Components . . . . . . . . . . . . . . . . . . . . . . . 18-5
Joined Tables and Extension Tables of Business Components . . . . . . 18-6
Sort Specification Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-8
Search Specification Property . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-10
Configuring Data-Driven Read-Only Behavior . . . . . . . . . . . . . . . . 18-11
Intersection Business Components . . . . . . . . . . . . . . . . . . . . . . . . 18-15
Virtual Business Components . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-17
Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-18
Sequence Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-22
Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-27
How a Join Is Constructed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-30
Using a Pre-Default Value for a Join Field . . . . . . . . . . . . . . . . . . . . . . .18-33
Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-34
How a Link Is Constructed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-36
Using a Link in a Master-Detail View . . . . . . . . . . . . . . . . . . . . . . 18-38
Using a Link in a Multi-Value Group . . . . . . . . . . . . . . . . . . . . . . 18-39
Using a Link in a Many-to-Many Relationship . . . . . . . . . . . . . . . . 18-39
Using a Link When Merging Records . . . . . . . . . . . . . . . . . . . . . . 18-39
Cascade Delete Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-40
Multi-Value Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-40
How a Multi-Value Link Is Constructed . . . . . . . . . . . . . . . . . . . . 18-42
How an Indirect Multi-Value Link Is Constructed . . . . . . . . . . . . . 18-47
Primary ID Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18-54
How a Cascade Copy with a Multi-Value Link Is Constructed . . . . . 18-57
Version 6.0

Siebel Tools Guide Volume 2 of 2

18-1

Business Objects Layer

Business Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-59


How a Business Object Is Constructed . . . . . . . . . . . . . . . . . . . . . 18-63
Chapter Summary and Where to Get More Information . . . . . . . . . . . 18-65

18-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


About This Chapter

About This Chapter

18

This chapter describes objects in the Business Objects Layer of the Siebel eBusiness
Applications architecture. Siebel business objects consist of:

 Business components
 Fields
 Joins
 Links

Business Components

18

A business component is a logical entity that associates columns from one or more
tables into a single structure. Business components provide a layer of wrapping over
tables, so that applets reference business components rather than the underlying
tables. This creates convenience (all associated columns are together in one
bundle), developer-friendly naming, and the separation of the developer role from
the database administrator role. A business component can also have a default sort
specification and/or search specification, providing records to applets in a
predetermined sort order and according to a selection criterion.
When instantiated in a Siebel application, a business component is comparable to
a recordset. Its definition in Siebel Tools provides the foundation for controlling how
data is selected from, inserted, and updated within the tables it references.
Figure 18-1 illustrates business component records displayed in a list applet.
Business component records

Figure 18-1. Business Component Records in a List Applet


Version 6.0

Siebel Tools Guide Volume 2 of 2

18-3

Business Objects Layer


Business Components

A business component contains fields. Each column whose data is included in a


business component is represented with a field. The Field object type is a child of
the Business Component object type. The Column object type is a child of the Table
object type. The set of field child object definitions of a business component maps
a corresponding set of columns into the business component. These relationships
are shown in Figure 18-2.

Business Component
Field

Table
property
of BC

Column
property
of Field

Field

Column
property
of Field

Legend:
Table

object definition

Column

Column

contained (child)
object definition
property specifies
other object definition

Figure 18-2. Business Component Field/Column Relationships

In addition to connecting a column to the business component, the Field object type
also allows you to specify a meaningful name that refers to that column. Columns
in tables are often cryptically named to match the names in the DBMS, whereas
fields can have more meaningful and longer names than the columns they represent
(75 characters long as opposed to, typically, 30 characters).
NOTE: Not all fields are representations of columns. Some fields are calculated fields,
whose values are computed from the values in other fields. The data in calculated
fields is not stored separately in the database.

18-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

Base Tables of Business Components

18

A base table of a business component is assigned to the business component to


provide the most important columns for use as fields in the business component.
Fields built on the base table can be edited, whereas fields built on joined tables can
only be displayed.
The base table is assigned to the business component with the Table property in the
Business Components object definition. Figure 18-3 shows an example of some
fields in the Contact business component that map corresponding columns from the
business components base table, S_CONTACT.

Business Component - Contact


First Name
Field

Job Title Field

M/F Field

Mail Stop Field

SEX_MF
Column

OU_MAIL_STOP
Column

base Table - S_CONTACT


FST_NAME
Column

JOB_TITLE
Column

Figure 18-3. Examples of Fields Representing Columns

Every business component has a base table assigned to it. It is not essential that the
business component include all of the columns in the base table, although typically
it will include most of them. In particular, system columns in the base table such as
ROW_ID, CREATED_BY and LAST_UPD_BY are automatically represented in the
business component through implied fields. System columns do not require field
object definitions in the business component.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-5

Business Objects Layer


Business Components

Joined Tables and Extension Tables of Business Components

18

Not every table utilized by a business component is a base table. In addition to


columns from the base table, columns may also be included from joined tables and
extension tables.

Joined Tables
A joined table provides rows on a one-to-one basis to the business component as a
result of a foreign key relationship between the joined table and the business
components base table. That is, for every record in the business component (which
corresponds to a row in the base table) there can be a corresponding row in the
joined table. However, not every record in the base table will have a record in the
joined table.
The data obtained by a business component through a join (other than to an
extension table) is read-only in that business component.
The use of fields from both the base table and joined tables is illustrated in
Figure 18-4.

Business Component
primary
key Field

Field F1

Field F2

base Table
primary key
Column

Field F3

Field F4

joined Table

Column B1

Column B2

(foreign key)
Column B3

primary key Column


Column
J1

Column
J2

Figure 18-4. Fields from the Base Table and a Joined Table

18-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

Using the contact example, most contacts belongs to an account. Account


information is stored in another table, S_ORG_EXT. The account is uniquely
identified in each contact record (S_CONTACT row) by means of a foreign key, the
Account Id field (the PR_DEPT_OU_ID column). A join uses these relationships to
make account data columns available to the Contact business component for each
contact. This is illustrated in Figure 18-5.

Business Component - Contact


key Field Id

First Name Field

Account Id
Field

Account Location
Field

base Table - S_CONTACT

key Column ROW_ID

FST_ NAME
Column

Account Currency
Code Field

joined Table - S_ORG_EXT (account data)

foreign key Column


PR_DEPT_OU_ID

key Column ROW_ID

LOC
Column

BASE_CURCY
_CD Column

points to

Figure 18-5. Fields from a Joined Table

Extension Tables
Extension tables are a special kind of joined table. Like other joined tables,
extension tables provide rows on a one-to-one basis in parallel with base table rows.
Extension tables are identified by the _X suffix in the table name, such as
S_ORG_EXT_X, which extends S_ORG_EXT.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-7

Business Objects Layer


Business Components

Extension tables are provided specifically to allow columns to be virtually added to


a base table rather than physically added. This provides the means to expand base
tables without violating DBMS or database design restrictions, and without the need
to perform complicated database restructuring operations. Extension table data,
unlike the data in other joined tables, is updateable in the business component.
Extension tables are discussed in greater detail in Extension Tables on page 17-7.

Sort Specification Property

18

The value in the Sort Specification property, if nonblank, is the name of a field or
list of fields that imposes a sort order on the records returned to an applet that is
associated with this business component. The field or fields must be child object
definitions of the business component.
For example, the Account business component (as delivered in Siebel applications)
has a Sort Specification property value of Name, Location. This indicates that
account records are provided in Name (account name) order, and where multiple
account records have the same Name, they are to be sorted within Name by Account
Location.
Observe the following syntax considerations:

 Use commas to separate field names in a sort specification.


 To indicate that a field in the list sorts in descending order, include
(DESCENDING) or (DESC) after the field name, as in Start Date
(DESCENDING). If you do not specify a sort order, ascending order is used.

 Do not enclose the field name in square brackets, as in [Account Name].


Brackets are accepted in search specifications, but not sort specifications.

 The sort specification expression must be 255 characters or less.


Be aware that sort specifications have the following behaviors:

 If the Sort Specification value is blank, Siebel applications returns the records in
the order in which they occur in the table.

 When a check box field is included in a sort specification, there are three values
that are sorted: Y, N, and NULL. If you specify that the sorting is in Descending
order, the order is NULL, Y, and N.

18-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

 When a multi-value field is included in a sort specification expression in a


business component, the sorting is on the initial value of the multi-value field.
This makes sense only if the multi-value group uses a primary foreign key.

 A sort specification that includes a multi-value field in the expression does not
sort the records in the underlying multi-value group. Instead, you create a sort
specification in the detail business component of the multi-value link to do this.

 For sorting the values in a static picklist or pick applet differently than the
default sorting for the underlying business component, the sort specification on
the business component can be overridden with a sort specification on the
picklist. The default value for the Sort Specification property in a Pick List object
definition is blank, which means that the business components sorting is to be
used. If a sort specification appears in the picklist, this overrides the business
components sorting with that of the picklist.
NOTE: If a pre-defined query exists, it can potentially override a sort specification

that has been defined as a property of the business component.


Improperly chosen sort specifications can hurt performance. This is particularly
true when the sorting is on fields based on joins. A Siebel Expert will review any
custom search or sort specifications when performing a configuration review, in
order to identify any potential performance issues.
Siebel applications force the sort in the All visibility mode to be on the primary
keyfor Manager mode on a column in the denormalized reporting relationship
table. Users can still sort records after the initial query. For better performance, you
should do that after filtering for a small record set.
NOTE: Null records will always appear at the top of the recordset if a sort

specification is placed on a field with null values.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-9

Business Objects Layer


Business Components

Search Specification Property

18

If the value in the Search Specification property in a Business Component object


definition is nonblank, the set of records provided to an applet using this business
component is restricted. The search specification contains the names of one or more
fields in the business component and various operators, combined to create a
conditional expression. Records in which the value of the conditional expression
evaluates to TRUE are provided to the applet for display; those records in which the
expression evaluates to FALSE are excluded.
Some sample search specification expressions appear below:
[Type]= "COST LIST"
[Revenue] > 5000
[Competitor] IS NOT NULL and [Competitor] <>

"N"

Type = LookupValue ("TODO_TYPE", "In Store Visit")

Search specification expressions are built according to the following syntax rules:

 Standard comparison operators are used to compare a field to a constant, or one


field to another field. These include =, <>, >, <, >=, and <=.
Example: [Revenue] > 5000

 String constants are enclosed in double quotation marks. String values are case
sensitive, so the use of uppercase and lowercase letters in the search
specification should exactly match that of the records you want returned.
Example: [Type] <> "COST LIST"

 The logical operators AND, OR, and NOT are used to negate or combine
expressions. Case is ignored in these operators; for example, and is the same
as AND).
Example: [Competitor] IS NOT NULL and [Competitor] <>

"N"

 A field name in a search specification must be enclosed in square brackets.


Example: [Conflict Id] = 0

18-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

 The LIKE operator may be used to create text string comparison expressions in
which a field is compared to a constant, or a field to another field, and a match
on only the first several characters is required. The wildcard characters * and
? are used to indicate any number of characters, and a single character,
respectively.
Example: [Last Name] LIKE "Sm*"
In this example, the Last Name values of Smith, Smythe, Smallman, and so on
would cause the expression to evaluate to TRUE.

 The search specification expression must be 255 characters or less.


An applet search specification cannot be used to override the search specification
of the underlying business component, if the business component has one. Rather
than overriding the business components search specification, the applets search
specification is appended to that of the business component. Search specifications
should appear in the business component or the applets that use it, but not both.
NOTE: Search specifications can impact performance negatively, particularly when
you include fields based on joins in the search specification. Search specifications
with NOT or OR can also adversely affect performance by forcing the database to
execute a full table scan.

Configuring Data-Driven Read-Only Behavior

18

Business components and fields can be configured as dynamically accessible, with


their read-only status turned on and off depending on the value in a particular field
in the current record. This is accomplished using one of the following Business
Component object type user properties, depending on the requirement:

Version 6.0

BC Read Only Field user property. Specifies a TRUE/FALSE field in the record that,
when TRUE, causes the current record to become read-only.

Field Read Only Field: fieldname user property. Specifies a TRUE/FALSE test field
and a target field in the same business component. When the TRUE/FALSE field
is true, the target field becomes read-only.

Siebel Tools Guide Volume 2 of 2

18-11

Business Objects Layer


Business Components

Parent Read Only Field user property. Specifies a TRUE/FALSE test business

component or field combination in the parent chain (parent, grandparent, and


so on) that, when TRUE, causes the target business component to become readonly.
These user properties are described individually in greater detail in the subsections
that follow.
The following warnings are common to all three user properties:

 Wherever a business component or field name is specified, whether in the Name


or Value property of the user property object definition, ensure that the
capitalization, spelling, and use of blank spaces are correct. Also ensure that
quotation marks are not present.

 The three user properties do not function when used in an applet in a view
where the view's Admin Mode property is set to TRUE. Admin Mode turns off
all insert and update restrictions for the business components used by the view,
including those specified by business component user properties.

BC Read Only Field


This user property specifies a Boolean field that, when TRUE, causes all fields in the
current record to become read-only. This also prevents the user from updating or
deleting the record, but does not prevent the addition of new records to the business
component. The Name and Value properties in the user property record are
specified as follows:

Name. Contains the literal text BC Read Only Field.

Value. Contains the name of a field in the same business component as the

parent object definition of the user property. This field must be a TRUE/FALSE
field.
An example of the use of BC Read Only Field is the situation in which you need to
prevent users from updating inactive accounts. The Inactive Account field in an
account record is a TRUE/FALSE field that, when TRUE, indicates that the account
is inactive. To configure dynamic read-only behavior for the Account business
component based on this field, add a business component user property child object
definition to the Account business component, with the following property settings:

18-12

Name. BC Read Only Field

Value. Inactive Account

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

Field Read Only Field


This user property is similar to BC Read Only Field, in that it tests the field specified
in the Value property and enforces a read-only restriction when the test field has a
value of TRUE in the current record. However, unlike BC Read Only Field, the Field
Read Only Field user property restricts one field in the same business component,
rather than the entire business component.
The Name and Value properties in the user property record are specified as follows:

Name. Contains an expression in the following format:


Field Read Only Field: fieldname

For example:
Field Read Only Field: Account Status

Note that there is only a single space between the colon and the field name.

Value. Contains the name of the test field. This is a TRUE/FALSE field in the same

business component as the parent object definition of the user property.


One Field Read Only Field user property must be created for each field you want to
make conditionally read-only.
An example of the use of Field Read Only Field is the situation in which you want
to make the Competitor field in an account record read-only when the Type field has
a value of Competitor. In other words, if an account record has been included
because that account is a competitor, you dont want users to be specifying that
accounts competitors. The following procedure describes how to accomplish this.

To restrict the Competitor field in an account based on the accounts type


1 Navigate to the Business Component object type in the Object Explorer, and then
to the Account object definition in the Object List Editor.
2 Create a calculated Boolean field in this business component that will have a
value of TRUE when the Type field has a value of Competitor.
For purposes of the example, the name of this test field can be Competitor Calc,
although the name is unimportant as long as it is referenced correctly in the user
property.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-13

Business Objects Layer


Business Components

3 In the calculation property of the Competitor Calc field, enter the following
value:
IIf([Type] = "Competitor", "Y", "N")

4 Expand the Business Component object type in the Object Explorer, and select
the Business Component User Prop object type. Click the Object List Editor to
make it active, and choose Edit New Record.

5 Set the following values in the new Business Component User Prop object
definition:
 Name. Field Read Only Field: Competitor
 Value. Competitor Calc

Parent Read Only Field


This property, like BC Read Only Field, places a read-only restriction on an entire
business component, rather than a single target field. This restriction occurs when
a TRUE/FALSE test field has a TRUE value. However, unlike BC Read Only Field and
Field Read Only Field, this user property is used to place a restriction on a child or
grandchild (and so on) business component of the business component containing
the test field. In the other user properties, the read-only restriction is placed on the
business component containing the test field, or on another field in the same
business component.
Parent Read Only Field is used primarily to restrict the detail records in a multi-value
group. It could also be used to restrict the detail records in a master-detail view, but
in that case you need to ensure that the restricted business component is not also
used in the context of some other business object than the intended one.
The Name and Value properties in the user property record are specified as follows:

Name. Contains the literal text Parent Read Only Field.

Value. Contains an expression in the following format:

buscompname.fieldname

where fieldname is the name of the test field, that is, the TRUE/FALSE field to
be evaluated, and buscompname is the name of the business component in
which the test field is located. For example:
Account.Inactive Account

18-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

The business component to be conditionally restricted is the one to which you add
the user property as a child object definition. The business component containing
the test field must be a parent or grandparent of the restricted business component
by way of a link or series of link relationships.
An example of the use of this user property is the situation where you want to
disable the update of the Account Address multi-value group when the account
record has a Type of Competitor. To accomplish this, you add the same calculated
field as in the Field Read Only Field example, and then add a user property to the
Business Address business component with the following values:

Name. Parent Read Only Field

Value. Account.Competitor Calc

This causes the Account Address multi-value group to be read-only when the
account record is for a competitor.
NOTE: When using the Parent Read Only Field user property, the test field must have
its Link Specification property set to TRUE. Otherwise the dynamic read-only
functionality doesnt work. However, if the child record is displayed in the multivalue field in the parent business component, it isnt necessary to have the Link
Specification property of the field set to TRUE.

Intersection Business Components

18

An intersection business component is a business component based on an


intersection table. It provides the means to display all of the combinations of data
in a many-to-many relationship, instead of only one or the other one-to-many
relationship of which it is composed.
Intersection tables implement many-to-many relationships. Some (such as
S_OPTY_CON and S_ACCNT_POSTN) also provide intersection data through a join
to one or the other master business component that uses the intersection table.
Intersection data is data that resides in columns other than the two required foreign
key columns in the intersection table, and is specific to the intersection of the two
master business components. Intersection data columns are described in
Intersection Data in the Intersection Table on page 17-28.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-15

Business Objects Layer


Business Components

An example of an intersection data column exposed only through a join is the


ROLE_CD column in S_OPTY_CON. This column specifies the role of each contact
in each opportunity, and is exposed in contact records through the S_OPTY_CON
join. Exposure through a join is adequate in many circumstances, namely when the
many-to-many relationship only needs to be viewed from the perspective of one or
the other master business component. In this example, the purpose of exposing the
intersection data column is to identify the role of each contact in a list of contacts
for one opportunity.
If it were necessary to view all contacts for all opportunities in a single list, an
intersection business component based on the S_OPTY_CON table would be
required.
An example of an intersection business component that is exposed in the user
interface is Opportunity Product. It is based on the S_OPTY_PROD table, and used
in the applets in the Opportunity Product Analysis Chart View in Siebel Sales,
shown in Figure 18-6.

Figure 18-6. Opportunity Product Analysis Chart View

18-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Components

The list applet in this view displays all current opportunity-product combinations.
The chart applet provides the means to perform analysis on this set of opportunity
products, such as comparing the total revenue or number of products for each sales
representative, territory, vendor, or other attribute.
When an intersection business component is used for the display and modification
of data in an intersection table, it is not necessary to use an association applet to
create new association rows. The user can add a new record in the list applet that
displays the intersection business component, and enter or pick values in list
columns that specify the two masters. In the case of the opportunity product list, an
Opportunity and a Product list column are provided, and selection is made in one
or the other, using the corresponding pick applet.

Virtual Business Components

18

Virtual business components enable you to:

 Represent external data (for example, data in an SAP R/3 database) as a virtual
business component within a Siebel applicationthe business component
configuration specifies the DLL to use to access the data

 Use business services to transfer data


Additional information about virtual business components:

 Insert, delete, query, and update operations are supported.


 Applets can be based on virtual business components.
 You can access virtual business components via object interfaces.
 All business component events are available for scripting.
 Virtual business components cannot be docked.
 Virtual business components can be used as stand-alone or children business
components in a business object.
For more information about virtual business components, see the Siebel eBusiness
Application Integration Guide.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-17

Business Objects Layer


Fields

Fields

18

A field associates a column with a business component. This is how columns are
assigned to a business component, and provided with meaningful names that do
not require knowledge of the tables or joins of their origin.
Fields are the source of data for controls and list columns in applets. Figure 18-7
illustrates data from fields displayed in a form applet.
Displays the Account field
from the Opportunity
business component

Displays the Name


field

Displays the
Revenue field

Figure 18-7. Data from Fields Displayed in a Form Applet

Figure 18-8 illustrates data from fields displayed in a list applet.


Displays the Last
Name field from the
Contacts business
component

Displays the First Name


field

Displays the Work


Phone # field

Figure 18-8. Fields Displayed in a List Applet

18-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Fields

As you can see from Figure 18-7 and Figure 18-8, controls in a form applet and list
columns in a list applet obtain their data from fields in the business component
used by the applet. The Field property setting in a Control or List Column object
definition specifies the field. The Business Component property in the applet
specifies the business component. These property relationships are illustrated in
Figure 18-9.

Form Applet
Control

List Applet
List

Control

List
Column
Field
property

Business
Component
property

Field
property

Business Component
Field

Field
property

List
Column

Business
Component
property

Field
property

Business Component

Field

Field

Field

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 18-9. Field Property Relationships

Field is a child object type of Business Component. A field represents information


from a database column obtained through the corresponding column object
definition. Columns may be from the base table, extension tables, and joined tables
of the business component. Alternately, a field may be a calculated field whose
values are derived from the values in other fields in the business component, but
not stored in the database.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-19

Business Objects Layer


Fields

In the field object definition (for other than calculated fields), the column and Join
properties together specify the table and column from which the fields data is
obtained. The Join property, if blank, indicates that the column is obtained from the
business components base table. If nonblank, the Join property identifies the join
object definition that supplies data from an extension table or other joined table.
Based on the Join property, the table supplying the fields data is identified. The
Column property identifies the column to use within the specified table. These
relationships are illustrated in Figure 18-10.

Business Component

Business Component

Field

Column
property

Field

Join
property
(blank)

Table
property

Base Table
Column

Column
property

Join
property

Join

Table
property

Joined or Extension Table


Column

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 18-10. Field Relationship Details

System Fields
System fields are provided in all business components in standard Siebel eBusiness
Applications. These fields represent the data from system columns, which are
described in System Columns on page 17-33.

18-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Fields

Table 18-1 identifies the correspondences between system fields and system
columns.
Table 18-1.

System Fields and Their System Columns

System Field Name

System Column Name

Description

Id (or blank)

ROW_ID

Primary key for the table.

Created

CREATED

Creation date and time of the row.

Created By

CREATED_BY

User logon ID of the person who created the


row.

Updated

LAST_UPD

Date of last update of the row.

Updated By

LAST_UPD_BY

User logon ID of the person who last updated


the row.

These fields are automatically provided, and do not need to be explicitly declared.
They may be referenced in the Field property of controls, list columns and other
object definitions even though they do not display in the Object List Editor for the
business component.

Calculated Fields
Calculated fields have a Calculated property of TRUE and a nonblank Calculated
Value property. Calculated fields obtain their values from other fields in the same
business component, or from the master business component in an active link in
which the current business component is the detail. The Calculated Value property
contains an expression built from field names, standard functions, and string,
numeric and logical operators. For example, the Full Name field in the Contact
business component has the following Calculated Value property setting:
IIf (Language () = "JPN", [Last Name] + ' ' + [First Name],
[First Name] + ' ' + [Last Name])

The meaning of this expression is as follows: if the active client language setting is
Japanese, construct the Full Name from the Last Name, a blank space, and then the
First Name. Otherwise, construct the Full Name from the First Name, a blank space,
and then the Last Name.
For information on the construction of calculated field expressions for the
Calculated Value property, refer to Calculated Field Values and Field Validation on
page B-13.
Version 6.0

Siebel Tools Guide Volume 2 of 2

18-21

Business Objects Layer


Fields

Data Types
The Type property specifies the data type for the field. The data type of the field is
generally more specific than the data type of the underlying column (as identified
in the Physical Type property of the column). For example, both DTYPE_NUMBER
(decimal) and DTYPE_INTEGER field data types have the Number physical data
type in the column.
For information about data types, see Field Data Types on page 17-48.
Just as the data type of the underlying column restricts the set of field data types
that will work correctly, the data type of the field restricts the set of correctly
functioning format options in the control or list column that displays it.
NOTE: Multi-value fields (fields with a Multi Valued property setting of TRUE) have
a blank Type property, because the data type of the field is specified in the detail
business component that populates it.

Sequence Fields

18

Situations can occur in which you need to create a field that provides sequential
numbering for the parent business component. For example, you may need to
number line items in an Order or products in an Opportunity. Sequential numbering
is not automatically provided in any system columns in standard tables in Siebel
applications. However, you can configure a sequence field in a detail business
component by adding a business component user property called Sequence Field
and creating a sequence business component with a special business component
class called CSSSequence.

18-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Fields

The details of configuration of a sequence field appear in Figure 18-11.

Business Object
main
Business
Object
Component

Business
Component
property

sequence
Business
Object
Component

Link property

main
Link

Parent
Business
Component
property

Business
Component
property
Link property

Parent
Business
Component
property

master Business
Component

Child Business
Component property

sequence
Link

Child Business
Component property

numbered detail Business


Component

sequence Business
Component*

"Line Number" Field

"Sequence" Field

"Sequence Field"
Business Component
User Prop

* class=CSSSequence

Table
property

Legend:

detail
Table

object definition
contained (child) object definition
property specifies other object definition

Figure 18-11. Sequence Field Configuration Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-23

Business Objects Layer


Fields

The roles of the object definitions in Figure 18-11 are as follows:

Master business component. In the master-detail relationship in which the detail

records are to be numbered, this is the business component that holds master
records. For example, the Opportunity business component is the master in the
master-detail relationship with Opportunity Product.

Numbered detail business component. In the master-detail relationship, this is the

business component that holds detail records. For example, the Opportunity
Product business component is the detail in the master-detail relationship with
Opportunity. The numbered detail business component has the following
important child object definitions:
 Line Number field. This field, named Line Number, is a field of type
DTYPE_NUMBER that holds the resulting sequence value.
 Business component user property. A business component user property object
definition named Sequence Field needs to be present, with the Value property
set to Line Number.

Sequence business component. This business component is named xx.Line


Number (Sequence), where xx is the name of the numbered detail business
component. It has a specialized class of CSSSequence, and the following two
fields:

 Sequence field. This field, named Sequence, is of type DTYPE_NUMBER.


 Foreign key field. This field is a foreign key field based on a foreign key column
in the detail table. The foreign key column points to the primary key of the
base table of the master business component, and may be used to specify the
link between the master and sequence business components.

Detail table. The detail table is the base table for both the numbered detail and

sequence business components.

18-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Fields

Links. One link provides the master-detail relationship between the master and

numbered detail business components. The other link provides the master-detail
relationship between the master and sequence business components. The link
to the numbered detail business component is usually pre-existing, such as
Opportunity/Opportunity Product. The link to the sequence business
component is usually added by the developer, except when the sequence
configuration is included in standard Siebel applications. Opportunity/
Opportunity Product.Line Number (Sequence) is an example of a link to a
sequence business component.

Business Object. The second link is included in the same business object that

holds the first link.


Examples of sequence field configuration in standard Siebel applications can be
viewed in Siebel Tools. For example, examine the Opportunity Product and
Opportunity Product.Line Number (Sequence) business components, which are the
numbered detail and sequence business components, respectively.

To add a sequence field to a business component that does not currently


have one
NOTE: Before you begin the procedure, check to see if the class of the detail business
component is CSSBCBase. If it is not, you need to contact Siebel Technical Services
before going any further.

1 Verify that the business component to which you want to add a sequence field
is the detail business component in a master-detail relationship. This is the
numbered detail business component.
NOTE: The numbering of detail records will start from 1 within each master

record.

2 Add a child field object definition to the numbered detail business component.
Set the Name property value to Line Number, the Type to DTYPE_NUMBER and
the column to a numeric extension column such as ATTRIB_14.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-25

Business Objects Layer


Fields

3 Add a child business component user prop object definition to the numbered
detail business component. Set the Name property value to Sequence Field, and
the Value property to Line Number.
4 Create a business component. Set the Class property to CSSSequence, the table
to the name of the base table of the numbered detail business component, and
the Name to xx.Line Number (Sequence), where xx is the name of the numbered
detail business component. This is the sequence business component.
5 Set the Sort Spec of the xx.Line Number (Sequence) business component to
Sequence (DESCENDING).
6 Add a child field object definition to the sequence business component. Specify
a Name property value of Sequence, and a column value the same as the
extension column specified for the Line Number field in the numbered detail
business component.
7 Add a child field object definition to the sequence business component. This is
the foreign key field that establishes the master-detail relationship to the master
business component. The Column property should be set to the same column as
the corresponding field in the numbered detail business component.
8 Create a link object definition that establishes a master-detail relationship
between the master and sequence business components.
9 Create a Business Object Component child object definition of the business
object or business objects that use the existing link between the master and
numbered detail business components. Specify the new link and the sequence
business component in the Link and Business Component properties,
respectively.
10 Expose the Line Number field in applets that display records from the numbered
detail business component.

18-26

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Joins

Joins

18

A Join object definition creates a relationship between a business component and a


table other than its base table. The join allows the business component to use
columns from that 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 the two do not
necessarily have a one-to-one relationship. Figure 18-12 shows the Contacts List
Applet displaying two list columns obtained from a join.

The Contacts List Applet lists


records from the Contacts
business component.

This list column displays


the NAME column from
a join to the
S_ORG_EXT table.

This list column


displays the LOC
column from the
same join.

Figure 18-12. List Columns Obtained from a Join

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-27

Business Objects Layer


Joins

A Contact business component record represents a contact person at an account.


Therefore, one account record has one or more contact records, meaning that there
is a one-to-many (master-detail) relationship between the tables holding account
and contact information. A detail record (or row) in a master-detail relationship
always has one master record (or row), as illustrated in Figure 18-13.

master Table
key
Column

Column
B1

detail Table
Column
B2

Column
D1

Column
D2

foreign key
Column

Figure 18-13. Master-Detail Relationship in a Join

The master-detail relationship is implemented with a foreign key column in the


detail table. Multiple rows in the detail table have the same foreign key value
pointing back to the same row in the master table.
Returning to the accounts and contacts example, you can look at accounts
(S_ORG_EXT table rows) from the perspective of contacts (S_CONTACT table
rows). Each detail table row (S_CONTACT) has exactly one master table row
(S_ORG_EXT) in the one-to-many relationship. The one account row for each
contact row makes it possible to treat account rows as if they were appended onto
the ends of the contact rows. This provides account information about each
contacts account, along with the other contact information.
NOTE: Contact may have 1 or 0 Accounts.

A business component whose base table is a detail table in a master-detail


relationship can include columns from the master table as fields. This is the
principle behind a join.

18-28

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Joins

Figure 18-14 illustrates the set of rows resulting from a join between the Contacts
business component and S_ORG_EXT (accounts) table.

Contacts
Jenny Frank

Acct 1

Fred Carlson

Acct 2

Sam Hudson

Acct 3

Accounts

Sally Van Doren

Acct 1

Acct 1

Smith's Dry Goods

Cambridge

MA

Mike Fernside

Acct 2

Acct 2

Jones Cleaners

Berkeley

CA

Hans Baker

Acct 3

Acct 3

The Sports Zone

Minneapolis MN

join
Jenny Frank

Acct 1

Smith's Dry Goods

Cambridge

MA

Fred Carlson

Acct 2

Jones Cleaners

Berkeley

CA

Sam Hudson

Acct 3

The Sports Zone

Minneapolis MN

Sally Van Doren

Acct 1

Smith's Dry Goods

Cambridge

MA

Mike Fernside

Acct 2

Jones Cleaners

Berkeley

CA

Hans Baker

Acct 3

The Sports Zone

Minneapolis MN

Figure 18-14. Set of Rows Resulting from a Join

In the diagram, the account number (Acct 1, etc.) in Contacts is the foreign key.
A join is always one-to-one and it is always between a business component and a
table. Once a join is created, you can create additional fields in the business
component based on columns in the joined table. In the diagram, the account name,
city and state are fields that can be added to the Contact business component
because of this join.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-29

Business Objects Layer


Joins

How a Join Is Constructed

18

The object definition relationships in a join are illustrated in Figure 18-15.

Business Component
joined
Field

Join
property

Join
Join
Specification

foreign key
Field
Table
property

Source
Field
property

Column
property

base (detail) Table

Destination
Column
property

Table
property

joined (master) Table

foreign
key
Column

mapped
Column

primary
key
Column

Column property

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 18-15. Join Relationships

18-30

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Joins

The roles of the object definitions in the diagram are summarized as follows:

Business Component object type. The business component is the parent object
definition of the join. Because of the join, fields in the business component
(called joined fields) can represent columns from the joined table.

Joined field. A joined field in the business component represents a column from
a table other than the business components base table. Therefore, a joined field
must obtain its values through a join. A joined field has the name of the join in
its Join property. Together the Join property and Column property identify the
column and how to access it.

Join object type. Join is a child object type of the Business Component object
type. The Join object definition uniquely identifies a join relationship for the
parent business component and provides the name of the destination (joined)
table. The join object definition identifies the joined table in the Table property.
The name of the base table is already known to the business component.
Typically, a join object definition is given the same name as the joined table.

Join Specification object type. The join specification object definition is a child of

the join object definition. It identifies the foreign key field in the business
component and the primary key column in the joined table (that the foreign key
points to).
The Source Field property identifies the foreign key field in the business
component. If left blank, the Source Field is the Id field, indicating a one-to-one
relationship between the business component and the joined table.
Occasionally, a system field such as Created By or Updated By may be specified
as the foreign key field in the Source Field property.
The Destination Column property identifies the primary key column in the
joined table. A nonblank Destination Column property value is required if the
join occurs on a column other than ROW_ID. A blank value in the Destination
Column property means that the destination column is ROW_ID, which is
typically the primary key in tables in Siebel applications.
NOTE: In rare circumstances, there can be multiple join specifications in a single
join. For example, the Sub Campaign business component has a join to the
S_LANG table that has two join specifications.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-31

Business Objects Layer


Joins

Foreign key (source) field and foreign key column. The foreign key field is identified

in the Source Field property of the join specification. It represents a foreign key
column in the base table, pointing to rows in a particular table used in joins. 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.

Joined table. The joined table is the master table in the master-detail relationship.

It provides columns to the business component through the join. The joined
table is identified in the Table property of the Join object definition.

Primary key (destination) column. The join specification identifies the primary key

column in the joined table (in the Destination Column property). Every standard
table in standard Siebel applications has a ROW_ID column that uniquely
identifies rows in the table. ROW_ID is the destination in most joins.

18-32

Mapped column. Columns in the joined table are available for use in fields in the
business component.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Joins

Using a Pre-Default Value for a Join Field

18

Since a join field cannot be updated, you cant use a pre-default value in the regular
way as a default field value if nothing is specified when a record is inserted. You
can use a pre-default value for a join field to show the join field value immediately
as the new record is being inserted.

To use a pre-default value for a join field


The following procedure uses the Opportunity Product business component as an
example.

1 Define a join to S_OPTY in the Opportunity Product business component.


2 Define two new fields based on the join to show Opportunity Sales Stage and
Name.
3 Add the two fields to the Opportunity Product applet.
4 Compile and test using the standard OpportunitiesProducts view.
a Add a new Product for an Opportunity.
b Note that the join fields are not populated until you re-query the applet
(However, the source fieldOppty Idfor the join is populated.)

5 Do one of the following:


 Add Opportunity.Name as the parent of the Opportunity Name field.
 Add Opportunity.Sales Stage as the parent of the Opportunity Sales Stage
field.

In this case youd be setting the predefault properties of the Opportunity


Name field and the Opportunity Sales Stage fields in the Opportunity Product
business component. The predefault values of these fields would be Parent:
Opportunity.Name and Parent: Opportunity.Sales Stage, respectively.

6 Compile and then add a new product for an Opportunity.


The join fields are populated immediately, and you do not need to re-query the
applet to see them.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-33

Business Objects Layer


Links

Links

18

A link implements a one-to-many (or master-detail) relationship between business


components based on their base tables. The Link object type makes possible
master-detail views, in which one record of the master business component displays
with many detail business component records that correspond to the master. A
master-detail view, called Opportunity Detail - Products View, appears in
Figure 18-16.
The form applet displays
one record from the master
business component.

The list applet displays all records


from the detail business component
that correspond to the master record.

Figure 18-16. Link in a Master-Detail View

18-34

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Links

In this master-detail view, each Opportunity record can have many Product records.
The synchronization between the master and detail business components in a
master-detail view is accomplished with a link between the two business
components and the inclusion of the link and business components in a business
object. Business objects are described in Business Objects on page 18-59.
NOTE: Link destination fields are initialized automatically when you add a record to

the child business component in a link.


Links are also used in the implementation of multi-value group applets. A multivalue group applet is a dialog box that displays multiple records of data associated
with one control in the originating applet. For example, a multi-value group applet
may be used to list the addresses, industries, or sales team members associated with
an Account. A multi-value group applet for account addresses appears in
Figure 18-17.
For one Account record...

Figure 18-17.

Version 6.0

...the Account Addresses (MVG Applet)


dialog box displays many Business
Address records.

Multi-Value Group Applet Example

Siebel Tools Guide Volume 2 of 2

18-35

Business Objects Layer


Links

The relationship between the business component of the originating applet and the
business component of the multi-value group applet is one-to-many; that is, a
master-detail relationship. This master-detail relationship, as with all master-detail
relationships in Siebel applications, is implemented through a Link object (in
addition to other object types). A multi-value link is necessary to adapt a link for
multi-value group applet use.
NOTE: The relationship between the two business components is one-to-many in the
context of the multi-value link and multi-value group. There may be, in fact, a
many-to-many relationship (for example, between opportunities and positions), but
in the context of the multi-value group, only one master-detail relationship is
presented.

How a Link Is Constructed

18

The relationships between object definitions used to implement a link appear in


Figure 18-18.

Link

Parent
Business
Component
property

Source
Field
property

master Business
Component

Child
Business
Component
property

Destination
Field
property

detail Business
Component
foreign key
Field

key Field

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 18-18. Link Property Relationships

18-36

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Links

The object definitions in Figure 18-18 are as follows:

Link. The Link object definition specifies a master-detail relationship between

two business components. It identifies the master and detail business


components, the key field in the master business component, and the foreign
key field in the detail business component.

Master business component. The master business component is the one in the

one-to-many relationship. The name of this object definition is specified in the


Parent Business Component property in the Link object definition.

Detail business component. The detail business component is the many in the

one-to-many relationship. The name of this object definition is specified in the


Child Business Component property in the Link object definition.
NOTE: The Calendar business component should not be used as the master or

detail business component in a link.

Source (primary key) field. The source field, also known as the primary key field,
is a field in the master business component that uniquely identifies records in
the business component. It represents the ROW_ID column from the business
components base table. The name of this field is specified in the Source Field
property in the Link object definition. Source field typically, but not necessarily,
represents the row id column from the business components base table.

Destination (foreign key) field. The destination field, also known as the foreign key
field, is a field in the detail business component that points back to the master
record in the business component. Account Id and Opportunity Id are typical
foreign key fields. A foreign key field represents a foreign key column from the
detail business components base table, such as PR_DEPT_OU_ID (the base
table for the Account business component). The name of this field is specified
in the Destination Field property in the Link object definition.

In a link based on an intersection table, that is, one in which the Inter Table,
Inter Parent Column, and Inter Child Column properties are nonblank, you do
not specify the Source Field or Destination Field properties. Otherwise, the
Destination Field property needs to contain the name of a field in the base table
of the business component (not based on a join), and the field needs to be
updateable.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-37

Business Objects Layer


Links

NOTE: For a M:M link, you actually could specify a source field. Destination will

always default to Id, even if another value is specified.

Using a Link in a Master-Detail View

18

A link in a master-detail view is implemented using the object types illustrated in


Figure 18-19.

User Interface Objects Layer


View

Applet

Business Objects Layer

Business Object

Business Object
Component

Legend:
Object type
1:M relationship through
object hierarchy

Link

1:2

Business
Component

1:M relationship through


properties

Figure 18-19. Link Architecture

In a master-detail view, a Link object definition is incorporated into a business


object (by means of a Business Object Component object definition) to establish the
master-detail relationship. This relationship applies to any use of the two business
components together within the context of the business object. Each view specifies
the business object it uses in its Business Object property. This forces the view to
operate as a master-detail view, as specified in the link, without any additional
configuration of the view. This is discussed in greater detail in Master-Detail
Views on page 19-40.

18-38

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Links

Using a Link in a Multi-Value Group

18

A link object definition provides the basis for a multi-value link object definition,
which in turn is used to implement a multi-value group applet. A multi-value group
applet is a dialog box that provides the means to display and maintain multiple
records of data associated with one control in the originating applet.
Multi-value links are described in Multi-Value Links on page 18-40. Multi-value
group applets are described in Multi-Value Group Applets on page 21-2.

Using a Link in a Many-to-Many Relationship

18

Two link object definitions with opposite master-detail settings are used to establish
a many-to-many relationship based on an intersection table. The Inter Table, Inter
Parent Column, and Inter Child Column properties of the two Link object definitions
are used to establish the connection between the links and the intersection table.
For information on this use of links and how to configure them for this purpose,
refer to Intersection Tables on page 17-18.

Using a Link When Merging Records

18

When you merge two records into a business component, any attached records (for
example, the record for another business component) are not re-assigned. For reassignment to take place, you need to define a link between the two business
components.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-39

Business Objects Layer


Multi-Value Links

Cascade Delete Property

18

The Cascade Delete property in a Link object definition indicates what action to
perform on detail business component records of the link if the master record is
deleted. The following three values are available for this property:

CLEAR. If CLEAR, the foreign key reference is removed if the master record is
deleted, but the detail records remain in place.

DELETE. If DELETE, the detail records are deleted along with the master.

NONE. If NONE, no operations are performed on the detail record in response to

deletion of the master, and the foreign key reference is not removed.
Caution: Do not use DELETE if the child business component in
this link is also a detail business component in another link. In
this case, you use CLEAR instead.

Cascade Delete is not available for many-to-many links. With a many-to-many link,
Siebel applications will automatically delete the intersection record but will leave
the child record intact, as it may have other parents.
When you delete a record which is pointed to by foreign keys of other tables, the
references to it may or may not be deleted. If those references are not deleted, the
user is left with row IDs which point to nonexistent records. In the case of multivalue groups, sometimes these foreign keys will be converted to say No Match
Row Id.

Multi-Value Links

18

The Multi Value Link object type is a child object type of the Business Component
object type. A multi-value link implements a special use of the Link object type,
which is the maintenance by the user of a list of records attached to a control or list
column in an applet. The group of attached detail records is called a multi-value
group.

18-40

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

An example of a multi-value group is the Account Addresses dialog box invoked


from the Address text box in the Account Entry Applet. This is illustrated in
Figure 18-20.
The Address text box
invokes the MVG applet
and displays the primary
Street Address value.

Figure 18-20.

The City, State, Zip and Country


text boxes display primary field
value from the multi-value group.

Multi-Value Group Example

An account can have multiple addresses. These are stored in the Business Address
business component. Clicking the ellipsis (...) button to the right of the Address text
box brings up a dialog box. This dialog box lists the attached addresses, including
the street address, city, state, and ZIP Code for each. It also provides the means for
the user to add, delete or modify individual records.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-41

Business Objects Layer


Multi-Value Links

In the Account Form Applet, the Address, City, State, Zip and Country text boxes
display the values from the corresponding fields in the primary record in the
Business Address business component. The primary record is indicated in the multivalue group applet with a checkmark in the list column labeled Primary. The user
can select a different primary record by clicking the Primary list column in a
different record.
The fields in the master business component (Account in the illustration) that are
populated by the primary record in the multi-value group business component are
called multi-value fields.
Multi-value fields are populated with data from a record in the detail business
component because of the multi-value link. Multi Value Link is a child object type
of Business Component that defines a master-detail relationship (based on a link)
to embed in the business component. These embedded master-detail relationships
are used to expose fields from the detail business component as fields directly in the
master business component.
NOTE: Most, but not all, multi-value links are set up to designate a primary record.
Those that do not designate a primary use the first record retrieved from the detail
business component. For more information, refer to Primary ID Field on
page 18-54.

How a Multi-Value Link Is Constructed

18

A multi-value link is based on a link object definition; the link is referenced in the
Destination Link property of the Multi Value Link object definition. It is the link
object definition that specifies the one-to-many relationship between the master
and detail business components. The multi-value link object definition performs
two roles:

 To give fields in the master business component access to primary record field
values through the link.

 To enable embedding of detail data in the same business component as master


data, so both can appear in the same applet.

18-42

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

The object types illustrated in Figure 18-21 participate in the configuration of a


multi-value link.

Business Objects Layer


Link

1:2

Business
Component

(Multi Value)
Field

Multi Value Link


Legend:
Object type
1:M relationship through object hierarchy
1:M relationship through properties

Figure 18-21.

Multi-Value Link Architecture

The object type box in the diagram labeled (Multi Value) Field indicates that either
field or multi-value field is correct for referring to this object type in this context.
Multi Value Field is a distinct object type, but only in the sense that it can be
accessed in the Object Explorer. It is only a representation of the Field object type.
Multi-value fields are those fields that have a nonblank Multi Value Link property
and a Multi Valued property value of TRUE; all other fields are single-value fields.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-43

Business Objects Layer


Multi-Value Links

The details of the object definition relationships appear in Figure 18-22.

master Business Component


key Field

detail Business
Component

Multi Value Fields


Destination Business
Component property

mvg Fields

Multi Value
Link property

primary key
Field (Id)

Multi Value Link


Primary ID
Field property

Source
Field
property

foreign key
Field

primary ID Field

Parent
Business
Component
property

Destination
Link property

Link

Child Business
Component property
Destination
Field property

Legend:
object definition
contained (child) object
definition
property specifies other
object definition

Figure 18-22.

Multi-Value Link Details

The roles of the object definitions in Figure 18-22 are explained in the following list.
References to the address example refer to the Account Addresses dialog box
illustrated in Figure 18-20 on page 18-41.

Master business component. The master business component is the master in

the master-detail relationship specified in the link. Fields from this business
component are displayed in the applet from which the multi-value group applet
is initiated. The master business component in the Account Addresses dialog
box example is Account.
NOTE: The Account Addresses dialog box example is illustrated in Figure 18-20
on page 18-41. The explanations of object definitions below refer to this
example.

18-44

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

Multi-value fields. Multi-value fields are fields in the master business component

that are populated by the current (typically primary) record in the detail
business component through the multi-value link and link object definitions.
Each of these fields has the name of the multi-value link specified in its Multi
Value Link property, and a Multi Valued property setting of TRUE. A multi-value
field has a blank Column property setting because its values are obtained from
the current record in the detail business component, rather than from the master
business component's base table.

Key field. The key field in the master business component is the primary key for
that business component. The key field is referenced in the Source Field property
of the Link object definition.

Multi Value Link object. The Multi Value Link object definition defines the
relationship between the link object definition and fields in the master business
component, using the following properties:

 Destination Link property. Identifies the link.


 Destination Business Component property. Identifies the detail business
component.
 Primary Id Field property. Identifies the field in the detail business component
that designates which record is the primary.

In the example, the multi-value link is called Business Address.

Link. The Link object definition specifies a master-detail relationship between

the two business components. The Link object definition can be used in other
contexts, such as master-detail views or other multi-value links. The multi-value
link identifies the link in its Destination Link property. In the address example,
the link is Account/Business Address.

Version 6.0

Detail business component. The detail business component supplies the detail
records in the master-detail relationship. In the address example, this is Business
Address.

Siebel Tools Guide Volume 2 of 2

18-45

Business Objects Layer


Multi-Value Links

Foreign key field. The foreign key field contains row ID values that point back to

records in the master business component and uniquely identify the master for
each detail business component record. The foreign key field is used in the
specification of the link; the link identifies the foreign key field in its Destination
Field property. In the address example, the foreign key field is Account Id.
NOTE: There is no foreign key field specified in a link based on an intersection

table.

Primary ID field. The primary ID field in the master business component holds the

row ID value of the primary record for each multi-value group in the detail
business component. It is identified in the Primary Id Field property of the multivalue link. The primary ID field allows the primary detail record to be identified
for each master record. For more information, refer to Primary ID Field on
page 18-54.

18-46

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

How an Indirect Multi-Value Link Is Constructed

18

If there is a join object definition that joins a master business component to the
master business component of the link, the existing link can be used in a multivalue link. In essence, the multi-value link is being based on a join to a link. Such
a multi-value link is known as an indirect multi-value link. The configuration of an
indirect multi-value link is illustrated in Figure 18-23.

detail Business
Component
(Business
Address)

Destination Business
Component property

joined Business
Component (Contact)

mvg Fields
Multi Value Fields
Primary ID Field property of MV Link

Multi Value
Link property

Multi Value Link


(Business Address)

Destination
Link property

Source Field
property

master
Business
Component
(Account)

joined Field (Joined


Account Id)
Join
property

Join (S_ORG_EXT)
Join Specification
(Account Id)
Source Field
property

foreign key Field


(Account Id)

primary ID
Field

Table
property

Destination
Column
property

Column
property

key Field

base Table
(S_ORG
_EXT)
key
Column

foreign key
Field

Parent Business
Component property

Source
Field
property

Column
property

Child Business
Component
property

Link (Account/
Address )

Destination
Field
property

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 18-23. Indirect Multi-Value Link Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-47

Business Objects Layer


Multi-Value Links

In Figure 18-23, the object definition names have been provided for an example
multi-value link called Business Address in the Contact business component.
Although given the same name as its counterpart in the Account business
component, this is a different object definition. For a comparison of conventional
and indirect multi-value links, review Figure 18-22 on page 18-44.
The primary difference between the Business Address multi-value link in the
Contact business component and in its Account counterpart is that the multi-value
link object definition is found in a business component other than the master
business component.
The Source Field property in the multi-value link in the Contact business
component is nonblank. In a conventional multi-value link this property is blank,
indicating that the Id field in the current business component is used
(corresponding to ROW_ID in the base table). In the indirect multi-value link, the
Source Field property specifies a field in the S_ORG_EXT join called Joined Account
ID. The Joined Account ID field provides the Account Id of the Account that
corresponds to the current Contact.
The roles of the object definitions in Figure 18-23 are explained as follows:

Join business component. The join business component has a master-detail

relationship with the master business component in the link. In this


relationship, the join business component is the detail rather than master. The
indirect multi-value link is established as a child object definition of the join
business component.

Multi-value fields. Multi-value fields are fields in the join business component that

are populated by the primary record in the detail business component through
the multi-value link and link object definitions. Each field has the name of the
multi-value link specified in its Multi Value Link property, a Multi Valued
property setting of TRUE, and a blank Column property.

Multi-value link. The Multi Value Link object definition defines the relationship

between the link object definition and fields in the master business component,
using the following properties:
 Destination Link property. Identifies the link.
 Destination Business Component property. Identifies the detail business
component.
 Primary Id Field property. Identifies the field from the business component that
the MVL belongs to.

18-48

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

Joined field. In a conventional multi-value link, the Source Field property is

blank. In an indirect multi-value link, the Source Field property specifies 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 master business
component. The ROW_ID column is obtained by means of a join.

Join and join specification. The Join and Join Specification object definitions make

it possible to populate the joined field.

Foreign key field (in the joined business component). The foreign key field represents

a foreign key column in the base table. The foreign key field points to rows in
the joined table, in this case the base table of the master business component.
The foreign key field is used in the implementation of the join.

Master business component. The master business component is the master in

the master-detail relationship specified in the link. The master business


component in the example in Figure 18-23 on page 18-47 is Account.

Base table. The join, join specification, and foreign key field in the join business
component access the base table of the master business component. This makes
possible a join relationship that provides a master business component record
and, indirectly, a set of detail business component records for each join business
component record.

Key field. The key field in the master business component is the primary key for
that business component. The key field is referenced in the Source Field property
of the Link object definition.

Link. The Link object definition specifies a master-detail relationship between

the master and detail business components.

Detail business component. The detail business component supplies the detail
records in the master-detail relationship.

Foreign key field (in the detail business component). The foreign key field contains

row ID values that point back to records in the master business component.
These row ID values uniquely identify the master for each detail business
component record. The foreign key field is identified in the link in the
Destination Field property.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-49

Business Objects Layer


Multi-Value Links

Primary ID field. The primary ID field in the master business component holds the

row ID value of the primary record for each multi-value group in the detail
business component. The primary ID field is identified in the Primary Id Field
property of the multi-value link. The primary ID field allows the primary detail
record to be identified for each master record. For more information, refer to
Primary ID Field on page 18-54.
The parent component of a multi-value link is usually the same as the business
component in which the MVL is defined. However, by using the Source Field
property of the Link object, it is also possible to create an MVL whose parent
business component is related to the current business component indirectly via a
join or another MVL.
Every MVL in a Siebel application is based on an underlying Link object, whose
name is specified by the Destination Link property of the multi-value link. Every
link, in turn, defines a one-to-many relationship between two business
components. Typically, the business component in which an MVL is defined is the
same as the parent business component of the underlying link on which the MVL
is based.
For example, consider the Business Address multi-value link in the Account
business component:
[MultiValueLink]
DestBusComp = Business Address
DestLink = Account/Business Address
PrimaryIdField = Primary Address Id
CheckNoMatch = TRUE
PopupUpdOnly = TRUE
NoCopy = TRUE

The Destination Link property indicates that this MVL is based on the Account/
Business Address link, which is itself defined as:
[Link]
Name = Account/Business Address
ParentBusComp = Account
ChildBusComp = Business Address
DestField = Account Id
CascadeDelete = Delete

18-50

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

The parent business component of this link is the Account business component,
which is also the business component in which the MVL has been defined. In this
typical MVL configuration, the multi-value group will be populated with all the
children Business Address records for whichever Account is currently selected in
the Account business component.

Indirect Multi-Value Links Via Joins


Although the parent business component of a multi-value group is usually the same
as the business component in which the multi-value link is defined, this is not
always the case. For example, the Opportunity business componentlike the
Account business componentcontains a multi-value group of Business Addresses.
In this case, however, the Business Addresses are not directly related to the
Opportunities themselves; instead, they are children records of whatever Account
is associated with the current Opportunity (if there is such an Account). In order for
Siebel applications to populate this MVG correctly, it needs to know how to find the
appropriate parent Account record for the link given the current record in the
Opportunity business component. The Source Field property of the Link object
exists for this purpose.
Using the above example, the Business Address MVL is defined as follows within
the Opportunity business component:
[MultiValueLink]
SrcField = Joined Account Id
DestBusComp = Business Address
DestLink = Account/Business Address
PrimaryIdField = Primary Address Id
CheckNoMatch = TRUE
PopupUpdOnly = TRUE

The Destination Link property of this MVL is still the Account/Business Address
link, which defines the one-to-many relationship between Accounts and Business
Addresses. Therefore, in this case, the parent business component of the link (that
is, Account) is not the same as the business component in which the MVL is defined
(that is, Opportunity).

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-51

Business Objects Layer


Multi-Value Links

In order to determine the appropriate Account record for which to get the children
Business Addresses, the Siebel application looks at the Source Field property of the
MVL. For this particular multi-value link, the Source Field property refers to the
Joined Account Id field in the Opportunity business component, which maps to the
ROW_ID database column from the joined S_ORG_EXT table. Therefore, for each
Opportunity record, the Siebel application will populate the MVG with all Business
Address records that are children of whichever Account is indicated by the ROW_ID
value stored in the Joined Account Id field.

Nested Multi-Value Links


As described in the prior section, a multi-value group can be populated via a joined
table by using the Source Field property to refer to a business component field that
is a foreign key to the joined table. Although less common, it is also possible to
populate an MVG via another multi-value link from the same business component
by using the Source Field property to refer to a multi-value field instead of a singlevalue field. For example, consider the relationship between Employees, Positions,
and Territories.
In Siebel applications, one Employee can hold multiple Positions, and each Position,
in turn, can be assigned to multiple Territories. Therefore, there is an Employee/
Position link that defines the many-to-many relationship between Employees and
Positions, there is a Position/Territory link that defines the many-to-many
relationship between Positions and Territories.
The Employee business component includes multi-value links for both Positions
and Territories. The Position MVL is a standard one (that is, without a Source Field
property):
[MultiValueLink]
DestBusComp - Position
DestLink = Employee/Position
PrimaryIdField = Primary Position Id
NoInsert = TRUE
UsePrimaryJoin = FALSE

18-52

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

However, since Territories and Employees are related only indirectly through
Positions, the Territory MVL is actually based on the Position/Territory link and
must reference Position Id as its source field in order to find the appropriate Position
to use as the parent record for this link:
[MultiValueLink]
SrcField = Position Id
DestBusComp = Territory
DestLink = Position/Territory
NoInsert = TRUE

Since each Employee can hold multiple positions, the Position Id field is itself
defined as a multi-value field (from the Position MVG) in the Employee business
component:
[MultiValueField]
Name = Position Id
Field = Id
MultiValueLink = Position
ReadOnly = TRUE

In other words, the Position MVG in the Employee business component shows all
the child Position records for the current Employee, while the Territory MVG in this
same business component shows all the child Territory records for whichever
Position record is currently selected in the Position MVG.
NOTE: This type of nested multi-value group may have significant performance
implications due to extra sub-queries that the Siebel application must execute.
Furthermore, it is often unclear to the user that changing the currently selected
value in one MVG will cause another MVG to display an entirely new set of records.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-53

Business Objects Layer


Multi-Value Links

Primary ID Field

18

The Link and Multi Value Link object definitions have a set of properties that you
can use to specify to the system how to obtain the record ID of the first record to
display of the detail table each time the master record changes. These properties are
Primary Id Field, Use Primary Join, and Auto Primary. Together they implement the
primary ID field.
The basic concept behind a primary ID is that its faster for a Siebel application to
retrieve one primary record from the MVG business component through a join than
retrieve all of them through a subqueryespecially since users can see values from
only one child record until they open up the MVG applet.
For example, in the Account business component the primary ID field for the
Address multi-value group is called Primary Address Id. The Account Address Mvg
Applet displays the corresponding multi-value group. The primary record, indicated
with a checkmark in the list column labeled Primary, has its row ID stored in the
Primary Address Id field in the account record. Each time there is a different account
record displayed, the multi-value fields for the Address load the primary Business
Address records values only. It is not necessary to query the Business Address
business component for multiple rows. This can be a significant performance
enhancement, especially in list applets.
NOTE: In a multi-value group applet, the list column that displays the check mark
(indicating the primary/nonprimary status of each record) obtains its data from a
system field called SSA Primary Field. This field does not appear in the Object
Explorer or Object List Editor, but may be referenced by a list column for this
purpose.

The benefit of using a primary ID, from the systems standpoint, is that it converts
a one-to-many relationship into a one-to-one relationship. This enables the row
retrieval process to be simplified from a query with subqueries to a simple join
query. This substantially improves performance, especially when the user is
scrolling through the records of a list applet that displays the master.

18-54

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

The properties of Link or Multi Value Link object types used to implement a primary
ID field are as follows:

Primary ID Field property. This property specifies the name of the field in the

master business component that holds the row ID values pointing to primary
records in the detail business component.

Use Primary Join property. The Use Primary Join property is a TRUE/FALSE

property that turns the Primary Join feature on or off. If TRUE, the primary detail
record is obtained for each master record through a join on the primary ID field.
If FALSE, the detail table is queried again with each master record change.

Auto Primary property. This property setting determines how row ID values are
populated in the primary ID field, based on a system-supplied list column
labeled Primary in the multi-value group applet. The user can manually select
the primary. Auto Primary determines how, if at all, the primary selection is
defaulted. The possible values for Auto Primary are DEFAULT, SELECTED, or
NONE as follows:

 DEFAULT. The first record automatically becomes the primary.


 SELECTED. The highlighted record becomes the primary when the user views
the multi-value group applet and then exits.
 NONE. The user must manually specify the primary.

SELECTED only pertains when there are several multi-value links pointing to the
same detail business component. This is the case for the Bill To Business
Address and Ship To Business Address multi-value links in a standard Siebel
Sales application. These multi-value links exist under both the Order and
Account business components. In this case, an example of the desired behavior
is as follows: if a primary is not set for the Bill To address, then when the Siebel
application does a separate query to bring back all addresses associated with the
account (or order), it will check to see whether one of the addresses has already
been selected as primary for the Ship To address and, if so, it will SELECT (that
is, set) that address as the primary for Bill To address as well.

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-55

Business Objects Layer


Multi-Value Links

Using the Check No Match Property with a Primary Join


When a multi-value link has been configured with a primary joinwhich is the
typical situationthere are circumstances in which the foreign key used by this join
to identify the primary record is unable to find the primary. For example, this can
happen when the primary record has been deleted from the multi-value group or
the multi-value group is newly created and has no records. In such cases, the multivalue link can be configured to update the primary foreign key to a value of NULL,
or to a special value of NoMatchRowId, depending on your requirements. This
behavior is configured through the Check No Match property of the Multi Value
Link object type, and has performance consequences.
The purpose of the special NoMatchRowId value is to prevent secondary queries
on foreign key values that are known to have failed, thereby improving
performance, much in the same way that using a primary join improves
performance.
The NoMatchRowId generating and testing behavior is activated by setting Check
No Match to FALSE for the MVL. This setting has the following results:

 When the application encounters a master record where the primary foreign key
is NULL or invalid, it performs a secondary query to determine if there are detail
records in the multi-value group. If it finds there are no detail records, it sets the
primary ID field to the special value NoMatchRowId.

 When the application encounters a master record where the primary foreign key
has the value NoMatchRowId, this indicates to the system that there are no
detail records in the multi-value group and the secondary query is not
performed.
If you set Check No Match to TRUE, the Siebel application will perform a secondary
query whenever the outer join on the primary fails, or is set to NULL or
NoMatchRowId. If the secondary query finds a matching detail record, it updates
the foreign key with that records row ID, provided the MVL has an Auto Primary
property setting of DEFAULT. If no matching child record is found, or Auto Primary
is set to NONE, the application leaves the existing value intact.
A Check No Match setting of TRUE can have serious negative performance
consequences. If a multi-value group is sparsely populated (that is, most master
records dont have any detail records in the multi-value group) and has Check No
Match set to TRUE, it will be almost as slow as not having a primary join at all.

18-56

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Multi-Value Links

Check No Match should be set to FALSE for most multi-value links because of the
performance consequences. It should only be set to TRUE if the multi-value group
could possibly have records added to it without going through the MVG itself. For
example, account addresses might actually be inserted by means of the Business
Address multi-value group on the Contact business component instead of the
Address multi-value group on the Account business component. Also, if records can
be added to the detail business component through EIM, the TRUE setting is the
appropriate one.

How a Cascade Copy with a Multi-Value Link Is Constructed

18

It is often desirable to be able to configure a business component to support the


copying of its detail records when one of its records is copied. You implement this
with a feature called cascade copy. For example, when you make a copy of an
opportunity record to create a similar opportunity, you may always want the list of
contacts for that opportunity copied with it.
To implement the cascade copy feature for a business component, you create a
Multi Value Link child object definition and specify the following properties:

Destination Link property. The name of the link in which the master-detail

relationship is specified.

Destination Business Component property. The name of the detail business

component.

No Copy property. This must be set to FALSE, or cascade copying is disabled.

A multi-value link used in the implementation of a multi-value field automatically


copies the detail records (unless disabled with No Copy) because it is assumed that
a multi-value group travels with its parent record. For example, you would normally
want the account addresses, sales team, and industry list for an account to copy
with that account.
This capability is being leveraged for a different purpose when cascade copy is
implemented for a multi-value link not used in a multi-value field. The multi-value
link does not need to be attached to a field in the business component, or used in
a multi-value group. It just needs to be created as a child object definition of the
master business component, configured to point to the detail business component
and link, and set with copying enabled (a No Copy value of FALSE).

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-57

Business Objects Layer


Multi-Value Links

Cascade copy can be implemented for a many-to-many relationship, that is, where
the destination link has a nonblank Inter Table property value. In this circumstance,
new intersection table rows are created rather than new detail business component
records. New associations are created rather than new records. These associations
are between the new master and the existing detail records.
NOTE: Cascade copy has the potential to violate the requirement of uniqueness of
values in indexes. For this reason, if copying the detail records would cause any
unique index violations, the copy operation is aborted by the system.

18-58

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Objects

Business Objects

18

A business object implements a business model (as represented in a logical


database diagram), tying together a set of interrelated business components using
links. The links provide the one-to-many relationships that govern how the business
components interrelate in the context of this business object.
The set of relationships established in a business object provides the foundation for
views and screens. For example, Figure 18-24 shows the Contact Detail Opportunities View, a view that operates based on a one-to-many relationship
defined in the Contact business object.
One master record from the
Contact business component

Many detail records from the


Opportunity business component

Figure 18-24. Master-Detail View Based on a Business Object

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-59

Business Objects Layer


Business Objects

Every view has a business object assigned to it. A master-detail view can implement
only a one-to-many relationship supported by its underlying business object. For
example, the view in Figure 18-24 can display a one contact to many opportunities
relationship because Contact and Opportunity have this kind of relationship in the
Contact business object, and the view (Contact Detail - Opportunities View) uses
the Contact business object. In order to implement a view displaying the reverse
relationship (one Opportunity master record to many Contact detail records), the
Opportunity (rather than Contact) business object would be required as the
business object of the view.
Figure 18-25 displays the abstract relationships between the Business Object object
type and two user interface object types, View and Screen.

assumed
relationship

Screen

Business
Object
required
relationship
through property
settings

Views

Figure 18-25. Relationship Between Business Object, Screen, and Views

Many views are built based on the same business object. Typically only one screen
is associated with one business object. A business object is not assigned to a screen
through a property setting the way a business object is assigned to a view. The
relationship between a business object and a screen is an informal one dictated by
good design practice, and it is not strictly enforced by the Siebel Tools software. In
general, all of the views in a screen are implementations of the same business
object.
The logical database diagram in Figure 18-26 illustrates the complete set of one-tomany relationships between business components in a single business object, in
this case the Account business object.

18-60

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Objects

Account

Account
Attachment
Account External
Product

Baseline

Consumption

Account Product
Shipments
Action
Contact

Store Conditions

Customer Product
In Store Visit

In Store Activity

MDF

MDF Allocation via


MDF

MDF Checkbook
MDF Promotion
Account

MDF Allocation
No Join

MDF Promotion
Account Product

Opportunity
Proposal
Promotion
Account
Recommended
Activity
Service
Agreement

Promotion
Account Note
Promotion
Account Product

MDF Allocation

Order

Quote

Legend:
Business Component

Service Request

1:M relationship
(through a Bus. Object
Component and a Link)

Sub Account

Figure 18-26. Master-Detail Relationships in the Account Business Object

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-61

Business Objects Layer


Business Objects

The boxes represent business components, and the three-way connectors represent
one-to-many relationships. A one-to-many relationship is implemented with a
business object component and a link, as is explained in How a Business Object Is
Constructed on page 18-63.
The business object collects a logical grouping of business components and a set of
links that associate them. Some of the same business components and links may
appear in other business objects. The same two business components may have a
one-to-many relationship in one business object, and the opposite one-to-many
relationship (or no relationship) in another business object.
However, within the context of one business object, there is an unambiguous set of
relationships between the business components in the grouping. When a particular
business object is active because a view that uses it is active, the population of data
records in business components in the business object is based on the relationships
in the business object.
The benefit of business objects is reusability. The same business component can be
used in various different sets of relationships by including it in multiple business
objects.
NOTE: Not all business components included in a business object participate in
master-detail relationships. Business components that are not part of the business
model may also be incorporated in the business object. A Business Component
object makes such a business component available for use in views based on the
specified business object.

18-62

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Business Objects

How a Business Object Is Constructed

18

The object types illustrated in Figure 18-27 participate in the configuration of a


business object.

User Interface Objects Layer


Screen

Screen View

View

Business Objects Layer


Business Object

Business Object
Component

Link

1:2

Business
Component

Legend:
Object type
1:M relationship through object hierarchy
1:M relationship through properties

Figure 18-27. Business Object Architecture

Version 6.0

Siebel Tools Guide Volume 2 of 2

18-63

Business Objects Layer


Business Objects

The relationships between object definitions used to implement a business object


appear in Figure 18-28.

Business Object
Business Object
Component
Link
property

BusComp
property

Link
Parent
Business
Component
property

Child
Business
Component
property

master
Business
Component

Legend:
object definition
detail
Business
Component

contained (child)
object definition
property specifies
other object def

Figure 18-28. Business Object Details

The object definitions in Figure 18-28 are described as follows:

Business Object object type. The business object is a parent for multiple business

object component child object definitions. Each business object component


specifies a master-detail relationship. View object definitions reference the
business object in their Business Object property.

Business Object Component object type. Business Object Component is a child

object type of Business Object. Typically, each business object component


defines one master-detail relationship within the parent business object. Two
properties within the business object component specify this relationship:
 Link property. Identifies the link object definition.

18-64

Siebel Tools Guide Volume 2 of 2

Version 6.0

Business Objects Layer


Chapter Summary and Where to Get More Information

 BusComp property. Identifies the detail business component object definition.

A business object component can be used to include a business component in


the business object without a link. To accomplish this, you enter a blank value
in the Link property of the business object component. A link-free business
object component allows you to incorporate a business component in the
business object for use in views based on the business object, even though the
business component does not have one-to-many relationships with other
business components in the context of that business object.

Link object type. One link is referenced by each business object component. The
Link object definition specifies the master-detail relationship that is being
included in the business object by way of the business object component. Links
are described in Links on page 18-34.

Master business component. The master business component is the one in the

one-to-many relationship specified in the link. The Parent Business Component


property in the Link object definition specifies the master business component.

Detail business component. The detail business component is the many in the

one-to-many relationship. The detail business component is specified both in


the Child Business Component property of the Link object type and in the
BusComp property of the Business Object Component object type.

Chapter Summary and Where to Get More Information

18

This chapter described objects in the Business Objects Layer.


Table 18-2 lists sources of additional information about topics discussed in this
chapter.
Table 18-2.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

User properties

Appendix E

High-level view of the Siebel architecture

Chapter 3

Siebel Tools Guide Volume 2 of 2

18-65

Business Objects Layer


Chapter Summary and Where to Get More Information

18-66

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer

19

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-3


Major User Interface Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-4
Text Style for User Interface Elements

. . . . . . . . . . . . . . . . . . . . . . . . 19-8

Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9
Applet Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-14
Form Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-14
List Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-23
Display Format Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-31
Popup Edit and Multi Line Properties . . . . . . . . . . . . . . . . . . . . . . 19-31
Type Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-32
Configuring Field Level Prompts . . . . . . . . . . . . . . . . . . . . . . . . . 19-32
Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-33
Configuring Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-36
List-Form Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-38
Master-Detail Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-40
Thread Bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19-43
Drilldown Behavior in a View . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-44
Applet Toggle Behavior Within a View . . . . . . . . . . . . . . . . . . . . . . . . . .19-49
Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-52
Finds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-53
Configuring the Find Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . 19-54
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-56

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-1

User Interface Objects Layer

Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-58
The Toolbar Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-60
The Command Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-60
The Toolbar Item Object Type . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-62
Chapter Summary and Where to Get More Information . . . . . . . . . . . 19-63

19-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


About This Chapter

About This Chapter

19

This chapter describes objects in the User Interface Objects Layer in the Siebel
application architecture.
Figure 19-1 shows user interface objects in a typical Siebel application session.

Screen: Opportunities
View: Contacts

Applet: Opportunity
Entry
Applet: Contact List

Application: Siebel
Sales Enterprise

Figure 19-1. User Interface Objects in a Typical Siebel Application Session

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-3

User Interface Objects Layer


Major User Interface Object Types

Major User Interface Object Types

19

As shown in Figure 19-2, the Application, Screen, View, and Applet object types
have hierarchical (one-to-many) and peer-to-peer (one-to-one) relationships based
on parent/child object type relationships and property settings.

User Interface Objects Layer


Application

Screen

View

Applet

Control or List
Column

Business Objects Layer

Legend:
Field

Object type
1:M relationship through object hierarchy
1:M relationship through properties

Figure 19-2. Overview of User Interface Architecture

19-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Major User Interface Object Types

Two additional object types are introduced in Figure 19-2, Control and List Column,
shown together in a single box:

Control object type. One Control object definition corresponds to one data control

in a form applet, such as a text box, check box, or command button. A control
is something in the applet with which the user can interact. A control usually
either exposes data from one field in the business component, or invokes
programming logic (in the case of a PushButton control).
For more information, refer to Form Applet Controls on page 19-16.

List column object type. A List Column object definition corresponds to one

column in the scrolling list table in a list applet, and to one field in the business
component.
For more information, refer to Configuring the List Columns on page 19-27.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-5

User Interface Objects Layer


Major User Interface Object Types

The full set of user interface object types and their relationships is illustrated in
Figure 19-3.

User Interface Objects Layer


Application

Application Find

Page Tab

Screen Menu
Item

Find

Screen

Screen View
Find Field

Find View

View

Applet

List

Control

List Column

Business Objects Layer


Business Object

Business Object
Component

Field

Pick Map

Business
Component

Pick List

Legend:
Link

Join

Object type
1:M relationship through
object hierarchy

Multi Value Link

Join
Specification

1:M relationship through


properties

Figure 19-3. Details of User Interface Architecture

19-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Major User Interface Object Types

The following additional user interface object types are introduced in Figure 19-3:

List object type. List is a child object type of Applet. A List object definition
specifies property values that pertain to the entire scrolling list table and
provides a parent object definition for the list columns.

For more information, refer to Configuring the List on page 19-26.

Screen View object type. A screen view object definition associates a view with
the screen views parent screen object definition.

For more information, refer to Screens on page 19-52.

Page Tab object type. A page tab object definition associates a screen to the page
tabs parent application object definition and includes it as a tab in the Tab bar.

Screen Menu Item object type. A screen menu item object definition associates a

screen to the application and includes the screen as a menu item in the Screens
menu.

Find object type. A Find object definition adds a type of record to search for to
the Find dialog box for the application.

Refer to Finds on page 19-53 for information on the Find, Application Find,
Find Field, and Find View object types.

Application Find object type. An Application Find object definition associates a


find to the application, adding it to the Find dialog box for that application.

Find Field object type. A Find Field object definition adds a search field to a find.

Find View object type. A Find View object definition adds a view to the list of

possible views that can be presented in response to a find.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-7

User Interface Objects Layer


Text Style for User Interface Elements

Text Style for User Interface Elements

19

You can centrally control the font characteristics of the user interface of your
dedicated client, Windows thin client, or Java thin client application by setting
properties of various object types. User interface elements you can define using this
method include controls, applets, and views.
You can also set an application-wide default text style in the application
configuration (.cfg) file.
There is a top-level object type called Text Style.
The following object types also support a Text Style property:

 Applet (specifies the default text style to be used by the controls in the applet)
 View (specifies the default text style to be used by the controls in the applets
that appear in the view)
In addition, the Control object type has these properties that control color and text
style:

 Foreground Color (space-separated RGB valuesfor example, 255 255 255 for
white)

 Background Color
 Text Style

19-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Applets

19

An applet is a data entry form, composed of controls, that occupies some portion of
the Siebel application window. An applet can be configured to allow data entry,
provide a scrolling table of data rows, or display business graphics, a navigation
tree, or a Web browser. It provides viewing, entry, modification, and navigation
capabilities for data in one business component.
An applet is always associated with a business component. Although the same
business component can be associated with multiple applets, an applet is associated
with only one business component.
NOTE: To add a static image to an applet, you can create and import a new bitmap

object into an existing bitmap category.


In the next sections the typical applet styles are summarized and illustrated,
followed by a detailed section on each. Typical applet styles include the following:

List applet. A list applet displays data in a scrolling list table format, much like a
spreadsheet or word processor table. Rows in the list applet correspond to
records in the business component; list columns in the list applet correspond to
fields in the business component. A list applet appears in Figure 19-4.

Figure 19-4. List Applet

See List Applets on page 19-23.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-9

User Interface Objects Layer


Applets

Form applet. A form applet displays data in a data entry form. Fields in the
business component appear on the form applet as text boxes, check boxes, and
other standard Windows controls. A form applet appears in Figure 19-5.

Figure 19-5. Form Applet

See Form Applets on page 19-14.

Pick applet. A pick applet is a dialog box window that appears when a selection

is to be made in a control or list column that has the drop-down arrow icon to
its right. The pick applet provides a list or table of selection values, from which
the user selects a value or record.
In contrast to an association applet, a pick applet is M:1.
A pick applet appears in Figure 19-6.

Figure 19-6. Pick Applet

19-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Multi-value group applet. A multi-value group applet is used for entry,


maintenance, and viewing of a list of detail records associated with one or more
fields in the currently displayed master record. For example, an account can
have multiple addresses. A multi-value group applet can be invoked from the
Address control in the Account Entry form applet to display or maintain the list
of addresses associated with the current account. A multi-value group applet
appears in Figure 19-7.

Figure 19-7. Multi-Value Group Applet

Chart applet. A chart applet graphically displays data from a business component
in a bar chart, line graph, pie chart, scatter diagram or other format. It
summarizes and illustrates data relationships. A chart applet appears in
Figure 19-8.

Figure 19-8. Chart Applet

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-11

User Interface Objects Layer


Applets

Association applet. An association applet provides the user with the ability to
associate records of two business components that have a many-to-many
relationship. It is invoked from the New button in a multi value group applet, or
the Edit Add New Record menu option in a master-detail view. An association
applet appears in Figure 19-9.

Figure 19-9. Association Applet

Web applet. A Web applet contains a Web browser that displays Web documents

called Briefings, and may display regular Web pages as well. For more
information about Web applets, see Web Browser Applets on page 22-46.

19-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Tree applet. A tree applet is used to create an explorer view that allows the user
to navigate hierarchically through a structured list of object instances. A tree
applet appears in Figure 19-10.

Figure 19-10. Tree Applet

File attachment applet. File attachment applets provide access to external


documents, such as spreadsheets, word processing documents, and
presentations, that have been imported in compressed format into records in a
Siebel application. A file attachment applet appears in Figure 19-11.

Figure 19-11. File Attachment Applet

The Applet object type is discussed in general in the following section, followed by
discussion of each applet style in subsequent sections.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-13

User Interface Objects Layer


Applets

Applet Styles

19

Applets are created and modified in the Applet Designer in Siebel Tools. In
particular, the Applet Designer is used to add controls to the applet. The Applet
Designer is described in The Applet Designer on page 12-3. In addition to visual
attributes that are manipulated in the Applet Designer, there are properties to
configure in the applet object definition and its child object definitions.
Prior to laying out the applet in the Applet Designer, and configuring the applet and
child object definitions in the Object List Editor, you should complete the following
prerequisites:

 Configure the business component to be associated with the applet.


 Develop design specifications for the applet. These should include a layout, a
description of behavior, tab order, and the mapping of controls or list columns
to the underlying business component.

Form Applets

19

A form applet presents business component information in a data entry form layout.
An example of a form applet in Siebel Sales appears in Figure 19-12.

Figure 19-12. Form Applet in Siebel Sales

19-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Data entry is performed with text boxes, check boxes, buttons, and similar visual
constructs known collectively as controls (also called data controls). The Control
object type implements data controls. The controls that display data show a value
from a particular field in the current business component row. The relationships
between objects used to implement a form applet appear in Figure 19-13.

User Interface Objects Layer

Applet

Control

Business Objects Layer


Business
Component

Legend:
Object type

Field

1:M relationship through


object hierarchy
1:M relationship through
properties

Figure 19-13. Form Applet Architecture

A form applet is implemented in Siebel Tools by means of an applet object definition


and multiple control object definitions. These two object types have the following
roles:

 The applet object definition provides the properties that belong to the entire
applet, such as the Name, Business Component, Width, and Height, and
specifies in the Class property that the applet is a form applet (CSSFrame class).

 The control object definitions typically identify individual data controls in the
data entry form, such as text boxes and command buttons. A control either
corresponds to one field in the business component, or invokes program logic
(in the case of a button control).

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-15

User Interface Objects Layer


Applets

Each data control is added to the applet using the Applet Designer. The Applet
Designer is a visual application design editor in which you add, reposition and
resize data controls and other user interface constructs such as list columns, chart
elements, and tree nodes. When a data control is added to the applet in the Applet
Designer, a control object definition is automatically created for it. You assign
properties to each control object in the Object List Editor (or Properties window)
following its creation. For information on the process of adding data controls to
Applets using the Applet Designer, see The Applet Designer on page 12-3.

Form Applet Controls


Following creation and placement of data controls in the applet using the Applet
Designer, the properties of the corresponding control object definitions can be
edited in the Object List Editor. All control object styles have the following
important properties, except where otherwise noted:

Name property. The name of the control, for identification by other objects.

Type property. Specifies the style of the control. Valid values are ActiveX Control,

ChartControl, CheckBox, ComboBox, Group, and ImageControl. Each of these


Control styles is described in a subsection below.

Caption property. The Caption property provides descriptive text in, on or near the
control, depending on the type of the control. The caption specified for a button
control is the text that appears on the button face. The caption in a label control
is the text of the label. The caption in a text box control is the text that appears
above or to the left of the control, although generally a separate label control is
used to identify a text box, and the text box caption is left blank. The Caption
property is unspecified for control styles which do not have identifying text. An
example of a text box with a caption or separate label is shown in Figure 19-14.
Caption in a separate label control, or
specified as a property of the text box
Text box control

Figure 19-14. Caption for a Text Box Control

19-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Sequence property. An integer value specifying the tab sequence of this control
relative to other controls in the applet that have the Tab Stop property set to
TRUE. Tab sequence is the order in which the tab key moves the highlight from
control to control on the applet. The lower the integer value you enter for
sequence in a particular control in the applet, the sooner the tab key will access
this control relative to others.

A faster way to set tab order for the controls in the applet is to use the
Format Set Tab Order menu option when the Applet Designer is active, rather
than individually setting Sequence values.

Tab Stop property. This is a TRUE/FALSE value indicating whether the control is
included in the tab sequence. If set to FALSE, the control will not be in the tab
sequence.

Each control style (as specified in the Type property) is described briefly in the
following sections.

Text Box Controls


A text box, or text box control, displays text inside a rectangular box. An example of
a text box appears in Figure 19-15.

Figure 19-15. Text Box Control

Some characteristics of text boxes are as follows:

 A text box allows the entry and editing of text, unless the text box is read-only
(in which case it has a gray background, and displays text which cannot be
altered).

 A text box displays data of a particular data type, such as alphanumeric,


numeric, date, or currency.

 Text boxes can be restricted to one line of text in height, or can allow for multiple
lines for description information that typically takes the form of paragraphs.
When it is specified as multiple-line, a vertical scroll bar can be attached at the
right edge to enable the user to scroll up and down through the contents.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-17

User Interface Objects Layer


Applets

 An ellipsis (...) button is automatically attached to the right edge of a text box
when the MVG Applet property has a non-blank value or the Popup Edit
property is TRUE. This enables the user to call up a multi-value group applet or
multi-line edit box by clicking the button.
The Runtime property must also be TRUE any time the field is supposed to pop
up an MVG, picklist, or widget (for example, a Calendar).

 A drop-down arrow () button is attached to the right edge of a text box when

the Pick Applet property has a non-blank value. This enables the user to call up
a picklist or pick applet by clicking the icon.
Static picklists and pick applets are discussed in Chapter 20.

NOTE: Trailing spaces are truncated in data displayed through the Siebel application

user interface or through Siebel Tools.


Controls of type TextBox have the following essential properties:

Field property. The field in the business component from which the text box

displays data.

Display Format property. A format specification for data displayed by the text box,

used for numeric, date, currency, and similar non-text data types. Used as
follows:
 For DTYPE_NUMBER data, the property can be left blank (indicating that the
appearance of numeric values should be as set in the Regional Settings
section of the Windows Control Panel) or explicitly specified using 0, #, +,
minus sign, comma, and period symbols.
 For DTYPE_CURRENCY data, the property can be left blank (indicating that
currency should be as set in the Windows Control Panel), or explicitly
specified using the same symbols as for DTYPE_NUMBER, plus the dollar
sign. The display of currency values can also be controlled in the Currency
Administration view in Applications Administration.
 For DTYPE_DATETIME data, one of the keywords Date, Date Time, Date
TimeNoSec, and TimeNoSec may be specified.

19-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

 For DTYPE_DATE data, the property can be left blank (indicating that the
appearance of date values should be as set in the Windows Control Panel) or
explicitly specified using combinations of M, D, Y, and / symbols.
 For DTYPE_TIME data, the keyword TimeNoSec can be entered, the property
may be left blank (indicating that the appearance of time values should be as
set in the Windows Control Panel), or a format mask may be explicitly
specified using combinations of H, h, m, s, and : symbols.
 For DTYPE_PHONE data, the Display Format property is left blank, and the
Windows Control Panel setting is used.
NOTE: Postal code formatting options are not explicitly provided, and hyphens in
a postal code are not supported. Generally, for postal codes you should use the
DTYPE_NUMBER data type, and a format mask in the Display Format property
consisting of number signs and blank spaces, such as ##### #### for U.S. Zip+4
postal codes.

MultiLine property. A TRUE/FALSE value indicating whether or not the text box is
a multiple-line control (for text box controls displaying data of type
DTYPE_NOTE or DTYPE_TEXT). The default is single line.

Want Return property. A TRUE/FALSE value indicating whether or not a carriage

return is inserted when the user presses the Enter key while entering text into a
multiple-line text box control. If FALSE, pressing the Enter key has the same
effect as clicking the applet's default button. This property has no effect on a
single-line text box control.

Version 6.0

Vertical Scroll property. A TRUE/FALSE value indicating whether or not the text
box has a vertical scroll bar.

Read Only property. A TRUE/FALSE value. Indicates if the user can edit the value
displayed in the text box.

Siebel Tools Guide Volume 2 of 2

19-19

User Interface Objects Layer


Applets

Runtime property. This is a TRUE/FALSE value. When the text box control has an
MVG Applet or Pick Applet property setting other than blank, a value of TRUE
in the Runtime property directs the system to activate the ellipsis or drop-down
arrow icon to the right of the text box. A FALSE value directs the system not to
provide the icon. This makes the multi value group or pick applet inaccessible.
NOTE: A Runtime setting of TRUE, combined with blank MVG Applet and Pick
Applet property settings, directs the system to determine from the data type of
the underlying field if an ellipsis icon for a calculator, calendar, or currency
popup applet should be provided.

MVG Applet property. Identifies the applet to use for the multi-value group dialog

box (multi-value group applet). The field for the control must be a multi-value
field, and the Runtime property must be set to TRUE.

Pick Applet property. Identifies the applet to use for the picklist dialog box (pick

applet). The field for the control must have a picklist specified, and the Runtime
property must be set to TRUE.

Popup Edit property. A TRUE/FALSE value indicating whether or not the control
can be expanded into a multi-line edit control for editing values (for text box
controls displaying data of type DTYPE_TEXT).

Text Alignment property. Indicates how to align the text in the control. The value

is either Left, Center, or Right.

Button Controls
A button control (Type property value of PushButton) initiates an action when
clicked. A group of four button controls is illustrated in Figure 19-16.

Figure 19-16. Button controls

A button can invoke a built-in method (supplied with Siebel applications), or a


custom method programmed in Siebel VB or Siebel eScript.

19-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Button controls have the following important properties:

Method Invoked property. This is the name of the method invoked when the

button control is clicked.


NOTE: A custom method is attached to a button in the Applet Designer by means

of the On_Click event.


There are instances when you may want to put your own custom methods in the
Method Invoked property of a button. For example, this is the only way to invoke
Siebel VB or Siebel eScript on a button-click event in Windows thin client. This
is true because Siebel VB and Siebel eScript are not supported directly on the
Applet object in the Windows thin client. It assumes that a script on the preinvoke method event of the business component will recognize the user-defined
method, cancel normal execution, and instead execute a customized script from
the business component pre-invoke method event. This is similar to the
technique traditionally used to invoke scripts from a custom application or
applet menu item.

Default Button property. A TRUE/FALSE value indicating whether or not this


button is the default button for the applet. The default button is the one that is
activated when the user presses the Enter key.

Combo Box Controls


A combo box is implemented as a control with a Type property setting of ComboBox.
It consists of a text box with a drop-down button attached at the right edge. The
user clicks the drop-down button, which activates a selection list, and then clicks a
selection in the list. The selected value replaces the previous value in the box. An
example of a combo box is shown in Figure 19-17.

Figure 19-17. Combo Box Control

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-21

User Interface Objects Layer


Applets

Combo box controls implement special-purpose picklists in chart, calendar, and


pick applets. In chart applets they implement the Show and By combo boxes. In
calendar applets they implement the user name combo box. In pick applets they
implement the Find combo box. Combo box controls appear and behave almost
identically to static picklists, but they are implemented through a different control
type (ComboBox rather than Text Box).
For information on the use and configuration of the specialized combo boxes in a
chart applet, refer to Chapter 22. For information on static picklists, refer to
Chapter 20.

Check Box Controls


A check box is implemented as a control with a Type property setting of CheckBox.
It is a small, open square into which an X can be inserted or removed by clicking
the box. An example of a check box appears in Figure 19-18.
Label control
Check box control

Figure 19-18. Check Box Control

A check box is used to represent a TRUE/FALSE field with a data type of


DTYPE_BOOL. A TRUE value is represented as an X, and a FALSE value as an empty
box.

Group Controls
A group control is a rectangular box that is drawn on the applet, and serves as a
visual aid for organizing the controls in the applet. It does not have data editing or
display capabilities. A group control appears in Figure 19-19.
Caption

Group control

Figure 19-19. Label and Group Controls

19-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

The box that surrounds the name and address text box controls in the illustration is
a group control. It is drawn using the Applet Designer. The caption appears in the
upper left corner of the group box, and is specified in the Caption property of the
control.

Label Controls
A label control, like a group control, is a visual aid only. It has no data display or
entry capabilities. Use a label control when you need to place wording somewhere
inside the form applet. Typically a separate label control is used to identify a text
box or check box, rather than the Caption property of the control. There are also
some specialized label controls, such as the Applet Title. These are discussed on
page 19-30.
NOTE: To display the ampersand symbol (&) in a label, you need to use two
consecutive ampersands (&&) so that it will convert to a single ampersand at run
time.

List Applets

19

A list applet presents business component information in a scrolling list table


format. The Contact List Applet is an example of a list applet in Siebel Sales, and
appears in Figure 19-20.
List column displaying the
contents of the Last Name field

List column containing drilldown


(hypertext) jumps to another view

Figure 19-20. List Applet in Siebel Sales

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-23

User Interface Objects Layer


Applets

Columns in a list applet are called list columns, and have a corresponding object
type (List Column). Data entry in a list applet is performed in the cells that are at
the intersections of rows and list columns. Cells in different list columns can
function in different ways, depending on the properties of their list columns. Some
examples of cell behavior based on list column properties are:

 Cells in some list columns function like text box controls in a form applet. This
kind of cell is used for the display and editing of a text, numeric, date, or
currency value. If the list column is not read-only, you can click the cell to
activate an editing cursor, and edit the text.

 Cells in some list columns function like check box controls in a form applet. A
check mark in the box is a TRUE value; an empty box has a FALSE value.
NOTE: When TRUE a check box in a list column holds a check mark symbol,

whereas a check box in a control in a form applet holds an X symbol.

 Cells containing underlined, colored text are drilldown fields. Drilldown fields
let the user navigate from the cell to another view that presents detailed
information about the selected row.

19-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

The relationships between object types used to implement a list applet appear in
Figure 19-21.

User Interface Objects Layer


Applet

List

Control

List Column

Business Objects Layer


Business
Component

Field
Legend:
Object type
1:M relationship through object hierarchy

1:M relationship through properties

Figure 19-21. List Applet Architecture

A list applet consists of an applet object definition, a list object definition, multiple
list column object definitions, and multiple control object definitions (including, at
a minimum, the list control). These object definitions have the following roles in a
list applet:

Applet object. The applet object definition provides the properties that apply to

the entire applet, such as the Name, Business Component, Width, and Height.
It specifies in the Class property that the applet is a list applet (CSSFrameList
class). Configuration of the applet is described in Applet Styles on page 19-14.

Version 6.0

List object. The list object definition provides properties that govern how the
scrolling list table operates, such as whether or not totals appear at the bottom
of numeric columns, and whether or not to include an alphabetical search tab
bar. Configuration of the list object definition is described in Configuring the
List on page 19-26.

Siebel Tools Guide Volume 2 of 2

19-25

User Interface Objects Layer


Applets

List Column object. Each list column object definition identifies one list column

in the scrolling list table. A list column corresponds to one field in the business
component. Configuration of the list columns is described in Configuring the
List Columns on page 19-27.

Control object. Each Control object definition identifies one visual construct in

the list applet. With the exception of the list control, they all appear outside of
the scrolling list table. Typical controls in the list applet include the Title control,
which indicates the current record and the total number of records listed.
Sometimes a set of navigation command buttons are also included in a list
applet. Configuration of the controls in the list applet is described in
Configuring the Controls on page 19-30.
NOTE: The list object definition and the list control are two different object
definitions, although both are used in the configuration of the scrolling list table
that provides most of the list applets functionality. The list object definition
serves as a parent to the list column object definitions, and has properties that
govern list table behavior. The list control is the visual construct that is initially
drawn on the applet, and governs the height, width, and location of the list table
in the applet layout.

Configuring the List


List is a child object type of Applet. A list applet has exactly one list object
definition, named List. The List object definition provides property values that
pertain to the entire scrolling list table, and it serves as a parent object definition for
the list column object definitions.
A List object definition (and a list control) are created when you create a new list
applet in the Applet wizard. In an existing list applet you can select the list object
definition in the Applet Designer by clicking the list table. You can then edit the
properties in the Properties window or use the Object List Editor.

19-26

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Configuring the List Columns


List Column is a child object type of List. It identifies one column in the scrolling
list table and corresponds to one field in the business component. The List Column
object type has the following important properties:

Name property. The name of the list column, for reference by other object

definitions. The Name must be unique among the child list column object
definitions of the list.

Field property. This property identifies the field from which the list column
derives its values.

Sequence property. An integer value that determines the order in which the list
column appears relative to the other list columns (from left to right) when the
applet appears in a Siebel application. The lower the integer value you enter for
the sequence in a particular list column in the list, the closer to the left edge this
list column initially appears relative to others.

The sequence specified in Siebel Tools is a default only. The user can reposition
list columns.
NOTE: The Sequence property values are automatically set in the Applet Designer

as you add, delete, and reposition list columns in Siebel Tools.

Display Name property. The text which appears at the top of the list column,
identifying the column.

Display Format property. A format specification for data displayed by the list

column. It is used for numeric, date, currency, and similar non-text data types.
For details, refer to Form Applet Controls on page 19-16.

Version 6.0

MVG Applet property. This property identifies which applet to use for the pop-up
multi-value group if the field for the list column is a multi-value field.

Pick Applet property. This property identifies the applet to use for the pop-up pick
applet if the field for the list column has a pick list specified.

Siebel Tools Guide Volume 2 of 2

19-27

User Interface Objects Layer


Applets

Popup Edit property. A TRUE/FALSE value indicating whether or not the cell in
the list column can be expanded into a multi-line edit box for editing values.
Generally, a pop-up edit box is used for the entry of longer text, such as a
sentence or paragraph. A pop-up edit box is appropriate for entry of notes,
comments, and instructions. The user clicks the cell to obtain an ellipsis button
at the right edge of the cell. When the user subsequently clicks the ellipsis icon
button, the pop-up edit box appears. An example of a pop-up edit box appears
in Figure 19-22.

Popup edit Box

List column containing Popup Edit =


TRUE value
Ellipsis button

Figure 19-22. Pop-Up Edit Box

Text Alignment property. Specifies the alignment of text in the list column. Valid

values are Left, Center, and Right.

19-28

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

Total Required property. A TRUE/FALSE property indicating whether the list


column is to be totaled. A list applet with totals in two list columns appears in
Figure 19-23.
Totals line

Figure 19-23. List Applet with Totals

Type property. The type of list column, either CheckBox, TextBox, or


ImageControl. CheckBox is used for list columns that display TRUE/FALSE data;
TextBox is used for others.

For a complete description of properties of the List Column object type, see the
Siebel Object Types Reference.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-29

User Interface Objects Layer


Applets

Configuring the Controls


The controls in a list applet appear outside of the scrolling list table (except for the
list control), and either control the behavior of the scrolling list table or display
information about the list table. An example of a list applet containing some
controls appears Figure 19-24.
Applet Title label control
List control

Button controls

Figure 19-24. Controls in a List Applet

The controls illustrated in Figure 19-24 are not necessarily typical for a list applet,
except for the list control and applet title. The controls in Figure 19-24 are described
as follows:

ListControl value. The list control is a control with a Type property setting of

ListControl. It is named List. Its properties primarily govern the size and position
of the scrolling list table in the list applet. It is automatically added when a new
list applet is created in the Applet wizard.
NOTE: The list control is a different object definition than the list object

definition, as was previously explained in Configuring the List on page 19-26.

AppletTitle label control. This is a label control named AppletTitle. The applet title

appears in the tab at the upper left of the applet. The title text in the control is
automatically populated by the value in the Title property of the applet at run
time.

19-30

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applets

New button. This button control inserts a new, blank record in the list table for

user data entry. The New, Delete, Copy, and Cancel buttons appear in
Figure 19-24.

Delete button. This button control deletes the current record in the list table.

Copy button. This button control duplicates the current record in the list table.

The user can then edit the newly created copy row.

Cancel button. This button control cancels a New or Copy operation.

For more information about controls, refer to Form Applet Controls on


page 19-16.

Display Format Property

19

You can specify an explicit format mask in the Display Format property of a control
(in a form applet) or list column (in a list applet) using various symbols.
For DTYPE_DATETIME you can also specify Date, Time, or TimeNoSec in the
Display Format property that will display the specified portion using the format in
the Windows Control Panel. The Display Format property is ignored for values of
DTYPE_PHONE.

Popup Edit and Multi Line Properties

19

You can define list columns and controls with a Popup Edit property set to TRUE.
This allows the user to click on an ellipsis to bring up a window that displays and
allows editing of multiple lines.
Set this property to DTYPE_TEXT or DTYPE_NOTE.
A textbox control can be defined as Multi Line. This allows multi-line editing and
use of scroll bars and does not require invoking an additional window, but takes up
more space in the applet. You can also define the same control with Popup Edit to
allow a greater number of lines to be displayed.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-31

User Interface Objects Layer


Applets

Type Property

19

For a control or list column based on a field with type of DTYPE_DATE, Siebel
applications enable the pop-up of a calendar control at run time.
For a control or list column based on a field with type of DTYPE_TIME, Siebel
applications enable the pop-up of a time control at run time.
If the underlying field has a type of DTYPE_DATETIME, Siebel applications enable
the pop-up of a combination calendar/time control at run time.
For a control or list column based on a field with DTYPE_NUMBER and
DTYPE_INTEGER, Siebel applications enable the popup of a calculator at run time.
To cause a run-time pop-up control to appear, the run-time property of the list
column or control must be set to TRUE.
If there is a picklist defined for a field that has one of the types mentioned above,
then a picklist pops up at run time, instead of a calculator or calendar.

Configuring Field Level Prompts

19

There are two places where users can get field level prompts:

 Lower left corner of the Siebel application screen


 Textbox control that has a prompt property of TRUE
To modify the text for field level prompts
1 In the Siebel application, select Systems Administration

 Messages Screen.

2 Be sure you have the correct language selected.


3 Modify only the message text field.
All field level prompts have message type of Prompt. The message key has the
format fieldname.appletname (for example, Account.Opportunity List Applet).

4 In Siebel Tools (connected to the same database where the message texts are
stored), select the correct language, and then compile the projects you have
modified.

19-32

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Views

19

A view is a collection of applets that appear at the same time on the same screen.
A view can be thought of as a single windows worth of data forms (applets). A
Siebel application window displays one view at any one time. The currently active
view is changed by selecting a different view from the View bar or from a menu
suboption in the Screens menu.
NOTE: You should not modify server views.

Views are typically of the following styles:

List-form view. In a list-form view, a list applet and a form applet display data from

the same business component. The list applet appears above the form applet.
The form applet presents the same information as the currently selected record
in the list applet, with a different arrangement that may include more fields. The
form applet also has buttons that provide Add, Delete, and Copy functionality.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-33

User Interface Objects Layer


Views

A list-form view appears in Figure 19-25.


The highlighted record
in the list Applet...

...is presented in a different


format in the form Applet.

Figure 19-25. List-Form View

List-form views are described in List-Form Views on page 19-38.

19-34

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Master-detail view. In a master-detail view, a form applet and a list applet display

data from two business components related by a link. The form applet appears
above the list applet. The form applet displays one record from the master
business component in the master-detail relationship. The list applet displays all
of the records from the detail business component that have as their master
record the record currently displayed in the form applet. A master-detail view
appears in Figure 19-26.
The record displayed
in the form Applet...

...has as detail records all of the


records appearing in the list Applet.

Figure 19-26. Master-Detail View

Master-detail views are discussed in Master-Detail Views on page 19-40.


NOTE: Master-detail views can display multiple master-detail relationships, with

a different applet for display of records from each detail business component.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-35

User Interface Objects Layer


Views

Configuring Views

19

A view displays one or more applets in rectangular regions of the display area called
sectors. Sectors are numbered zero through seven, as illustrated in Figure 19-27.

Figure 19-27. Sectors in a View

An applet can occupy any contiguous set of sectors that forms a rectangle. Two
applets cannot share the same sector; they must be non-overlapping.
On certain video monitors, especially laptops (or computers configured to display
in VGA rather than Super VGA mode), only a three-sector high grid will display,
rather than the four sectors. One row of two sectors will be unavailable for display
in such an environment. For this reason a horizontal pair of sectors is designated
by the developer as the drop sectors. The drop sectors will display on monitors with
sufficient space, and be removed from the applet(s) containing them on other
monitors. For example, a list applet can be configured to use sectors 2, 3, 6, and 7,
with sectors 3 and 7 designated as drop sectors.

19-36

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

A view is related to a specific business object. There is a required Business Object


property in the View object definition; the name of the business object is specified
there. The business object creates a context in which the applets in a view
interrelate. This is because the business components on which the applets are based
have one-to-many and many-to-many relationships defined by Link object
definitions. These link object definitions are attached to the business object by
means of its child business object components. In particular, the one-to-many
relationship displayed in a master-detail view is defined by the business object of
the view.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-37

User Interface Objects Layer


Views

List-Form Views

19

In a list-form view, a list applet and a form applet display data from the same
business component. The list applet appears above the form applet. The form applet
presents the same information as the currently selected record in the list applet.
Figure 19-28 illustrates the Account List View, which is a list-form view.
List Applet listing
all records

Form Applet detailing


the highlighted record

Figure 19-28. List-Form View in a Siebel Application

19-38

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

The form applet displays information from the same account, but in a form which
can be viewed without scrolling. Notice the ellipsis and down-arrow icons to the
right of some text boxes in the form applet. These indicate picklists and multi-value
group applets that are also available from the list applet. Ellipsis and down-arrow
icons are not visible in the list applet until list column cells containing them are
clicked.
The applets in this view are Account List Applet and Account Entry Applet. Both
are based on the Account business component. The list applet occupies the first
three rows of sectors; the third row is dropped for small screens. The form applet
occupies the last row of sectors (3 and 7).
The Account List View uses the property settings in Table 19-1.
Table 19-1.

Version 6.0

Property Settings in Account List View

Property

Value

Business Object

Account

Drop Sectors

2and6

Sector0, 1, 2, 4, 5, and 6 Applet

Account List Applet

Sector3 and Sector7 Applet

Account Entry Applet

Title

My Accounts

Siebel Tools Guide Volume 2 of 2

19-39

User Interface Objects Layer


Views

Master-Detail Views

19

In a master-detail view, typically a form applet and a list applet display data from
two business components related by a link. The form applet appears above the list
applet. The form applet displays one record from the master business component
in the master-detail relationship. The list applet displays all of the records from the
detail business component that have as their master record the record currently
displayed in the form applet.
NOTE: In another variant of the master-detail view style, the view can consist of two
list applets. The records in the detail list applet are detail records of the currently
selected record in the master list applet.

Figure 19-29 illustrates the Opportunity Detail - Products View, which is a masterdetail view.
Form applet containing
the master record

List applet containing


the detail records

Figure 19-29. Master-Detail View in a Siebel Application

19-40

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

The list of Products for this Opportunity appears in the list applet. If a different
Opportunity appeared in the form applet, a different set of Products would appear
in the list applet.
The applets in this view are Opportunity Form Applet and Opportunity Product
Applet. They are based on the Opportunity and Product business components,
respectively. The business object associated with the view is Opportunity. In the
context of the Opportunity business object, the master-detail relationship between
Opportunity and Product is based on the Opportunity/Opportunity Product link.
These relationships are indicated in Figure 19-30.

Business Object
master-detail View

Business
Object
property

master Business
Object
Component

SectorN
Applet
properties

master
Applet

detail
Applet

detail Business
Object
Component

BusComp
property
Business
Component
property

Business
Component
property

master Business
Component

detail Business
Component

Link
property
Parent
Business
Component
property

BusComp
property

Link

Child Business
Component property

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 19-30. Master-Detail View Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-41

User Interface Objects Layer


Views

The object definitions in this diagram are briefly described in the following:

Master-detail view. The view being implemented.

Master applet. The form applet used to display the master record.

Detail applet. The list applet used to display the corresponding detail records.

Business object. Business object associated with the view by means of the
Business Object property of the View object. The business object establishes the
context that determines the active link between the business components
associated to the two applets.

Business object components. The business object components are child objects of

the business object. Each business object component associates a business


component to the business object.

Master business component. The business component associated with the master

applet.

Detail business component. The business component associated with the detail

applet.

Link. The link that specifies the master-detail relationship between the master

and detail business components. It is identified in the Link property of the detail
Business Object Component object.

19-42

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Thread Bars

19

The Thread Bar is a navigational tool for the user. It provides the means to navigate
from view to view among the views previously visited in the current screen. The
Thread Bar is identified in Figure 19-31.
Thread Bar

Figure 19-31. Thread Bar in a Siebel Application

Each arrow-shaped box in the Thread Bar identifies a view (based on a different
business object) that the user has visited. The name of the view is given in the box.
Typically, the name of the business component record which was active in the
upper applet is also shown.
The following properties in each view object definition are set in order to configure
thread behavior:

Thread Applet property. Specifies which of the applets appearing in the view
supplies the data value for the thread field.

Thread Field property. The name of the field whose data value is included in the
arrow box, following the Thread Title. This is a field in the business component
associated with the applet identified in the Thread Applet property.

Thread Title property. The text used in the thread to identify the view. For example,

in most of the views displaying Accounts (such as Account List View and
Account Detail - Contacts View), the Thread Title is Acct.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-43

User Interface Objects Layer


Views

Drilldown Behavior in a View

19

The Drilldown Object object type is a child of Applet, used primarily in list applets.
It enables the user to drill down from a cell in a list applet (or via a popup menu in
either a form or list applet) to a particular view. Drilldown controls or list columns
in a list applet in Siebel applications consist of colored, underlined text, much like
a hypertext link in a Web browser. Drilldowns in a list applet are illustrated in
Figure 19-32.
Drilldowns in Opportunity
list column

Drilldowns in Account list


column

Figure 19-32. Drilldown List Columns in a List-Form View

In the standard (or static) drilldown configuration, a specific view is referenced for
each hyperlink list column or control. Clicking the hypertext in the list column or
control takes you to that view under all circumstances. Another kind of drilldown
configuration, dynamic drilldown, is discussed in Dynamic Drilldown Behavior
on page 19-47.

19-44

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Static Drilldown Behavior


In the example, underlined opportunity names appear in the list column labeled
Opportunity, and underlined account names appear in the list column labeled
Account. If the user clicks an opportunity name in the Opportunity list column,
a list-form view appears for the display of opportunities. If the user clicks on an
account name in the Account list column, a master-detail view appears, with the
selected account in a form applet above an applet displaying the corresponding list
of contacts.
Note that the user has the option, in any applet containing one or more drilldown
controls or list columns, to right-click anywhere in the applet and select the desired
drilldown from the pop-up menu which appears. The pop-up menu is illustrated in
Figure 19-33.

Figure 19-33. Pop-up Menu with Drilldown Items

The drilldown options available in the pop-up menu are in the format Goto xx,
where xx is the title of a list column, or it can be explicitly specified by the value in
the Menu Text property of the Drilldown object. The Goto Opportunity and Goto
Account options in the pop-up menu in Figure 19-33 parallel the underlined text in
the Opportunity and Account list columns, respectively, in Figure 19-32.
Drilldowns are available in the right-click popup menu for both list applets and form
applets. Drilldowns are available as hypertext only in list applets.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-45

User Interface Objects Layer


Views

Figure 19-34 displays the property relationships between the list applet, business
component, and view in a static drilldown configuration.

Business
Component

Applet
hyperlink
Control or
List Column
Drilldown
Object

View

Field
Hyperlink
Field

source Business
Component
hyperlink
Field

source Field
Source
Field

Business Component
Destination Field

View

destination Business
Component

Id Field

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 19-34. Static Drilldown Configuration

One Drilldown Object object definition is specified for each list column in the list
applet to have drilldown functionality.

19-46

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Dynamic Drilldown Behavior


Dynamic drilldown enables hyperlink navigation to multiple views from the same
hyperlink field, depending on the value of a field in the applets current record.
This is useful in the situation where special processing is desired for various types
of contacts, opportunities, accounts, and so on. The business component may have
a field that indicates a classification, such as the Lead Quality for an opportunity or
the primary Industry for an account. The drilldown behavior can be to check this
field in the current record, and navigate to different views for different values found
there.
Dynamic drilldown behavior for a hyperlink field (and the corresponding list
column or control) is configured with one or more Dynamic Drilldown Destination
child object definitions of the Drilldown Object. This is illustrated in Figure 19-35.

Business
Component
property

Applet

Business Component

hyperlink Control
or List Column

Field property

Hyperlink
Field property

Drilldown Object

Dynamic Drilldown
Destination

hyperlink Field

Field property

type Field

Destination Drilldown
Object property

View
property

View

Legend:
object definition
contained (child) object definition
property specifies other object definition

Figure 19-35. Dynamic Drilldown Configuration Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-47

User Interface Objects Layer


Views

As in a static drilldown configuration, the Drilldown Object object definition


identifies a hyperlink field and a view. These property settings continue to have the
same purpose in dynamic drilldown, namely to specify the list column or control
that has hyperlink capabilities, and the destination view when the hyperlink is
clicked.
However, in dynamic drilldown, the Drilldown Object also has Dynamic Drilldown
Destination object definitions, each of which points to the type field in the business
component, and specifies a value to look for there. When the value in a Dynamic
Drilldown Destination is matched, the logic routes to a different Drilldown Object
(with typically a different destination view).
For example, the Industry field in the Account business component could be
designated as the type field in a list of Dynamic Drilldown Destinations. When the
Industry value is Manufacturing, the drilldown could route to a Drilldown Object
with a view tailored for manufacturing accounts, when the value is
Transportation, the destination could be a different Drilldown Object and view,
and so on.
The list of Dynamic Drilldown Destinations contained in a Drilldown Object
specifies a set of criteria, of which any number may be met. If the condition in one
Dynamic Drilldown Destination is met, the hyperlink routes to the specified
Drilldown Object. If more than one is met, the first encountered (as specified in the
Sequence property) specifies the destination Drilldown Object. If none is met (or no
Dynamic Drilldown Destination object definitions are supplied as children of the
Drilldown Object), the Drilldown Object itself supplies the name of the destination
view.
Be careful to avoid routing hyperlinks from one dynamically evaluated Drilldown
Object to another. That is, if you create Dynamic Drilldown Destination children of
a Drilldown Object, do not have them route to a Drilldown Object that itself has
Dynamic Drilldown Destination children. This practice could lead to ambiguity or
looping.

19-48

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Applet Toggle Behavior Within a View

19

An applet can be permitted to toggle to a different applet, replacing the originally


displayed applet with another. Applet toggle behavior may be configured to happen
under user control (by clicking a toggle icon) which is known as static toggle
behavior. Alternatively, toggling may be under program control, based on the value
contained in a designated field. This latter configuration is known as dynamic toggle
behavior.
Static and dynamic toggles do not work on the same applet.
You cannot configure a toggle within an MVG association list applet.

Configuring Static Toggle Behavior


A toggle icon button is included in an applet to enable users to manually toggle
between a set of applets. Figure 19-36 illustrates the toggle button in the
Opportunity Contact List Applet.
Applet toggle button

Figure 19-36. Toggle Icon Button in an Applet

In this applet, clicking the toggle button activates the Opportunity Contact Form
Applet in place of the current applet. Clicking it again in the Opportunity Contact
Form Applet reactivates the Opportunity Contact List Applet. The applet toggle
feature enables the user to cycle between applets that display the same information
in different formats (such as form, list or chart), or between applets that display
portions of a form too large for the view.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-49

User Interface Objects Layer


Views

For applets involved in a toggle cycle the search spec on a form or detail applet will
be applied first. Therefore, to apply a search spec on a list applet in a toggle cycle,
you need to add the search spec for the form or detail applet involved, as well.
Static toggle behavior for an applet is configured with one or more Applet Toggle
child object definitions of the applet object definition. The parent applet object
definition specifies the first applet to appear in the view. Each child applet toggle
specifies an additional applet to which the user can cycle. In the case of the
Opportunity Contact list and form applets, the list applet is the parent object
definition and the form applet is identified in the Applet Toggle child object
definition.
All applets in the toggle cycle must have the same size and shape in sectors.
Whenever an applet has one or more Applet Toggle child object definitions, you will
need to configure the applet so that the toggle icon appears. In applets that do not
have applet toggle children, it should not be present. The easiest way to add the
toggle icon button to the applet is to open an applet in the Applet Designer that
contains this icon button, and copy and paste the button into the applet you are
configuring.
For the purposes of static toggle configuration, the Applet Toggle object type has the
following properties:

Applet property. Identifies the applet to be included in the toggle cycle.

Sequence property. Identifies the order in which the applets identified in applet
toggles appear in the toggle cycle relative to one another. The lower the number,
the earlier in the sequence.

The applets specified in the applet toggle object definitions and their parent applet
do not have to be based on the same business component. Any combination of
business components is permitted. This is true only for static applet toggle behavior,
and not dynamic.
In addition to configuring the Applet Toggle object definitions, you must add the
toggle icon button to the applet in the Applet Designer. This is a standard button
control, with a Method Invoked property setting of CycleToggle.

19-50

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Views

Configuring Dynamic Toggle Behavior


Dynamic toggling of applets occurs without a toggle icon, as the user does not
control the cycling between applets. Instead, the applet to appear in the designated
view sectors can change with each record displayed. The displayed applet is the one
whose value in a specified field in the applets business component matches a value
in one of the applet toggle child object definitions.
NOTE: Dynamic toggling is not available for Siebel thin clients.

Because both are based on comparing a field to preset values, dynamic applet toggle
behavior is very similar to dynamic drilldown. The difference is that dynamic
drilldown navigates to one of various views based on the field value, and applet
toggle navigates to one of various applets. Also, dynamic drilldown is in response
to a user action (the user clicks on hypertext) whereas dynamic applet toggle is in
response to movement from record to record.
Dynamic applet toggle behavior, like static toggling, is configured with Applet
Toggle child object definitions of an applet. The parent applet should be the one you
want displayed when all of the test conditions fail; that is, the default applet. One
child applet toggle is specified for each applet you want to have appear when a
specific condition is met. All applets specified in the child applet toggles, as well as
the parent applet, must be based on the same business component. This is true only
for dynamic applet toggle, not static.
NOTE: Activities with a Start Time are displayed in the Daily Agenda applet, and
Activities without a Start Time are displayed in the Activity List Applet. An activity
never appears in both the applets at the same time.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-51

User Interface Objects Layer


Screens

Screens

19

A screen is a logical collection of views. It is not a visual construct in itself; rather,


it associates views so that other visual constructs, such as the menu bar and View
bar, can reflect the list of views contained in the currently active screen.
A screen does not have a direct relationship with a business object in the same way
that a view does. No property in the Screen object type specifies a business object.
However, a screen normally contains only views relating to the same business
object; this is good design practice. In this sense, it can be loosely said that a screen
corresponds to one business object.
The active screen is selected from the Screens menu or the Tab bar. (A view is
selected from a submenu of the Screens menu, or the View bar.) The Screens menu,
Tab bar, and View bar are identified in Figure 19-37.
View bar

Screens submenu for Contacts


Screens menu

Tab bar

Figure 19-37. Screens Menu, Tab Bar, and View Bar

A screen is implemented as a Screen object definition with Screen View child object
definitions. Each Screen View object definition associates an existing view to the
screen. Properties within each screen view object definition specify the screen's
appearance in the View bar and Screens submenus.
NOTE: You can create two different views based on different business components;
however, in that situation the Siebel application cannot keep track of record context
and you will not be able to navigate between them.

19-52

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Finds

Finds

19

Find object definitions specify the Find dialog box that is invoked from the
Edit Find menu option in a Siebel application. This is illustrated in Figure 19-38.

Figure 19-38. Find Dialog Box

Each item in the Find What? list on the left identifies a business component whose
records can be searched for matching values that have been entered in one or more
of the text boxes on the right. In the illustration, Contact is currently selected in the
Find What? box (also indicated in the title bar). This means that the user can search
for Contact records based on some combination of last name, first name, account,
and site search values. The records will be searched based on the contents of the
Last Name, First Name, Account, and Account Location fields in the Contact
business component.
The user may enter partial search strings in any of the search field text boxes. When
searching for a character combination at the beginning of the field values, the
combination can be entered without any special characters, as in Bo to locate all
account names beginning with Bo. When searching for the combination anywhere
in the field values, the search string should be preceded by the asterisk (*)
character, as in *bo. The search values are not case-sensitive.
After the user clicks the Find button, the system navigates to a predetermined view,
and displays all records matching the users criteria.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-53

User Interface Objects Layer


Finds

Configuring the Find Dialog Box

19

The Find dialog box is configured by means of Find object definitions and their child
definitions. Find object definitions are added to the application by means of its child
application find object definitions. The Find dialog box is implemented by using
object types illustrated in Figure 19-39.

User Interface Objects Layer


Application

Application Find

Legend:

Find

Object type
1:M relationship through
object hierarchy

Find Field

Find View

1:M relationship through


properties

Figure 19-39. Find Architecture

These object types are summarized as follows:

19-54

Find object type. A find object definition creates one entry that can be added to
the Find dialog box.

Application Find object type. An application find object definition associates one
find object definition to one application. Application Find is a child object type
of Application.

Find Field object type. A Find Field object definition adds a search field to its
parent find object definition. The search field appears as a text box on the Find
dialog box when the parent find is active.

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Finds

Find View. Each Find View object definition specifies a view that can be activated

from the find. Multiple find views are provided for a find, each with different
visibility, so that one of these views will provide the broadest possible visibility
for the user.

Configuring the Find


The Find object definition specifies an entry to appear in the Find What? list, and a
corresponding set of search fields and possible views. The search fields and views
are implemented as child object definitions of the find (find fields and find views,
respectively).

Configuring the Find Fields


Find Field is a child object type of Find. Each child find field object definition
provides the parent find with a search value text box and corresponding field name
to search.

Configuring the Find Views


Each find view object definition specifies a view that may be activated when the
parent find is initiated from the Find dialog box. Each find view specifies a view
with a different visibility level for the same business component. The views are tried
in a fixed order, as specified in the Sequence property of the find views, until a view
is encountered in which the user can see data.

Configuring the Application Find


An application find includes a find in the Find dialog box for the application finds
parent application. Each application has multiple finds in its Find dialog box, each
one included in the Find dialog by virtue of an Application Find object definition.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-55

User Interface Objects Layer


Applications

Query Differences Between Finds and Query By Example


The Find dialog box and a query by example (QBE) can have different behavior for
a multi-value field, since the Find dialog box will generate the same query as if you
did an EXISTS query on the field in QBE. You can verify this by embedding your
QBE expression with Exists ( ), for example, Exists ("Aga*").
QBE supports both types of querying, but to keep the Find dialog box simple, Siebel
applications implement a query that works in all cases. If you want to mimic the
behavior of the non-EXISTS version with the Find dialog box, you should create a
join from the primary ID field for the multi-value link to the table containing the
data. Then add a field on the table you joined to and point your find field to this
new field.

Applications

19

Siebel applications are primarily a collection of screens that users can invoke from
the desktop by double-clicking an icon. Each combination of screens that is
appropriate to a specific class of users can be provided as an application. Siebel
Sales, Siebel Service, and Siebel eMarketing are examples of applications. Custom
applications can be configured as well, uniquely combining user interface object
definitions to meet particular requirements of the organization.
In addition to collecting a group of screens and their views, an application object
definition includes the following:

 Find object definitions that configure the Find dialog box.


For more information, refer to Finds on page 19-53.

 Scripts written in Siebel VB or Siebel eScript that can be implemented as event


procedures on startup, prior to closing, and so on. These are implemented
through Application Script child object definitions, and created and maintained
in the Siebel VB or Siebel eScript Editor.
For more information, about Siebel VB or Siebel eScript, refer to the Siebel VB
Guide, the Siebel eScript Language Reference, and the Siebel Object Interfaces
Reference.

19-56

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Applications

 Custom menu options for Siebel-provided methods. These are implemented


through the application method menu item object definitions, and created and
maintained in the Menu Designer.
NOTE: Applets can have their own custom menus as well.

A desktop icon is configured to activate a specific application through the /c


command line switch and the ApplicationName parameter in the configuration file.
This is explained in Appendix C.
Screens are included in an application object definition using page tab and screen
menu item child object definitions. Each page tab or screen menu item object
definition associates a screen to the application. The page tabs add screens to the
Tab bar. The screen menu items add screens to the Screens menu. Note that the list
of screens in the Tab bar can be different from the list of screens in the Screens
menu. Typically the Screens menu will be the more complete of the two if the Tab
bar and Screens menu differ. The set of screens in an application is the union of the
screens found in the Tab bar and Screens menu.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-57

User Interface Objects Layer


Toolbars

Toolbars

19

In Siebel applications the user can choose View Customize in the menu bar to
display the Customize dialog box for toolbars. The Toolbars tab in this dialog box
presents a list of existing Toolbars to the user, as shown in Figure 19-40.

Figure 19-40. Customize Dialog Box (Toolbars Tab)

On the Toolbars tab, the user can check or uncheck individual Toolbars to indicate
which ones will appear.
The Commands tab of the Customize dialog box lets the user drag-and-drop icons
between the dialog box and Toolbar in the Siebel application window.

19-58

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Toolbars

This Command tab appears in Figure 19-41.

Figure 19-41. Customize Dialog Box (Commands Tab)

These two tabs in the Customize dialog box let the user rearrange, remove, and add
existing icons to existing toolbars, and to activate or deactivate particular toolbars.
The user cannot create new toolbars or new icons, but the developer can create new
toolbar icons in Siebel Tools.
The following object types in Siebel Tools are relevant to Toolbar configuration:

Toolbar. One Toolbar object definition is created for each toolbar available to the

user.

Command. One Command object definition is created for each icon button which
can be used as a toolbar icon.

Toolbar Item. A Toolbar Item specifies the default association of a Command (icon

button) to a Toolbar. The user can override the default associations of icon
buttons to Toolbars, but this is how the Toolbars are initially configured until the
user makes such changes.

Bitmap and Bitmap Category. All of the commands that appear in the various

Toolbars within the product use icons that are found in the Command Icons
bitmap category. The name of the bitmap is specified as a property of the
Command object definition.

Version 6.0

Siebel Tools Guide Volume 2 of 2

19-59

User Interface Objects Layer


Toolbars

The Toolbar Object Type

19

For each Toolbar, you create a Toolbar object definition in the Object List Editor.
This provides a named toolbar that the user can activate or deactivate in Siebel
applications, and to which command icons (Toolbar Item object definitions) can be
associated or removed in Siebel Tools or Siebel applications.
The only required property is the Name, which is the name of the Toolbar. This
name will appear in Siebel applications in the list in the Customize dialog box
(Toolbars tab).

The Command Object Type

19

A Command object definition specifies which method is invoked when the toolbar
icon associated to a command is executed. It also specifies which bitmap appears
on the toolbar icon. Command object definitions are referenced by Toolbar Item
object definitions.

Target property. Specifies the object definition to which the command should be

routed.
The object definition the command should be routed to either Active Applet or
Service. (Do not use Application; it is for internal Siebel use only.)
If your target is Active Applet, your item will be visible in all clients.
If your target is Service, the method to be invoked is defined in the business
service specified by the Business Service property. Your command appears only
in clients implementing that particular service. Your service must handle
CanInvokeMethod and InvokeMethod to enable or invoke your command.

19-60

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Toolbars

Method property. This is the name of the method to invoke when the user clicks

on the toolbar button corresponding to this Command object definition. This


may be a pre-existing standard method that is shipped with the product, or a
developer-defined method in Siebel VB or Siebel eScript (using
Application_PreInvokeMethod). Note the following available standard methods,
whose meanings correspond to similarly named menu options:
 CopyRecord

 DeleteRecord

 GotoFirst

 GotoPrevious

 GotoNext

 GotoLast

 NewQuery

 ExecuteQuery

 ExportQuery

 SortAscending

 SortDescending

 SortDialog

 Cut

 Copy

 Undo

 Redo

 UndoRecord

 GoBack

 GoForward

 Print

 Paste

 Search

 NewCorrespondence

 SynchronizeCalendars

 MessageBar

 ContextHelp

 Find

 Dock

NOTE: User-defined methods need to be invoked by the button (for example,


MyMethod). The script code has to be defined in the
Application_PreInvokeMethod event handler and the return value for
Application_PreInvokeMethod set to CancelOperation.

Category property. Command categories provide logical categorization of

Command icons for users into categories such as Edit, File, Help, and View. The
category name appears on the Commands tab of the Customize dialog box in
Siebel applications.

Tooltip Text property. This is the tooltip text which appears when the cursor

lingers on a toolbar icon. For built-in methods, the tooltip text should be left
blank; blank indicates that the method will dynamically supply the text, and
language localization takes place as a part of this process. For developer-defined
methods, you should enter literal text (but note that this turns off language
localization for this tooltip text).
Version 6.0

Siebel Tools Guide Volume 2 of 2

19-61

User Interface Objects Layer


Toolbars

The Toolbar Item Object Type

19

A Toolbar Item object definition associates a Command object definition (identified


by name as a property in the Toolbar Item properties list) with a Toolbar object
definition (the parent object definition of the Toolbar Item). This association places
a toolbar icon, whose bitmap image and invoked method are specified in the
Command object, on the specified toolbar in a specified location (relative to the
other toolbar icons in that toolbar).
The placement of a toolbar icon onto a toolbar and the order of that icon relative to
the other icons are established as defaults for Siebel applications only by the
specification of Toolbar Item properties. The user can choose to override these
placements; the users override settings are stored in a local preferences file, and are
manipulated via the Customize dialog box in Siebel applications.
The following properties are significant in a Toolbar Item object definition:

Command property. Name of the Command object definition that is to provide the
bitmap and method for the toolbar item.

Name property. Name of the Toolbar Item. Used internally in Siebel Tools only.

This needs to be unique within the scope of a toolbar.

Sequence property. Integer that orders the toolbar item in the parent toolbar from
left to right. A higher sequence number relative to other toolbar items places this
icon further to the right than the others.

A Toolbar Item object definition can contain one or more hyphens in the Command
property, instead of the name of a Command object. This tells the system to insert
a separator there between icons.

19-62

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Interface Objects Layer


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

19

This chapter described user interface object types and how to use them.
Table 19-2 lists sources of additional information about topics discussed in this
chapter.
Table 19-2.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

High-level view of the Siebel architecture

Chapter 3

Siebel VB

Siebel VB Language Reference Guide


or Siebel Object Interfaces Reference

Siebel eScript

Siebel eScript Language Reference

Siebel Tools Guide Volume 2 of 2

19-63

User Interface Objects Layer


Chapter Summary and Where to Get More Information

19-64

Siebel Tools Guide Volume 2 of 2

Version 6.0

Part 6

Applets and Controls

Chapter 20. Pick Applets and Static Picklists


Chapter 21. Multi-Value Group and Association Applets
Chapter 22. Special-Purpose Applets
Chapter 23. Special-Purpose Controls

Version 6.0

Siebel Tools Guide Volume 2 of 2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists

20

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2


Pick Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
Configuring the Originating Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-10
Configuring the Pick Applet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-12
Configuring the Originating Business Component . . . . . . . . . . . . . 20-13
Configuring Pick Business Components . . . . . . . . . . . . . . . . . . . . . . . . . 20-17
Configuring Picklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-18
Constraining a Picklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-19
Static Picklists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-21
Configuring Originating Applets . . . . . . . . . . . . . . . . . . . . . . . . . 20-25
Configuring Originating Business Components . . . . . . . . . . . . . . . 20-25
Configuring the Pick List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-26
The PickList Generic Business Component . . . . . . . . . . . . . . . . . . 20-27
Pop-Up Visibility Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-28
Chapter Summary and Where to Get More Information . . . . . . . . . . . 20-29

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-1

Pick Applets and Static Picklists


About This Chapter

About This Chapter

20

This chapter explains how to implement pick applets and static picklists in Siebel
applications.
There are two wizards that guide you through many of the steps (outlined in this
chapter) in configuring picklists and pick applets. For more information about the
wizards, see Chapter 13.

Pick Applets

20

Pick applets (shown in Figure 20-1) enable users to select a value from a list, and
have the selection entered into controls or list column cells.
Combo box that initiates
the pick applet

Pick applet
Originating applet

Figure 20-1. Pick Applet in a Siebel Application

20-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

When the user clicks the drop-down button in certain text boxes or list column cells,
a dialog box appears. The dialog box is called a pick applet. The pick applet
contains a scrolling list table of available selections in one list column, and the
information from related fields in adjacent list columns. The user selects a row in
the list table and clicks the Pick button to accept the selection (or double-clicks the
selection). The pick applet is dismissed, and the users selection populates the text
box or list column cell in the originating applet (the applet from which the pick
applet was invoked). The users selection can also populate other controls or list
column cells in the originating applet.
For example, when a user clicks the drop-down button in the Account text box, in
the applet labeled Opportunity (the Opportunity Form applet, which is the
originating applet), the Pick Account dialog box (pick applet) appears for the
selection of an account (as illustrated in Figure 20-1 on page 20-2). Once an account
has been selected, and the Pick Account dialog box dismissed, the Account text box
contains the selected account, and the Site text box in the originating applet
contains the site that corresponds to the selected account.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-3

Pick Applets and Static Picklists


Pick Applets

Normally the data in the pick applet is from a different business component than
the data in the originating applet. There can be exceptions, for example, picking a
parent Account to an Account or a parent Position to a Position record. When the
user selects a record in the pick applet, the values in certain list columns in the
selected record are copied to corresponding list columns in the originating applet.
This is illustrated in Figure 20-2.

Opportunity Form Applet

Opty 1
Acct 1

Organic cereals
Smith's Dry Goods

Cambridge

Account List pick Applet

Acct 1

Smiths Dry Goods

Cambridge

MA

Acct 2

Jones Cleaners

Berkeley

CA

Acct 3

The Sports Zone

Minneapolis

MN

Opportunity Business Component

Opty 1

Organic cereals

Acct 1

Opty 2

Baseball equipment

Acct 3

Opty 3

Chemicals reorder

Acct 2

Opty 4

Plastic bags

Acct 2

Opty 5

Workout videos

Acct 3

Opty 6

Pet food

Acct 1

Account Business
Component

Figure 20-2. Data Flow in a Pick Applet

20-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

The following steps take place, from the users perspective:

1 In the Opportunity Form applet, the user enters information for the Organic
Cereals opportunity.
2 In the Opportunity Form applet, the user clicks the drop-down button (to the
right of the Account text box).
3 The Account pick applet appears.
4 The pick applet displays rows from the Account business component.
5 The user selects Account 1, Smiths Dry Goods, in the pick applet, and dismisses
the pick applet.
6 Account data for Smiths Dry Goods moves to controls in the Opportunity form
applet.
Pick applets maintain the foreign keys that facilitate join relationships. In the
opportunity and account example, there is a foreign key in the Opportunity business
component identifying the account for each opportunity. When the user selects an
account in the pick applet, it populates this foreign key field. This selection
associates the account with this opportunity for future use by the join that uses the
foreign key.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-5

Pick Applets and Static Picklists


Pick Applets

Pick applets are implemented using object types illustrated in Figure 20-3.

User Interface Objects Layer


Applet

List

Control

List Column

Business Objects Layer


Business
Component

Field

Pick Map
Join
Legend:
Object type

Join
Specification

1:M relationship through object hierarchy


1:M relationship through properties

Figure 20-3. Pick Applet Architecture

20-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

Figure 20-4 shows the object definitions used in the implementation of a pick applet
in greater detail, and identifies the interrelationships.

Pick Applet property

originating Applet
Controls populated by
pick Applet & Join

originating Control

pick Applet
List

Controls unrelated to
pick Applet
Field
property

List Columns

Field
property

Pick button
Control

originating Business Component


Field
property

originating Field

Fields populated by
pick Applet & Join

Pick Maps
Field
property

Field
property

Join property

Field
property

join Field
Join
property

Fields unrelated to
Pick Applet

Join
Join
Specification

Pick List
Field
property

PickList
property

Pick List

Business
Component
property

pick Business Component


Fields displayed in
pick Applet

Fields not displayed in


pick Applet

Legend:
object definition

Table
property
Table property

base Table

contained (child)
object definition
property specifies other
object definition

Figure 20-4. Pick Applet Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-7

Pick Applets and Static Picklists


Pick Applets

The roles of the object definitions in Figure 20-4 are summarized in the following
list and discussed in greater detail in the subsequent subsections. The pick applet
example referenced is the Account pick applet illustrated in Figure 20-1 on
page 20-2.

Originating applet. Contains the control or list column that invokes the pick

applet. After the pick applet is invoked and a value is selected, specific controls
in the originating applet display revised values. In the example the originating
applet is called Opportunity form applet.

Pick applet. Dialog box that is invoked for the selection of a value. The dialog box
is a list applet containing scrolling list table rows. Each row corresponds to a
business component record. In the example, the pick applet is called Account
pick applet.

Originating business component. Business component of the originating applet.

This business component (in the example, the Opportunity business


component) supplies the data presented in the originating applet (Opportunity
form applet). The selection process in the pick applet results in the update of the
current record in this business component.

Pick business component. Business component of the pick applet. Data from fields

in this business component is displayed in the list columns of the pick applet. In
the example the pick business component is Account.

Originating control or originating list column. Appears in the originating applet.

When you click the originating control or list column, it invokes the pick applet.
In the example, the originating control is the Account control.

Originating field. Field in the originating business component that the originating
control represents. It has pick map child object definitions that define the
mapping of fields from the pick business component into the originating
business component. In the example the originating field is the Account field.

Pick list. Referenced by the field of the originating control, and identifies the pick

applets business component. In the example, the Pick List is called PickList
Opportunity Account.

20-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

Pick maps. Children of the originating field. Each pick map object definition

defines a correspondence between a field in the pick business component and


one in the originating business component. These correspondences provide the
information required to update the current originating business component
record with information from the pick business component record as soon as a
record is picked.
Fields in Pick Map objects are updated when the user picks a value from an
unbounded picklist. However, fields in Pick Map objects are not updated by the
picklist when the user types in a new value (the field the user typed something
into is, however, obviously updated with the users entry).
NOTE: Typing a new value into an unbounded picklist does not automatically add

it to the list of values that can be picked.

Version 6.0

Join and join specification. Child object definition of the originating business
component. The join specification is a child of the join and is referenced by the
join field. One of the pick maps updates the join field. A change in the value of
the join field results in the update of all fields whose values are derived from the
join. This update is not as immediate as the update performed by the pick maps.
In the absence of the other pick maps, the data would not be updated until the
user left the view and returned to it. In the example the join is called
S_ORG_EXT and the join specification is Account Id.

Siebel Tools Guide Volume 2 of 2

20-9

Pick Applets and Static Picklists


Pick Applets

Configuring the Originating Applet

20

The originating applet contains the control or list column that invokes the pick
applet. It may also contain other controls or list columns that are populated by the
users selection from the list applet. The originating applet itself requires no special
configuration.
Figure 20-5 is a detail of the originating applet in Figure 20-3 on page 20-6.

originating Applet
originating Control

Pick Applet
property

Controls populated
by pick Applet & Join

pick Applet

Controls unrelated to
pick Applet

Field property

Business
Component
property

originating Business Component

Field
property

Legend:
object definition

originating Field

Fields populated by
pick Applet & Join

contained (child)
object definition
property specifies
other object def

Figure 20-5. Originating Applet Details

20-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

As indicated in Figure 20-5, the important property setting for the originating applet
is as follows:

Business Component property. Creates the association between the originating


applet and the originating business component.

The important child object definitions of the originating applet are the following:

Originating control. Invokes the pick applet, as the result of the users clicking the
drop-down icon. The originating control has the name of the pick applet in its
Pick Applet property. The field specified in the Field property of the originating
control is the originating field, and has pick map child object definitions, as
discussed in Configuring the Originating Business Component on page 20-13.

The control or list column must have its Runtime property set to TRUE.

Controls populated by the pick applet. Each control for which some field in the

originating business component is populated by a pick map object definition will


be updated when the user makes a selection from the pick applet.

Version 6.0

Controls unrelated to the pick applet. Other controls in the applet.

Siebel Tools Guide Volume 2 of 2

20-11

Pick Applets and Static Picklists


Pick Applets

Configuring the Pick Applet

20

The pick applet is the dialog box that is invoked for the selection of a value. It is a
list applet containing a scrolling list of rows. Each row corresponds to a business
component record in the pick business component.
Figure 20-6 shows a detailed definition of the pick applet from Figure 20-3 on
page 20-6.

originating Applet

Pick Applet property

originating Control

pick Applet
List
List Columns

Field
property

Pick button
Control
Business
Component
property

pick Business
Component
Fields displayed
in pick Applet

Legend:
object definition
contained (child) object
definition
property specifies other
object definition

Figure 20-6. Pick Applet Details

20-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

The pick applet (Applet object type) has the following important property settings:

Business Component property. Pick business component.

Class property. CSSFrameList, indicating that this is a list applet.

Type property. A value of Pick List is entered, to indicate that this is a pick applet.
This setting configures the behavior of the dialog box and button controls.

Title property. Name of the pick applet that appears in the title bar.

The pick applet has the following important child object definitions:




List property. List columns are attached to the list.


List columns (grandchild object definitions). Each displays the contents of one field

in the business component.

Pick button control. Invokes the PickRecord method when clicked. The
PickRecord method locates the pick map child object definitions of the
originating field and, from these, determines which fields to update in the
originating business component. These fields are updated based on the record
selected from the pick business component by the user.

Configuring the Originating Business Component

20

The originating business component is the business component of the originating


applet, as specified in the Business Component property of the Applet object. This
business component supplies the data presented in the originating applet. The
selection process in the pick applet results in the update of the current record in this
business component.
Figure 20-7 shows the detailed definition of the originating business component
from Figure 20-3 on page 20-6.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-13

Pick Applets and Static Picklists


Pick Applets

originating Applet
Controls populated by
pick Applet & Join

originating Control

Field
property

Field
property

originating Business Component


originating Field

Field
property

Fields populated by
pick Applet & Join

Pick Maps
Join
property
Field property

join Field
Join property

Fields unrelated to
pick Applet

Join
Join
Specification

PickList
property

Business
Component
property

Pick List

Pick List Field


property

pick Business
Component
Fields

Legend:
object definition
contained (child)
object definition

Table
property

base Table

property specifies other


object definition

Figure 20-7. Originating Business Component Details

20-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

The originating business component has no important property settings that are
related to its role in the pick process.
The originating business component has the following important child object
definitions:

Originating field. The originating control displays the data from this field. The

originating field has no special role other than being the parent of the pick map
object definitions. Otherwise, it is equivalent to the other fields populated by the
pick applet and join. In the Siebel application architecture, pick maps are
children of an originating field, rather than the originating business component,
in order to support pick applets on more than one field in the business
component.

Pick maps. Children of the originating field. Each pick map defines a

correspondence between a field in the pick business component and one in the
originating business component. These correspondences provide the
information required to immediately update the current originating business
component record with information from the pick business component record
when a record is picked. Additionally, one of the pick maps updates the join
field, and eventually this causes the join to update the fields in the business
component that are dependent on the join.
Each Pick Map object definition has two important properties:
 Field property. Identifies a field in the (grandparent) originating business
component that is to be populated by data from a field in the pick business
component, when the PickRecord method is invoked.
 Pick List Field property. Identifies a field in the pick business component that
is the source of data for the field in the Field property of the Pick Map object.

Fields in Pick Map objects are updated when the user picks a value from an
unbounded picklist. However, fields in Pick Map objects are not updated by
the picklist when the user types in a new value (the field the user typed
something into is, however, obviously updated with the users entry).
NOTE: Typing a new value into an unbounded picklist does not automatically

add it to the list of values that can be picked.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-15

Pick Applets and Static Picklists


Pick Applets

Join field. Serves as a foreign key in the join used by the pick applet. Typically,

the join field contains Id in its name, such as Account Id or Key Contact Id. It is
identified in the Source Field property of the join specification. The join field is
one of the fields identified in a pick map object definition. When the user selects
a record from the pick applet, the join field is updated (because of the pick map
in which it is identified), and this results in the update of all fields that are based
on the join.
NOTE: Fields in the originating business component, and the controls or list
columns that represent them, initially are updated by the action of the pick
maps. The join and join specification do not update the contents of the applet
until the user leaves the view and returns to it.

Join and join specification. The join and join specification object definitions set up

the join between the base tables of the originating and pick business
components. This join populates those fields in the originating business
component that have this join's name in their Join property.

Fields populated by the pick applet and join. Fields that have the joins name in their

Join property are updated when the join fields value changes. Fields that are
identified in the Field property of Pick Map object definitions are updated when
a selection is made from the pick applet. There is some overlap in the roles of
the pick maps and join, in that both generally update the same fields, but the
action of the pick maps is immediate and that of the join is somewhat delayed.
That is, even though pick maps can update the display value of joined fields (for
example, Account Name) when the user picks a record, pick maps dont
physically copy a value to the joined fieldsonly to the foreign key field (for
example, Account Id).

20-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

Configuring Pick Business Components

20

The pick business component is the business component of the pick applet. Data
from fields in this business component is displayed in the list columns of the pick
applet.
Figure 20-8 shows a detailed definition of the pick business component from
Figure 20-3 on page 20-6.

pick Applet
originating Business Component

List

originating Field

List Columns

Pick Maps

Pick List Field


property

Join

Field
property

pick Business
Component
Fields displayed in
pick Applet

PickList
property

Pick List

Fields not displayed


in pick Applet

Business
Component
property

Legend:
Table
property

object definition
contained (child)
object definition

base Table

Table property

property specifies other


object definition

Figure 20-8. Pick Business Component Details

The pick business component has no important property settings with respect to its
role in the pick process.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-17

Pick Applets and Static Picklists


Pick Applets

The pick business component has the following important child object definitions:

Fields displayed in the pick applet. Populate the list columns in the pick applet.
They are referenced in the Field property of corresponding list columns in the
pick applet. Some of the same fields may be identified in the Pick List Field
property of Pick Map object definitions and, hence, have a role in updating
corresponding fields in the originating business component.

Fields not displayed in the pick applet. Although not displayed in list columns in

the pick applet, some of these fields may be identified in the Pick List Field
property of Pick Map object definitions and therefore have a role in updating
corresponding fields in the originating business component.

Configuring Picklists

20

The field of the originating control references the Pick List object definition. The
Pick List object definition identifies the pick business component. In this way, the
identity of the pick business component is made known to the pick applet.
Figure 20-9 shows the detailed definition of the Pick List object definition from
Figure 20-3 on page 20-6.

originating Business
Component

pick Business Component

originating Field

PickList
property

Pick List

Business
Component
property

Legend:
object definition
contained (child)
object definition
property specifies
other object def

Figure 20-9. Pick List Details

20-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Pick Applets

The Pick List object definition has the following important property, when used in
pick applet configuration:

Business Component property. This property identifies the pick business

component.
NOTE: When configuring a pick applet invoked from a multi-value group applet,
define the picklist on the originating field in the originating business component,
not on fields in the multi-value group business component. For more information
on multi-value group applets, refer to Chapter 21.

Constraining a Picklist

20

You can dynamically filter a pick applet to display only records that have field
values matching corresponding fields in the originating business components
records. This is called constraining a picklist. For example, a Contacts pick applet
invoked from an applet that displays quotes could be configured to display only
contacts for the current quotes account.
Pick applet constraints are defined using the Constrain property in the Pick Map
object type.
Pick maps can be either of two types: copy pick maps or constraint pick maps. Copy
pick maps perform the role described in Configuring the Originating Business
Component on page 20-13: a copy pick map updates the current originating
business component record with information from the pick business component
record when a record is picked. A constraint pick map also configures a mapping
between the originating and pick business components, but its purpose is different.
It is used to filter the list of records displayed in the pick applet to present only those
that have matching values in corresponding fields in the originating and the pick
business component.
A pick map is configured as a constraint pick map by setting its Constrain property
to TRUE. If FALSE (which is the default), the pick map is a copy pick map.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-19

Pick Applets and Static Picklists


Pick Applets

An example of a constrained pick applet is the Contact pick applet, as invoked from
the Contact Last Name field in the Quote Entry applet. This pick applet appears in
Figure 20-10.
Contacts are displayed in
the pick applet only if they
are contacts for the current
quotes account.

Figure 20-10. Constrained Pick Applet

The pick applet displays only contacts with the same Account, Account Id and
Account Location as the quote. To accomplish this, define a constraint pick map as
a child object of the Contact Last Name field (in addition to the various copy pick
map object definitions provided in order to implement pick behavior). The presence
of this constraint pick map indicates to the system that it is to filter the displayed
records in the pick applet.

20-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Static Picklists

Static Picklists

20

A static picklist is a selection list that is invoked from a particular text box or list
column in an applet. A static picklist in a Siebel application is shown in
Figure 20-11.
Picklist

Drop-down button

Figure 20-11. Static Picklist in a Siebel Application

When the user clicks the drop-down button to the right of the text box, a singlecolumn picklist appears. The user selects a value from the list by clicking the
desired value. The selected value replaces the previous value in the text box.
NOTE: You cannot delete the lookup value. You can set the picked field (for example,

Lead Quality) back to NULL, unless it is required.


Here is how a static picklist compares with a dynamic pick applet:

 They are similar in that a static picklist enables the user to select a value to
populate a text box with data.

 They are different in that a static picklist does not draw values dynamically from
a pick business component. A static picklist is a static list of available selection
values. Configuration of these values is an administration activity that is
performed in the List of Values Administration view in a Siebel application.
NOTE: Static picklist values are cached, so if the administrator changes values in
a picklist that has been accessed by users during their current session, they will
need to reopen the application before the new values will appear.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-21

Pick Applets and Static Picklists


Static Picklists

 They are different in that a static picklist generally does not invoke a dialog box
with multiple list columns and buttons. All that appears is a simple one-column
pop-up list, without buttons.
NOTE: It is possible to use a pick applet rather than a one-column pop-up to

display a static list of values, but this is not common practice.

 They are different in that a static picklist does not populate multiple controls in
the originating applet. It populates a single control in the applet, and the
corresponding field in the underlying business component.
Static picklists are implemented using object types illustrated in Figure 20-12.

User Interface Objects Layer


Applet

List

Control

List Column

Business Objects Layer

Pick List

Business
Component

Field

Legend:
Object type

Pick Map

1:M relationship through object hierarchy


1:M relationship through properties

Figure 20-12. Static Picklist Architecture

20-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Static Picklists

Figure 20-13 shows the object types used in the implementation of a static picklist
in greater detail, and identifies their interrelationships.

originating Applet
originating Control

originating Business
Component
originating Field

Business
Component
property

Pick Map
PickList
Field
property

Picklist Generic
Business
Component

PickList
property

"Value" Field
Legend:

Pick List
Type Field
property

Business
Component
property

object definition
"Type" Field

contained (child)
object definition
property specifies
other object def

Figure 20-13. Static Picklist Details

NOTE: When you add new values to a list of values, users do not immediately see
the new values if they are in the screen alreadythey need to refresh the screen for
the pick list to be populated with the new values.

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-23

Pick Applets and Static Picklists


Static Picklists

The roles of the object definitions in Figure 20-13 are summarized in the following
list, and discussed in greater detail in the subsequent sections. The static picklist
example refers to the Quality picklist illustrated in Figure 20-11 on page 20-21.

Originating applet. Contains the control or list column that invokes the picklist.

After the selection of a value from the picklist, the originating control displays a
revised value. In the example, the originating applet is the Opportunity form
applet.

Originating business component. Business component of the originating applet.

This business component (in the example, the Opportunity business


component) supplies the data presented in the originating applet (Opportunity
form applet). The selection process in the picklist results in the update of one
field in the current record in this business component.

Originating control or originating list column. Appears in the originating applet. It

initiates the picklist when clicked. In the example, this is the Quality control.

Originating field. Field in the originating business component that the originating
control represents. Generally, it has one pick map child object definition that
defines the mapping of a field from the PickList Generic business component
into the originating business component. In the example, the originating field is
Quality.

PickList Generic business component. Special-purpose business component for the

list-of-value lists that are used in static picklists. It is administered through the
List Of Values view in the System Administration screen in Siebel applications.
To access the System Administration screen you select Screens Application
Administration List of Values from the menu bar.

Pick List object. The field of the originating control references the Pick List object

definition. The Pick List object definition identifies the pick applets business
component, which is always PickList Generic. In the example, the Pick List is
called Picklist Quality.

Pick Map object. Child of the originating field. The pick map defines a

correspondence between the Value field in the PickList Generic business


component and the originating field. This correspondence provides the
information required to update the current originating business component
record with information from the PickList Generic business component record
when a selection is made.

20-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Static Picklists

Configuring Originating Applets

20

The originating applet (Applet object type) has the following important properties:

Business Component property. Identifies the originating business component.

The originating control (Control object type) or list column (List Column object
type) has the following important properties:

Field property. Identifies the originating field in the originating business

component.

Pick Applet property. Leave blank for a static picklist.

Runtime property. Set to TRUE to indicate that a static picklist is attached, and
needs to be activated in response to a user click on the control or list column.

Configuring Originating Business Components

20

The originating business component is the business component of the originating


applet. The data value selected from the pick applet updates the value in the
originating field of this business component.
The originating business component has no essential properties for the
configuration of a static picklist. However, the field (child) and pick map
(grandchild) object definitions are significant.
The originating field is specified in the Field property of the originating Control or
List Column object. It has the following important properties:

Business Component property. Name of the specialized business component for


lists of values used in static picklists.

PickList property. Identifies the Pick List object definition.

The originating field has one important child object definition, the Pick Map object.
Unlike dynamic picklists, static picklists generally have exactly one Pick Map object
definition. The Pick Map object has the following important properties:

Version 6.0

Siebel Tools Guide Volume 2 of 2

20-25

Pick Applets and Static Picklists


Static Picklists

Field property. Contains the name of the originating (parent) field.

Pick List Field property. In this property enter Value. This setting references the
Value field in the PickList Generic business component.

NOTE: You would use multiple pick maps only if you use a multiple column selection

list.

Configuring the Pick List

20

The Pick List object is referenced by the originating field and identifies the business
component and field that populate the pick applet. The Pick List object definition
has the following important properties:

Business Component property. In this property enter the value PickList Generic.

This indicates that the list of values comes from the system tables.

Type Field property. In this property enter the value Type. This indicates that Type
is the field in the PickList Generic business component to search for types. Each
list of values has a type, which uniquely identifies the list and each value in it.

Type Value property. In this property enter the relevant type for the list of values.

For example, in the Lead Quality picklist in Figure 20-11 on page 20-21, the
values that appear in the list have a Type field value of LEAD_QUALITY in the
List of Values View in Siebel applications.

Sort Specification property. If a Sort Specification value appears in the Pick List
object definition, this overrides the business components sorting with that of
the Pick List. The default value for the Sort Specification property is blank,
which tells the system to use the business components sorting.

This feature is useful for non-standard sorting of values in a static picklist that
is based on a list of values in the PickList Generic business component. By
default, a list of values is sorted in ascending order on the Order By field within
a Type. If the Order By values are blank, the entries for the Type are
alphabetically sorted on the Value field, in ascending order. You can alter this
behavior for one static picklist by setting a sort specification in its picklist.

20-26

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Static Picklists

The PickList Generic Business Component

20

The PickList Generic business component is a specialized business component


reserved for lists of values for static picklists. The data in the Picklist Generic
business component looks something like Table 20-1.
Table 20-1.

Version 6.0

Example of Data in Picklist Generic Business Component

Type Field Contents

Value Field Contents

LEAD_QUALITY

Excellent

LEAD_QUALITY

Very Good

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

Siebel Tools Guide Volume 2 of 2

20-27

Pick Applets and Static Picklists


Static Picklists

Two of the fields in the Picklist Generic business component together define and
group the lists of values, as follows:

Type. Each list of values has a type. The type groups together all records that are
in one list of values. For example, a type of LEAD_QUALITY identifies a record
as a member of the Lead Quality list of values, and the type ACCOUNT_TYPE
refers to the Account Type list of values.

Value. The Value is the portion of the record that actually appears in the static
picklist. For example, Lead Quality values are Excellent, Very Good, High, Fair,
and Poor.

Pop-Up Visibility Rules

20

You can limit picklist visibility by organization or responsibility, using the Popup
Visibility Type property of the Business Component object type. Valid values for
Popup Visibility Type are:

 Auto All/Org
Used in Siebel eChannel applications. If users have access to any All views,
then pop-up visibility is All. If they doesnt have visibility to any All views,
then pop-up visibility is by organization.

 Other values:
 All
 Contact
 Manager
 Organization
 Personal
 Sales Rep

20-28

Siebel Tools Guide Volume 2 of 2

Version 6.0

Pick Applets and Static Picklists


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

20

This chapter explained how to implement pick applets and static picklists in Siebel
applications.
Table 20-2 lists sources of additional information about topics discussed in this
chapter (or related topics).
Table 20-2.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Multi-value group and association applets

Chapter 21

Applet Designer

Chapter 12

Pick List wizard

Pick List Wizard on page 13-26

Siebel Tools Guide Volume 2 of 2

20-29

Pick Applets and Static Picklists


Chapter Summary and Where to Get More Information

20-30

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets

21

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2


Multi-Value Group Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-2
Configuring the Originating Applet . . . . . . . . . . . . . . . . . . . . . . . . 21-6
Configuring the Originating Business Component . . . . . . . . . . . . . . 21-6
Configuring the Multi-Value Link . . . . . . . . . . . . . . . . . . . . . . . . . . 21-7
Configuring Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-8
Configuring the Multi-Value Group Applet . . . . . . . . . . . . . . . . . . . . . . . . 21-9
Configuring the Multi-Value Group Business Component . . . . . . . . . . . . 21-10
Association Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21-11
Association Applets Invoked from Master-Detail Views . . . . . . . . . 21-15
Association Applets Invoked from Multi-Value Group Applets

. . . . 21-19

Chapter Summary and Where to Get More Information . . . . . . . . . . . 21-23

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-1

Multi-Value Group and Association Applets


About This Chapter

About This Chapter

21

This chapter explains how to implement multi-value group and association applets
in Siebel applications.
For information about the wizards that guide you through creating MVGs and MVG
applets, see Chapter 13.

Multi-Value Group Applets

21

A multi-value group (MVG) applet (shown in Figure 21-1) is a dialog box that
provides the means to display and maintain a set of records of data from another
business component associated with the currently displayed business component
record. The multi-value group applet is invoked from a control or list column in the
originating applet.

Originating applet

Ellipsis button
that initiates the
multi-value
group applet

Multi-value group
applet window

Figure 21-1. Multi-Value Group Applet in a Siebel Application

21-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Multi-Value Group Applets

Figure 21-1 shows the Account Address multi-value group applet. It is invoked
when the user clicks the ellipsis (...) button to the right of the Address text box. This
multi-value group applet lists one or more addresses for the account. Each address
includes a Primary check box, Street Address, City, State, Zip, Country, Phone
Number, and Fax Number. The record with a check mark in the Primary check box
is the one whose data appears in corresponding controls in the originating applet.
While the multi-value group applet is open, the user can view the entire list of
address records for this account, not just the primary one. The user can also add,
edit, and delete address records in this window.
Multi-value group applets are implemented using object types illustrated in
Figure 21-2.

User Interface Objects Layer


Applet

List

Control

Business Objects Layer


1:2

Link

Business
Component

List Column

Field

Multi Value Link

Legend:
Object type
1:M relationship through obj. hierarchy
1:M relationship through properties

Figure 21-2. Multi-Value Group Architecture

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-3

Multi-Value Group and Association Applets


Multi-Value Group Applets

Figure 21-3 shows the object definitions used in the implementation of a multi-value
group applet in greater detail, and identifies their interrelationships.

originating Applet

multi value group Applet

MVG Applet
property

originating Control

List Columns

Field property

originating Business Component


originating Multi
Value Field

Business
Component
property

Field
property

Multi Value
Fields

Multi Value
Link property

Multi Value
Link property

Destination
Business
Component
property

multi value group


Business Component
multi value group
Fields

Multi Value Link

foreign key Field


Parent Business
Component
property

Destination Link
property

Link

Child Business
Component
property

Legend:
object definition

Destination Field
property

contained (child) object


definition
property specifies other
object definition

Figure 21-3. Multi-Value Group Details

21-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Multi-Value Group Applets

The roles of the object definitions in Figure 21-3 are summarized in the following
list and discussed in greater detail in the subsequent sections. The multi-value
group example refers to the Account Address MVG applet illustrated in Figure 21-1
on page 21-2.
Each of the following objects is discussed in greater detail in the following sections.

Originating applet. Contains the control or list column that invokes the multi-

value group applet. In the example, the originating applet is called Account
Entry applet.

Originating business component. Business component of the originating applet.

This business component (in the example, the Account business component)
supplies the data presented in the originating applet (Account Entry applet).

Multi-value fields. Fields in the originating business component that are populated
by the multi-value link. Data population relationship is indicated by the
presence of the multi-value links name in their multi-value link property. The
Field property in each identifies the corresponding field in the multi-value group
business component that provides its data. Multi-value fields used in this multivalue group situation are Street Address, Address Id, City, Country, Fax Number,
Postal Code, and State.
NOTE: If the field is a multi-value field, then the Required attribute will be
ignored. In this case you can use a script in Siebel VB or Siebel eScript or the
primary address field, if it exists.

Multi-value links. Child of the originating business component. It identifies the

link that provides the field values from the multi-value group business
component. In the example, the multi-value link is Business Address.

Links. Specifies the master-detail relationship between the originating and multi-

value group business components. This is a property of the Multi Value Link
object definition from which the fields in the originating business component
obtain their values. In the example, the link is Account/Business Address.

Multi-value group applet. Dialog box that appears when the user clicks on the

ellipsis button in the originating applet. It lists the multi-value group business
component records that are detail records in the master-detail relationship with
the current originating business component record. It also provides the means
to add, edit, and delete detail records. In the example, the multi-value group
applet is called Account Address MVG Applet.

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-5

Multi-Value Group and Association Applets


Multi-Value Group Applets

Multi-value group business component. Stores the detail records of the master-detail

relationship with the originating business component. The records displayed in


the multi-value group applet are those in the multi-value group business
component. In the example, the multi-value group business component is called
Business Address.

Configuring the Originating Applet

21

The originating applet contains the control or list column that invokes the multivalue group applet. The originating applet has the following important property:

Business Component property. Identifies the originating business component.

The originating Control object or List Column object has the following important
properties:

Field property. Identifies the originating field in the originating business

component.

MVG Applet property. Name of the multi-value group applet to be invoked.

Runtime property. Must be set to TRUE.

Configuring the Originating Business Component

21

The originating business component is the business component of the originating


applet. The data values that appear in the originating field and other multi-value
fields are obtained from corresponding fields in a record in the multi-value group
business component. The record from which these values are obtained is the one
indicated as primary.
The originating business component has no essential properties for the
configuration of a multi-value group. However, the field and Multi Value Link child
object definitions are significant.
The originating field is the field specified in the Field property of the originating
control or list column. Other than its relationship with the originating control, its
role is identical to that of the other multi-value fields sharing the multi-value link.
(A multi-value field is a field with a non-null Multi Value Link property.) Each of
the multi-value fields participating in the multi-value group has the name of the
multi-value link in its Multi Value Link property. The multi-value fields in the
originating business component have the following important properties:

21-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Multi-Value Group Applets

Multi Value Link property. Identifies the multi-value link that provides values, by

way of the link object definition, from the multi-value group business
component.

Field property. Identifies the field in the multi-value group business component
that, by way of the multi-value link and link object definitions, provides values
for the field in the originating business component.

NOTE: When configuring a pick applet invoked from a multi-value group applet,
define the Pick List on the originating field in the originating business component,
not on fields in the multi-value group business component.

Configuring the Multi-Value Link

21

The multi-value link object definition is a child of the originating business


component. It identifies the link that provides the field values from the multi-value
group business component. The multi-value link in the originating or joined (in the
case of an indirect multi-value link) business component has the following
important properties:

Destination Link property. Identifies the link object definition that provides the

master-detail relationship between the originating (or joined) and multi-value


group business components.

Primary Id Field property. Identifies the foreign key field in the originating, or

joined, business component. The foreign key field identifies the primary record
in the set of records for one multi-value group (in the multi-value group business
component). The primary record is the one that displays in the originating or
employing business component.

Destination Business Component property. Name of the child business component.

NOTE: An indirect multi-value link may be used in place of a conventional multivalue link when there is an existing link object definition which would be
appropriate for use in a multi-value link, but the originating business component is
different from the master business component. If there is a Join object definition
that joins the desired master business component to the master business
component of the link, the existing link can be used in the multi-value link.

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-7

Multi-Value Group and Association Applets


Multi-Value Group Applets

Configuring Links

21

The Link object definition specifies the master-detail relationship between the
originating and multi-value group business components. This makes possible the
Link object definition from which the fields in the originating business component
obtain their values. The Link object type has the following important properties:

Parent business component property. Identifies the originating business

component.

Child business component property. Identifies the multi-value group business

component.

Source Field property. Identifies the field in the originating business component

that serves as a unique ID to that business component. If this property is blank,


it indicates that the field that maps to the ROW_ID column, generally called Id,
is the source field.

Destination Field property. Identifies the field in the multi-value group business

component that identifies the master record for each detail record. It is a foreign
key that points back to the originating business component.
NOTE: In a link based on an intersection table (the relationship between the
originating and MVG business component is many-to-manythat is, one in
which the Inter Table, Inter Parent Column and Inter Child Column properties
are non-blank), you do not specify the Source Field or Destination Field
properties. You can specify a source field (although its not common to do so).
Destination field always defaults to Id.

21-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Multi-Value Group Applets

Configuring the Multi-Value Group Applet

21

This applet is the dialog box that appears when the user clicks the ellipsis button in
the originating applet. It lists the multi-value group business component records
that are detail records in the master-detail relationship with the current originating
business component record. It also provides the means to add and delete detail
records. The multi-value group applet contains list column object definitions that
present the data from corresponding fields in the multi-value group business
component.
The multi-value-group applet has the following important properties:

Business Component property. Identifies the multi-value group business

component.

Class property. Enter a value of CSSFrameList in this property. This setting


indicates that this is a standard list applet.

Type property. Enter a value of MVG in this property. This setting indicates that

this is a multi-value group applet. This configures the behavior of the dialog box
and button controls.

Title property. Identifies the multi-value group applet to appear in the title bar.

The List Column object definitions in the multi-value group applet have the
following important property:

Version 6.0

Field property. Identifies the field in the multi-value group business component
from which the list column displays data.

Siebel Tools Guide Volume 2 of 2

21-9

Multi-Value Group and Association Applets


Multi-Value Group Applets

Configuring the Multi-Value Group Business Component

21

This business component stores the detail records of the master-detail relationship
with the originating business component. The records displayed in the multi-valuegroup applet are from the multi-value group business component.
The multi-value group business component has no important properties with
respect to its role in the implementation of a multi-value group. It has field child
object definitions that are used in the following ways:

 To store data for a field in the multi-value group


Each field with this role is represented by a list column in the multi-value group
applet. It may also participate in the multi-value link to supply data to a
corresponding field in the originating business component.

 To identify the primary record in the multi-value group


Primary records are identified by the primary field which is specified in the
Primary Field Id property in the multi-value link.
NOTE: For all intents and purposes the primary field has nothing to do with the
multi-value group business component. It does have relevance to the originating
business component, the multi-value link, and the multi-value group applet.

 As the destination field of the link


The field with this role is a foreign key to the originating business component.

21-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Association Applets

Association Applets

21

An association applet (shown in Figure 21-4) provides users with the ability to
associate a parent record with one or more children through an intersection table.
For example, association applets are provided for assigning Team Members to an
Account, Contacts to an Opportunity, and Products to a Price List.
An association applet is a dialog box.

Figure 21-4. Association Applet in a Siebel Application

The association applet lists the records from a business component. The user selects
one or more records with the aid of the Find and Starting With controls, if needed,
and clicks the Add button to associate the selected record to the active master
record.
Association applets are used only with pairs of business components that have a
many-to-many relationship. A many-to-many relationship in Siebel applications is
implemented by means of an intersection table and a pair of links.
When a one-to-many (simple master-detail) relationship exists between business
components, an association applet is unnecessary, and records can be directly
added or inserted in the applet displaying the detail business component. The
means to add and delete records can be provided by using a master-detail view or
a multi-value group applet. When a many-to-many relationship exists, an
association applet provides the only means to associate a pair of records from their
respective business components. Figure 21-5 and Figure 21-6 illustrate the reason
for this.

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-11

Multi-Value Group and Association Applets


Association Applets

Figure 21-5 illustrates how a one-to-many relationship is implemented.

This one-to-many
relationship
Account Business
Component

Contacts Business
Component

is implemented as

S_ORG_EXT Table

S_CONTACT Table

Row

Row

Row

Row

Row

Row

Figure 21-5. Row Relationships in a One-to-Many Relationship

The two applets in a master-detail view display one master record and a list of detail
records in their respective business components. A foreign key in each of the detail
records points to the one master record. To add another detail row, a row is added
to the detail table (S_CONTACT in the illustration), and a value is set in the foreign
key that points back to the master row. Every row in the detail table has a master
row because of the link relationship between the master and detail business
components. Adding a row to the detail table always results in the linkage of the
new row to a row in the master table. No additional applet is necessary to create an
association between a new detail row and some master row.

21-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Association Applets

The situation in a many-to-many relationship is illustrated in Figure 21-6.

This many-to-many
relationship
Opportunity Business
Component

Contacts Business
Component

is implemented as
S_OPTY Table

S_OPTY_CON Table

S_CONTACT Table

Row

Row

Row

Row

Row

Row

Row

Row

Row

Figure 21-6. Row Relationships in a Many-to-Many Relationship

Adding a record to the detail business component in a many-to-many relationship


can in reality mean associating an existing detail record to a master record, rather
than creating a new detail record from scratch. This is because master and detail
are relative terms in a many-to-many relationship. For example, the Opportunity
and Contacts business components in Figure 21-6 can be displayed as one
opportunity to many contacts, or one contact to many opportunities, depending on
the active view.
In this situation, the user needs to be presented with a selection list of available
detail records. If users see the desired detail record in the selection list, they choose
it. If not, they have the option to create a new detail record. In the context of a
many-to-many relationship, creating a new association for an existing detail record
is called association; creating a new detail record and an association is called
addition. Both association and addition of detail records result in the creation of a
new row in the intersection table. Addition also results in the creation of a new row
in the detail table.

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-13

Multi-Value Group and Association Applets


Association Applets

In the association applet, the Add button performs association and the New button
performs addition.
In Siebel applications, association applets are invoked in one of two ways:

 From the list applet in a master-detail view, by choosing the Edit


Record menu option.

 Add New

 From a multi-value group applet window, by clicking the New button.


Each of these scenarios is discussed the following sections.

21-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Association Applets

Association Applets Invoked from Master-Detail Views

21

Figure 21-7 illustrates an association applet invoked from a list applet in a masterdetail view.
The Add New Record
option in the Edit menu...

...invokes the Add Contacts


association applet.

Figure 21-7. Association Applet Invoked from a Master-Detail View

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-15

Multi-Value Group and Association Applets


Association Applets

The master-detail view in Figure 21-7 is Opportunity Detail - Contacts View, one of
two master-detail views displaying opportunity and contact information. The other
is Contacts Detail - Opportunity View, which displays the inverse master-detail
relationship. When the user selects Add New Record from the Edit menu, the Add
Contacts dialog box appears for selection of an existing contact record to insert, or
for creation of a new contact record. A new contact record is created by clicking the
New button and then entering data into the new record in the Add Contacts dialog
box.
The Add Contacts dialog box is implemented as an association applet called Contact
Assoc applet.
Association applets are implemented using the object types illustrated in
Figure 21-8.

User Interface Objects Layer

View

Applet

List

Legend:
Object type

List Column
Control

1:M relationship through


object hierarchy
1:M relationship through
properties

Figure 21-8. Association Applet Architecture

21-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Association Applets

The details of the object relationships are shown in Figure 21-9.

Opportunity
Detail - Contacts
View

Sectorn Applet
properties

Sectorn Applet
properties

Opportunity
Form Applet

Business
Component
property

Business
Component
property

Opportunity
Contact List
Applet

Business
Component
property

Associate
Applet
property

Contact Business
Component

Contact Assoc Applet

Legend:

Opportunity
Business
Component

List Columns

Field
property

Fields

object definition
contained (child)
object definition
property specifies other
object definition

Controls

Figure 21-9. Association Applet (Invoked from Master-Detail View) Details

Roles of the object definitions in Figure 21-9:

View (Opportunity Detail - Contacts view). Provides the context in which the
association applet is invoked, although no properties of the view directly identify
the association applet. The Business Object property of the view establishes the
master-detail relationship between the business components whose data is
displayed.

Master applet (Opportunity form applet). Form applet that displays one record from

the master business component. It has no special properties to configure.

Detail applet (Opportunity Contact list applet). List applet that displays a list of

records from the detail business component that are detail records for the
current master record in the master business component. The name of the
association applet is specified in its Associate Applet property.

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-17

Multi-Value Group and Association Applets


Association Applets

Business components (Opportunity and Contact). Provide the data for their

respective applets in the view. The detail business component also provides the
data displayed in the association applet.
NOTE: In the association applet, all records from the detail business component
are displayed; in the detail applet, the only records displayed are those which
have already been associated to the current master record.

Association Applet (Contact Assoc applet). Implements the dialog box that appears

when the user attempts to add or insert a record in the detail applet. It has a Type
property value of Association List, which indicates that it is an association
applet, and a Class property value of CSSFrameList, indicating that it is a list
applet. The association applet is configured as a standard list applet, with a List
child object definition that, in turn, has List Object child object definitions.

List columns. Specify the fields that are displayed in the association applet, and
in what order. They duplicate some or all of the list columns in the detail applet
in the view.

Controls. Several specialized controls appear in an association applet. They are

the following:
 Add button. Associates selected records to the current parent. The result at the
table level is to create an intersection table row between the row identified
in the master applet and the row identified in the association applet. The
control is named PopupQueryAdd and has a method invoked of AddRecord.
 New button. Creates an empty scrolling table row in the association applet for
user entry of a new detail business component record. Following entry of the
new record, it is inserted in the detail applet. The result at the table level is
to create a new row in the detail table, and an intersection table row between
the row identified in the master applet and the row created in the association
applet. The control is named ButtonNew and has a method invoked of
NewRecord.
 Close button. Dismisses the dialog box.
 Find combo box. In combination with the Starting With text box and Find
button, provides the user with search capabilities for locating the desired
record in the association applet. The user selects in this combo box the field
to search.

21-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Association Applets

 Starting With text box. Text box where the user enters the search value.
 Find button. The user clicks this button to initiate the search specified in the
Find combo box and Starting With text box.

Association Applets Invoked from Multi-Value Group Applets

21

Figure 21-10 illustrates an association applet invoked from a multi-value group


applet.
The New button in a multivalue group applet...

...invokes an
association applet.

Figure 21-10. Association Applet Invoked from a Multi-Value Group Applet

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-19

Multi-Value Group and Association Applets


Association Applets

The applet in the upper sectors of the view shown in Figure 21-10 is Account form
applet, which is used in various views to display a single record of account
information at the top of the view. Five of the text boxes in this applet display multivalue fields: Industries, Account Team, Address, Synonyms, and Territories. Each of
these text boxes has an ellipsis button that invokes a specific multi-value group
applet when clicked.
Some multi-value-group applets add and remove records without the use of an
association applet. Such applets are based on a one-to-many relationship between
the master and detail business components, and no intersection table is involved.
The Account Address MVG applet (invoked from the Address text box in the
Account form applet) is that kind of multi-value group applet. You can confirm that
no association applet is involved by examining the value in the Associate Applet
property in the multi-value group applets object definition, which is blank in this
case.
Other multi-value group applets are based on a many-to-many relationship
implemented through an intersection table. The user may either create or associate
records. This requires that an association applet be invoked when the New button
in the multi-value group applet is clicked. The Industry Mfg applet, invoked from
the Industries text box, is of this type. The name of an association applet (Industry
Assoc applet) appears in the Associate Applet property in the multi-value group
applets object definition.
In Figure 21-10 on page 21-19, the user has clicked the ellipsis button to the right of
the Industries text box, and the Add Industries dialog box has appeared. The Add
Industries dialog box (association applet) allows the user to add an existing industry
record to the multi-value group, or to create a new industry record in the multivalue group. A new Industry record is created by clicking the New button, and
entering data into the new record in the Add Industries dialog box.

21-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Association Applets

The Add Industries dialog box is implemented as an association applet called


Industry Assoc applet. The details of the object relationships are shown in
Figure 21-11.

Account Form Applet

Industry Control

Business
Component
property

Account Business
Component
Industry (Multi
Value) Field

Field
property

MVG Applet
property
Business
Component
property

Industry Mvg Applet


New Button
(ButtonNew Control)
Associate Applet
property

Industry Assoc
Applet

Business
Component
property

Industry Business
Component

Field property

List Columns

Fields

Legend:
object definition

Controls

contained (child)
object definition
property specifies other
object definition

Figure 21-11. Association Applet (Invoked from Multi-Value Group Applet) Details

Version 6.0

Siebel Tools Guide Volume 2 of 2

21-21

Multi-Value Group and Association Applets


Association Applets

The roles of the object definitions in Figure 21-11 are the following:

Form applet (Account Form applet). Contains one or more text box controls

displaying multi-value fields. The MVG Applet property for each of these text
box controls identifies a multi-value group applet that is invoked when the user
clicks the ellipsis button to the right of the text box.

Multi-value group applet (Industry Mfg. applet). Displays the list of records assigned

to the multi-value field in the form applet. The Associate Applet property in the
multi-value group applets object definition identifies the association applet to
invoke when the user clicks the New button in the multi-value group applet.

Multi-Value Group business component (Industry). Stores the (detail) multi-value

group records for each master business component record. The multi-value
group business component supplies records to both the multi-value group applet
and the association applet.

Association applet (Industry Assoc applet). Implements the dialog box that appears

when the user attempts to add or insert a record in the multi-value group applet.
The association applet has a Type property value of Association List, which
indicates that it is an association applet. It has a Class property value of
CSSFrameList, indicating that it is a list applet. The association applet is
configured as a standard list applet, with a List child object definition that has
List Object child object definitions.
The child object definitions for the association applet are described in greater detail
at the end of Association Applets Invoked from Master-Detail Views on
page 21-15. Typically Association applets are based on the same business
component as multi-value group applets.
NOTE: An association applet cannot be configured to be constrained or filtered
through properties the way a pick applet can (using the Constrain property of a Pick
List). To constrain an association applet, you must use Siebel VB or Siebel eScript
to query using the Exists clause in the applet_GotFocus event on the association
applet.

21-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

Multi-Value Group and Association Applets


Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

21

This chapter explained how to implement multi-value group and association applets
in a Siebel application.
Table 21-1 lists sources of additional information about topics discussed in this
chapter.
Table 21-1.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Pick applets and static picklists

Chapter 20

Multi Value Group wizard

Multi Value Group Wizard on


page 13-28

Siebel Tools Guide Volume 2 of 2

21-23

Multi-Value Group and Association Applets


Chapter Summary and Where to Get More Information

21-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets

22

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-2


Chart Applets

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-3

Axis Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-4


Chart Layout Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-5
Configuring Chart Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-15
Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-28
Tree Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-29
Configuring Tree Applets and Explorer Views . . . . . . . . . . . . . . . . 22-33
Tree Applets in the Applet Designer . . . . . . . . . . . . . . . . . . . . . . . 22-36
Recursive Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-36
File Attachment Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-37
Configuring Attachment Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-40
Configuring Attachment Business Components . . . . . . . . . . . . . . . . . . .22-42
Configuring Attachment Tables . . . . . . . . . . . . . . . . . . . . . . . . . . 22-44
Web Browser Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-46
Web Search Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22-50
Web Browser Applet Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22-52
Chapter Summary and Where to Get More Information . . . . . . . . . . . 22-54

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-1

Special-Purpose Applets
About This Chapter

About This Chapter

22

This chapter discusses four special-purpose applets:

 Chart applets
 Tree applets
 File attachment applets
 Web browser applets

22-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

Chart Applets

22

A chart applet graphically displays data from a business component in various


formats for analysis of trends, category comparison, and other data relationships.
Any data in a business component can be included in a chart. The data in a chart
applet reflects the current query for the business component. The user can update
the chart with changes to the query by clicking inside the chart. Figure 22-1 shows
a chart applet in a view.

Figure 22-1. Opportunity Size Analysis View

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-3

Special-Purpose Applets
Chart Applets

This view, entitled Opportunity Size Analysis (Oppty Chart View - Opportunity Size
Analysis in Siebel Tools), lists all opportunities in the upper (list) applet and
aggregates them by size in the lower (chart) applet. By default, the chart applet in
this view (Oppty Chart Applet - Competitor Frequency Analysis) displays the data
in bar chart format, in a specific type of bar chart called 3dBar. The user can select
different chart types from the Type picklist at upper right in the applet. Chart types
are discussed in Chart Layout Options on page 22-5.

Axis Terminology

22

Specialized terminology is used for axes in Siebel Tools and Siebel applications.
Each axis has a special name, as shown in Table 22-1.
Table 22-1.

22-4

Axis Terminology

Axis

Name

Meaning in Bar Charts

Meaning in Line Charts

Meaning in Pie Charts

X axis

Category

The horizontal axis


(except in horizontal
bar charts, in which
the X axis is vertical
along the left).

The horizontal axis.

The set of pie slice


labels.

Y axis

Data
Values

The vertical axis


(except in horizontal
bar charts, in which
the Y axis is
horizontal along the
bottom).

The vertical axis.

The percentage of
the circle occupied
by each pie slice,
and the
corresponding
numeric value.

Z axis

Series

A set of labels in the


legend. In the
stacked bar or
cluster bar charts,
each series label
corresponds to a bar
segment or bar of a
particular color
appearing in each
stack or cluster.

A set of labels in the


legend. In line charts,
each series label in
the legend
corresponds to one
curve.

Do not use a series


field with pie charts,
because only the
first entry in each
series will be
charted.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

An example of a chart with all three axes is the Product Analysis chart, in the
Service Request Product Analysis view in Siebel Service, shown in Figure 22-2.
Set of bar colors
corresponding to
Z, or series, axis

Y, or data points, axis

X, or category, axis

Figure 22-2. Product Analysis Chart in Siebel Service

In this chart, the number of service requests is plotted on the Y (data values) axis,
product name abbreviations appear on the X (category) axis, and each bar color (Z,
or series, axis) identifies a level of service request severity.
NOTE: In charts with two Y axes, the first Y axis refers to the vertical axis on the left

side, while the second Y axis refers to the one on the right side.

Chart Layout Options

22

The user can select different chart types from the Type picklist at the upper right in
most chart applets. Chart types provide various layout options, including horizontal
bar, stacked bar, pie, line, scatter, spline, and combo (combined line and bar).
Several of these are available in either 2- or 3-dimensional format. The 3dimensional types are functionally the same as the corresponding 2-dimensional
types, but provide the illusion of bar, line, or pie thickness for visual attractiveness.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-5

Special-Purpose Applets
Chart Applets

The following styles of charts are available (although not all styles are supported
for all chart applets).

Bar Charts
Bar charts are typically used to compare the absolute difference in data from one
category to another.

3dBar. The 3dBar type divides data from the source records into categories, and
displays the total for each category as a vertical bar. This is shown in
Figure 22-3.

Figure 22-3. 3dBar Chart

If the chart is configured with a Z (series) axis, a cluster of bars appears for each
category rather than a single bar. This is shown in Figure 22-4.

Figure 22-4. 3dBar Chart with Series Axis

22-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

3dHorizBar. A 3dHorizBar chart is functionally equivalent to a 3dBar chart, but


has the X and Y axes switched, with the result that the bars are horizontal. A
3dHorizBar chart appears in Figure 22-5.

Figure 22-5. 3dHorizBar Chart

The individual horizontal bars are replaced by clusters of horizontal bars if a


series axis is present, as shown in Figure 22-6.

Figure 22-6. 3dHorizBar Chart with Series Axis

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-7

Special-Purpose Applets
Chart Applets

3dStackedBar. A 3dStackedBar chart normally has a series axis. The chart

displays a single stack of bars for each category, within which appears a bar of
a different color for each series. Stacked bar charts are useful for seeing the
individual value for each series within the category as well as their total for the
category. An example of a 3dStackedBar chart appears in Figure 22-7.

Figure 22-7. 3dStackedBar Chart

This figure displays a Service Request Product Analysis chart from Siebel
Service. The data values axis corresponds to the number of service requests, the
category axis corresponds to products, and the series axis corresponds to service
request severity levels. So for each product along the X axis, there is a stack of
bars. Each bar in the stack indicates the number of service requests of a
particular severity. The total number of service requests for each product can be
determined from the height of its stack.

22-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

2dBar. A 2dBar chart is functionally equivalent to a 3dBar chart, but is displayed


without the illusion of depth. Two-dimensional charts are generally easier to
read accurately, but may seem less visually attractive, than their 3-dimensional
counterparts. A 2dBar chart appears in Figure 22-8.

Figure 22-8. 2dBar Chart

Like the 3dBar chart, a 2dBar chart displays bars in clusters if a series axis is
present.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-9

Special-Purpose Applets
Chart Applets

2dHorizBar. The 2dHorizBar chart type is functionally equivalent to the


3dHorizBar type, but is displayed without the illusion of depth. A sample
2dHorizBar chart appears in Figure 22-9.

Figure 22-9. 2dHorizBar Chart

2dStackedBar. The 2dStackedBar chart type is functionally equivalent to the

3dStackedBar type, but is displayed without the illusion of depth. A sample


2dStackedBar chart appears in Figure 22-10.

Figure 22-10. 2dStackedBar Chart

22-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

Line Charts
Line Charts are used to observe trends across categories or over time.

2dLine. The 2dLine chart type displays one or more line curves plotted against

the X-Y grid. If there is no series axis, a single line curve appears. If there is a
series axis, one line curve appears for each color in the legend. A 2dLine chart
appears in Figure 22-11.

Figure 22-11. 2dLine Chart

3dLine. The 3dLine chart type is functionally equivalent to the 2dLine type, but

appears with the illusion of depth. A 3dLine chart (showing the same data as the
2dLine chart in Figure 22-11) appears in Figure 22-12.

Figure 22-12. 3dLine Chart

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-11

Special-Purpose Applets
Chart Applets

2dSpline. The 2dSpline chart type displays one or more line curves plotted
against the X-Y grid, with the points plotted accurately but the line between
them smoothed mathematically. If there is no series axis, a single curve and set
of points appear. If there is a series axis, one curve and corresponding set of
points appear for each color in the legend. A 2dSpline chart appears in
Figure 22-13.

Figure 22-13. 2dSpline Chart

3dSpline. The 3dSpline chart type is functionally equivalent to the 2dSpline type,
but appears with the illusion of depth, and does not display the actual data
points, only the smoothed curve. A 3dSpline chart (showing the same data as
the 2dSpline chart in Figure 22-13) appears in Figure 22-14.

Figure 22-14. 3dSpline Chart

22-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

Combo. A chart of the Combo type displays a single bar chart with a single line

chart superimposed on it. The two charts share the category axis, but each has
its own data points axis (on the left for the bar chart, and on the right for the
line chart). A sample Combo chart appears in Figure 22-15.

Figure 22-15. Combo Chart

Pie Charts
Pie Charts are used to compare the relative difference across categories by dividing
a circle into segments that represent each categorys percentage of the whole.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-13

Special-Purpose Applets
Chart Applets

3dPie. The 3dPie chart type aggregates data point data in the records by category,

and displays each category as a separate segment in the pie. The category (X)
axis is the set of pie slices and corresponding labels. The data points (Y) axis
determines the relative size of each pie slice as a percentage of the total. You
cannot specify a series axis for pie charts. The 3dPie chart type gives the illusion
of depth, for visual attractiveness. A sample 3dPie chart appears in Figure 22-16.

Figure 22-16. 3dPie Chart

2dPie. The 2dPie chart type is functionally the same as the 3dPie type, but

without the illusion of depth. A sample 2dPie chart appears in Figure 22-17.

Figure 22-17. 2dPie Chart

22-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

Scatter Charts


2dScatter. A scatter charta chart with the 2dScatter typedisplays the

distribution of data according to two attributes. This is useful for probability


distributions, among other applications. The category axis must contain
numeric, as opposed to date or text, data. This makes the 2dScatter type
unsuitable for conversion to other chart types such as bar, line, or pie. For this
reason, the 2dScatter type does not appear in Type picklists, and a 2dScatter
chart does not have a Type picklist. A 2dScatter chart appears in Figure 22-18.

Figure 22-18. 2dScatter Chart

Configuring Chart Applets

22

A chart is built as an applet containing one or more Chart object definitions. The
Chart object type is a child of applet. The Chart object type has Chart Element
children.
This section describes how chart applets are configured.

Business Component Mapping


A chart applet has, like all applets, a business component identified in its Business
Component property. Records in this business componentsubject to the current
view, the current query, and visibility considerationsprovide the data displayed in
the applet. In the case of a chart applet, specific fields are used to provide the data
for the category, data point, and series axes. The correspondence between axes and
fields is specified in properties in the Chart object definition.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-15

Special-Purpose Applets
Chart Applets

In the simplest casea single bar or line graph, with no series axisa category field
and a data point field are specified. Pairs of category and data point field values are
plotted as points or bars. If multiple records have the same category value, their
data point values are added together.
The Oppty Chart Applet - Source Analysis applet, in Figure 22-19, provides an
illustration of this process.

Figure 22-19. Oppty Chart Applet - Source Analysis

This applet displays the number of opportunities on the data point axis plotted
against the source of the opportunity (referral, magazine article, Web site, and so
on) on the category axis. To generate the data required for the curve, the Source field
in each record is checked and the number of opportunities for each distinct source
value is tallied. The result is a two-row temporary table with a column for each
source, as shown in Figure 22-20.

category
(Source)

heading
count

Magazine

Web Page

Referral

Mailer

Unspecified

data point
value

Figure 22-20. Temporary Table for Single-Curve Chart Data

22-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

For a multiple-curve chart, such as the Request Chart Applet - Product Analysis
applet in Figure 22-21, a row is added to the temporary table for each curve in the
series.

Figure 22-21. Request Chart Applet - Product Analysis

The temporary table for a multiple-curve chart is illustrated in Figure 22-22.

category
(Product)

series
(Severity)

Hard Disk

CD-Rom

RAM

Laser
Printer

Monitor

Critical

High

Medium

Low

Question

Unspecified

data
point
value

Figure 22-22. Temporary Table for Multiple-Curve Chart Data

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-17

Special-Purpose Applets
Chart Applets

To define the data mapping from the business component into the chart applet, you
need to define the following properties in the Chart object:

Category Field property. Contains the name of a text or date field in the business

component (except for scatter charts, which use a numeric category field).
When the business component records are scanned, the different values found
in this field are mapped into different categories. These values are displayed on
the charts X-axis labels.

Data Point Field property. Contains the name of a numeric field in the business

component, or is unspecified. If specified, the value in this field in each record


is added to the total for the category field value in the same record. If a data point
field is not specified, the count for the corresponding category field is
incremented rather than adding the data point value to the total for the category
field. These counts or totals determine the height along the Y-axis of a bar or line
curve point for each unique category field value in the curve. Rather than a total
or a count, some other function (specified in the Data Function property) may
determine the use of the data point field data.

Series Field property. Contains the name of a text field in the business component,

or is unspecified. When the business component records are scanned, the


different values found in this field are mapped into different curves. These
values are displayed on the charts legend labels.

Data Function property. The Data Function property determines how the data
point field values get converted into the new tables cell values. Possible values
are Sum (simple addition), Count (number of occurrences of a cell value),
Average (average value per record), and Plot (different from Count only in that
when a cell is empty, it is charted as NULL instead of 0).

The preceding descriptions cover the use of these properties for the most general
cases. There are a number of special cases in which these properties are configured
differently than described. Some special case configuration scenarios are described
in the sections that follow. For complete descriptions of the properties, refer to the
property descriptions in the Siebel Object Types Reference.

22-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

Configuring the Picklists


A chart applet typically provides one or more picklists along the upper edge that
allow the user to reconfigure the charts presentation or use of data. These picklists
are illustrated in Figure 22-23.
Show picklist

By picklist

Type picklist

Figure 22-23. Picklists in a Chart Applet

These picklists are described as follows:

Type picklists. This is the most common of the four picklists, and appears in most

chart applets. It provides the user with the means to select a different type of
chart for the same data, such as a pie chart instead of a bar chart, or a 2dimensional line chart instead of a 3-dimensional one. The chart types are
described in detail in Chart Layout Options on page 22-5.
The options for the Type picklist are specified in the Picklist Types property of
the Chart object definition, as a comma-separated list of chart type names such
as the following:
3dBar,3dStackedBar,3dPie,3dHorizBar,2dBar,2dStackedBar,2dPie,
2dHorizBar

There cannot be any spaces between the elements in the comma-separated list.
The default typethe chart type to appear when the chart is initially displayed
is specified in the Type property. Charts without a Type picklist use the Type
property to specify the chart type of the chart; in that situation the chart type
cannot be changed by the user.
Version 6.0

Siebel Tools Guide Volume 2 of 2

22-19

Special-Purpose Applets
Chart Applets

Show picklists. This picklist allows the user to change what is displayed on the Y

axis. The choices available depend on the configuration of certain properties in


the Chart object definition. The Show picklist displays a selection list of field/
function combinations which determines what values are plotted along the Y
axis.
For information on configuring the Show picklist, refer to Configuring Show
Picklists on page 22-21.

By Picklist. This picklist allows the user to change what is displayed on the X
axis. This can provide any one of three roles, depending on the configuration of
certain properties in the Chart object definition:

 In period Charts, the By picklist is populated with different periods. This


allows the user to select from a list of possible X-axis periods for calendar
(day/week/month/quarter/year) data. This requires selection options to be
specified in the Picklist Periods property in the Chart object definition.
 When a list of source fields is specified rather than a single source field, the
picklist allows the user to choose which source field populates the X axis.
 It can allow the user to invert the X and Z axes, so the user can see the data
from a source field in a business component displayed along the X or Z axis
per the picklist selection.

For information on configuring the By picklist, refer to Configuring the By


Picklist on page 22-23.

22-20

Second By picklists. This picklist enables the user to choose which source field
populates the Z axis. For information on configuring the second By picklist, refer
to Configuring the Second By Picklist on page 22-24.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

Each of the four picklists requires a corresponding control of type ComboBox, as a


child object definition of the chart applet. Each has required values in the Name and
MethodInvoked properties, as detailed in Table 22-2.
Table 22-2.

Name and MethodInvoked Properties for Four ComboBox Controls

Picklist

Control Name

MethodInvoked

Type

ChartPicktype

PickChartType

Show

ChartPickfunction

PickYAxis

By

ChartPickby

PickXAxis

By #2

ChartPickby2

PickZAxis

The simplest way to add these controls is to copy them in the Applet Designer from
a chart applet in which they are present.

Configuring Show Picklists


The Show picklist (the combo box control named ChartPickfunction) can be
configured to display a selection list of field/function combinations, the selection
from which determines what values are plotted along the Y axis. Multiple
combinations of source field and function are provided in the selection list. The Y
axis title is obtained from the text in the users Show picklist selection.
To configure the Show picklist, the following three properties of the Chart object
definition are used:

Data Point Field property. You enter a comma-separated list of source fields, one

for each entry that is to appear in the Show picklist. The first entry in the list is
the default. If only one field name is entered, it applies to all functions in the
picklist.

Version 6.0

Data Function property. You enter a comma-separated list consisting of the


following function names: SUM, COUNT, AVERAGE, or PLOT. PLOT indicates
that the Y values are derived directly from the values in the source field. The
order in the comma list determines the association with a data point field and
title (picklist function). If the comma-separated list is omitted or it contains
fewer elements than the list of names in the Picklist Functions property, the list
Sum,Count,Average,Plot is substituted.

Siebel Tools Guide Volume 2 of 2

22-21

Special-Purpose Applets
Chart Applets

Picklist Functions property. You enter a comma-separated list of Y-axis titles,

which are also the text which appears in the picklist. The order in the comma
list determines the association with a data point field and data function.
For example, you could configure a Show picklist with explicit syntax that offers
three choices: Number of Opportunities, Opportunity Revenue and Opportunity
Expected Revenue. This is configured with the property settings shown in
Table 22-3.
Table 22-3.

Show Picklist Properties for Sales Method Bar Chart

Property

Value

Picklist Functions

Number of Opportunities,Opportunity Revenue,Opportunity


Expected Revenue

Data Function

Count,Sum,Sum

Data Point Field

Name,Revenue,Expected Revenue

As can be seen from the table, there are three values in each comma-separated list.
The first entry, Number of Opportunities, performs a Count function on the Name
field. The second entry, Opportunity Revenue, performs a Sum function on the
Revenue field. The third entry, Opportunity Expected Revenue, performs a Sum
function on the Expected Revenue field.
An example of a Show picklist configured with implicit syntax and the standard
function list is in the Lead Source Analysis chart in the Opportunity New Business
Analysis view in Siebel Sales (Oppty Chart Applet - New Business). The picklist
offers three choices: Number of Opportunities, Opportunity Revenue, and Average
Opportunity Revenue. This is configured with the property settings shown in
Table 22-4.
Table 22-4.

22-22

Show Picklist Properties for Lead Source Analysis Chart

Property

Value

Picklist Functions

Number of Opportunities,Opportunity Revenue,Avg Opportunity


Revenue

Data Function

Count

Data Point Field

Revenue

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

The value of Revenue in the Data Point Field property applies to all entries in the
picklist.
The value of Count in the Data Function property is unnecessary; it could be left
blank instead. Whenever the number of entries in the Data Function property is not
the same as the number in the Picklist Functions property, the system supplies a
standard Data Function list. This list is the following:
Count,Sum,Average,Plot

The first picklist entry, Number of Opportunities, performs a Count function on the
Revenue field. The second entry, Opportunity Revenue, performs a Sum function on
the same field. The third entry, Avg Opportunity Revenue, performs an Average
function.
This means of configuring Show picklist behavior predates the ability to specify
triplets of name, function, and field, and is more restrictive. It has been retained for
backwards compatibility with earlier versions of Siebel applications. Generally it
makes more sense to explicitly specify the values in the three properties.

Configuring the By Picklist


The contents of the Category Field property in the Chart object definition determine
the behavior of the By picklist (ChartPickBy combo box control), as follows:

Calendar increments in the picklist and X axis. If the Category Field property

contains the name of a single field that has a DTYPE_DATE data type, the X axis
displays calendar increments and the chart is considered a period chart. In this
situation, the picklist is populated with calendar increment options, including
user defined periods (specified in Screens Application Administration
Periods) such as Day, Week, Month, Quarter, and Year.

For example, in the New Business Analysis chart, the category field is Created
(the date of creation of the record, hence of the opportunity). As a result, the
category axis contains date increments, based on the increment the user selects
in the By picklist.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-23

Special-Purpose Applets
Chart Applets

Text labels in the X axis, category and series field names in the picklist. If the

Category Field property contains the name of a single text field from the business
component, and a series field has also been specified (in the Series Field
property), the By picklist is populated with the names of the category field and
the series field. The user can select either field to populate the X axis with labels
derived from the contents of that field; the unselected field populates the legend
box (Z axis) with labels. The category field is the default, and is initially
displayed on the X axis.
For example, the chart in the Service Request Product Analysis view in Siebel
Service has a category field of Product and a series field of Severity. When the
chart is initially displayed, the X axis labels are product names and the legend
labels are severity levels. However, the field names Product and Severity appear
in the By picklist, and the latter selection enables the user to display severity
levels in the X axis and product names in the legend.

Text Labels in the X axis, multiple field names in the picklist. If the Category Field

property contains a comma-separated list of field names, the user is provided


with this list of fields at run time in the By picklist. The users selection
determines the field which populates the X axis. The first value in the commaseparated list is the default. (You should avoid blank spaces before or after field
names in the list.)

Numeric values in the X axis, no picklist. If the Category Field property contains the

name of a single numeric field, the X axis is populated with numeric increments,
similar to the process of generating increments for the Y axis. In this situation,
the By picklist is not shown.
For example, the Probability Cluster Analysis chart in the Opportunity
Probability Cluster Analysis view has a category field of Rep % (the probability
of a sale). In this chart, probability is plotted against the X axis, the X axis
increments are percentages from 0% to 100%, and no By picklist appears.

Configuring the Second By Picklist


The contents of the Series Field property in the Chart object definition determine
the behavior of the second By picklist (the combo box control named
ChartPickBy2), as follows:

 If the Series Field property is blank, all records get mapped into a single series.
 If the Series Field property contains the name of a field from a business
component, the Z axis (legend) is populated with labels derived from the
contents of that field.
22-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

 If the Series Field property contains a comma-separated list of field names, the
user is provided with this list of fields at run time in the second By picklist. The
users selection determines the field which populates the Z axis. The first value
in the comma-separated list is the default.

Charts with Multiple Curves Plotted Against One Y Axis


Multiple line graph curves can be plotted against the same Y axis, based on different
source field/function combinations. The name for each curve appears in the legend.
For example, you may want revenue, expected revenue, and net profit to appear as
superimposed curves on the same line graph. To accomplish this, set the following
property values in the Chart object definition:

Data Point Field property. Provide a comma-separated list of source fields, one for

each curve to appear in the graph.

Data Function property. Provide a comma-separated list consisting of some of the

following function names: SUM, COUNT, AVERAGE, or PLOT. PLOT indicates


that the Y values are derived directly from the values in the source field. The list
of function names must have the same number of entries as the Data Point Field
list. The order in the comma list determines the association with a data point
field and title.

Picklist Functions property. Provide a comma-separated list of Y-axis titles, which

identify the individual curves in the Legend. The list of titles must have the same
number of entries as the Data Point Field list. The order in the comma list
determines the association with a data point field and data function.

Series Field property. Remove any existing value(s) from this property; it must be

blank. Otherwise, the multiple curves get converted to a Z axis.

Multi Data Point property. Set to TRUE. This indicates that multiple curves are to

be plotted.
You should also remove the Show combo box and its label in the Applet Designer.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-25

Special-Purpose Applets
Chart Applets

Charts with Two Y Axes


Two line graph curves can appear in the same Chart, plotted against different Y axes
(one to the left of the graph, the other to the right). Any field/function combination
can be used on the left Y axis, and likewise for the right. To accomplish this, set the
following property values in the Chart object definition:

Data Point Field property. Specify two fields, separated by a comma. The first is

for the left Y axis, the second is for the right Y axis.

Data Function property. Specify two functions, separated by a comma. The first is

for the left Y axis, the second is for the right Y axis.

Type property. Set to Combo.

Axis PointsLimiting and Sorting


The number of X axis (category) or Z axis (series) labels can be limited to some
predefined number. This can be useful if you are interested in displaying only the
N highest or N lowest values for some field or calculated Y value. For example, you
could display the 10 highest revenue accounts by charting the Revenue field in
descending order and limiting the X axis to 10 data points. This is accomplished
using two properties of the axis label Chart Element for the appropriate axes, as
follows:

Divisions property (X or Z axis). Enter an integer to limit the number of X axis or


Z axis labels to the number you enter. Note that the AxisId property must be
either XAxis or ZAxis, and the Type property must be AxisLabel.

SortSpecification property (Y axis). Enter a value of Ascending or Descending.

Note that the AxisId property must be set to YAxis and the Type property must
be AxisLabel.
You can set up a sort specification on the Y axis independent of limiting the number
of X or Z axis divisions. A sort specification on Y will order the data points
regardless of whether you are limiting the display to the first N points. The converse
is not true, however; it would not make sense to set a number of X or Z axis
divisions without also setting a sort specification on Y.

22-26

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Chart Applets

You also can sort on X axis or Z axis labels instead of Y axis values. To accomplish
this, you set the Sort Specification in the X axis (or Z axis) label Chart Element
object definition rather than in the Y axis label. For example, if the X axis is
displaying country names, they can appear alphabetically from left to right. This is
different from sorting on Y axis values, which are numeric values from a field in a
business component or function based on that field.

Chart Element Object Type


Chart Element is a child object type of Chart. The following types of Chart Elements
(as specified in the Type field in the Chart Element object type) are supported:

AxisLabel. Displayed along each axis, with one label for each division of the axis.

AxisLineGrid. Grids make it easier to comprehend a Chart. You can set various
grid properties, such as grid color, width, and visibility, on an axis-by-axis basis.

AxisTitle. Displayed along each axis, with one title per axis.

Graphic. A line, rectangle, or ellipse used to emphasize a region of the Chart.

Legend. The list of colored rectangles with accompanying category labels on the
left side of the Chart.

Plot. The area that contains the graphs, usually in the center of the Chart.

Title. The large string of text, usually at the top of a Chart.

Font, Color, and Size. For most Chart Elements that contain text, you can set such

text properties as font, color, and size.

Fill color. You can set the fill color of the Chart and Plot Chart Element types.

The properties of the Chart Element that apply to the axis label for the X axis
(Coordinates, Display Format, Divisions, List Of Values, Sort Specification, and
Text) should not be used when specifying a list of X axis source fields, as they can
be relevant only for one X axis field. Also, the text of the X axis title is determined
dynamically from the combo box selection if the By combo box provides a list of
source fields. Whatever is in the Text property in the AxisTitle chart element for the
X axis is overridden at run time.
The same restrictions are relevant for the Z axis.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-27

Special-Purpose Applets
Chart Applets

Performance Considerations

22

When a chart is traversing records in the business component, its progress is


indicated at the bottom of the window. You can stop the operation by pressing the
Pause key. Since traversing all of the records of a business component can be timeconsuming, charts are not well suited for data sets larger than 1,000 records.
Various factors affect the performance of charts in Siebel applications:

 The number of records in the business component


 Whether the chart needs to search a multi-value group to obtain its data
 Whether a data point field is specified
 If the data point field is a currency field, the number of records whose currency
is not the functional currency

 The processor, operating system, and database system

22-28

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Tree Applets

Tree Applets

22

A tree applet is used to create a view, called an explorer view, that allows the user
to navigate hierarchically through a structured list of records of related business
components. An example of a tree applet and explorer view in Siebel Service is the
applet entitled Service Requests in the view entitled Service Request Explorer,
shown in Figure 22-24.

Figure 22-24. Service Request Explorer View in a Siebel Application

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-29

Special-Purpose Applets
Tree Applets

This view (SR Explorer View) contains a tree applet (SR Tree Applet) in the lefthand sectors, and one of various predefined list applets in the right-hand sectors.
The particular list applet that appears on the right depends on which node is
selected in the tree on the left. For example, if the user double-clicks on the Product
Defects folder in the tree hierarchy, the list applet on the right changes to display
product defect records.
A tree applet in an explorer view is similar in operation to the Object Explorer and
Object List Editor in Siebel Tools. The user may expand and collapse folders in the
tree applet, and view the records in that folder in the list applet. The hierarchy
displayed in the tree applet represents master-detail relationships between records
of different business components.
For example, when the user expands a service request (document icon) by doubleclicking, a set of folders appears hierarchically beneath it including Activities,
Attachments, Product Defects, and so on. When the user expands one of these child
folders, a list of records appears of the corresponding business component. If the
user expands the service request numbered 2-1CR, then expands the Activity folder
beneath it, the list of records displayed is the set of activity records for that service
request. In the master-detail relationship between service requests and activities,
these activity records are detail records of the master service request record that was
expanded.
The user can also add or associate detail records of various kinds to particular
master records. For example, the user could navigate through the hierarchy to the
Product Defects folder beneath a particular service request, click in the list applet,
and choose Edit Add Record to associate a product defect record from an
association applet. The product defect record would become a detail record of the
service request.

A tree applet in an explorer view utilizes the set of master-detail relationships


implemented in the business object assigned to the view. As described in Business
Objects on page 18-59, a business object implements a business model or entityrelationship diagram, and specifies the set of master-detail relationships between
the business components it includes. This makes it possible to arrange the records
of these various business components hierarchically, which can be a very useful
feature.

22-30

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Tree Applets

Figure 22-25 shows the full set of master-detail relationships in the Service Request
business object.

S e rvice R e q u e st

A cco u n t E xte rn a l
P ro d u ct
A ctio n
A ctivity P la n

A ctivity P la n
A ctio n

A sse t M g m t A sse t
C o n ta ct
C u sto m e r
P ro d u ct
C u sto m e r S u rve y
O rd e r E n try O rd e rs

O E L in e Ite m s
O E L in e Ite m
A ctio n

P ro d u ct D e fe ct
RMA

R M A A ffe cte d
P ro d u ct

S R E xte rn a l
P ro d u ct
S e rvice
A g re e m e n t
S e rvice A g re e m t
C o n ta ct
S e rvice A g re e m t
M e tric
S e rvice R e q u e st
A tta ch m e n t
S h ift H o u r
S o lu tio n S R /P D

Legend:
B u sin e ss
Com ponent
1 :M re la tio n sh ip
(th ro u g h a B u s.
O b je ct C o m p o n e n t
a n d a L in k)

Figure 22-25. Service Request Business Object

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-31

Special-Purpose Applets
Tree Applets

The portion of the Service Request business object used in the Service Request
Explorer view is shown in Figure 22-26.

S e rvice R e q u e st

A ctio n
O rd e r E n try O rd e rs
P ro d u ct D e fe ct
S R E xte rn a l
P ro d u ct
S e rvice R e q u e st
A tta ch m e n t
S o lu tio n S R /P D

Legend:
B u sin e ss
Com ponent
1 :M re la tio n sh ip
(th ro u g h a B u s.
O b je ct
Com ponent and a
L in k)

Figure 22-26. Service Request Business Object Components Used in SR Explorer View

The correspondence between business components in the Service Request business


object and folder names in the tree applet is indicated in Table 22-5.
Table 22-5.

22-32

Business Components Corresponding to Folder Names

Business Component

Folder Name in Tree Applet

Service Request

Service Requests

Action

Activities

Order Entry - Orders

RMAs/Service Orders

Product Defect

Product Defects

SR External Product

Service Profile

Service Request Attachment

Attachments

Solution SR/PD

Solutions

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Tree Applets

The tree applet and explorer view for service requests can be reconfigured to
include additional business components. For example, Contacts, Customer Surveys,
and Service Agreements folders could be added as child folders of Service Requests,
and a Line Items folder could be added as a child of RMAs/Service Orders. However,
only business components from the business object (Service Request in this case)
can be added in an explorer view based on that business object. Furthermore, a
business component can only be added as the immediate child folder of the
business component that is its master in the business object. For example, you
could add Order Entry Line Items as a child of RMAs/Service Orders, but not of
Activities.

Configuring Tree Applets and Explorer Views

22

A tree applet appears in the left sectors of an explorer view. The applet has a tree
object definition as a child. The tree object definition has tree node children. Each
tree node child object definition implements one folder symbol. These object types
are described in greater detail below.

View
An explorer view has a tree applet in the left sectors (0 through 3) and nothing
specified in the right sectors (4 through 7). The applet that appears in the right
sectors is determined dynamically by the folder (Tree Node) that is currently
highlighted by the user. The View object has the following significant property
settings:

Business Object property. The business object selected will determine which

business components can be displayed, and which business components can be


indicated as child nodes of which other nodes.

Sector n Applet property. The tree applet is indicated as occupying sectors 0

through 3. The properties for sectors 4 through 7 are left blank.

Vertical Line Position property. This property, when specified, controls the position

of the vertical boundary between the sectors. Typically, the vertical boundary is
in the middle. The possible values range from 0 to 12, where 0 is all the way to
the left, 12 is all the way to the right, and 6 is in the middle. A setting of less
than 6 will make the tree applet smaller than the dynamic applet to its right.
Note that this setting should be in the 48 range; otherwise one or the other
applet is likely to be distorted by stretching or compression.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-33

Special-Purpose Applets
Tree Applets

Tree Applet
A tree applet has no special property settings in the applet object definition, other
than the class, which is set to CSSFrameTree. The Applet object type has the
following important property settings:

Class property. Set to CSSFrameTree. This is required in order for the tree applet
functionality to work.

Business Component property. Points to the same business component as the top-

level tree node.

Height and Width properties. 4 and 2, respectively, indicating that the applet

potentially could fill the entire view. In practice, the system will reduce the tree
applet to fit in the left portion of the view.

Tree
The Tree object definition provides only a name; it is an object definition to which
tree nodes can be attached, and which itself can be attached to the applet object
definition. It always has the name Tree. The Tree object type is similar to the List
object type used in list applets, in that it serves as an attachment point for child
object definitions.

Tree Node
Each folder symbol is implemented using one tree node object definition. This
includes the top-level node (Service Requests in the example). All of the tree node
object definitions are immediate child object definitions of the tree object definition.
There is no hierarchy of child and grandchild tree node object definitions (reflecting
the hierarchy in the tree applet) under the tree; this is not feasible in the object
definitions hierarchy in the repository. Instead, each tree nodes hierarchical
position in the tree applet is specified in the Position property of the tree node object
definition.

22-34

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Tree Applets

The Tree Node object definition has the following important properties:

Display Name property. This property specifies the name of the tree node (folder)

as it will appear in the tree applet in Siebel applications. The display name
appears to the immediate right of the folder symbol.

Applet property. This property specifies the applet that is opened in the right half

of the view when the user opens the corresponding folder. Generally a list applet
is specified. The applet must be based on a business component that is in the
appropriate hierarchical position in the business object.

Position property. The tree nodes hierarchical position relative to other tree
nodes, and its sequence on its level, are specified with this property. The
Position value consists of an integer, or a set of integers separated by periods,
such as 1.1.2. The top-level node (Service Requests in the example) is specified
as having a position of 1. All immediate child nodes of the top-level node have
values of the form 1.x, where x specifies the nodes order relative to other nodes
on the same level. For example, in order for the Activities folder to appear after
the Attachments folder rather than before it, their Position values (1.1 and 1.2,
respectively) should be swapped.

To attach a child node at the third level, you specify a Position value for the new
node with its first two integers matching the position of the node to attach it to.
For example, to attach a node to the RMAs/Service Orders node (currently 1.4),
you would give the new node a position of 1.4.1. In general, the rightmost digit
in a position specifies its order relative to others on the same level, and all other
digits specify the position it attaches to.

Business Component property. This needs to be set to the same business

component as is specified in the right-side applet.

Label Field property. This property points to the name of the field that is used to
populate the names in the record list that appears when the node is expanded
by the user. For example, the Order Number field would provide the values for
the RMAs/Service Orders node, and the Description field for the Activities node.

Selected Bitmap Index property. This should be set to the value 5, which

corresponds to the folder symbol.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-35

Special-Purpose Applets
Tree Applets

Tree Applets in the Applet Designer

22

Tree applets can be created and modified in the Applet Designer. A TreeControl
button is provided in the Applet Designer toolbar. When you drag a TreeControl
onto the applet, the tree controls and the Tree object definition are created.
When you right-click over the tree control, a pop-up menu appears with the
following tree-specific options:

Select Tree option. Enables you to copy and paste the tree control into another

applet.

Create New Tree Node option. Adds a new tree node to the tree. The tree node is

created at the top level, and is subsequently moved using the Move Selected Tree
Node option.

Move Selected Tree Node option. Enables you to change the position of the tree

node in the tree. You first click on the tree node you wish to move. Then you can
use up, down, left, and right arrow keys, with the SHIFT key depressed, to move
the node up or down a level or change its position within its level.
The Position property on all of the nodes is automatically updated for all operations.
Pressing the DELETE key when the tree appears in the Applet Designer deletes the
currently selected tree node. The Undo and Redo options in the Edit menu are active
for all tree manipulation operations in the Applet Designer.

Recursive Trees

22

In a recursive tree, all levels in the hierarchy are of the same object type. For
example, the Account Explorer Applet consists of a tree applet in which the only
node is for the Account business component, and sub-accounts appear beneath
accounts which have them. Recursive trees are provided in standard Siebel
applications for accounts, activities, campaigns, opportunities, positions, and
various other business components in which records can have sub-records. Almost
any number of levels of sub-records are possible in a recursive tree.

22-36

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
File Attachment Applets

In order for a recursive tree to be implemented, the business component used must
contain a pointer to the record of the same type at the next level up in the hierarchy.
In the accounts tree example, the Account business component has a Parent
Account Id field which points to its parent account. A Link object definition must
exist that references this field in its Destination Field property. In the accounts
example, this link is Account/Account.
A recursive tree is implemented with a tree object definition to which only one tree
node object definition is attached. In the Tree Node object definition, the following
special properties are set:

Recursive property. This property is set to TRUE to indicate that this is a recursive

tree.

Recursive Link property. This property points to the link object definition that

specifies the one-to-many relationship between the master business component


and itself.

Root Search Spec property. This property contains a search specification


expression that identifies how the list of top-level records is derived. Generally
the top-level records are those that have nothing in the parent Id field, and
therefore the search specification is of the form [Parent xxx Id] is NULL, for
example, [Parent Account Id] is NULL.

File Attachment Applets

22

A file attachment applet (or attachment applet) provides access to external


documents, such as spreadsheets, word processing documents, and slide
presentations, from within Siebel applications. A file attachment applet provides the
following capabilities:

 Enables the user to open a document of any Windows-supported file type by


clicking on its name in a list.

 Enables the user to add document files to a list, edit them, or remove them.
 Provides synchronization and shared access support for attached documents.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-37

Special-Purpose Applets
File Attachment Applets

An example of a file attachment applet appears in Figure 22-27.

Figure 22-27.

File Attachment Applet: Account Attachment View

Figure 22-27 shows the Account Attachment view. The upper applet is the standard
Account Form Applet. The lower applet is a file attachment applet called Account
Attachment Applet. There is a master-detail relationship between the account and
the list of account attachments, so that all file attachments for the current account
are listed in the lower applet.

22-38

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
File Attachment Applets

Each document is represented by a row in the attachments list. The documents


filename, local/server status, file size, Windows file type (filename extension), and
date of last update are displayed. Additionally, the name of each file appears in
underlined, colored text, indicating that the file may be opened in the appropriate
Windows application by clicking on the name. Once opened, the document can be
modified and saved, and future access to this document (using the attachment list)
will reflect these updates.
A document can be added to the list in either of two ways:

 By opening the Windows Explorer application, and dragging the icon of the
desired file from Windows Explorer to the heading bar of the attachment applet.
This is known as drag-and-drop.

 By right-clicking anywhere in the attachment list, and selecting the New Record
option in the dialog box which appears. A browser dialog box appears for
selection of the document file, as shown in Figure 22-28.

Figure 22-28. Select File Dialog Box

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-39

Special-Purpose Applets
File Attachment Applets

Configuring Attachment Applets

22

Attachment applets utilize functionality built into the Siebel file system. Various
specialized objects and methods are provided in the Siebel File System that provide
the attachment support and synchronization capabilities:

 An attachment applet is based on an attachment business component. The


details of attachment business components are discussed in the section
Configuring Attachment Business Components on page 22-42.

 An attachment applet has the Class property set to either CSSFrameListFile or


CSSFrameFile. CSSFrameListFile is used for attachment list applets.
CSSFrameFile is used for attachment form applets.

 The Name list column or text box control has a Detail Applet property setting of
File Popup Applet. This refers to the dialog box that appears when you click on
the ellipsis (...) button in the list column or text box, when a file attachment link
currently exists. This dialog box appears in Figure 22-29.

Figure 22-29. Edit Links Dialog Box

When a link to a file attachment has not yet been created, the user sees the
Select File dialog box shown in Figure 22-28 instead of the Edit Links dialog box.

22-40

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
File Attachment Applets

Several of the list columns or controls in the applet are based on corresponding
fields in the attachment business component. This business component is described
in Configuring Attachment Business Components on page 22-42. These will
typically include those listed in Table 22-6.
Table 22-6.

List Columns or Controls in an Attachment Applet

Display Name

Field

Type

Name

xxxFileName

TextBox

Local

Dock Status

CheckBox

Request

xxxFileDockReqFlg

CheckBox

Size

xxxFileSize

TextBox

Type

xxxFileExt

TextBox

Modified

xxxFileDate

TextBox

Auto Update

xxxFileAutoUpdFlg

CheckBox

The xxx prefix refers to a standard prefix found in the names of the fields in the
attachment business component. For example, for account attachments the prefix
is Accnt and the actual field names referenced from the applet would be
AccntFileName, AccntFileDockReqFlg, and so on.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-41

Special-Purpose Applets
File Attachment Applets

Configuring Attachment Business Components

22

The Business Component property of the attachment list applet identifies the
business component that the Siebel file system uses to store the attachment list
data. For the Account Attachment Applet, this business component is called
Account Attachment. The attachment business component must adhere to the
following requirements:

 The Class property of the Business Component object must be set to CSSBCFile.
 The Table property must refer to an attachment table, as described in the section
Configuring Attachment Tables on page 22-44. In the Account Attachment
Applet, this table is S_ACCNT_ATT.

 Two Business Component User Prop object definitions must be created as


children of the attachment business component, as follows:
 DefaultPrefix user property. This is the text of the prefix used in the names of
the Siebel File Engine-based field object definitions. These are fields which
are based on the base table for the business component. (There may be fields
which are based on a joined table, and these will have a different prefix.) For
the Account Attachment business component in the example, the prefix is
Accnt, which appears in field names such as AccntFileName and
AccntAutoUpdFlag.
 FileMustExist user property. This is a TRUE/FALSE value indicating whether or
not the user can enter the name of a file to be provided later. Typically this is
set to TRUE, indicating that the file must already exist in order to add it as an
attachment.

22-42

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
File Attachment Applets

The field names of file engine-supplied fields have to adhere to a special format, and
map to specific column names in the attachment table. These names consist of the
prefix, as specified in the DefaultPrefix user property, followed by a required set of
suffixes. These field names, corresponding columns, and data types are listed in the
Table 22-7.
Table 22-7.

Fields in an Attachment Business Component

Name

Column

Type

Text Length

xxxFileAutoUpdFlg

FILE_AUTO_UPD_FLG

DTYPE_BOOL

xxxFileDate

FILE_DATE

DTYPE_DATETIME

xxxFileDeferFlg

FILE_DEFER_FLG

DTYPE_TEXT

xxxFileDockReqFlg

FILE_DOCK_REQ_FLG

DTYPE_TEXT

xxxFileDockStatFlg

FILE_DOCK_STAT_FLG

DTYPE_TEXT

xxxFileExt

FILE_EXT

DTYPE_TEXT

10

xxxFileName

FILE_NAME

DTYPE_TEXT

220

xxxFileRev

FILE_REV_NUM

DTYPE_ID

15

xxxFileSize

FILE_SIZE

DTYPE_NUMBER

xxxFileSrcPath

FILE_SRC_PATH

DTYPE_TEXT

220

xxxFileSrcType

FILE_SRC_TYPE

DTYPE_TEXT

30

Table 22-8 lists a non-file engine field that will usually be present, although it is not
required.
Table 22-8.

Version 6.0

Non-File Engine Field in an Attachment Business Component

Name

Column

Type

Calculation

Dock
Status

(calculated)

DTYPE_BOOL

IIf ([AccntFileDockStatFlg] = N OR
[AccntFileDockStatFlg] IS NULL,N,Y )

Siebel Tools Guide Volume 2 of 2

22-43

Special-Purpose Applets
File Attachment Applets

Additional fields can be included as needed. For specialized uses of attachments,


such as an image control, the file engine fields may be present in addition to the
fields from a standard business component (often via a join). For example, a
Product or Literature business component can contain file engine fields to support
display of product picture or brochure picture bitmap images. For more information
about image controls, refer to Image Controls on page 23-2.
Multiple sets of file engine fields from different tables can be incorporated in the
same business component. For example, literature attachments can have subattachments, with the sub-attachments derived from an intersection table or
extension table. The field name prefix must be different for each table.

Configuring Attachment Tables

22

Attachment tables provide the underlying data storage for the attachment business
components. Unlike the attachment business component, which can support
purposes in addition to file engine functionality, the attachment table stores file
engine data only.
Users will not populate the attachment table directly. Rather, users are provided
with an initially empty attachment table, and populate it one file at a time using
drag and drop or the browser dialog box in the corresponding file attachment
applet.

22-44

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
File Attachment Applets

Table 22-9 lists the columns that appear in an attachment table. Note that the
columns whose names begin with FILE_ are required columns, and must be named
as specified in the table. The User Name values can be the same as or different from
those listed.
Table 22-9.

File Columns in an Attachment Table

Name

User Name

Type

Physical Type

Length

FILE_AUTO_UPD_FLG

File Auto Upd Flg

Data (Public)

Character

FILE_DATE

File Date

Data (Public)

Date Time

FILE_DEFER_FLG

File Defer Flg

Data (Public)

Character

FILE_DOCK_REQ_FLG

File Dock Req Flg

Data (Public)

Character

FILE_DOCK_STAT_FLG

File Dock Stat Flg

Data (Public)

Character

FILE_EXT

File Ext

Data (Public)

Varchar

10

FILE_NAME

File Name

Data (Public)

Varchar

255

File Rev Num

Data (Public)

Varchar

15

FILE_SIZE

File Size

Data (Public)

Number

22

FILE_SRC_PATH

File Src Path

Data (Public)

Varchar

255

FILE_SRC_TYPE

File Src Type

Data (Public)

Varchar

30

FILE_REV_NUM

Default

Various system columns not related to the file engine will also be present, such as
CREATED, LAST_UPD_BY, and ROW_ID.
A table that has file engine columns must be flagged as such with a TRUE value in
the File property of the corresponding table object definition.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-45

Special-Purpose Applets
Web Browser Applets

Web Browser Applets

22

Web browser applets can run either Microsoft Internet Explorer or Netscape
Navigator. You select one of these Web browsers in Siebel applications by selecting
View Options menu and then selecting the Web Browser tab.

Web browser applets are used in Siebel eBriefings, a module of Siebel applications
that uses Internet technology to provide sales, marketing, and customer service
professionals with automated access to internal and external information about
customers, competitors, and others.
By merging information from external sources (including news wires, company
profiles, and links to SEC filings) with information from Siebel applications, Siebel
eBriefings supplies the user with business intelligence and company sales
resources.

22-46

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Web Browser Applets

This information is delivered in the form of virtual documents known as eBriefings.


An eBriefing view in a Siebel application appears in Figure 22-30.

Figure 22-30. Siebel eBriefing

For detailed information on Siebel eBriefings, refer to the Siebel eBriefings Guide.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-47

Special-Purpose Applets
Web Browser Applets

A Web browser applet is implemented as an applet object definition. It has one or


more special applet user property children. The applet object definition itself has no
property settings that are unique to Web browser applets, other than the properties
listed in Table 22-10.
Table 22-10.

Applet Properties Pertaining to Web Applets

Property

Description

Class

This must be set to CSSFrameWebBrowser.

Business Component

If a Web search specification is to be provided, using field values


from the current business component, the corresponding
business component name is entered here. Otherwise the
Business Component value is ignored.

An applet user property object definition consists essentially of two properties:


Name and Value. The Name is a reserved word or phrase with a special meaning to
the system, so it should be spelled exactly as indicated. The Value property informs
the system of what value to assign to the property passed by way of the Name. The
applet user property rows listed in Table 22-11 are required.
Table 22-11.

Typical Applet User Property Row Types

(Sheet 1 of 2)

Name

Description

SWE:Login

This Y/N value tells the system whether the browser applet can log on to the Siebel Web
engine server without the users being prompted for a logon ID and password. If Y is
entered in the Value property, the user will be automatically logged in. If N, the user is
prompted to log in.

SWE:
LoginAuxCmd

This Y/N value tells the browser whether to open with an empty window (and wait for
the user to indicate that it is OK to proceed to the URL). Y in the Value property indicates
to open with an empty window and wait; N indicates to go directly to the URL. The default
is N. If this user property record is omitted this default will be assumed.
Used when an applet control (button) is associated with the browser navigation method.

22-48

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Web Browser Applets

Table 22-11.

Typical Applet User Property Row Types

(Sheet 2 of 2)

Name

Description

BrowserType

This user property tells the system which kind of Web browser to open, whether it is to
open within the Siebel application window, and what to do if unsuccessful. The
BrowserType value can be:

 RTF. Indicates that the destination is an .rtf (Rich Text Format) file, and that an .rtf
viewer application is to be used rather than a Web browser.

 Web. Indicates that Internet Explorer is installed and that the applet is to run Internet
Explorer from within the Siebel application window. If unsuccessful, the browser
should be launched from Windows, outside of Siebel applications.

Embedded. Indicates that the applet is to run Internet Explorer from within the

Siebel application window. If unsuccessful, the operation should halt.


 External. Indicates that Netscape or IE should be invoked from Windows, outside of
the Siebel applications window.
The default is Web. If this user property record is omitted this default will be assumed.
URL00:

This is either a complete Web address or the first piece of a Web search specification, as
described in Web Search Specifications on page 22-50. This is a required parameter.

The following pair of user property object definitions (Table 22-12) will result in
logon of the Web browser applet to the indicated Web address, with the logon name
and password passed to the Web address automatically.
Table 22-12.

Two-Property Web Applet Example

Name

Value

SWE:Login

URL00:

http: //www.mycompany.com/HomePage.html

A particular Web browser applet has the destination Web address attached to it via
the applet user property object definition, and this value cannot be changed at run
time. For this reason, if a fixed Web address is specified in the URL0 user property
row (as in Table 22-12), the applet will always navigate to this address (until
reconfigured via Siebel Tools).
Although the URL feature is primarily intended for accessing the Siebel Web engine
server, it can be used to access any valid Web site address.
Version 6.0

Siebel Tools Guide Volume 2 of 2

22-49

Special-Purpose Applets
Web Browser Applets

Web Search Specifications

22

In many situations the Web browser applet cannot navigate to a fixed Web address
(URL) when accessing Web pages. To allow flexible addressing, you can construct
search specification URLs. A search specification URL performs a lookup on a Web
site based on a combination of special symbols and text.
NOTE: The syntax for construction of Web search URL strings is outside the scope
of this book, and you should consult a book on the HTML language and Web page
construction for this information. Syntax and special character limitations depend
on the embedded viewer that is used in an applet.

In a Web browser applet, a search specification URL is constructed from URLnn:


user property rows, where n is an integer value in sequential order starting from 0.
The resulting data (or literal text) from each URLn row in sequential order is
appended to the prior ones to construct the complete URL string.
The search specification URL can include literal text values. To insert a literal text
value in part of the URL string, use a Name consisting of URLnn: and a Value
consisting of the literal text you want included.
NOTE: The URL length is limited to 259 characters.

The search specification URL can also include values derived from the current
business component record, to make the search specific to the context in Siebel
applications. To accomplish this, replace URLnn: with URLnn:Field in the Name
property in a user property row, and enter the name of the field in the business
component in the Value property.
Special user property names can be substituted for URLnn: in the Name property.
These include the following:

URLnn:SystemPreference. This property name obtains a portion of a Web address

by looking up a parameter value in the SystemPreference table.

22-50

URLnn:LoginId. This property name returns the User ID of the current Siebel
application user.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Web Browser Applets

URLnn:LoginPositionId. This property name returns the Position ID of current

client user.

URLnn:Samp. This property name returns the Web address for running against

the Sample database.


In the absence of URLnn:Samp, the client reading the compiled .srf file will look
for the Server database.

URLnn:Emb. This property name returns the Web address for running against the

production (Server or Local) database with an embedded browser.

URLnn:Ext. This property name returns the Web address for running against the
production (Server or Local) database with an external browser.

NOTE: There can be more than one property following URLnn. For example, if you
are running against the Siebel Sample database and want to retrieve the System
preference, the syntax would be URL00:Samp:SystemPreference.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-51

Special-Purpose Applets
Web Browser Applets

Web Browser Applet Layout

22

To create the layout for a Web browser applet, open the applet in the Applet
Designer, and add a set of buttons along the top of the applet. The Web browser will
use all remaining space from the bottom edge of the lowest user-defined object to
the bottom of the applet. A Web browser applet in the Applet Designer window
appears in Figure 22-31.

Figure 22-31. Web Browser Applet in Applet Designer

You can add buttons to support basic Web browser functionality, such as Back,
Forward, Stop, and Refresh. If the Web browser is running in embedded mode
(inside the Siebel application window), the typical buttons and menus normally
found in Internet Explorer will be missing, and you will want to add these to the
applet. These buttons are dynamically enabled and disabled as the user navigates
within the browser. The user cannot enter a Web address directly in the Web
browser applet. The user may follow hypertext links to other Web pages, however.

22-52

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Applets
Web Browser Applets

The following methods can be attached to buttons in a Web browser applet:

BrowserBack method. Moves back to the previous Web address, if the user has

navigated to the current page from another page.

BrowserForward method. Moves forward to the next Web address, if the user has

performed one or more Back operations.

BrowserLaunch method. Launches the external browser and loads the current

page.

BrowserNavigate method. Navigates the embedded browser to the pre-set default

URL. Typically used with the DelayedNavigation property set to Y.

BrowserRefresh method. Reloads the current Web page.

BrowserStop method. Stops the attempt to navigate to a different Web page.

Maximize method. Maximizes the embedded browser applet to fit the entire view.

Used when the view contains other applets besides the embedded browser.

Minimize method. Restores the embedded browser to its default size.

Print method. Prints the current Web page to a printer.

Note that most of these buttons have predefined icons. In general, the easiest
method for adding buttons to a Web browser applet is to copy them from another
Web browser applet.

Version 6.0

Siebel Tools Guide Volume 2 of 2

22-53

Special-Purpose Applets
Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

22

This chapter discussed four special-purpose applets:

 Chart applets
 Tree applets
 File attachment applets
 Web browser applets
Table 22-13 lists sources of additional information about topics discussed in this
chapter.
Table 22-13.

22-54

Sources of Additional Information

For information about this topic . . .

. . . see the following

User properties

Appendix E

Siebel eBriefings

Siebel eBriefings Guide

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls

23

About This Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2


Image Controls

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-2

Implementing an Image Control in a Standalone Applet . . . . . . . . . . 23-4


Integrating an Image Control in an Existing Form Applet . . . . . . . . . 23-6
ActiveX Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-9
Setting Properties in an ActiveX Control . . . . . . . . . . . . . . . . . . . . . . . . . 23-11
ActiveX Methods and Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-13
Manipulating an ActiveX Control from Siebel VB Scripts . . . . . . . . 23-15
Chapter Summary and Where to Get More Information . . . . . . . . . . . 23-16

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-1

Special-Purpose Controls
About This Chapter

About This Chapter

23

This chapter describes special-purpose controls whose roles and configuration are
more complex than those of text boxes, check boxes, buttons, and so on. These are
image controls and ActiveX controls.

Image Controls

23

There are two types of image controlsstatic and dynamic.


Static image controls display a bitmap stored in a Bitmap object in the Control
Icons bitmap category in the repository.
A dynamic image control enables your application to display, in an applet, pictures
stored as bitmap files that are associated with business component records. For
example, product pictures can be stored in association with Product business
component records, and displayed in a form applet along with other product
information.
A dynamic image control is implemented using the file attachment functionality
provided by the Siebel File System, also known as the Siebel File Engine. You must
use an existing file attachment business component, or configure a new one, to
support the storage of bitmap images in records. The Siebel File System stores a
handle to each attached image file in the database, enabling images to travel with
their corresponding data to both connected and mobile users. The Siebel File
System and file attachment business components are described in File Attachment
Applets on page 22-37.
Examples of image controls that follow pertain to dynamic image controls.

23-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
Image Controls

An example of an applet that displays bitmap images in an image control is the


Internal Product Image Display applet in the Product Key Features view, shown in
Figure 23-1.

Figure 23-1. Image Control in Its Own Applet

In this view, the image control resides in a separate applet. As the user moves
between product records (using the Next Record and Previous Record buttons while
the Product applet is active), the image displayed in the image applet changes. The
file attachment table row that holds the information for the bitmap file attachment
is obtained through a join from the current product record.

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-3

Special-Purpose Controls
Image Controls

Alternatively, an image control can be implemented within a form applet that also
displays text data. For example, the Account Entry Applet can be reconfigured to
display the company logo for each account. Here the displayed image changes with
the other data in the form applet. When a different account record is highlighted in
the list applet, both the text data and the logo bitmap image in the form applet
change correspondingly.
In either implementation scenario, a user can associate a bitmap file to a record
using either drag-and-drop (from the Windows Explorer or My Computer window)
or by right-clicking in the image area and choosing New Record. An image is deleted
by deleting the corresponding file attachment record. Only Windows .bmp format
is supported (although all Windows .bmp resolutions are supported).
The configuration of a standalone image applet differs slightly from that of an image
control integrated into a form applet, so the two configurations are explained in
separate sections.

Implementing an Image Control in a Standalone Applet

23

The Internal Product Image Display Applet illustrated in Figure 23-1 is the only
standalone image applet in standard Siebel applications, and it uses a business
component based on a specialized class, so this applet is not used in the explanation
here. Instead, a custom configuration is explained in which you create your own
product image applet based on an existing product attachment business
component.

Step 1 - Locate or Create an Attachment Business Component


File attachment business components are provided for many of the most common
data entities, such as accounts, products, opportunities, product defects, and
service requests. To see the list of available file attachment business components,
select business component in the Object Explorer in Siebel Tools and query the
object definitions in the Object List Editor to display only those with the CSSBCFile
class.
If no file attachment business component exists for the data entity you are
displaying, you will need to configure a file attachment table (using an extension
table) and a file attachment business component based on this table.

23-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
Image Controls

If an existing, rather than a custom, business component is used, a search


specification can be set in either the business component or applet to restrict the
records retrieved to only those that have an empty file type (new records) or a file
type of BMP. The following is a sample search specification for this purpose:
[ProdFileExt] IS NULL or [ProdFileExt] = 'BMP'

Alternatively, for an image control displaying company logos, you might want to
restrict the records to those named Logo, as follows:
[ActFileName] IS NULL or [ActFileName] = 'Logo'

The purpose of the search specification is to ensure that at most one file attachment
is accessed for each master record. If no record is returned, the image control is
blank, which is the desired behavior in that circumstance.

Step 2 - Create the Image Applet


The image applet is a standard form applet with nothing in it except for an image
control. The applet should be of an appropriate size (in sectors) for the view or
views it will be used in, and should have a class of CSSFrame. The Business
Component property is set to the name of the file attachment business component.
The applet has two controlsa label control named AppletTitle (to implement the
title tab at the upper left in the applet) and an image control.
To create the image control, perform the steps in the following procedure.

To add an image control to an image applet


1 Activate the Applet Designer for the image applet by right-clicking on the
applets name in the Object List Editor, and then choosing Edit Layout from the
pop-up menu.
2 Select the Image Control tool in the Control toolbar by clicking it.
3 Drag the cursor on the applet layout from the upper-left corner of the applet
interior to the lower-right corner, then release the mouse button. A rectangular
control will appear.
4 In the Name property, optionally enter the name of the image control.

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-5

Special-Purpose Controls
Image Controls

5 In the Field property, enter the name of the field in the attachment business
component that identifies the file name of the bitmap file associated with each
record.
This field has a name of the form xxxFileName, where xxx is a prefix whose text
is stored in a user property child object definition of the business component.

Step 3 - Configure the View


The view that contains the image applet also generally contains an applet whose
business component has a master-detail relationship with that of the image applet
(in the context of the business object of the view). For a product image, the master
is the applet that displays one or more product records. For an employee photo, the
master is the applet that displays employee records. Additionally, a foreign key in
the master business component that identifies the primary record in the detail is
required. The presence of a pointer to the primary image record ensures that if
multiple image records are present, the one to display is identified.

Integrating an Image Control in an Existing Form Applet

23

Integration of an image control into an existing form applet requires that you set up
a join from the applets business component to a file attachment table, and set up
fields based on the join.
You cannot configure an integrated image control for an applet based on a
specialized business component such as Action or Opportunity. The class of the
business component must initially be CSSBusComp or CSSBCBase, although you
change the business component class to CSSBCFile to enable file attachment
functionality.
For specialized business components, it is often possible to display the image in a
standalone applet, as described in Implementing an Image Control in a Standalone
Applet on page 23-4, or configure a new business component on the same base
table.

23-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
Image Controls

Step 1 - Set Up the Join


The file attachment data for an integrated image control is stored in an attachment
table. Attachment tables have the suffix _ATT, and several already exist for specific
data entities such as accounts, product defects, and employees. If the business
component you wish to augment with attachment data does not have an existing
attachment table, you can use the generic attachment table, S_FILE_ATT.
You create a join in the business component to the attachment table.

To create a join from the business component to the attachment table


1 Navigate to the desired business component with the Object Explorer and Object
List Editor.
2 Expand the join child object type in the Object Explorer.
3 Make the joins list editor window active.
4 Choose Edit

 New Record.

5 Set the Table and Alias properties to the name of the attachment table.
6 Set the Outer Join Flag property to TRUE.

To create the join specification between the business component and the
attachment table
1 With the new join object definition highlighted in the Object List Editor, select
join specification in the Object Explorer.
2 Make the join specifications list editor window active.
3 Choose Edit

 New Record.

4 In the new join specification record, set the Name property to the name of the
primary ID field in the business component.
5 Set the Destination Column property to the name of the foreign key field in the
attachment table that identifies the parent business component record for each
attachment row. Generally this is PAR_ROW_ID.

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-7

Special-Purpose Controls
Image Controls

Step 2 - Set Up the File Attachment Fields


The file attachment table has a set of columns that need to be mapped into fields in
the business component through the join. These columns begin with the FILE_
prefix. You need to map all of these columns into fields in the business component.
You also need to add the DefaultPrefix and FileMustExist user properties to the
business component, as described in the same section.

Step 3 - Add the Image Control to the Form Applet


The form applet to which the image control is to be added must generally be
rearranged to make room for the image control. You may also have to remove some
existing controls.
To create the image control, perform the steps in the following procedure.

To add an image control to an existing form applet


1 Activate the Applet Designer for the form applet by right-clicking on the applets
name in the Object List Editor, and then choosing Edit Layout from the pop-up
menu.
2 Select the Image Control tool in the Control toolbar by clicking it.
3 Drag the cursor on the applet layout from the upper-left corner to the lower-right
corner of the desired image control location, then release the mouse button. A
rectangular control will appear.
4 In the Name property, optionally enter the name of the image control.
5 In the Field property, enter the name of the field in the attachment business
component that identifies the filename of the bitmap file associated with each
record.
This field has a name of the form xxxFileName, where xxx is a prefix whose text
is stored in a user property child object definition of the business component.
The user property is DefaultPrefix.

23-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
ActiveX Controls

ActiveX Controls

23

An ActiveX control is a self-contained program unit that can be run from within
other programs. An ActiveX control typically registers itself in the Windows registry.
In Siebel applications, any registered ActiveX control can be incorporated in an
applet. This provides the means to add one or more specialized features to an
applet, such as a slider or media player. You can also embed entire applications that
are available as ActiveX controls.
NOTE: ActiveX controls will work in most environments, but the programming
environment itself may or may not support it. For example, trying to insert a Siebel
ActiveX application control into an Excel worksheet generates a Cannot insert
object error.

You add an ActiveX control to an applet using the Applet Designer.

To add an ActiveX control to the applet


1 Open the applet in the Applet Designer.
2 Click the ActiveX Control toolbar icon in the Control toolbar.
3 Drag a placement rectangle on the applet surface.
The Insert ActiveX Control dialog box appears for the selection of one of the
currently registered ActiveX controls on your system.

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-9

Special-Purpose Controls
ActiveX Controls

4 Select the desired ActiveX control and click OK.


The selected control replaces the placement rectangle in the Applet Designer.
ActiveX control

The illustration shows a movie player control called ActiveMovie Control in a form
Applet.

23-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
ActiveX Controls

Setting Properties in an ActiveX Control

23

An ActiveX control includes its own property list, which varies from control to
control. In addition, an ActiveX control in an applet has the full set of properties of
the Control object type. There are two ways to view and modify properties for an
ActiveX control in an applet: by using the Properties window, or by activating the
controls built-in property sheet.

To change properties in the Properties window


1 Show the Properties window and hide the Object Explorer window, using the
corresponding View menu options.
This displays as many of the property settings as possible. The Object Explorer
window is not needed when you are in the Applet Designer.

2 Click the ActiveX control in the Applet Designer.


The Properties window lists the properties for the ActiveX control.

3 Click the Categorized (as opposed to Alphabetic) tab at the top of the Properties
window.
This clusters all of the controls native properties under the ActiveX heading, and
all of the standard Control object type properties under the Misc. heading.

4 Make changes to property settings as you would in any Siebel object definition.
The changes you make to the controls native properties are generally displayed in
the Applet Designer window, such as when you change a text color or font property.
Additionally, changes you make to the controls native properties are saved with the
applet, just as with the Siebel properties.
The alternative approach to changing property settings is to use the controls native
property sheet. When you make property changes using the controls native
property sheet, you can modify only the properties of the ActiveX object, not those
of the standard control object definition. To alter the standard control properties,
you must use the Properties window.

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-11

Special-Purpose Controls
ActiveX Controls

To change properties in the ActiveX controls native property sheet


1 Select the ActiveX control in the Applet Designer, and right-click.
2 In the shortcut menu that appears, select ActiveX Control Properties.
If the control has a native property sheet, it is activated. The native property
sheet for the ActiveMovie control appears below:

3 Make any desired changes to property settings. These settings are saved with the
applet when you exit the Applet Designer or do a Save.
The Control object definition has two properties that are blank for non-ActiveX
controls, but may have values for ActiveX controls. These are ActiveX Bind Property
and ActiveX Properties:

ActiveX Bind Property property. The ActiveX Bind property is used in conjunction

with the Field property to bind a field to a native ActiveX control property. When
the field value changes, this value is saved to the ActiveX controls property. This
feature has many uses. For example, in the ActiveMovie control you can have
the field in the business component supply the filename of the movie to run.
You specify the name of the native ActiveX control property in the ActiveX Bind
Property. You specify the name of the field to bind in the Field property. The field
must be a child object definition of the business component of the applet.
Only one field can be bound to one ActiveX control property through this
mechanism. To update more than one property or field requires writing a Siebel
VB script.

23-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
ActiveX Controls

ActiveX Properties property. This property contains a compressed version of the


set of properties native to the control. You do not edit this property setting
directly. The values it stores are changed by using the ActiveX category of
properties in the Properties window, or through the controls native property list.

ActiveX Methods and Events

23

An ActiveX control in an applet exposes a set of methods and events that are
provided with the control. The methods may be called from scripts written in Siebel
VB or Siebel eScript attached to the control or other objects, and event procedures
can be programmed in to respond to the events the control generates.

To see the list of available methods for the ActiveX control


1 In the Applet Designer, click the ActiveX control to select it.
2 Right-click to access the shortcut menu.
3 Select the ActiveX Control Methods menu option.
The ActiveX Control Methods dialog box appears.

This dialog box lists the methods, and specifies the syntax for calling them. It is
for reference purposes only.

4 Click Close to dismiss the dialog box.

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-13

Special-Purpose Controls
ActiveX Controls

To program event handler methods in Siebel VB


1 In the Applet Designer, click anywhere in the applet, and right-click to access
the shortcut menu. Alternatively, in the Object List Editor, select the applet and
right-click.
2 Select the Edit Basic Scripts menu option.
The Siebel VB window appears.

The ActiveX control appears in the Object list in the Siebel VB window, along
with the applets other controls and the applet itself.

3 Select the ActiveX control in the Object list to view the list of events to which
you can attach event procedures.

23-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Special-Purpose Controls
ActiveX Controls

4 Select an event in the Procedure list.


5 Add program code in the Siebel VB Editor window, just as you would for a Siebel
VB script for a Siebel object.
The ActiveX controls native methods may be called from other objects, and its
events may trigger procedures, just as Siebel controls do.

Manipulating an ActiveX Control from Siebel VB Scripts

23

Another way to interact programmatically with an ActiveX control is to obtain the


control as an object from a script in another control (or other Siebel object), and
read and write its property settings. An object variable is set to point to the ActiveX
control using the FindActiveXControl method. Then its properties can be read and
written.
In the following example, the Click event procedure on the Button1 control resets
the chart type, title text, and value list of an MSChart ActiveX control, and displays
the chart type:
Sub Button1_Click
Dim chart as object
set chart = FindActiveXControl("MSChart")
chart.chartType = 4
MsgBox chart.chartType
chart.TitleText = "My Chart"
chart.SelectPart 0, 1, 2, 3, 4
End Sub

Version 6.0

Siebel Tools Guide Volume 2 of 2

23-15

Special-Purpose Controls
Chapter Summary and Where to Get More Information

Chapter Summary and Where to Get More Information

23

This chapter described image controls and ActiveX controls.


Table 23-1 lists a source of additional information about topics discussed in this
chapter.
Table 23-1.

23-16

Source of Additional Information

For information about this topic . . .

. . . see the following

Siebel VB

Siebel VB Language Reference Guide and Siebel


Object Interfaces Reference

Siebel Tools Guide Volume 2 of 2

Version 6.0

Part 7

A d d i t i o n a l To p i c s

Appendix A. Siebel Tools Menus and Toolbars


Appendix B. Operators, Expressions, and Conditions
Appendix C. Siebel Application Run-Time Environment
Appendix D. Configuration Guidelines
Appendix E. User Properties
Appendix F. Relational Database Management Concepts

Version 6.0

Siebel Tools Guide Volume 2 of 2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars

About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2


Menu Bar Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2
Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3
View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4
Screens Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Go Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6
Query Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Reports Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7
Format Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8
Debug Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9
Repository Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10
Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11
Window Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12
Siebel Tools Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13
Edit Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14
List Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-15
History Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17
Web Controls Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18
Appendix Summary and Where to Get More Information . . . . . . . . . . . A-19

Version 6.0

Siebel Tools Guide Volume 2 of 2

A-1

Siebel Tools Menus and Toolbars


About This Appendix

About This Appendix

This appendix lists and describes all the menus and toolbars in the Siebel Tools user
interface.

Menu Bar Menus

The drop-down menus in the menu bar operate as standard Microsoft Windows
menus. Select the item and a drop-down menu appears. Active menu items are
displayed in the standard font. Menu options that are not available due to the
current state of the program are grayed out.
Siebel Tools contains the menus and menu options described in the following
sections. Where keyboard shortcuts exist, they are included after the option name.

File Menu

The File menu contains the following options for repository and object definition
saving and management:

Open Repository option. When multiple repositories are present in the

development directory, this menu option provides the means to open a


repository other than the currently open one.

New Object option. Invokes the New Object Wizard for creation of a list applet,

form applet, chart applet, tree applet, business component, report, or view.

Close option (CTRL+F4). Closes the Object List Editor window.

Save option (CTRL+S). Saves changes in the current editing window when you are

editing Layout, Menu, or Basic Scripts.

A-2

Save All option. Saves changes in all open editing windows.

Import option. Imports text from an external text file into the Siebel VB Editor
window. This text should be in an .sbl file formatthis is the format that is
generated when it is exported from the Siebel VB editor.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Menu Bar Menus

Export option. Enables you to create a text file in delimited or HTML format,
listing the property values in the current object definition or all object definitions
currently displayed in the Object List Editor.

Print Setup option. Changes the printer and printing options for printing object

visualization view diagrams.

Print Preview option. Opens a print preview window for display of an object

visualization view.

Print option (CTRL+P). Prints the active object visualization view diagram.

Exit option. Closes Siebel Tools.

Edit Menu

The Edit menu options apply to individual object definitions in the Object List
Editor. The Edit menu consists of the following options:

Undo option (CTRL+Z). Reverses the last change to a property value in the Object
List Editor or Property window before the object definition is committed.

Redo option (CTRL+Y). Reapplies to a property value the change that was just

undone.

Undo Record option (CTRL+S). Reverses the creation of a new object definition or

all modifications to an existing object definition, so long as the record hasnt yet
been committed.

Cut option (CTRL+X). 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 option (CTRL+C). 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 option (CTRL+V). Inserts text from the clipboard into a text property at the

insertion point. Inserts a control from the clipboard in the Applet Designer.

Version 6.0

Delete option (DELETE). In a text property, deletes the selected text. In the Applet
Designer, deletes the selected control.

Siebel Tools Guide Volume 2 of 2

A-3

Siebel Tools Menus and Toolbars


Menu Bar Menus

Select All option (CTRL+A). Selects the entire document. In the Applet Designer,

selects all controls in the applet.

New Record option (CTRL+N). Creates a new object definition in the Object List

Editor, with the cursor positioned in the first required property.

Copy Record option (CTRL+B). Creates a new object definition that is a copy of the

currently selected object definition, and duplicates all child object definitions.
NOTE: Avoid using the Copy Record option, except when the reuse and extension
of an existing object definition would be completely impractical. For more
information, see Copying vs. Modifying Object Definitions on page D-4.

Delete Record option (CTRL+D). Deletes the currently selected object definition

and its child object definitions.


NOTE: Avoid using the Delete Record option. If you want to remove an object

definition from use, set its Inactive property to TRUE.

Change Records option. Changes multiple records simultaneously.

Find option (CTRL+F). Finds the specified text in the Siebel Script Editor window.

Replace option (CTRL+H). Replaces the specified text with different text in the

Siebel Script Editor window.

View Menu

The View menu options are used to change display environment settings, including
those determining which windows and toolbars to show, and also invokes
visualization views (which are diagrams showing object definition relationships).
The View menu options are:

Object Explorer option (CTRL+E). Shows or hides the Object Explorer window.

Properties Window option. Shows or hides the Properties window.

Applets Window option. Shows or hides the Applets window. This window is used

only with the View Designer.

A-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Menu Bar Menus

Controls Window option. Shows or hides the Controls window.

Refresh Windows option. Requeries and updates the state of dockable windows.

Edit Layout option. Opens the Applet Designer for the currently selected Applet

object definition, or the View Designer for the currently selected View object
definition.

Applet Editor option. Opens the Applet editor.

Menu Editor option. Opens the Menu editor.

Script Editor option. Opens the Siebel Script Editor.

Web Script Editor option. 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.

View Details option. Generates and displays a Details visualization view for the
currently selected business component or business object.

View Hierarchy option. Generates and displays a Hierarchy visualization view for
the currently selected applet, application, business component, screen, or view.

View Relationships option. Generates and displays a Relationships visualization

view for the currently selected business component or table.

Calls option (CTRL+L). Opens the Calls window for display of the call stack of the

Siebel VB or Siebel eScript script currently being debugged.

Watch option (SHIFT+F9). Opens the Watch window for display of the values of

local variables in the Siebel VB or Siebel eScript script currently being debugged.

Errors option. Opens the Errors window for display of the run-time errors in the

Siebel VB or Siebel eScript script currently being debugged.

ActiveX Methods option. Enables you to view the methods for the current ActiveX

control in the Applet Designer.

Toolbars option. Displays or hides the various toolbars: Edit, History, List, Debug,

Control, and Web Control.

Status Bar option. Displays or hides the Status bar at the bottom of the Siebel

Tools window.

Version 6.0

Siebel Tools Guide Volume 2 of 2

A-5

Siebel Tools Menus and Toolbars


Menu Bar Menus

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 following menu options
and suboptions appear:

 Application Upgrader options:


 Application Upgrade Object List option. This option activates the Application
Upgrades window, with the Object List area selected.
 Application Upgrade Attribute List option. This option activates the Application
Upgrades window, with the Attribute Differences area selected.

System Administration option. The suboptions of this menu option provide access

to administration features that you would usually access in Siebel applications,


but are also made accessible here in Siebel Tools for your convenience:
 List of Values option. Displays the list of values that are available in your
repository.
 Strings option. Displays the list of message strings that are available in your
repository.
 System Preferences option. For viewing or altering system preferences.

Go Menu

The Go menu contains options for creating and navigating to bookmarks, which flag
object definitions for easy return navigation. Bookmarks are a helpful navigation
aid, allowing you to move around quickly among the object definitions of different
types you are working on. The Go menu contains the following options:

Add Bookmark option. Invokes the Add Bookmark dialog box, for creation of a

bookmark to the currently selected object definition.

A-6

Bookmark List option. Invokes 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.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Menu Bar Menus

Query Menu

The Query menu options enable you to create and refine Object List Editor queries,
which restrict the list of object definitions that appear in the current Object List
Editor window. An option is provided that lets you change the sort order of object
definitions in the window. The Query menu options are as follows:

New Query option (CTRL+Q). Enables you to specify restrictions on the set of object

definitions to be displayed in the current Object List Editor window.

Refine Query option (CTRL+R). Enables you to add additional restrictions to the

query currently in effect.

Execute Query option (ENTER). Executes the query you have just specified,

causing the restrictions to take effect. This has the same effect as pressing Enter.

Sort Order option. Invokes the Sort Order dialog box, for specification of sort order

criteria for the list of object definitions in the Object List Editor window.

Reports Menu

The Reports menu may be empty or may list one or more available reports of object
definitions and properties, depending on which object type is currently active in the
Object Explorer:

Applets by BusComp option. Generates a report listing the applets assigned to each
business component. Available when applet is selected in the Object Explorer.

Business Component and Fields option. Generates a report listing all business

components and the fields within each. Available when Business Component is
selected in the Object Explorer.

Business Object and Components option. Generates a report listing all business

objects and the business components within each. Available when Business
Object is selected in the Object Explorer.

Version 6.0

Project List option. Generates a report listing all projects. Available when Project
is selected in the Object Explorer.

Tables option. Generates a report listing all tables and the columns and Indexes
within each. Available when Table is selected in the Object Explorer.

Siebel Tools Guide Volume 2 of 2

A-7

Siebel Tools Menus and Toolbars


Menu Bar Menus

Workflow Policy Objects option. Generates a report listing all Workflow Policy

Objects. Available when Workflow Policy Object is selected in the Object


Explorer.

Repository Dock Objects option. Generates a report listing all Dock Objects.
Available when Dock Object is selected in the Object Explorer.

Application Upgrade Object List option. Generates a report listing all object

definition differences between repository versions. Available when the


Application Upgrader is active.

Application Upgrade Attributes List option. Generates a report listing all attribute

differences between repository versions. Available when the Application


Upgrader is active.

Format Menu

The Format menu options are used in the Applet Designer. They provide the means
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. The Format menu options are as follows:

Align option. Aligns the selected items with the selected model.

Make Same Size option. Makes all selected items the same size as the selected

model.

Space Evenly option. Spaces the selected items evenly.

Center in Applet option. Centers the selected items.

Grid Settings option. Sets the horizontal and vertical grid to an integer between

4 and 30. You can also hide the grid.

A-8

Set Tab Order option. Active only when a form applet is open in the Applet
Designer. Enables you to change the tab sequence of the controls in the applet,
resetting the values in the Sequence property of each control. Tab sequence is
the order in which the Tab key cycles the user through the controls. Numbers
appear next to each control, indicating the order of each in the current tab
sequence. You click on each control in the order you want used for the tab
sequence, changing the numbers displayed in the Applet Designer and the
values in the Sequence properties of the controls.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Menu Bar Menus

List Columns option. Displays the List Column Fields dialog box, in which you can
add, remove, and reorder the list columns.

Preview option. Invokes the Applet Designer Preview, which enables you to

preview the applet as it would appear at run time in a specified language and
with specified viewing options. Refer to the section entitled Applet Designer
Preview on page 12-9.

Select Truncated Controls option. In the Applet Designer Preview, selects all

controls whose strings are too long to fit in the control.

Select Untranslated Controls option. In the Applet Designer Preview, selects all

controls that have not been translated.

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:

Start option (F5). Starts the application. A dialog box with start-up parameters is

also displayed.

Break option (CTRL+BREAK). Stops the execution of the currently running script.

If Siebel VB or Siebel eScript is not executing, no operation is performed.

End option. Stops the execution of the application and returns to the Siebel Script
Editor window.

Restart option (SHIFT+F5). Restarts the application if a break has occurred.

Step Into option (F8). Executes the next line of script code. If this is a subroutine
or procedure call, then execution will continue within that procedure.

Step Over option (SHIFT+F8). Advances the application to the script code line just

after the current subroutine or procedure. Execution remains at the level of the
current procedure.

Step To Cursor option (CTRL+F8). Executes all lines of code up to the line selected

by the cursor.

Toggle Breakpoint option (F9). Sets or removes a breakpoint on a specific line of

code.

Version 6.0

Siebel Tools Guide Volume 2 of 2

A-9

Siebel Tools Menus and Toolbars


Menu Bar Menus

Clear All Breakpoints option (CTRL+SHIFT+F9). Removes all breakpoints from the

current script routine.

Check Syntax option. Compiles the current script and verifies syntax.

Repository Menu

The Repository menu options are as follows:

Compile option (F7). Opens the Object Compiler window to compile one or more
projects, or all projects in the repository, into an .srf file.

Check Out option (F10). Opens the Check Out window, to copy one or more

projects from the server to the local database.

Check In option (CTRL+F10). Opens the Check In window, to copy one or more

projects from the local database to the server.

Lock Project option. Locks the project that the currently selected object definition

is assigned to.

Unlock Project option. Unlocks the project that the currently selected object
definition is assigned to.

Add To Archive option. Opens the Export To Archive dialog box, for adding the

selected top-level object definitions or projects to an archive file.

Import From Archive option. Initiates the Import wizard for importing object
definitions from an archive file.

Build Patch option. Initiates the Patch Builder wizard to create a patch file.

Apply Patch option. Opens the Apply Patch window to initiate the patch

application process.

Application Upgrader option. Opens the Application Upgrader, consisting of the


Merge Repositories window and Object List View, for upgrading an existing
repository to a new software version.

String Search option. Opens the String Search window, which provides the ability

to locate untranslated configurable user interface elements for a specified


language. Untranslated user interface elements are located and listed, and
translations can be entered for them.

A-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Menu Bar Menus

Truncation Checking option. Opens up a dialog box to do global string truncation

checking for a given Siebel application and language.

Find in Repository option. Opens the Find in Repository window for performing a

search for object definitions based on the text in their names (or other
properties) and their object types.

Tools Menu

The options in the Tools menu are as follows:

Check Labels option. Opens the Check Labels dialog box to check the labels in the

currently selected applet for sufficient horizontal space when translated into a
particular language.

Generate Actuate Report option. When a Report object definition is selected, this
menu option generates a data stream file for use in the creation of an Actuate
report.

Generate Help IDs option. This option generates the sshelp.hm file, containing

correspondences between context ID numbers and text help identifiers that have
been specified in Help ID object definitions for applets. This file is used in online
help development in which context-sensitive help is employed.

Get Strings option. This option brings the contents of the strings table (S_MSG)

from the server to the local database. The translation records in this table are
needed to compile the application with language translation enabled.

Map Fax Properties option. When the business component object type is selected

in the Object Explorer, this option opens the Map Fax Properties dialog box for
the current business component object definition. This dialog box is used to
create mappings between fields in the business component and fax software
property sheet properties. These mappings support customization of the fax
cover sheet and message.

Options option. Opens the Development Tools Options dialog box for the

specification of Siebel Tools settings.

Version 6.0

Siebel Tools Guide Volume 2 of 2

A-11

Siebel Tools Menus and Toolbars


Menu Bar Menus

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.

Help Menu

The options in the Help menu are as follows:

Contents option. Opens Siebel Tools Online Help, which includes a .pdf version of

this book.

Using Help option. Opens the online help window for the Microsoft Windows help

engine.

Technical Support option. Displays the Technical Support Information dialog box,
informing you of the phone numbers for calling or faxing Siebel technical
support. The dialog box also displays information that technical support will
need from you, such as the version number of your Siebel Tools installation and
the command line syntax used to open Siebel Tools.

About Record option. Opens a dialog box that displays information about the
current object definition, including its creator and creation date.

About SRF option. Opens a dialog box that displays information about the most
recent full and incremental compilations.

About Siebel Tools option. Opens a dialog box identifying the version of Siebel

Tools.

A-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Siebel Tools Toolbars

Siebel Tools Toolbars

There are six toolbars and a status bar in the Siebel Tools window. The toolbars in
the Siebel Tools window are identified in Figure A-1.
Edit toolbar
Debug toolbar

Figure A-1.

Control toolbar
List toolbar

History toolbar

Web Controls toolbar


Status bar

Toolbars in the Siebel Tools Window

The toolbars, like menu items, are active only when the object type or window that
utilizes them is current. Toolbars may be shown or hidden, by using the
corresponding View menu options. You can also rearrange the toolbars at the top of
the Siebel Tools window by dragging, or you can make a toolbar free-floating by
dragging it to the middle of the window.

Version 6.0

Siebel Tools Guide Volume 2 of 2

A-13

Siebel Tools Menus and Toolbars


Siebel Tools Toolbars

The five toolbars are:

Edit toolbar. This toolbar contains edit tools, the New Object wizard, and undo/
redo options.

List toolbar. This toolbar contains options that apply to object definitions in the

Object List Editor. They insert a new record, move forward and backward, start
a query, and sort object definitions in ascending or descending order.

History toolbar. This toolbar contains bookmark options.

Debug toolbar. This toolbar contains Siebel VB and Siebel eScript debugging

tools.

Control toolbar. This toolbar contains Applet Designer user interface control tools.

Edit Toolbar

Figure A-2 displays the Edit toolbar.


New

Copy

Save All
Save

Figure A-2.

Cut

Undo
Paste

Redo

Edit Toolbar

The Edit toolbar buttons are:

New toolbar button. Invokes the New Object Wizard, which enables you to create

applets, views, charts, and other object definitions.

Save toolbar button. Saves changes in the current editing window when you are

editing Layout, Menu, or Basic Scripts.

A-14

Save All toolbar button. Saves changes in all open editing windows.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Siebel Tools Toolbars

Cut toolbar button. 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 toolbar button. 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 toolbar button. Inserts text from the clipboard into a text property at the
insertion point. In the Applet Designer, inserts a control from the clipboard.

Undo toolbar button. Reverses the last change to a property value in the Object
List Editor or Property window if the object definition has not been committed.

Redo toolbar button. Reapplies to a property value the change that was just

undone.
Several of these tools are also available from the Edit menu. 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 window.

List Toolbar

The List toolbar, shown in Figure A-3, helps you navigate through and alter the
listing of object definitions in the Object List Editor.
Go to Top
of List

Version 6.0

Go to Next
Record

New
Record

Go to
Previous
Record

Figure A-3.

List Toolbar

Go to
End
of List

New
Query

Sort
Ascending
Execute
Sort
Query Descending

Siebel Tools Guide Volume 2 of 2

A-15

Siebel Tools Menus and Toolbars


Siebel Tools Toolbars

The buttons in the List toolbar are:

New Record button. Creates a new object definition in the Object List Editor, with

the cursor positioned in the first required property.

Go to Top of List button. Goes to the first object definition in the list.

Go to Previous Record button. Goes to the object definition above the current

selection.

Go to Next Record button. Goes to the object definition below the current

selection.

Go to End of List button. Goes to the last object definition in the list.

New Query button. Enables you to specify one or more restrictions on the set of
object definitions to be displayed in the current Object List Editor window.

Execute Query button. Executes the query you have just specified, causing the

restrictions to take effect. This has the same effect as pressing Enter.

A-16

Sort Ascending button. Changes the order in which object definitions appear by
sorting them in ascending order on the currently selected property column.

Sort Descending button. Changes the order in which object definitions appear by
sorting them in descending order on the currently selected property column.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Siebel Tools Toolbars

History Toolbar

The History toolbar contains two toolbar buttons for creating and navigating to
bookmarks, which flag object definitions for quick return navigation. Bookmarks
are a helpful navigation aid, allowing you to move around quickly among the object
definitions of different types you are working on. The History toolbar is shown in
Figure A-4.

Bookmark List
Add
Bookmark

Figure A-4.

History Toolbar

The History toolbar contains the following buttons:

Add Bookmark button. Invokes the Add Bookmark dialog box, for creation of a

bookmark to the currently selected object definition.

Version 6.0

Bookmark List button. Invokes 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.

Siebel Tools Guide Volume 2 of 2

A-17

Siebel Tools Menus and Toolbars


Siebel Tools Toolbars

Web Controls Toolbar

The Web Controls toolbar is shown in Figure A-5.


Select button
CheckBox button
ComboBox button
Text button
TextArea button
Password button
Password button?
Link button
MailTo button
Button button
Label button
URL button

Figure A-5.

Web Controls Toolbar

The Web Controls toolbar contains the following buttons:

Select button. Selects an object in the layout.

CheckBox button. Creates a check box.

ComboBox button. Creates a combo box.

Text button. Creates a text box.

TextArea button. Creates a text area.

Password button. Creates a text box where the user enters a password during

logon.

A-18

Link button. Creates an HTML link.

MailTo button. Creates a mail-to link.

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Tools Menus and Toolbars


Appendix Summary and Where to Get More Information

Button button. Creates a button.

Label button. Creates a label.

URL. Creates a link to an external URL.

Appendix Summary and Where to Get More Information


This appendix listed and described all the menus and toolbars in the Siebel Tools
user interface.
Table A-1 lists a source of additional information about topics discussed in this
chapter.
Table A-1.

Version 6.0

Source of Additional Information

For information about this topic . . .

. . . see the following

LOV administration

Siebel Applications Administration


Guide

Siebel Tools Guide Volume 2 of 2

A-19

Siebel Tools Menus and Toolbars


Appendix Summary and Where to Get More Information

A-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions

About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2


Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3
Pattern Matching with LIKE and NOT LIKE . . . . . . . . . . . . . . . . . . . . . . B-4
NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
Functions in Calculation Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . B-7
Using Julian Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10
Calculated Field Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-10
Example of String Concatenation and the IIf Function . . . . . . . . . . . B-11
Syntax for Predefault Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-12
Calculated Field Values and Field Validation . . . . . . . . . . . . . . . . . . . . B-13
Field Object Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
Search Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16
Query By Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-16
Search Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-17
Searching Multi-Value Groups with [NOT] EXISTS . . . . . . . . . . . . . . B-18
Sort Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
Sorting Through Predefined Queries

. . . . . . . . . . . . . . . . . . . . . . . B-20

Sorting Through the Object Property Sort Specification . . . . . . . . . . B-20


Sorting Through the User Interface . . . . . . . . . . . . . . . . . . . . . . . . B-21
Sorting Versus Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-21
Appendix Summary and Where to Get More Information . . . . . . . . . . . B-21

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-1

Operators, Expressions, and Conditions


About This Appendix

About This Appendix

This appendix describes the supported syntax elements for queries and for sort and
search specifications.

Precedence

Precedence is the order in which Siebel applications evaluate the various operators
within a single expression. The system will evaluate operators with higher
precedence before operators with lower precedence. In addition, operators with
equal precedence will be evaluated left to right.
Table B-1 lists the levels of precedence for the various Siebel application operators.
Table B-1.

Level of Precedence

Level

Operator

()

+, -, NOT logical operator

AND logical operator

OR logical operator

The order of precedence within an expression can be altered by using parentheses.


Siebel Applications evaluate the expression within the parentheses first, before
evaluating the expression outside.

B-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Comparison Operators

Comparison Operators

Table B-2 describes the purpose of each comparison operator and gives an example
of how it is used.
Table B-2.

Comparison Operators

Operator

Purpose

Example

Equality test

[Last Name] = Smith

<>

Inequality test

[Role] <> End-User

>

Greater than

[Revenue] > 5000

<

Less than

[Probability] < .7

>=

Greater than or equal to

[Revenue] >= 5000

<=

Less than or equal to

[Probability] <= .7

Logical Operators

Table B-3 explains what a value of TRUE or FALSE means for each logical operator.
Table B-3.

Version 6.0

Logical Operators

Operator

Returns TRUE

Returns FALSE

NOT

If the condition evaluates to


FALSE

If the condition evaluates to TRUE

AND

If all component conditions


evaluate to TRUE

If any component condition evaluates to


FALSE

OR

If any component condition


evaluates to TRUE

If all component conditions evaluate to


FALSE

Siebel Tools Guide Volume 2 of 2

B-3

Operators, Expressions, and Conditions


Pattern Matching with LIKE and NOT LIKE

Pattern Matching with LIKE and NOT LIKE

NOTE: The Search Engine Table property for View and Applet must be based on the
same table as the index. For example, if the search index is based on S_EVT_ACT,
then the view should be based on action and the applet should be based on action.

The LIKE operator is used in character string comparisons with pattern matching.
The syntax is as follows:
char1 LIKE char2
where char1 is the value to be compared with the pattern and char2 is the pattern
to which char1 is compared. The NOT logical operator can be used in conjunction
with LIKE to exclude patterns. The syntax including the NOT logical operator is:
char1 NOT LIKE char2
or
NOT (char1 LIKE char2)
While the equal ( = ) operator does exact matching, the LIKE operator matches a
portion of one character value to another. Patterns can use special characters to
denote different characters. These characters are given in Table B-4.

B-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


NULL

Table B-4.

Pattern Matching Using Special Characters

Character

Purpose

Example

Zero or more
characters

[Last Name] LIKE Sm* would return all records whose [Last Name]
value starts with the characters Sm, as in Smith, Smythe, Smart,
and so on.
[Last Name] LIKE *om* would return all records whose [Last Name]
field contains the characters om, as in Thomas, Thompson,
Tomlin, and so on.

One character

[First Name] NOT LIKE Da? would return all records whose [First
Name] value was three characters long and did not start with the letters
Da. Records with Ted, Tom, and Sam would be returned, but
Dax and Dan would not.
NOT ([First Name] LIKE ?o?) would return all records whose [First
Name] value was three characters long and did not have as its middle
character o. Records with Ted and Sam would be returned, but
Tom and Bob would not.

Character is case sensitive when executing pattern matching. In addition, the


parentheses are required when including the NOT logical operator (the second
variation of the NOT syntax).

NULL

NULL in SQL represents a value that is not known or is not applicable. Expression
evaluation with NULL is somewhat different than with other values. Since NULL is
not a value, comparison functions do not operate normally when one or both of the
operands are NULL. For instance, NULL = NULL is not TRUE.
SQL and Siebel applications provide special functions and grammar to support
NULL, including the IS NULL unary operator and IfNull function. Comparisons,
string concatenations, and Boolean operations have special behavior to handle
NULL.
NULL is typed like a value. An operand or result can be NULL string, NULL number,
NULL Boolean, and so on.

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-5

Operators, Expressions, and Conditions


NULL

IS NULL Unary Operator


The = operator is not useful in determining whether a value is NULL because the
value of a NULL operand is unknown. Siebel applications provides the IS NULL
operator, which evaluates to TRUE if its operand is NULL and to FALSE if its operand
is not NULL.

IfNull Function
The IfNull function has two arguments and returns the value of either the first or
second argument depending on whether the first argument is NULL. IfNull (a,b)
returns a if a is not NULL or returns b if a is NULL.
The return type of IfNull is the type of its first argument, even if the first argument
is NULL. The second argument is converted to the type of the first argument before
its value is returned.

Comparisons with NULL


When either side of a comparison is NULL, the comparison returns NULL of type
Boolean. Otherwise, the comparison returns TRUE or FALSE. For example, 1>2 is
FALSE, and 1<NULL is NULL.

Arithmetic Operations with NULL


When either side of an arithmetic operation is NULL, the operation returns NULL
of the appropriate type, except for string concatenation. In a string concatenation
operation, NULL simply adds no characters. For example, 1 + 2 is 3, 1 + NULL is
NULL (of type Integer), Fred + , Smith is Fred, Smith, but Fred + NULL
is Fred.

B-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Functions in Calculation Expressions

Functions in Calculation Expressions

Calculation expressions are calculated field and validation expressions. Table B-5
describes the functions you can use in these expressions.
Table B-5.

Calculated Field and Validation Functions

(Sheet 1 of 3)

Function

Result Type

Query

Description

Count (mvlink)

Integer

No

Returns the number of rows in the multi-value


group defined by the MVL mvlink.

Currency ()

String

Yes

Currency for this position (for example, USD).

IfNull (expr1, expr2)

Type of expr1

Yes

Returns expr1s value unless expr1 is NULL, in


which case expr2s value is returned.

IIf (testExpr, expr1, expr2)

Type of expr1

No

If testExpr is TRUE, returns expr1s value;


otherwise returns expr2s value.
Note that if working with DTYPE_NUMBER
fields, the Data Type of expr1 will determine
the Data Type of the resulting value.

JulianDay ()

Date

Yes

Equal to the Oracle (and Sagent) Julian Day,


for all dates in the 20th and 21st centuries.

JulianMonth ()

Date

Yes

Equal to the JulianYear() * 12 +


currentMonth, where January = 1.

JulianQtr ()

Date

Yes

Equal to the JulianYear() * 4 +


currentQuarter, where currentQuarter =
(currentMonth - 1) / 3 + 1 rounded down to
the next integer.

JulianWeek ()

Date

Yes

JulianDay() / 7, rounded down to the next


integer.

JulianYear ()

Date

Yes

Equal to the current year + 4713.

Language ()

String

Yes

Language code (for example, ENU) which is


the active client language setting, set by the
Language parameter in the .CFG file, or by the
/L parameter when starting Siebel. Note that
this is not the Resource Language parameter.

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-7

Operators, Expressions, and Conditions


Functions in Calculation Expressions

Table B-5.

Calculated Field and Validation Functions

(Sheet 2 of 3)

Function

Result Type

Query

Description

Left (text, integer)

String

Yes

Returns the leftmost n characters in the text


string or field. For example, Left (Adams, 2)
returns Ad.

LocalCurrency ()

String

Yes

Currency for this machine (for example, JPY).

LoginId ()

String

Yes

Login ID (for example, 0-3241).

LoginName ()

String

Yes

Login name (for example, BSTEVENS).

Lookup (type, value)

String

No

Finds a row in S_LST_OF_VAL where the


TYPE column matches the type argument and
the VALUE column matches the value
argument. The function returns the value of
the ORDER_BY column for that row.
The primary purpose of the Lookup function is
to avoid additional joins in a business
component.

LookupExpr (type, value_expr)

String

No

Searches the rows in S_LST_OF_VAL where


the TYPE column matches the type argument.
Evaluates the contents of the VALUE column
treated as an expression. Returns the value of
the ORDER_BY column for the first row for
which the expression evaluates to TRUE.
The LookupExpr function essentially performs
an in-memory linear parse evaluate search, so
you should ensure that there are fewer than 30
rows in the LOV type.

B-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Functions in Calculation Expressions

Table B-5.

Calculated Field and Validation Functions

(Sheet 3 of 3)

Function

Result Type

Query

Description

LookupValue (type, lang_ind_code)

String

No

Finds a row in S_LST_OF_VAL where the


TYPE column matches the type argument, the
CODE column matches the lang_ind_code
argument, and the LANG_ID column matches
the language code of the currently active
language. Returns the display value (the VAL
column) for the row.
This function is used to obtain the translation
of the specified untranslated value in the
specified LOV into the currently active
language.
Note that the LookupValue() function cannot
be used directly in the Pre Default Value
property of a field. Instead, use a separate
calculated field for the lookup, and reference
the calculated field in the Pre Default Value
property of the original field.

ParentBCName ()

String

Yes

Parent (master) business component name for


active link (for example, Opportunity).

ParentFieldValue (field_name)

String

Yes

The value of the field_name field in the parent


business component. The result is not typed
correctly but is always of type String. Also, the
result does not change if the parent row is
updated. The parent business component field
must be exported by using Link Specification
= TRUE.

PositionId ()

String

Yes

Position ID (for example, 0-4432).

PositionName ()

String

Yes

Position name (for example, VP of Sales).

Sum (mvfield)

Integer

No

Sums the values from a field in child records


into a field in a parent record. The child record
being summed from must be defined as a
multi value field that is part of a multi value
group that is associated with the business
component of the field being summed to.

Timestamp ()

DateTime

Yes

Todays date and time (for example,


01/02/96 11:15:22).

Today ()

Date

Yes

Todays date (for example, 1/26/96).

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-9

Operators, Expressions, and Conditions


Functions in Calculation Expressions

NOTE: Use only numbers between -2147483647 and 2147483648 in field validation

expressions.

Using Julian Functions

The Julian functions (described in Table B-5) must have as a parameter either
Today() or a field name.
For example, you need to use either JulianMonth([Created]) (of a field) or
JulianMonth(Today()) (of the current date).

Calculated Field Rules

Calculated fields have the following rules and restrictions:

 Calculated fields do not support updates (even simple expressions like [Field]),
unless specialized business components override SqlSetFieldValue.

 Calculated fields cannot be stored in columns.


 Validation criteria on calculated fields are ignored.
 Queries on calculated fields are always supported.
 Sorting on calculated fields is never supported.
 When a query is performed on a calculated field, the action taken by your Siebel
application (and thus the resulting performance) depends on which functions
are used within the calculation. Functions that can be incorporated directly into
the WHERE clause in the SQL statement are incorporated. Functions that cannot
be directly incorporatedsuch as IIf() and Lookup()result in testing each
record in the business component to determine which records to display to the
user, at a considerable performance cost.

B-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Functions in Calculation Expressions

Example of String Concatenation and the IIf Function

In the following example of assigning expressions to the Calculated Value property,


the string constant , must be enclosed in two double quotation marks because the
entire value is quoted with double quotation marks. If the [Last Name] field is NULL
and [First Name] is Bob, the [Full Name] field contains , Bob.
[Field]
Name
= "Full Name"
TextLen = 102 // Last Name + First Name + 2
Calculated = "TRUE"
CalculatedValue= "[Last Name] + "," + [First Name]"

Alternatively, the next expression contains just Bob if the [Last Name] field is
NULL and the [First Name] field is Bob. (The CalculatedValue expression must be
all on one line.)
CalculatedValue = "[Last Name] + IIf ([Last Name] IS NULL, "", ",")
+ [First Name]"

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-11

Operators, Expressions, and Conditions


Functions in Calculation Expressions

Syntax for Predefault Fields

Table B-6 provides the syntax to be used in predefault fields.


Table B-6.

Predefault Values and Functions

Function

Result Type

Description

System: Creator

String

Login name (for example, BSTEVENS).

System: CreatorId

String

Login Id (for example, 0-3241).

System: Position

String

Position name (for example, VP of Sales).

System: PositionId

String

Position Id (for example, 0-4432).

System: Today

Date

Todays date (for example, 1/26/96).

System: Timestamp

DateTime

Todays date and time (for example, 01/02/96


11:15:22).

System: Currency

String

Currency for this position (for example, USD).

System: LocalCurrency

String

Currency for this machine (for example, JPY).

Parent: BusComp.Field, BusComp.Field

String

Value in Parent BusComp field Field. You can


have multiple Parent: constructs separated by
commas; the list is checked from first to last until
a value is found. Example:
Parent: "Service
Request.Account", "Account.Name"
If Parent: FieldName is used, the field in the
parent business component must have the Link
Specification set to TRUE in order for values to be
defaulted.

Field: FieldName

String

Value in field in current business component field


FieldName.

Expr: Today() - 1

String

Value of expression.
Example: Today() - 1.

B-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Calculated Field Values and Field Validation

Calculated Field Values and Field Validation

The Calculated Value property specifies an expression for calculating the value of a
field. A fields Validation property restricts the values for a field or ensures the
correctness of data entered, for a single value field (validation is not supported for
MVFs).
NOTE: The property text is limited to 255 characters for Sort Specification, Search

Specification, and Validation properties.


The syntax for the Calculated Value or Validation property is the same as the QBE
syntax, with different but overlapping functions. The comparison, logical AND, and
logical OR operators are valid for these properties. The syntax follows.
The CalculatedValue or Validation expression must be all on one line.

CalculatedValue or Validation Statement


:
:

condition
expression

condition
:
:

comparison
condition [AND | OR] condition

comparison
:

[~] [= | < | > | <= | >= | [NOT] [~] LIKE] expression

expression
:
:
:

Version 6.0

constant
identifier
function

Siebel Tools Guide Volume 2 of 2

B-13

Operators, Expressions, and Conditions


Calculated Field Values and Field Validation

constant
:
:
:
:
:
:
:
:
:

number
string (double quoted)
integer
currency
date (double quoted)MM/DD/YY
(separator must be /)
time (double quoted)HH:MM:SS
(separator must be :)
date and time (double quoted)
MM/DD/YY HH:MM:SS(space required)
Boolean
phone number (double quoted)

identifier
:

[field name]

NOTE: For date and time formats in controls or list columns, use the format specified
in the Control Panel. In Search Specification or predefined query form, use the
business component format.

To reference a field value, you must use [Field Name]. Also, string constants must
be enclosed in double quotation marks (string).

B-14

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Field Object Data Types

Field Object Data Types

All Field objects have a data type. Single-value fields have a data type value. Multivalue fields inherit the data type from the source field. Many types can convert to
other types during calculations. Many operations produce different results with
different types. For example, 10 + 10 produces 1010, while 10 + 10 produces
20.
Siebel applications calculations are left-centric; for example, 10 + 10 produces
1010, while 10 + 10 produces 20. In the first example, the right argument 10
converts itself to a string, but in the second example, the right argument 10
converts itself to a number.
Field objects can have any of the following Siebel data types:

 DTYPE_BOOL
 DTYPE_CURRENCY
 DTYPE_DATE
 DTYPE_DATETIME
 DTYPE_ID
 DTYPE_INTEGER
 DTYPE_NOTE
 DTYPE_NUMBER
 DTYPE_PHONE
 DTYPE_TEXT
 DTYPE_TIME
Siebel data types are discussed in more detail in the Siebel Object Types Reference.

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-15

Operators, Expressions, and Conditions


Search Syntax

Search Syntax

Query By Example

Searching or query by example (QBE) can be performed through the user interface
list columns or controls as predefined queries, or specified in the Search
Specification property. The syntax is slightly different when done through the user
interface but, in all cases, the syntax is simple BNF (Backus-Naur Format).

QBE Statement
:
:

condition
expression

condition
:
:
:

comparison
NOT condition
condition [AND | OR] condition

comparison
:

expression [~] [= | < | > | <= | >= | [NOT] [~] LIKE] expression

expression
:
:
:

constant
identifier
function

constant
:
:
:

number
string (double quoted)
date (double quoted)MM/DD/YY
(separator must be /)
: time (double quoted)HH:MM:SS
(separator must be :)
: date and time (double quoted)
MM/DD/YY HH:MM:SS(space required)

B-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Search Syntax

identifier
:

[field name]

NOTE: For date and time formats in controls and list columns, use the format
specified in the Control Panel. In Search Specification or predefined query form, use
the business component format.

Search Specification

Assigning a search expression to an object definitions Search Specification property


is similar to the predefined querys expression; however, identifying the business
component and specifying the reserved word Search is not required. The syntax
would be assigned to the Search Specification property as:

1 [Close Date] > 04/15/95


2 [Opportunity] LIKE C*
3 [Revenue] > 500000 AND [State] = CA
4 [Revenue] > 500000 OR [Revenue] < 10000
5 ([Revenue] > 500000 AND [State] = CA) OR ([Revenue] > 200000 AND
[State] = FL)
6 NOT ([State] = CA)
In the preceding examples, the fields declared must exist within the designated
object definition (like business component or Report) and must adhere to the object
types declaration standards.
NOTE: A search done through a Search Specification property is always case

sensitive. You can use the ~ modifier, however, to make the search case insensitive.

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-17

Operators, Expressions, and Conditions


Search Syntax

Searching Multi-Value Groups with [NOT] EXISTS

You can specify the [NOT] EXISTS operator in a QBE or Search Specification
referring to a multi-value group field. A multi-value group field is the user interface
mechanism for displaying the child records of a parent record within the parent
records applet. For example, assume the following:

 Opportunities are a separate entity and business component.


 Contacts are a separate entity and business component.
 Both the Opportunity and Contact business components are included in an
Opportunity business object.

 There is a many-to-many relationship between opportunities and contacts (that


is, opportunities can be worked by one or more contacts, but a contact can work
one and only one opportunity).

 A form applet views the Opportunity business component with the following
fields: Opportunity Name, Contact First Name, and Contact Last Name.

 The form applet is opportunity-focused; that is, the purpose of the form applet
is to display and manage opportunity information (any contact information
displayed is specific to the opportunity).
Because the form applet is opportunity-focused, the opportunity name would be a
standard text box control, whereas the contacts first and last names would be
defined as multi-value group fields. Why multi-value group fields and not standard
edit controls? Because, for each opportunity, there can potentially be more than one
contact; the only way to display multiple contacts for an opportunity in an
opportunity-focused applet is through a multi-value group field.
When you enter Wine Festival as a search specification in the opportunity name,
you are asking the Opportunity business component to return all opportunities that
have a name of Wine Festival. When you enter Smith as a search specification
in the contact last name, however, you are asking the Opportunity business
component (not the Contact business component) to return all opportunities that
have contacts with a last name of Smith. This type of query transcends business
components and, therefore, requires the [NOT] EXISTS keyword, as shown in the
following syntax examples:
Syntax for QBE (placed directly in the last name field in the user interface):
EXISTS(Smith)

B-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Search Syntax

Syntax for a predefined query (Opportunity is the business component):


Opportunity.Search = EXISTS ([Last Name] = Smith)

Syntax for a search specification (placed directly in the Search Specification


property in the business component or applet):
EXISTS ([Last Name] = 'Smith')

Select records based on multiple child and grandchild criteria:


EXISTS ([ChildField1] = 'X' AND [ChildField2] = 'Y')
EXISTS ([GrandchildField1] = 'A' AND [GrandchildField2] = 'B')
NOTE: When using QBE on multi value fields, include only those multi value fields

that are exposed in the user interface.

NOTE: If you have an MVF with a primary ID field specified and the Use Primary
Join attribute checked, then typing in a query that does not use EXISTS will find all
the records where the primary record in the MVG matches that particular search
spec. If you specify EXISTS then it will find every record where any of the records
in the MVG match the search spec. If you do not specify a primary ID field for the
MVG or set the Use Primary Join attribute to unchecked, then the only available
query is one that uses EXISTS. In this case, if you specify a query that does not use
EXISTS, it will automatically be assumed and inserted as part of the search spec.

Version 6.0

Siebel Tools Guide Volume 2 of 2

B-19

Operators, Expressions, and Conditions


Sort Syntax

Sort Syntax

Sorting can be accomplished by either clicking the Sort Ascending/Descending


buttons, modifying the predefined query expression, or assigning a sort expression
to an object type that supports a sort expression.

Sorting Through Predefined Queries

If you have saved a query, you can modify the expression through the PreDefined
Query view and add a sort expression. You can specify one or more fields, with each
field further refined as either ascending or descending. The syntax for the
predefined query is as follows:
Business Component.Sort = [Field] [[(DESC[ENDING])], [Field]
[(DESC[ENDING]],...]

 Business Component is the name of the business component to sort on, if


contained in the overall business object.

 Sort is a reserved word that indicates a sort expression follows (as opposed to
Search).

 Field is the name of the field to sort on.

Sorting Through the Object Property Sort Specification

Assigning a sort expression to an object definitions Sort Specification property is


similar to the predefined querys expression; however, identifying the business
component and specifying the reserved word Sort is not required. The preceding
syntax would be assigned to an object definitions Sort Specification property as
follows:

1 [Close Date]
2 [Opportunity] (DESCENDING)
3 [Revenue]
4 [Revenue] (DESCENDING)
5 [Revenue] (DESC), [State]

B-20

Siebel Tools Guide Volume 2 of 2

Version 6.0

Operators, Expressions, and Conditions


Sorting Versus Searching

Sorting Through the User Interface

You can contrast sorting through the user interface with sorting through a
predefined query or through the Search Specification property. Sorting through the
user interface is available by using the sort buttons, to list applets only, not to form
applets.
To specify sort ascending or descending, after retrieving data, the end user selects
a list column to sort on by clicking on the list column header and clicking one of
the sort buttons. Currently, there is no user interface method for sorting on more
than one field.

Sorting Versus Searching

ORDER BY in the SQL is generated from the sort specification.


WHERE in the SQL is generated by the search specification.
NOTE: GROUP BY is not supported for business components.

Appendix Summary and Where to Get More Information


This appendix described the supported syntax elements for queries and for sort and
search specifications.
Table B-7 lists a source of additional information about topics discussed in this
appendix.
Table B-7.

Version 6.0

Source of Additional Information

For information about this topic . . .

. . . see the following

Complete definition of the data types for the Field object

Siebel Object Types Reference

Siebel Tools Guide Volume 2 of 2

B-21

Operators, Expressions, and Conditions


Appendix Summary and Where to Get More Information

B-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Application Run-Time Environment

About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-2


Run-Time Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-2
Command Line Execution Process . . . . . . . . . . . . . . . . . . . . . . . . . .C-2
Configuration File and .srf File Load Process . . . . . . . . . . . . . . . . . .C-3
Database Logon Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C-5
Visibility Establishment Process . . . . . . . . . . . . . . . . . . . . . . . . . . .C-7
Object and Data Interaction Process . . . . . . . . . . . . . . . . . . . . . . . . .C-9
Appendix Summary and Where to Get More Information . . . . . . . . . . . C-10

Version 6.0

Siebel Tools Guide Volume 2 of 2

C-1

Siebel Application Run-Time Environment


About This Appendix

About This Appendix

This appendix describes the Siebel application run-time environment for dedicatedclient applications.

Run-Time Model

This section explains what happens, step-by-step, between the time you start a
Siebel application and the time you first begin to interact with the displayed data.
When you start the application:

1 The command line is executed.


2 The configuration file and the compiled Siebel repository (.srf) file are loaded
and interpreted.
3 Logon to the DBMS occurs.
4 Visibility is established.
5 Object interaction with the database commences.
These steps are described in detail in the next sections.

Command Line Execution Process

When you invoke Siebel applications from an icon on the desktop or in the Start
menu, you are executing the command line specified in the properties of the icon.
That command line is similar to the following:
SIEBEL /D datasource /U username /P password /C SIEBEL.CFG

The word Siebel at the beginning of the command line calls for the execution of the
SIEBEL.EXE program, which is the Siebel application engine. The Siebel application
engine is the software that runs Siebel applications.

C- 2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Application Run-Time Environment


Run-Time Model

The /D, /U, /P, and /C expressions are command line switches or flags. These are
parameters being passed to the SIEBEL.EXE program. Table C-1 defines these and
other switches.
Table C-1.

Command-Line Switches

Switch

Definition

/D

Specifies the datasource, which consists of database access parameters


like server name, DBMS, and connect string.

/U and /P

Together specify the users logon and password.

/C

Specifies a configuration file.

/X

Switches on the ability to see View, Business Component, and Applet.

/H

Specifies that the VB debugger be made available.

/L

Current active language specifications.

/S

Client-side SQL log.

Configuration File and .srf File Load Process

The configuration file contains initialization settings for the application engine. It
specifies how the application engine is to load up and run, where it is to obtain its
data from, and so on. It is similar to the .ini files used by many Windows programs.
If a configuration file is not specified in the command line with the /C switch, the
SIEBEL.CFG file in the same directory as SIEBEL.EXE (generally c:\siebel\bin) is
used by default. A sample of the beginning of a configuration file follows:
[Siebel]
RepositoryFile="siebel.srf"
ApplicationName="Siebel Sales"
DataSource="Local"
ClientRootDir="c:\siebel"
TempDir="c:\siebel\temp"
(etc.)

Version 6.0

Siebel Tools Guide Volume 2 of 2

C-3

Siebel Application Run-Time Environment


Run-Time Model

The [Siebel] section at the top of the configuration file contains global settings that
indicate to the application engine how to start up. Of particular importance for
startup are the RepositoryFile and ApplicationName settings:

RepositoryFile. The RepositoryFile setting identifies the compiled Siebel


repository (.srf) file containing the set of object definitions to use when the
application engine executes. This set of object definitions specifies the behavior
of the application. SIEBEL.SRF is the default repository file in standard Siebel
Applications. The developer can create other repository files and specify which
one should be used here. The process for compiling a repository into a compiled
repository file is explained in Compiling Projects on page 5-31.

ApplicationName. The ApplicationName setting identifies the Application object


definition, within the specified repository file, that will be used in execution. An
application is the top level object definition in the User Interface Objects Layer.
In combination with its child object definitions, it selects the set of user interface
object definitions that define the user interface to appear.

Because of its RepositoryFile and ApplicationName settings, each configuration file


starts up a different application with a potentially different set of object definitions.
Therefore, each Siebel Application startup icon (for example, the icon for Siebel
Sales or Siebel Call Center) starts a different Siebel application, even though all such
icons invoke the SIEBEL.EXE program. In effect, the configuration file specified with
the /C switch creates a different Siebel application for each icon. Standard Siebel
applications provide a set of configuration files for the most commonly used
applications. You may provide your own Siebel icon with a modified configuration
file and reconfigured repository to support a reconfigured application.
In response to invoking a Siebel applications icon, the Siebel application engine
software starts up, the configuration file is loaded, and the compiled repository file
is identified and loaded.

C- 4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Application Run-Time Environment


Run-Time Model

Database Logon Process

After loading the configuration file and repository, the Siebel engine brings up the
logon dialog box. Although it would appear that the user is logging on to the Siebel
application, this happens only indirectly. The user is being prompted to select a
DBMS and database, and to enter the DBMS username and password that provides
entry into that database. Siebel applications does not maintain its own usernames
and passwords. Instead, it passes the username and password to the DBMS for
validation and to obtain access to database resources. The database username is
associated with privileges in Siebel Applications, but no separate username and
password for Siebel applications are used.
The Connect To picklist in the Logon dialog box allows you to specify a database to
log on to. The set of available databases appearing in the picklist is configured in
the [DataSources] section of the configuration file. A portion of the [DataSources]
section and related sections in a configuration file follow:
[DataSources]
Local="Local"
Server="Server"
Sample="Sample"
Internet="Internet"
Nameserver="Nameserver"
[Local]
Docked="FALSE"
ConnectString="c:\SIEBEL\local\sse_data.dbf -Q -m"
TableOwner="SIEBEL"
DLL="SSCDW55.DLL"
SqlStyle="Watcom"
MaxCachedCursors="16"
MaxCachedDataSets="16"
ReverseFillThreshold="100"
CaseInsensitive="FALSE"
InsensitivityFactor="2"
DockTxnsPerCommit="500"
DockConnString="CHANGE_ME"
SearchStyle="Fulcrum"
SearchConnectString="SEA Search c:/siebel"
SearchDefName="Fulcrum Sample"
[Server]
Docked="TRUE"
ConnectString="CHANGE_ME"

Version 6.0

Siebel Tools Guide Volume 2 of 2

C-5

Siebel Application Run-Time Environment


Run-Time Model

TableOwner="CHANGE_ME"
DLL="sscdo73.dll"
SqlStyle="Oracle"
MaxCachedCursors="16"
MaxCachedDataSets="16"
ReverseFillThreshold="100"
CaseInsensitive="FALSE"
InsensitivityFactor="2"
FileSystem="CHANGE_ME"
SearchStyle="Fulcrum"
SearchConnectString="SEA Search c:/siebel"
SearchDefName="Fulcrum Sample"

The [DataSources] section provides the list of database names that appear in the
Connect To picklist, and associates each database name with the name of a
configuration file section, such as [Local], [Server], and [Sample], that contains the
connection parameters for that database. Within each named datasource section
([Local], [Server], and so on) in the configuration file are parameters such as DLL,
which specifies the DBMS connector. Other parameters, such as ConnectString and
TableOwner, determine the database to use within the DBMS. The set of parameters
in each named datasource section is highly vendor-dependent.
NOTE: The term datasource in the [DataSources] section of the configuration file is

unrelated to datasources in Microsoft ODBC. The [Datasources] section in the


configuration file identifies individual databases and provides the parameter
settings to access them. ODBC datasources are used in other parameters in the
configuration file, however.

C- 6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Application Run-Time Environment


Run-Time Model

Visibility Establishment Process

After a successful logon to the DBMS, the Siebel application engine locates the
users database logon ID in the Employee business component in Siebel
applications. Anyone with administration access rights can view and maintain
employee records in Siebel applications. (To do that, you select the Screens
Application Administration Employees menu option.) Sample employee records
are shown in Figure C-1.

Login Name
text box

Responsibility
picklist

Position picklist

Figure C-1. Employee Records in Siebel Applications

Version 6.0

Siebel Tools Guide Volume 2 of 2

C-7

Siebel Application Run-Time Environment


Run-Time Model

Each employee record has a Login Name value assigned, which is the same as that
persons database username. This value makes it possible for the system to access
the users Employee record following database logon. Each employee record also
has a Position field and a Responsibility field. These two fields (each of which can
hold multiple values), in addition to the user logon, establish visibility for that user.
Visibility refers to the set of access rights that identify the portions of the application
and data that are visible to specific employees (users). The roles of Responsibility,
Position, and Login Name are explained briefly as follows:

Responsibility. A user can have one or more responsibilities assigned. A

responsibility is a class of multiple users who require access to the same set of
application features. A users responsibility (or set of responsibilities, if more
than one) identifies the views the user can navigate to in Siebel Applications. A
view is a set of applets (visual application units) that appear on the screen at the
same time. A user navigates to a view through menu options, screen tabs, or
drilldown features in other views. When a users responsibility does not include
a specific view, the ability to navigate to that view is disabled.

Login Name. The users login name is recorded in records that the user creates,
thereby providing Personal visibility to these records. In some business
components, such as Contact, it is also possible for an authorized user to assign
Personal visibility to a particular user.

Position. A user can have one or more positions assigned. The position describes
the persons job title in the organization, such as Marketing Assistant, Lead
Engineer, or Call Center Agent. The users position may appear in the Sales Team
for particular records, which provides Sales Team visibility to those records.
Sales Teams are updated through the territory assignment process. The position
is also used in determining if the user supervises persons who have visibility to
particular records. In this case the user has Manager visibility to those records.

In addition to visibility rules, which establish the users access rights to records
through a network to which the user is directly connected, there are routing rules.
The routing rules specify which records are to be propagated to mobile users. For
example, routing rules may limit a particular user to receiving only certain accounts,
thereby eliminating the unnecessary transmission of records for which the user has
no need.
Visibility and routing are described in detail in Chapter 8.

C- 8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Siebel Application Run-Time Environment


Run-Time Model

Object and Data Interaction Process

After visibility has been established, the user begins to navigate between user
interface features and to view the data. Object definitions are drawn from the .srf
file as needed.
The .srf file holds the same contents as the Siebel repository which is viewed and
maintained in Siebel Tools. However, the compilation process has converted the .srf
file to a form that is smaller and, due to internal indexes, faster at performing object
definition lookups.
When the application is loaded, the Siebel application engine loads and interprets
user interface object definitions, such as the application, screens, screen menus,
and page tabs, to lay out the workspace. It also interprets the users preferences file,
which stores information that the user has maintained in the Options dialog box in
Siebel applications. The preferences file settings control what default view (if any)
to load on startup, the colors and fonts, and so on. The users responsibilities and
other administration features related to user access to views are also checked, and
the set of menus and tabs adjusted accordingly.
When the default view appears, or when the user clicks a tab or menu item to
navigate to a view, queries obtain the database data for the first time. The applets
(individual application units) within the loaded view have a business component
assigned to each of them. Each business component specifies which columns from
which tables (and joins) are to be accessed to populate each applet. It also specifies
various other attributes and restrictions such as visibility rules based on position,
searching and sorting criteria, and so on.
The business object (logical business model) associated with the view also
establishes some context for the business components. For example, in a view in
which a one-to-many relationship is displayed with a master record in one applet at
the top and detail records from a different business component in another applet at
the bottom, the business object specifies the one-to-many relationship between the
two business components.
After the necessary business object and data object definitions are loaded and
interpreted, the application engine generates queries to send to the DBMS, and
obtains results tables. From the results of queries, data is available to populate the
controls and list columns in the applets. The application engine requests as little
data as possible in order to improve performance. For example, if not all of the fields
in a business component are displayed, only the displayed ones are requested (with
the exception of fields for which the ForceActive or LinkSpec property is set).

Version 6.0

Siebel Tools Guide Volume 2 of 2

C-9

Siebel Application Run-Time Environment


Appendix Summary and Where to Get More Information

An important concept, especially for programmers who will use the OLE interface,
is that of object instances. An object instance in Siebel Applications is a user
interface, business or data object that is active (present in memory) at the current
time. In the case of user interface object types, an instance refers to little more than
the object definition that is currently on screen. In the case of business object
definitions, especially business components, an instance also includes the set of
data records that are presently loaded as the result of queries.
You can have several instances of the same business component in memory at once,
each with its own result set. This is not possible with user interface object instances,
such as applets and views, since theres only one Siebel application window open
at any one time.
An object instance is ephemeral; it is generally released from memory as soon as
the user navigates to a view based on a different business object.

Appendix Summary and Where to Get More Information

This appendix described the Siebel application run-time environment.


Table C-2 lists sources of additional information about topics discussed in this
chapter.
Figure C-2. Sources of Additional Information

C- 1 0

For information about this topic . . .

. . . see the following

Compiling projects

Compiling Projects on page 5-31

Visibility and routing

Chapter 8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines

About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3


Object Definitions You Should Not Reconfigure . . . . . . . . . . . . . . . . . . D-3
Copying vs. Modifying Object Definitions . . . . . . . . . . . . . . . . . . . . . . D-4
Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-5
Business Components and Business Objects . . . . . . . . . . . . . . . . . . . . . . D-6
Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-6
Pick Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-6
Guidelines for Business Components . . . . . . . . . . . . . . . . . . . . . . . . . D-7
Specialized Business Component Classes . . . . . . . . . . . . . . . . . . . . D-7
Unused Business Components and Business Objects . . . . . . . . . . . . D-8
Defining System Fields in Business Components . . . . . . . . . . . . . . . D-8
Visibility Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-9
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-9
Guidelines for Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-10
Applet Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-11
Unused Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-12
Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-12
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-12
Applet Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-14
Guidelines for Controls and List Columns . . . . . . . . . . . . . . . . . . . . . . D-15
Exposing System Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-15
Unused Controls and List Columns . . . . . . . . . . . . . . . . . . . . . . . . D-16
Text Controls and List Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16
Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-1

Configuration Guidelines

Check Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-16


Controls and List Columns in Association Applets . . . . . . . . . . . . . D-17
Naming Conventions for Controls and List Columns . . . . . . . . . . . . . . . . D-18
Guidelines for Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-19
Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-19
Unused Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-19
Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-20
View Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-21
Additional Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-22
Naming for Various Object Types . . . . . . . . . . . . . . . . . . . . . . . . . D-22
SQL Queries Against Database Data

. . . . . . . . . . . . . . . . . . . . . . . D-22

Appendix Summary and Where to Get More Information . . . . . . . . . . . D-23

D-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
About This Appendix

About This Appendix

This appendix describes guidelines to follow when you are doing Siebel application
configuration. It explains when to modify, copy, or create object definitions; lists
visibility considerations; and discusses how to work with specialized business
classes. It also includes recommendations on naming conventions.

Object Definitions You Should Not Reconfigure

Siebel Tools, as an application, should not be reconfigured like other applications


such as Siebel Sales and Siebel Service. Even though the Siebel Tools application is
implemented as applets, views, and so on in the Siebel repository, developers
should not attempt to make modifications. You may cause application errors, and
will make your configurations difficult for Siebel Technical Support personnel to
understand and support.
In particular, object definitions whose names start with the word Repository, such
as the applet called Repository Business Component List Applet and the view called
Repository Chart Element List View, should be left alone by customer developers.
Additionally, a number of object types are reserved for Siebel developer use, such
as Class, String Map, Type, DLL, and Attribute, and are not available for use by
customer developers. These are non-configurable object types, and are listed in the
Siebel Object Types Reference. Do not delete, modify, or add object definitions of
these types.
Inactive object definitions in the repository are not supported for customer use.
Customer developers should not activate object definitions other than those that
were deactivated by the customer. The repository is used as a work area by Siebel
developers, and contains some inactive object definitions. These object definitions
may be obsolete or under construction, and are intended to be removed or finished
in a future release.
NOTE: Tables in the data model and utility SQL scripts also may not be available for

customer use, even though they are present in standard Siebel applications.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-3

Configuration Guidelines
Copying vs. Modifying Object Definitions

Copying vs. Modifying Object Definitions

Sometimes developers and development teams create their own copies of standard
(Siebel-provided) business components and applets, using the Copy Record option,
and use these instead of the corresponding standard object definitions. This is a
risky practice that could easily cause problems during subsequent upgrades of
Siebel applications. Here are some of the reasons why copying can be problematic:

Copying can create problems difficult to debug. Functionality is often added to most

of the standard business components during major releases. Very often this new
functionality depends on the existence of new fields, joins, and so on, that are
added to the standard business components. During the upgrade these new
fields are only added to the standard business components in your merged
repository. The Application Upgrader does not look through the repository for
all your custom business components to bring them into line with the standard
ones that you copied them from.
Copying results in problems following the upgrade, and these are difficult to
locate and debug. The errors often occur because some C++ code for the
business component or applet class is trying 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 standard
business component and add any new fields and other child object definitions
that may have been added in the new release. This may be a complex process,
requiring detailed knowledge of what has changed in the new release.

Copying creates redundancy. Creating new copies of business components and

applets results in considerable redundancy in your configuration. For example,


if you create a copy of the Account business component called My Account, and
use this on all of the account-based views, you now have to create copies of
every account-based applet and point each to the new My Account business
component. You probably will also have to create a new business object, screen,
and so on. It results in considerable additional configuration with little or no
benefit.

D-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Copying vs. Modifying Object Definitions

Copying increases, not reduces, difficulties. Developers can make copies of object

definitions because they mistakenly believe that doing so will reduce problems
during an upgrade. The assumption is that if the business component is called
My Account, the Application Upgrader will leave it alone during the upgrade,
resulting in no problems after the upgrade. However, this is not the case, and the
problems you will have with an upgraded configuration containing copied object
definitions will typically be more complex to solve, by a considerable margin,
than the problems you'll have with reused object definitions. It is far easier to
go through your application after an upgrade and remove various new controls
and list columns from a standard applet than it is to go through each custom
business component and applet and work out what fields, joins, multi-value
links, and so on to add.
In short, you should modify existing object definitions wherever possible, and avoid
using the Copy Record option except when it is truly needed. This being said, there
are nevertheless a few special situations in which you should make a copy of an
existing object definition. Some of these situations are described in detail in the
subsections below. As a general rule, unless you are certain that you need to make
a copy of an object definition, you should modify an existing object definition
instead.

Applets

Modify, rather than copy, an applet, unless you are making extensive modifications
to the applet. This avoids having to change all references of that applet to the new
copy.
The following are examples of situations in which you might need to copy an applet:

 When you must extensively modify an existing applet.


 When you need a Read Only copy of an existing applet.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-5

Configuration Guidelines
Copying vs. Modifying Object Definitions

Business Components and Business Objects

Modify, rather than copy, business components and business objects, except in the
following instances:

 Create a new business component or business object if it is a completely new


construct that serves a role unlike any existing object definition. For example,
you may need to create a new business component or business object when you
add a new base table to the database.

 Copy a business component if you need that business component to appear


twice in a business objectfor example, Accounts and Sub Accounts in the same
view.

 Copy a business component if each copy of the business component must


contain different SearchSpecs and field-level PreDefaultValues. In this instance,
a copy would make sense even though the business components may not appear
in the same business object.

Controls

Controls are only associated with one applet, so you may safely copy a control from
one applet to another.

Pick Applets

Try to reuse pick applets, rather than creating new ones. If different fields are
exposed in the applet, specify a different pick map. If a different user interface is
required in a dialog box, specify a different pick applet.
Occasionally you may need to create a new pick applet if one doesnt already exist
with the required properties (such as Bounded or NoInsert) for the business
component.

D-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Business Components

Guidelines for Business Components

Specialized Business Component Classes

Each business component definition in Siebel applications has a Class property.


This property specifies the name of the C++ class associated with the business
component and dictates the behavior of the business component. Most business
components are not defined with a specialized class as they are derived from the
base Siebel C++ class. Some existing business components in Siebel applications are
associated with specialized C++ classes. All specialized business component classes
are subclasses of the base business component class (thus they automatically
inherit all the behavior defined in the base class). These specialized business
component classes define behavior that cannot be modified through configuration.
For example, the Person Forecast business component uses a specialized C++ class,
CSSBCRevenueForecast. This class dictates that each time users submit their current
forecast, a new forecast record will be created. This behavior is controlled by the
specialized C++ class and cannot be removed through configuration.
Use of a specialized business component class may disable the sort specification in
the Sort Specification property.
Use caution when inactivating or modifying existing object definitions on business
components that are defined by a specialized C++ class. For example, if a field on a
specialized business component is not relevant to your implementation, then do not
inactivate or delete that definition. Instead, you should remove visibility to the field
by removing it from the user interface.
When you create new business components, you should avoid copying specialized
business components, unless you want to create an identical copy of the original
business component and plan to make only very minimal changes. For example,
suppose you want to create a Closed Opportunity business component that displays
closed opportunities for read-only purposes. In this instance, you would copy the
Opportunity business component (defined by specialized class CSSOppty), add the
Read Only property, and change the Search Specification property to reflect how you
define an opportunity as closed. The underlying behavior of the new business
component remains the same as the original business component.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-7

Configuration Guidelines
Guidelines for Business Components

Do not copy a specialized business component if you only need to reproduce an


isolated feature associated with that business component. For example, the Create
Opportunity button on the Campaign Contact applet cannot be copied onto another
contact applet to reproduce the behavior associated with it. The behavior of the
button is defined by the CSSFrameCampaignContactList applet class and the
CSSBCCampaignContact business component class, and it will work only in a view
based on the Campaign business object and when the parent applet is based on the
Campaign business component.
If you copy a non-specialized business component, you should remove all
redundant code copied with the business component. For example, suppose the
original business component has an address multi-value link that is not relevant for
the new business component. In this instance you should remove the multi-value
link and any multi-value fields associated with it. Be careful when removing any
field that may be associated with visibility rules, such as fields linked to the Position
business component.

Unused Business Components and Business Objects

You should not modify the business object and business component definitions that
you are not using in your implementation. Do not delete or inactivate these
definitions as they may be referenced (and thus needed) by other object definitions
in other projects.
If they are not included in your application, you may receive compile or run-time
errors.

Defining System Fields in Business Components

Do not explicitly define system fields for a business component. Siebel applications
automatically populates the UPDATE, UPDATED_BY, CREATED, and CREATED_BY
columns during insert. If you define fields that are based on these columns, Siebel
applications will attempt to write a value to these columns twice in the Insert
statement and this will cause a duplicate column SQL error.

D-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Business Components

Visibility Considerations

Although it is possible to modify the visibility rules defined by the user interface,
Siebel Remote visibility rules will still determine which records are downloaded to
a remote users machine.
For example, you can configure a view to give an end user access to all opportunities
in the database. When connected to the server database, the end user would then
see all opportunities in the database. However, when running in disconnected mode
against their local database, users would still see only the opportunities that Siebel
Remote determines should be downloaded to the local database. That is, users will
see only the opportunities on which they are sales team members and which are
associated with an account, contact, or activity to which they have access.
When creating a new business component, always check that your visibility
requirements are satisfied by the Siebel Remote visibility rules applied to the parent
business component, and to the base table for the business component.
For example, Siebel Remote does not consider the S_NOTE table when finding notes
associated with an account. If you create a business component that stores accountrelated records in the S_NOTE table, these records are not synchronized by Siebel
Remote.

Naming Conventions

The following general conventions apply to business components and business


objects:

 Business component and business object names must be unique and


meaningful. Avoid naming new business components or business objects by
adding a number suffix to an existing name (for example, Account 2). This type
of name does not clearly communicate how the new object definition differs
from the original one. For example, if you create a new business object to
support a unique account screen for your Telesales group, you might call the
business object Telesales Account to clearly indicate its intended use.

 You should name all new business components and business objects with a
prefix that identifies your company. For example, ABC Incorporated could name
a new object definition ABC Telesales Account. This approach makes it easy to
identify the object definitions in the repository that are not object definitions
defined by Siebel. This approach also makes it easy to query for your newly
defined object definitions and simplifies upgrading your repository.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-9

Configuration Guidelines
Guidelines for Applets

 Initial-capitalize business component and business object names, for example,


Account rather than account. This prevents unexpected sorting behavior in the
Object List Editor.

Guidelines for Applets

Your design and configuration projects should produce a consistent and intuitive
user interface. Where possible, applets that display the same business component
should be consistent across different screens and views. For example, the contact
list displayed for an opportunity should be consistent with the contact list displayed
for an account. Where possible, reuse applet definitions between different views
and screens. Obvious exceptions include redundant fields and fields that are
relevant only to the current master business component. For example, you would
display the contacts account information when displaying opportunity contacts,
but not when displaying account contacts.
This recommendation does not necessarily apply when comparing list and form
applets. When space is limited, it may be practical to include list columns at the end
of a list applet that are not displayed on the associated form applet.
Most applet modifications can be grouped in one of the following categories:

 Applets that closely align with an existing list applet in Siebel applications but
require minor configurations such as a title change, commenting out or adding
controls or list columns, and changing labels. The recommended approach for
this category of applet is to modify the existing applet definition and layout.

 Applets that represent a relationship already existing in Siebel applications (for


example, opportunity contacts) but require extensive modification of the
existing applet to produce a new applet layout. Modifications are considered to
be extensive if the new applet requires a large combination of different
configurations, such as reordering of existing controls or list columns and
commenting out and adding new ones. In these instances you should create a
new applet definition by copying an applet it most closely resembles. The
resulting configuration will be much cleaner and much easier to maintain and
upgrade.

 List applets that do not have equivalent applets in Siebel applications. These are
typically applets that expose a new business component. In these instances you
should create a new applet.

D-10

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Applets

Certain business components, such as Territory, Employee, and Position, are not for
direct modification in applets and views, although developers sometimes assume
that these can be exposed. These can only be modified through the corresponding
administration views.

Applet Classes

Applet behavior is managed by the C++ class specified in the applets Class
property. This value is typically one of the following four standard classes provided
by Siebel:

 CSSFrame (form applets)


 CSSFrameList (list applets)
 CSSFrameTree (tree applets)
 CSSFrameChart (chart applets)
All specialized applet classes are a subclass of one of these four classes.
Specialized applet classes are associated with a specialized business component
(based on a specialized C++ business component class). Their behavior may
depend on the presence of certain fields, and you will receive a run-time error if
these fields are not defined.
For example, the specialized applet class CSSFrameListActivity references a field
called Duration when querying existing records. If the business component on
which a CSSFrameListActivity applet is based does not have the Duration field
defined, Siebel applications will generate a run-time error.
You should use one of the two standard classes (CSSFrame and CSSFrameList) for
new applets, unless you want to create a new applet based on an existing
specialized business component (for example, Action). In this instance, you would
use the specialized applet class. Specialized classes are discussed in the section
Guidelines for Business Components on page D-7.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-11

Configuration Guidelines
Guidelines for Applets

Unused Applets

Do not modify or delete applets that are not used in your implementation. Also, you
do not need to set the Inactive property for the definition to TRUE. Simply leave the
applet as defined, and dont include it in any views.
You incur minimal overhead from the unused applets during compilation.

Online Help

Always define HelpIds for applets and list columns. Also, for every control and list
column in the product, define a hint prompt in the Messages view. For all standard
list columns and controls that you have changed, verify that the HelpIds and hint
prompts are still appropriate. For more information on HelpIds, refer to the Siebel
Online Help Developers Guide.

Naming Conventions

The following are general naming recommendations for applets:

 Name all new applets with a prefix that identifies your company. For example,
ABC Incorporated could name a new applet ABC Opportunity List Applet.

 Avoid using special characters in applet names. Use only alphanumeric


characters.

 Applet names should be meaningful. Avoid adding a number suffix (for


example, ABC Opportunity List Applet 2) to an applet name. For example, if the
applet differs because it does not allow drill down, then indicate this in your
applet name (ABC Opportunity List Applet - Without Drill Down).

 Initial-capitalize applet names, for example, Account List Applet rather than
account list applet.

D-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Applets

The type of applet should be included in the name just before the word applet, as
shown in Table D-1.
Table D-1.

Naming Conventions for Applets

Type of Applet

Name Format

Example

Association applets

xxx Assoc Applet

Opportunity Assoc Applet

Multi-value group applets

xxx Mvg Applet

Fulfillment Position Mvg Applet

Pick applets

xxx Pick Applet

Order Status Pick Applet

List applets

xxx List Applet

Account List Applet

Form applets

xxx Form Applet (if the


applet does not contain
buttons)

Account Form Applet

xxx Entry Applet (if the


applet contains buttons)

Version 6.0

Account Entry Applet

Chart applets

xxx Chart Applet - yyy


Analysis [By zzz]

Bug Chart Applet - Severity


Analysis

Tree applets

xxx Tree Applet

List of Values Tree Applet

Siebel Tools Guide Volume 2 of 2

D-13

Configuration Guidelines
Guidelines for Applets

Applet Titles

The applet title is the value in the Title property. It determines what displays in the
tab at the upper left of an applet in a view, or in the title bar of a popup applet.
Follow these general guidelines when creating applet titles:

 Always specify an applet title. Do not leave this property blank.


 No two applets in the same view should have the same title. If a view contains
multiple applets displaying data from the same business component, distinguish
the titles by type. For example, in a list-form view displaying accounts, use
distinct titles such as Account List and Account Form.
Table D-2 offers standard conventions for the titles of certain applet types.
Table D-2.

Title Conventions for Applets

Type of Applet

Title Format

Example

Association applets

Add buscomp_name(s)

Add Opportunities

Multi value group


applets

buscomp_name(s)

Contacts

Pick applets

Pick buscomp_name(s)

Pick Product

List applets

buscomp_name List

Account List

Form applets

buscomp_name Form

Account Form

buscomp_name Entry

Account Entry

xxx Analysis

Open Defect Analysis

Chart applets

or

Tree applets

D-14

Siebel Tools Guide Volume 2 of 2

xxx by yyy

Lead Quality By Campaign

buscomp_name(s)

Opportunities

Version 6.0

Configuration Guidelines
Guidelines for Controls and List Columns

Guidelines for Controls and List Columns

The following sections list general guidelines for creating and modifying controls
and list columns.

Exposing System Fields

To expose system fields in the user interface, you create either a list column (within
a list applet) or a control (within an entry applet).

To define a list column object


1 Create a new list column object.
2 Enter a list column field property of xxxx where xxxx represents the system
field that maps to the system columns. The system fields are listed inTable D-3.
Table D-3.

Available System Fields

Field

Description

Updated

System date and time the record was last updated.

Updated by

Login ID of the person who last updated the record.

Created

System date and time the record was initially created.

Created by

Login ID of the person who initially created the record.

Id

Row ID of the record.

3 Enter a display name property for the list column (for example, Last Updated).

To define a control object


1 Create a new control object.
2 Enter a Control Name property of Last Updated where the text describes what
you are attempting to expose.
3 Enter the Control Field property of xxxx where xxxx represents the system
field you are attempting to expose.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-15

Configuration Guidelines
Guidelines for Controls and List Columns

Unused Controls and List Columns

Set the Visible property to FALSE if the control or list column is Siebel-created, and
delete it if user-created.

Text Controls and List Columns

Follow these guidelines when creating text controls or list columns:

 Use the appropriate pop-up device wherever possible to ease data entry. For
instance, you should associate a calendar widget with a date field, and a multiline edit box with a multi-line text field.

 Left-align data unless you have a specific reason to center or right-align it.

Buttons

To create a new button, click the button icon in the Control toolbar and draw the
button on the applet layout. You can alter the size of a button to accommodate a
longer or shorter button label.

Check Boxes

Follow these guidelines when defining check boxes:

 In form applets, position the label to the left of the check box. Right-align and
vertically center the label.

 Consider whether a check box is the appropriate way to display the data. In
situations where the data does not map well to a yes/no response, or where the
meaning of the unchecked value is not obvious, it is better to use a list of values.
For example, instead of a check box labeled Standard, use a text box labeled
Shipping Method, with a list of values containing Standard and Next Day.

 Avoid negatives. For example, instead of Not Required, use Optional.

D-16

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Controls and List Columns

Controls and List Columns in Association Applets

All controls and list columns in an association applet must reference a


corresponding field in the business component that is being associated. Examine
the details of the Source Assoc Applet that is called from the Source MVG Applet on
the Opportunity Entry Applet. All controls and list columns on the association
applet reference a corresponding field on the Source business component.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-17

Configuration Guidelines
Guidelines for Controls and List Columns

Naming Conventions for Controls and List Columns

A control (except for a button, prompt, or system control) must correspond to a field
on the business component on which the applet is based. The controls Name
property should have the same value as the fields Name property.
Follow these guidelines when creating display names:

 Use the same display name for an underlying field in every applet in which it
appears.

 Avoid using abbreviations when enough room is available for you to spell out
the word. For example, when there is sufficient space, use Opportunity instead
of Oppty.

 When you must abbreviate, use the same abbreviation throughout the
application. For example, always use Account Num and do not switch between
Account Num, Account No., and Account #.

 Initial-capitalize control and list column names, for example, Account Num
rather than account num. This prevents unexpected sorting behavior in the
Object List Editor.

D-18

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Views

Guidelines for Views

The following sections give guidelines for naming views, handling unused views,
and choosing a view layout.

Threads

Views associated with more than one screen in a given application will cause
incorrect behavior in Siebel applications. When the thread is saved in the session
file, the name of the view is saved without the name of the associated screen. When
the end user chooses a thread that navigates to a duplicated view, the Siebel
applications will always navigate to one screen onlyeven if the thread was created
in the other screen. Furthermore, if the duplicate view is defined as the default view
on both tabs, the end user will see an anomaly in the user interface. Siebel
applications will select one tab as the active tab when either of the tabs is selected.
The duplicate tab will never appear to be active.

Unused Views

If your implementation does not utilize a view definition provided by Siebel, use the
Responsibility List Administration view to disassociate the redundant view from any
responsibilities used by your organization. Inactivation or deletion of the view
definition is not required. This approach helps to reduce the amount of
configuration that you need to maintain and upgrade. It also provides for an easy
upgrade path should you decide to expose the view in a later phase. At that time no
configuration or software upgrade would be required; you would merely reassign
the view to the relevant responsibility.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-19

Configuration Guidelines
Guidelines for Views

Naming Conventions

The following are general recommendations for view naming:

 Name a new view using a prefix that identifies your company. For example, a
new view created for ABC Incorporated could be named ABC Opportunity
Detail - Tasks View.

 View names should be meaningful. Avoid naming new views by adding a


number suffix to an existing name (for example, Opportunity List View 2). If the
view differs because it is read only, then indicate this in your view name (for
example, ABC Opportunity List View - Read Only).

 Initial-capitalize view names, for example, Opportunity List View rather than
opportunity list view.
In addition, note the conventions in Table D-4 for specific view types.
Table D-4.

D-20

Naming Conventions for Views

Type of View

Name Format

Example

List-form view

buscomp List View

Account List View

Master-detail view

buscomp1 Detail - buscomp2 View

Opportunity Detail Contacts View

Explorer view

buscomp Explorer View

Account Explorer View

Chart view

buscomp Chart View - xxx Analysis

Account Chart View - State


Analysis

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Guidelines for Views

View Titles

There are three different titles displayed for a view, as follows:

Title bar of the Siebel application window. The title appears in the title bar, prefixed

by the application name and a hyphen, as in Siebel Sales - Account List View.
This is specified in the Title property of the view.

View bar tab. In the View bar in the appropriate screen, the tab that navigates to
this view. This is specified in the Viewbar Text property of the corresponding
screen view object definition.

Screens menu suboption. In the Screens menu, as a suboption of the appropriate


screen, the menu option that navigates to this view. This is specified in the Menu
Text property of the corresponding screen view object definition.

Keep these three title definitions consistent for one view. If at all possible, the text
should be identical in all three.
If a view specifies a visibility mode, as indicated by a non-blank Visibility Applet
Type property, the title (in all three locations) needs to identify the visibility mode,
as indicated in Table D-5.
Table D-5.

View Titles by Visibility Mode

Visibility Mode

Title Format

Example

Sales team visibility

My buscomp(s)

My Contacts

Personal visibility

My Personal buscomp(s)

My Personal Contacts

Manager visibility

My Teams buscomp(s)

My Teams Opportunities

All visibility

All buscomp(s)

All Accounts

For more information on visibility modes, refer to Chapter 8.

Version 6.0

Siebel Tools Guide Volume 2 of 2

D-21

Configuration Guidelines
Additional Guidelines

Additional Guidelines

Brief guidelines that do not fit in any of the preceding sections are included here.

Naming for Various Object Types

Naming conventions that were not discussed in the preceding sections are listed in
Table D-6.
Table D-6.

Naming Conventions for Various Object Types

Object Type

Name Format

Example

Column

X_xxx for custom extension column

X_HOBBY

Join

name of the joined table

S_ORG_EXT
S_CONTACTS

Link

buscomp1/buscomp2

Account/Account Service
Agreement

List

List (a literal)

List

Screen

busobject(s) Screen

Opportunities Screen

Table

S_xxx for data table

S_CONTACT

S_xxx_X for one-to-one extension table

S_ACCNT_SRC_X

S_xxx_XM for one-to-many extension table

S_ASSET_XM

S_xxx_IF for one-to-one interface table

S_PRI_LST_IF

S_xxx_XMIF for one-to-many interface table

S_ORG_EXT_XMIF

SQL Queries Against Database Data

The database underlying Siebel applications can be queried to obtain information


on a read-only basis. However, update queries should never be performed on the
database. All data manipulation and restructuring should be performed through
Siebel Tools or an end-user Siebel application such as Siebel Sales.

D-22

Siebel Tools Guide Volume 2 of 2

Version 6.0

Configuration Guidelines
Appendix Summary and Where to Get More Information

Appendix Summary and Where to Get More Information


This appendix described guidelines to follow when you are doing Siebel application
configuration.
Table D-7 lists sources of additional information about topics discussed in this
appendix.
Table D-7.

Version 6.0

Sources of Additional Information

For information about this topic . . .

. . . see the following

Configuration guidelines: architectural


consideration

Configuration Guidelines:
Architectural Considerations on
page 3-23

Configuration guidelines: project structure


considerations

Configuration Guidelines: Project


Structure Considerations on
page 5-34

Siebel Tools Guide Volume 2 of 2

D-23

Configuration Guidelines
Appendix Summary and Where to Get More Information

D-24

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Properties

About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2


Supported User Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . E-2
Appendix Summary and Where to Get More Information . . . . . . . . . . . E-11

Version 6.0

Siebel Tools Guide Volume 2 of 2

E-1

User Properties
About This Appendix

About This Appendix

This appendix describes the user properties supported in Siebel applications.

Supported User Properties

User properties are object definitions that are added as children to an applet,
business component, control, field, or list column to configure specialized behavior
beyond what is configured in the parent object definitions properties.

E-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

User Properties
Supported User Properties

The user properties that are supported for customer use are listed in Table E-1.
.

Table E-1.

Supported User Properties

(Sheet 1 of 8)

User
Property

Functional
Area

Parent
Object Type

DataCleansing Field n
(where n is an integer)

Data Quality

Business
Component

Each DataCleansing Field n


property specifies a
correspondence between a field
name in the FirstLogic application
and a field name in Siebel
applications. The Value property
in the user property consists of a
pair of text strings, separated by
commas, each string enclosed in
double-quotes. The first string in
the pair is the FirstLogic name; the
second is the Siebel name.

Chapter 15

DataCleansing Type

Data Quality

Business
Component

Has as its value Contact, Account,


or Address. It specifies to the
FirstLogic application what kind
of data is being validated. The
Contact type indicates that the
data consists of person name
records, the Account type
indicates that it consists of
business or office name records,
and the Address type indicates
that it consists of postal addresses.
Data cleansing operates differently
on each of these types. For
example, business components
with Address cleansing have
reconciliation performed between
address fields and the zip (Postal
Code) field. All types have
capitalization validated.

Chapter 15

Version 6.0

Description

Where
Documented

Siebel Tools Guide Volume 2 of 2

E-3

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 2 of 8)

User
Property

Functional
Area

Parent
Object Type

DeDup Token Value

Data Quality

Business
Component

You can modify the dedup token


calculation expression for a
business component by changing
the value in its DeDup Token
Value user property. You change
the calculation expression to
adjust the filtering that generates
the candidate set. A larger or more
restricted candidate set may be
desired, or a field may need to be
added to or removed from the
expression. Calculation
expressions for dedup tokens
follow the same syntax rules as
calculated fields.

Chapter 15

DeDuplication Field n
(where n is an integer)

Data Quality

Business
Component

Sets up a correspondence between


a FirstLogic field and field in the
business component. The value
consists of a pair of quoted strings
in double quotes, separated by a
comma, with the first string
identifying the FirstLogic field
name and the second string
identifying the Siebel name. The
set of fields mapped in
DeDuplication Field user
properties is the set of fields that is
passed in records in the candidate
set to the FirstLogic applications.
The candidate set consists of
records with a dedup token
exactly or partially matching the
calculated dedup token of the
record being added or modified,
and therefore representing
possible duplicates.

Chapter 15

E-4

Siebel Tools Guide Volume 2 of 2

Description

Where
Documented

Version 6.0

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 3 of 8)

User
Property

Functional
Area

Parent
Object Type

DeDuplication Results
Applet

Data Quality

Applet

Specific to prospects. This user


property is added to the applet
from which deduplication is
invoked. The value in the user
property is the name of the pick
applet that is to be used to prompt
the user to resolve duplicates,
typically DeDuplication Results
(Prospect) List Applet.

Chapter 15

DeDuplication Results
BusComp

Data Quality

Business
Component

Specific to prospects. This user


property is added to the business
component upon which
deduplication is being performed.
The value in the user property is
the name of the business
component that will hold the
returned data, typically
DeDuplication Results (Prospect).

Chapter 15

BC Read Only Field

Data-Driven
Access
Control

Business
Component

Specifies a TRUE/FALSE field in


the record that, when TRUE,
causes the current record to
become read-only.

Configuring
Data-Driven
Read-Only
Behavior on
page 18-11

Field Read Only Field:


fieldname

Data-Driven
Access
Control

Business
Component

Specifies a TRUE/FALSE test field


and a target field in the same
business component. When the
TRUE/FALSE field is true, the
target field becomes read-only.

Configuring
Data-Driven
Read-Only
Behavior on
page 18-11

Parent Read Only Field

Data-Driven
Access
Control

Business
Component

Specifies a TRUE/FALSE test


business component/field
combination in the parent chain
(parent, grandparent, and so on)
that, when TRUE, causes the
target business component to
become read-only.

Configuring
Data-Driven
Read-Only
Behavior on
page 18-11

Recipient E-mail
Address Field

Email/Fax

Business
Component

The name of the field in the parent


business component that holds
the email address; for example,
the Email Address field in the
Contact business component.

Chapter 9

Version 6.0

Description

Where
Documented

Siebel Tools Guide Volume 2 of 2

E-5

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 4 of 8)

User
Property

Functional
Area

Parent
Object Type

Recipient Fax Phone


Field

Email/Fax

Business
Component

The name of the field in the parent


business component that holds
the fax phone number; for
example, the Fax Phone # field in
the Contact business component.

Chapter 9

Recipient Id Field n
(where n is an integer)

Email/Fax

Business
Component

A comma-delimited list of three


required values and an optional
fourth value. These are:

Chapter 9

Description

Where
Documented

Id Field Name. Identifies the


foreign key field in the parent
business component that points to
records in the joined business
component.
Business Component. Identifies
the joined business component.
Label. The text of the label to
appear for this generic recipient in
the Message Properties window,
such as Service Request Owner.
Field Name in Target Business
Component (optional). Include
this value if the field name is other
than Id.
DefaultPrefix

E-6

File
Attachments

Siebel Tools Guide Volume 2 of 2

Business
Component

Specifies the text of the prefix used


in the names of the Siebel File
Engine-based field object
definitions. These are fields which
are based on the base table for the
business component. (There may
be fields which are based on a
joined table, and these will have a
different prefix.) For the Account
Attachment business component
in the example, the prefix is
Accnt, which appears in field
names such as AccntFileName
and AccntAutoUpdFlag.

File
Attachment
Applets on
page 22-37

Version 6.0

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 5 of 8)

User
Property

Functional
Area

Parent
Object Type

FileMustExist

File
Attachments

Business
Component

This is a TRUE/FALSE value


indicating whether or not the user
can enter the name of a file to be
provided later. Typically this is set
to TRUE, indicating that the file
must already exist in order to add
it as an attachment.

File
Attachment
Applets on
page 22-37

SequenceField

Sequence
Fields

Business
Component

Used in configuring a sequence


field. Added to the numbered
detail business component. Set the
Name property value to Sequence
Field, and the Value property to
Line Number. The value of Line
Number references the
DTYPE_NUMBER field named
Line Number that holds the
resulting sequence value.

Sequence
Fields on
page 18-22

Version 6.0

Description

Where
Documented

Siebel Tools Guide Volume 2 of 2

E-7

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 6 of 8)

User
Property

Functional
Area

Parent
Object Type

BrowserType

Web Applets

Applet

Description
This user property tells the system
which kind of Web browser to
open, whether it is to open within
the Siebel applications window,
and what to do if unsuccessful.
The BrowserType value can be:

Where
Documented
Web
Browser
Applets on
page 22-46

RTF. Indicates that the destination


is an .rtf (Rich Text Format) file,
and that an .rtf viewer application
is to be used rather than a Web
browser.
Web. Indicates that Internet
Explorer is installed and that the
applet is to run Internet Explorer
from within the Siebel
applications window. If
unsuccessful, the browser should
be launched from Windows,
outside of Siebel applications.
Embedded. Indicates that the
applet is to run Internet Explorer
from within the Siebel application
window. If unsuccessful, the
operation should halt.
External. Indicates that Netscape
or IE should be invoked from
Windows, outside of the Siebel
application window.
The default is Web. If this user
property record is omitted this
default will be assumed.
SWE:Login

E-8

Web Applets

Siebel Tools Guide Volume 2 of 2

Applet

This Y/N value tells the system


whether the browser applet can
log on to the Siebel Web engine
server address without the users
being prompted for a logon ID and
password. If Y is entered in the
Value property, the user will be
logged into the SWE server
automatically. If N, the user is
prompted to log in.

Web
Browser
Applets on
page 22-46

Version 6.0

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 7 of 8)

User
Property

Functional
Area

Parent
Object Type

SWE:LoginAuxCmd

Web Applets

Applet

Description
This Y/N value tells the browser
whether to open with an empty
window (and wait for the user to
indicate that it is OK to proceed to
the URL). Y in the Value property
indicates to open with an empty
window and wait; N indicates to
go directly to the URL. The default
is N. If this user property record is
omitted this default will be
assumed.

Where
Documented
Web
Browser
Applets on
page 22-46

Used when an applet control


(button) is associated with the
browser navigation method.
URL00:

Web Applets

Applet

This is either a complete Web


address or the first piece of a Web
search specification.

Web
Browser
Applets on
page 22-46

URLnn:
(where n is an integer)

Web Applets

Applet

In a Web browser applet, a search


specification URL is constructed
from URLnn: user property rows,
where nn is an integer value in
sequential order starting from 0.
The resulting data (or literal text)
from each URLnn row in
sequential order is appended to
the prior ones to construct the
complete URL string.

Web
Browser
Applets on
page 22-46

The search specification URL can


include literal text values. To
insert a literal text value in part of
the URL string, use a Name
consisting of URLnn: and a Value
consisting of the literal text you
want included.
URLnn:Emb

Version 6.0

Web Applets

Applet

Can be substituted for URLnn: in


the Name property. This property
name returns the Web address for
running against the production
(Server or Local) database with an
embedded browser.

Web
Browser
Applets on
page 22-46

Siebel Tools Guide Volume 2 of 2

E-9

User Properties
Supported User Properties

Table E-1.

Supported User Properties

(Sheet 8 of 8)

User
Property

Functional
Area

Parent
Object Type

URLnn:Ext

Web Applets

Applet

Can be substituted for URLnn: in


the Name property. This property
name returns the Web address for
running against the production
(Server or Local) database with an
external browser.

Web
Browser
Applets on
page 22-46

URLnn:Field
(where n is an integer)

Web Applets

Applet

Enables the search specification


URL to include a value derived
from the current business
component record, to make the
search specific to the context in
Siebel applications. Enter the
name of the field in the business
component in the Value property.

Web
Browser
Applets on
page 22-46

URLnn:Login
PositionId

Web Applets

Applet

Can be substituted for URLnn: in


the Name property. This property
name returns the Position ID of
current client user.

Web
Browser
Applets on
page 22-46

URLnn:LoginId

Web Applets

Applet

Can be substituted for URLnn: in


the Name property. This property
name returns the User ID of the
current Siebel applications user.

Web
Browser
Applets on
page 22-46

URLnn:Samp

Web Applets

Applet

Can be substituted for URLnn: in


the Name property. This property
name returns the Web address for
running against the Sample
database.

Web
Browser
Applets on
page 22-46

URLnn:System
Preference

Web Applets

Applet

Can be substituted for URLnn: in


the Name property. This property
name obtains a portion of the Web
address (for example, Siebel Web
Engine Server) by looking up a
parameter value in the
SystemPreference table.

Web
Browser
Applets on
page 22-46

E-10

Siebel Tools Guide Volume 2 of 2

Description

Where
Documented

Version 6.0

User Properties
Appendix Summary and Where to Get More Information

Appendix Summary and Where to Get More Information


This appendix described the user properties supported in Siebel applications.
Table E-2 lists a source of additional information about topics discussed in this
chapter.
Table E-2.

Version 6.0

Source of Additional Information

For information about this topic . . .

. . . see the following

Siebel object types and their properties

Siebel Object Types Reference

Siebel Tools Guide Volume 2 of 2

E-11

User Properties
Appendix Summary and Where to Get More Information

E-12

Siebel Tools Guide Volume 2 of 2

Version 6.0

Relational Database Management Concepts

About This Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-2


Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-2
Tables, Rows, and Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-2
Primary and Foreign Key Columns . . . . . . . . . . . . . . . . . . . . . . . . . . F-3
Relationships Based on Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-5
Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-7
Join Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F-8
Appendix Summary and Where to Get More Information . . . . . . . . . . . F-10

Version 6.0

Siebel Tools Guide Volume 2 of 2

F-1

Relational Database Management Concepts


About This Appendix

About This Appendix

This appendix provides a brief introduction to relational database management


concepts and their significance in the Siebel application environment.

Databases

A database is a collection of logically related data designed to meet a business need.


A database management system, or DBMS, is a software product that provides for
the creation and manipulation of databases.
Relational database management systems were developed in the late 1970s based
on the work of E. F. Codd and C. J. Date on the relational model, originally at IBM.
A relational database management system, or RDBMS, is a database management
software product that implements the relational model.

Tables, Rows, and Columns

The relational model is a logical data model in which all data is represented as a
collection of related tables. A table is a set of rows or records of data with a uniform
structure. Tables are similar to indexed files in pre-database technology, with the
difference that tables are stored internally within the database management system,
not as independent files.
Tables have rows and columns, explained as follows:

 Rows are comparable to records in indexed files. A row holds data about a
specific business entity of the type stored in the table, such as a single purchase
order in the Purchase Order table, an employee in the Employee table, or an
inventory item in an Inventory table.

 Columns are comparable to fields in indexed files. A column specifies a


particular item of information to include in each row, and its format and length.
Rows and columns in a table are illustrated in Figure F-1.

F-2

Siebel Tools Guide Volume 2 of 2

Version 6.0

Relational Database Management Concepts


Tables, Rows, and Columns

Employees Table
Row #
Column

Emp #
Column

Name
Column

Street Address
Column

City
Column

State
Column

30101

Jenny Frank

112 Fair Way

Cambridge

MA

1456

Fred Carlson

2212 Fernside Dr.

Berkeley

CA

3399

Sam Hudson

55 First St. #331

Minneapolis MN

10221

Sally Van Doren

651 Rowan Dr.

Cambridge

MA

8086

Mike Fernside

801 State St.

Berkeley

CA

1411

Hans Baker

22 E. 79th Ave.

Minneapolis MN

Figure F-1. Rows and Columns in a Database Table

Primary and Foreign Key Columns

Certain columns may be designated as key columns of either of the following types:

 A primary key column is a column (or member of a group of columns) that


uniquely identifies each row and has been chosen as the key for the table.
Primary key columns are also called primary keys. It is essential that the primary
key or key group in each row have a non-NULL value that is unique within the
table. In many database implementations, a row number or row ID column is
included in every table for this purpose, with values generated by the system.

Version 6.0

Siebel Tools Guide Volume 2 of 2

F-3

Relational Database Management Concepts


Tables, Rows, and Columns

 A foreign key column (or foreign key) is a column in one table that uniquely
identifies a row in a different table. For example, in the Employees table in
Figure F-1, the Row # column is used as a primary key. A second table called
Projects could have a column called Team Leader ID which points back to the
Row # of the Employees table. By specifying a value in the Team Leader ID
column in Projects, you identify the person in the Employees table who is the
team leader for that project. This is illustrated in Figure F-2.

Employees Table
Row #
Column

Emp #
Column

Name
Column

Street Address
Column

City
Column

State
Column

30101

Jenny Frank

112 Fair Way

Cambridge

MA

1456

Fred Carlson

2212 Fernside

Berkeley

CA

3399

Sam Hudson

55 First St. #331

Minneapolis

MN

10221

Sally Van Doren

651 Rowan Dr.

Cambridge

MA

points to record
points to record
Projects Table
Row #
Column

Project Name
Column

Team Leader
ID Column

ABC Products

Consolidated Inc

Acme Industries

Figure F-2. Foreign Key Relationship Between Two Tables

Team Leader ID in the Projects table is a foreign key column. From the data in
the two tables in Figure F-2, it can be determined that Fred Carlson is the team
leader for the ABC Products project, and Sally Van Doren is the team leader for
the Acme Industries project.

F-4

Siebel Tools Guide Volume 2 of 2

Version 6.0

Relational Database Management Concepts


Tables, Rows, and Columns

Relationships Based on Foreign Keys

Foreign keys are used to establish relationships between tables.


A foreign key can be used to obtain a value from a particular row in another table,
as in the previous example. This is called a one-to-one relationship because each row
in the table with the foreign key column points to one row in the other table.
A foreign key can also establish a one-to-many relationship, in which a row in one
table points to many rows in another table. An example of a one-to-many
relationship is that between a Purchase Orders table and a Line Items table. This is
a one-to-many relationship because each purchase order has multiple line items.
This is illustrated in Figure F-3.

Purchase Orders Table


Row #
Column

Order #
Column

Order Date
Column

Status
Column

40101

03/21/98

completed

41456

04/02/98

processing

53399

04/09/98

processing

10221

03/31/98

completed

point to record
Line Items Table
Row #
Column

PO ID
Column

Item
Column

Quantity
Column

1/2" brass fitting

valve ring, 3/4"

grommets, pkg

pipe stem, 1"

10

Figure F-3. One-to-Many Relationship Implemented with a Foreign Key

Version 6.0

Siebel Tools Guide Volume 2 of 2

F-5

Relational Database Management Concepts


Tables, Rows, and Columns

The PO ID column in the Line Items table is a foreign key to the Purchase Orders
table. Multiple rows in the Line Items table point to a single row in the Purchase
Orders table. The rows in the subordinate table that point back to one row in the
master table can be considered the detail or child rows, and the row in the master
table can be considered the master or parent row. Any row in the master table can
have multiple detail rows in the detail table, based on the value in a foreign key in
the detail table. The result is a one-to-many relationship, also called a master-detail
or parent-child relationship.
NOTE: The term master-detail is used throughout the book (for relationships
between tables) rather than parent-child, as the latter has a different meaning in the
context of object types and object definitions.

When various tables have master-detail relationships between them, the


relationships can be illustrated with an entity-relationship diagram (or logical
database diagram). In the previous example, Purchase Orders has a master-detail
relationship with Line Items. If Customers and Inventory tables are added, each
with relationships to certain of the other tables, an entity-relationship diagram such
as the one in Figure F-4 can be derived.

Customers
Table

Purchase
Orders Table

Inventory
Table

Legend:
Line Items
Table

Table
1:M relationship
between tables

Figure F-4. Entity Relationship Diagram

Relationships between tables in a relational DBMS are established entirely through


values in foreign key columns inside the tables themselves.

F-6

Siebel Tools Guide Volume 2 of 2

Version 6.0

Relational Database Management Concepts


Queries

Queries

The query is another important relational database concept. A query is an operation


performed on one or more tables that returns a temporary table called a results
table, or performs updates on the original table or tables. Relational DBMS software
includes one or more query facilities that provide the means to enter queries and
view the results, or save the results to a file. In addition, external software often can
perform queries on tables in the DBMS by using standard interface software
(middleware), such as Microsofts ODBC.
Query facilities typically are of one of two types: query-by-example or SQL:

Query-by-example. A query-by-example (QBE) window or program displays the

column names from a table or dataset along the top of a grid. You enter a value
or expression underneath a column name that pertains to that column. For
example, you might enter the expression >5000 in the Revenue column, and
direct the system to perform the query. The system would respond with a set of
table rows that matches the criterion Revenue > 5000. More complicated
queries can be created by entering expressions into more than one column.
Siebel client and code use QBE.

SQL windows or programs. These allow for the entry of a query in the form of an

SQL statement. SQL stands for Structured Query Language. It is an industry


standard language for querying relational database tables. Typically SQL is more
powerful than query-by-example, providing the ability to create new rows,
update or delete rows meeting user-specified criteria, and manipulate multiple
tables. SQL has a defined syntax similar to that of a programming language. SQL
queries may be entered at a command line prompt in an SQL window or
program, and the results viewed interactively. Siebel applications generate full
SQL queries based on configuration of the objects in the Siebel repository and
QBEs entered in the client.
Alternatively, SQL queries may be incorporated in (or generated by) program code
in an application system. The application may send the SQL query to the DBMS in
response to some event or program condition. The application receives back status
information and rows in a result set (called a dataset), which it subsequently
processes.

Version 6.0

Siebel Tools Guide Volume 2 of 2

F-7

Relational Database Management Concepts


Queries

An SQL statement consists of:

 References to particular tables and columns


 Clauses that facilitate ordering, grouping, and selection
 Clauses such as JOIN that relate tables
 Operators such as AND, OR, EQUALS, and LIKE for the construction of
expressions
For example, the following SQL statement:
Select FST_NAME, MID_NAME, LAST_NAME
From S_CONTACT
Where PR_DEPT_OU_ID = "12AC"

directs the system to create from the S_CONTACT (contacts) table a results table
containing three columns (first name, middle name, and last name) and consisting
of one row for each S_CONTACT row that has the value 12AC in the
PR_DEPT_OU_ID (primary account) column. In other words, the query generates a
contact list for a given account.
For more information on how to construct SQL queries, consult a book on SQL.

Join Queries

A JOIN clause in an SQL query combines the contents of two existing tables into a
third (results) table based on comparison of the contents of two columns, one in
each table. Any combination of rows from each table with matching values in the
designated, matching columns generates a result table row.
For example, assume you have a RETAILERS table and a CUSTOMERS table, and
each has a column indicating the city that the retailer or customer is in
(RETAIL_CITY and CUST_CITY, respectively). You would like a list of all possible
combinations of retailers and customers that are in the same city. The following SQL
clause would return this result:
Select CUSTOMER_NAME, RETAILER_NAME, CITY, STATE
From CUSTOMERS JOIN RETAILERS ON CUSTOMERS.CITY=RETAILERS.CITY
Where RETAILERS.CITY=Chicago

F-8

Siebel Tools Guide Volume 2 of 2

Version 6.0

Relational Database Management Concepts


Queries

This is illustrated in Figure F-5.

Customers

Retailers

Jenny Frank

Cambridge

MA

Fred Carlson

Berkeley

CA

Sam Hudson

Cincinnati

OH

Sally Van Doren

St. Paul

MN

Mike Fernside

Berkeley

CA

Hans Baker

Dallas

TX

Smith's Dry Goods

Cambridge

MA

Jones Cleaners

Berkeley

CA

The Sports Zone

Cincinnati

OH

Pterodactyls Shop

Berkeley

CA

join
Jenny Frank

Smith's Dry Goods

Cambridge

MA

Sam Hudson

The Sports Zone

Cincinnati

OH

Fred Carlson

Jones Cleaners

Berkeley

CA

Mike Fernside

Jones Cleaners

Berkeley

CA

Fred Carlson

Pterodactyls Shop

Berkeley

CA

Mike Fernside

Pterodactyls Shop

Berkeley

CA

Figure F-5. Source and Result Tables of an Inner Join Query

Notice how cities not found in both source tables (such as St. Paul and Dallas) do
not go into the results table. Cities with one customer and one retailer (such as
Cambridge and Cincinnati) result in one row in the results table. Cities with
multiple customers or multiple retailers result in one row for each possible
combination of retailer and customer, which is the product of the number of
retailers in that city and the number of customers in that city.

Version 6.0

Siebel Tools Guide Volume 2 of 2

F-9

Relational Database Management Concepts


Appendix Summary and Where to Get More Information

Siebel Join Queries


In Siebel applications, a specialized use of JOIN queries is implemented as the Join
object type. The Join object type defines a JOIN between two tables that have a
many-to-one (master-detail) or one-to-one relationship. It specifies the row ID
column in the master table and the foreign key column in the detail table (that
points to master table rows) as the comparison columns. The result table of this
specialized JOIN query is a detail table in which the master tables values have been
appended onto each detail row. For more information about the Join object type in
Siebel applications, refer to Joins on page 18-27.

Appendix Summary and Where to Get More Information

This appendix contained a brief introduction to relational database management


concepts and their significance in the Siebel application environment.
Table F-1 lists a source of additional information about topics discussed in this
chapter.
Table F-1.

F-1 0

Source of Additional Information

For information about this topic . . .

. . . see the following

Operators, expressions, and conditions

Appendix B

Siebel Tools Guide Volume 2 of 2

Version 6.0

Index

Version 6.0

Symbols

Numerics

/1 parameter
argument passed to repimexp.exe 14-24
/2 parameter
argument passed to repimexp.exe 14-24
/3 parameter
argument passed to repimexp.exe 14-24
/4 parameter
argument passed to repimexp.exe 14-24
/5 parameter
argument passed to repimexp.exe 14-24
/B parameter
argument passed to repimexp.exe 14-24
/C parameter
argument passed to repimexp.exe 14-24
/D parameter
argument passed to repimexp.exe 14-24
/F parameter
argument passed to repimexp.exe 14-24
/L parameter
argument passed to repimexp.exe 14-24
/M parameter
argument passed to repimexp.exe 14-24
/N parameter
argument passed to repimexp.exe 14-24
/P parameter
argument passed to repimexp.exe 14-24
/R parameter
argument passed to repimexp.exe 14-24
/T parameter
argument passed to repimexp.exe 14-24
/U parameter
argument passed to repimexp.exe 14-24
/V parameter
argument passed to repimexp.exe 14-24

6 Sectors property
Screen View object type 6-34
8 Sectors property
Screen View object type 6-34

A
abbreviations
in naming conventions D-18
About Record option
Help menu A-12
About Repository File window 5-7
About Siebel Tools option
Help menu A-12
About SRF option
Help menu A-12
access list
contact 8-18
Account business component
and data cleansing and
deduplication 15-14
Account Synchronization Selection
view 8-44
Account value
DataCleansing Type user property 15-6
Accounts and Sub-Accounts calculation
used to generate a dedup token 15-8
action argument
srcctrl.bat batch file 14-38
ActiveX Bind Property property
Control object type 23-12
ActiveX Control Methods dialog box 23-13
ActiveX Control tool
Applet Designer 12-6
ActiveX controls 2-17, 23-9

Siebel Tools Guide Volume 2 of 2

Index

ActiveX events 23-13


ActiveX methods 23-13
ActiveX Methods option
View menu A-5
ActiveX Properties property
Control object type 23-13
ActiveXControl value
Type property of Control object type 6-27
Add Bookmark button
History toolbar A-17
Add Bookmark option
Go menu A-6
Add button
in association applets 21-18
Add To Archive option
Repository menu A-10
ADD variable
srcctrl.bat batch file 14-42
AddRecord method 21-18
Address value
DataCleansing Type user property 15-6
Admin Mode Flag property
View object type 8-32
Admin mode of visibility 8-26
Admin Mode property
View object type 18-12
Alias property
Join object type 23-7
Table object type 17-7
Align option
Applet Designer 12-7
Format menu A-8
All option
Apply Server Schema dialog box 11-22,
11-27
All projects radio button
Object Compiler window 5-32
All value
Popup Visibility Type property of
Business Component object
type 20-28
Visibility Applet Type property of View
object type 8-32

Siebel Tools Guide Volume 2 of 2

All visibility
about 8-15, 8-16, 8-26, 8-35
All visibility access
mobile users 8-12
Always value
Visibility Rule Applied property of Link
object type 8-33
AND operator 18-10
applet control toolbar 12-5
Applet Designer 2-10, 13-9, 13-19, 19-14
about 6-20
Control toolbar 12-5
Format menu 12-6
Image controls 23-2
invoking 6-21
Preview capability 12-9
Preview window 12-7, 13-24
toolbar 22-36
Applet Designer tab
Development Tools Options
window 13-23
Applet Editor option
View menu A-5
Applet object type 11-23, 11-24, 19-13,
19-25, 20-25, 21-9, 22-34
Applet property
Applet Toggle object type 19-50
Tree Node object type 22-35
Applet Title property
Control object type 6-19
Applet Toggle object type 19-50
applet Web layout
configuring 7-11
applet_GotFocus event 21-22
applet-level menus 12-14
applets 19-9
about 3-13
adding fields to 23-2
Assignment Criteria 10-15
association 19-12, D-17
attachment 22-40
chart 19-11
Class property of D-11

Version 6.0

Index

configuring within a view 6-32


defining 6-16
field data displayed in 18-18
file attachment 19-13, 22-37
form 13-12, 18-18, 19-10, 19-14
guidelines for creating and
modifying D-5, D-10
links used for implementing 18-35
list 6-22, 13-4, 18-18, 19-9, 19-23
modification guidelines D-5
multi-value group 18-35, 18-39, 19-11,
21-2, 21-9, D-17
naming conventions for D-12
originating 20-10, 20-25
pick 19-10, 20-8
styles of 19-9
titles of D-14
toggle behavior of 19-49
treatment of unused D-12
tree 19-13, 22-29, 22-34
using background bitmaps in 6-48
Value 10-17
Web 19-12, 22-46
Applets by BusComp option
Reports menu A-7
Applets by BusComp report 4-37
Applets Window option
View menu A-4
Application Find object type 19-7, 19-54,
19-55
application finds
about 19-54
configuring 19-55
application launching routines 2-25
Application Script object type 19-56
Application Upgrade Attribute List option
Screens menu A-6
Application Upgrade Attributes List option
Reports menu A-8
Application Upgrade Object List option
Reports menu A-8
Screens menu A-6
Application Upgrader 2-8, 2-18

Version 6.0

Application Upgrader option


Repository menu A-10
application window
Siebel Tools 2-7
Application.PreInvoke_Method event 19-61
application-level menus 12-14
ApplicationName setting
Siebel configuration file C-4
applications
about 3-17, 6-36
defining 6-36
naming conventions for 6-36
Siebel 19-56
Apply Patch option
Repository menu A-10
Apply Schema dialog box 11-21, 11-27
architectural diagrams
of user interface object types 19-4, 19-6
used in this book Intro-6
architectural layers
Business Objects Layer 3-3
Data Objects Layer 3-3, 3-5
User Interface Objects Layer 3-3
architectural models
Siebel Programming Model 2-24
Siebel Runtime Model C-2
architecture
layered structure of 3-3
Siebel application 3-3
arithmetic operations B-6
Assign button 10-24, 10-26
Assignment Attribute Column object
type 10-5, 10-9, 10-23
Assignment Attribute object type 10-5,
10-20
Assignment Attribute property
Assignment Criteria Attribute object
type 10-20
Assignment Criteria applet 10-15
Assignment Criteria Attribute object
type 10-17, 10-20
Assignment Criteria Attribute object
types 10-16

Siebel Tools Guide Volume 2 of 2

Index

Assignment Criteria object type 10-5, 10-16


Assignment Criteria view 10-15
Assignment Group business
component 10-8
assignment items
about 10-5
Assignment Object object type 10-5, 10-9
Assignment Results (Employee) business
component 10-26
Assignment Results (Position) business
component 10-26
Assignment Results Applet user
property 10-26
Assignment Results BusComp user
property 10-26
Assignment Rule business component 10-8,
10-16
Associate Applet property
Business Component object type 21-17
associating
bitmap images with applets, toolbar
icons, and the view 6-41
screens to page tabs 6-38
screens to screen menu items 6-40
association applets 19-12, D-17
about 21-11
architecture of 21-16, 21-17
invoking 21-14
invoking from master-detail views 21-15
invoking from multi-value group
applets 21-19
asterisk (*) character
using in pattern matching B-5
ASTERISK value
Check Bitmap Identifier property of List
Column object type 6-27
ATT suffix
attachment tables 23-7
in table names 17-38
attachment applets
about 22-40
attachment business components 22-42,
22-43

Siebel Tools Guide Volume 2 of 2

attachment tables 23-7


about 22-44
file columns in 22-45
attribute columns 17-38
Attribute Differences windowpane
Project Differences window 5-27
Review Conflicts and Actions window of
Import wizard 14-14
Attribute Mapping object type 11-19, 17-38,
17-43
ATTRIBxx extension columns 17-16
Auto Primary property
Llink object type 18-54
Multi Value Link object type 18-55, 18-56
Auto Reassign property
Assignment Object object type 10-11
AVERAGE function 22-21
Average value
Data Function property of Chart object
type 22-18
axis terminology 22-4
AxisLabel value
Type property of Chart Element object
type 22-27
AxisLineGrid value
Type property of Chart Element object
type 22-27
AxisTitle value
Type property of Chart Element object
type 22-27

B
Background Bitmap Style property
Applet object type 6-48
Background Color property
Control object type 19-8
backing up repositories 14-18
Backus-Naur Format (BNF) B-16
Base Table Attribute Column property
Attribute Mapping object type 17-43
base table extension column data
displaying 11-23

Version 6.0

Index

Base Table property


Table object type 11-6, 17-7
base tables 17-5
about 18-5
for business components 17-5
for extension tables 17-5
BC Read Only Field user property 18-12, E-5
Business Component object type 18-11
bitmap button controls 6-46
Bitmap Category object type 6-41, 19-59
Bitmap Category property
Screen object type 6-33
Bitmap object type 19-59
bitmaps
applet background 6-48
importing 6-44
support for in Siebel applications Intro-18
BNF (Backus-Naur Format) B-16
Bookmark List button
History toolbar A-17
Bookmark List option
Go menu A-6
bookmarks A-17
Boolean columns 17-29
Break option
Debug menu A-9
Briefings
about 19-12
BrowserBack methods
attaching to buttons in Web applets 22-53
BrowserForward methods
attaching to buttons in Web applets 22-53
BrowserLaunch methods
attaching to buttons in Web applets 22-53
BrowserNavigate methods
attaching to buttons in Web applets 22-53
BrowserRefresh methods
attaching to buttons in Web applets 22-53
BrowserStop methods
attaching to buttons in Web applets 22-53
BrowserType user property 22-49, E-8
Build Patch - Setup window 14-33

Version 6.0

Build Patch option


Repository menu A-10
BusComp property
Business Object Component object
type 10-26, 18-65
BusComp wizard 2-13
Business Address business component
and data cleansing and
deduplication 15-14
business component
virtual 3-11
Business Component and Fields option
Reports menu A-7
Business Component and Fields report 4-37
Business Component object type 11-23,
11-24, 11-25, 18-4, 18-31, 22-42
Class property of D-7
key properties of 6-6
user properties of 18-11
Business Component property
Applet object 20-13
Applet object type 11-5, 20-11, 20-13,
20-25, 21-6, 21-9, 22-34
Business Object Component object
type 18-26
Chart object type 22-15
Pick List object type 20-19, 20-26
Single Value Field object type 6-18
Tree Node object type 22-35
Business Component User Prop object
type 15-6, 22-42
Business Component user property
Business Component object type 10-25
Business Component version
Relationships visualization view 4-44
business components
about 18-3
Assignment Results (Employee) 10-26
Assignment Results (Position) 10-26
Assignment Rule 10-16
associating records of 19-12
DeDuplication Results (xxx) 15-15
defining system fields in D-8

Siebel Tools Guide Volume 2 of 2

Index

detail 17-16, 18-37, 18-45, 18-65, 19-42


field/column relationships 18-4
intersection 18-15
master 17-16, 18-37, 18-44, 18-65, 19-42
modification guidelines D-6
naming conventions D-9
originating 20-13, 20-24, 20-25, 21-6
that have data cleansing and
deduplication enabled 15-14
treatment of unused D-8
virtual 3-22
Business Object and Components option
Reports menu A-7
Business Object and Components
report 4-37
Business Object Component object
type 10-26, 17-25, 18-26, 18-38, 18-64
business object components
about 19-42
Business Object object type 17-25, 18-60,
18-64
Business Object property
View object type 6-30, 18-38, 19-37,
19-42, 21-17, 22-33
business objects
about 3-8, 18-59
architecture of 18-63
construction of 18-63
modification guidelines D-6
naming conventions D-9
reusability of 18-62
sequence to follow when defining 6-4
treatment of unused D-8
use of with intersection tables 17-25
Business Objects Layer
in Siebel architecture 3-3
Siebel application architecture 6-3
BusObject Designer 2-8
BusObject Explorer 2-7
windows in 4-4
BusObject Repository Manager 2-15
Button button
Web Controls toolbar A-19

Siebel Tools Guide Volume 2 of 2

ButtonNew control 21-18


buttons
about 19-20
drop-down arrow 19-18
ellipsis 19-18
guidelines for creating new D-16
TreeControl 22-36
By #2 picklists 22-21
By picklists 22-20, 22-21, 22-23

C
calculated field and validation expressions
functions you can use in B-7
calculated fields
about 18-4, 18-19
properties of 18-21
rules and restrictions of B-10
Calculated Value property
Field object type 16-10, B-13
CalculatedValue expression B-7
calculation expressions
functions you can use in B-7
Calendar business component
and links 18-37
calendar controls
configuring 19-32
Calendar Duration Column property
Assignment Object object type 10-11
Calendar Start Time Column property
Assignment Object object type 10-11
Calls option
View menu A-5
Campaign dock object 8-37
Cancel button
example in a list applet 19-31
Object Compiler window 5-33
Caption property
Control object type 6-19, 19-16, 19-23
Cascade Clear property
Column object type 11-14
cascade copy
about 18-57

Version 6.0

Index

Cascade Delete property


Link object type 16-10, 18-40
Cascading Style Sheets 7-11
Category Field property
Chart object type 22-18, 22-23, 22-24
Category property
Command object type 19-61
Screen View object type 6-34
Center in Applet option
Applet Designer 12-7
Format menu A-8
Center value
Background Bitmap Style property of
Applet object type 6-48
cfg file 2-20
Change Data Source window 5-24
changed fields 4-25
Changed flag 4-25
Changed property
of object definitions 14-34
Character data type
Physical Type property of Column object
type 17-29
Chart Applet wizard 2-13
chart applets 19-11
Chart Element object type 22-26
Chart object type 22-15
ChartControl tool
Applet Designer 12-6
ChartControl value
Type property of Control object type 6-26
ChartPickby controls 22-21
ChartPickby2 controls 22-21
ChartPickfunction controls 22-21
ChartPicktype controls 22-21
charts
data mapping business components
in 22-15
elements of 22-27
limiting/sorting axis points on 22-26
performance of 22-28
period 22-23

Version 6.0

with multiple curves plotted against one


Y axis 22-25
with two Y axes 22-26
Check Bitmap Identifier property
List Column object type 6-27
check boxes
about 19-22
guidelines for defining D-16
Check In dialog box 5-20
check in guidelines 5-22
Check In option
Repository menu A-10
Check In/Out tab
Development Tools Options dialog
box 5-23, 14-37, 14-45
Check Labels option
Tools menu A-11
Check No Match property
Multi Value Link object type 18-56
check out
canceling 5-28
Check Out dialog box 5-11, 5-13
Check Out option
Repository menu A-10
Check Syntax option
Debug menu A-10
CHECK value
Check Bitmap Identifier property of List
Column object type 6-27
CheckBox button
Web Controls toolbar A-18
CheckBox tool
Applet Designer 12-6
CheckBox value
Type property of Control object type 6-26,
19-22
Type property of List Column object
type 6-25
CHECKIN variable
srcctrl.bat batch file 14-42
checking in projects 5-19
checking out 5-12
checking out projects 5-12

Siebel Tools Guide Volume 2 of 2

Index

CHECKOUT variable
srcctrl.bat batch file 14-42
Child Business Component property
Link object type 18-37, 18-65, 21-8
Child value
Visibility Rule Applied property of Link
object type 8-33
Class property
Applet object type 20-13, 21-9, 22-34
Business Component object type 6-6,
10-25, 18-26, 22-42, D-7
Single Value Field object type 6-18
classes
CSSBCBase 10-25, 18-25, 23-6
CSSBCFile 22-42, 23-4, 23-6
CSSBusComp 23-6
CSSFrame 19-15, 23-5
CSSFrameFile 22-40
CSSFrameList 19-25, 20-13, 21-18
CSSFrameListFile 22-40
CSSFrameTree 22-34
CSSFRBase 10-25
CSSFRListBase 10-25
CSSSequence 18-22, 18-24, 18-26
Clear All Breakpoints option
Debug menu A-10
CLEAR value
Cascade Delete property of Link object
type 18-40
Click event 23-15
Close button
in association applets 21-18
Close option
File menu A-2
Column Name property
Index Column object type 17-37
Column object type 17-4, 17-29, 18-4
Column property
Field object type 11-5, 11-23, 17-12, 18-20,
18-45, 18-48
Single Value Field object type 6-8

Siebel Tools Guide Volume 2 of 2

columns 17-2
about F-2
attribute 17-38
data 17-31
extension 3-6, 17-31, 17-32
foreign 17-38
foreign key F-4
in standard tables 3-6
intersection data 17-28
list 6-24
naming conventions for D-22
primary key F-3
standard 3-5
system 3-6, 17-33
COM interfaces 2-8, 2-18
combo boxes
about 19-21
ComboBox button
Web Controls toolbar A-18
ComboBox tool
Applet Designer 12-6
ComboBox value
Type property of Control object type 6-26,
19-21
command line execution process C-2
command line switches C-3
Command object type 19-59, 19-60
Command property
Toolbar Item object type 19-62
Command windowpane
Data window in Interactive SQL 16-14
Commands tab of the Customize dialog
box 19-58
Comment property
Dock Object Visibility Rule object
type 8-41
comment_file argument
srcctrl.bat batch file 14-38
Comments property
Column object type 17-31
COMMENTS variable
srcctrl.bat batch file 14-42

Version 6.0

Index

Compact Setup option


Siebel Tools installation 1-3
comparison operators B-3
in a search specification 18-10
comparisons with NULL B-6
Compile button
Object Compiler window 5-33
Compile option
Repository menu A-10
compiling projects 5-31
compiling Siebel applications 5-31
compound queries 4-32
config.sys configuration file 14-43
configuration file (.cfg extension) 2-20
configuration file load process C-3
configuration goals and objectives 2-27
configuration guidelines
architectural considerations 3-23
check in 5-22
for applets D-10
for business components D-6
list columns D-16
naming conventions for views D-20
project structure considerations 5-34
text controls D-16
threads D-19
views D-19
visibility considerations D-9
configuration tasks 2-28
configuring
standard Siebel applications 2-5
Conflict Resolution radio button group
Import Wizard - Preview window 14-12
Conflict resolution radio button group
Import Wizard - Preview window 14-10
Conflicting Objects windowpane
Review Conflicts and Actions window of
Import wizard 14-12
connected users
about 8-35
Constrain property
Pick Map object type 20-19

Version 6.0

Contact business component


and data cleansing and
deduplication 15-14
Contact dock objects 8-36
Contact value
DataCleansing Type user property 15-6
Popup Visibility Type property of
Business Component object
type 20-28
Visibility Applet Type property of View
object type 8-32
Contact Visibility Field property
Business Component object type 8-30
Contacts calculation
used to generate a dedup token 15-8
Contents option
Help menu A-12
ContextHelp method 19-61
Contract All option
Visualization view shortcut menu 4-42
Control object type 6-19, 6-26, 11-24, 19-15,
19-26, 20-25
about 19-5
dynamic properties of Intro-20
Control toolbar A-14
Applet Designer 12-5
controls
ActiveX 23-9
bitmap button 6-46
check box 19-22
combo box 19-21
group 19-22
guidelines for using D-6
image 23-2
in a list applet 19-30
in an association applet 21-18
label 19-23
list applet 19-30
modification guidelines D-6
tree 22-36
Web 7-12
Controls Window option
View menu A-5

Siebel Tools Guide Volume 2 of 2

Index

Copy button
example in a list applet 19-31
Copy method 19-61
Copy option
Edit menu A-3
Copy Record option
Edit menu A-4
Copy toolbar button
Edit toolbar A-15
copying object definitions
about 4-14
CopyRecord method 19-61
COUNT function 22-21
Count function B-7
Count value
Data Function property of Chart object
type 22-18
Create New Tree Node option
Applet Designer 22-36
CREATED system column 17-34
CREATED_BY system column 8-24, 17-34
creating new object definitions
about 4-14
CSSBCBase class 10-25, 18-25, 23-6
CSSBCFile class 22-42, 23-4, 23-6
CSSBusComp class 23-6
CSSFrame class 19-15, 23-5
CSSFrameFile class 22-40
CSSFrameList class 19-25, 20-13, 21-18
CSSFrameListFile class 22-40
CSSFrameTree class 22-34
CSSFRBase class 10-25
CSSFRListBase class 10-25
CSSSequence class 18-22, 18-24, 18-26
Currency function B-7
Current Query option
Apply Server Schema dialog box 11-22,
11-27
Current Row option
Apply Server Schema dialog box 11-22,
11-27
custom extension columns 17-32
custom extension tables 11-12, 17-9

10

Siebel Tools Guide Volume 2 of 2

custom indexes
adding 11-20
customer.dat text file 14-19
Customize dialog box 19-59
Commands tab 19-58
Toolbars tab 19-58
Cut method 19-61
Cut option
Edit menu A-3
Cut toolbar button
Edit toolbar A-15

D
Data (Intersection) value
Type property of Table object type 17-6,
17-21
Data (Private) value
Type property of Column object
type 17-30
Type property of Table object type 11-13,
17-6
Data (Public) value
Type property of Column object
type 17-30
Type property of Table object type 17-6,
17-9
data cleansing
about 15-3
data columns 17-31
about 3-6
private 17-30
data computational routines 2-25
Data Function property 22-21
Chart object type 22-18, 22-25, 22-26
data manipulation routines 2-25
Data Model
Siebel 11-3, F-2
Data Objects Layer
in Siebel application architecture 3-3, 3-5
Data Point Field property
Chart object type 22-18, 22-21, 22-25,
22-26
data tables 3-5, 17-7

Version 6.0

Index

data transport routines 2-25


data types
DTYPE_BOOL B-15
DTYPE_CURRENCY B-15
DTYPE_DATE B-15
DTYPE_DATETIME B-15
DTYPE_ID B-15
DTYPE_INTEGER B-15
DTYPE_NOTE B-15
DTYPE_NUMBER B-15
DTYPE_PHONE B-15
DTYPE_TEXT B-15
DTYPE_TIME B-15
Field object type B-15
of fields 17-48, 18-22
data validation routines 2-25
Data value
Type property of Column object
type 17-29
Data window
Interactive SQL 16-14
DATA_AREA parameter
dev2prod.ksh batch file 14-29
DATA_AREA parameter for
ddlsync.ksh 11-31
database data
executing SQL queries against D-22
Database Extension Designer 2-8, 2-18
about 11-3
database extensions
applying to local database 11-21
implementing 11-10
preparing for prior to applying 11-26
updating logical schema for 11-11
database indexes
performance and 16-7
database logon process C-5
database server
and Siebel Tools 1-2
installing 1-2
Database View value
Type property of Table object type 17-6

Version 6.0

DATABASE_PLATFORM parameter
dev2prod.ksh batch file 14-29
DATABASE_PLATFORM parameter for
ddlsync.ksh 11-31
databases
applying changes to server 11-26
applying server database changes to
other 11-29
extracting developers local 1-18
initializing developers mobile client
database 1-18
migrating repositories between 14-25
relational F-2
Siebel 3-21
DataCleansing Field n user property 15-7
DataCleansing Field user property 15-5
defined E-3
DataCleansing Type user property 15-5,
15-6
defined E-3
datasets F-7
Date data type
Physical Type property of Column object
type 17-30
Date Time data type
Physical Type property of Column object
type 17-30
DB_LANG parameter
imprep.ksh batch file 14-22
dbrepos.log for ddlsync.ksh 11-32
DBSRVR _ROOT parameter
imprep.ksh batch file 14-22
dbxtract.exe utility 1-18
DDLSync.ksh 11-30
ddlsync.ksh 11-15, 11-28, 11-30
ddlsync1.log for ddlsync.ksh 11-32
ddlsync1.log text file
dev2prod.ksh batch file 14-30
ddlsync2.log for ddlsync.ksh 11-32
ddlsync2.log text file
dev2prod.ksh batch file 14-30
deactivating mappings 17-47
Debug menu A-9

Siebel Tools Guide Volume 2 of 2

11

Index

Debug toolbar A-14


DeDup Token field of business
components 15-14
DeDup Token Value user property 15-9
defined E-4
dedup tokens 15-8
DEDUP_REQ_ID column
S_DEDUP_RESULT table 15-16
DEDUP_TOKEN column
of tables 15-14
deduplication
about 15-3, 15-8
DeDuplication Field n user property 15-10
DeDuplication Field user property E-4
Deduplication Match Score field of business
components 15-14
Deduplication Object Id field of business
components 15-15
DeDuplication Results (xxx) business
components 15-15
DeDuplication Results (xxx) List
Applet 15-11
DeDuplication Results Applet user
property 15-10, E-5
DeDuplication Results BusComp user
property 15-10, E-5
Default Button property
Control object type 19-21
Default Employee property
Assignment Object object type 10-13
Default Position property
Assignment Object object type 10-14
Default property
Column object type 17-29, 17-31
DEFAULT value
Auto Primary property of Llink object
type 18-55
Default View property
Screen object type 6-33
DefaultPrefix user property 23-8, E-6
Business Component User Prop object
type 22-42

12

Siebel Tools Guide Volume 2 of 2

Delete button
example in a list applet 19-31
Delete option
Edit menu A-3
Delete Record option
Edit menu A-4
DELETE value
Cascade Delete property of Link object
type 18-40
DeleteRecord method 19-61
deleting
extension tables or columns 11-16
repositories 14-16
deleting projects
facility not available in Siebel Tools 5-15
Denormalization Path property
Column object type 17-30
Denormalized value
Type property of Column object
type 17-30
Description list column
Responsibility Administration view of
Siebel applications 8-12
Destination Business Component property
Link object type 18-48
Multi Value Link object type 18-45, 18-57
Destination Column property
Join object type 18-32
Join Specification object type 18-31
Destination Field property
Drilldown object type 8-28
Link object type 17-17, 18-37, 18-46, 21-8,
22-37
destination fields 18-37
Destination Link property
Business Component object type 18-45
Link object type 18-48, 18-50, 18-51
Multi Value Link object type 18-42, 18-45,
18-57, 21-7
Destination Table property
EIM Table Mapping object type 17-42
detail business components 17-16, 18-37,
18-45, 18-65, 19-42

Version 6.0

Index

Detail tab
Object Explorer window 4-7
Details Visualization views 4-39
Dev2Prod.ksh
log files 14-30
dev2prod.ksh batch file
about 14-25, 14-26
executing 14-28, 14-29
parameters of 14-28
developers
granting position/responsibility to 1-17
initializing Mobile Client Database
of 1-18
setting up as mobile users 1-17
development environment
creating 1-16
managing 1-16
Development Tools Options dialog box 7-19,
14-37, 14-45
diagrams
architectural Intro-6
property Intro-8
dialog boxes
Development Tools Options 7-19
Dictionary value
Type property of Table object type 17-6
dir argument
srcctrl.bat batch file 14-38
directory structure
Siebel Tools 1-9
dirty data
and data cleansing and
deduplication 15-14
Display Format property
Control object type 19-18, 19-31
List Column object type 19-27
Display Name property
List Column object type 19-27
Tree Node object type 22-35
DisplayFormat property
Field object type 17-51
displaying totals in list applets 16-8

Version 6.0

Divisions property
Chart Element object type 22-26
Dock method 19-61
Dock Object object type 8-35
Dock Object Table object type 8-38
Dock object type 8-36
Dock Object Visibility Rule object type 8-40
dock objects
Campaign 8-37
Contact 8-36
DocQuote (quote) 8-37
Opportunity 8-36
Organization (Account) 8-36
ProductDefect 8-37
ServiceRequest 8-36
visibility rules for 8-40
dock_log.log for ddlsync.ksh 11-32
docking
visibility rules of 8-35
docking and undocking windows 4-10
Docking: Transaction Logging system
preference 14-31
DocQuote (quote) dock object 8-37
documents
access to external 22-37
adding to attachments list 22-39
drag-and-drop method of adding file
attachments 22-39
drilldown behavior
dynamic 19-47
in views 19-44
pop-up menus 19-45
static 19-45
visibility and 8-27
drilldown fields
about 19-24
Drilldown Object object type 8-28, 8-34,
19-44
Drilldown value
Visibility Rule Applied property of Link
object type 8-33
driving table
dock objects 8-39

Siebel Tools Guide Volume 2 of 2

13

Index

drop sectors 19-36


Drop Sectors property
View object type 6-30, 12-12
drop-down arrow buttons 19-18
DTLIF suffix
in table names 17-38
DTYPE_BOOL data type 17-49, B-15
DTYPE_CURRENCY data type 17-49, B-15
Display Format property of Control object
type 19-18
DTYPE_DATE data type 17-49, B-15
Display Format property of Control object
type 19-19
DTYPE_DATETIME data type 17-50, B-15
Display Format property of Control object
type 19-18
DTYPE_ID data type 17-50, B-15
DTYPE_INTEGER data type 17-50, B-15
DTYPE_NOTE data type 17-50, B-15
DTYPE_NUMBER data type 17-50, B-15
Display format property of Control object
type 19-18
DTYPE_PHONE data type 17-51, B-15
Display Format property of Control object
type 19-19
DTYPE_TEXT data type 17-51, B-15
DTYPE_TIME data type 17-52, B-15
Display Format property of Control object
type 19-19
Duplicate Account Administration
view 15-12
Duplicate Account Resolution
Administration view 15-12
Duplicate Contact Administration
view 15-12
Duplicate Contact Resolution
Administration view 15-12
Duplicate Prospect Administration
view 15-12
Duplicate Prospect Resolution
Administration view 15-12
dynamic Control object properties Intro-20
dynamic drilldown 19-44

14

Siebel Tools Guide Volume 2 of 2

dynamic drilldown behavior 19-47


Dynamic Drilldown Destination object
type 19-47
dynamic images
embedded in applets 6-27
dynamic picklists
compared to static picklists 13-26
dynamic toggle behavior
about 19-49
dynamic toggling 19-51

E
Edit Definition option
Visualization view shortcut menu 4-43
Edit Layout option
View menu A-5
Visualization view shortcut menu 4-43
Edit Links Dialog Box 22-40
Edit menu A-3
Edit toolbar A-14
EIM Interface Table Column object
type 17-40, 17-41
EIM Interface Table object type 11-19, 17-40
EIM Interface Table project 11-4
EIM interface tables 17-2
EIM object types 17-39
EIM Table Mapping object type 11-19, 17-40,
17-42
ellipsis buttons 19-18
e-mail
setting up a client machine for 9-6
Embedded value
BrowserType user property 22-49, E-8
Employee Administration view 8-13, 8-18
Employee Column property
Assignment Object object type 10-13
Employee Primary Column property
Assignment Object object type 10-13
Employee Primary Denorm Column
property
Assignment Object object type 10-13
Employee Primary Manual Column property
Assignment Object object type 10-13

Version 6.0

Index

Employee Primary System Column property


Assignment Object object type 10-13
employee records C-7
Employee Table property
Assignment Object object type 10-13
Employee Team Copy Columns property
Assignment Object object type 10-13
Employee Team Denorm Column property
Assignment Object object type 10-13
Employee Team Manual Column property
Assignment Object object type 10-13
Employee Team System Column property
Assignment Object object type 10-13
End option
Debug menu A-9
Enterprise Integration Manager 17-38
using to populate extension columns 11-6
Enterprise value
Visibility Level property of Dock Object
object type 8-36
entity-relationship diagrams F-6
equal () operator B-4
ERP Interface Table project 11-4
Errors option
View menu A-5
events
ActiveX 23-13
Application.PreInvoke_Method 19-61
Click 23-15
Execute button
Data window in Interactive SQL 16-14
Execute Query button
List toolbar A-16
Execute Query option
Query menu A-7
ExecuteQuery method 19-61
EXISTS
using in a query with a primary ID field
specified and the Use Primary Join
attribute checked B-19
Exit option
File menu A-3

Version 6.0

EXP_ODBC parameter
exprep.ksh batch file 14-19
EXP_PSWD parameter
exprep.ksh batch file 14-19
EXP_REPOS _NAME parameter
exprep.ksh batch file 14-19
EXP_TBLO parameter
exprep.ksh batch file 14-19
EXP_USR parameter
exprep.ksh batch file 14-19
Expand All option
Visualization view shortcut menu 4-42
explorer views 22-33
Export option
File menu A-3
Export to Archive File dialog box 14-4, 14-6
exporting
projects 14-6
repository objects 14-3, 14-4
ExportQuery method 19-61
exprep.ksh batch file
about 14-17, 14-18, 14-19
executing 14-21
parameters of 14-19
exprep.log text file 14-21
dev2prod.ksh batch file 14-30
expressions
calculation B-7
precedence of operators in B-2
search specification 18-10
expschem.log for ddlsync.ksh 11-32
expschem.log text file
dev2prod.ksh batch file 14-30
extension columns 17-31, 17-32
about 3-6
adding to tables 11-13
configuring 11-15
creating/mapping interface 11-19
custom 17-32
deleting 11-16
displaying base table 11-23
names of 11-8
populating 11-30

Siebel Tools Guide Volume 2 of 2

15

Index

standard 17-31, 17-32


used with Enterprise Integration
Manager 11-18
extension data
displaying 11-23
Extension Designer
Siebel 11-3
Extension suffix
User Name property of Table object
type 11-7
extension tables
about 3-6, 17-7, 18-7
and business components 18-6
configuring 11-15
custom 11-12, 17-9
deleting 11-16, 11-17
displaying data in 11-24, 11-25
generic columns in 17-9
implied joins and 17-12
names of 11-7
one-to-many relationships and 17-11,
17-14
one-to-one relationships and 17-11
populating 11-30
standard 17-9
used with Enterprise Integration
Manager 11-18
Extension value
Type property of Column object
type 17-29, 17-30
Type property of Index object type 17-36
Type property of Table object type 17-6
External value
BrowserType user property 22-49, E-8

F
fax
setting up a client machine for 9-6
field data types 17-48, 18-22
Field object type 6-8, 6-9, 11-4, 11-23, 11-24,
11-25, 18-4
data types of B-15

16

Siebel Tools Guide Volume 2 of 2

Field property
Business Component object type 21-7
Control object type 6-19, 17-35, 18-19,
19-18, 20-25, 21-6
List Column object type 17-35, 18-19,
19-27, 20-25, 21-6, 21-9
Pick Map object type 20-15, 20-16, 20-26
Field Read Only Field user property 18-13,
E-5
Business Component object type 18-11
field validation B-13
fields
about 18-18
adding to business component
definitions 6-7
calculated 18-4, 18-19, 18-21
data types of 17-48, 18-22, B-15
destination 18-37
expanded and collapsed lists of in
visualization diagrams 4-42
foreign key 18-37
in a search specification 18-10
in attachment business
components 22-43
multi-value 18-22, 18-42, 18-45
originating 20-24
Position C-8
primary key 18-37
Responsibility C-8
rules of calculated B-10
source 18-37
syntax for predefault B-12
system 18-20
file attachment applets 19-13, 22-37
file attachments
adding using drag-and-drop
method 22-39
File menu A-2
FILE prefix
file attachment column names 23-8
file system
Siebel 22-40

Version 6.0

Index

FILE variable
srcctrl.bat batch file 14-42
FILE_NAME parameter
exprep.ksh batch file 14-20
imprep.ksh batch file 14-22
FileMustExist user property 23-8, E-7
Business Component User Prop object
type 22-42
files
.srf 5-31
Find button
in association applets 21-19
Find combo box
in association applets 21-18
Find dialog box
configuring 19-54
invoking 8-17, 19-53
Find Field object type 19-7, 19-54
find fields
configuring 19-55
Find in Repository option
Repository menu A-11
Find In Repository window 4-33
Find method 19-61
Find object type 19-7, 19-53, 19-54
Find option
Edit menu A-4
Find View object type 19-7, 19-55
find views
configuring 19-55
FindActiveXControl method 23-15
finds
architecture of 19-54
configuring 19-53, 19-55
Firstlogic Corporation
products for data cleansing and
deduplication 15-4
FLAG value
Check Bitmap Identifier property of List
Column object type 6-27
Flat tab
Object Explorer window 4-8

Version 6.0

Font name option


Applet Designer tab of Development Tools
Options window 13-23
Font size option
Applet Designer tab of Development tools
Option window 13-23
Force Active property
Field object type 16-10
ForceActive property
Field object type C-9
Foreground Color property
Control object type 19-8
foreign key columns 17-38, F-4
foreign key fields 18-37
Foreign Key Mapping Column object
type 17-46
Foreign Key Mapping object type 17-44
Foreign Key Table Name property
Column object type 11-14, 17-31
foreign keys F-4
fields of 18-32, 18-46
master-detail relationship and 18-28
pick applets and 20-5
relationships based on F-5
standard extension columns and 17-33
form applet controls 19-16
Form Applet wizard 2-13
form applets 13-12, 18-18, 19-10, 19-14,
19-15
Format menu 12-6, 13-25, A-8
full get
about 5-10
functions
AVERAGE 22-21
COUNT 22-21
Count B-7
Currency B-7
IfNull B-7
ifNull B-6
IIf B-7
JulianDay B-7
JulianMonth B-7
JulianWeek B-7

Siebel Tools Guide Volume 2 of 2

17

Index

JulianYear B-7
Language B-7
Left B-8
LocalCurrency B-8
LoginId B-8
LoginName B-8
Lookup B-8
LookupExpr B-8
LookupValue B-9
ParentBCName B-9
ParentFieldValue B-9
PLOT 22-21
PositionId B-9
PositionName B-9
SUM 22-21
Sum B-9
Timestamp B-9
Today B-9

GoBack method 19-61


GoForward method 19-61
GotoFirst method 19-61
GotoLast method 19-61
GotoNext method 19-61
GotoPrevious method 19-61
Graphic value
Type property of Chart Element object
type 22-27
Grid Settings option
Applet Designer 12-7
Format menu A-8
group controls 19-22
Group tool
Applet Designer 12-5
Group value
Type property of Control object type 6-26

H
G
Generate Actuate Report option
Tools menu A-11
Generate Help IDs option
Tools menu A-11
generic columns
in extension tables 17-9
gennewdb executable 11-29
get
about 5-10
Get Strings option
Tools menu A-11
getting projects 5-10
initial get 5-10, 5-11
Go menu A-6
Go to End of List button
List toolbar A-16
Go to Next Record button
List toolbar A-16
Go to Previous Record button
List toolbar A-16
Go to Top of List button
List toolbar A-16

18

Siebel Tools Guide Volume 2 of 2

Height option
Applet Designer tab of Development Tools
Options window 13-23
Height property
Applet object type 22-34
Single Value Field object type 6-18
Help menu A-12
hiding windows 4-9
Hierarchy visualization views 4-47
History toolbar A-14, A-17
hoteling
about 8-4
HTML Attributes property
Single Value Field object type 6-18
HTML Display Mode property
Single Value Field object type 6-18
HTML Only property
Single Value Field object type 6-18
HTML Row Sensitive property
Single Value Field object type 6-18
HTML thin clients
configuration approach 7-10
configuration scenario 7-8

Version 6.0

Index

HTML Type property


Single Value Field object type 6-18
hyperlinks
in views 19-44

I
icons
in Siebel Tools 1-11
Id field
business component 17-14
IF suffix 17-38
interface table names 17-6
ifb files 14-18
IFMGR value
Type property of Column object
type 17-29
IFMGR: xxx value
Type property of Column object
type 17-31
IfNull function B-6, B-7
Ignore Extra Attributes property
Assignment Object object type 10-11
IIf function B-7
image controls 23-2
ImageControl tool
Applet Designer 12-6
ImageControl value
Type property of Control object type 6-27
images
dynamic 6-27
static 6-27
implied joins
extensions tables and 17-12
Import From Archive option
Repository menu A-10
Import option
File menu A-2
Import wizard 14-8, 14-12
Import Wizard - Preview window 14-9
importing
repository objects 14-3
importlog.txt file 14-15

Version 6.0

imprep.ksh batch file 14-21


about 14-17, 14-18
executing 14-23
parameters of 14-22
imprep.log text file 14-23
dev2prod.ksh batch file 14-30
Inactive property
Attribute Mapping object type 11-19,
17-47
Column object type 17-31
Index Column object type 11-20, 16-7, 17-37
Index object type 11-20, 16-7, 17-4
indexes 11-20, 17-2
about 17-36
standard Siebel 17-36
indirect multi-value link
about 18-47
indirect multi-value links 18-47, 21-7
INDX_AREA parameter
dev2prod.ksh batch file 14-29
INDX_AREA parameter for
ddlsync.ksh 11-31
initial get 5-11
installing Siebel Tools 1-3
Integration Object wizard 2-13
Inter Child Column property
Link object type 17-25, 17-26, 18-37,
18-39
Inter Parent Column property 17-26
Link object type 17-25, 17-26, 18-37,
18-39
Inter Table property 17-26
Link object type 18-37, 18-39, 18-58
Interactive SQL 16-14
interface
.COM application 2-4
dedicated client 2-3
standard Siebel 2-3
Interface Table Data Column property
Attribute Mapping object type 17-43
Interface Table User Key Usage object
type 17-40, 17-41

Siebel Tools Guide Volume 2 of 2

19

Index

interface tables 3-6, 17-40


about 17-38
Interface value
Type property of EIM Interface Table
object type 17-40
Type property of Table object type 17-6,
17-38
intersection business components 18-15
intersection data columns 17-28
intersection tables 3-5, 17-18, 17-28, 18-15,
18-39
and intersection business
components 18-15
architecture of 17-22, 17-23
configuring 17-22
example with two links 17-27
many-to-many relationships in 17-18
object definitions in 17-24, 17-25
Invoke Method Text Box
Menu Item Properties dialog box 12-14
IS NULL operator B-6
isql.exe executable file 16-14
Item option
Item Type radio button group in Menu
Item Properties dialog box 12-14
Item Type radio button group
Menu Item Properties dialog box 12-14

J
Join object type 18-27, 18-31, 18-49, F-10
Join property
Field object type 11-5, 11-24, 17-12, 18-20,
18-31, 20-16
join queries F-8, F-10
Join Specification object type 18-31, 18-49
joined fields 18-31
joined tables 18-32
about 18-6
and business components 18-6
joins
configuring 18-30
Field property and 20-16
implied 17-12

20

Siebel Tools Guide Volume 2 of 2

list columns obtained from 18-27


master-detail relationships in 18-28
naming conventions for D-22
object definitions in 18-31
rows resulting from 18-29
Journal value
Type property of Table object type 17-6
JulianDay function B-7
JulianMonth function B-7
JulianWeek function B-7
JulianYear function B-7

K
Keep Creator property
Assignment Object object type 10-11
Keep Manual Assigned property
Assignment Object object type 10-11
Keep Manual Assignment Primary
Employee property
Assignment Object object type 10-11
Keep Manual Assignment Primary Position
property
Assignment Object object type 10-11
Keep Manual Assignment Primary Rule
property
Assignment Object object type 10-11
Key field
business components 17-16
keyboard shortcut keys
defining 12-14

L
Label button
Web Controls toolbar A-19
label controls 19-23
Label Field property
Tree Node object type 22-35
Label tool
Applet Designer 12-5
Label value
Type property of Control object type 6-26,
19-30

Version 6.0

Index

Language function B-7


Language option
Applet Designer tab of Development Tools
Options window 13-23
Language picklist
Object Compiler window 5-33
LargeFont parameter
Siebel Tools .cfg file 12-8
LAST_UPD system column 17-34
LAST_UPD_BY system column 17-34
LAST_UPDATED column
S_DEDUP_RESULT 15-16
layers of the Siebel architecture 3-3
Layout Window sectors in views 12-12
Left function B-8
Legend value
Type property of Chart Element object
type 22-27
level of precedence B-2
license key number
entering during a Siebel Tools
installation 1-8
license keys
using to restrict access to views 8-9
LIKE operator 18-11, B-4
Limited value
Visibility Level property of Dock Object
object type 8-36
Link button
Web Controls toolbar A-18
Link object 18-37, 18-45, 18-54
Link object type 17-25, 17-26, 18-34, 18-49,
18-65, 21-8
Link property
Business Object Component object
type 18-26, 18-64, 19-42
Link Specification property
Field object type 16-10
links
about 18-34, 19-42
architecture 18-36, 18-38
configuring 18-36, 21-8
naming conventions for D-22

Version 6.0

using in intersection tables 17-25


using in master-detail views 18-38
using in multi-value groups 18-39
using many-to-many relationships 18-39
visibility-related properties in 8-33
LinkSpec property
Field object type C-9
List Applet wizard 2-13
list applets 13-4
about 19-9, 19-23
architecture 19-25
configuring 19-26
controls in 19-30
defining 6-22
fields displayed in 18-18
user settings and preferences 6-24
List Column object type 6-25, 11-24, 19-24,
19-26, 20-25, 21-9
about 19-5
list columns
about 6-24, 19-24
cell behavior in 19-24
configuring 19-27
guidelines for creating D-16
obtained from joins 18-27
originating 20-24
List Columns option
Applet Designer 12-7
Format menu A-9
List Mgmt Prospective Contact business
component
and data cleansing and
deduplication 15-14
List object type 19-7, 19-25
List of Values option
Screens menu A-6
List property
Control object type 6-19
List toolbar A-14, A-15
ListControl tool 12-6
ListControl value
Type property of Control object type 6-27,
19-30

Siebel Tools Guide Volume 2 of 2

21

Index

list-form View 19-34


list-form views 19-33, 19-34, 19-38
lists
naming conventions for D-22
Local Access list column
Responsibility Administration view of
Siebel applications 8-12, 8-35
LocalCurrency function B-8
Lock Assignment Column property
Assignment Object object type 10-11
Lock Project option
Repository menu A-10
Locked projects radio button
Object Compiler window 5-32
locking and unlocking projects 5-29
locking when extending the database
through Siebel Tools 11-4
Log value
Type property of Table object type 17-6
LOGFILE variable
srcctrl.bat batch file 14-42
logical database diagrams F-6
logical operators B-3
LoginId function B-8
LoginName function B-8
Long data type
Physical Type property of Column object
type 17-29
Lookup function B-8
LookupExpr function B-8
LookupValue function B-9
LOV Bounded property
Column object type 17-31
LOV Type property
Column object type 17-31

M
Macromedia Dreamweaver 7-11
MailTo button
Web Controls toolbar A-18
Maintain Lock option
check in procedure 5-19

22

Siebel Tools Guide Volume 2 of 2

Make Same Size option


Applet Designer 12-7
Format menu A-8
Manager value
Popup Visibility Type property of
Business Component object
type 20-28
Visibility Applet Type property of View
object type 8-32
Manager visibility 8-15, 8-16, 8-25
many-to-many relationships 17-21
in intersection tables 17-18, 17-22
row relationships in 21-13
using links in 18-39
Map Fax Properties option
Tools menu A-11
mapping
between user interface object
definitions 6-51
bitmap images with applets, toolbar
icons, and the view 6-41
business components to business
objects 6-12
business objects to data objects 6-13
screens to page tabs 6-38
screens to screen menu items 6-40
user interface objects to business
objects 6-14
mapping attributes
in EIM 17-47
mapping objects between layers in the
Siebel application architecture 6-3
mappings
interface tables 11-19
master business components 17-16, 18-37,
18-44, 18-65, 19-42
master-detail relationships F-6
in joins 18-28
master-detail View 19-35
master-detail views 18-34, 19-35, 19-40
illustrated 19-40
in business objects 18-59
invoking association applets from 21-15

Version 6.0

Index

object definitions for 19-42


using links in 18-38
Maximize method
attaching to buttons in Web applets 22-53
Menu Designer 2-11, 12-13, 19-57
Menu Editor option
View menu A-5
Menu Item Properties dialog box 12-14
Menu Text property
Drilldown object type 19-45
Screen View object type 6-34
Menu Text text box
Menu Item Properties dialog box 12-14
menus
applet-level 12-14
application-level 12-14
configuring Intro-20
Debug A-9
drilldowns on pop-up 19-45
Edit A-3
File A-2
Format 12-6, A-8
Go A-6
Help A-12
Menu bar A-2
of visualization views 4-42
Query A-7
Reports A-7
Repository A-10
sample 12-13
Screens A-6
Tools A-11
View A-4
Window A-12
Merge button
deduplication administration views 15-13
MessageBar method 19-61
Method Invoked property
Control object type 6-19, 19-21, 19-50
Web Page Item object type 19-21
Method property
Command object type 19-61

Version 6.0

methods
ActiveX 23-13
AddRecord 21-18
BrowserBack 22-53
BrowserForward 22-53
BrowserLaunch 22-53
BrowserNavigate 22-53
BrowserRefresh 22-53
BrowserStop 22-53
ContextHelp 19-61
Copy 19-61
CopyRecord 19-61
Cut 19-61
DeleteRecord 19-61
Dock 19-61
ExecuteQuery 19-61
ExportQuery 19-61
Find 19-61
FindActiveXControl 23-15
GoBack 19-61
GoForward 19-61
GotoFirst 19-61
GotoLast 19-61
GotoNext 19-61
GotoPrevious 19-61
Maximize 22-53
MessageBar 19-61
Minimize 22-53
NewCorrespondence 19-61
NewQuery 19-61
Paste 19-61
PickChartType 22-21
PickRecord 20-13
PickXAxis 22-21
PickYAxis 22-21
PickZAxis 22-21
Print 19-61, 22-53
Redo 19-61
Search 19-61
SortAscending 19-61
SortDescending 19-61
SortDialog 19-61
SynchronizeCalendars 19-61

Siebel Tools Guide Volume 2 of 2

23

Index

TraceOff 16-11
TraceOn 16-11
Undo 19-61
UndoRecord 19-61
Microsoft Component Object Model
(COM) 2-26
Microsoft FrontPage 7-11
Microsoft Internet Explorer
displaying Web applets in 22-46
Microsoft Visual Basic 2-24
Microsoft Visual SourceSafe
examples of using in Siebel repository
management 14-44
using in repository management 14-36
migrating
repositories 14-25
schemas 14-25
Minimize methods
attaching to buttons in Web applets 22-53
mobile databases
upgrading 14-31
mobile users
about 8-35
implementing custom attributes for 11-9
setting up developers as 1-17
modifying object definitions
about 4-14
Move Selected Tree Node option
Applet Designer 22-36
Multi Data Point property
Chart object type 22-25
Multi Line property
Control object type 19-31
List Column object type 19-31
Multi Value Field object type 6-9, 18-43
Multi Value Group wizard 13-28
Multi Value Link object type 18-40, 18-42,
18-45, 18-54
Multi Value Link property
Business Component object type 21-7
Field object type 18-43, 18-48
Multi Valued property
Field object type 18-43, 18-48

24

Siebel Tools Guide Volume 2 of 2

MultiLine property
Control object type 19-19
multiple organizational visibility 8-6
about 8-4
multiple tenancy
about 8-4
Multi-value field
business components 17-16
multi-value fields 18-22, 18-42, 18-45, 21-5
about 18-42
multi-value group applet
about 21-2
multi-value group applets 18-35, 18-39,
19-11, 21-2, 21-4, 21-9, D-17
multi-value groups B-18
about 18-40
architecture of 21-3
configuring 21-6, 21-10
example of 18-41
performance and 16-5
searching B-18
using links in 18-39
Multi-value link
business component 17-16
multi-value links
about 18-40, 18-47, 21-5
architecture of 18-36, 18-43, 18-44
configuring 21-7
how to construct 18-42
indirect 18-47, 21-7
object definitions in 18-48
primary Id field of 18-54
MVG Applet property
Control object type 19-18, 19-20, 21-6
List Column object type 19-27, 21-6
MVG Applet wizard 2-13
MVG wizard 2-13
My
in view names 8-17
My Team
in view names 8-17

Version 6.0

Index

N
NAME column
tables 17-17
Name field
Business Component object type 17-17
Name property
Assignment Object object type 10-11
Business Component object type 6-6,
10-25
Business Component User Prop object
type 15-6
Business Object object type 6-11
Column object type 17-29, 17-31
Control object type 6-19, 19-16
Index object type 17-36
List Column object type 19-27
Repository object type 14-16
Screen object type 6-32
Single Value Field object type 6-8, 6-18
Table object type 17-6
Toolbar Item object type 19-62
Toolbbar object type 19-60
User Key Attribute object type 17-46
View object type 6-30
names
choosing repository 14-27
extension column 11-8
naming conventions
applets D-12
business components D-9
business objects D-9
columns D-22
controls D-18
extension tables and columns 11-7
joins D-22
links D-22
list columns D-18
lists D-22
repository 1-15
repository objects D-22
screens D-22
Siebel objects 3-19

Version 6.0

tables D-22
views D-20
Netscape Navigator
displaying Web applets in 22-46
Never value
Visibility Rule Applied property of Link
object type 8-33
New Applet wizard
using in HTML thin client
configuration 7-11
New button
example in a list applet 19-31
in association applets 21-18
New Form Applet wizard 13-12
New List Applet wizard 13-4
New Object option
File menu A-2
New Object wizards 2-13
New Query button
List toolbar A-16
New Query option
Query menu A-7
New Record button
List toolbar A-16
New Record option
Edit menu A-4
New toolbar button
Edit toolbar A-14
New View wizard 13-20
NewCorrespondence method 19-61
NewQuery method 19-61
Newtable project 11-4
No Copy property
Multi Value Link object type 18-57
Single Value Field object type 6-8
No Delete property
Business Component object type 6-6
Single Value Field object type 6-18
No Insert property
Business Component object type 6-6
Single Value Field object type 6-18

Siebel Tools Guide Volume 2 of 2

25

Index

No Update property
Business Component object type 6-6
Single Value Field object type 6-18
NONE value
Auto Primary property of Llink object
type 18-55
Cascade Delete property of Link object
type 18-40
NOT LIKE operator B-4
NOT operator 18-10
NULL
SQL value B-5
NULL operator B-6
Nullable property
Column object type 17-31
Number data type
Physical Type property of Column object
type 17-30

O
OBJ_ID column
S_DEDUP_RESULT table 15-15
object and data interaction process C-9
Object Compiler window 5-32
object definitions
copying 4-15
creating 4-16
in Data Objects layer 3-9
modifying 4-14
modifying, copying, creating new 4-14
moving between projects 5-18
undoing 4-18
validating 4-19
viewing 4-11
Object Differences windowpane
Project Differences window 5-26
Review Conflicts and Actions window of
Import wizard 14-13
Object Explorer
making visible 4-5
Object Explorer option
View menu A-4

26

Siebel Tools Guide Volume 2 of 2

Object Explorer window 2-8


about 4-5
docking 4-10
hiding 4-9
tabs in 4-5
object instances C-10
Object List Editor window
about 4-9
Object Model 3-4
object property sort specification B-20
object relationships
viewing with Visualization views 4-38
object types in a Siebel application 3-20
object visualization views
hierarchy 4-47
relationships 4-44
objects
adding, modifying, copying 4-14
queries to search for 4-28
ODBC data source
Siebel Tools 1-12
ODBC parameter
imprep.ksh batch file 14-22
ODBC parameter for ddlsync.ksh 11-31
OLEDB Rowset wizard Intro-15, 2-13, 13-33
one-to-many relationships F-5
Business Objects and 18-62
business objects and 18-59
extension tables and 17-11, 17-14
links and 18-34
row relationships in 21-12
one-to-one relationships F-5
extension tables and 17-11
joins and 18-29
online help
configuration guidelines for D-12
Open Repository option
File menu A-2
operators
AND 18-10
comparison B-3
equal ( = ) B-4
IS NULL B-6

Version 6.0

Index

LIKE 18-11
LIKE and NOT LIKE B-4
logical B-3
NULL B-6
OR 18-10
Opportunity dock objects 8-36
Options option
Tools menu A-11
OPTIONS variable
srcctrl.bat batch file 14-42
OR operator 18-10
ORDER BY clause
and Sort Specification property of
business components 16-7
Organization (Account) dock objects 8-36
Organization value
Popup Visibility Type property of
Business Component object
type 20-28
Visibility Applet Type property of View
object type 8-32
Organization Visibility Field property
Business Component object type 8-30
Organization Visibility MVField property
Business Component object type 8-30
Organization Visibility MVLink property
Business Component object type 8-30
Organizational visibility 8-16
organizational visibility
multiple 8-6
single 8-4
originating applets 20-10, 20-24, 20-25, 21-6
originating business components 20-13,
20-24, 20-25, 21-6
originating controls 20-24
originating fields 20-24
child object definition for 20-15
originating list columns 20-24
Outer Join Flag property
Join object type 16-10, 23-7
Owner Delete property
Business Component object type 8-31

Version 6.0

Owner Field property


Business Component object type 8-24,
8-31
Owner Visibility Field property
Business Component object type 8-30

P
Page Tab object type 6-38, 19-7
PAR_ROW_ID column
table 17-14
tables 17-17
PAR_ROW_ID system column 17-34
Parent Business Component property
Link object type 18-37, 18-65, 21-8
Parent ID field
business components 17-17
Parent Read Only Field user property 18-14,
E-5
Business Component object type 18-12
ParentBCName function B-9
parent-child relationships
foreign keys and F-6
ParentFieldValue function B-9
Password button
Web Controls toolbar A-18
password encryption
problems in using when checking out
projects 5-12
Paste method 19-61
Paste option
Edit menu A-3
Paste toolbar button
Edit toolbar A-15
Patch Builder window 14-35
patch file
about 14-32
patches
creating 14-2
PATH variable
srcctrl.bat batch file 14-42
performance
multi-value groups and 16-5
period charts 22-23

Siebel Tools Guide Volume 2 of 2

27

Index

Personal value
Popup Visibility Type property of
Business Component object
type 20-28
Visibility Applet Type property of View
object type 8-32
Personal visibility 8-16, 8-22
Physical Type Name property
Column object type 17-29
Physical Type property
Column object type 11-16, 17-29, 17-31
Pick Applet property
Control object type 19-20, 20-11, 20-25
List Column object type 19-27, 20-25
Pick Applet wizard 2-13
pick applets 19-10, 20-8
architecture of 20-6, 20-7
configuring 20-12
constraining 20-19
data flow in 20-4
execution procedure for 20-5
Field property and 20-18
guidelines for configuring D-6
object definitions for 20-7
property settings in 20-13
static picklists compared to 20-21
Pick button 20-3
Pick List Field property
Pick Map object type 20-15, 20-26
Pick List object type 20-24
Pick List wizard 2-13, 13-26
Pick Map object type 20-9, 20-15, 20-24,
20-25
pick maps
using multiple 20-26
PickChartType method 22-21
Picklist Functions property 22-22
Chart object type 22-25
PickList Generic business
components 20-24, 20-27
Picklist Types property
Chart object type 22-19

28

Siebel Tools Guide Volume 2 of 2

picklists
By 22-20, 22-21, 22-23
By #2 22-21
configuring 20-26
dynamic 13-26
Show 22-20, 22-21
static 13-26, 20-21
Type 22-19, 22-21
unbounded 20-15
PickRecord method 20-13
PickXAxis method 22-21
PickYAxis method 22-21
PickZAxis method 22-21
placeholders in HTML thin client
templates 7-11
PLOT function 22-21
Plot value
Data Function property of Chart object
type 22-18
Type property of Chart Element object
type 22-27
Popup Edit property
Control object type 17-50, 19-18, 19-20,
19-31
List Column object type 17-50, 19-28,
19-31
Popup Visibility property
Business Component object type 8-30
Popup Visibility Type property
Business Component object type 20-28
PopupQueryAdd control 21-18
Position Administration view 8-18, 8-21
Position Column property
Assignment Object object type 10-14
Position fields C-8
Position Primary Column property
Assignment Object object type 10-14
Position Primary Denorm Column property
Assignment Object object type 10-14
Position Primary Manual Column property
Assignment Object object type 10-14
Position Primary System Column property
Assignment Object object type 10-14

Version 6.0

Index

Position property
Tree Node object type 22-35
Position Table property
Assignment Object object type 10-14
Position Team Copy Column property
Assignment Object object type 10-14
Position Team Denorm Column property
Assignment Object object type 10-14
Position team Manual Column property
Assignment Object object type 10-14
Position Team System Column property
Assignment Object object type 10-14
Position text box
Menu Item Properties dialog box 12-14
Position Visibility Field property
Business Component object type 8-24,
8-30
PositionId function B-9
PositionName function B-9
positions 8-4, 8-15, 8-17, 8-25
setting up 1-17
Post Default Value property
Field object type 16-10
postal code formatting options 19-19
post-installation tasks
Siebel Tools 1-8
Pre Default Value property
Field object type 16-10, 17-17
precedence of operators in expressions B-2
Precision property
Column object type 17-30, 17-31
Predefined property
Bitmap Category object type 6-43, 6-44
predefined queries B-20
pre-installation tasks
Siebel Tools 1-2
PreInvokeMethod script 12-14
PreInvokeMethod scripts 12-14
Preview option
Applet Designer 12-7
Format menu A-9
Preview window
Applet Designer 12-7, 13-24

Version 6.0

Primary Id Field property


Link object type 18-46, 18-48, 18-50
Llink object type 18-54
Multi Value Link object type 18-45, 18-46,
18-55, 21-7
primary key columns F-3
primary key fields 18-37
Primary Key property
Column object type 17-30
Primary Key value
Type property of Index object type 17-36
primary keys F-3
Primary Table property
Assignment Object object type 10-11
Dock Object object type 8-39
Print method 19-61
Print methods
attaching to buttons in Web applets 22-53
Print option
File menu A-3
Print Preview option
File menu A-3
Print Setup option
File menu A-3
private data columns 17-30
Private value
Visibility Level property of Dock Object
object type 8-36
Product Name assignment criterion 10-18
Product Wildcard assignment item 10-18
ProductDefect dock object 8-37
Project Differences
window 5-25
windowpane 5-26
Project List option
Reports menu A-7
Project List report 4-37
Project object type 14-6
Project property
and archive files 14-3
PROJECT variable
srcctrl.bat batch file 14-42

Siebel Tools Guide Volume 2 of 2

29

Index

project_file argument
srcctrl.bat batch file 14-38
projects 5-12
about 5-3
archiving 14-2
assigning object definitions to 5-17
canceling check out 5-28
checking in 5-19
checking out 11-11
compiling 5-31
creating new 5-15
deleting 5-15
EIM Interface Table 11-4
ERP Interface Table 11-4
exporting 14-2, 14-6
getting 5-10
importing 14-2
locking 11-11
locking and unlocking 5-29
meaning of suffix names of 5-4
names in standard Siebel applications 5-4
Newtable 11-4
renaming 5-16
Scopus Migration 11-4
structure of 5-34
viewing object definitions by 5-8
Projects list box
Object Compiler window 5-32
Projects radio button group 5-32
properties
object sort specification B-20
Properties window 4-43
about 4-9
docking 4-10
hiding 4-9
Properties Window option
View menu A-4
property diagrams Intro-8
Prospects calculation
used to generate a dedup token 15-9
public data tables 17-14
PushButton tool
Applet Designer 12-5

30

Siebel Tools Guide Volume 2 of 2

PushButton value
Type property of Control object type 6-27,
19-20

Q
queries F-7
compound 4-32
JOIN clause in F-8
simple 4-31
sorting through predefined B-20
that search for objects 4-28
types of F-7
Query By Example search syntax B-16
Query List Business Component property
Business Object object type 6-11
Query menu A-7
query operators 4-31
query plans 16-14
query-by-example queries 4-28, F-7
question (?) character
using in pattern matching B-5

R
Read Only property
Control object type 6-19, 19-19
Single Value Field object type 6-8
Recipient E-mail Address Field user
property 9-11, E-5
Recipient Fax Phone Field user
property 9-11, E-6
Recipient Id Field user property 9-12, E-6
record access visibility 8-15, 8-16
records
creation/updating 4-26
Recursive Link property
Tree Node object type 22-37
Recursive property
Tree Node object type 22-37
recursive trees 22-36
Redo method 19-61
Redo option
Edit menu A-3

Version 6.0

Index

Redo toolbar button


Edit toolbar A-15
reference dates 4-27
Refine Query option
Query menu A-7
Refresh Windows option
View menu A-5
relational database management systems
about F-2
queries used in F-7
relationships based on foreign keys in F-5
tables, rows, and columns in F-2
relational databases
about F-2
Relationships visualization view 4-44
release summary Intro-9
remote users
about 8-35
repimexp.exe batch file
about 14-23
repimexp.exe executable file
about 14-18
Replace option
Edit menu A-4
Replace Team Members property
Assignment Object object type 10-11
Report object type 8-34
Report wizard 2-13
reports
about object relationships 4-36
Applets by BusComp 4-37
Business Component and Fields 4-37
Business Object and Components 4-37
Project List 4-37
Repository Dock Objects 4-37
Table 4-37
Workflow Policy Objects 4-37
Reports menu A-7
REPOS _NAME parameter
imprep.ksh batch file 14-22
REPOS_NAME parameter
imprep.ksh batch file 14-17

Version 6.0

repositories
backing up 14-2
deleting 14-2, 14-16
establishing naming conventions for 1-15
getting information about 5-6
managing 14-2
migrating 14-2
migrating between databases 14-25
renaming 14-2, 14-16
selecting the current one 5-5
repository
about 3-21
Siebel C-9
Repository Dock Objects option
Reports menu A-8
Repository Dock Objects report 4-37
repository file (.srf extension) 2-20
Repository menu A-10
Repository object type 14-16, 14-17
repository objects
archiving 14-2
exporting 14-2, 14-3, 14-4
importing 14-2, 14-3
Repository value
Type property of Table object type 17-6
RepositoryFile setting
Siebel configuration file C-4
Required property
Single Value Field object type 6-8
Resolution option
Applet Designer tab of Development Tools
Options window 13-23
responsibilities 8-8
about 8-4, 8-8
adding and removing for employees 8-14
adding views to 8-11
creating 8-11
setting up 1-17
Responsibility Administration view 8-10
Responsibility fields C-8
Restart option
Debug menu A-9
results tables F-7

Siebel Tools Guide Volume 2 of 2

31

Index

Review Conflicts and Actions window


Import wizard 14-12
Root Search Spec property
Tree Node object type 22-37
routing
about 8-4
routing restrictions 8-35
ROW_ID Column 17-34
rows
about F-2
resulting from joins 18-29
RTF file 22-49, E-8
RTF value
BrowserType user property 22-49, E-8
Rule Column property
Assignment Object object type 10-12
Rule Primary Column property
Assignment Object object type 10-12
Rule Primary Denorm Column property
Assignment Object object type 10-12
Rule Primary Manual Column property
Assignment Object object type 10-12
Rule Primary System Column property
Assignment Object object type 10-12
Rule Table property
Assignment Object object type 10-12
Rule Team Copy Columns property
Assignment Object object type 10-12
Rule Team Denorm Column property
Assignment Object object type 10-12
Rule Team Manual Column property
Assignment Object object type 10-12
Rule Team System Column property
Assignment Object object type 10-12
runtime controls 22-19
Runtime property
Control object type 19-18, 19-20, 20-25
List Column object type 20-25

S
S prefix
table names 17-5

32

Siebel Tools Guide Volume 2 of 2

S_APP_QUERY statements
in trace files 16-16
S_CONTACT table 16-7
S_DEDUP_RESULT table 15-11, 15-14, 15-15
clearing out old records from 15-16
S_LST_OF_VAL table 16-13
S_NOTE prefix
in table names 17-38
Sales Rep value
Popup Visibility Type property of
Business Component object
type 20-28
Visibility Applet Type property of View
object type 8-32
Sales Team visibility
about 8-15, 8-16, 8-17
sales teams 8-16
Save All option
File menu A-2
Save All toolbar button
Edit toolbar A-14
Save option
File menu A-2
Save toolbar button
Edit toolbar A-14
Scale property
Column object type 17-30, 17-31
schemas
migrating 14-25
Scopus Migration project 11-4
Screen Menu Item object type 6-39, 19-7
Screen Menu property
View object type 6-30
Screen object type 18-60, 19-52
Screen property
Page Tab object type 6-39
Screen Menu Item object type 6-40
Screen View object type 6-34, 19-7, 19-52
screens
about 3-16, 6-32, 19-52
applications as collections of 19-56
business objects and 18-60

Version 6.0

Index

defining 6-32
naming conventions for D-22
Screens menu 19-52, A-6
Script Editor option
View menu A-5
scripts
about 2-25
PreInvokeMethod 12-14
Search method 19-61
search specification B-17
search specification expressions
syntax rules for 18-10
Search Specification property
Business Component object type 6-6,
17-17, 18-10
Business Component, Applet, Link, or
Picklist object types 16-7
Single Value Field object type 6-19
search syntax
multi-value groups B-18
Query By Example B-16
search specification B-17
searching
for object definitions 4-33
performance and 16-7
Sector n Applet property
View object type 22-33
Sector0(-7) Applet property
View object type 6-30
sectors
about 19-36
in views 6-28, 12-12, 19-36
Select All option
Edit menu A-4
Select Business Component menu
option 12-9
Select button
Web Controls toolbar A-18
Select File dialog box 22-39
Select tool
Applet Designer 12-5
Select Tree option
Applet Designer 22-36

Version 6.0

Select Truncated Controls option


Applet Designer 12-7
Format menu 13-25, A-9
Select Untranslated Controls option
Applet Designer 12-7
Format menu 13-25, A-9
Selected Bitmap Index property
Tree Node object type 22-35
Selected projects radio button
Object Compiler window 5-32
SELECTED value
Auto Primary property of Link object
type 18-55
selective retrieval 8-43
selective routing 8-43
Separator option
Item Type radio button group in Menu
Item Properties dialog box 12-14
Sequence Field user property 18-22, 18-24
sequence fields
about 18-22
Sequence Object property
Column object type 11-14
Sequence property
Applet Toggle object type 19-50
Control object type 6-19, 12-7, 19-17
Dock Object object type 8-41
Dock Object Visibility Rule object
type 8-41
Index Column object type 17-37
List Column object type 19-27
Page Tab object type 6-39
Screen Menu Item object type 6-40
Screen View object type 6-34
Toolbar Item object property 19-62
sequence to follow when defining business
objects 6-4
SequenceField user property E-7
Series Field property
Chart object type 22-18, 22-24, 22-25
Server Parameters view 14-17
server views 19-33
ServiceRequest dock object 8-36

Siebel Tools Guide Volume 2 of 2

33

Index

Set Primary Employee property


Assignment Object object type 10-11
Set Primary Position property
Assignment Object object type 10-11
Set Primary Rule property
Assignment Object object type 10-11
Set Tab Order option
Applet Designer 12-7
Format menu A-8
SETPROJ variable
srcctrl.bat batch file 14-42
setup.exe
Siebel Tools 1-3
Show picklists 22-20, 22-21
Siebel .cfg file C-3
SIEBEL _HOME parameter
exprep.ksh batch file 14-20
imprep.ksh batch file 14-22
Siebel Administrator responsibility 1-17
Siebel Anywhere 11-29
Siebel Applet Designer
about 2-10
Applet Designer Preview in 12-9
Siebel application engine C-2
Siebel Application Upgrader 2-8, 2-18
Siebel applications
startup process C-2
Siebel BusObject Compiler 2-15
Siebel BusObject Designer 2-8
Siebel BusObject Explorer 2-8
Siebel COM Interfaces 2-8
Siebel COM interfaces 2-18
Siebel configuration file (.cfg
extension) 2-20
Siebel Data Model 11-3, F-2
Siebel database 3-21
Siebel Database Extension Designer 2-8,
2-18
about 11-3
capabilities of 11-3
database extension planning 11-4
using extensions with 11-18
Siebel eBriefings 22-46

34

Siebel Tools Guide Volume 2 of 2

Siebel Enterprise Applications window 3-13


Siebel Enterprise Integration Manager 17-38
Siebel eScript 2-24, 2-25
Siebel file system 22-40
Siebel HTML thin clients 7-3
Siebel Interactive 22-47
Siebel Java thin client 7-3
Siebel Menu Designer 2-11
Siebel Object Interfaces 2-24
functions of 2-26
Siebel Object List Editor
query-by-example features of 4-28
Siebel Object Model 3-4
Siebel Object Visualization Views 2-9
Siebel Programming Model 2-24
Siebel Remote
integrating with after implementing a
database extension 11-3
Siebel repository 3-21, C-9
.srf file C-3, C-4
Siebel repository file (.srf extension) 2-20
Siebel repository file text box
Object Compiler window 5-32
Siebel Runtime Model
about C-2
command line execution process C-2
configuration file and .srf file load
process C-3
database logon process C-5
object and data interaction process C-9
overview of startup process C-2
visibility establishment process C-7
Siebel thin client for Windows 7-3
Siebel thin clients
about 7-3
Siebel Tools
about 2-6
application window 2-7
directory structure 1-9
icons created through installation 1-11
installing 1-3
managing the development environment
of 1-16

Version 6.0

Index

ODBC data sources 1-12


post-installation tasks 1-8
pre-installation tasks 1-2
running multiple local databases 1-13
toolbars of A-13
verifying prerequisites before
installing 1-2
windows in 4-4
Siebel Tools components
Application Upgrader 2-18
BusObject Repository Manager 2-15
New Object wizards 2-13
Siebel BusObject Compiler 2-15
Siebel BusObject Designer 2-8
Siebel BusObject Explorer 2-8
Siebel Menu Designer 2-11
Siebel Object Visualization Views 2-9
Siebel View Designer 2-11
Siebel Tools window 2-7, 4-12, 4-13
Siebel VB 2-16, 2-18, 2-24, 2-25, 19-56
component of Siebel Tools 2-8
editor 12-14
Siebel View Designer 2-11
overview of 12-10
Siebel Wireless applications 7-7
Siebel WML thin client 7-3
siebel.exe 2-20
siebel.exe program C-3
siebel.ini file 1-12
siebel.srf file C-4
SIEBEL_ENTERPRISE _SERVER parameter
siebenv.ksh batch file 14-20
SIEBEL_HOME parameter
siebenv.ksh batch file 14-20
SIEBEL_LANGUAGE parameter
siebenv.ksh batch file 14-20
SIEBEL_SERVER _NAME parameter
siebenv.ksh batch file 14-20
siebenv.bat 11-31
siebenv.ksh batch file
about 14-20
parameters of 14-20
sif extension on archive files 14-3

Version 6.0

sif files 14-9


simple queries 4-31
Single organizational visibility
about 8-4
Single Value Field object type 6-9, 6-18
Skill Item Table property
Assignment Object object type 10-14
Skill Table property
Assignment Object object type 10-14
SOFTWARE variable
srcctrl.bat batch file 14-42
Sort Ascending button
List toolbar A-16
Sort Descending button
List toolbar A-16
Sort Specification property
Business Component object type 6-6,
16-7, 18-8
Pick List object type 18-9, 20-26
syntax considerations 18-8
sort syntax B-20
SortAscending method 19-61
SortDescending method 19-61
SortDialog method 19-61
sorting
performance and 16-7
through object property sort
specifications B-20
through predefined queries B-20
through the user interface B-21
SortSpecification property
Chart Element object type 22-26
source control integration options 14-46
source control systems
using in repository management 14-38
Source Field property
Join object type 18-32
Join Specification object type 18-31
Link object 17-16
Link object type 17-34, 18-37, 18-45,
18-48, 18-49, 18-50, 18-51, 18-52, 21-8
source fields 18-37

Siebel Tools Guide Volume 2 of 2

35

Index

Space Evenly option


Applet Designer 12-7
Format menu A-8
spf files
about 14-32
spooled SQL
using to troubleshoot performance
problems 16-11
SQL queries F-7
components of F-8
join clause in F-8
SQL queries against database data D-22
SQL trace file
generating 16-11
SQL*Plus viewer (Oracle) 17-3
SRC_ODBC parameter
exprep.ksh batch file 14-19
SRC_PSWD parameter
dev2prod.ksh batch file 14-28
exprep.ksh batch file 14-19
imprep.ksh batch file 14-22
SRC_PSWD parameter for ddlsync.ksh 11-30
SRC_PSWD variable
srcctrl.bat batch file 14-42
SRC_REPOS _NAME parameter
exprep.ksh batch file 14-19
SRC_REPOS parameter
dev2prod.ksh batch file 14-28
SRC_TBLO parameter
dev2prod.ksh batch file 14-28
exprep.ksh batch file 14-19
imprep.ksh batch file 14-22
SRC_TBLO parameter for ddlsync.ksh 11-30
SRC_TBLO_PSWD parameter for
ddlsync.ksh 11-31
SRC_USR parameter
dev2prod.ksh batch file 14-28
exprep.ksh batch file 14-19
imprep.ksh batch file 14-22
SRC_USR parameter for ddlsync.ksh 11-30
SRC_USR variable
srcctrl.bat batch file 14-42

36

Siebel Tools Guide Volume 2 of 2

srcctrl.bat batch file


about 14-37
syntax of 14-38
using in source control 14-38
variables of 14-42
srf file 2-20
srf files 5-31
srvrmg.exe utility 11-29
standard columns 3-5
standard extension columns 17-31, 17-32
standard extension tables 17-9
standard Siebel applications
configuring 2-5
projects delivered with 5-4
standard tables 3-5, 17-5
prefixes for 17-5
Start option
Debug menu A-9
Starting With text box
association applets 21-19
startup process
Siebel applications C-2
static drilldown 19-44
static drilldown behavior 19-45
static images
embedded in applets 6-27
static picklists
architecture of 20-22, 20-23
compared to dynamic picklists 13-26
object definitions for 20-24
pick applets compared to 20-21
static toggling
about 19-49
Statistics windowpane
Data window in Interactive SQL 16-14
status bar
Siebel Tools A-13
Status Bar option
View menu A-5
Step Into option
Debug menu A-9
Step Over option
Debug menu A-9

Version 6.0

Index

Step To Cursor option


Debug menu A-9
Stretch value
Background Bitmap Style property of
Applet object type 6-48
string concatenation B-11
string constants
in a search specification 18-10
String Search option
Repository menu A-10
Strings option
Screens menu A-6
Style option
Visualization view shortcut menu 4-42
styles
applet 19-9, 19-16
table 3-5
view 19-33
Sub Account business component
and data cleansing and
deduplication 15-14
Sub-menu option
Item Type radio button group in Menu
Item Properties dialog box 12-14
suffixes of project names 5-4
SUM function 22-21
Sum function B-9
Sum value
Data Function property of Chart object
type 22-18
Summary window
Import wizard 14-15
Super Class property
Class object type 10-25
Super VGA monitors
support for 12-12
SVGA monitors
how sectors display in 6-29
support for 12-12
SWE:Login user property 22-48, E-8
SWE:LoginAuxCmd user property E-9
SWE:LoginAuxCond user property 22-48
SynchronizeCalendars method 19-61

Version 6.0

syntax
for predefault fields B-12
of LIKE and NOT LIKE operators B-4
search specification expressions 18-10
Sort Specification property 18-8
sorting B-20
System Administration option
Screens menu A-6
system columns 3-6
about 17-33
compared with system fields 17-35
system fields
about 18-20
compared with system columns 17-35
defining in business components D-8
System Preferences option
Screens menu A-6
System value
Type property of Column object
type 17-29, 17-31, 17-33
Type property of Index object type 17-36
system.ini file 14-43

T
T suffix
extension table names 17-6
table names 17-11
Tab bar 19-52
tab bar 19-57
Tab Stop property
Control object type 6-20, 19-17
Table object type 11-6, 11-12, 11-13, 11-15,
11-16, 11-17, 11-20, 11-21, 11-26, 17-4,
17-5, 17-6, 18-4
Table property
Business Component object type 6-6,
11-6, 11-25, 17-5, 18-5, 22-42
Column object type 17-34
Join object type 18-31, 18-32, 23-7
tables 17-2
about 17-5, F-2
attachment 23-7
beginning with S 17-5

Siebel Tools Guide Volume 2 of 2

37

Index

beginning with W 17-5


configuring 17-6
data 3-5, 17-7
EIM 17-2
extension 3-6, 17-7, 18-6
interface 3-6, 17-38, 17-40
intersection 3-5, 17-18, 17-28, 18-15,
18-39
joined 18-6, 18-32
naming conventions for D-22
prefixes for 17-5
public data 17-14
relationships between F-4
results F-7
S_CONTACT 16-7
S_DEDUP_RESULT 15-11
S_LST_OF_VAL 16-13
standard 3-5, 17-5
styles of 3-5
Tables option
Reports menu A-7
Tables report 4-37
Tables version
Relationship Visualization View 4-46
tabs
Object Explorer window 4-5
tasks
configuration 2-28
Team
in view names 8-17
Technical Support option
Help menu A-12
templates
using in HTML thin client
configuration 7-11
territories
about 8-20
territory assignment process 8-19
Text Alignment property
Control object type 6-20, 19-20
List Column object type 19-28

38

Siebel Tools Guide Volume 2 of 2

text box controls


about 19-17
configuring 19-17
text boxes
about 19-17
Text button
Web Controls toolbar A-18
text controls
guidelines for creating D-16
Text Length property
Column object type 17-31
Single Value Field object type 6-8
Text property
Page Tab object type 6-39
Screen Menu Item property type 6-40
Text Style object type 19-8
Text Style property
Applet object type 19-8
Control object type 19-8
View object type 19-8
TextArea button
Web Controls toolbar A-18
TextBox tool
Applet Designer 12-5
TextBox type
Type property of Control object
type 19-18
TextBox value
Type property of Control object type 6-27
Type property of List Column object
type 6-25
TGT_ODBC parameter
dev2prod.ksh batch file 14-28, 14-29
TGT_PSWD parameter
dev2prod.ksh batch file 14-28
TGT_REPO parameter
dev2prod.ksh batch file 14-26
TGT_REPOS parameter
dev2prod.ksh batch file 14-29
TGT_TBLO parameter
dev2prod.ksh batch file 14-29
TGT_TBLO_PSWD parameter
dev2prod.ksh batch file 14-29

Version 6.0

Index

TGT_USR parameter
dev2prod.ksh batch file 14-28
thin clients
about 7-3
configuration scenario for 7-8
configuring HTML 7-10
HTML 7-3
Java 7-3
Windows 7-3
WML 7-3
Thread Applet property
View object type 19-43
Thread Bar
configuring 19-43
Thread bars
configuring 19-43
Thread Field property
View object type 19-43
Thread Title property
View object type 19-43
threads
configuration guidelines for D-19
Tile value
Background Bitmap Style property of
Applet object type 6-48
time control
configuring 19-32
Time data type
Physical Type property of Column object
type 17-30
Timestamp function B-9
Title property
Applet object type 20-13, 21-9, D-14
Single Value Field object type 6-19
View object type 6-30, D-21
Title value
Type property of Chart Element object
type 22-27
Today function B-9
Toggle Breakpoint option
Debug menu A-9

Version 6.0

toggling
about 19-49
dynamic 19-51
Toolbar Item object type 19-59, 19-60, 19-62
Toolbar object type 19-59, 19-60
toolbars
adding new icons to 6-49
configuring Intro-20
Control A-14
creating new 6-49
Debug A-14
Edit A-14
History A-14
in Siebel applications 19-58
in Siebel Tools A-13
List A-14
Web Controls A-18
Toolbars option
View menu A-5
Toolbars tab
Customize dialog box 19-58
Tools menu A-11
Tools Options dialog box
Check In/Out tab 5-23
Tooltip Text property
Command object type 19-61
Top Left value
Background Bitmap Style property of
Applet object type 6-48
TOT_SCORE_VAL column
S_DEDUP_RESULT table 15-14
Total Displayed property
List object type 16-8
Total Required property
List Column object type 16-8, 19-29
List object type 16-8
totals
displaying in list applets 16-8
trace files 16-15
trace files (SQL)
generating 16-11
TraceOff method 16-11
TraceOn method 16-11

Siebel Tools Guide Volume 2 of 2

39

Index

Translate property
Column object type 11-14
tree applets 19-13, 22-29, 22-34
tree controls 22-36
Tree Node object type 22-35, 22-37
Tree object type 22-34, 22-36
TreeControl button 22-36
TreeControl tool
Applet Designer 12-6
TreeControl value
Type property of Control object type 6-27
trees
recursive 22-36
Truncation Checking option
Repository menu A-11
Type field
business components 17-17
Picklist Generic business
components 20-28
Type Field property
Pick List object type 20-26
Type picklists 22-19, 22-21
Type property 18-22
Applet object type 20-13, 21-9
Chart object type 22-26
Column object type 17-29, 17-30, 17-33
Control object type 6-20, 19-16, 19-18
Index object type 17-36
List Column object type 6-25, 19-29
Single Value Field object type 6-8
Table object type 11-6, 11-12, 11-13, 17-5,
17-6
Type Value property
Pick List object type 20-26
Types tab
Object Explorer window 4-5
Typical Setup option
Siebel Tools installation 1-3

U
unbounded picklists
typing new values into 20-15
Undo method 19-61

40

Siebel Tools Guide Volume 2 of 2

Undo option
Edit menu A-3
Undo Record option
Edit menu A-3
Undo toolbar button
Edit toolbar A-15
undocking and docking windows 4-10
UndoRecord method 19-61
Unique property
Index object type 17-36
Unlock Project option
Repository menu A-10
unused business components D-8
unused business objects D-8
unused controls and list columns D-16
unused views D-19
upgrading
mobile databases 14-31
URL0 user property
in Web applets 22-49
URL00 user property E-9
URLn:Ext user property E-10
URLn:LoginId user property
in Web applets 22-50
URLn:LoginPositionId user property, in Web
applets 22-51
URLn:SystemPreference user property
in Web applets 22-50
URLnn user property E-9
URLnn:Emb user property E-9
URLnn:Field user property E-10
URLnn:LoginId user property E-10
URLnn:LoginPositionId user property E-10
URLnn:Samp user property E-10
URLnn:SystemPreference user
property E-10
Use FKey property
Column object type 11-14
Use Primary Join property
Link object type 18-55
Llink object type 18-54
Multi Value Link object type 18-55

Version 6.0

Index

USE_REPOSITORY parameter for


ddlsync.ksh 11-31
user access controls 8-4
user IDs
using to set visibility 8-15
user interface
.COM application 2-4
dedicated client 2-3
standard Siebel 2-3
User Interface Layer
Siebel application architecture 6-3
user interface object types
architectural diagrams of 19-4, 19-6
explanatory overview of 19-4
user interface objects
defining 6-15
User Interface Objects Layer 3-12
in Siebel architecture 3-3
user interface sorting B-21
User Key Attribute Join object type 17-46
User Key Attribute object type 17-46
User Key Column object type 17-46
User Key object type 17-46
User Key value
Type property of Index object type 17-36
user keys 17-2
User Name property
Table object type 11-7
Type property of Table object type 17-7
user properties
about E-2
Assignment Results Applet 10-26
Assignment Results BusComp 10-26
BC Read Only Field 18-12, E-5
DataCleansing Field E-3
DataCleansing Type 15-6, E-3
DataCleansingField 15-5
DataCleansingField n 15-7
DeDup Token Value 15-9, E-4
DeDuplication Field E-4
DeDuplication Field n 15-10
DeDuplication Results Applet 15-10, E-5

Version 6.0

DeDuplication Results BusComp 15-10,


E-5
DefaultPrefix 23-8, E-6
Field Read Only Field 18-13, E-5
FileMustExist 23-8, E-7
in a Web applet 22-48
list of supported E-2
Parent Read Only Field 18-14, E-5
Recipient E-mail Address Field E-5
Recipient Fax Phone Field E-6
Recipient Id Field E-6
Sequence Field 18-22, 18-24
SequenceField E-7
SWE:Login 22-48, E-8
SWE:LoginAuxCmd 22-48, E-9
URL00 E-9
URLn:Ext E-10
URLnn E-9
URLnn:Emb E-9
URLnn:Field E-10
URLnn:LoginId E-10
URLnn:LoginPositionId E-10
URLnn:Samp E-10
URLnn:SystemPreference E-10
user responsibility
about 8-8
Using Help option
Help menu A-12

V
Validate window 4-20
validating object defintions 4-19
Validation options window 4-22
Validation property
Field object type B-13
Value field
Picklist Generic business
component 20-28
Value property
Business Component object type 10-25,
18-24
Business Component User Prop object
type 15-6

Siebel Tools Guide Volume 2 of 2

41

Index

values
null B-5
Values applet 10-17
Varchar data type
Physical Type property of Column object
type 17-29
vertical boundaries between sectors in
views 22-33
Vertical Line Position property
View object type 12-12, 22-33
Vertical Scroll property
Control object type 19-19
VGA monitors
support for 12-12
view access visibility 8-5, 8-8
View Administration view
in Siebel applications 8-9
View bar 19-52
impact of visibility on 8-15
View Designer 6-30, 12-10, 13-21
View Details option
View menu A-5
View Details Visualization view 4-38
View Hierarchy option
View menu A-5
View Hierarchy Visualization view 4-38
View menu A-4
View Mode property
Report object type 8-34
View Name list column
Responsibility Administration view of
Siebel applications 8-12
View object type 18-60
explorer views 22-33
View Relationships option
View menu A-5
View Relationships Visualization view 4-38
View wizard 2-13
Viewbar Text property
Screen object type 6-33
Viewbar width option
Applet Designer tab of Development Tools
Options window 13-23

42

Siebel Tools Guide Volume 2 of 2

viewing
object definitions 4-11
views
about 3-15, 19-33
Assignment Criteria 10-15
business objects and 18-60
configuration guidelines for D-19
configuring 19-36
configuring applets within 6-32
defining using the Object List Editor 6-30
defining using the View Designer 6-30
drilldown behavior in 19-44
Duplicate Account Administration 15-12
Duplicate Account Resolution
Administration 15-12
Duplicate Contact Account
Administration 15-12
Duplicate Contact Administration 15-12
Duplicate Prospect Administration 15-12
Duplicate Prospect Resolution
Administration 15-12
Employee Administration 8-18
explorer 22-33
list-form 19-38
master-detail 19-40
naming conventions for D-20
Position Administration 8-18
properties related to visibility 8-31
providing users access to 6-50
sectors in 6-28
server 19-33
styles of 19-33
titles of D-21
unused D-19
vertical boundaries between sectors
in 22-33
virtual business components 3-11, 3-22
Virtual Table value
Type property of Table object type 17-6
visibility 8-15
about 8-4, C-8
All 8-15, 8-16, 8-26, 8-35
considerations in configuring D-9

Version 6.0

Index

drilldown behavior and 8-27


Manager 8-15, 8-16, 8-25
Organizational 8-16
Personal 8-16, 8-22
process of establishing C-7
properties related to 8-29
record access 8-15
relationship with responsibilities 8-16
Sales Team 8-15, 8-16, 8-17
view access 8-5
Visibility Applet property
View object type 8-32
Visibility Applet Type property
View object type 8-32
Visibility Emp MVField property
Business Component object type 8-29
Visibility Level property
Dock object type 8-36
Visibility MVLink property
Business Component object type 8-29
Visibility Rule Applied property
Link object type 8-33
visibility strength concept in dock object
visibility 8-41
Visibility Strength property
Dock Object object type 8-41
Dock Object Visibility Rule object
type 8-41
Visibility Type property
Drilldown Object object type 8-28, 8-34
Visible property
Applet object type 16-10
List Column object type 16-10
Visual SourceSafe
examples of using in Siebel repository
management 14-44
Visualization views 4-38
Details 4-39
View Details 4-38
View Hierarchy 4-38
View Relationships 4-38

Version 6.0

W
W prefix
table names 17-5
Want Return property
Control object type 19-19
Warehouse value
Type property of Table object type 17-6
Watch option
View menu A-5
Web Applet Editor 7-13
Web applets 19-12
about 22-46
Web search specifications for 22-50
Web browser applets
layout 22-52
Web controls 7-12
Web Controls toolbar A-18
Web Layout Editor 13-10
Web Layout editor 13-19
Web Page object type Intro-10
Web Script Editor option
View menu A-5
Web Template Editor tab
Development Tools Options dialog
box 7-19
Web value
BrowserType user property 22-49, E-8
Web View Editor 7-16
WHERE clause
Search Specification property and 16-7
Width option
Applet Designer tab of Development Tools
Options window 13-23
Width property
Applet object type 22-34
Single Value Field object type 6-19
wildcard characters
in search specifications 18-11
Window menu A-12
windows
About Repository File 5-7
Applet Designer Preview 13-24

Siebel Tools Guide Volume 2 of 2

43

Index

menu bar menus of A-2


Object Compiler 5-32
Properties 4-43
Wireless applications 7-7
wizards
Applet 7-11
BusComp 2-13
Chart Applet 2-13
Form Applet 2-13
Import 14-8, 14-12
Integration Object 2-13
List Applet 2-13
Multi Value Group 13-28
MVG 2-13
MVG Applet 2-13
New Form Applet 13-12
New List Applet 13-4
New View 13-20
OLEDB Rowset Intro-15, 2-13, 13-33
Pick Applet 2-13
Pick List 2-13, 13-26
Report 2-13
View 2-13

44

Siebel Tools Guide Volume 2 of 2

Workflow Policy Component Col object


type 10-9
Workflow Policy Object object type 10-9,
10-25
Workflow Policy Objects option
Reports menu A-8
Workflow Policy Objects report 4-37

X
X suffix
extension table names 11-7, 17-6
in table names 17-11, 17-38, 18-7
XM suffix
extension table names 11-7, 17-6
in table names 17-14, 17-38
XMIF suffix
in table names 17-38
interface table names 17-6
XVGA monitors
how sectors display in 6-29

Z
Zoom option
Visualization view shortcut menu 4-42

Version 6.0

You might also like