Siebel 8.1.x Tools Vol2_D63750.pdf
-
Upload
khangminh22 -
Category
Documents
-
view
3 -
download
0
Transcript of Siebel 8.1.x Tools Vol2_D63750.pdf
Siebel 8.1.x Tools
Volume II • Student Guide
D70458GC11
Edition 1.1
November 2009
D63750
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Copyright © 2009, Oracle. All rights reserved.
Disclaimer
This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except where your use constitutes "fair use" under copyright law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle.
The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free.
Restricted Rights Notice
If this documentation is delivered to the United States Government or anyone using the documentation on behalf of the United States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTSThe U.S. Government’s rights to use, modify, reproduce, release, perform, display, or disclose these training materials are restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract.
Trademark Notice
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
i
Table of Contents
Volume I: Lesson i Course Introduction Lesson 1 Configuring a Siebel Application Lesson 2 Using a Local Development Environment Lesson 3 Editing and Compiling Object Definitions Lesson 4 Managing Object Defintions Lesson 5 Siebel Web Templates Lesson 6 Configuring Form Applets Lesson 7 Configuring List Applets Lesson 8 Configuring Views Lesson 9 Configuring Applications and Screens Lesson 10 Business Components and Joins Lesson 11 Party Business Components Volume II: Lesson 12 Business Components and Fields Lesson 13 Business Objects and Links Lesson 14 Creating a New Business Component Using a Standard 1:M
Extension Table Lesson 15 Extending the Siebel Database Lesson 16 Additional Data Layer Configuration Lesson 17 Configuring Drilldowns and Applet Toggles Lesson 18 Configuring Picklists Lesson 19 Configuring Multi-Value Groups Lesson 20 Configuring Access Control Lesson 21 Configuring User Properties Lesson 22 Migrating Repository Changes Lesson 23 Troubleshooting
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 1
Copyright © 2008, Oracle. All rights reserved.
Business Components and Fields
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 2
Copyright © 2008, Oracle. All rights reserved.12 - 2
Objectives
After completing this module you should be able to:• Edit business component properties to capture business
logic• Edit field properties to capture business logic
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 3
Copyright © 2008, Oracle. All rights reserved.12 - 3
Business Component Properties
• Determine the behavior of business components– Implement business logic
• Include:– Properties for editing
— No Delete— No Insert— No Merge— No Update
– Owner Delete– Search Specification– Sort Specification
More
Business Component PropertiesReference: “Configuring Business Components” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 4
Copyright © 2008, Oracle. All rights reserved.12 - 4
Business Component Editing Properties
• Set editing properties in the business component to prevent deleting, inserting, merging, and updating records– Example: To maintain record continuity, users cannot delete
or change price lists once they have been created• Applies to all interactions with a business component
including applets, workflows, and so forth
All editing disabled
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 5
Copyright © 2008, Oracle. All rights reserved.12 - 5
Applet Editing Properties
• These editing properties also appear on applets• Set the business component editing properties to FALSE
– Allows some applets to be read only (set applet editing properties = TRUE) and others to allow editing (set applet editing properties = FALSE)
Setting properties for a business component affects all applets referencing this BC
. . .can be customized for each applet
Business Component Applet
Applet Editing PropertiesThe editing properties on business components are ignored in a set of special views in which the (view) admin mode flag is set to TRUE. These views are typically reserved for administrators and allow them to create, edit, and delete instances of business components that regular users can only read.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 6
Copyright © 2008, Oracle. All rights reserved.12 - 6
Owner Delete Property
• Set the Owner Delete property to TRUE to enable only the owner of a record to delete the record– For team-based business components the owner of the
record is the primary on the team
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 7
Copyright © 2008, Oracle. All rights reserved.12 - 7
Search Specification Property
• Specifies a subset of records to be retrieved by the business component– Consists of field names, constants, functions, logical
operators, and comparison operators – Typically used when there are multiple business components
based on the same table
Field name in [ ]. . .
Logical operator
Operator Function
. . .must match exactly
Search Specification PropertyThe search specification illustrated in the slide retrieves contacts for which:
• the Personal Contact flag is “N” OR• the Personal Contact flag is “Y” and the owner of the contact is the user logged in to
applicationThis retrieves all the regular (non personal) contacts as well as the personal contacts associated with the user.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 8
Copyright © 2008, Oracle. All rights reserved.12 - 8
Search Specification Considerations
• Search specifications appear on applets as well– A search specification on the applet is combined (using an
AND) with a search specification on the BC to generate the WHERE clause in the resulting SQL statement
— Predefined queries will also contribute to the WHERE clause
• Beware of mutually exclusive search specifications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 9
Copyright © 2008, Oracle. All rights reserved.12 - 9
Sort Specification Property
• Determines the sort order of the retrieved records– Use (DESC) or (DESCENDING) to sort field in reverse order– Cannot be set at the applet level
. . .configure a sort specification
Must match exactly
To sort by last name, then first
name. . .
Ensure that an index exists to support the sort spec;
(index columns must be in same order as the sort spec)
Columns for fields in sort spec
Sort Specification PropertyA sort specification should have a corresponding index to allow the records to be retrieved and sorted efficiently, as indexes permit the records to be retrieved in sorted order. If there is no corresponding index, retrieval of the records will take much longer as records have to be sorted on-the-fly as they are being retrieved.Users can select the sort order for records displayed in a list applet by clicking on column headings for sort-enabled columns.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 10
Copyright © 2008, Oracle. All rights reserved.12 - 10
Expression Builder
• Use the expression builder to examine and edit search and sort specifications
Click the … to invoke the
expression editor
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 11
Copyright © 2008, Oracle. All rights reserved.12 - 11
Business Component Field Properties
• Fields can be configured to implement desired business logic using the following field properties:– Required– Read Only– Force Case– Validation– Validation Message– Predefault– Post Default– Calculated Value
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 12
Copyright © 2008, Oracle. All rights reserved.12 - 12
Required and Read Only Properties
• Setting Required to TRUE prevents the user from leaving the field blank
• Setting Read Only to TRUE prevents the user from editing the value
1. Contacts require last names
2. Required field marked with asterisk
3. Attempting to save without last name causes
error message
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 13
Copyright © 2008, Oracle. All rights reserved.12 - 13
Force Case Property
• Specifies a case for a field value• Valid values:
– UPPER– LOWER– FIRSTUPPER
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 14
Copyright © 2008, Oracle. All rights reserved.12 - 14
Validation Property
• Checks a validation rule when a record is saved to ensure that the field data is valid
• Can refer only to business component fields in the same record
Constant
Operator
Field name
Logical operator
Function
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 15
Copyright © 2008, Oracle. All rights reserved.12 - 15
Validation Message
• Specifies a custom message to be displayed when a business component (BC) field’s Validation property is violated– Specify Message Display Mode to select information
displayed
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 16
Copyright © 2008, Oracle. All rights reserved.12 - 16
Displaying A Validation Message
• Custom message is displayed when an invalid field is entered
Bad field value causes display of customized user error message
Error code
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 17
Copyright © 2008, Oracle. All rights reserved.12 - 17
Predefault Value Property
• Automatically assigns a value to a field for a new record before the record is displayed to the user for editing– Expression can refer to other fields in the business
component or to fields in its parent business component
Field in parent BC
Field in this BC
Predefault Value PropertyThe Parent: ’BusComp:Field’ Function
• The Parent: “BusComp:Field” function returns the value of the Field from the parent BusCompbusiness component. In the example on the slide, the Opportunity field in the Quote business component is assigned the value from the Name field in the Opportunity parent business component. If the Quote business component is not currently in the context of an Opportunity business object then no value will be assigned.
• You can have multiple 'BusComp.Field' parameters separated by commas; the list is checked from first to last until a value is found. You can also terminate a chain of Parent calls with a System call—for example: Parent: 'Opportunity.Currency Code', 'Account.Currency Code', System: Currency
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 18
Copyright © 2008, Oracle. All rights reserved.12 - 18
Post Default Value Property
• Assigns a value to a field, if not entered by the user, before the record is inserted into the database– Expression uses the same syntax as predefault value
Assigns the Quote Number only if the user does not enter a value for Name
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 19
Copyright © 2008, Oracle. All rights reserved.12 - 19
Calculated Field
• Derives its value from the values in other fields in the business component
• Is not stored in the database and column property is blank• Is configured by setting the Calculated property to TRUE
(checked) and entering an expression in the Calculated Value property
Column property is blank because
calculated fields are not stored in the database
Calculated FieldSince the value of calculated fields are not stored in the database, the values of such fields are calculated whenever they are retrieved. Application performance might be affected if the calculations are complex.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 20
Copyright © 2008, Oracle. All rights reserved.12 - 20
Calculated Value Property
Is an expression built from:• Field names in the same business component• Field names from the parent business component
– Current BC must be the child in a detail view• Standard functions• String, numeric, and logical operators
System functions
Calculated Value PropertyExpressions for Calculated Values
• A description of the functions that can be included in calculation expressions can be found in Siebel Developer's Reference > Operators, Expressions, and Conditions > Functions in Calculation Expressions in the Siebel Tools Online Help.
IIF Function• The IIF(tesval,exp1,exp2) function evaluates testval. If testval is TRUE it returns the value of
exp1, otherwise it returns the value of exp2.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 21
Copyright © 2008, Oracle. All rights reserved.12 - 21
Restrictions on Calculated Fields
• Calculated fields are read-only• Application does not validate values of calculated fields• Sorting on calculated fields is not supported• Querying on calculated fields is supported
– Performance depends upon whether functions in the query expression can be incorporated into the SQL statement
Restrictions on Calculate FieldsWhen a query is performed on a calculated field, the action taken by the Siebel application (and thus the resulting performance) depends on which functions are used within the calculation. Functions that can be incorporated directly into the SQL statement are incorporated. Functions that cannot be directly incorporated, such as If() 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.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 22
Copyright © 2008, Oracle. All rights reserved.12 - 22
Lesson Highlights
• Business component properties can be configured to specify the behavior of the business component such as:– Editing (insert, delete, update, and merge)– Searching and sorting
• Field properties can be configured to specify:– Required and read only– Pre and post default values– Calculated values– Validation
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 12 - 23
Copyright © 2008, Oracle. All rights reserved.12 - 23
Practice 12 Overview: Business Components and Fields
This practice covers the following topics:• Configuring field properties
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 1
Copyright © 2008, Oracle. All rights reserved.
Business Objects and Links
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 2
Copyright © 2008, Oracle. All rights reserved.13 - 2
Objectives
After completing this module you should be able to:• Describe the role of business objects and links• Create links and business objects
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 3
Copyright © 2008, Oracle. All rights reserved.13 - 3
Business Objects (BOs)
• Provide a way to organize business components (BCs) into major areas according to your business logic requirements
• Provide the foundation for views
TableColumn
Screen Application
BusinessComponent
BusinessObject
ViewApplet
Field
List Column or Control
DataLayer
1 or many
References
UILayer
BusinessLayer
Business Objects (BOs)Reference: “Configuring Business Objects” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 4
Copyright © 2008, Oracle. All rights reserved.13 - 4
Business Objects (BOs)
• Are a collection of related business components (BCs) that represent a major area of the business
• Include:– A parent business component– Multiple child business components– Links that relate the parent and child data
Action
Opportunity
Contact Source
Opportunity
Parent BC
Child BC
Link that relates parent
and child
Business Object
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 5
Copyright © 2008, Oracle. All rights reserved.13 - 5
• Identifies the name of the business object– Is usually named for the parent business component
Business Object Definition
Action
Opportunity
Contact Source
Opportunity
Business Object DefinitionThe primary business component property in the business object definition identifies the parent or master business component in a business object. It is an optional field and not required for all business objects. The parent business component can be determined by inspecting the business object components for the component with a blank link property.The primary business component property does not need to be specified to support views. However the property must be specified and is required to support Siebel workflows that reference the business object.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 6
Copyright © 2008, Oracle. All rights reserved.13 - 6
Business Object Component
• Is a child object type of business object• Specifies a business component to include in the business
object– BusComp property identifies the business component– Link property identifies the Link object definition that relates
the parent and child business component to each other
Parent BC ( link property blank)
Child BCs
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 7
Copyright © 2008, Oracle. All rights reserved.13 - 7
Link Definition
• Identifies which records to retrieve from the child BC– Identifies the foreign keys to populate when new child
records are created• Is used with both 1:M and M:M relationships between
parent and child data
Action
Opportunity
Contact Source
Opportunity
Link
Link DefinitionReference: “Configuring Links" in Using Siebel Tools
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 8
Copyright © 2008, Oracle. All rights reserved.13 - 8
1:M Link Definition
• Is used for 1:M relationship between parent and child BCs
Defaults to parent BC/child BC
FK field in child BC
Child BC
Parent BC
PK field in parent BC(defaults to Id if blank)
1:M Link DefinitionLink object definitions are not child object types of business objects. Rather the Link object type is a top level object type. This allows link object definitions to be referenced by other object types. You will learn in a later lesson how multi value links reference links as well.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 9
Copyright © 2008, Oracle. All rights reserved.13 - 9
Cascade Delete Property
• Specifies whether child records of a 1:M relationship are deleted when the parent record is deleted.– None: Neither deletes nor clears the foreign key column– Clear: Does not delete, but clears the foreign key column– Delete: If a parent record is deleted, all child records are
deleted
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 10
Copyright © 2008, Oracle. All rights reserved.13 - 10
Cascade Delete Property
• Set the Cascade Delete property as determined by business requirements– Child quotes should not be deleted when a parent
opportunity is deleted– Quote items should be deleted when the quote is deleted
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 11
Copyright © 2008, Oracle. All rights reserved.13 - 11
M:M Link Definition
• Is used for M:M relationship between parent and child business components
• Uses an intersection table to resolve the relationship
Intersection table
Child BC
Parent BC
FK on intersection that points to parent
FK on intersection that points to child
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 12
Copyright © 2008, Oracle. All rights reserved.13 - 12
Child Deletion for M:M Links
• Always set Cascade Delete to None• Set Inter Child Delete to:
– TRUE to delete both the entry in the intersection table as well as the child record when deleting a child record in the list applet in a detail view
– FALSE to delete only the entry in the intersection table and keep the child record
Deletes only the relationship not the contact itself
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 13
Copyright © 2008, Oracle. All rights reserved.13 - 13
Grandchild Business Components
• Business objects may include grandchild business components used in parent-child-grandchild views
Account (Parent BC)
Activity Plan (Child BC)
Activity Plan Action
(grandchild BC)
Activities associated with the selected activity plan
Activity plan associated with the account
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 14
Copyright © 2008, Oracle. All rights reserved.13 - 14
Links for Grandchild Data
• Specify how the child and grandchild business components are related– Are used to retrieve grandchild records on parent-child-
grandchild views
Parent/Child
Child/Grandchild
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 15
Copyright © 2008, Oracle. All rights reserved.13 - 15
Summary of Object Types
TableColumn
Screen Application
BusinessComponent
BusinessObject
ViewApplet
Field
List Column or Control
DataLayer
UILayer
BusinessLayer
ScreenView Page Tab
ScreenMenu Item
Applet WebTemplate
AWTItem
View WebTemplate
VWTItem
Link Business ObjectComponent
Summary of Object TypesIn addition to the references from links to the business components and tables, there are also references in links to single value fields and columns. These references are not shown on the diagram for clarity.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 16
Copyright © 2008, Oracle. All rights reserved.13 - 16
Lesson Highlights
• A business object represents a major area of the business• A business object consists of business components and
links that relate parent and child BCs• Link definitions specify the foreign and primary keys that
relate child and parent records– A 1:M link definition defines the FK on the child BC that
points to the PK on the parent BC– A M:M link definition uses an intersection table to relate the
parent and child BCs• BOs may include grandchild BCs
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 13 - 17
Copyright © 2008, Oracle. All rights reserved.13 - 17
Practice 13 Overview: Business Objects and Links
This practice covers the following topics:• Examining Links • Adding a New Business Object Component
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 1
Copyright © 2008, Oracle. All rights reserved.
Creating a New Business Component Using a Standard 1:M Extension Table
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 2
Copyright © 2008, Oracle. All rights reserved.14 - 2
Objectives
After completing this module you should be able to:• Describe the structure of a 1:M business component• Create a new business component (BC) using a 1:M
extension table• Add the business component to a business object
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 3
Copyright © 2008, Oracle. All rights reserved.14 - 3
Business Challenge
• Siebel-provided business components capture most commonly-used business entities, but they do not cover every possibility
• Example: Sales organizations might record personal data about contacts, such as:– What colleges the contact attended
— Name of college, years attended, major field of study, sports played, honors received, and so on
– The contact’s favorite restaurants— Name and location, price range, type of cuisine, and so on
• Capturing this kind of information requires:– Multiple fields to capture the details– A 1:M relationship to the parent contact business component
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 4
Copyright © 2008, Oracle. All rights reserved.14 - 4
Solution: Create New Business Components
• To capture this information, create new business components as children of an existing business component
• Base these business components on 1:M extension tables supplied as part of the Siebel data model– For example, create college and restaurant child BCs of the
Contact parent BC
FavoriteRestaurants
Contact
CollegesAttended
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 5
Copyright © 2008, Oracle. All rights reserved.14 - 5
Review: 1:M Extension Table
• Exists in the repository for many tables• Has ATTRIB* predefined columns to store different types
of user data Name is name of parent table appended with _XM
Review: 1:M Extension TableReference: “Configuring Tables and Columns” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 6
Copyright © 2008, Oracle. All rights reserved.14 - 6
Review: 1:M Extension Table
• Has NAME, TYPE, and PAR_ROW_ID column values– Together must be unique per row
• Table can store multiple different “types” of data– For example, Colleges and Restaurants
• TYPE column identifies the different types of data
Serve as a user key
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 7
Copyright © 2008, Oracle. All rights reserved.14 - 7
Create a New Business Component
• Create a new business component to represent the child entity– Use the Business Component wizard
• Specify the appropriate 1:M extension table as the base table– Example: S_CONTACT_XM
• Create fields that map to the following columns – NAME, TYPE, and PAR_ROW_ID
• Create additional fields that map to ATTRIB_ columns for additional data as required
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 8
Copyright © 2008, Oracle. All rights reserved.14 - 8
New 1:M Business Component
• Examine the business component and verify that it has the required fields
Must expose these. Can expose additional ATTRIB columns for other data.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 9
Copyright © 2008, Oracle. All rights reserved.14 - 9
Multiple Business Components
• An _XM table can store multiple user-defined child business components
• Each business component has a unique type value– Stored in the TYPE column of the _XM table
• Each business component retrieves only those rows with its type value– Search Specification and Predefault Value properties must
be configured
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 10
Copyright © 2008, Oracle. All rights reserved.14 - 10
Set Values for Type
• Set a Predefault Value to identify the type of data being stored– This tags each record entered
• Set the Search Specification to search for rows of that type– Only records that have this type will be part of the BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 11
Copyright © 2008, Oracle. All rights reserved.14 - 11
Steps to Use the New BC
1. Create a link2. Assign BC to a business object3. Create a list applet4. Assign the applet to a view
– Create a new view if necessary and administer the new view
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 12
Copyright © 2008, Oracle. All rights reserved.14 - 12
1. Create a Link
• Specify how to relate the child business component to the parent
S_CONTACT_XMR
OW
_ID
PAR
_RO
W_ID
TYPE
NA
ME
ATTR
IB_01
FK
S_CONTACT
RO
W_ID
LAST_N
AM
E
Defaults to parent BC/child BC
PK
1. Create a LinkReference: “Configuring Links” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 13
Copyright © 2008, Oracle. All rights reserved.14 - 13
2. Add BC to a Business Object
• Identify the business object that corresponds to the parent BC
• Add the child BC as a business object component– Set the Link property
Contact business object
Parent BC
Child BC Link relates parent and child
2. Add BC to a Business ObjectReference: “Configuring Business Objects” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 14
Copyright © 2008, Oracle. All rights reserved.14 - 14
3. Create a List Applet
• Use the List Applet wizard to create an applet to display the data from the business component– To prevent users from changing the value, do not display the
Type field
Select File > New Object >
Applets and click List Applet
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 15
Copyright © 2008, Oracle. All rights reserved.14 - 15
4. Assign the Applet to a View
• Use the View wizard to create a new view based on the business object for the new BC
• Add the view to a screen• Administer the new view in the client
Select File > New Object and
click View
4. Assign the Applet to a ViewReference: “Configuring Screens and Views” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 16
Copyright © 2008, Oracle. All rights reserved.14 - 16
Lesson Highlights
• Create a new BC as a child of an existing BC to capture new information that requires a 1:M relationship
• When possible, use predefined _XM tables to store the data
• Create a new business component and expose the NAME, TYPE, and PAR_ROW_ID columns– Configure the search specification and predefault value for
the business component to retrieve the desired records• Create a link definition to define the relationship between
the parent and child BC• Add the new BC to a business object, then create applets
and views to display data
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 14 - 17
Copyright © 2008, Oracle. All rights reserved.14 - 17
Practice 14 Overview: Creating a New Business Component Using a Standard
1:M Extension TableThis practice covers the following topics:• Creating a business component and link• Displaying the business component in a detail view
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 1
Copyright © 2008, Oracle. All rights reserved.
Extending the Siebel Database
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 2
Copyright © 2008, Oracle. All rights reserved.15 - 2
Objectives
After completing this lesson you should be able to:• Create extension columns in a table• Create a custom table
– Standalone table– 1:1 extension table– 1:M extension table– Intersection table
• Apply database extensions
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 3
Copyright © 2008, Oracle. All rights reserved.15 - 3
Incorporating Additional Data
• Your business requirements may include:– Adding new fields to capture additional data– Creating new business components to capture additional
business entities• First examine the Siebel Data Model carefully to determine
whether the desired fields and business components already exist – Consider using a 1:M extension table for a new business
component that is a child of an existing business component
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 4
Copyright © 2008, Oracle. All rights reserved.15 - 4
Adding New Fields
• When the data model does not support the desired new fields, extend the as-delivered Siebel database by creating extension columns on base tables
• Avoid mapping new fields to existing columns that appear to be unused– The columns may be in fact used or could be used in future
releases• Avoid mapping new fields to the standard 1:1 extension
table– Some columns are already in use and others may be used in
future releases– Such fields may encounter performance issues
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 5
Copyright © 2008, Oracle. All rights reserved.15 - 5
Extending the Siebel Database
• Use Siebel Tools to extend the Siebel database by:– Creating extension columns on tables– Creating new tables
• Developers:– Create new object definitions for the database extension– Make the corresponding physical database changes– Do not directly create, use, or maintain SQL scripts
Extending the Siebel DatabaseReference: “Configuring Tables and Columns” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 6
Copyright © 2008, Oracle. All rights reserved.15 - 6
Creating a Custom Extension Column
• Select the table to be extended• Create a new column record with the desired properties
– Name is automatically prefixed with X_
Extension column
Select data type and
length
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 7
Copyright © 2008, Oracle. All rights reserved.15 - 7
Creating a Stand-Alone Table
• Use the Table Wizard to create a new table
Select File > New Object and
click Table
Supports creating four types of tables
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 8
Copyright © 2008, Oracle. All rights reserved.15 - 8
Table Wizard
• Creates a standalone table with:– Data (Public) as its type– The required system columns– One index P1 on ROW_ID
System columns
Table WizardSee “Configuring Tables and Columns” in Configuring Siebel Business Applications for details about each of the system columns.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 9
Copyright © 2008, Oracle. All rights reserved.15 - 9
Creating a 1:1 Extension Table
• Select a base table as input to the Table Wizard – Choice restricted to the Data (Public) type– Multiple extension tables relate directly to the base table, and
not to each other
Creating a 1:1 Extension TableIn most cases a new field should be mapped to an extension column in a base table rather than an existing column in a 1:1 extension table. This avoids possible performance issues associated with the required join. As such it is unlikely that you would be creating new 1:1 extension tables.However the database system you are using may have limitations on the size of a row in a database table or the number of columns permitted in a table. If this is the case, you may need to consider creating a 1:1 extension table.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 10
Copyright © 2008, Oracle. All rights reserved.15 - 10
Creating a 1:1 Extension Table
• The Table Wizard creates an extension table with:– Required system columns– PAR_ROW_ID column as the foreign key column to the base
table– Two indexes:
— P1 index on ROW_ID— U1 index on PAR_ROW_ID and CONFLICT_ID
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 11
Copyright © 2008, Oracle. All rights reserved.15 - 11
Creating a 1:M Extension Table
• Select a parent table as input to the Table Wizard– Create if the parent table does not have an existing 1:M table– Choice restricted to the Data (Public) type
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 12
Copyright © 2008, Oracle. All rights reserved.15 - 12
Creating a 1:M Extension Table
• Table wizard creates a 1:M extension table with:– Data (Public) as its type– The required system columns– A PAR_ROW_ID column as the foreign key column to the
base table– TYPE and NAME columns– Three indexes:
— P1 index on ROW_ID— U1 index on PAR_ROW_ID, TYPE, NAME, and CONFLICT_ID— M1 index on TYPE and NAME
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 13
Copyright © 2008, Oracle. All rights reserved.15 - 13
Creating an Intersection Table
• Select both parent tables– Choices restricted to the Data (Public) type
• Specify the foreign key column name for each parent table
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 14
Copyright © 2008, Oracle. All rights reserved.15 - 14
Creating an Intersection Table
• Table Wizard creates an intersection table with:– Data (Intersection) as its type– Required system columns– Two foreign key columns as specified– Three indexes:
— P1 index on ROW_ID— U1 index on two foreign key columns, TYPE, and
CONFLICT_ID— F1 index on foreign key to second parent table
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 15
Copyright © 2008, Oracle. All rights reserved.15 - 15
Creating Foreign Keys
• Relationships can be created between tables– Create a foreign key column in one of the tables– Create join and link object definitions to make sure the
foreign key columns are properly populated
Assign the Foreign Key Table property to make the column a FK
Creating New Foreign KeysIn some cases, there may already be one or more foreign key columns that relate two tables. Each foreign key column formalizes a specific relationship. If you wish to create another relationship between the tables, it is recommended that you create a new foreign key column to formalize the new relationship. You should avoid repurposing one of the existing relationships (even if you are not planning to make use of it) because knowledge of the foreign keys is already captured in existing EIM mappings and dock objects.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 16
Copyright © 2008, Oracle. All rights reserved.15 - 16
Propagating Database Changes to Other Developers
• Test changes locally before applying them to the server database– Reduces the likelihood of undesired changes to the server
schema• Best practices for changing the schema:
1. Apply Changes to the Local Database2. Propagate Changes to the Server Database3. Propagate Changes to Other Developers
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 17
Copyright © 2008, Oracle. All rights reserved.15 - 17
1. Apply Changes to the Local Database
• Click Apply/DDL to make the physical database changes– Choice to apply schema changes or generate DDL script– Changes are preserved across Siebel application upgrades
• Compile relevant objects and projects • Test changes locally before checking in to the server
– Query tables/columns using a database SQL utility
New table
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 18
Copyright © 2008, Oracle. All rights reserved.15 - 18
2. Propagate Changes to Server Database
• Check the project into the server– Copies the table and column object definitions
• Select the table and click Apply/DDL to make the physical database changes
• Click the Activate button to update the database schema version
• Compile and test against the server databaseServer Machine Developer A
WorkstationDeveloper B Workstation
Developer C Workstation
Apply
Check in
2. Propagate Changes to Server DatabaseAlternatively you can run the Database Configuration Utility to apply a set of schema changes to the server database.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 19
Copyright © 2008, Oracle. All rights reserved.15 - 19
3. Propagate Changes to Other Developers
• Other developers need to apply changes to their local databases – Have other developers get or check out the project and apply
the changes locally– Alternatively re-extract developers and have them get all
projects— Ensure all work on the local machines has been checked in first
Server Machine Developer A Workstation
Developer B Workstation
Developer C Workstation
Get/Check Out
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 20
Copyright © 2008, Oracle. All rights reserved.15 - 20
Lesson Highlights
• Extend the Siebel database in Siebel Tools:– Add an extension column to an existing table– Use the Table wizard to create a standalone, 1:1 extension,
1:M extension, or intersection table• Best practices to modify Siebel database schema:
– Apply changes locally and test– Propagate changes to the server database– Propagate changes to other developers
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 15 - 21
Copyright © 2008, Oracle. All rights reserved.15 - 21
Practice 15 Overview: Extending the Siebel Database
This practice covers the following topics:• Exploring the Siebel database• Extending a Siebel database table• Creating a Siebel database table
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 1
Copyright © 2008, Oracle. All rights reserved.
Additional Data Layer Configuration
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 2
Copyright © 2008, Oracle. All rights reserved.16 - 2
Objectives
After completing this lesson you should be able to:• Create custom indexes• Modify dock objects to incorporate extension tables• Extend a database table to support case-insensitive and
accent-insensitive (CIAI) queries
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 3
Copyright © 2008, Oracle. All rights reserved.16 - 3
Additional Considerations
• After creating a new column or database table, you might need to:– Create additional custom indexes– Create additional EIM mappings– Modify the dock objects
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 4
Copyright © 2008, Oracle. All rights reserved.16 - 4
Custom Indexes
• Custom indexes based on new columns can be created to improve database performance– Standard indexes cannot be modified or deleted– Work with the database administrator to determine whether
custom indexes are required• Custom indexes:
– Must be specified carefully— Consider consulting Oracle Expert Services
– Can impact the benefit of standard indexes– Need to be thoroughly tested prior to release to production
Custom IndexesCustom indexes are created using Siebel Tools to make sure that they can be migrated from development to test and production environments. In addition this allows developers to be aware of custom indexes when they are configuring search and sort specifications.Reference: “Configuring Tables and Columns” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 5
Copyright © 2008, Oracle. All rights reserved.16 - 5
Creating a Custom Index
• Select the table• Create a child Index object definition
– Name is automatically suffixed with _X• Create new Index Column records to specify the columns
Custom Index
Specify sequence for multiple columns
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 6
Copyright © 2008, Oracle. All rights reserved.16 - 6
Enterprise Integration Manager (EIM)
• Is a server component that enables the batch exchange of data between a Siebel database and an external data source
• Moves data between Siebel EIM tables and Siebel base tables
External data
Siebel dataEIM
Tables
Base Tables
EIM
Enterprise Integration ManagerEnterprise Integration Manager in covered in detail in its own Oracle University course.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 7
Copyright © 2008, Oracle. All rights reserved.16 - 7
EIM Mappings
• Identify the columns in a base table that are populated by columns in an EIM table– Are specified as child object types of the EIM Interface Table
object type• Are used by EIM when importing or exporting data
– New EIM mappings will need to be created to allow EIM processes to import data into or export data from new tables and columns
— For new columns in an extended or a new table:— Add a new column to an EIM table— Create a new mapping between the EIM and base table
— The EIM Mapping wizard can implement the configuration for many common scenarios
EIM MappingsReference: “Configuring EIM Interfaces” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 8
Copyright © 2008, Oracle. All rights reserved.16 - 8
Dock Objects
• Are a set of related tables used to determine which records are synchronized with mobile users
• Consist of a driving table and other related tables– Are specified as Dock Object Table object definitions
Driving or primary table
Dock ObjectsReference: “Configuring Docking Rules” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 9
Copyright © 2008, Oracle. All rights reserved.16 - 9
Types of Dock Objects
• Dock objects are classified into three types based on how records in tables are distributed during remote synchronization– Enterprise: allows all records to be synchronized– Private: prevents records from being synchronized– Limited: records are synchronized for particular users based
on characteristics of the remote user— Reduces the amount of data exchanged during synchronization— Provides remote users with data they need to have
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 10
Copyright © 2008, Oracle. All rights reserved.16 - 10
Dock Object Visibility Rules
• Limited dock objects have a set of rules that determine:– The users that receive updated or new records– The tables in a dock object from which they receive such
records
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 11
Copyright © 2008, Oracle. All rights reserved.16 - 11
Modifying Dock Objects
• Docks objects might need to be created or modified to allow records to be synchronized with mobile users when:– Creating a table– Adding a foreign key column to a new or an existing table
• Use the Dock Object wizard to create a new dock object for a new standalone table
• Consult Expert Services to modify existing dock objects
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 12
Copyright © 2008, Oracle. All rights reserved.16 - 12
Extending a Table to Support Case Insensitive Queries
• A database table can be extended to support case-insensitive and accent-insensitive (CIAI) queries– Restricted to columns of type text
• Process involves:– Creating a shadow column to store the value in the original
column in uppercase– Creating new indexes on the shadow column to permit rapid
access to records using the uppercase value
Shadow column to store Location in
upper case
S_ORG_EXTRO
W_ID
NA
ME
LOC
X_NA
ME_C
IX_LO
C_C
I
Extending a Table to Support Case Insensitive QueriesReference: “Configuring Tables and Columns” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 13
Copyright © 2008, Oracle. All rights reserved.16 - 13
Creating CIAI
• Select the columns in the object list editor to convert to CIAI
• Right-click and select Case Insensitivity to invoke the CIAI wizard
Verifies columns and determines strategy
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 14
Copyright © 2008, Oracle. All rights reserved.16 - 14
CIAI Wizard
• Identifies columns and indexes to create• Applies them to the repository
CIAI WizardWhen you apply these repository changes to the physical database, the resultant changes are database dependent. In some databases the shadow columns are explicitly created, while in other databases the shadow columns are implemented by creating database indexes.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 15
Copyright © 2008, Oracle. All rights reserved.16 - 15
Lesson Highlights
• Custom indexes based on new columns can be created to improve database performance
• Use the EIM Mapping wizard to allow EIM processes to import data into or export data from new tables and columns
• Dock objects may need to be modified to allow data to be synchronized with remote users– Use the Dock Object wizard to create a new dock object for a
new standalone table• Use the CIAI wizard to extend a table to support case-
insensitive and accent-insensitive (CIAI) queries
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 16 - 16
Copyright © 2008, Oracle. All rights reserved.16 - 16
Practice 16 Overview: Additional Data Layer Configuration
This practice covers the following topics:• Configuring case insensitive columns
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 1
Copyright © 2008, Oracle. All rights reserved.
Configuring Drilldowns and Applet Toggles
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 2
Copyright © 2008, Oracle. All rights reserved.17 - 2
Objectives
After completing this lesson you should be able to:• Configure a drilldown to a related view• Configure a thread bar• Configure a toggle applet
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 3
Copyright © 2008, Oracle. All rights reserved.17 - 3
Navigation Using Drilldown
• You can configure list columns for drilldown– When the user clicks the hyperlinked value, the application
navigates to another view• You can configure drilldown as static or dynamic
– Static: Clicking the hyperlink always navigates to the same target view
– Dynamic: Clicking the hyperlink navigates to a target view determined by the value of a field in the record
Navigation Using DrilldownDrilldowns are not supported for controls in a form applet.Reference: “Configuring Screens and Views” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 4
Copyright © 2008, Oracle. All rights reserved.17 - 4
Static Drilldown: Same Business Component
• Drill down to a detail view for the same record– Destination view uses the same business object and
business component (BC)
Drilldown on Order # shows
details for same record
View with business object Order Entry (Sales) and business component Order Entry - Orders
View with business object Order Entry (Sales) and business component Order Entry - Orders
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 5
Copyright © 2008, Oracle. All rights reserved.17 - 5
Configuring Drilldown Within the Same Business Component
• Create a drilldown object (child of applet)– Set the Hyperlink Field to the field to be enabled for drilldown– Set the View to the target view when the field is clicked
Specifies BC field to be enabled for drilldown
Specifies the target view
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 6
Copyright © 2008, Oracle. All rights reserved.17 - 6
Static Drilldown: Different Business Component
• Drill down to a detail view for a related record– Destination view uses a different business object and
business component (BC)
Drilldown on Account shows details for different record
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 7
Copyright © 2008, Oracle. All rights reserved.17 - 7
Configuring Drilldown to a Different Business Component
• Create a drilldown object (child of applet)– Set the Hyperlink Field and View properties as before– Specify how to identify the related record:
— Business Component: the BC the target view is based on— Source Field: the foreign key field that points to the target BC— Destination Field: the primary key field on the target BC
BC for target view
Foreign Key field
Primary Key field in target BC (defaults to Id)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 8
Copyright © 2008, Oracle. All rights reserved.17 - 8
Dynamic Drilldown
• Enables drilldown to different views from the same hyperlink field– Determined by a value in a field for the active record
For Fixed Income opportunities go to
Opportunity Detail view
For Life Insurance opportunities go to
Policies/Quotes view
Dynamic DrilldownIn the example shown in the screen shot, the Deal Type field in the Opportunity business component is used to determine the destination view. The Deal Type field typically appears with a caption Product Line in opportunity form applets.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 9
Copyright © 2008, Oracle. All rights reserved.17 - 9
Determining the Target View
• Identify one or more matching conditions to trigger drilling down to a specific target view– For example:
— If Deal Type = Life Insurance, go to INS Opportunity Detail -Policy View
— If Deal Type = Fixed Income, go to FINCORP Deal Debt View— Else go to Opportunity Detail - Contacts View
• Determine the order to check the matching conditions– Conditions can involve different fields– Multiple matches could occur for a given record
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 10
Copyright © 2008, Oracle. All rights reserved.17 - 10
Configuring Dynamic Drilldown
• Create multiple drilldown objects for the same hyperlink field– Each specifies a different target view
• Assign Sequence Numbers to determine the default drilldown object for the set
These drilldown objects have the same Hyperlink field but have
different target viewsDrilldown object with lowest sequence number is the default drilldown object
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 11
Copyright © 2008, Oracle. All rights reserved.17 - 11
Specifying the Conditions
• For the default drilldown object, configure a dynamic drilldown destination for each condition– Specify the Field, Value, and Sequence properties– Specify the Destination Drilldown Object property to
correspond to the desired target view• If no default condition is configured, the target view is
specified by the parent drilldown object
Target view for Deal Type =
Life Insurance
Default view if there are no matches
Specifying the ConditionsSequence
• The sequence property for a dynamic drilldown destination object definition determines the order in which the conditions are checked. The first match is used to determine the drilldown object with the target view. A sequence number is required since the conditions may not be mutually exclusive.
Determining the Destination View• As shown in the previous slide the Line of Business drilldown object has the lowest sequence
number so its dynamic drilldown destinations are checked. If the Deal Type = Life Insurance, the search stops after the first dynamic drilldown destination is checked. This specifies a destination drilldown object of Life Insurance View. This destination object (a sibling of the parent object definition) is then checked to determine that the target view is INS Opportunity Detail - Policy View.If the search through the dynamic drilldown destinations does not result in a match, then the view specified in the parent drilldown object (Line of Business) becomes the target view.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 12
Copyright © 2008, Oracle. All rights reserved.17 - 12
Thread Bar
• Tracks the previous active record– Provides a hyperlink to the previous view
• Is updated whenever the user drill downs to a different business object
Thread bar shows the previous active records on which user drilled down
Thread BarThe browser back button can also be used to return to the previous record.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 13
Copyright © 2008, Oracle. All rights reserved.17 - 13
Configuring the Thread Bar
• Set the thread bar properties to generate the thread bar to track user navigation
Text string at start of thread bar
Value in the thread field in the thread applet is added to the thread bar
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 14
Copyright © 2008, Oracle. All rights reserved.17 - 14
Applet Toggles
• You can configure several applets to share the same space in a view– You only add one applet to the view Web template– Users can switch this applet with others by an applet toggle
that you define on the applet
Agreement Notes View
Applet toggle
Applet TogglesReference: “Configuring Screens and Views” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 15
Copyright © 2008, Oracle. All rights reserved.17 - 15
Configuring Applet Toggles
• Create a new applet toggle definition for each applet to be added to the toggle list– Create it on the applet defined in the view Web template
View Web template items for Agreement Notes View
Alternate applet in toggle cycle
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 16
Copyright © 2008, Oracle. All rights reserved.17 - 16
Togglebar Tag
• The toggle list will appear only if the applet template includes a SWE togglebar tag– Togglebar is rendered as a drop-down select control– Example:
Display applet titles in dropdown
<swe:togglebar type=“Select”>
<table>
<tr> <td> <swe:control id=“1”property=”DisplayName”> </td>
<td> <swe:this property=“FormattedHtml”/> </td>
</tr>
</table>
</swe:togglebar>
Example html from a template
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 17
Copyright © 2008, Oracle. All rights reserved.17 - 17
Dynamic Applet Toggling
• Automatically selects the applet to be displayed in a view based on the value of a field in the underlying business component– User does not explicitly select a toggle applet
User selects item of type Budget
Request…
…budget request applet is displayed
automatically
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 18
Copyright © 2008, Oracle. All rights reserved.17 - 18
Dynamic Applet Toggling
• When user selects a different inbox item, the lower applet toggles to an applet determined by the category of the item
User selects item of type SR…
…SR specific applet is displayed
automatically
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 19
Copyright © 2008, Oracle. All rights reserved.17 - 19
Configuring Dynamic Applet Toggling
• Create a child applet toggle for each possible field value – Set the Auto Toggle Field and Auto Toggle Value properties– Assign a sequence if conditions are not mutually exclusive
• If there are no matches, parent applet is displayedApplet assigned to view; displayed
only if no applet toggle match occurs
Configuring Dynamic Applet TogglingThe default toggle applet is the UInbox Item Task Toggle List Applet. Although it is a list applet, it is rendered in the view in the Edit mode and appears as a form applet.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 20
Copyright © 2008, Oracle. All rights reserved.17 - 20
Lesson Highlights
• List columns or controls can be configured for drilldown• Drilldowns can be static or dynamic
– Static drilldowns always navigate the user to the same target view
– Dynamic drilldowns navigate the user to a target view determined by the values shown in the current view
– Static drilldowns can be configured to drill down to the same business component or to a different business component
• Toggle applets allow several applets to share the same space in a view– Applets are cycled by user selection
• Dynamic applet toggles display different applets in a view based on the value of a field in the business component
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 17 - 21
Copyright © 2008, Oracle. All rights reserved.17 - 21
Practice 17 Overview: Configuring Drilldowns and Applet Toggles
This practice covers the following topics:• Configuring drilldown• Configuring a dynamic drilldown • Configuring a dynamic toggle
Choose one to complete
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 1
Copyright © 2008, Oracle. All rights reserved.
Configuring Picklists
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 2
Copyright © 2008, Oracle. All rights reserved.18 - 2
Objectives
After completing this lesson you should be able to:• Describe the differences between dynamic and static
picklists• Administer a static picklist • Configure a static or dynamic picklist
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 3
Copyright © 2008, Oracle. All rights reserved.18 - 3
Picklists
• Allow users to populate one or more single-value fields by selecting a value from a list– Enforces business rules and policies– Makes data entry faster– Reduces errors
• Can be either static or dynamicStatic Dynamic
Drop-down list
Separate Pick Applet
PicklistsReference: “Configuring Picklists and Pick Applets” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 4
Copyright © 2008, Oracle. All rights reserved.18 - 4
Static Picklist
• Displays values in a drop-down list for user selection• Copies the selected value into a destination field
– There is no link to the original picklist data• Can be bounded or unbounded
– Bounded picklist forces users to enter only a value in the picklist
– Unbounded picklist permits users to enter any value into the field
— User entered value is not added to the picklist values
• Draws values from picklist data managed by an administrator – Values displayed in static picklists do not change during run
time as result of user activity
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 5
Copyright © 2008, Oracle. All rights reserved.18 - 5
Static PickList Values
• Are stored for all static picklists in the S_LST_OF_VAL table– Is a user data table in the application database
• Have a type that identifies the static picklist the value belongs to
Static PickList ValuesReference: “Creating and Administering Lists of Values” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 6
Copyright © 2008, Oracle. All rights reserved.18 - 6
Administering Static Picklists
• Use the List of Values Explorer to administer static picklist data– Navigate to Administration - Data > LOV Explorer– Select an existing picklist– Expand the type and select the child Values folder– Edit the picklist values in the List of Values applet
Do not change names of Siebel-supplied values
OK to set inactive
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 7
Copyright © 2008, Oracle. All rights reserved.18 - 7
Administering Static Picklists Using Siebel Tools
• List of Values can also be administered from Siebel Tools– Select Screens > System Administration > List of Values– Query for the picklist type– Edit values in the object list editor– Create a picklist by:
— Creating a new LOV Type— Creating values for the LOV Type
Administering Static Picklists Using Siebel ToolsAny changes you make to the entries in the LOV table (whether by Siebel Tools or the Siebel client application) must be migrated from the development database to the test and production databases. Entries in the list of values are not complied into the .srf file, nor can they be checked into the server repository.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 8
Copyright © 2008, Oracle. All rights reserved.18 - 8
Dynamic Picklist
• Displays values in a pick applet• Draws values from a business component (BC) whose
records are edited by users– Values are dynamic and depend on current BC records
• Copies the primary key of the selected record into the foreign key field – Updates the values of joined fields displayed in the applet
Draws values from the Account BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 9
Copyright © 2008, Oracle. All rights reserved.18 - 9
Picklist Terms
• Siebel picklists:– Are associated with a field in the originating business
component– Draws values from a pick business component
— Copies values from one or more fields in the pick BC into corresponding fields in the originating BC
Originating BC (Opportunity)
Pick BC (Account)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 10
Copyright © 2008, Oracle. All rights reserved.18 - 10
PickList Generic Business Component
• Is the business component in the Siebel repository that references the S_LST_OF_VAL table
• Serves as the pick business component for Static picklists – Static picklists are based on PickList Generic
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 11
Copyright © 2008, Oracle. All rights reserved.18 - 11
Object Definitions for PickLists
• Implementing picklists requires configuring several object definitions:– PickList– Single Value Field and SVF Pick Map– Pick Applet (required for dynamic picklists)– Control and List Column
MoreStatic picklistDynamic picklist
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 12
Copyright © 2008, Oracle. All rights reserved.18 - 12
PickList Object Definition
• Defines a static or a dynamic picklist– Identifies the pick business component – Specifies if the picklist is bounded
Static picklist
Field in pick BC to query for value
PickList type in the LOV table
Pick BC
Dynamic picklist
Pick BC Not used in dynamic picklists
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 13
Copyright © 2008, Oracle. All rights reserved.18 - 13
Single Value Field and SVF Pick Map
• Picklist property in Single Value Field specifies which picklist is associated with the field– Users see a picklist at run time on applets displaying this
field• SVF Pick Maps identify one or more fields to be copied
from the pick BC to the originating BCPicklist assigned
to field
Copy value in Value field in selected picklist record to field in originating BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 14
Copyright © 2008, Oracle. All rights reserved.18 - 14
SVF Pick Maps
• Several fields from a picklist may be copied into the originating BC– For dynamic picklists, the following fields are typically copied
— Foreign key field to identify the picked record— Additional fields to update fields displayed in the UI
FK field populated with the Id of the
picked record
Name field copied to be displayed in the applet
SVF Pick MapsThere are numerous dynamic picklists in the as-delivered repository which are unbounded. In these cases the SVF pick map typically copies the value from a field, other than the primary key field, in the pick business component to a field in the originating business component. There is no mechanism to update the value in the originating business component if the value changes in the pick business component. Since the picklist is unbounded users are not restricted by the choices in the picklist, and can enter another value if desired.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 15
Copyright © 2008, Oracle. All rights reserved.18 - 15
Pick Applet
• Is a floating applet used to display records for dynamic picklists– Typically displays multiple columns from the pick BC to
assist users with selecting the desired record
Account Pick AppletSelects one record only
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 16
Copyright © 2008, Oracle. All rights reserved.18 - 16
Control and List Column
• Set Runtime to TRUE to enable the picklist in the applet• For dynamic picklists, specify a Pick Applet property
– Identifies the applet to display the pick business component• For static picklists, leave the Pick Applet property blank
– Drop-down list is generated at run time
SIS Account List Applet
No applet assigned for static picklist
Control and List ColumnWhen a control or a list column has its Runtime property set to TRUE, the application at run time is directed to display a supplementary icon for the field, based on the values of Pick Applet and MVG Applet. For instance if a pick applet is specified, a single select button is displayed. In addition if neither applet is specified, then the application examines the type of underlying field to determine if an icon for a calculator, calendar, or currency pop-up applet should be displayed.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 17
Copyright © 2008, Oracle. All rights reserved.18 - 17
Creating a Picklist
• Use the Pick List wizard to create a new picklist
Select File > New Object >
Pick List
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 18
Copyright © 2008, Oracle. All rights reserved.18 - 18
Pick List Wizard Inputs for Static Picklists
• The project to contain the new picklist• The originating business component and field to assign the
picklist• Type of picklist (static)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 19
Copyright © 2008, Oracle. All rights reserved.18 - 19
Defining the Static Picklist
• Wizard allows using either an existing picklist or creating a picklist based on a new set of list of values
Name of picklist
Type in the LOV table
Values added to LOV table
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 20
Copyright © 2008, Oracle. All rights reserved.18 - 20
Pick List Wizard
• Creates the following:– Values in the S_LST_OF_VAL table– A static PickList object definition that references the specified
LOV values– A SVF Pick Map to copy the LOV value to the specified field
in the originating BC• Sets Runtime to TRUE in the controls or list columns to
activate the picklist for users
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 21
Copyright © 2008, Oracle. All rights reserved.18 - 21
Pick List Wizard Inputs for Dynamic Picklists
• Project to contain the new picklist• The originating business component and field to assign the
picklist • Type of picklist (dynamic)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 22
Copyright © 2008, Oracle. All rights reserved.18 - 22
Defining the Dynamic Picklist
• Wizard allows either using an existing dynamic picklist or creating a new dynamic picklist
Pick BC
Sort by
Optional search spec to restrict
choice of records
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 23
Copyright © 2008, Oracle. All rights reserved.18 - 23
Defining the Pick Maps
• Specify the editing requirements• Create one or more pick maps
– Map the primary key in the pick BC to the FK in the originating BC
Select values here and click Add
New mappings appear here
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 24
Copyright © 2008, Oracle. All rights reserved.18 - 24
Pick List Wizard
• Creates the following:– Picklist object definition that references the pick BC– SVF Pick Maps for the BC field with the picklist
• Sets Runtime to TRUE in the controls or list columns to activate the picklist for users
• Invokes the Applet wizard to create a pick applet if required
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 25
Copyright © 2008, Oracle. All rights reserved.18 - 25
Constrained Picklist
• Filters values dynamically to display only those records with one or more fields that match corresponding fields in the originating BC record
Displays only contacts from the account in the parent record
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 26
Copyright © 2008, Oracle. All rights reserved.18 - 26
Constraining a Picklist
• Create the regular pick maps• Create a SVF Pick Map for each field that must match a
field in the originating business component– Set the Constrain property to TRUE for the matching fields
— Filters the pick BC records for matches
Copies these fields as before
Return only records with this match
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 27
Copyright © 2008, Oracle. All rights reserved.18 - 27
Hierarchical Picklists
• Displays values that are constrained by the value in another picklist
Picklist choices for Make = Toyota
Picklist choices for Make = Ford
Siebel Automotive application
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 28
Copyright © 2008, Oracle. All rights reserved.18 - 28
LOVs for Hierarchical Picklists
• List of values in the S_LST_OF_VAL table are organized hierarchically– All LOVs in hierarchy have the same type
Picklist choices for Make = Toyota
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 29
Copyright © 2008, Oracle. All rights reserved.18 - 29
Configuring a Hierarchical Picklist
• Set the BC property to PickList Hierarchical– Provides functionality to manage hierarchical picklists
• Add a search specification to the Auto Make Picklist to retrieve only those LOVs with Parent = Make
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 30
Copyright © 2008, Oracle. All rights reserved.18 - 30
Configuring the SVF Pick Maps
• For the parent field, create a pick map to copy the selected picklist value into the target field in the originating BC
• For the child field, add a constraint based on the value of the model selected
Pick map for parent field Make (Denorm)
Pick maps for child field Model (Denorm)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 31
Copyright © 2008, Oracle. All rights reserved.18 - 31
Summary of Object Types
TableColumn
Screen Application
BusinessComponent
BusinessObject
ViewApplet
SV Field
List Column or Control
DataLayer
UILayer
BusinessLayer
ScreenView Page Tab
ScreenMenu Item
Applet WebTemplate
AWTItem
View WebTemplate
VWTItem
Pick ListSVF
Pick Map
Summary of Object TypesFor clarity the detailed object types for joins and links are not shown on this rendition. Also note that there are two references from SVF Pick Map to SVF Field. This indicates that a SVF Pick Map references a field in the pick business component and another field in the originating business component.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 32
Copyright © 2008, Oracle. All rights reserved.18 - 32
Lesson Highlights
• Static picklists:– Display values in a drop-down list– Contain static values, which are managed through List of
Values administrative views– Store values in S_LST_OF_VAL table
• Dynamic picklists:– Display values in a pick applet– Contain dynamic data, which is typically the result of user
transactions– Access data in pick business component using a foreign key
• Picklists are created using Siebel Tools’ Pick List Wizard• Picklists can be configured to display a constrained set of
values that depend upon the value of another field
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 18 - 33
Copyright © 2008, Oracle. All rights reserved.18 - 33
Practice 18 Overview: Configuring Picklists
This practice covers the following topics:• Examining picklists• Configuring a static picklist• Configuring a dynamic picklist (Optional)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 1
Copyright © 2008, Oracle. All rights reserved.
Configuring Multi-Value Groups
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 2
Copyright © 2008, Oracle. All rights reserved.19 - 2
Objectives
After completing this lesson you should be able to:• Add multi value fields (MVFs) to a business component• Display the child data in a multi-value group (MVG) applet• Create a primary for a multi-value group
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 3
Copyright © 2008, Oracle. All rights reserved.19 - 3
Multi-Value Group (MVG)
• Is a set of detail records associated with a parent record– The parent applet displays only one of the detail records– An applet opens on demand to display all detail (child)
records— User clicks the multi select button to display the MVG
MVG applet displays the MVG
One child
Parent applet (Contact Form Applet – Child) in Contact Details View
All children
Multi-Value Group (MVG)Reference: “Configuring Multivalue Group and Association Applets” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 4
Copyright © 2008, Oracle. All rights reserved.19 - 4
Shuttle Applet
• The MVG for a M:M child business component is displayed in a shuttle applet– Displays available as well as assigned child records– Appears only in high interactivity mode
Shuttle applet
All assigned children
One child
Can add or remove records
All available but
unassigned candidates
Account Team MVG
Shuttle AppletA M:M MVG is displayed using a regular MVG applet for application running in SI mode.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 5
Copyright © 2008, Oracle. All rights reserved.19 - 5
Multi-Value Group Display
• Is an alternative to a detail view for managing parent and related child records– Makes effective use of space
— Does not require dedicated space in a view– Allows for multiple sets of detail records to be available from
a single view
Parent list
Child list – popup on demand
Parent list
Child list
Versus
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 6
Copyright © 2008, Oracle. All rights reserved.19 - 6
MVG Advantages
• Allows for creating queries that include values for fields in both parent and child records
Query on Industry
Query on Account Type
Query on Territory
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 7
Copyright © 2008, Oracle. All rights reserved.19 - 7
MVG Concepts
• Multi value field (MVF)• Multi value link (MVL)• Mapping MVFs to fields in a child business component• MVG applet• Association applet• Primaries for performance
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 8
Copyright © 2008, Oracle. All rights reserved.19 - 8
Multi Value Field (MVF)
• Is a field in a parent business component that references a field in the child business component– Does not directly reference a column in a table
S_ORG_EXTRO
W_ID
NA
ME
LOC
Industry
Child BCAccount
Name SIC Code
Parent BCSingle-value field
Name Industry SIC Code
S_INDUSTRO
W_ID
NA
ME
SICMulti-value field
Multi Value Field (MVF)Each multi value field stores its data in a column and table in the Siebel database. However the column and table used are associated with the child business component and not the business component with the multi value field.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 9
Copyright © 2008, Oracle. All rights reserved.19 - 9
Multi Value Link
• Is a child object definition of business component that specifies how to retrieve the records for a multi value field
• References a link object definition that specifies how the parent and child business components are related
Multi Value LinkReference: “Configuring Links” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 10
Copyright © 2008, Oracle. All rights reserved.19 - 10
Multi Value Fields and Multi Value Links
• A multi value field maps to a single value field in a child business component using a multi value link
Name of field in parent Name of field in child
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 11
Copyright © 2008, Oracle. All rights reserved.19 - 11
Multi-Value Group Applet
• Is a list applet that displays all child records – Floats above the parent list or form applet– Is based on the child business component
Child BC Type is MVG
MVG Applet can expose additional fields
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 12
Copyright © 2008, Oracle. All rights reserved.19 - 12
Association Applet
• Is required for MVGs with a M:M relationship– Allow available child records to be added to a parent record
• Is used in high interactivity mode to specify the "Available" list applet that appears in a shuttle applet
Association AppletThe Siebel application uses object definitions for both the MVG Applet and the Association applet to build the shuttle applet at run time. The shuttle applet appears only in high interactivity mode. If the application is using standard interactivity, then separate MVG and association applets are displayed to the user. Consult the Configuring Siebel Applications guide in Bookshelf for more details on which controls from each applet are used in the shuttle applet.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 13
Copyright © 2008, Oracle. All rights reserved.19 - 13
Invoking the MVG Applet
• Specify the MVG Applet property – Identifies the MVG applet to display the child data
• Set Runtime in the parent applet to TRUE to enable the MVG applet
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 14
Copyright © 2008, Oracle. All rights reserved.19 - 14
Primaries
• A primary allows fast retrieval of a designated child record for display in the parent applet – The designated child record is referred to as the primary
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 15
Copyright © 2008, Oracle. All rights reserved.19 - 15
Primaries and Performance
• Primaries improve performance by eliminating the need to query each child BC separately– For example: without a primary a form applet with 5 MVGs
would require six queries— One query to populate parent single-value fields— Five additional queries (one per MVG) to populate the MVGs
– Using primaries, a form applet with 5 MVGs requires a single query to populate the single-value fields and MVGs
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 16
Copyright © 2008, Oracle. All rights reserved.19 - 16
Primaries and Performance
• Three MVGs without primaries on a list applet displaying 10 parent records would require 31 queries to populate– One query to populate parent fields in the list applet– 30 queries (three per parent record) to populate the MVGs
• Using primaries, one query will populate all the fields on the list applet
Multi-value groups
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 17
Copyright © 2008, Oracle. All rights reserved.19 - 17
Primary Foreign Key
• Is a foreign key field in the parent business component that references the child’s primary key– Child data is retrieved using a join to the child table
S_ORG_EXTRO
W_ID
NA
ME
LOC
PR_IN
DU
ST_ID
S_INDUSTRO
W_ID
NA
ME
SIC
Primary foreign key
(PFK)
Child BCParent BC
Primary Foreign KeyReference: “Configuring Tables and Columns” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 18
Copyright © 2008, Oracle. All rights reserved.19 - 18
Finding the Primary Foreign Key
• The Siebel Data Model includes primary foreign keys for many relationships– Begin with PR_
• To find a primary foreign key– Select the main table for the parent BC– Search for a column whose Foreign Key Table property is
the main table for child BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 19
Copyright © 2008, Oracle. All rights reserved.19 - 19
Enabling a Primary for a MVG
• Expose the primary field column in the parent BC• Set the Primary Id Field and Use Primary Join properties in
the MVL
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 20
Copyright © 2008, Oracle. All rights reserved.19 - 20
The Auto Primary Property
• Determines how a primary is assigned if not directly assigned by a user– Default (the first child
record retrieved becomes the primary)
– Selected (the highlighted record becomes the primary)
– None (the user must specify the primary)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 21
Copyright © 2008, Oracle. All rights reserved.19 - 21
Setting the Primary Record
• The primary child record is usually set during initial data loads using Enterprise Integration Manager– If not, set the Auto Primary property in the MVL to Default
• Add the SSA Primary Field to the MVG applet to expose a special field to permit the user to see and change the primary child record
Setting the Primary RecordThe SSA Primary field is not a field in the business component; rather, it is a special name that is recognized by the Siebel execution engine and results in the display of a check mark next to the primary child record.When the user explicitly selects a primary, the primary foreign key field is updated.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 22
Copyright © 2008, Oracle. All rights reserved.19 - 22
Creating a Multi-Value Group
• Use the MVG wizard to create a new MVG– First verify that a link between the parent and child business
components exists
Select File > New Object >
MVG
Parent business component
Creating a Multi-Value GroupThe following example is shown in the next several slides:You wish to create a Account Opportunity MVG.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 23
Copyright © 2008, Oracle. All rights reserved.19 - 23
MVG Wizard Inputs
• Project to contain the new applet• The master (parent) and detail (child) business
components• The link the MVF is based on• The primary key field• Fields from the child business component
Select values here and click Add
New mappings appear here
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 24
Copyright © 2008, Oracle. All rights reserved.19 - 24
MVG Wizard
• Creates the following:– Multi value link– Multi value fields
• Does not set Runtime or the MVG Applet properties for the control/list column– Must be set manually
• Invokes the MVG Applet wizard if no MVG applet exists suitable for the choice of parent and child business components
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 25
Copyright © 2008, Oracle. All rights reserved.19 - 25
Summary of Object Types
TableColumn
Screen Application
BusinessComponent
BusinessObject
ViewApplet
SV Field
List Column or Control
DataLayer
UILayer
BusinessLayer
ScreenView Page Tab
ScreenMenu Item
Applet WebTemplate
AWTItem
View WebTemplate
VWTItem
Link Business ObjectComponentMV LinkMV Field
Summary of Object TypesFor the purposes of clarity, many references that are not directly involved in MVGs have been omitted from this diagram.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 26
Copyright © 2008, Oracle. All rights reserved.19 - 26
Lesson Highlights
• A multi-value group (MVG) is a set of detail (child) records associated with a parent record
• A primary is a designated child record that is displayed in the parent’s applet– Improves performance for the display of applets with MVGs– Supported by a primary foreign key
• Objects needed to support a MVG are:– A multi value link– Multi value fields – A multi-value group applet
• Use the MVG wizard in Siebel Tools to create an MVG
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 19 - 27
Copyright © 2008, Oracle. All rights reserved.19 - 27
Practice 19 Overview: Configuring Multi-Value Groups
This practice covers the following topics:• Examining multi-value groups • Configuring a multi-value group
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 1
Copyright © 2008, Oracle. All rights reserved.
Configuring Access Control
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 2
Copyright © 2008, Oracle. All rights reserved.20 - 2
Objectives
After completing this lesson you will be able to:• Configure views to control access to data based on
– Person: who the user is– Position: which position is associated with the user– Organization: which organization the user is associated with– Access groups: which access groups the user belongs to
• Determine the visibility for picklists
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 3
Copyright © 2008, Oracle. All rights reserved.20 - 3
Access Control:Review
• Is the set of mechanisms that control user access to data and application functionality– Application-level
— Controls which screens are associated with an application— Defined by license keys
– View-level— Controls which views within a screen are available to users— Defined by responsibilities
– Record-level — Controls which records are available to employees within a view— Defined by record ownership, team membership, access
groups, and the organizational structure— Used to generate the SQL to populate the applet on a business
component
Access Control: ReviewReference: “Configuring Access Control” in Siebel Security Guide
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 4
Copyright © 2008, Oracle. All rights reserved.20 - 4
Business Components and Record-Level Access Control
• Many business components (BC) have been configured with single or multi value fields that store:– User Id– Position– Organization
• These business component records can be subject to record-level access control
Details for the Parker Hospital account
Accounts are configured for multiple positions and organizations
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 5
Copyright © 2008, Oracle. All rights reserved.20 - 5
Visibility Views
• Views can be configured to display records subject to record-level access control restrictions– Are based on the user’s identity, position, or organization– Permit additional access for
— Managers— Executives— Administrators
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 6
Copyright © 2008, Oracle. All rights reserved.20 - 6
View Modes
• Refers to the type of visibility view• Common view modes include:
Displays all records in the enterprise with a valid organizationAll Across Organizations View
Displays records that are assigned to the user’s organization and its child organizations
All Across My Organizations View
Displays all records associated with the user’s organizationAll View
Allows managers to see records assigned to their direct and indirect reports that are the primary owner based on reporting structure
My Team’s View (Manager’s View)
Only displays records you directly ownMy Personal View
Displays records directly assigned to you based on user ID or active position
My View
DescriptionViews
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 7
Copyright © 2008, Oracle. All rights reserved.20 - 7
Configuring Visibility Views
• A set of visibility views almost always have the same set of applets
• View mode for a visibility view is configured by: – Setting the Visibility Applet property
— Identifies an applet in the view and therefore the business component
— Is typically set to the:— Top list applet in a list view— Master form applet in a detail view
– Setting the Visibility Applet Type— Determines the access control mechanism to use when
retrieving records
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 8
Copyright © 2008, Oracle. All rights reserved.20 - 8
BusComp View Mode Definition
• Is a child object definition of business component that specifies how to select records for the business component for a specific access control mechanism– Identifies an attribute of the user
— Corresponds to the view mode– Identifies the field in the BC that contains the user's attribute– Is used to generate the SQL
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 9
Copyright © 2008, Oracle. All rights reserved.20 - 9
Personal View
• Displays all records for which the user is the owner• Is configured by
– Setting the Visibility Applet property to identify an applet– Setting the Visibility Applet Type property to Personal
• Looks for a BusComp View Mode with name Personal– Owner type must be Person
Applet based on this BC
Personal ViewIn the example shown on the slide, the BusComp View Mode specifies that only records for which the user's Id matches the value in the business component field specified in the Visibility Field property (in the above case the Owner Id field) are retrieved and displayed in the this view. This specification is used to generate the SQL WHERE clause at run time.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 10
Copyright © 2008, Oracle. All rights reserved.20 - 10
My View
• Displays all records for which user’s Id or position is assigned to the record
• Is configured by:– Setting the Visibility Applet property to identify an applet in
the view– Setting the Visibility Applet Type property to Sales Rep
— Defaults to this value if none set
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 11
Copyright © 2008, Oracle. All rights reserved.20 - 11
Retrieving My View Records
• Visibility Applet determines the business component• Visibility Applet Type determines the access mechanism
used to restrict records– Looks for a BusComp View Mode with name Sales Rep
Applet based on this BC
Retrieving My View RecordsIn the example of account shown on the slide, the Sales Rep BusComp View Mode specifies that only records for which the user's position appears in the Sales Rep multi value field are retrieved and displayed in the My View.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 12
Copyright © 2008, Oracle. All rights reserved.20 - 12
My Team’s (Manager) View
• Displays all records – For which direct and indirect reports are the primary or owner– For which the user is the primary or owner
• Is configured by– Setting the Visibility Applet property to identify an applet– Setting the Visibility Applet Type property to Manager
My Team’s (Manager) ViewBy default a manager view displays only records for which direct and indirect reports are designated as primaries. A business component can be configured to return records for all direct and indirect reports, rather than just the primaries. This is performed by setting the Manager List Mode business component user property to Team. You will learn about business component user properties in a subsequent lesson.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 13
Copyright © 2008, Oracle. All rights reserved.20 - 13
Retrieving My Team's Records
• Visibility Applet determines the business component• Visibility Applet Type determines the access mechanism
used to restrict records– Looks for a BusComp View Mode with name Sales Rep– Owner type must be Position or Person
Applet based on this BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 14
Copyright © 2008, Oracle. All rights reserved.20 - 14
All View
• Displays all records (that have a primary organization set) within a single organization– Any sort specification in the business component is ignored
for performance reasons• Is configured by
– Setting the Visibility Applet property to identify an applet – Setting the Visibility Applet Type property to Organization
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 15
Copyright © 2008, Oracle. All rights reserved.20 - 15
Retrieving Records for an All View
• Visibility Applet determines the business component• Visibility Applet Type determines the access mechanism
used to restrict records– Looks for a BusComp View Mode with name Organization
Applet based on this BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 16
Copyright © 2008, Oracle. All rights reserved.20 - 16
Across All Organizations View
• Displays all records (that have a primary organization set) across all organizations– Does not use a BusComp View Mode definition
• Is configured by – Setting the Visibility Applet property to identify an applet – Setting the Visibility Applet Type property to All
Across All Organizations ViewA primary must be set for records to be displayed in All or All Across Organizations views. Records that have not been assigned are not visible in these views. They are visible in Admin Mode views (to be discussed shortly).
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 17
Copyright © 2008, Oracle. All rights reserved.20 - 17
Administration View
• Displays all the records in the database ignoring any visibility consideration
• Is configured by setting the Admin Mode Flag property in a View object definition
Administration ViewSetting the Admin Mode Flag to TRUE also overrides the editing properties of the underlying business component displayed in the view.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 18
Copyright © 2008, Oracle. All rights reserved.20 - 18
Group View
• Displays categories of master data records that are associated with access groups to which the user belongs– Membership in an access group occurs through a position,
organization, user list, and so forth • Is configured by:
– Setting the Visibility Applet property to identify an applet– Setting the Visibility Applet Type property to Group
• Looks for a BusComp View Mode with name Group
Group ViewThe User Catalog List Applet is the applet displayed in the User Catalog List View used to display catalogs such as the InfoCenter.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 19
Copyright © 2008, Oracle. All rights reserved.20 - 19
Private Flag
• Identifies (optionally) a field in the business component• Is used to determine if a given record is subject to visibility
restrictions– When a private field is specified, and the value of that field in
a record is empty, then that record is always visible – Is most commonly used with access group owner type
Records associated with an individual based on membership in an access group
Only product catalogs with Private Flag set are subject to access control
Private FlagA catalog can be created as either public or private. A public catalog (and any of its public categories) can be accessed by all users. A catalog (or category) that has been flagged as private can be accessed only by a user who has membership in an access group assigned to the catalog or category.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 20
Copyright © 2008, Oracle. All rights reserved.20 - 20
View Web Template Item Applet Visibility
• Applet visibility can be set for an applet in a view Web template item– Determines visibility of data displayed in that applet– Is typically used in a view (such as a home page view) that
has no view visibility setView with no
visibility restrictions
Applets with individual visibility
restrictions
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 21
Copyright © 2008, Oracle. All rights reserved.20 - 21
Visibility For Picklists
• For business components with access control restrictions, users typically see more records in picklists than they do in the My Views– For example: assigning an account to a new opportunity
Accounts to which user is assigned User can select
from more accounts when
picking an account
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 22
Copyright © 2008, Oracle. All rights reserved.20 - 22
Picklist Visibility
• Visibility of business component records in a picklist:– Is determined by the Popup Visibility Type property
— Applies to all users– Can be overridden for users with access to Across All
Organization views by setting the Popup visibility Auto All property to TRUE
— Allows these users to see all records regardless of popup visibility type
Applies to all picklists on the
Account BC
Grants All visibility to users with access to All Across
Organizations view for the BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 23
Copyright © 2008, Oracle. All rights reserved.20 - 23
Visibility for an Individual Picklist
• Visibility for an individual picklist can be modified by settingthe Visibility Type property for the picklist
Overrides for this picklist default value set on BC
default value for BC
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 24
Copyright © 2008, Oracle. All rights reserved.20 - 24
Lesson Highlights
• Many business components are configured to have users, positions, and organizations assigned
• Views can be configured to display records associated with the user's Id, position, or organizations– Is configured by setting the Visibility Applet and Visibility
Applet Type for the view– References a BusComp view mode for an underlying
business component in the view• A BusComp view mode specifies how to retrieve the
desired records and is used to generate the SQL • Picklist visibility is determined by the Popup Visibility Type
property of a business component– Can be overridden for individual picklists
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 20 - 25
Copyright © 2008, Oracle. All rights reserved.20 - 25
Practice 20 Overview: Configuring Access Control
This practice covers the following topics:• Configuring view modes• Examining the visibility of picklists
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 1
Copyright © 2008, Oracle. All rights reserved.
Configuring User Properties
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 2
Copyright © 2008, Oracle. All rights reserved.21 - 2
Objectives
After completing this lesson you will be able to:• Describe the purpose and benefits of user properties• Add a user property to an applet to control UI behavior• Add a user property to a business component to
implement business logic
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 3
Copyright © 2008, Oracle. All rights reserved.21 - 3
User Properties
• Are child object definitions added to several UI and business layer object definitions– Configure specialized behavior beyond what is configured in
the parent object definition’s properties– Are stored in the repository and are compiled into the
repository file– Are passed to the C++ code that implements the class
— Values can be edited or created to modify the existing behavior
• Provide an alternative to custom scripting– Easier to configure– Perform better
User PropertiesReference: “Configuring Business Components” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 4
Copyright © 2008, Oracle. All rights reserved.21 - 4
Object Definitions with User Properties
• Several object definitions include child user properties– Applet– Application– Business Component– Control– Field– List Column– View
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 5
Copyright © 2008, Oracle. All rights reserved.21 - 5
User Properties
• User properties consist of name-value pairs passed to the underlying C++ code
Business component user properties specific to the
Opportunity business component
Name-value pairs
User PropertiesThe picklist displays most of the common user properties for the object type. However, it does not necessarily show every possible user property.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 6
Copyright © 2008, Oracle. All rights reserved.21 - 6
Editing User Properties
• Modify the existing user property or create a new one– Do not modify the name property for existing user properties– Use the picklist to select the name when creating a new user
property
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 7
Copyright © 2008, Oracle. All rights reserved.21 - 7
Expression Editor
• The value property can be a simple or complex expression– Use the expression builder to assist in creating complex
expressions
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 8
Copyright © 2008, Oracle. All rights reserved.21 - 8
Multiple Instances of a User Property
• Multiple instances can be defined for several user properties– Append the name property with consecutive integers starting
at 1— Gaps in numbering are permitted
Multiple Instances of a User PropertyThis user property allows you to specify the name of a field that holds currency data.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 9
Copyright © 2008, Oracle. All rights reserved.21 - 9
Examples of Applet User Properties
• Some applet user properties of interest include:– DefaultFocus_New– NoDataHide
.
More
User properties supported for customer use are documented in the Siebel Developer's Reference in the Siebel Bookshelf. Not all user properties are intended for customer use
Examples of Applet User PropertiesReference: “Configuring Applets” in Configuring Siebel Business Applications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 10
Copyright © 2008, Oracle. All rights reserved.21 - 10
DefaultFocus_New
• Specifies the control in an applet that receives focus when the applet is invoked in New mode
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 11
Copyright © 2008, Oracle. All rights reserved.21 - 11
NoDataHide
• Specifies whether the applet should be hidden if there are no records– Defaults to No
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 12
Copyright © 2008, Oracle. All rights reserved.21 - 12
Examples of Business Component User Properties
• Some business component user properties of interest include:– All Mode Sort– BC Read Only Field– On Field Update Set– Parent Read Only Field– Field Read Only Field– Disable Automatic Trailing Wildcard Field List
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 13
Copyright © 2008, Oracle. All rights reserved.21 - 13
All Mode Sort
• Specifies how to sort records in views other than My and Personal views– Default behavior is to override any business component sort
specification and to sort using the standard user key U1 index
• Is often set to FALSE to eliminate any sorting– Improves performance for large sets of records
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 14
Copyright © 2008, Oracle. All rights reserved.21 - 14
BC Read Only Field
• Specifies a field in the business component that makes a record read-only when the value of the field = TRUE– The designated field is often a calculated field
A contact note record is read-only when NoEdit = TRUE
NoEdit = TRUE if user is not the creator of the record
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 15
Copyright © 2008, Oracle. All rights reserved.21 - 15
On Field Update Set
• Updates a single value field when another field is updated– Value property consists of:
— The field to check— The field to update— A value or expression to set (defaults to the value in the
checked field)
Can have multiple instances
Sets Contact to "" when Agreement is updated
On Field Update SetThe value property may also include an optional fourth parameter which serves as a condition. If the Condition parameter is defined, then the "field to update" is updated only if the condition evaluates to TRUE.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 16
Copyright © 2008, Oracle. All rights reserved.21 - 16
Parent Read Only Field
• Specifies a field in a parent business component that makes the child record read-only when the value of the parent field = TRUE (or Y)– Value property consists of:
— Name of parent business component— Field name
Child record is read-only when Read Only Flag in
parent Activity Plan is TRUE
Parent Read Only FieldWhen using the Parent Read Only Field user property, the referenced field in the parent business component must have its Link Specification property set to TRUE. Otherwise, the dynamic read-only functionality does not work.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 17
Copyright © 2008, Oracle. All rights reserved.21 - 17
Field Read Only Field
• Set a field in a business component to be read only based on the value in another field– Value property specifies the name of the field to check
These fields are read-only when Protect Internal
Employee Flag is TRUE
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 18
Copyright © 2008, Oracle. All rights reserved.21 - 18
Disable Automatic Trailing Wildcard Field List
• Disables automatic trailing wildcard for a set of fields in a business component– Value property specifies the list of fields to disable
These fields require explicit wildcard for queries
Disable Automatic Trailing Wildcard Field ListDisabling trailing wildcards can be beneficial for performance, but requires additional training for users.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 19
Copyright © 2008, Oracle. All rights reserved.21 - 19
Required(Field User Property)
• Specifies that a field is required under certain conditions– Value property specifies the conditions
This field becomes required when Hospitality Flag is TRUE
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 20
Copyright © 2008, Oracle. All rights reserved.21 - 20
Lesson Highlights
• User properties are object definitions added as children of several UI and business layer object definitions– Configure specialized behavior beyond what is configured in
the parent object definition’s properties– Consist of name value pairs passed to the underlying code
• A picklist for the name property and expression builder are provided to assist in editing user properties
• Several business component user properties can be used to implement a variety of data-driven editing such as making a record read only based on the value of a field
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 21 - 21
Copyright © 2008, Oracle. All rights reserved.21 - 21
Practice 21 Overview: Configuring User Properties
This practice covers the following topics:• Configuring user properties
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 1
Copyright © 2008, Oracle. All rights reserved.
Migrating Repository Changes
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 2
Copyright © 2008, Oracle. All rights reserved.22 - 2
Objectives
After completing this lesson you should be able to:• Describe the migration process• Explain the role of the Repository Migration Utility• Explain the role of the Application Deployment Manager
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 3
Copyright © 2008, Oracle. All rights reserved.22 - 3
Multiple Enterprises
• Configuring and deploying a Siebel application involves:– A development enterprise where the application is configured
— Is often unstable since the application is constantly changing– A separate quality assurance (QA)/test enterprise used to
test application functionality— Is a controlled and stable environment that replicates the
production environment— Recommendation: Create a copy of the production environment
to perform QA— Includes accurate real-world data— Can identify performance issues prior to release to production
– The production enterprise— Provides end users with access to the application and user data— Requires tested and stable application software
Multiple EnterprisesConsult the following document on Oracle MetaLink for information on creating a test environment from a Siebel production environment:Restoring Production Environments into Test Environments (Doc ID 477772.1)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 4
Copyright © 2008, Oracle. All rights reserved.22 - 4
Migrating Between Enterprises
• Deployment involves migrating a configured Siebel application from the development enterprise to:– The QA/test enterprise at major development milestones
— Verify that the configured application performs as specified– The production enterprise upon successful completion of
testing
DevelopmentEnterprise
QA/TestEnterprise
ProductionEnterprise
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 5
Copyright © 2008, Oracle. All rights reserved.22 - 5
Items to Be Migrated
• The following are major types of items to be migrated– Repository object definitions– Files– Customized data
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 6
Copyright © 2008, Oracle. All rights reserved.22 - 6
Repository Object Definitions
• Object definitions in the repository must be migrated– Includes object definitions that are:
— Compiled:— Applets, business components, columns, and so forth
— Non-compiled:— Workflow processes, assignment objects, and so forth
– May include modified schema object definitions such as tables, columns, and indexes
— Requires synchronization of the schema changes and the physical database in the target enterprise
Repository Object DefinitionsSome server processes read object definitions directly from the repository tables rather than from the Siebel repository file (.srf). Such objects include workflow process and assignment objects (configuring these object definitions is covered in the Siebel Business Automation course). Accordingly both the repository and Siebel repository file must be migrated.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 7
Copyright © 2008, Oracle. All rights reserved.22 - 7
Name of the Repository
• The Repository object definition specifies a name for the repository– Is stored in the S_REPOSITORY table
• Every object definition in all the other repository tables has a foreign key column to the name of the repository– Allows for storing multiple repositories in a Siebel database
— Is required, at minimum, for a short period of time during upgrades
Name of the RepositoryReference: “Managing Repositories" in Using Siebel Tools
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 8
Copyright © 2008, Oracle. All rights reserved.22 - 8
References to the Name of the Repository
• The current active repository should always be named Siebel Repository
• Siebel client applications are configured with the name of the repository – Allows the application to access certain object definitions
from the repository rather than the .srf file— Examples: Assignment Object and Dock Object
• The repository name must be specified when migrating a repository
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 9
Copyright © 2008, Oracle. All rights reserved.22 - 9
Files
• The following files must be migrated:– The compiled repository file (.srf)– Modified physical UI files:
— Web templates (.swt)— Styles sheets (.css)— Images
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 10
Copyright © 2008, Oracle. All rights reserved.22 - 10
Customized Data
• All customized data in the run-time database must be migrated– Examples of customized data include:
— Business automation rules configured by developers:— Workflow processes— Assignment Manager rules
— Run-time data managed by administrators:— List of values— Modified responsibilities— Application specific data such as products and price lists
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 11
Copyright © 2008, Oracle. All rights reserved.22 - 11
Overview of the Migration Process
• For significant releases, follow these steps:– Prepare the development enterprise– Prepare the target enterprise– Use the repository migration utility to:
— Export the repository from the development enterprise— Import the repository into the target enterprise— Apply schema changes (if there are any)
– Use the Application Deployment Manager (ADM) to migrate files and customized user data
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 12
Copyright © 2008, Oracle. All rights reserved.22 - 12
Benefits of the Process
• The process:– Creates a set of migration entities than are:
— Migrated to QA/Test enterprise and verified— Then migrated to the production enterprise
– Eliminates the need to regenerate the entities– Reduces the length of time a target enterprise is shut down
DevelopmentEnterprise
QA/TestEnterprise
ProductionEnterprise
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 13
Copyright © 2008, Oracle. All rights reserved.22 - 13
Prepare the Development Enterprise
• Check in all modified object definitions from local development systems
• Compile a new .srf file on the server• Identify modified files and data to be migrated
– Make sure they have been migrated to the development server
• Back up all affected items
DevelopmentEnterprise
Prepare the Development EnterpriseMake sure to compile all projects into a new (empty) .srf file rather than the existing .srf file.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 14
Copyright © 2008, Oracle. All rights reserved.22 - 14
Prepare the Target Enterprise
• Perform a full backup of the target database and supporting files to be updated
• Update database statistics if warranted for your database• Archive and then delete older repositories from the target
database
TargetEnterprise
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 15
Copyright © 2008, Oracle. All rights reserved.22 - 15
Export the Repository From the Development Enterprise
• Use the Repository Migration Configuration Utility to export the configured repository
Invoked from the Database Server
Configuration Utility
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 16
Copyright © 2008, Oracle. All rights reserved.22 - 16
Export the Repository From the Development Enterprise
• The Repository Migration Configuration Utility exports the repository tables– Invokes the repimexp.exe script– Creates a .dat file in the dbsrvr\DBPLATFORM folder, by
default, in the Siebel installation directory
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 17
Copyright © 2008, Oracle. All rights reserved.22 - 17
Import the Repository Into the Target Enterprise
• Use the Repository Migration Configuration Utility to import the configured repository– Select Import Custom Siebel Repository– Provide a name for the imported repository that differs from
that in the target enterprise
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 18
Copyright © 2008, Oracle. All rights reserved.22 - 18
Rename the Repositories
• Stop the target enterprise• Rename the former active repository to indicate that it has
been replaced• Rename the imported repository to that of the former
active repository (Siebel Repository) in order to make sure that client applications do not need to be reconfigured to recognize the new repository
Before renaming
After renaming
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 19
Copyright © 2008, Oracle. All rights reserved.22 - 19
Apply Schema Changes
• If any schema object definitions have been modified, use the Synchronize Schema Definition (DDLsynch) utility to update the database in the target enterprise– Is invoked from the Database Server Configuration Utility– Requires shutting down the target enterprise
Apply Schema ChangesDeployments almost always involve some database schema changes, and typically you will need to run the Synchronize Schema Definition (DDLsynch) utility.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 20
Copyright © 2008, Oracle. All rights reserved.22 - 20
Migrate Files and Customized User Data
• Use the Application Deployment Manager in the Siebel client to:– Create a deployment project– Add modified database records to the project– Export the project to an ADM package
• Add modified files directly to the ADM package– Includes the compiled .srf file
• Use the ADM command line interface to deploy the package to the target enterprise– Most ADM tasks are performed by a system administrator
and not a developer
Migrate Files and Customized User DataApplication Deployment Manager (ADM)
• ADM is a framework for deploying application customizations to a target Siebel enterprise. It is designed to provide an extensible facility for quick, reproducible deployment of a wide range of customizations. It includes support for many data types.
• ADM supports deployments ranging from a small patch with only a handful of application modifications to a major release with a new .srf file. It allows creation of reusable deployment packages that can be applied to multiple target enterprises.
• Before application modifications can be deployed to a destination enterprise, they must be first exported from the source enterprise and then bundled together, along with a “manifest”, in an ADM package.
ADM Package• An ADM package is a collection of application customizations and includes a directory
structure that organizes different types of customization (database, repository, and file ) and an ADM package descriptor file describing its contents. ADM also includes a utility, admpkgr, which is used to create and verify an ADM package.
Reference: “Overview of the ADM Deployment Process” in Siebel Application Deployment Manager Guide
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 21
Copyright © 2008, Oracle. All rights reserved.22 - 21
Repository Customizations
• Use ADM to migrate small sets of customized object definitions in a repository– Is an alternative to migrating the entire repository
• Selected object definitions:– Are exported from Siebel Tools as archive (.sif) files– Are added to an ADM package
• ADM supports:– Hot fix – typically a small set of hand-selected modifications– Mid-level release – repository changes after a specified
cutoff date— List of objects may be edited after it is generated
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 22
Copyright © 2008, Oracle. All rights reserved.22 - 22
Hot Fixes
• To create a hot fix in Siebel Tools:1. Select the object definition to add to the hot fix2. Right-click and select Add to Hot-Fix3. Specify a name for the hot fix4. Select additional object definitions to add to the hot fix5. When done, click Export
Hot fix output is saved in …\Tools\ADM\<HF Name>
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 23
Copyright © 2008, Oracle. All rights reserved.22 - 23
Mid-Level Releases
• To create a mid-level release in Siebel Tools:1. Navigate to View > Options > General and set Changed Date
to specify a cutoff date for the release2. Select Tools > Generate Mid-Level Release3. Provide a name for the release and click Generate List4. Verify list contents and delete entries if necessary5. Click Export
— Package is created in …\Tools\ADM\<MLR name>
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 24
Copyright © 2008, Oracle. All rights reserved.22 - 24
Lesson Highlights
• Deploying a configured Siebel application involves migrating the application from a development enterprise to:– A QA/Test enterprise to verify the configuration– One or more production enterprises
• Use the following utilities to migrate the repository– Export repository– Import repository– Synchronize schema definition
• Use the Application Deployment Manager to migrate files and user data
• Small changes to a repository can be packaged as a hot fix or mid-level release and migrated using ADM
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 22 - 25
Copyright © 2008, Oracle. All rights reserved.22 - 25
Practice 22 Overview: Migrating Repository Changes
This practice covers the following topics:• Exporting repository changes
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 1
Copyright © 2008, Oracle. All rights reserved.
Troubleshooting
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 2
Copyright © 2008, Oracle. All rights reserved.23 - 2
Objectives
After completing this lesson you should be able to:• Describe common configuration mistakes• Describe techniques to help you diagnose configuration
problems
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 3
Copyright © 2008, Oracle. All rights reserved.23 - 3
Common Mistakes
• Tools mistakes• Compilation mistakes• Administration mistakes• Testing mistakes
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 4
Copyright © 2008, Oracle. All rights reserved.23 - 4
Tools Mistakes
• Changing the name of an object definition, but not reselecting it in object definitions that reference it– Object names, rather than foreign keys, are copied
• Failure to validate edited object definitions• Not using picklists within Tools (names have to match
exactly)• Not saving changes
– Explicitly in editors– By stepping off the record in the list editor
• Manually creating complex object definitions instead of using the wizards
• Not applying data layer changes
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 5
Copyright © 2008, Oracle. All rights reserved.23 - 5
Compilation Mistakes
• Compiling the wrong object or project• Compiling into the wrong Siebel repository file (.srf)• Not compiling all the object definitions you changed
– Use the Changed flag to help identify them– Compile all Locked projects
• If deleting object definitions or making many conflicting configuration changes during development, obsolete references may remain in the .srf file– Do a full compile of all object definitions to generate a new,
clean repository file
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 6
Copyright © 2008, Oracle. All rights reserved.23 - 6
Administration Mistakes
• Not registering new views in the application• Not adding new views to the correct responsibility• Not adding new list of values in the application (if using a
different source than the Tools database)
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 7
Copyright © 2008, Oracle. All rights reserved.23 - 7
Testing Mistakes
• Using the wrong client application• Using the wrong repository file (.srf) • Connecting to the wrong database• Using the wrong login • Not clearing user preferences
– Tab Layout– Columns Displayed
Testing MistakesUser preferences are stored in a user preference file (.spf) in the client\BIN directory for thick clients. A separate preference file is created for each combination of user and application. Delete the file to remove any custom preferences set explicitly by the user.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 8
Copyright © 2008, Oracle. All rights reserved.23 - 8
Common Configuration Problems
• User Interface Layer• Business Layer• Data Layer
More
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 9
Copyright © 2008, Oracle. All rights reserved.23 - 9
User Interface Layer
• Control does not map to a field• Control not mapped to a template (or to the wrong mode)• Missing or wrong text or caption properties• List column not set as available• Runtime property not set• Picklist and MVG applets missing• Not exposing SSA Primary field for MVG applets• Not mapping all controls (standard buttons)• Exposing the TYPE column for 1:M business components
and allowing users to edit the value
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 10
Copyright © 2008, Oracle. All rights reserved.23 - 10
User Interface Layer
• View not properly administered• Creating new multi value fields on applets without defining
primaries (potential performance impact)• Improperly setting visibility properties• Adding the screen to the wrong application• Screen View does not have Display in Page or Display in
Site Map set
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 11
Copyright © 2008, Oracle. All rights reserved.23 - 11
Business Layer
• Field not mapped to a column or calculated properties incorrect
• Setting incorrect Predefault and Post Default values• Failure to set Link Spec = TRUE when referencing parent
business component fields• Default value not set or conflicts with a search spec
– Especially for business components based on 1:M extension tables
• Setting required flag, but not defaulting or exposing the field
• Setting incorrect Validation property• Mapping to a column used in a conflicting way by another
business component
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 12
Copyright © 2008, Oracle. All rights reserved.23 - 12
Business Layer
• Incorrect Join definition (outer join flag)• Incorrect Join specification (keys)• Incorrect pick maps or defined on the wrong field• Missing primary for a multi value link• Not using Auto Primary or Check No Match correctly for
multi value links • Link not specified at business object component or multi
value link level• Link using incorrect keys
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 13
Copyright © 2008, Oracle. All rights reserved.23 - 13
Data Layer
• Not applying changes to the physical database• Setting types incorrectly• Adding fields to extension tables instead of base tables• Not considering index implications• Not considering Enterprise Integration Manager or docking
object implications
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 14
Copyright © 2008, Oracle. All rights reserved.23 - 14
Diagnosing Problems
• Use Compare Objects to compare your changes against former versions or other object definitions that work
• Use the Flat Tab to scan through object definitions of a certain type– Sometimes it is easier to notice property differences– Don’t need to know explicit correct definition to compare
against– Can assist you if you don’t know what values a property
should have• Use the Client Application
– Use a working view in the client application to see what the correct behavior should be to help you diagnose a non-working view
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 15
Copyright © 2008, Oracle. All rights reserved.23 - 15
Create a File to Capture SQL
• Values can be set to direct the application to “spool” or write SQL that is generated to a file– Generate the file and then inspect it– SQL is in the format that is native to the database you are
accessing• Can help to diagnose why expected records are not
showing up in the application
Create a File to Capture SQLReference: “Tuning Customer Configurations for Performance" in Siebel Performance Tuning Guide
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 16
Copyright © 2008, Oracle. All rights reserved.23 - 16
Turn on SQL Spooling
• For the Developer Web Client add /s filename to the shortcut
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 17
Copyright © 2008, Oracle. All rights reserved.23 - 17
Turn on SQL Spooling
• For the Web Client set the SQL Tracing event log level to 3 or above for the Siebel Server or the application object manager component
Turn on SQL SpoolingInspect server logs for the output.
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 18
Copyright © 2008, Oracle. All rights reserved.23 - 18
Have a Fallback
• When prototyping using the local sample database: – Copy the sse_samp.dbf and siebel_sia.srf before you begin
— Allows you to back out changes by replacing these files– Create archive (.sif) files before you begin
— Allows you to restore prior versions without rolling back the entire database
– Save work incrementally— So you have a fallback point
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 19
Copyright © 2008, Oracle. All rights reserved.23 - 19
Do Not Configure on the Server
• Never, ever work directly against the server/master repository
• Use check in/check out and test work locally before checking in
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 20
Copyright © 2008, Oracle. All rights reserved.23 - 20
Lesson Highlights
• Use the built-in features of Siebel Tools to help you diagnose problems
• Check for common mistakes during troubleshooting
Oracle In
ternal & O
racle Aca
demy
Use O
nly
Siebel 8.1.x Tools 23- 21
Copyright © 2008, Oracle. All rights reserved.23 - 21
Practice 23 Overview: Troubleshooting
This practice covers the following topics:• Diagnosing configuration problems• Spooling SQL
Oracle In
ternal & O
racle Aca
demy
Use O
nly