Siebel 8.0 Essentials
Siebel 8.0 Essentials
Siebel 8.0 Essentials
0 Essentials
Author
Siebel Curriculum Development Team
Copyright 2007, 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
Publisher
Joseph Fernandez
U.S. GOVERNMENT RIGHTS The U.S. Governments 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, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
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:
Contents
Module i: Siebel 8.0 Essentials Training Module 1: Introducing Siebel Applications Module 2: Using the Siebel Web Client Module 3: Working With Siebel Data Module 4: Responsibilities and Views Module 5: Users, Positions, and Organizations Module 7: Catalogs and Master Data Module 8: The Siebel Web Architecture Module 9: Server Components and Parameters Module 10: Server Management Module 11: Siebel Client Types Module 12: Securing Access to the Application Module 13: Installing Siebel Applications Module 14: Siebel Application Architecture Module 15: Using Siebel Tools to Examine Object Definitions Module 16: The Siebel Data Model Module 17: Siebel Business Components Module 18: Siebel Party Business Components Module 19: Siebel Business Objects Module 20: Configuration Strategy Module 21: The Configuration Process Module 22: Managing Object Definitions Module 23: Editing and Compiling Object Definitions Module 24: UI Layer Configuration: Web Templates Module 25: UI Layer Configuration: Applets Module 26: UI Layer Configuration: Applications, Screens, and Views Module 27: UI Layer Configuration: Drilldowns Module 28: Business Layer Configuration: Joins Module 29: Business Layer Configuration: Existing Business Components and Fields
iii
Module 30: Business Layer Configuration: New Business Components and Fields Module 31: Business Layer Configuration: Picklists Module 32: Configuring Multi-Value Groups Module 33: Data Layer Configuration Module 34: Siebel Business Services Module 35: Building Siebel Workflow Processes Module 36: Testing and Deploying Workflow Processes Module 37: Executing Workflow Processes Module 38: Using Workflow Policies Module 40: Task UI: Creating a Task Module 41: Transient Business Components and Branching Module 42: Siebel Business Rules Module 43: Creating Business Rules Module 44: Introducing Siebel Assignment Manager Module 45: Creating Assignment Rules Module 46: Tailoring Assignment Manager Behavior Module 47: Invoking Siebel Assignment Manager Module 48: State Models Module 49: Introducing Enterprise Integration Manager Module 50: Creating Data Maps Module 51: Running Enterprise Integration Manager Module 52: Introducing Application Deployment Manager Module 53: Deploying Application Customizations Module 39: Siebel Task UI
iv
i.1
i
Siebel 8.0 Essentials
i.2
Module Agenda
2 of 18
i.3
3 of 18
i.4
Bathrooms
Telephones
Fire Exits
Questions?
4 of 18
i.5
Course Audience
5 of 18
i.6
Course Prerequisites
Basic Windows or NT navigation and file-management skills Understanding of basic relational database concepts Familiarity with application development Familiarity with Web-based and client/server applications
6 of 18
i.7
Course Goal
To enable participants to identify and perform tasks required for an initial Siebel 8 Application deployment
7 of 18
i.8
Course Objectives
8 of 18
Navigate the Siebel application user interface Secure access to Siebel applications and data Define your company structure Describe the Siebel application architecture Describe the steps required to install Siebel application software to set up your enterprise Configure a Siebel application Automate business rules in your Siebel application Populate and migrate data into the Siebel database Migrate data between environments
i.9
Course Methodology
9 of 18
i.10
Course Materials
Student Guide
` All slides presented during lecture ` Notes that point to Siebel Bookshelf references
Lab Guide
` Hands-on lab exercises and solutions
10 of 18
i.11
9. Data Loads
11 of 18
i.12
Course Agenda
i.13
13 of 18
i.14
Application Configuration
` ` ` ` ` ` ` ` ` ` ` ` 22: Managing Object Definitions 23: Editing and Compiling Object Definitions 24: UI Layer Configuration: Web Templates 25: UI Layer Configuration: Applets 26: UI Layer Configuration: Applications, Screens, and Views 27: UI Layer Configuration: Drilldowns 28: Business Layer Configuration: Joins 29: Business Layer Configuration: Existing Business Components and Fields 30: Business Layer Configuration: New Business Components and Fields 31: Business Layer Configuration: Picklists 32: Configuring Multi-Value Groups 33: Data Layer Configuration
14 of 18
i.15
Siebel Workflow
` ` ` ` ` 34: Siebel Business Services 35: Building Siebel Workflow Processes 36: Testing and Deploying Workflow Processes 37: Executing Workflow Processes 38: Using Workflow Policies 39: Siebel Task UI 40: Task UI: Creating a Task 41: Transient Business Components and Branching 42: Siebel Business Rules 43: Creating Business Rules 44: Introducing Siebel Assignment Manager 45: Creating Assignment Rules 46: Tailoring Assignment Manager Behavior
15 of 18
i.16
Data Loads
` 49: Introducing Enterprise Integration Manager ` 50: Creating Data Maps ` 51: Running Enterprise Integration Manager
Application Deployment
` 52: Introducing Application Deployment Manager ` 53: Deploying Application Customizations
16 of 18
i.17
Summary
17 of 18
i.18
1.1
1
Module 1: Introducing Siebel Applications
1.2
Module Objectives
2 of 22
` You need to be familiar with Siebel applications to understand the context of this course
1.3
Example: The correct customer order status is seen by all relevant users Example: An address needs to be updated in only one place
3 of 22
Siebel Bookshelf
Comprehensive documentation on Siebel applications is available in Siebel Bookshelf, which is available in book form and online on the Siebel support Web site. Access to the online version requires a SupportWeb login. References in this course materiel refer to Siebel Bookshelf titles.
1.4
Examples:
` Horizontal applications
` Industry applications
4 of 22
References
Siebel Bookshelf includes titles on horizontal applications, such as Siebel Field Service Guide, as well as titles for industry applications, such as Siebel Finance Guide.
Siebel Sales Siebel Call Center Siebel Partner Portal Siebel Remote
1.5
Employee applications
` Are used by internal employees ` Examples include:
5 of 22
1.6
Siebel Sales may be used by a companys sales representatives and managers to manage accounts, sales opportunities, and contacts
Siebel Sales Opportunities screen
6 of 22
1.7
Siebel Call Center may be used by a companys telesales and service representatives
Siebel Call Center service screen
7 of 22
1.8
8 of 22
1.9
May be used by a companys partners to communicate, collaborate, and conduct business with a Web-based interface
9 of 22
1.10
` Configuration files are used to specify application parameters ` Use Siebel Tools to generate input files that control behavior
This course will teach you how to modify these files to meet the specific requirements of your business
10 of 22
Applications use the same executable, but use different configuration and input files
1.11
The Siebel UI is rendered in one of two modes: High Interactivity Mode Standard Interactivity Mode
11 of 22
1.12
12 of 22
Reference
` ` ` `
Drag-and-drop for setting column widths Explorer-like hierarchy views Menu bar and tool bars Saving records by moving off the current line
1.13
13 of 22
Reference
1.14
14 of 22
` ` ` ` `
1.15
15 of 22
1.16
Accounts
Are businesses external to your company Represent a current or potential client, a business partner, or a competitor Are associated with a team
16 of 22
1.17
Contacts
Are people with whom you do business Can be public or marked as personal Are associated with a team (public contacts) or a user (personal contacts)
17 of 22
1.18
Opportunities
Are potential revenue-generating events Have the following characteristics:
18 of 22
1.19
Service Requests
Are requests from customers or prospects for information or assistance with your products or services Have the following characteristics:
19 of 22
1.20
Assets
Are instances of purchased products Have the following characteristics:
20 of 22
1.21
Module Highlights
Siebel CRM applications allow you to manage all customer points of contact Types of Siebel CRM enterprise applications are:
` Employee applications: Siebel Call Center, Siebel Sales, and so on ` Customer applications: Siebel eSales, Siebel Partner Portal, and so on ` ` ` ` ` Accounts Contacts Opportunities Service requests Assets
21 of 22
1.22
2.1
2
Oracle Internal & Oracle Academy Use Only
2
Copyright 2007, Oracle. All rights reserved.
2.2
Module Objectives
2 of 24
` Understanding the UI enables you to effectively use and configure Siebel applications
2.3
2
Application URL
3 of 24
Reference
Siebel Fundamentals
2.4
Application URLs
Examples:
` http://AppServer0.MyCompany.com/callcenter_enu Web server name: Appserver0.MyCompany.com Application name: callcenter (Siebel Call Center) Language suffix: _enu (American English) ` http://public.MyCompany.com/esales_fra Web server name: public.MyCompany.com Application name: esales (Siebel eSales) Language suffix: _fra (French)
4 of 24
2.5
2
Oracle Internal & Oracle Academy Use Only
Personalize home page by clicking Edit Layout
2.6
6 of 24
2.7
2
Oracle Internal & Oracle Academy Use Only
7 of 24
2.8
Access context-sensitive tasks and reports associated with the current screen
Click the How Do I button to access iHelp, which provides guidance with tasks Click the Reports button to access reports for the screen you are working in
8 of 24
2.9
2
Oracle Internal & Oracle Academy Use Only
Site Map lists application areas Drilling down on an area shows detailed navigation
Copyright 2007, Oracle. All rights reserved. 9 of 24
2.10
Screens
Represent groups of related data for a functional business area, such as accounts, contacts, or opportunities
Screen tab
10 of 24
Screen Tabs
The screen tabs that are visible are typically a subset of those available from the Site Map.
2.11
Some screens have home pages that provide quick access to common end-user tasks and data
2
Oracle Internal & Oracle Academy Use Only
Guided help with common tasks
2.12
Navigating
Link bar
View tabs
Row indicator
Copyright 2007, Oracle. All rights reserved.
Selected record
12 of 24
2.13
Views
View
2
Oracle Internal & Oracle Academy Use Only
View tab
13 of 24
2.14
14 of 24
2.15
Hyperlinks
2
Oracle Internal & Oracle Academy Use Only
Clicking account hyperlink ...navigates you to the Account Detail Contacts view
15 of 24
2.16
List applet
Selected record
Form applet
16 of 24
2.17
2
Right-click for context menu
17 of 24
2.18
Enhances ability to work effectively with lists that contain many columns of data
18 of 24
2.19
2
Oracle Internal & Oracle Academy Use Only
Right-click and select Columns Displayed Click to add or remove columns from applet
Copyright 2007, Oracle. All rights reserved.
2.20
Click the Show More button in the top-right corner of a list applet to toggle display of more records
20 of 24
2.21
2
Oracle Internal & Oracle Academy Use Only
21 of 24
2.22
Module Highlights
A Siebel application consists of Web pages that display data A screen is a grouping of views in a major application functional area A view consists of one or more applets as well as links and tabs used to navigate within the view A list applet displays multiple records in table form A form applet displays a single record
22 of 24
2.23
Lab
23 of 24
2.24
3.1
3
Copyright 2007, Oracle. All rights reserved.
3.2
Module Objectives
2 of 28
3.3
Creating Data Modifying and Saving Data Using Picklists and Multi-Value Groups
Deleting Data
3 of 28
Sorting Data
3.4
Creating Data
Select Menu > New Record or click the New button to create a new record
4 of 28
3.5
` Marked with a red asterisk in a form applet ` Default value may be provided automatically
Required field indicated by red asterisk Required field populated with default value
5 of 28
3.6
Modify data
` Select field in the list or form and change it
Explicit save
6 of 28
3.7
Text Editor
Is an editable text area used to create, edit, or view large amounts of text Is accessed by clicking the Text Editor button in the top-right corner of a text field
7 of 28
3.8
Attachments
Are files created in other applications that can be associated to records in Siebel applications Can be related to records wherever the Attachments view is available within a screen
` Drag and drop a file into the Attachments list view, or ` Use the New File or New URL button
8 of 28
3.9
Using Picklists
Picklists allow user to select a field value from a list Two types of picklist:
` Static: User selects a value from a fixed drop-down list ` Dynamic: User selects a value from list of changing values
Dynamic picklist
A picklist may be constrained, only allowing users to enter values that appear in the drop-down list or pick applet, or unconstrained, where the user is free to add any value.
3.10
Primary
Copyright 2007, Oracle. All rights reserved. 10 of 28
3.11
Sorting Data
11 of 28
3.12
Select Menu > Advanced Sort to sort using values of up to three columns at once
12 of 28
3.13
Deleting Data
Confirm delete
13 of 28
3.14
Running and Executing a Query Using the Query Assistant Querying an MVG Field Refining a Query Saving a Query Executing Predefined and Saved Queries
14 of 28
3.15
Query for records inline within a form or list applet using one of the following methods:
` Query button on an applet ` Query from applet-level and application-level menus ` Run Query item in context menu (accessed by right-click)
15 of 28
3.16
Wildcards
Wildcards can be used to search for matching characters * is a substitute for zero or more characters in a string query
Ma* matches Madrid, but not San Mateo *Ma* matches Madrid and San Mateo
st?r matches star and stir, but not stair *st?r matches monster and rock star, but not tastier
16 of 28
Default behavior for queries in list and form applets is to insert a trailing *. Example: A query for Ma, without an asterisk, would match Madrid.
3.17
Query Operators
17 of 28
3.18
Examples:
` Find service requests with no description entered
Use IS NULL in Description field of service request In date field of query: >=1/1/2006 AND <= 1/7/2006
18 of 28
` ` ` `
3.19
Record Count
3.20
Provides a simplified way for users to execute queries from anywhere in a Siebel application
` Guides users through creating a query ` Users do not have to be familiar with query syntax or operators
Select any field from the current screen Two expressions combined with AND to form the query
20 of 28
3.21
MVG indicator
Search criterion
Copyright 2007, Oracle. All rights reserved. 21 of 28
Queries Using Drop- A related issue involves queries on a field whose values are populated using a drop-down list. Best practice is to enter the value to be queried using the Down Lists drop-down list, rather than typing this value.
An account can have multiple addresses Query matches all accounts with one or more addresses ending with the sub-string Street
3.22
Search results show records where at least one value in an MVG matches the search criteria
` Example:
Search results include accounts with string *Street in at least one address
These accounts all have addresses that match the query
3.23
Refining a Query
Original criterion
3.24
Saving a Query
24 of 28
3.25
Additional saved queries are created and saved by the user All saved and predefined queries appear in the Saved Queries drop-down list
Predefined and saved queries in alphabetical order Created and saved by user
25 of 28
3.26
Module Highlights
The Query Assistant helps end users form complex queries Commonly-executed queries may be saved
26 of 28
` Wildcards ` Logical and numerical operators ` Support for searching multi-value group (MVG) fields
3.27
Lab
27 of 28
3.28
4.1
4.2
Module Objectives
After completing this module you should be able to:
` Describe the purpose of a responsibility ` Create a new responsibility ` Modify an existing responsibility
2 of 22
` Access to views within the application is controlled by responsibilities ` Understanding responsibilities is required to properly configure users within the application
4.3
Business Challenge
Large-scale enterprise applications should not grant all users access to the entire application, for example:
` Most users should not have access to system administration views ` Most users should not have access to all data in the application, for example:
Employee salaries, sales contracts, and other sensitive data Data not related to the employees job function
One mechanism to restrict access to views A separate mechanism to restrict access to data
3 of 22
4.4
Siebel applications provide mechanisms known as Access Control to restrict views and data seen by users
` Responsibilities control access to views
4 of 22
Positions
4.5
Users should see only those views required to perform their job functions
` Improves efficiency for the user ` Improves business security by preventing unauthorized access to sensitive or administrative views
The System Administrator has many more administrative views than a Call Center Agent. Notice that even the set of screen tabs is different
5 of 22
System Administrator
4.6
Responsibilities
Are assigned to users according to their job functions Users may have more than one job function, hence may have more than one responsibility
Users
6 of 22
Reference
4.7
Properties of Responsibilities
Views
Users
7 of 22
4.8
Seed Responsibilities
8 of 22
4.9
If the existing seed responsibilities are not sufficient for your business requirements, create new responsibilities as required
` New responsibilities may be edited or deleted
9 of 22
4.10
CCHENG has many responsibilities, and is able to see all of the views in all of them
10 of 22
4.11
Primary Responsibilities
Administrator determines the initial layout User can edit personal preferences to create a different layout
CCHENGs primary responsibility is Universal Agent (B2B+B2C), so she initially sees the tab layout for that responsibility
Copyright 2007, Oracle. All rights reserved. 11 of 22
4.12
Creating a Responsibility
12 of 22
4.13
13 of 22
4.14
Seed responsibilities frequently contain hundreds of views Inefficient for inexperienced users May include inappropriate administrative views
Users see only those views that your company has decided they require to perform their job functions
` Requires determining exactly which views a user may require and adding those views to the responsibility
14 of 22
4.15
2. Pick applet supports querying for and adding multiple views at once
15 of 22
4.16
2. Read-Only Views
After editing the set of views for the responsibility, mark views as read-only for that responsibility if desired
` Allows different responsibilities to have different levels of access to the same view
16 of 22
4.17
Clear the responsibility cache to ensure that users will see their updated responsibilities the next time they log in
Click Clear Cache to clear the responsibility cache after creating or modifying responsibilities
17 of 22
4.18
Log in as that user and verify the available views from the Site Map
` Users only see references to views that are contained in their responsibilities
Examine the Site Map to confirm that only views associated with the responsibility are shown
18 of 22
4.19
Additional Features
Use responsibilities to restrict access to business services, business processes, and tasks
` This prevents unauthorized users from invoking them
19 of 22
4.20
Module Highlights
Responsibilities
visible to a user Responsibilities have a M:M relationship with views and users Create responsibilities by copying and editing seed responsibilities or by creating new responsibilities Assign responsibilities to a user and clear the responsibility cache before testing a responsibility
20 of 22
4.21
Lab
21 of 22
4.22
5.1
5.2
Module Objectives
After completing this module you should be able to:
` Describe how data access is controlled by users, positions, and organizations ` Implement the company structure using divisions, organizations, positions, users, and employees
2 of 22
` Access to some data within the application is controlled by users, positions, and organizations ` Implementing your company's structure enables role- and organization-specific functionality in Siebel CRM
5.3
Business Challenge
Large-scale enterprise applications should not grant all users access to all of the data within the application
` For example, sales representatives should see their own sales quota attainment, but no one elses ` On the other hand, sales managers should see all of their reports quota attainments
3 of 22
System administrators require a mechanism to restrict access to data within the application
5.4
Siebel applications allow different users to see different data based on their user ID, position, or organization within the company
` Data access control is independent of responsibilities and views ` Example: Ted Arnold and Casey Cheng can access the same view based on their responsibilities, but see different data in the view
4 of 22
Reference
5.5
Users
Require unique user IDs Require at least one responsibility to see views in the application
Note that multiple users can have the same name as long as their user ID is different
Users must have at least one responsibility or they will see no views
5 of 22
Reference
Developing and Deploying Siebel Business Applications: Required Application Administration Tasks
5.6
Employees
Employees are users who have positions that belong to organizations Positions Organizations
Users
Employees
Responsibilities
6 of 22
5.7
Positions
7 of 22
5.8
Changing Positions
If an employee has more than one position, he or she can change position during a session
` From the application-level Tools menu, select User Preferences > Change Position ` Becomes the Active Position for that session
Changing the default login (primary) position for an employee is an administrator function
8 of 22
5.9
Position Hierarchy
The VP of Sales position can see data for the Eastern Sales Manager and Eastern Sales Rep positions
9 of 22
5.10
10 of 22
5.11
All divisions belonging to Default Organization share the same data access
MegaCorp HQ
NA Sales
EMEA Sales
Partner Sales
Customer Training
Internal Training
Financial Services
Public Sector
European Partners
ASIA/PAC Partners
11 of 22
MegaCorp Sales
MegaCorp Training
MegaCorp Consulting
5.12
The Eastern Sales Manager position is assigned to the MegaCorp East Sales division This position is associated with the MegaCorp East Sales division, which belongs to the Default Organization
Copyright 2007, Oracle. All rights reserved. 12 of 22
5.13
The NA Sales division (part of Default Organization) might have users and positions that look something like this:
MegaCorp NA Sales VP of Sales Chris Miller MegaCorp West Sales Western Sales Manager Sean Murphy
LEGEND
Division Organization Position
5.14
1. Create Divisions and Division Hierarchy 2. Label Some Divisions as Organizations 3. Create Positions 4. Create Employees 5. Create Users
14 of 22
5.15
15 of 22
5.16
16 of 22
Default Organization Default Organization is one of the seed organizations in the Siebel application. Because much of the seed data is assigned to Default Organization, it should not be modified.
5.17
3. Create Positions
Siebel applications provide some seed positions such as Siebel Administrator Recommended practice: Do not delete positions, as they are related to data
The Siebel application has four seed positions, including Siebel Administrator
17 of 22
5.18
4. Create Employees
Required fields are First Name, Last Name, User ID, Position, and Organization By default, new employee records are in the same organization as the person creating the record
18 of 22
` Used for access control of visibility of employee records ` Can be changed to reflect appropriate access control
5.19
5. Create Users
19 of 22
5.20
Module Highlights
Users
are individuals who log in to the application are special users representing employees of the
` Require responsibilities
Employees
company
` Hold at least one position ` Belong to at least one organization
Positions
20 of 22
are similar to job titles, and are used to determine what data an employee can see Divisions represent divisions within the company Organizations are specialized divisions used to limit data visibility
5.21
Lab
21 of 22
5.22
6.1
6.2
Module Objectives
After completing this module you should be able to:
` Describe the difference between customer and master data in Siebel applications ` Describe the different Access Control mechanisms used to restrict access to data in Siebel applications ` Identify the different view types used for different types of users
` To effectively use and administer Siebel applications, you need to understand how access to data is controlled ` Understanding view types is essential to properly assigning them to responsibilities
2 of 26
6.3
Business Challenge
Users often perform the same job functions but on different sets of data
` For example, sales representatives need access to the records for their own accounts, but not each others
3 of 26
6.4
Siebel applications provide mechanisms to restrict access to certain records based on:
` The employee ` The employee's position ` The positions organization
4 of 26
Reference
6.5
Data displayed within a view is based on the Access Control mechanism for the view
` Example: Ted Arnold and Casey Cheng can access the same view based on their responsibilities, but see different data in the view
Casey Cheng (CCHENG) sees only her own service requests
Ted Arnold (TARNOLD) can access the same view but sees only his own service requests there
Copyright 2007, Oracle. All rights reserved. 5 of 26
6.6
Data Classification
Data in a Siebel Enterprise is classified as either customer data or master data Customer data:
Master data:
` ` ` ` Includes static, referential data such as products and literature Is created and maintained by administrators Can be grouped into categories and catalogs Has access controlled according to catalog and category
6 of 26
` Consists of dynamic, transactional data such as service requests and opportunities ` Is typically created and managed by users of the application ` Has access controlled at the record level according to employee, position, organization, or a combination thereof
6.7
Position
Records
Employee Record visibility is restricted by a combination of employee, position, and organization, depending on the underlying BC
Copyright 2007, Oracle. All rights reserved. 7 of 26
Employees are assigned to positions. Each position is assigned to one and only one organization
Organization
6.8
For customer data that is access controlled, visibility is determined using the following drop-down visibility filters:
` ` ` ` ` My views My Teams views All views All Across My Organizations views All Across Organizations views
The visibility filter dropdown list shows the views available according to the users responsibilities
Copyright 2007, Oracle. All rights reserved. 8 of 26
Assigning the appropriate views to the appropriate responsibilities is critical for data access control
6.9
My Views
My views show records where you or your position is directly associated with the record
` For example, My Accounts or My Contacts
For some records such as Accounts or Opportunities there is a team of positions associated with each record
` The record appears in My View if your position is on the team
A sales agent only sees accounts for which the sales agents position is on the account team
9 of 26
Primaries
In order for a team-controlled record to be visible in the My views, a primary team member must be specified.
6.10
My Personal Views
Are used to display records directly owned by you or your position Are special-case views that are rarely used (for example, with Contacts)
A sales agent only sees contacts for which he or she is the direct owner
10 of 26
6.11
My Teams Views
Are an additional view for managers that allow them to see records assigned to their direct and indirect reports
` For records with teams of positions, only records where the primary is the direct or indirect report are displayed ` Manager does not have to be assigned to the record
Are typically assigned only to manager responsibilities Are implemented using the position hierarchy
Manager sees only the accounts for which the managers direct or indirect reports are the primary position on the account
11 of 26
6.12
All Views
A service agent sees all the service requests assigned to his or her organization, regardless of the owner
12 of 26
Primaries
In order for a team-controlled record to be visible in the All views, a primary team member must be specified.
6.13
A records Organization is usually shown under the More Info tab in the detail view
13 of 26
6.14
Are used to display all data from an organization and its child organizations
` Based on the relationships specified by the organizational hierarchy
Are typically restricted to users who need to access records at the enterprise level
14 of 26
6.15
` Top-level executives
A vice president of sales can see all service requests that have been assigned
15 of 26
6.16
Administration Views
Are used to display all database records, even those without a valid owner
` For example, records that have just been imported but not yet assigned or records where the primary position has been deleted
Administration views are separate from the visibility filter drop-down list
16 of 26
Are accessed from the Administration views for each major entity Should be restricted to a few users in the enterprise as they display all records in the database
6.17
All View All Across My Organizations View All Across Organizations View Administration Views
17 of 26
6.18
My Views:
` Individual contributors should always have access
Allows them to see records directly associated with them or their position Require access if they might be on a team associated with a record Do not require access if they will never be associated with a record
` Individual contributors should not have access unless they have people who report to them ` Managers should have access
18 of 26
My Teams Views:
6.19
All Views:
` Individual contributors may or may not need access
Call center agents should be able to see all of a companys service requests, hence should have an All Service Requests view Sales representatives may or may not need to see all opportunities within their organization, depending on the business model
` All views are typically restricted to users who need to access records at the organization level
Executives, administrators Service agents who need to access all service requests
Exception: Call center agents may need to see all service requests filed by a customer worldwide, hence may need access to these views
19 of 26
6.20
20 of 26
6.21
21 of 26
6.22
Examples
An employees position may be assigned to an account that is not assigned to that employees organization
` Employee sees the account in the My View ` Employee does not see the account in the All View
Contacts have multiple access mechanisms: public (teambased), private (position- or employee-based), and manager
22 of 26
` Employee sees public contacts in the My View ` Employee sees private contacts in the My Personal View ` Manager sees contacts for self and subordinates in the My Teams View
6.23
Standard Siebel business entities can be assigned to single or multiple employees, positions, or organizations
Access Method
Single-Valued Access Service requests Expense reports Contacts Forecasts Quotes Assets Consumers Forecasts
Multi-Valued Access Assets Activities Accounts Contacts Opportunities Accounts Opportunities Quotes Team Access Control
Employees
Positions
Organizations
23 of 26
6.24
Module Highlights
Access
to records may be restricted by employee, position, organization, or a combination thereof Which records are shown depends on the view selected from the visibility filter drop-down list Multiple Access Control mechanisms may be in place for a single record
24 of 26
6.25
Lab
25 of 26
6.26
7.1
7
Copyright 2007, Oracle. All rights reserved.
7.2
Module Objectives
2 of 26
7.3
Business Challenge
Example: Companies want different sales divisions to have access to different product lists
3 of 26
7.4
Business Solution
4 of 26
7.5
Master Data
5 of 26
7.6
Catalogs
Subcategory A
Product 3 Product 6
Subcategory A
Product 2 Literature Item 2
Subcategory B
Literature Item 1
6 of 26
Reference
Category A
Category B
Category C
7.7
Catalogs Continued
` Private catalogs have their visibility limited to privileged groups known as access groups
Catalog A (Public)
Catalog B (Private)
A public catalog is visible to all users; individual categories within that catalog may still be marked private
Copyright 2007, Oracle. All rights reserved.
7 of 26
For example, a credit card documentation catalog might be public to allow users to see the service agreements and benefits However, a customer service documentation catalog might be private to restrict visibility to those with service agreements
7.8
Catalog Types
8 of 26
Infocenter Buying Partner eService FAQ Customer Multiselect Checkbox Training Partner Program Training Curriculum
7.9
Categories
9 of 26
` If a category is declared private, all of its subcategories are also private ` Private categories also have their visibility limited to specified access groups
7.10
Categories: Example
Even though Category B and Category C both contain subcategories named Subcategory A, these two subcategories are distinct Since Category B is private, its Subcategory A is also private
Catalog A
Category A
Product 1 Product 2 Product 3 Literature Item 1 Product 4 Product 5
Subcategory A
Product 3 Product 6
Subcategory A
Product 2 Literature Item 2
Subcategory B
Literature Item 1
10 of 26
Category B
Category C
7.11
Access Groups
Are collections of positions, organizations, user lists, and households used to access private catalogs and categories Cannot contain individuals such as employees and users
` To add an individual, create a user list with that individual as the only member
Create User Lists in the Administration Group > User Lists screen and add them to access groups
11 of 26
7.12
12 of 26
7.13
Access Control
Access groups must be assigned to every catalog or category to which they need access
` Access is not inherited along the category hierarchy Catalog A
Category A
Product 1 Product 2 Product 3 Literature Item 1 Assign Access Group X to Category B Product 4 Product 5
Subcategory A
Product 3 Product 6
Subcategory A
Product 2 Literature Item 2 Also assign Access Group X to subcategory A if access is required
Subcategory B
Literature Item 1
13 of 26
Category B
Category C
7.14
Category B
Category C
Product 3 Product 6
Subcategory A
Product 2 Literature Item 2
Subcategory B
Literature Item 1
Access Group Y is assigned to Category B, or Access Group Y is the child of an access group assigned to Category B
14 of 26
Subcategory A
7.15
Catalog A
Category A
Product 1 Product 2 Product 3 Literature Item 1
Category B
Product 4 Product 5
Category C Subcategory A
Product 3 Product 6
Subcategory A
Product 2 Literature Item 2
Subcategory B
Literature Item 1
15 of 26
7.16
Building a Catalog
1. Create the Catalog 2. Add Categories to the Catalog 3. Associate Master Data with Categories 4. Declare Catalogs or Categories Private 5. Create Access Groups 6. Assign Access Groups
16 of 26
7.17
By default, the catalog is active; mark it as inactive to make it unavailable, for example, during updates
Copyright 2007, Oracle. All rights reserved.
7.18
18 of 26
7.19
Select the appropriate tab in the Categories view to add master data to a category
19 of 26
7.20
Set the Private flag at the catalog or category level to restrict data access
` Subcategories are automatically marked as private
Marking the Gold category as private automatically causes the Premium and Regular Customers categories to be marked as Private
20 of 26
7.21
Specify the parent access group when creating the child access group; this requires creating the parent first
Copyright 2007, Oracle. All rights reserved. 21 of 26
7.22
22 of 26
7.23
Add access groups using the Access Group tab under Categories or Catalogs
Select an Access Group and click Cascade to assign that access group to all child categories
23 of 26
7.24
Master Data
Determined by Access Groups Catalogs & Categories
Examples: Products Literature Competitors etc.
Customer Data Is dynamic and transactional (can be updated) Is created and managed by users of the application Access is controlled at the record level
Copyright 2007, Oracle. All rights reserved.
Master Data Is static, read-only material to the end user Is created and maintained by company administrators Access is controlled at the Catalog and Category level
24 of 26
Personal Ownership
Positions
Organizations
7.25
Module Highlights
Master data is static, referential data such as product catalogs or product documentation Catalogs are containers for categories
25 of 26
` Arranged in a hierarchy within the catalog ` Mark categories as private to restrict access to specific access groups
7.26
Lab
26 of 26
8.1
8.2
Module Objectives
After completing this module you should be able to:
` Identify the pieces that make up the Siebel Web architecture ` Identify the role of each piece of the architecture ` Describe how Siebel requests are processed
2 of 20
` Provides a foundation for understanding the relationship between the Siebel software components
8.3
Database Server
Copyright 2007, Oracle. All rights reserved.
Reference
8.4
` Web browsers, Wireless Markup Language (WML) devices such as mobile phones, and personal digital assistants (PDAs)
Siebel Web Client
Database Server
4 of 20
Web Server
8.5
Web Server
Identifies and passes Siebel requests from Siebel Web Clients to the Siebel Servers Passes completed HTML application pages back to Siebel Web Clients Provides load balancing for multi-server installations
Database Server
5 of 20
8.6
` For example, connect strings to query servers for server/component availability ` Information stored in siebns.dat file on Gateway Name Server
Database Server
6 of 20
Web Server
8.7
Siebel Enterprise
Is a logical collection of Siebel Servers that support users and access a single database server and the Siebel file system Logically groups Siebel Servers for common administration via Siebel Server Manager Supports sharing of common configuration information
Database Server
7 of 20
In Siebel 8, the file system may be partitioned over multiple directories and machines.
Web Server
8.8
Siebel Servers
Importing and exporting data Configuring the database to monitor for user-defined conditions Processing of client requests
Database Server
Copyright 2007, Oracle. All rights reserved.
Interactive tasks wait for input from the user, such as the Siebel Web Client running Siebel Call Center. Background tasks always show as running and periodically perform system functions, such as invoking workflows or performing assignments. Batch jobs run once, either when scheduled or when invoked by an administrator, for example, to perform data imports or exports.
8.9
The application object manager (OM) is a server component that provides the environment in which Siebel user sessions run
` Users interact with an application-specific OM; for example, the Siebel Call Center Object Manager (SCCObjMgr) ` Runs in interactive mode
The Workflow Monitor Agent periodically checks the system to determine whether workflows or assignments need to be run Enterprise Integration Manager performs data imports and exports
` Runs in batch mode
9 of 20
8.10
Is one or more shared directories that store files used by Siebel applications
` Files are compressed in a proprietary format to save space and provide security ` Examples: Product literature, sales tools, presentations, user profiles
Database Server
10 of 20
Web Server
8.11
Database Server
Database Server
11 of 20
Supported RDBMSes See the Siebel System Requirements and Supported Platforms document for a list of supported RDBMSs.
8.12
Siebel Web Client (browser) sends the URL to the Web server
` URL specifies:
Either HTTP or HTTPS protocol Web server machine name Application and language
http://websrvr1/callcenter_enu
Web Server Virtual Directory
[/callcenter_enu]
<websrvr1>
8.13
Virtual Directory
[/callcenter_enu]
SWSE <websrvr1>
Eapps.cfg
13 of 20
Web Server
8.14
Eapps.cfg specifies the location of the server, server connection broker port, Enterprise, and Object Manager information for initial connection
` For multi-server installations provides load balancing information ` Also provides generic login information for initial anonymous access to database
5. eapps.cfg specifies connect string values
Enterprise <Siebel> Web Server <websrvr> Siebel Server <EMEJHG20> Object Manager SCCObjMgr_enu
14 of 20
8.15
Object Manager reads an application-specific configuration file and component parameters, which specify the application, the location of the Siebel Repository File (SRF), and so forth
` Siebel Repository File is a separate binary file that defines one or more Siebel applications
Enterprise <Siebel>
Siebel Gateway Name Server 6. Object Manager reads CFG file on server and component parameters from Gateway Name Server
CFG
SRF
15 of 20
` Most configuration information is specified by component parameters rather than in the configuration file
8.16
` Siebel Web Templates (SWT) are a set of template files that specify how to render the UI in the users browser
SWE
SRF
SWT
Copyright 2007, Oracle. All rights reserved.
16 of 20
Enterprise <Siebel>
8.17
The Object Manager sends the completed Web page to the Web server, which passes it back to the Siebel Web Client
Enterprise <Siebel> Web Server HTML login page <websrvr1> Siebel Server <SS1> Object Manager SCCObjMgr_enu
17 of 20
8.18
Physical Architecture
The Siebel Gateway Name Server, Siebel Server, database server, and File System can be implemented on one machine or spread across multiple machines
` SWSE can be on that machine for development or test environments
The Siebel Server(s) should have a high-speed LAN connection to the database server
Siebel Gateway Name Server Enterprise Server Siebel Server
Firewall
Recommended Practice
For development or test environments (such as we use in this classroom), it is possible to bundle the entire application on a single machine. For production environments, the recommended practice is to have the Database Server, SWSE, and Siebel Enterprise on separate machines.
High-speed LAN
8.19
Module Highlights
A
19 of 20
Siebel Web Client displays the Siebel application in a standard Web browser A Siebel Web Server is a third-party Web server with the Siebel Web Server Extension (SWSE) installed and the Siebel application virtual directories created A Siebel Gateway Name Server stores parameters and connection information for Siebel Servers A Siebel Enterprise is a logical collection of Siebel Servers A Siebel Server is a set of processes that manage processing for all Siebel clients
8.20
Lab
20 of 20
9.1
9.2
Module Objectives
2 of 22
9.3
The Siebel Web architecture consists of a Web Client, Web server, Gateway Name Server, and Enterprise containing one or more Siebel Servers
` Each Siebel Server includes its own set of components: programs that run on the server to provide application functionality
Database Server
3 of 22
Web Server
9.4
View the Siebel Enterprise hierarchy using the Enterprise Explorer View of the Server Administration Configuration screen
4 of 22
9.5
Component Groups
The detail pane provides additional information such as the number of components in each group
5 of 22
Reference
9.6
There are three steps to enable a component group on a server: 1. Enable the Component Group for the Enterprise 2. Assign the Component Group to the Server 3. Enable the Component Group on the Server
6 of 22
9.7
Click the Enable or Disable buttons in the detail pane of the Enterprise Explorer to enable or disable component groups
` By default, most component groups are enabled for the enterprise ` Components within disabled component groups are not available on any of the servers in the enterprise
Best Practice: Disable component groups which will never be used on any server
Click the appropriate button to Enable or Disable a component group for the enterprise
7 of 22
` Enabled component groups take a small amount of resources on the Siebel Gateway Name Server
9.8
In Administration Server Configuration > Enterprises, select the component group and server and click Assign
` Stores component group information on the Siebel Gateway Name Server ` Allocates memory for the component group on the Siebel Gateway Name Server
8 of 22
9.9
Once you have assigned a component group to a server, enable or disable it on the server
` By default, assigning a component group automatically enables it
Best practice: Assign and disable component groups that you are not using now but may use in the future on that server Select the desired server and click the Enable or Disable button
Click Enable to enable the selected component group on the selected server
9 of 22
` Enabling allocates memory on the server for that component group ` The component group is now available to the server
9.10
Synchronize Components
Synchronize components after enabling or disabling a component group that includes batch components
` Registers batch components with the Siebel Gateway Name Server ` Makes these components available to the Siebel Enterprise
9.11
Click Manual Start under Administration Server Configuration > Servers to set the component to manual startup
11 of 22
9.12
Executing Components
Batch component executions are also called jobs Usually initiated by user action, event, or workflow For example, data loads or database extracts Periodically wake up and execute For example, transaction processor for tracking changes to the database For example, application object managers
12 of 22
9.13
Component Parameters
Are input arguments for tasks Are set at one of five levels:
Enterprise parameters
Not shown: Task parameters are set when starting tasks, hence do not appear in the Enterprise Explorer
13 of 22
Examples
The language code, ODBC data source name, and communication parameters are enterprise parameters. The location of the server log file is a server parameter. The sleep time for a background component that runs periodically is a component definition parameter. Change the server component parameter to change that sleep time for one particular server. The user ID of a mobile user to extract is a task parameter.
` Enterprise parameters are set throughout the enterprise ` Server parameters are set at the individual server level ` Component Definition parameters are specific to a component, but enterprisewide ` Server Component parameters allow a server to override a component definition ` Task parameters are for an individual component when it is run
9.14
14 of 22
9.15
Component Definitions
Are sets of parameters associated with a component to determine its behavior when it is run
` Set enterprise-wide, so that the component performs the same no matter which server it is run on
Reconfigure definitions to modify component behavior Duplicate definitions to create new component definitions
Modify parameters or duplicate a definition to create a new component with different set of parameters
Copyright 2007, Oracle. All rights reserved. 15 of 22
` Creates a duplicate component with a new name and a different set of input parameters
9.16
Parameter Inheritance
For example, parameters set at the enterprise level are inherited for the levels below it
For example, parameters set when starting a task override those set at higher levels
Highest level
Enterprise Enterprise Server Server ComponentDefinition Definition Component ServerComponent Component Server
Lowest level
Copyright 2007, Oracle. All rights reserved.
Task Task
16 of 22
9.17
Removing Parameters
9.18
Profiles
For example, the set of parameters used to send email alerts to administrators is used by multiple components
Modify the profile parameters to change the behavior of all components using this profile
Copyright 2007, Oracle. All rights reserved. 18 of 22
Parameters set in Profiles override those set at the Enterprise, Server, or Server Component level.
9.19
Job Templates
Job templates are predefined sets of parameters for use with batch components
` Recall: When a batch component is executed it is called a job
Both assignment jobs run the same component; only the set of input parameters is different
For example, a job template containing parameters for a weekly batch assignment job
19 of 22
9.20
Create job templates by specifying the batch component to be used and entering the job-specific parameters
` Located under Administration Server Configuration > Job Templates
1. Click New to create a new template 2. Select the component
3. Click New to create a new parameter; a select applet lists parameters for that component
20 of 22
9.21
Module Highlights
Component Groups are logical groupings of server components Enable component groups on the enterprise, assign them to a server, and enable them on that server Set individual components to automatic or manual start up Set component parameters at one of five levels: Enterprise, Server, Component Definition, Server Component, or Task
21 of 22
` Parameter values are inherited from higher levels ` Use Delete Parameter Override to restore inheritance
9.22
Lab
22 of 22
Server Management
10.1
10
Copyright 2007, Oracle. All rights reserved.
10
Server Management
10.2
Module Objectives
2 of 26
Managing components Backing up and restoring the enterprise Setting logging options Submitting jobs
Server Management
10.3
Server Administration
Once components have been enabled and their parameters have been defined, perform common administration tasks:
` Monitor the system ` Change component parameters or component states, preferably without shutting down the server ` Back up the system after making these changes ` Submit batch jobs for processing
3 of 26
Reference
Siebel System Administration Guide: Using the Siebel Server Manager Command-Line Interface
10
Server Management
10.4
Server Groups
change parameter NotifyHandler=newHandler ` Changes the parameter for all servers in the server group
Adding a server to a server group allows you to manipulate all servers in that group simultaneously from the command line interface
Copyright 2007, Oracle. All rights reserved. 4 of 26
Server Management
10.5
Administration Server Management > Enterprises shows the states of servers and their components within the enterprise
5 of 26
10
Server Management
10.6
Monitor Sessions
Use the Session Monitor to monitor users logged in and their current activity
` Sessions are tasks running the associated Object Manager
MWEST is currently logged in to Call Center (SCCObjMgr_enu) and is looking at the Account List Applet
6 of 26
Server Management
10.7
7 of 26
10
Server Management
10.8
Component States
8 of 26
Running: The component is available and at least one component task is currently running Online: The component is available but no component tasks are currently running Unavailable: The component is unavailable and no component tasks are running Paused: The component is online but is not accepting new tasks Shutting Down: The server is shutting down; currently-running tasks will execute to completion, but no new tasks can be run Shutdown: The server component is shut down
Server Management
10.9
The parameter change is effective immediately. The parameter change is effective for all new tasks running that component; currently-running tasks execute with the old parameter. The parameter change does not take effect until the component is stopped and restarted. The parameter change does not take effect until the Siebel Server is restarted. The component must be reconfigured to change the parameter. This is common for parameters that work with or are dependent on other parameters.
10
Server Management
10.10
For example, when changing both a user name and a password parameter, changing one at a time would lead to authentication issues
` Tasks started before and during reconfiguration continue to run with the old parameters ` Tasks started after the reconfiguration is committed run with the new parameters
10 of 26
During reconfiguration:
Server Management
10.11
Commit Reconfiguration:
Cancel Reconfiguration:
` Cancels the current reconfiguration; component definition remains unaltered
11 of 26
10
` Commits the updated Component Definition ` All tasks started after the commit run with the new parameters
Server Management
10.12
Recommended practice: Back up the enterprise after making any configuration changes such as modifying component parameters
` Creates a backup copy of siebns.dat
12 of 26
` May also be used for backup or migration purposes ` Do not try to manually duplicate this file
Server Management
10.13
10
Server Management
10.14
` Set the log level for each Siebel Server event of interest
Select the Siebel Server for which you want to log events
Select the event type you want to log and enter a logging level from 0 to 5 in the Log Level field
Copyright 2007, Oracle. All rights reserved. 14 of 26
Reference
Server Management
10.15
Log Levels
15 of 26
10
Higher log levels generate larger log files and may affect system performance, hence the recommended practice is to only use these levels when troubleshooting
Server Management
10.16
Use the Component Event Configuration view to set the log level of component event types
Select the event type you want to log and enter a logging level in the Log Level field
16 of 26
Server Management
10.17
Examine Logs
17 of 26
10
Server Management
10.18
18 of 26
Whenever the Siebel Server service is restarted, the log files are moved from the log directory to the logarchive directory.
Server Management
10.19
System Alerts
System alerts collect information about the failure of tasks or unavailability of components, and send email alerts to administrators Examples:
2. Define new system alerts and alert parameters to notify additional individuals or to handle different types of alerts
Copyright 2007, Oracle. All rights reserved. 19 of 26
Required Component The AdminNotify component must be enabled in order for system alerts to be processed. This component is part of the Auxiliary System Management component group and is enabled by default.
10
Create additional alerts to notify additional individuals or to handle different types of alerts
Server Management
10.20
Notification handler is a parameter for every component that specifies which system alert to use
Copyright 2007, Oracle. All rights reserved. 20 of 26
Server Management
10.21
Both job templates and batch components are listed in the pick applet
21 of 26
10
Server Management
10.22
22 of 26
Jobs can be set to repeat periodically or to have a preferred server on which to run
Server Management
10.23
Cancel, pause (hold), or resume jobs from the Administration Server Management > Jobs screen
10
Monitor the progress of the job from the Administration Server Management > Tasks screen
Server Management
10.24
Module Highlights
Monitor the state of the enterprise, servers, components, tasks, jobs, and sessions from the Administration - Server Management screen Change component parameters
24 of 26
Back up the enterprise after changing configurations Set logging options and system alerts to monitor the system Submit and monitor batch jobs
Server Management
10.25
Lab
25 of 26
10
Server Management
10.26
11.1
11
Copyright 2007, Oracle. All rights reserved.
11
Siebel 8.0 Essentials
11.2
Module Objectives
After completing this module you should be able to:
` Identify the various Siebel clients ` Describe files associated with each client, including configuration files and local databases ` Describe how each client accesses Siebel servers and data
2 of 18
` Not all users will be able to use the Siebel Web Client at all times, hence understanding other client types is essential
11.3
Business Challenge
Not all Siebel application users have access to the Web at all times
` Some users spend a great deal of time traveling
3 of 18
11
Siebel 8.0 Essentials
Other users may want to access the application using their mobile phones or Personal Digital Assistants (PDAs) Developers may need to access Siebel data when a Siebel Server or even the entire enterprise is down
11.4
Business Solution
Oracle provides five client types for use with the Siebel application:
` ` ` ` ` Siebel Web Client Siebel Wireless Web Client Siebel Mobile Web Client Siebel Handheld Client Siebel Developer Web Client
4 of 18
References
Siebel System Administration Guide Siebel Wireless Administration Guide Siebel Remote and Replication Manager Administration Guide Siebel Sales Handheld Guide
11.5
11
Siebel 8.0 Essentials
11.6
Web Server
SWSE
CFG
SRF
6 of 18
Supported Browsers The Standard Interactivity (SI) client supports most Web browsers. Because the High Interactivity client requires ActiveX controls, it requires Internet Explorer. For details see the System Requirements and Supported Platforms Guide.
Accesses Siebel Servers through the Web Server running the Siebel Web Server Extension (SWSE) Accesses Siebel data through an Application Object Manager (OM)
11.7
11
Siebel 8.0 Essentials
11.8
Allows users to read from, write to, and search the Siebel database through a wireless connection between a mobile device and the Siebel Web Server
` Requires a wireless gateway to translate HTTP data generated by Siebel Wireless to Wireless Application Protocol (WAP)
Uses the same logical data model as the Siebel Web Client
` Same business objects, business components, and so forth ` Determined by the Wireless Object Manager
Wireless Gateway
Web Server
SWSE
CFG
SRF
8 of 18
For a list of supported Wireless Markup Languages, see the Siebel Wireless Administration Guide.
11.9
11
Siebel 8.0 Essentials
11.10
Is designed to provide full Siebel application functionality without requiring a network connection
` A local executable providing full application functionality must be installed on the client ` This local executable accesses local .cfg and .srf files, and stores its data in a local database and Siebel File System
Mobile Client
CFG
SRF
Database Server
Directly connects to a designated Siebel Server for synchronization of data and files
11.11
Many users mistake the Mobile Web Client for the Web Client
` Application functionality is almost the same, so users forget which is which
11 of 18
11
Siebel 8.0 Essentials
11.12
12 of 18
Screens, views, and applets customized for Siebel Handheld Applications customized for Siebel Handheld
11.13
11
Siebel 8.0 Essentials
11.14
Is used by developers and system administrators for direct access to the Siebel database
` Siebel servers do not have to be running ` Does not require a Web server
However, can access any Siebel database and file system, including a local one or the enterprises
Enterprise Siebel Server
Server Components
CFG
SRF
Database Server
11.15
The Siebel application supports a mixture of clients, depending on your users business requirements
Siebel Wireless Web Client Wireless Gateway Web Server
SWSE
Siebel Server
Server Components Object Manager Component Parameters
Mobile/Handheld Client
Object Manager
CFG CFG SRF Database Server Siebel File System CFG SRF SRF
15 of 18
11
Siebel 8.0 Essentials
Enterprise
11.16
Module Highlights
The
16 of 18
Siebel Web Client accesses the Siebel Enterprise and Siebel Servers through a Web server running SWSE The Siebel Wireless Web Client connects to a WAP-enabled Web server, and is otherwise similar to the Siebel Web Client The Siebel Mobile Web Client is a local executable that connects to a local database and provides full Siebel application functionality The Siebel Handheld Client is similar to the Siebel Mobile Web client, but runs on handheld devices The Siebel Developer Web Client is used by developers and system administrators for direct access to the Siebel database and for development and administrative changes
11.17
In-Class Discussion
17 of 18
11
Siebel 8.0 Essentials
11.18
Lab
18 of 18
12.1
12
Siebel 8.0 Essentials
12
12.2
Module Objectives
` You must understand the security mechanisms in order to be able to implement them
2 of 18
12.3
12
3 of 18
12.4
Authentication
Is the process of validating a users identity Verifies the identity of users before they gain access to a Siebel application Typically consists of collecting a set of user credentials such as user ID and password and comparing them to pre-stored values
4 of 18
12.5
12
Siebel applications support authentication by either the Siebel servers or the Web server:
` Siebel security adapters are software programs that allow Siebel servers to authenticate users ` Single Sign On (SSO) allows the Web server to authenticate users
5 of 18
Trust Token
Similar to an authentication certificate, a trust token is a software object confirming the identity of the sender. The trust token may contain additional information such as user identity or database login to be passed to the server.
Siebel Web Server Extension performs authentication check Security adapter is still involved in verifying the trust token passed to it by the Web server
12.6
Browser
SWSE Credentials
3. Security adapter authenticates credentials using authentication service Security Adapter Authentication Service
6 of 18
Authentication Service
An authentication service is a store of credentials (typically user IDs and passwords) plus a mechanism to compare user provided credentials against the stored credentials.
Web Server
2. Credentials are passed through Web server to AOM. Web server does not check the credentials
12.7
Authentication Services
12
Security Adapter
Authentication Service
7 of 18
Creating custom security adapters is beyond the scope of this course Refer to the Siebel Security Adapter SDK in Bookshelf
12.8
Database Authentication
Users are authenticated against the underlying database The database Security Adapter is the default for Siebel applications
Browser
Security Adapter
3. Connect to database using user ID and (possibly hashed) password. RDBMS performs authentication
Siebel Database
Copyright 2007, Oracle. All rights reserved. 8 of 18
Password Hashing
A hash function is an operation that generates a unique output value for each input, typically of a fixed length. This differs from encryption because the hash may lose information and is not reversible.
12.9
12
9 of 18
12.10
Users are authenticated against an external directory service The directory service contains the users credentials and administrative information A single reserved database login is typically used for all users
Security Adapter
Siebel Database
10 of 18
Default Login
12.11
12
11 of 18
Allows credentials store to be shared across multiple applications May support account policies based on those of the directory service
12.12
Single Sign On
Browser User Credentials Web Server SWSE Authenticated User ID and Trust Token Siebel Object Manager Security Adapter 1. User provides information
Web Server provides credentials to third-party service Security Adapter looks up and retrieves Siebel user ID, DB account based on identity key from external source
Login Authentication Service 2. Verifies credentials Retrieves Siebel user ID and DB account
Directory
Siebel Database
5. Connects to database
12 of 18
12.13
12
Uses credentials that are collected and verified by the Web server
Allows Siebel applications to be deployed into existing Web sites and portals
13 of 18
12.14
Some Siebel User Administration features that are not available using SSO should be disabled for consistency, for example:
` User self-registration ` Delegated administration of users ` Change password
Requires synchronization of users between the Siebel application and the external authentication system
14 of 18
12.15
12
Single Sign On
No Depends on RDBMS No No No No No
15 of 18
No
12.16
Module Highlights
16 of 18
12.17
Lab
12
17 of 18
12.18
13.1
13
Module 13: Installing Siebel Applications
13
13.2
Module Objectives
2 of 34
13.3
13
3 of 34
13.4
Siebel provides several tools to assist with the installation of Siebel environments:
` Bookshelf documentation:
Deployment Planning Guide and System Requirements and Supported Platforms guide to prepare the system Installation Guide [Windows or UNIX] to perform the installation Guide you through the installation process itself Performs verification tests on system at any time during the installation to check:
` Prerequisites ` Configuration settings ` Installations
Reference
Installation Guide for Microsoft Windows Installation Guide for UNIX System Requirements and Supported Platforms
13.5
13
5 of 34
13.6
Pre-Installation Tasks
Plan the System Topology Verify System Requirements Create Prerequisite Objects
6 of 34
13.7
13
D1 Database Server
7 of 34
13.8
8 of 34
13.9
13
9 of 34
13.10
Alternatively, partition the file system across multiple directories and servers
` Must be accessible from machines running Siebel Servers ` Must support long and case-sensitive file names
10 of 34
13.11
Siebel Gateway Name service Siebel Server service Siebel Gateway Name Server Siebel Servers Server on which Siebel File System resides
13
` Recommended practice: On Windows use a domain account rather than separate accounts on each machine
Consult the platform-appropriate Siebel Installation Guide for exact steps and privileges
11 of 34
13.12
Installation Tasks
Create the Installation Image Install the Enterprise Configure the Server(s) Install the Database Install the Siebel Web Server Extensions Install Additional Applications
12 of 34
13.13
Run the Siebel Image Creator utility provided on your media to generate an installation image
` Refer to the Siebel Installation Guide for detailed steps
13
13 of 34
13.14
Use the Siebel Enterprise Server installer to install the Gateway Name Server, Siebel Servers, Database Configuration Utilities, and EAI Connectors
` Each component may be installed separately ` Parameters include the directory name, setup type, and language
14 of 34
13.15
Once installation completes, the enterprise configuration tool runs automatically to set system parameters
` Alternatively, run <InstallDir>/gtwysrvr/bin/ssincfgw.exe manually at a later time
13
Create Gateway Name Server, Enterprise, and Siebel Web Server Extension logical profile
15 of 34
13.16
` An existing Siebel Gateway Name Server and Enterprise ` A directory in which to store the profile, network configuration parameters such as HTTP and HTTPS ports, High Interactivity and Standard Interactivity default login names, and an Enterprise security token
16 of 34
13.17
Once enterprise configuration completes, the server configuration tool runs automatically to set system parameters
` Alternatively, run <InstallDir>/siebsrvr/bin/ssincfgw.exe manually at a later time
13
17 of 34
13.18
18 of 34
The connection broker port, used by the Siebel Web Server Extensions and other server components for communication The Siebel Remote Synchronization Manager port The database connection port
13.19
13
` Creates appropriate schema and populates database with seed data ` Optionally, enter license key during database initialization
19 of 34
13.20
Use the SWSE installer to install the Siebel Web Server Extension on the machine hosting the Web server
` The Siebel Enterprise Server must already have been run to generate the Enterprise-specific SWSE profile ` Specify parameters, including load-balancing strategy for multiserver installations and connection broker port
Specify load balancing for multiple servers: Siebel native load balancing (supported by the SWSE) or thirdparty load balancing
20 of 34
13.21
Install the Siebel Mobile or Siebel Developer Web clients on individual user machines
` Both applications use the Siebel Web Client installer
13
Install Siebel Tools on development machines (Optional) Install the Sample database on development machines
(Optional) Install Siebel Management Server to support the Application Deployment Manager (ADM) or Diagnostic Console (Optional) Install Siebel Update Server and clients to support multi-server updates
21 of 34
13.22
Verification Tasks
22 of 34
13.23
13
23 of 34
13.24
Verify Services
Verify that the Siebel Gateway Name Server service is running Verify that the Siebel Server services are running on each machine hosting a server
In this instance the Siebel Gateway Name Server and Siebel Server are co-located
24 of 34
13.25
Run EVT
Use the Environment Verification Tool to check the status of your enterprise
` Tool reads evt.ini file to determine what checks to perform ` Tool supports checking Siebel Gateway Name Server, Siebel Server, Siebel Web Server Extension, third-party Web server, and third-party database ` Output can be text, text file, HTML, or HTML file ` For complete details on using the EVT, see your platform-specific Installation Guide
13
25 of 34
13.26
EVT Example
The following example runs the EVT with the default options and outputs the results to output.html
The o flag specifies the output file format
26 of 34
13.27
Log In to Applications
Log in to the Siebel application to confirm connectivity to the Web server and Siebel server
Web server address Application SWE command appended to the URL by the applications default Web page
13
27 of 34
13.28
Is a utility that runs on the browser to verify that it is properly configured for High Interactivity
` Runs when the Web client is invoked if it is enabled in the [SWE] section of siebel.cfg
13.29
Multi-Server Updates
The Siebel Update Server provides a single administration point for patching and updating multiple Siebel servers Allows quick monitoring of each servers current patch level Supports both push and pull models of software updates
13
` Administrator can send updates out to all servers (push) ` Servers can periodically query the update server for updates (pull)
Siebel Update Server provides a centralized administration point for managing updates on Siebel servers
29 of 34
13.30
30 of 34
` Gateway Name Server, Siebel Enterprise, Siebel Server, Siebel Web Server Extension, and so forth
13.31
13
Clients have other Siebel software installed, such as Siebel Server or Siebel Web Server Extension
Cloudscape Database Update Server includes Tomcat Siebel Update Server Web server and local database Siebel Update Clients
Copyright 2007, Oracle. All rights reserved. 31 of 34
13.32
Update server stores client and update information in database Administrator publishes product information to server
Copyright 2007, Oracle. All rights reserved. 32 of 34
13.33
13
As clients are updated, their information is updated in the database Administrator may push updates to clients
Copyright 2007, Oracle. All rights reserved. 33 of 34
Recommended Practice
The push method is recommended because the pull method may result in unexpected server restarts, for example, after downloading a patch that requires a restart.
13.34
Module Highlights
34 of 34
Pre-installation tasks include planning the topology, verifying prerequisites, and creating required objects such as the Siebel database Software installations require multiple installers, which guide you through the installation process step-by-step and automatically run the appropriate configuration tools Post-installation tasks include checking the installation logs, checking the services, running the EVT, and logging in to the application Siebel Update Server supports multi-server updates
14.1
14
Oracle Internal & Oracle Academy Use Only
14
14.2
Module Objectives
2 of 22
14.3
` Configuration files and the Siebel Gateway Name Server that specify operating parameters for the execution engine
14
Oracle Internal & Oracle Academy Use Only
` A relational database that stores user data ` A set of physical User Interface (UI) files that specify how to render the UI in the users ` A Siebel Repository File (SRF) containing compiled object definitions
3 of 22
Reference
14.4
Object definitions are created, modified, and stored in special tables in the database and compiled to the SRF
User Interface No object definitions here
Siebel Application
UI files
Object Manager
Serves data to
Database Server
Generates
14.5
14
Oracle Internal & Oracle Academy Use Only
UI layer definitions
14.6
Object Definitions
Provide the foundation for application execution Are grouped in three layers with different purposes Refer to definitions in the next lower layer
Applet
View
Screen
Application
Business Layer
Field
Business
Component
Business Object
1 or many References
Data Layer
Column
Table
6 of 22
14.7
Data Layer
Data layer object definitions specify the logical structure of the physical database
` Definitions are metadata, not data
In the Data layer, there are two principal data object definitions:
` Table definitions ` Column definitions
14
Oracle Internal & Oracle Academy Use Only
Table
S_ORDER
ORDER_NUM DISCNT_PERCENT STATUS_CD
Columns
7 of 22
14.8
Business Layer
Business object definitions specify the business logic for the application In the Business layer, there are two principal objects:
Business component
8 of 22
Business object
14.9
Represents a logical grouping of data from one or more tables Refers to a base table Consists of multiple fields that characterize the business component
` Many fields within the business component reference columns in the base table
Business component Order Entry - Orders
Order Number Discount Status
14
Oracle Internal & Oracle Academy Use Only
Column
DISCNT_PERCENT STATUS_CD
9 of 22
14.10
Business component
Column
ORDER_NUM LOC NAME
S_OPTY
10 of 22
Field
14.11
14
Oracle Internal & Oracle Academy Use Only
Action
Quote
Payments
11 of 22
14.12
Business Component
Applet
Business Object
View
Business
Component
Business Object
Business
Component
Business Object
Table
Organizes BCs
12 of 22
Provide data
Provide focus
14.13
UI Object Definitions
14
Oracle Internal & Oracle Academy Use Only
3. View
13 of 22
14.14
14 of 22
14.15
` Refer to fields in the applet-referenced business component ` Specify how the data for the fields is displayed in the list or form
14
Oracle Internal & Oracle Academy Use Only
Business component
15 of 22
14.16
View View references one BO BO Applet references one BC Order Entry My Orders View (Sales)
Order Entry
Order Entry - Orders
Action
Quote
Payments
BC
Copyright 2007, Oracle. All rights reserved. 16 of 22
14.17
Contains multiple view object definitions that usually refer to the same business object
` Administration screens are an exception
Screens
14
Oracle Internal & Oracle Academy Use Only
Same screen
17 of 22
14.18
18 of 22
14.19
Is accomplished by using:
` An HTML editor to modify template and other physical UI files ` Siebel Tools to modify object definitions
Configurable Layers
14
Oracle Internal & Oracle Academy Use Only
Use an HTML editor to modify template
Physical UI Files UI Object Definitions Business Object Definitions Data Object Definitions
19 of 22
14.20
Module Highlights
Siebel architecture uses object definitions that specify application behavior Use Siebel Tools to:
` Create, store, and modify object definitions in the database ` Compile object definitions into the SRF for more efficient run-time access
Includes applications, screens, views, applets and list columns/controls Includes business objects and business components Includes tables and columns
` Business Layer
` Data Layer
20 of 22
` UI Layer
14.21
Lab
14
Oracle Internal & Oracle Academy Use Only
21 of 22
14.22
15.1
15
15
15.2
Module Objectives
2 of 20
15.3
Siebel Tools
Is an Integrated Development Environment (IDE) Is a declarative configuration tool
` Is used to create and modify object definitions (metadata) that define Siebel applications
Set properties for objects that control behavior No need to modify source code or write SQL
3 of 20
15
15.4
Object Definitions
Are metadata that define elements of the user interface, business logic, and data storage Are stored in the Siebel Repository, a subset of tables in the Siebel database Are examined, created, and edited using Siebel Tools Are compiled into the repository file for a configured application
15.5
Object Definition
Consists of a set of properties with assigned values Is created from a template called an object type
5 of 20
Object Terminology
The terms object type and object definition, as used here, should not be confused with similar terms (object, object class, object instance) found in object-oriented design and programming languages. Object definition properties describe characteristics of the object definition and have the following value types: user-defined names, numerical values, Boolean values (TRUE and FALSE), Siebel-defined constants, and references to the names of other object definitions. A property that references the name of another object definition must match the name exactly in spelling (spaces do count) and cases. A value of Prod is not the same as PROD.
Referencing Names
My Accounts
15
15.6
OE
Object property
Object definition
6 of 20
15.7
7 of 20
15
15.8
Properties Window
Displays the properties for the object definition selected in the OBLE
` Select View > Windows > Properties Window ` Properties are listed in alphabetical order ` The value is shown next to property name
OBLE
15.9
9 of 20
15
15.10
Object Explorer
Displays by default a small set of the most commonly used object types
` Select View > Options and click the Object Explorer tab to add or remove object types from the Object Explorer
10 of 20
15.11
Select object types and definitions alternately to examine child object definitions
Use the Types tab 1. Expand the parent object type (BC) in the OE 2. Select the parent object definition in the OBLE
4. View child object definitions for the selected parent definition in the lower pane of the OBLE
11 of 20
15
15.12
12 of 20
15.13
Hyperlinks
Underlined in blue
13 of 20
Using Drilldown
Siebel Tools users must have the Developer responsibility in order to drill down.
15
15.14
14 of 20
Best Practice
The Forward and Back buttons have limited functionality; instead use bookmarks as a navigation aide. Bookmarks are discussed on the next slide.
15.15
Bookmarks
15 of 20
Bookmarks
15
15.16
Window Navigation
Use dockable windows and tabs for frequently-accessed tools such as the Properties window Undock windows to resize and place
Window tabs
16 of 20
Autohide
15.17
` Find a child object with an unknown parent ` See how object definitions and properties are typically used
17 of 20
15
15.18
Module Highlights
Siebel Tools is a declarative configuration tool Object definitions consist of a set of properties with assigned values
18 of 20
The Object Explorer (OE) lists object types Object definitions appear in the Object List Editor (OBLE) Properties Window displays the object definition selected in the OBLE Flat tab removes all hierarchy and shows all object types in a single list
15.19
Lab
19 of 20
15
15.20
16.1
16
Copyright 2007, Oracle. All rights reserved.
16
16.2
Module Objectives
2 of 28
` Enables you to understand how data is accessed in existing Siebel applications ` Enables you to understand how to map your business logic to the Siebel Data Model ` Enables you to configure the Data layer as necessary for your implementation
16.3
Defines how the data used by Siebel applications is stored in a standard third-party relational database
` Specifies the tables and relationships
Field
Component
16
Column Table
3 of 28
Business
Business Object
16.4
Siebel Data
4 of 28
Reference
PART_NUM
ROW_ID
NAME
UOM_CD
16.5
S_PROD_INT
ROW_ID NAME PART_NUM UOM_CD
16
5 of 28
Primary key
16.6
ROW_ID
6 of 28
16.7
16
7 of 28
Indexes
16.8
Tables
Approximately 3,000 tables in the database Three major types: Data, Interface, and Repository
Data S_PROD_INT
NAME ROW_ID PART_NUM UOM_CD
Interface EIM_PROD_INT
ROW_ID NAME PART_NUM UOM_CD
Repository S_TABLE
NAME ROW_ID DESC_TEXT ALIAS TYPE
8 of 28
Creating the Schema The database schema is created during the Siebel database server installation. Additional tables can be created by developers using Siebel Tools. Type The type of a table is specified by its Type property.
16.9
Data Tables
Have names prefixed with S_ Are documented in the Siebel Data Model Reference
16
9 of 28
16.10
Service Request
S_SRV_REQ SR_NUM ROW_ID DESC_TEXT ASGN_DT LAST_UPD ROW_ID
Contact
S_CONTACT LAST_NAME FST_NAME MID_NAME
Asset
S_ASSET ROW_ID NAME ASSET_NUM SERIAL_NUM MFG_DT ROW_ID
Account
S_ORG_EXT DEPT_NUM DESC_TEXT DIVISION EMP_COUNT ROW_ID
Activity
S_EVT_ACT ACTIVITY_UID TODO_CD PROJ_ID OPTY_ID
Internal Product
S_PROD_INT ROW_ID NAME PART_NUM ORDER_CST PROD_CD
10 of 28
16.11
Columns
Each table has multiple columns to store user and system data
` Defined by Column child object definitions
16
11 of 28
16.12
Column Properties
Determine size and type of data that can be stored in column Limit proposed modifications to a standard application Do not edit existing properties
12 of 28
16.13
16
13 of 28
16.14
System Columns
Exist for all tables to store system data Are maintained by Siebel applications and tasks
System columns
14 of 28
16.15
User Keys
Are used to determine the uniqueness of records when entering, importing, or integrating data Are predefined and cannot be changed
16
Column Combination provides a unique value
Copyright 2007, Oracle. All rights reserved.
User Keys
Customers cannot modify user keys. Expert Services can assist customers in evaluating strategies to remap data in their implementations to make use of the current user key structure within their specific business requirements. The information about the user keys for a table has been incorporated into data that support EIM and remote synchronization. In addition, there is a predefined index (see next slide) based on the Siebel-defined user key.
16.16
Indexes
Are a separate data structure that stores a data value for a column and a pointer to the corresponding row
` Used to retrieve and sort data rapidly
16.17
Siebel tables have many predefined relationships to support the as-delivered application
` 1:M one-to-many ` M:M many-to-many
Product Line S_PROD_LN
ROW_ID NAME DESC_TEXT
Asset S_PROD_INT
PART_NUM ROW_ID NAME ORDER_CST PROD_CD
S_ASSET
16
M:M relationship
1:M relationship
17 of 28
SERIAL_NUM
ROW_ID
NAME
ASSET_NUM
MFG_DT
16.18
1:M Relationships
Are captured using foreign key (FK) table columns in the table on the many side of the relationship FK column on many side of the relationship references PK column on one side
S_ASSET
NAME ROW_ID ASSET_NUM SERIAL_NUM PROD_ID FK
18 of 28
Since a product could have many assets (product instances) associated with it, a foreign key column cannot be located in the S_PROD_INT table. It might then have to contain multiple ROW_IDs, which would violate the basic rule of a single value for a column.
16.19
Are columns in a table that refer to the primary key column of a related (parent) table
` Many are named with suffix _ID
Are maintained by Siebel applications and tasks to ensure referential integrity and should never be updated directly via SQL
16
Foreign key column Foreign key table
19 of 28
16.20
Inspect the Foreign Key Table property in a Column object definition to determine the column that serves as the FK
PK
FK
FK column
Parent table
20 of 28
S_PROD_INT
ROW_ID NAME PART_NUM ORDER_CST PROD_CD
S_ASSET
ASSET_NUM PROD_ID ROW_ID NAME SERIAL_NUM
16.21
M:M Relationships
Are captured using foreign key columns in a third table called the intersection table
Product : Product Line intersection table S_PROD_LN
ROW_ID NAME PK DESC_TEXT
S_PROD_INT
PART_NUM
S_PROD_LN_PROD
PROD_LN_ID PROD_ID ROW_ID FK
PK
16
FK
21 of 28
ROW_ID
NAME
UOM_CD
16.22
Provides additional columns for business components referencing the base table
Base Table
NAME PK PART_NUM UOM_CD
Extension Table
S_PROD_INT_X
ATTRIB_39 ROW_ID PAR_ROW_ID
S_PROD_INT
ROW_ID
FK
22 of 28
ROW_ID
The ROW_ID for a row in a 1:1 extension table is, by convention, the same as that of the related row in the base table, and is an exception to the general rule that ROW_IDs are unique across all tables. A row in an extension table is created only if there is data to store in one of its columns. For example, a new product record that does not have a value for any fields referencing the extension table would create a row in the base table, but not in the extension table.
16.23
16
23 of 28
16.24
S_ASSET
NAME PK ROW_ID ASSET_NUM SERIAL_NUM PROD_ID
S_ASSET_XM
ATTRIB_01
FK
24 of 28
ROW_ID
PAR_ROW_ID
TYPE
NAME
16.25
TYPE defines data classification PAR_ROW_ID stores FK to ROW_ID in main table NAME stores name of child entity ATTRIBs are predefined with varying types
16
25 of 28
16.26
Module Highlights
Siebel Data Model defines how data is stored in a third-party relational database A primary key (PK) is a column that uniquely identifies each table row ROW_ID is a column in every table
26 of 28
User keys specify the columns used to determine uniqueness of records when entering, importing, or integrating data Foreign Key Table columns are columns in a table that refer to the PK column of a related table 1:1, 1:M, and M:M relationships are predefined within the model
16.27
Lab
16
27 of 28
16.28
17.1
17
Copyright 2007, Oracle. All rights reserved.
17
17.2
Module Objectives
2 of 18
17.3
Business Layer
Field
Business Component
Data Layer
Column
Table
References
17
3 of 18
UI Layer
List Column
Applet
View
Screen
Application
17.4
Business Component
A business component (BC) is a person, place, thing, or event about which data must be stored ` Represents a fundamental business entity Provides the foundation for controlling how data is selected, inserted, and updated in underlying tables
Oracle Internal & Oracle Academy Use Only
Opportunity
Opportunity
Quote
Product
Contact
= Business Component
Copyright 2007, Oracle. All rights reserved. 4 of 18
17.5
Is not a table
` Does not store data ` Stores metadata: data about data
Name
Description
Decision Level
Sales Stage
S_OPTY
ROW_ID NAME DESC_TEXT CURCY_CD
S_OPTY_X
ROW_ID PAR_ROW_ID ATTRIB_01 ATTRIB_09 ATTRIB_39
S_STG Field
ROW_ID NAME STG_ORDER PHASE_CD
17
5 of 18
Base Table
Copyright 2007, Oracle. All rights reserved.
Joined Tables
BC
Opportunity
17.6
Contact
Contact Contact
Quote
Product
Quote
Product
Account
6 of 18
17.7
Base Table
Contains the main columns for the business component Every business component references only one base table Many BC fields are mapped to base table columns Fields referencing base tables are editable in the UI
Opportunity
Name Description Decision Level Sales Stage Sales Stage Phase
S_OPTY
ROW_ID NAME CURCY_CD DESC_TEXT
Base table
Mapping Example
Field: Description Business Component: Opportunity
Column: DESC_TEXT
Copyright 2007, Oracle. All rights reserved.
Table: S_OPTY
7 of 18
17
17.8
Each business component contains a table property that specifies the base table
Base table
8 of 18
17.9
Join is blank
17
Copyright 2007, Oracle. All rights reserved. 9 of 18
Base table
17.10
Explicit Join
Is a join that brings in data from tables other than the base table to meet the business components data display requirements
` Most fields referencing explicitly joined tables are read-only in the applet
Includes a join definition and a join specification BC field references the join definition
Opportunity
Name Description Sales Stage
Base table
S_OPTY
ROW_ID DESC_TEXT CURCY_CD NAME
S_STG
ROW_ID NAME STG_ORDER PHASE_CD
Joined table
10 of 18
17.11
17
Copyright 2007, Oracle. All rights reserved. 11 of 18
17.12
S_STG
ROW_ID NAME PHASE_CD STG_ORDER
Base Table
Joined Table
FK
PK
12 of 18
17.13
The UI layer specifies how information joined at the business layer will be displayed
17
S_STG
13 of 18
S_OPTY
17.14
Join Definition
Alias of join
Joined table
14 of 18
17.15
Join Specification
Specifies how to retrieve the related row from the joined table
` Based on the foreign and primary keys used to relate the base and joined tables
Name Description
Sales Stage Id
S_OPTY
ROW_ID DESC_TEXT CURCY_CD NAME CURR_STG_ID
S_STG
NAME ROW_ID PHASE_CD STG_ORDER
17
FK
PK
15 of 18
Opportunity
17.16
Implicit Joins
Do not appear as Join object definitions Do appear in the picklist for the Join property in an SVF
17.17
17
Copyright 2007, Oracle. All rights reserved. 17 of 18
17.18
Module Highlights
18 of 18
A BC is a person, place, thing, or event about which data is stored A BC can be defined once then re-used by different BOs Each BC references a single base table A BC can include data from joined tables A join definition specifies joined table A join specification specifies how to access joined table via PK/FK An extension table extends data in the BC Fields on extension tables use implicit joins
18.1
18
18
18.2
Module Objectives
2 of 26
18.3
3 of 26
18
Reference
Siebel Security Guide: Configuring Access Control Configuring Siebel Business Applications: Configuring Tables and Columns: About the S_PARTY Table
18.4
Representing these relationships could result in data models that do not have optimal normalization
` Multiple records may be created for each relationship
A separate record is created for a contractor, another for an intern, and a third for an employee
` A special entity may have to be created for each new ad hoc relationship
Contractor Table 1. An individual is a contractor. . . First Name Navdeep Last Name Singh Phone 321-654-0987 Phone 321-654-0987 Phone 321-654-0987
4 of 26
Intern Table First Name Last Name Navdeep First Name Navdeep Singh Last Name Singh Employee Table
18.5
` Can establish and change relationships between various party types, as needed
Organization Employee
Account Contact
Party business component
User
5 of 26
18
18.6
Name
Fields
Base table
S_PARTY
NAME PARTY_TYPE_CD
Columns
6 of 26
Account
18.7
Standard BCs
Standard BC: Opportunity S_OPTY
NAME ROW_ID DESC_TEXT CURCY_CD BDGT_AMT
Party BCs
Party BC: Account
18
S_PARTY
ROW_ID NAME PARTY_TYPE_CD
S_ORG_EXT
REGION ROW_ID NAME ASGN_DT DIVISION
18.8
8 of 26
Tables such as S_CONTACT_X (which is the 1:1 extension table for the S_CONTACT table) are formally an S_PARTY extension table. To list the complete set of S_PARTY extension tables, execute a query in Siebel Tools to retrieve all tables with the Base Table property = S_PARTY.
18.9
Represent a variety of entities that can be arranged into groups related to persons, organizations, or access control
Account Division
Organization
9 of 26
18
OrganizationRelated
Access Control
18.10
S_CONTACT
LAST_NAME EMAIL_ADDR ROW_ID PAR_ROW_ID FK FST_NAME
FK
FK
10 of 26
ROW_ID
LOGIN
PAR_ROW_ID
PASSWORD
ROW_ID
PAR_ROW_ID
HIRE_DT
BONUS_FLAG
CURR_SALARY
18.11
ROW_ID 1 2 3
PAR_ROW_ID 1 2 3
PAR_ROW_ID 2 3
A person. . .
11 of 26
18
S_PARTY
S_CONTACT
S_USER
18.12
S_CONTACT
PAR_ROW_ID 1 2 3 FST_NAME John Sally Chris LAST_NAME Doe Smith Jones
S_USER
PAR_ROW_ID 2 3 LOGIN SSMITH CJONES
S_EMP_PER
PAR_ROW_ID HIRE_DT
4-Sep
18.13
S_ORG_EXT
ROW_ID PAR_ROW_ID FK NAME LOC EMP_COUNT PRTNR_FLG HIST_SLS_VOL INT_ORG_FLG
FK
13 of 26
18
ROW_ID
NAME
BU_FLG
PAR_ROW_ID
18.14
Organization
Name Internal Org Flag Organization BU Name
S_ORG_EXT
PAR_ROW_ID 1 2 3 NAME ABC Company Sales Division ABC Company ABC Customer INT_ORG_FLAG Y N N LOC HQ
S_BU
PAR_ROW_ID NAME BU_FLG
2 3
Y Y
14 of 26
18.15
S_PARTY
ROW_ID PK
S_USERLIST
ROW_ID NAME PAR_ROW_ID FK
S_PARTY_GROUP
ROW_ID NAME PAR_ROW_ID
S_POSTN
NAME POSTN_TYPE_CD
FK
FK
15 of 26
18
ROW_ID
PAR_ROW_ID
18.16
Access Group, User List, and Position are party business components
If a user list, populate S_USERLIST If an access group, populate S_PARTY_GROUP S_PARTY_GROUP
NAME 1 Consultants User List 2 Gold Customers PAR_ROW_ID NAME
S_PARTY
ROW_ID 1 2 3 PARTY_TYPE_CD User List Access Group Position
S_USERLIST
PAR_ROW_ID
User List
Name
Access Group
Name
Business component
Copyright 2007, Oracle. All rights reserved. 16 of 26
18.17
` They are represented in S_PARTY_PER ` ROW_ID in S_PARTY is used to relate party types
17 of 26
18
S_PARTY_PER
S_PARTY
18.18
An access group can then be networked with those users, or other user lists, or most any other S_PARTY type
` Person, User List, Organization and Account party types can be related to an Access List party type
Network
Organization Employee
Account Contact
S_PARTY_PER
PARTY_ID 003 003 005 005 PERSON_ID 001 002 003 004
S_PARTY
ROW_ID 001 002 003 004 005 PARTY_TYPE_CD Person Person User List Organization Access List NAME
Position
Smith, John Smith, Mary ABC User List ABC Org ABC Access Group
18 of 26
Access Group
User
18.19
` Do not appear in join object definitions ` ROW_ID in base table is always the PK ` PAR_ROW_ID in extension is always the FK
S_PARTY
ROW_ID 1 2 3 PARTY_TYPE_CD Person Person Person
S_CONTACT
PAR_ROW_ID 1 2 3 FST_NAME John Sally Chris LAST_NAME Doe Smith Jones
S_USER
PAR_ROW_ID 2 3 LOGIN SSMITH CJONES
PK
FK
FK
Base Table
Extension Table
Extension Table
19 of 26
18
18.20
18.21
Opportunity
Name Description Account
FK
References PAR_ROW_ID
Copyright 2007, Oracle. All rights reserved.
18
S_OPTY
PR_DEPT_OU_ID NAME ROW_ID DESC_TEXT CURCY_CD
S_ORG_EXT
PAR_ROW_ID ROW_ID LOC NAME
18.22
Uses an explicit join to the party table, and not the implicit one
` Example: Bringing parent account data into the Account business component for display in an Account applet
Account
Name Location Parent Account Name Parent Account Location
22 of 26
18.23
has multiple explicit self-joins to S_ORG_EXT Select the one that specifies the relationship of interest
23 of 26
18
18.24
Module Highlights
24 of 26
Party types have dynamic or ad hoc relationships Party BCs create relationships between party types Party BCs are similar to standard BCs but data is stored in extension tables Eight prominent S_PARTY extension tables store data Person-related party BCs store data in S_CONTACT Organization-related party BCs store data in S_ORG_EXT Access Group, User List, and Position are party BCs Party implicit joins populate S_PARTY extension tables Explicit joins reference extension tables that contain data
18.25
Lab
25 of 26
18
18.26
19.1
19
Copyright 2007, Oracle. All rights reserved.
19
19.2
Module Objectives
2 of 16
19.3
Applet
View
Screen
Application
Business Layer
Field
Business Component
Data Layer
Column
Table
References
3 of 16
Reference
19
19.4
Business Challenge
Business components provide a way to group data according to business logic, but they do not address the need for context
` For example, the opportunity BC defines how to retrieve opportunity data, but not related activity data
?
Copyright 2007, Oracle. All rights reserved.
How is it that the Activities view shows only activities related to the Kaboom opportunity?
4 of 16
19.5
Business objects contain relationships used to access records from a child business component
` Identifies records to display depending on context in which they are viewed ` Ensures that only records related to parent BCs are returned from queries
5 of 16
19
19.6
Business Objects
Are a collection of related business components that represent a major area of the business
` Contain parent and child business components ` Relate parent and child components via links ` Links focus records displayed based on the context in which they are viewed
Business Object
Opportunity
Opportunity
Link focuses data in view Children BCs provide data related to parent
Action
Product
Source
6 of 16
Provide a container for grouping business components Provide context for views
19.7
Contains Link and BusComp properties that relate the parent and child business components to each other
Child BC
Parent BC
7 of 16
19
19.8
Link Definition
Is used with both 1:M and M:M relationships between parent and child data
Opportunity
Opportunity
Link Definition
Action
Product
Source
8 of 16
19.9
1:M Link
Used for 1:M relationship between parent and child business components
Link Definition
FK field in child BC
9 of 16
19
19.10
M:M Link
Used for M:M relationship between parent and child business components Uses an intersection table to resolve the link
10 of 16
19.11
The Cascade Delete property of a link 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
11 of 16
19
19.12
Deletion cascades
12 of 16
19.13
19
19.14
Specify how the grandchild and child business component are related
` Used to retrieve grandchild records on parent-child-grandchild views
Parent/Child
Child/Grandchild
Copyright 2007, Oracle. All rights reserved. 14 of 16
19.15
Module Highlights
Business objects
` Provide a way to group BCs according to business logic ` Provide context to views ` Contain parent and child BCs associated via links
15 of 16
19
Links provide a way to focus records based on context Links relate parent and child BCs Link definitions specify which records to retrieve from child BCs A 1:M link is used for a 1:M relationship between parent and child BCs A M:M link is used for a M:M relationship between parent and child BCs
19.16
Configuration Strategy
20.1
20
Copyright 2007, Oracle. All rights reserved.
20
Configuration Strategy
20.2
Module Objectives
2 of 16
Configuration Strategy
20.3
` Developers do not modify code in siebel.exe ` Developers do not write SQL directly
Reference
Using Siebel Tools Developing and Deploying Siebel Business Applications: Setting Up a Developers Local Database
20
Configuration Strategy
20.4
Siebel Applications
Siebel as-delivered applications include a predefined set of screens, views, lists, forms, and their associated templates
A predefined view
4 of 16
Configuration Strategy
20.5
Developers tailor the as-delivered Siebel screens, views, lists, and forms to better support users business needs
A tailored view
5 of 16
20
Configuration Strategy
20.6
Use an HTML or a text editor to modify layout Use a text editor to modify colors, fonts, etc. Siebel template files Cascading style sheets Image files UI files Use a graphics program to add your organizations images Object Manager SRF Database Server Siebel Repository File
6 of 16
Configuration Strategy
20.7
Siebel as-delivered applications utilize a set of Siebel business components that implement the defined business logic
Account
Service Request
Contact
Action
Product
7 of 16
20
Configuration Strategy
20.8
Developers also tailor the application by modifying the definitions of the business components to implement the business logic appropriate to the users organization
Account
Add fields
Service Request
Contact
Action
Modify properties of existing fields
Product
8 of 16
Configuration Strategy
20.9
CX_OPTY
S_OPTY_X
9 of 16
20
MID_NAME MID_NAME FST_NAME FST_NAME LAST_NAME LAST_NAME ROW_ID ATTRIB_44 ROW_ID ROW_ID
Configuration Strategy
20.10
Configuration Strategy
Make minimal changes to the as-delivered application Use existing object definitions in the as-delivered repository whenever possible
10 of 16
` Creating new object definitions can lead to redundant configuration and increase the maintenance effort
Configuration Strategy
20.11
11 of 16
20
` Modify only when changes are essential ` Modifying a template for one view or applet can have unexpected consequences if another view or applet uses the same template
Configuration Strategy
20.12
12 of 16
Configuration Strategy
20.13
13 of 16
20
Configuration Strategy
20.14
Server Machine
Developer Workstation
Developer Workstation
Developer Workstation
14 of 16
Test all customization and extensions thoroughly before deploying to end users
Configuration Strategy
20.15
Server Machine
Developer Workstation
Server repository
Local repository
15 of 16
20
Use Siebel-supplied mechanisms to copy definitions between server and local databases
Configuration Strategy
20.16
Module Highlights
Configuring is the process of using Siebel Tools to modify an as-delivered Siebel application Recommended configuration strategy:
` Tailor existing logical UI, physical UI, and business entities to minimize development and support effort ` Do not delete, make inactive or rename unused object definitions ` Use existing template files
` Enables developer or group to work independently ` Enables developer to test customizations before deploying
16 of 16
Plan configuration project from the top down, make changes from the bottom up Development and production environments are separate
21.1
21
21
21.2
Module Objectives
2 of 20
21.3
Enterprise
Server CFG Server SRF
Siebel Server
Synchronization Manager
Server Database
Copyright 2007, Oracle. All rights reserved.
Local Database
Local SFS
3 of 20
Reference
Using Siebel Tools Siebel Remote and Replication Manager Administration Guide Developing and Deploying Siebel Business Applications: Setting Up a Developers Local Database
21
` Accesses a local DB containing a subset of the server database ` Synchronizes with the server database, as necessary ` Implements a development and testing environment for individual developers
21.4
21.5
Enable the Siebel Remote component group to enable development using a local database
` After enabling a component group, do not forget to restart the Siebel Server and synchronize components
5 of 20
21
21.6
21.7
Screen shot from Microsoft SQL Server Management Studio Express copyright Microsoft Corporation
Copyright 2007, Oracle. All rights reserved. 7 of 20
21
21.8
Run the Generate New Database server task to generate a local database template
` Snapshot of the current version of the database schema (tables, columns, indexes, and so forth)
8 of 20
21.9
` User data is extracted for the user(s) specified in the job parameters
9 of 20
21
21.10
Modify configuration information for Siebel Developer Web Client in ..\client\BIN\<Language Code>\<application>.cfg
` For example, ..\client\BIN\ENU\uagent.cfg for the Siebel Call Center Developer Web client
` ` ` `
Native client connection information for the local database ODBC connection for the server ODBC connection for the local database Location of the local Siebel file system
10 of 20
Both configuration files hold critical information to ensure proper behavior of local executables:
21.11
Local connection information, including native connect string. Note absolute path. Modify if local database is in a different location.
11 of 20
21
21.12
Ensure that the Web Client ODBC connection references the local database
` The database file parameter of SEAW Local Db default instance must match ConnectString in [Local] section of uagent.cfg ` ConnectString must point to local DB: \client\LOCAL\sse_data.dbf
Web Client connection. . .
. . .must match
21.13
. . .must match
13 of 20
21
21.14
Check user IDs and passwords, and then test the connection
1. Check
2. Test
14 of 20
21.15
Local db
15 of 20
21
21.16
16 of 20
21.17
Server
Template provides schema 3. Use templates to initialize local DB and populate user data 1. Generate DB template Compressed files provide user data 2. Extract user data Server database provides repository data
Server Database
Local Database
Repository Data
21
Client
21.18
Additional Developers
Server Machine
Server
Copyright 2007, Oracle. All rights reserved.
Local
Local
Local
18 of 20
21.19
Module Highlights
Siebel Remote is used to establish a local development environment An individual developer uses Siebel Developer Web Client to develop and test custom configurations Create the development environment by:
19 of 20
21
` ` ` ` `
Installing Siebel Tools on the client Enabling Siebel Remote on the server Creating a developer, login, and remote user on the server Generating, extracting, and initializing a local database Verifying login and data sources
21.20
Lab
20 of 20
22.1
22
22
22.2
Module Objectives
2 of 22
` Checking projects in and out are critical tasks that enable multiple developers to work together on a configuration effort
22.3
Projects
Are a mechanism to organize object definitions so that a single developer can exclusively work on them as a group Project
Account (SSE)
Screen
Accounts Screen
Applets
Account List Applet Account Entry Applet
Views
Account List View All Account List View Managers Account List View Account Profile View
Reference
22
22.4
` Selecting the Project object type, and ` Creating a new record in the Object List Editor
4 of 22
22.5
Every object definition must belong to one, and only one, project
` Either a Siebel-supplied project, or ` A user-created project
22
22.6
6 of 22
22.7
Repositories
Server
Local
7 of 22
22
22.8
Copying Projects
Check In and Check Out safely manage concurrent use by multiple developers Object definitions in one or more projects can be copied:
` From the server to the local developer repository (Use Get or Check Out to retrieve definitions) ` From the local developer repository to the server (Check In)
Server
3. Developer uses Check In
Copyright 2007, Oracle. All rights reserved.
Local
8 of 22
22.9
Getting Projects
Get populates a local database with a copy of projects from the server repository Use Get to bring object definitions modified by other developers to your local database Use Get with All Projects selected to populate a newly-initialized local database
9 of 22
Note
First select Check Out from the Tools menu, and then click Get in the Check Out dialog box.
22
22.10
Check Out
Click Check Out to copy projects from the server repository to the local repository
` The projects Allow Object Locking property must be disabled
10 of 22
22.11
Local copy of project is overwritten by server version Prevents other developers from modifying that project Permits developer to make changes to object definitions in that project
Property is editable
11 of 22
22
22.12
` Log in to Tools as SADMIN to the server database and enable the projects Allow Object Locking property
22.13
` Then check in the project to unlock the project on both the local and server repositories
13 of 22
22
Replaces modified object definitions in local repository with original version from server repository Repeating Check Out is permitted for person who last checked out project
22.14
Use Undo Check Out to release lock on a project on the server without checking in edited object definitions
` Makes the original project available to another developer ` Can be followed by Get to restore original definitions in local DB
Developer can continue to modify object definitions but will not be able to check them in to the server
14 of 22
22.15
Check In
Is used when object definitions in the project have been edited and tested
` Copies object definitions from local repository to server repository ` Replaces versions of checked out object definitions with new versions and unlocks projects
Can also check in object definitions in newly created projects Maintain Lock leaves project locked for further local modification by current developer
15 of 22
22
22.16
Check In Continued
Click Check In to copy projects and objects from the local repository to the server repository
16 of 22
22.17
Locking Projects
You can directly lock and unlock projects in the current repository (local or server)
Click to set Locked property directly
17 of 22
Project Drop-Down
You can select **My Locked Projects** in the Project drop-down list to display only those projects you have locked (either by checking them out or locking them directly).
22
22.18
` However, locking does not prevent other developers from checking out and modifying a project
Consider when:
Server Machine
Developer Workstation
Developer Workstation
Developer Workstation
Server
Copyright 2007, Oracle. All rights reserved.
Local
18 of 22
` Prototyping your ideas without preventing other developers from checking out the project ` Intending to discard (rather than save) your work
22.19
Oracle recommends that developers never directly lock projects on the server
` Prevents the developer from undoing changes and restoring original definitions ` Allows other developers to get object definitions in an incomplete, inconsistent, and untested state
Always use Check Out and modify the object definitions locally
Server Machine Developer Workstation Developer Workstation Developer Workstation
Server
Copyright 2007, Oracle. All rights reserved.
Local
19 of 22
22
22.20
Module Highlights
Projects organize object definitions so a developer can work on them exclusively The as-delivered application contains many projects Every object definition must belong to one, and only one, project Developer edits a copy of master repository residing on local client Check Out and Check In are used to modify object definitions
` Project locking ensures only one developer can modify a given object
20 of 22
22.21
Lab
21 of 22
22
22.22
23.1
23
Siebel 8.0 Essentials
23
23.2
Module Objectives
` These are fundamental activities that occur during all configuration efforts
2 of 24
23.3
Use the Object Explorer and Object List Editor to edit object definitions
` Ensure that the project has been locked
. . .select a value
3 of 24
Reference
23
Siebel 8.0 Essentials
23.4
1. Enter a unique name 2. Select a project from the picklist 3. Assign values to the remaining properties, as necessary
4 of 24
23.5
Changed Flag
Indicates records that have been modified since the changed date Is set whenever a record is edited Is cleared by resetting the changed date value
5 of 24
Changed Flag
The Changed flag indicates only that the record has been touched. A developer may change the value of a property and then undo the change. The Changed flag will still be set. Some developers will select an object type and then query for all object definitions with the Changed flag set. Only those definitions that have been edited will display in the OBLE.
23
Siebel 8.0 Essentials
23.6
Warning
6 of 24
23.7
7 of 24
23
Siebel 8.0 Essentials
23.8
Archiving Projects
8 of 24
23.9
Archive Files
Have .sif extension by default Are used to share projects among developers Are used to back up projects Can be version-controlled using source code control systems
Archive file
9 of 24
23
Siebel 8.0 Essentials
23.10
Archive Recommendations
Archive the entire project Do not archive individual objects
` Could result with inconsistent object definitions ` Difficult to recover from a partial or incomplete archive ` Will only save a few minutes per day compared to archiving the project
10 of 24
` Prior to implementing a large amount of work ` After testing a section of work ` Several times per day during heavy development
23.11
Object definitions in an archive file can be imported into the local repository on the developer workstation
` Appear in the current active repository
11 of 24
23
Siebel 8.0 Essentials
23.12
12 of 24
23.13
Compare Objects
Displays differences between the selected object definition and another one:
` In the current local repository ` In an archive file ` In the repository on the server
13 of 24
23
Siebel 8.0 Essentials
` Delete individual child object definitions ` Copy individual child object definitions in either direction
23.14
14 of 24
Note
Typically there will only be one repository available, and this repository defines an application. This repository is the Siebel repository and it will be available on a local database and on a server database. However, there are circumstances when multiple repositories will be available: when a group is upgrading to a new version of Siebel Applications, or working with multiple applications. There can not be multiple repositories in a production environment because some run-time components read repository objects directly from repository tables, not the SRF. There can be multiple SRF files, compiled from different repositories, provided that they do not compromise data integrity. Refer to Bookshelf for more information.
23.15
Differences displayed
15 of 24
23
Siebel 8.0 Essentials
23.16
16 of 24
Modifying Definitions
A child object definition in either parent object definition can be deleted or copied to the other definition.
23.17
17 of 24
23
Siebel 8.0 Essentials
23.18
Windows copy/paste
18 of 24
23.19
Compiling
Compile into .srf file located in the objects directory of the client application
Configured application Compiling Object Manager SRF Repository Data Siebel Repository File
19 of 24
23
Siebel 8.0 Essentials
23.20
Compile Projects
Compile only selected projects or locked projects for incremental compile Back up the .srf file prior to full compile To compile projects:
` Select Tools > Compile Projects ` Select project or projects
Compile into the client directory
20 of 24
Get Projects
Remember to compile any projects after using Get; this ensures that the object definitions edited by your fellow developers are compiled into your .srf file.
23.21
23
Siebel 8.0 Essentials
23.22
22 of 24
At end of the compile, the browser window refreshes The user is brought back to the view that was displayed before the compile
23.23
Module Highlights
Object definitions can be created and edited once the project is locked Validation determines correctness of object definitions Developer can generate archives that contain exported projects
` Share projects for back-up and version-control ` Export projects to and import from archive ` Highlight import conflicts and project differences
` Reads object definitions from repository tables ` Creates a flat file (.srf) accessed by the Siebel application at run time
Rapid Unit Testing allows developers to test changes using the Developer Web Client
23 of 24
23
Siebel 8.0 Essentials
23.24
Lab
24 of 24
24.1
24
Siebel 8.0 Essentials
24
24.2
Module Objectives
2 of 28
24.3
24
Reference
24.4
4 of 28
Sample HTML
The sample HTML tags shown in the slide are excerpted from the CCFrameBanner.swt template file.
24.5
24
Are edited using text or HTML editor of your choice Can include other template files via swe:include tag Reference Cascading Style Sheet files (.css)
5 of 28
24.6
Siebel Tags
Control layout repetitively through iteration Serve as placeholders for Siebel-specific content
<swe:this property= FormattedHtml"> <swe:screenname/> </swe:this><img src="images/tb1_cls_1_d.gif" align="absmiddle" width="5" height="19" alt=""></td> </swe:screenlink> </swe:for-each-screen> Siebel tag to insert the name of the screen
6 of 28
Sample HTML
The sample HTML tags shown in the slide are excerpted from the CCScreenbar_Tabs.swt template file.
<swe:screenlink state="Active"><td id="swe:this.Id" <img src="images/tb1_mid_1.gif"><img src="images/tb1_opn_1_d.gif" align="absmiddle" width="5" height="19" alt="">
24.7
24
Style sheets:
` Are located in PUBLIC\enu\FILES directory in a Siebel installation ` Can be modified by customers
Edit style sheet files to achieve the desired look and style for your implementation
` Backup the current .css files ` Edit .css files with your preferred HTML editor
/*globalMenu Definitions*/ /*----------------------*/ TR.globalMenu, TD.globalMenu, TD.globalMenu A, TD.globalMenu A:visited, TD.globalMenu A:hover { font-size: 8pt; Adjust fonts color:#000000; background-color: #ccccff; Adjust colors font-weight:normal; }
7 of 28
File Locations
Cascading style sheet files (.css files) are located in: The Siebel Server installation directory [siebsrvr_root]\WEBMASTER\files\[language_code] The Mobile or Dedicated Web Client installation directory ]client_root]\PUBLIC\[language_code]\FILES The Tools installation directory ]tools_root]\PUBLIC\[language_code]\FILES
From main.css
24.8
24.9
24
Placeholder
Copyright 2007, Oracle. All rights reserved. 9 of 28
24.10
Filter
Highlights Siebel-supplied tags for easy viewing Navigate to View > Windows > Web Templates Window
10 of 28
Parent template
Child template
24.11
24
Form Applet Web Templates List Applet Web Templates View Web Templates
11 of 28
Note
This list of Web Templates is not comprehensive; there are also Tree Applet Web Templates and Specialized Web Templates. Refer to Siebel Bookshelf for more information.
24.12
UI
12 of 28
Tools
24.13
24
Base Mode
A read-only list of data with buttons for editing
Edit Mode
An editable form for querying and data entry
13 of 28
24.14
EditList mode supports querying and data entry directly in the list
14 of 28
24.15
24
15 of 28
24.16
16 of 28
The Login Web template defines the layout of the Login page
24.17
24
Applet placeholders
Copyright 2007, Oracle. All rights reserved.
24.18
Registering
Siebel applications are delivered with hundreds of template files, all of which are registered. You will only need to register a template file in the unlikely event that you need to create a new file.
24.19
24
Creates an Applet Web Template object definition to specify the associated Web template
` Different applet modes can reference different Web templates
19 of 28
24.20
Creates a View Web Template object definition to specify the associated Web template
` Each view references a single view Web template
24.21
24
Creates a Web Page object definition and sets the Web Template property
21 of 28
Web page templates are templates that are not view or applet Web templates. Examples of common Web page templates are login page, error page, and container page.
24.22
Binding
Maps the components of an applet or view to placeholders in the corresponding template file Information is specified in the repository
` ` ` `
View Web Template Item Applet Web Template Item Web Page Item Results in the corresponding element being displayed at run time Binding Applets to Views
Applets Binding (Applet) Web template (View) Web template View Applet
Control placeholders
Applet placeholders
24.23
24
Are used at run time by the Siebel Web Engine to identify the controls that make up an applet
swe:control Tag
The swe:control tag shown in the slide is in the dCCForm1Col.swt template file. This file is included in the dCCApletForm1Col.swt template file which is registered as the Web Template File for the DotCom Applet Form 1-Column Web Template. This tag illustrates the use of the swe:for-each tag. In this case the swe:control tag is executed repeatedly with values from 1300 to 1305.
24.24
Are used at run time by the Siebel Web Engine to identify the applets that make up a view
swe:applet Tag
The swe:applet tag shown in the slide is in the CCViewDetail_ParentPntr.swt template file. This file is registered as the Web Template File for the View Detail (Parent with Pointer) Web Template.
24.25
24
Are used at run time by the Siebel Web Engine to position the links and buttons
25 of 28
swe:pageitem Tags
The HTML and SWE tags shown in the slide are excerpted from the dCCFrameBanner.swt template file.
24.26
Associating 2. Identifies the logical template used to render an applet, view, or container page
Binding
26 of 28
3. Specifies how the components of an applet, view, or container page are mapped
24.27
Module Highlights
24
Siebel Web Template Files are HTML files that specify how to render views for a Siebel application in a users browser
` Can include other template files ` Can reference CSS files
27 of 28
Siebel Tags are a Siebel-developed library of tags in Web template files processed at run time CSSs can be modified to define global parameters such as fonts and colors The four Web Template types are Form Applet, List Applet, View, and Web Page Template files require three types of relationships: Associate, Register, and Bind
24.28
Lab
28 of 28
25.1
25
Module 25: UI Layer Configuration: Applets
25
25.2
Module Objectives
2 of 24
25.3
25
3 of 24
Reference
25.4
4 of 24
The following are some additional applet types (see Siebel Bookshelf for a complete list): Catalog list Chart Explorer view Hierarchical list Message Multi-value group applet Pick applet Rich list Salutation
25.5
25
Highly recommended
25.6
6 of 24
25.7
25
` The business component fields that will appear in the Web layout ` Additional controls that will be added to the applet
7 of 24
Base and EditList mode are commonly built using Applet List (Base/EditList) Edit mode is commonly built using Applet List Edit (Edit/New/Query)
25.8
8 of 24
25.9
25
2. Drag and drop items from the Controls/Columns window Select and rightclick to delete controls that you have added
Copyright 2007, Oracle. All rights reserved. 9 of 24
25.10
` The controls or list columns that have been bound to the template ` The item identifier that describes where in the applet the controls or list columns should appear
Specifies which template to use
10 of 24
25.11
Specify:
` The field that is displayed ` The display name that appears at the top of the list column
25
11 of 24
25.12
Symbolic Strings
Ensure that the same name appears exactly the same way throughout the application Define it once, reference it anywhere Provide a way to manage updates, globally Are used by user interface objects such as:
Are stored in the repository containing words and phrases used in UI definitions
` Global Dictionary contains many commonly used terms ` Symbolic String Locale object type allows language translation
12 of 24
25.13
String reference:
` Refers to symbolic string object definitions ` Is selected from a picklist ` Refers to the name of the symbolic string
25
String override:
` Used for exceptions when strings are infrequently displayed ` Can be converted to symbolic strings using a Siebel-supplied string conversion utility
13 of 24
A string conversion utility is available that exports from local tables and imports to the Symbolic String table. It allows symbolic strings to be exported to a file, translated in another application, then imported back to the Siebel application with translated values for the appropriate language. The utility also allows developers to export string overrides and re-import them as string references, and it consolidates redundant local definitions. The utility file is Strconv.bat and is located in the Tools\bin directory.
25.14
14 of 24
25.15
25
` Modes to use
` Uses the Applet Form Grid Layout template
Base mode is required for Standard Interactivity clients only Creates controls and binds them to applet Web templates By default, all standard buttons are selected
15 of 24
25.16
25.17
Is used to:
` ` ` ` Create new control object definitions Bind controls to the Web template Resize controls Reposition controls
25
Grid Layout Editor
17 of 24
25.18
18 of 24
Format menu. . .
25.19
25
HTML label
HTML text
19 of 24
25.20
No Delete, No Insert, No Merge, No Update are set to restrict the behavior of the applet
` Can also be set at the business component level ` Most restrictive settings are always used
Business Component
Applet
Oracle Internal & Oracle Academy Use Only
20 of 24
25.21
25
21 of 24
25.22
Module Highlights
List applets:
` Display records simultaneously in a list ` Contain fields for one record displayed in a single row
22 of 24
Form applets display a single record and contain fields for the record in a grid or form Applet wizards ensure object definitions are created and steps are not omitted Web Layout Editor is used to add, remove, and reorder Web template items List column definitions specify field displayed and display name Symbolic strings ensure that the same name appears exactly the same way throughout the application
25.23
Lab
25
23 of 24
25.24
26.1
26
Oracle Internal & Oracle Academy Use Only
26
26.2
Module Objectives
2 of 24
26.3
26
Oracle Internal & Oracle Academy Use Only
UI Layer
Applet
View
Screen
Application
Business Layer
Field
Business
Component
Business Object
Data Layer
Column
Table
References
3 of 24
Reference
Configuring Siebel Business Applications: Configuring Screens and Views Configuring Siebel Business Applications: Configuring Applications
26.4
Applications
Are collections of screens through which users can navigate Use a container page to display the Siebel Web page Specify the application-level menus
Container page
4 of 24
26.5
26
Oracle Internal & Oracle Academy Use Only
5 of 24
26.6
Message bar
Copyright 2007, Oracle. All rights reserved. 6 of 24
Links
Links on the link bar and links used with business objects are two entirely different concepts. Links used with business objects are used to establish a relationship between parent and child business components in the business object. Link bar links on the container page are used merely as a navigation device.
26.7
Application-Level Menus
26
which contains
26.8
Screen Tabs
Contain links to screens Are defined as page tabs
8 of 24
26.9
Screens
Have a child object type called Screen View that specifies the views and categories that appear in the screen
` Sequence property specifies where the view appears in the screen ` Menu Text property defines the text that appears in Site Map ` Type property defines the type of view within the screen
Four types: Aggregate category, aggregate view, detail category, and detail view
26
Oracle Internal & Oracle Academy Use Only
9 of 24
26.10
An aggregate category is a container for a set of views accessible via a link in the linkbar
` May also contain subcategories
An aggregate view is a container for a set of views accessible via the visibility filter drop-down list, a link in the link bar, or the Home Page
Aggregate views
Copyright 2007, Oracle. All rights reserved. 10 of 24
Aggregate category
26.11
A detail view is a single view that displays data in a list or form that can be queried and edited
26
Oracle Internal & Oracle Academy Use Only
Aggregate category
Detail category. . .
Detail view
Copyright 2007, Oracle. All rights reserved. 11 of 24
26.12
Sequence Editor
26.13
View
Consists of one or more applets References a business object that defines the relationships between data in the view Is associated with a Web template that defines its layout
26
Oracle Internal & Oracle Academy Use Only
13 of 24
26.14
Menu
14 of 24
26.15
26
Oracle Internal & Oracle Academy Use Only
15 of 24
Best Practice
Siebel best practice is to modify an existing template. Steps to create and register a view template: Create a Web Template object. Create a Web Template file. Point to the view template file in the webtempl directory. Give a logical name to the template file so that it can be referenced by other objects. Registering the template creates a logical reference in the repository. It tells the repository that the template file exists.
26.16
View Wizard
16 of 24
26.17
26
Oracle Internal & Oracle Academy Use Only
` The Web templates that will be used ` The applets that make up the view
17 of 24
26.18
Creates view
18 of 24
26.19
26
Oracle Internal & Oracle Academy Use Only
19 of 24
26.20
20 of 24
26.21
Used in the markup language tag that specifies corresponding control in a template
26
Oracle Internal & Oracle Academy Use Only
26.22
Copy and paste the view name from the object definition in Tools to the view record
` Navigate to Administration - Application > Responsibilities to assign the view to one or more responsibilities
Assign the view to developers for unit testing and to users for system testing and production
26.23
Module Highlights
Applications are groups of screens through which users navigate Screens are containers for views
` Screen views come in four types: aggregate view, aggregate category, detail category, and detail view
Views:
` Consist of one or more applets ` Reference a BO that defines the relationships between data in the view ` Are associated with a Web template that defines their layout
26
Oracle Internal & Oracle Academy Use Only
23 of 24
26.24
Lab
24 of 24
27.1
27
27
27.2
Module Objectives
2 of 16
27.3
3 of 16
Reference
Configuring Siebel Business Applications: Configuring Screens and Views Configuring Siebel Business Applications: Configuring Applications
27
27.4
Drill down to another view, keeping the business component (BC) context
4 of 16
27.5
27
27.6
6 of 16
27.7
BC in target view
Reference
Configuring Siebel Business Applications: Configuring Screens and Views: About Drilldowns Siebel Security Guide: Configuring Drilldown Visibility
27
27.8
Dynamic Drilldown
Enables drilldown to multiple views from the same hyperlink field, depending on value of a field in the active record of the list
Note
The single value field that controls which view the dynamic drilldown navigates the user to is configured when the business component is created. In the example here, the business component is Contact and the single valued field is Personal Contact. For Adams, Personal Contact = Y (yes), while for Abboline Personal Contact = N (no).
27.9
Matching Conditions
Identify one or more matching conditions to trigger drilling down to a specific target view
` For example:
Personal Contact? N Contact Detail View Y Personal Contact Detail View
9 of 16
27
27.10
Set sequence number to determine where to look for dynamic drilldown destinations
` The drilldown object with the lowest sequence number is checked for dynamic drilldown destination child object definitions
The Original and Personal drilldown objects have the same Hyperlink field but different views
10 of 16
The Original drilldown object has the lower sequence number, so it is checked for dynamic drilldown destinations
27.11
If no default is configured, navigates to the view specified by the parent drilldown object
Contact Detail view is default
Field to check
Destination
27
27.12
Thread Bar
Tracks previous business object (view) and active record Updates whenever the user navigates to a different business object Provides hyperlinks to previous views
12 of 16
Note
The thread bar allows the user to navigate to a specific view or record previously visited, by selecting the item of interest in the thread bar. Drilldowns implement the users business logic; they are always parts of business processes. When a part of a business process is completed, the user will usually return to an earlier view or record, and the thread bar facilitates this navigation.
27.13
Thread Properties
Thread title
Thread field
Thread Title property specifies prior business object in hyperlink; if not entered, application uses Title property
Copyright 2007, Oracle. All rights reserved. 13 of 16
27
27.14
Module 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 ` Configured in Tools
14 of 16
27.15
Lab
15 of 16
27
27.16
28.1
28
28
28.2
Module Objectives
2 of 24
Reference
28.3
28
3 of 24
28.4
1. Join definition
2. Join specification
3. Singlevalue field
Copyright 2007, Oracle. All rights reserved. 4 of 24
28.5
Join Example
Will bring Sales Stage data from S_STG into the Opportunity BC
` S_OPTY is the base table, S_STG is the joined table
From S_OPTY
From S_STG
28
5 of 24
28.6
Building a Join
1. Locate the Data Source 2. Examine Existing Joins 3. Diagram the Join 4. Create the Join Definition 5. Create the Join Specification 6. Map the Single Value Field(s)
6 of 24
28.7
For assistance, use the job aid from the Business Component lab
Identify table and column that contains data you seek
28
7 of 24
Once you find the data in the UI, identify the specific table and column where the data resides
28.8
If a join exists that meets data display requirements, use it Otherwise, create a new join
8 of 24
28.9
S_STG
28
FK
PK
Joined Table
9 of 24
1. Enter business component name. 2. Enter base table name: value of Table property for BC. 3. Enter joined table name. 4. Enter joined table column name that contains data to be brought into this BC. 5. Enter foreign key column name. Select Table :: [base table] | Column. Query Foreign Key Table property for [joined table name]. For example, Table :: S_OPTY | Column. Foreign Key Table = S_STG. 6. Enter primary key column name. Select Table :: [joined table] | Column. Query Primary Key property for TRUE. For example, Table :: S_STG | Column. Primary Key = TRUE. 7. Enter SVF name. Select [business component] :: Single Value Field. Query Column property for [FK column]. For example, Opportunity :: Single Value Field. Column = CURR_STG_ID.
7. Single-value field
28.10
` Additional aliases for self-joins or multiple joins to the same table are specified by the developer
Name of join
Joined table
Copyright 2007, Oracle. All rights reserved. 10 of 24
28.11
28
PK
28.12
Specify business component field name, the joined table, and column name of the joined table
` SVF specifies the data you seek ` The join determines how you access that data
Base Table S_OPTY ROW_ID CURR_STG_ID FK NAME ROW_ID PK Data you need Joined Table S_STG
28.13
` Do not enable outer join if there is always a related row in the joined table
28
13 of 24
28.14
When Outer Join Flag is TRUE (checked), a left outer join is used
` All records in source table are displayed
` Records with no related record in target table display target values as null
S_OPTY ROW_ID 001 002 003 NAME 200 PCS CS Laptop units 200 PCS Puma Laptop EB 200 PCS Puma Laptop EB DESC_TEXT AT&T Imperial Tobacco Broadband e2e CURR_ STG_ID 105 106 NULL ROW_ID 101 102 103 104 105 106 NAME 03 - Closing 05 Won 07 - Selected 06 Short List 01 - Prospecting 02 - Qualification S_STG 9/7/2001 9/18/2001 2/20/2004 9/18/2001 9/18/2001 9/7/2001
FK
All records displayed from source
Copyright 2007, Oracle. All rights reserved.
PK
No corresponding record for Broadband e2e
14 of 24
PHASE_CD
28.15
Joins and Party Business Components Bringing Party Data into a Standard Business Component Bringing Party Data into a Party Business Component
28
15 of 24
28.16
` Used when relationship between tables is known ` Appears in Join property on SFV ` Does not appear as Join object definition
Contact
First Name Last Name Birth Date
S_PARTY
ROW_ID NAME PK PARTY_TYPE_CD PARTY_UID
S_CONTACT
BIRTH_DT ROW_ID FST_NAME LAFST_NAME PAR_ROW_ID
FK
Base Table
Copyright 2007, Oracle. All rights reserved.
Extension Table
16 of 24
S_PARTY Extension The following tables are some of the extension tables for S_PARTY: Tables S_BU S_CONTACT S_ORG_EXT S_POSTN S_USER
28.17
Example: Bringing account data into the Opportunity business component for display in an Opportunity applet
Opportunity
Name Description Account
28
17 of 24
28.18
1. Join definition
2. Join specification
3. Singlevalue field
18 of 24
PAR_ROW_ID
PAR_ROW_ID is referenced in the join specification and identifies the primary key of the related account record.
28.19
Standard
Party
PAR_ROW_ID
S_STG NAME
S_PARTY ROW_ID
28
FK
FK 001
PK 001
Joined Table
PAR_ROW_ID
PAR_ROW_ID is referenced in the join specification and identifies the primary key of the related account record.
PAR_ROW_ID
28.20
Example: Bringing parent account data into the Account BC for display in an Account applet
` A join in a BC that refers back to data in that same BC
Account
Name Location Parent Account Name Parent Account Location
20 of 24
28.21
Must use an explicit join to an extension table based on the appropriate foreign keys
` The alias must be different from those used by implicit joins in this BC
28
21 of 24
Implicit Joins
Remember that there is an implicit join available for each extension table for a base table. S_PARTY has many extension tables, including S_ORG_EXT, S_CONTACT, S_POSTN, and S_USER. These implicit joins are used in other party business components to map their main data.
28.22
Select the desired column in the joined table Set the appropriate type (DTYPE_TEXT, etc.)
22 of 24
28.23
Module Highlights
BCs can include data from related joined tables Join definitions and join specifications define how to access joined table data Single-value fields reference the join definition and define the field to access in the joined table To create a join:
Joins that involve party data are similar to standard data; however, when bringing party data into:
A non-party BC, create a join specification based on PAR_ROW_ID A party BC, use the appropriate explicit join
28
23 of 24
` Locate the data source, examine existing joins, diagram the join, create the join definition, create the join specification, and define the SVF
28.24
Lab
24 of 24
29
Copyright 2007, Oracle. All rights reserved.
Module 29: Business Layer Configuration: Existing Business Components and Fields
29
Module Objectives
2 of 30
` Editing the properties of business components and fields helps you to more accurately and fully capture your business logic
29
Copyright 2007, Oracle. All rights reserved. 3 of 30
Reference
29.4
Properties for Editing Owner Delete Property Search Specification Property Sort Specification Property
4 of 30
29.5
29
Copyright 2007, Oracle. All rights reserved. 5 of 30
If TRUE, once a record is created and committed, users cannot delete it. If TRUE, users cannot add new records. If TRUE, users cannot merge records. If TRUE, users cannot change existing records.
29.6
6 of 30
29.7
Set the Owner Delete property to TRUE to enable only the owner of a record to delete it
` The primary on a team-based business component is the owner of the record
JRUBIN is primary owner; only JRUBIN can delete
29
Copyright 2007, Oracle. All rights reserved. 7 of 30
29.8
BC field
Conditional statement
8 of 30
29.9
` All contacts where the Personal Contact flag is N ` All personal contacts belonging to the user
Logical operator
Function
29
Copyright 2007, Oracle. All rights reserved. 9 of 30
Field name in [ ]. . .
Operator
29.10
` Search specifications on the applet are combined with search specifications on the business component with an AND in the resulting SQL statement ` Avoid competing search specifications that preclude record display
UI Layer
List Column or Control
Applet
View
Screen
Application
Business Layer
Field
Business
Component
Business Object
10 of 30
Reference
29.11
29
12 of 30
Reference
Visibility MVField property is set to Sales Rep, so application reads list of positions from Sales Rep MVF to determine record visibility
For each record, the application compares the users current position to positions in Sales Rep MVF
29
13 of 30
` The My Opportunities view shows records with the users current position listed in the Sales Rep MVF ` The My Teams Opportunities view shows records where users direct or indirect reports are primaries on the Sales Rep MVF
Field Properties
Customize fields by editing property values Setting field properties at the business component level sets them across all applets that reference the business component
Properties set at the business component level affect all applets that reference the business component
14 of 30
Reference
29.15
29
Copyright 2007, Oracle. All rights reserved. 15 of 30
29.16
Note
To display custom error messages, you must use Data Validation Manager.
29.17
Validation Property
Checks the rule when a record is saved to ensure that the field data is valid Message is customizable Can refer only to business component fields in the same record
29
17 of 30
Reference
29.18
Rules are expressed as a combination of logical operators, constants, field names, and predefined functions
Operator
Logical operator
18 of 30
29.19
Example: If the user does not designate a contact as personal, the system assumes it is not personal, and sets it to N
29
Copyright 2007, Oracle. All rights reserved. 19 of 30
29.20
Calculated Fields
Derive their value from values in other fields in the same record of the business component in which the calculated field resides Cannot be stored in the database; therefore, there is no associated column To enable, set Calculated property to TRUE (checked)
Column property is empty because calculated fields are not stored in the database
20 of 30
29.21
` Performance depends upon whether functions in the query expression can be incorporated into the SQL statement
29
Copyright 2007, Oracle. All rights reserved. 21 of 30
29.22
System functions
22 of 30
Reference
User Properties
Are object definitions added as children to an applet, business component, control, field, or list column Used to configure specialized behavior beyond what is configured in the parent object definition's properties Each user property contains its own conditional logic
` Can implement specific, custom IF/THEN logic ` Many use their own unique syntax
Can be used as a declarative alternative to scripting A wide variety of user properties exist, such as:
` BC Read Only Field, Field Read Only Field, and On Field Update Set
29
Copyright 2007, Oracle. All rights reserved. 23 of 30
User Properties
There are a large number of user properties, each with its own specialized behavior. For additional information, refer to Siebel Developers Reference.
Business challenge
` Based on values the end user enters at run time, dynamically disallow updates to record
Business solution
` Use the BC Read Only Field user property
Allows you to specify a field on the business component that determines whether individual records are read-only
Order has shipped, and it is too late to add more line items to the order
BC Read Only Flag N Order Entry - Line Items Target BC Writable
24 of 30
Read-only
` Example: Shipped orders cannot accept changes to order entry line item records in an existing order
Create a calculated field on the Order Entry Line Items business component whose value is either Y or N
` BC Read Only Field user property requires an input value of Y or N, so create a calculated field whose values are limited to those two values
For this example, create a calculated field named BC Read Only Flag with the expression: IF([Status] = "Shipped", "Y", "N")
BC Read Only Flag SVF has a value of Y if the status of the item is shipped, N otherwise
Copyright 2007, Oracle. All rights reserved. 25 of 30
29
` This sets the value of the calculated field to Y if the status is shipped, N otherwise
26 of 30
This condition affects. . . . . .this target field. . . . . .depending on the Boolean value in this field
Copyright 2007, Oracle. All rights reserved.
29
27 of 30
Is done via a picklist in the Name property in the Business Component User Properties window
` Only those user properties allowed for parent BC are displayed
28 of 30
Module Highlights
29
Copyright 2007, Oracle. All rights reserved. 29 of 30
BusComp View Mode specifies BC is subject to access control Calculated fields derive their value from other fields in the same record of the BC in which the calculated field resides User Properties have their own specialized logic that can be added to a BC
Lab
30 of 30
30
Module 30: Business Layer Configuration: New Business Components and Fields
30
Module Objectives
2 of 22
Business Challenge
Siebel-provided business components capture most commonlyused business entities, but they do not cover every possibility Example: Sales organizations might record personal data about contacts, such as:
Name of college, years attended, major field of study, sports played, honors received, and so on Name and location, price range, type of cuisine, and so on
3 of 22
30
Reference
` ` ` `
4 of 22
Used to add entities specific to your organization that are not in the Siebel repository You can base these business components on tables supplied by Oracle
When creating a BC with a 1:M relationship with the parent business component, consider using a 1:M extension table
Colleges Attended
Contact
Favorite Restaurants
5 of 22
30
One for Contact : Colleges Attended One for Contact : Favorite Restaurants
PAR_ROW_ID column stores foreign key to ROW_ID in main table TYPE column identifies the child business component
Copyright 2007, Oracle. All rights reserved. 6 of 22
User Key
TYPE, PAR_ROW_ID, and NAME serve as a user key for the table
` These three columns are required
Must provide values for all three columns when creating a new record
S_CONTACT_XM
PAR_ROW_ID ROW_ID TYPE NAME
User Key
7 of 22
30
Ensuring that NAME For BCs with data that cannot be stored in a Varchar 100 column, you must Is Unique still provide a unique value for NAME NAME has physical type varchar 100 If two rows in table share same TYPE & PAR_ROW_ID, then NAME must be unique Workaround is to store value of ROW_ID in NAME
8 of 22
` The business components table name ` Fields that will be part of this BC
` ` ` `
Specify TYPE column and relate it to Type field Specify PAR_ROW_ID column and relate it to Id field Specify NAME column and relate it to Name field Use ATTRIB_ columns for additional data
Columns are limited to the table you select in wizard Use a separate column for each field
9 of 22
30
Selected in the wizard by specifying Table Column, then entering a field name
Aside from what you specify in the wizard, uses default field and table values; for example, Owner Delete is set to FALSE
10 of 22
11 of 22
30
Manually set the search specification to match the unique TYPE value for the business component
` Specifies the records to be retrieved by the business component
12 of 22
Each BC retrieves only those rows with its TYPE value Specify properties on business components and fields
Colleges Attended
Type = College
S_CONTACT_XM
ROW_ID PAR_ROW_ID NAME TYPE
Favorite Restaurants
Type = Restaurant
Copyright 2007, Oracle. All rights reserved.
13 of 22
30
30.14
Post-Creation Tasks
1. Relate Child and Parent BCs 2. Reference Business Component in Business Object 3. Enable Display Data in UI
14 of 22
30.15
For each child/parent relationship, associate the newly configured child business component to the parent:
` Create a link definition to relate child and parent records
Parent
Contact
Contact/Favorite Restaurants Link Contact/Colleges Attended Link
Favorite Restaurants
Child
Colleges Attended
Child
15 of 22
30
30.16
Child is Restaurant
Parent is Contact
16 of 22
Link creation is same as with any standard BC This will be the link you specify in the business object
30.17
Create a Business Object Component definition for each new business component
` The business object defined for the parent is the one to use ` The business component is the child you just created ` Set the Link property
Parent BC
Child BC
Copyright 2007, Oracle. All rights reserved.
30
New Parent BCs and If you create a parent business component you must also create an entirely Business Objects new business object.
30.18
Build applets and views as required to display data from the business component
` To prevent users from changing the value, do not display the Type field
List Applet Wizard
18 of 22
May be necessary when your company's business logic requires a new table be added to the database
` In most cases, Siebel's extensive database should meet most of your needs. There could be exceptions.
19 of 22
30
Creating a Table
The new steps of creating a table and adding columns is covered in a later module.
Module Highlights
Create a new BC as child of an existing BC to capture new information When possible, use predefined _XM tables to store data Use the BC Wizard to create a new BC When using extension tables, use one extension table to map to multiple child BCs
Create a link definition to associate new child BCs with parent Add new BC to a BO, then create applets and views to display data Create a standalone BC, when necessary
20 of 22
Lab
21 of 22
30
31.1
31
31
31.2
Module Objectives
2 of 22
31.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
3 of 22
References
Configuring Siebel Business Applications: Configuring Picklists and Pick Applets Configuring Siebel Business Applications: Creating and Administering Lists of Values
31
31.4
Static Picklist
Displays values in a drop-down list for user selection Copies the selected value into destination field
Drop-down list
4 of 22
31.5
Each have a type, which indicates which static picklist the value belongs to
5 of 22
31
31.6
Select an existing picklist or create a new picklist type in the List of Values - Types applet Expand the type and select the child Values folder Edit the picklist values in the List of Values (LOV) applet
Oracle Internal & Oracle Academy Use Only
6 of 22
31.7
Dynamic Picklist
Displays values in a pick applet Draws values from a business component (BC) with records edited by users
7 of 22
31
31.8
Picklist Terms
Siebel picklists:
` Are associated with a field in the originating business component ` Draw values from a pick business component
31.9
Use the Pick List Wizard to create a new static or dynamic picklist
` Select File > New Object > Pick List
9 of 22
31
31.10
10 of 22
31.11
11 of 22
31
31.12
Drop-down control
Copyright 2007, Oracle. All rights reserved. 12 of 22
PickList Generic
Static picklists all share a common pick business component, PickList Generic. This very simple, Siebel-provided business component provides a connection between the originating business component and field and the values that appear in S_LST_OF_VAL. PickList Generic contains fields corresponding to each of this tables columns, such as Type and Value. Notice in the middle picture above that the pick map is mapping the originating field M/M to the PickList Generic field Value, which links the MR_MS entries in S_LST_OF_VAL with the M/M field of Contact.
31.13
The Pick List Wizard may activate drop-down control for picklist field
` The wizard displays all applets displaying the originating field ` Only the applets locked by developer will be activated
13 of 22
31
31.14
14 of 22
31.15
15 of 22
31
31.16
16 of 22
31.17
Picklist
31
List column or control for originating field must have Runtime property set to TRUE
31.18
Constrained Picklist
18 of 22
31.19
Constraining a Picklist
Create a pick map definition for each field that must match Set the Constrain property to TRUE for each of the matching fields
` Filters the pick business component records for matches ` Does not copy values for the field
Constrained to return only SubAreas whose Parent is equal to the Current Area
19 of 22
31
31.20
Module Highlights
Picklists allow selection of values from a list for one or more single-value fields in an originating business component 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 ` 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
20 of 22
Dynamic picklists:
31.21
Lab
21 of 22
31
31.22
32.1
32
32
32.2
Module Objectives
2 of 22
More child data can be available within a view More effective use of screen space
32.3
Multi-Value Group
A multi-value group (MVG) is a set of detail (child) records associated with a parent record
` The Parent applet displays only one of the child records ` The MVG applet opens on demand to display all child records
MVG applet
3 of 22
Reference
Configuring Siebel Business Applications: Configuring Multi-Value Group and Association Applets
32
32.4
Is an alternative to a detail view for managing parent and related child records
` Makes effective use of space
` Allows for multiple sets of detail records to be available from a single view
Industries MVG
4 of 22
Territory MVG
32.5
Allows users to access child records for multiple parent records in a single list view
Business Address MVG Territory MVG Industries MVG
5 of 22
32
32.6
Allows for creating queries that include values for fields in both parent and child records
Query on Organization
Query on Territory
6 of 22
Query on Industries
32.7
Primaries
Primary key allows fast retrieval of the primary child record for display in the parent applet
` A primary refers to a designated child record ` Designating a primary allows one child record to be retrieved quickly for display
Supported by a primary foreign key field in the parent business component to reference the childs primary key (ROW_ID)
S_ORG_EXT
ROW_ID NAME PR_ADDR_ID LOC
Parent BC
S_ADDR_ORG
ADDR CITY ROW_ID OU_ID
Child BC
Foreign key
7 of 22
32
32.8
Three MVGs on a list applet displaying 10 parent records requires 31 queries to populate without primaries
` One query to populate parent fields in list applet ` 30 queries (three per parent record) to populate the MVGs
Multi-value groups
8 of 22
32.9
Using primaries, one query will populate all the fields on the list applet
` A query using SQL joins populates each MVG with its primary child record
Multi-value groups
9 of 22
32
32.10
MVGs are implemented in Siebel applications using the following object types: Link Multi-Value Field (MVF) MVG Applet
10 of 22
32.11
Link
Must exist between parent and child business components in the MVG
` Specifies how to get data from child business component
Parent business component
Account
Name Location City
32
32.12
Single-value field Multi-value field Parent business component Child business component
Account
S_ORG_EXT
ROW_ID NAME EMP_COUNT LOC
Business Address
City Street Address
S_ADDR_ORG
ADDR ROW_ID CITY ZIPCODE
12 of 22
Name
Location
City
32.13
MVG Applet
13 of 22
MVG Applet
There is no requirement that the MVG applet display only those multi-value fields that are displayed on the parent applet. This allows an MVG applet to be used in other MVGs throughout the application.
32
32.14
14 of 22
32.15
15 of 22
Link Properties
The following properties can be set to TRUE or FALSE for a link: No Associate, No Copy, No Delete, No Insert, No Update. No Associate equals TRUE specifies that no new associations can be created through the link. New child records may be added.
32
32.16
16 of 22
32.17
17 of 22
32
32.18
Child BC
Account
Name
S_INDUST
SIC DESC_TEXT _ NAME
S_ORG_INDUST
INDUST_ID ROW_ID OU_ID
PK FK
18 of 22
LOC
PR_INDUST_ID
ROW_ID
32.19
19 of 22
32
Association applet
32.20
Module 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 parents applet
` Speeds retrieval of parent record with primary child record for display in UI ` Supported by a primary foreign key ` Multi-value fields (MVFs) ` A multi-value link ` A MVG applet
20 of 22
32.21
Lab
21 of 22
32
32.22
33.1
33
33
33.2
Module Objectives
Standalone table 1:1 extension table 1:M extension table Intersection table
2 of 24
33.3
3 of 24
33
33.4
Prior to extending the Siebel database, consider using: Unused Columns in an Existing Table Existing 1:M Extension Table
4 of 24
33.5
Consider mapping new fields to unused columns in an existing base or 1:1 extension table
` Verify that the candidate column has the desired type ` Consider possible upgrade conflicts in future releases ` Consider performance impact of a join to the 1:1 extension table
1:1 extension table of S_OPTY Unused columns Find desired type and length
5 of 24
33
33.6
Consider mapping the new business component to an appropriate 1:M extension table (as discussed in an earlier module)
` Verify that the business component has the correct M:1 relationship to the candidate parent business component
6 of 24
Contact
Favorite Restaurants
33.7
Changes the database schema and requires propagating the changes to:
` Other developers during development ` Mobile users after development for applications in production ` Production enterprise at completion of development and testing
7 of 24
33
` Map columns in the EIM tables needed to import and export data to the extension columns and tables ` Specify how data for these extension columns and tables are to be routed to remote users (Dock Objects)
33.8
8 of 24
33.9
General suggestions:
` When adding a new column:
If column is not often populated, use an existing column in an extension table if available If field often populated, avoid join overhead by using adding an extension column to base table A form applet, prefer an existing column in an extension table A list applet, prefer an extension column in the base table
` Join overhead can be significant when displaying many records
9 of 24
Reference
Siebel Bookshelf, Configuring Siebel Business Applications, Configuring Tables and Columns
33
33.10
Extension column
10 of 24
33.11
11 of 24
Table Name
A table name must start with CX_ and cannot exceed 15 characters.
33
33.12
System columns
12 of 24
33.13
13 of 24
Extension Tables
1:1 extension tables cannot be created for tables such as S_ORG_EXT and S_CONTACT, which are already extension tables of S_PARTY. Rather, create the new table as an extension table of S_PARTY.
33
33.14
Required nine system columns PAR_ROW_ID column as the foreign key column to the base table P1 index on ROW_ID U1 index on PAR_ROW_ID and CONFLICT_ID
S_PROD_INT
NAME ROW_ID PART_NUM UOM_CD
` Two indexes:
CX_PROD_INT_X
ROW_ID NEW COLUMN PAR_ROW_ID
14 of 24
Indexes
Indexes allow fast retrieval and sorting of records using one or more designated columns. Inserts and updates on indexed columns are costlier than on un-indexed ones. Is used by Siebel Remote to resolve synchronization conflicts between remote clients. See Siebel Bookshelf, Remote and Replication Manager Administration Guide for further details.
CONFLICT_ID
33.15
15 of 24
33
33.16
Nine required columns PAR_ROW_ID column as the foreign key column to the base table
16 of 24
P1 index on ROW_ID U1 index on PAR_ROW_ID, TYPE, NAME, and CONFLICT_ID M1 index on TYPE and NAME
33.17
Specify the foreign key column name for each parent table
17 of 24
33
33.18
18 of 24
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
33.19
Best practices for changing the schema: 1. Apply Changes to the Local Database
19 of 24
33
33.20
Compile relevant objects and projects Test changes locally before checking in to the server
New table
20 of 24
DDL
Stands for Data Definition Language, the subset of SQL statements used to define and manipulate database objects. Typical SQL commands used in DDL are CREATE, DELETE, ALTER, and so on.
33.21
Apply
Check in
Copyright 2007, Oracle. All rights reserved. 21 of 24
33
33.22
22 of 24
33.23
Module Highlights
23 of 24
33
33.24
Lab
24 of 24
34.1
34
34
34.2
Module Objectives
2 of 18
34.3
Automation options within the Siebel application can address such challenges as:
3 of 18
34
` Maintaining and standardizing consistent business processes across all business units ` Routing and assigning tasks accurately and efficiently ` Responding in a timely, effective manner to customer inquiries and service requests ` Assisting users with the implementation of best practices ` Offering consistent and personalized service to customers
34.4
Siebel Workflow
Is a set of capabilities to extend the functionality of Siebel applications by automating business processes Includes capabilities such as:
` Workflow Processes
Automates steps in a business process Invokes workflow process under specified conditions Guides users through a series of views to complete a step in business process Automates assignment of data (such as opportunities and service requests) to the desired people Enforces a limited life cycle for select business entities
` Workflow Policies
` Assignment Manager
` State Model
4 of 18
` Tasks
34.5
Business Service
5 of 18
Reference
34
34.6
Siebel repository contains many prebuilt business services to support processing in areas such as
` Customer order management
ISS Credit Check Service ISS Shipping Cost Service ISS Tax Calculation Service EAI Siebel Adapter EAI HTTP Transport XML Hierarchy Converter XML Converter Business Rule Service
6 of 18
34.7
Are written in C++ Cannot be modified by customers Are written in Siebel Visual Basic or eScript Are created and modified by customers using Siebel Tools
7 of 18
34
34.8
8 of 18
Client Database
The term client database refers to tables in the Siebel database that store user data.
34.9
Methods
StringManipulation
Argument name Length
InputString String InputString String String1 String Length Number String2 String
Truncate
Argument type
Concatenate
Method
Input arguments
Output arguments
9 of 18
34
Length
Number
34.10
10 of 18
34.11
In Siebel Tools, navigate to Business Service | Business Service Method | Business Service Method Arg
11 of 18
34
34.12
Invoking a Method
Involves:
` Assigning values to the input parameters
InputString String
Length Number
Truncate
OutputString String
Concatenate
12 of 18
Siebel
Length
Sieb
34.13
Property Set
StringManipulation
InputString String
Length Number
Truncate
OutputString String
Concatenate
13 of 18
34
Siebel
Length
Sieb
34.14
Values for predefined properties Predefined property names Array of user-provided name/value pairs InputString Length
Type Value
Siebel 4
14 of 18
34.15
15 of 18
34
34.16
16 of 18
34.17
Module Highlights
` Is invoked by passing in the input arguments in a property set ` Returns the output arguments in a property set
17 of 18
34
A property set is an in-memory data structure consisting of name value pairs A business service
34.18
Lab
18 of 18
35.1
35
Siebel 8.0 Essentials
35
35.2
Module Objectives
2 of 26
` Siebel workflow processes are one of several declarative techniques to automate business logic
35.3
Workflow Process
Is an ordered set of steps executed in response to a defined set of conditions Is used to automate parts of a business processes in a Siebel application
3 of 26
Reference
35
Siebel 8.0 Essentials
35.4
Workflow Designer
Siebel Tools includes a Workflow Designer used to create, examine, and modify Siebel workflow processes
` Contains a palette, workspace, and associated property windows
Palette of workflow steps Multi Value Property Window (displays properties of child records of selected item)
4 of 26
Reference
Siebel Business Process Framework Workflow Guide: For Developers: Basics of Building Workflow Processes
35.5
End step
5 of 26
35
Siebel 8.0 Essentials
35.6
6 of 26
35.7
Next record and previous record operations supported for iteration over multiple records returned by a query
7 of 26
35
Siebel 8.0 Essentials
35.8
8 of 26
35.9
Allows a workflow to branch to one of multiple steps based on the value of inputs
If input = no
9 of 26
35
Siebel 8.0 Essentials
If input = yes
35.10
Process Properties
Process properties are variables that store inputs used by and outputs produced by workflow steps Each workflow process has a set of process properties that persist while the workflow process is executing
` Some are populated when the workflow process is invoked ` Some return data to invoking workflow process or business service upon completion
35.11
Process Properties
StringManipulation
Length
Truncate
String1 String String2 String OutputString String Business service step
Concatenate
11 of 26
35
Siebel 8.0 Essentials
35.12
1. Create a New Workflow Process 2. Specify the Process Properties 3. Add Workflow Steps 4. Configure the Steps 5. Validate the Workflow Process
12 of 26
35.13
` Enter the process name ` Assign the process to a locked project ` Assign a business object
13 of 26
Business Object
A business object must be specified whenever you use a workflow step (such as a Siebel Operation step) that references a business component. In addition if a workflow references a business object, then the workflow must be executed in the context of that business object.
35
Siebel 8.0 Essentials
Right-click and select Edit Workflow Process to invoke the Workflow Designer
35.14
` Add new process properties to store additional values created and used by the workflow steps ` Leave the default process properties as is
14 of 26
35.15
Connector anchored
35
Siebel 8.0 Essentials
35.16
Use the properties window Field names Search spec input arguments Output arguments
16 of 26
Business component
35.17
17 of 26
35
Siebel 8.0 Essentials
35.18
Select the Input Arguments tab in the MVPW Assign a literal value or a process property to each input Select the Output arguments tab in the MVPW Assign each output to a process property
18 of 26
35.19
For each decision point step, set conditions on each branch (connector) originating at the step
` Select connector ` Right-click and select Edit Conditions
19 of 26
35
Siebel 8.0 Essentials
35.20
20 of 26
35.21
21 of 26
35
Siebel 8.0 Essentials
35.22
Invokes another workflow process as a sub process Navigates the user a view and waits for user activity Pauses the workflow for a specified period of time before proceeding Stops the workflow process instance if a predefined exception occurs Invokes a Siebel task (subject of a subsequent module)
` User interact
` Wait
` Task
22 of 26
` Stop
35.23
Workflow Modes
Executes a discrete set of steps and completes Is the default mode for a new workflow Cannot include wait or user interact steps Designed to navigate users through a set of views Is being replaced by Siebel tasks Is a workflow that is intended to persist for some indeterminate period of time Can be paused and resumed as an inbox item Cannot include a wait step Provided for backward compatibility of workflows defined prior to Siebel 7.5 release Should not be used for any new workflows
23 of 26
` Interactive flow
` 7.0 flows
Interactive Flows
Siebel Task UI provides significantly enhanced capabilities to guide users through a series of views. However interactive flows may still be used if all you wish is to navigate a user from one regular Siebel view to another. In addition, Task UI is applicable in only the High Interactivity client. Interactive flows must be used for the Standard interactivity client.
35
Siebel 8.0 Essentials
35.24
Module Highlights
A workflow process is an ordered set of steps executed in response to a defined set of conditions
` Is used to automate parts of a business processes in a Siebel application
` ` ` ` `
Creating a new workflow process Specifying the process properties Adding workflow steps Configuring each step Validating the workflow process
24 of 26
Siebel workflow processes consist of different types of steps (Business service, Siebel operation, decision point, etc.) Process properties are variables that store inputs used by and outputs produced by workflow steps Build a workflow process by:
35.25
Lab
25 of 26
35
Siebel 8.0 Essentials
35.26
36.1
36
Siebel 8.0 Essentials
36
36.2
Module Objectives
2 of 26
36.3
36
3 of 26
36.4
Workflow Simulator
Use the workflow simulator to verify that the workflow performs as desired
` Workflow simulation is controlled in Siebel Tools ` Workflow is actually executed in an instance of a Siebel client
DB
Copyright 2007, Oracle. All rights reserved. 4 of 26
Reference
Siebel Business Process Framework Workflow Guide: For Developers: Testing Workflow Processes
36.5
36
36.6
1. Specify the Test Record 2. Start the Simulator 3. Start the Simulation 4. Execute the Workflow
6 of 26
36.7
36
In Siebel Tools, enter the row ID of the test record as the default string for the Object ID process property
` When the workflow is invoked in production, row ID of the record is passed in as an input argument
7 of 26
36.8
8 of 26
36.9
36
Wait until Siebel client application starts and displays the Workflow Simulator view
9 of 26
36.10
10 of 26
36.11
36
Inspect the watch window to verify that process properties have the expected values
` Values of user added process properties can be edited during a simulation
36.12
Verify that the final values of process properties are correct Click the Stop Simulation button Inspect the client and verify that the desired changes occurred
Stop simulation
12 of 26
36.13
36
Cannot simulate workflows with run-time events on start steps (discussed in a subsequent module) Can simulate workflows with user interact steps
13 of 26
` Requires the developer to perform the activity in the client application to allow the simulation to proceed
36.14
14 of 26
36.15
36
` Developer setting the workflow complete in Siebel Tools ` Administrator activating the workflow in the run-time client
15 of 26
36.16
16 of 26
36.17
36
In Siebel Tools, check in the completed workflow process to the server repository
` Siebel Web Client can now access the workflow
17 of 26
36.18
Transfers the workflow definitions in the repository tables into corresponding run-time tables
18 of 26
36.19
36
` Sets the status to Completed ` Transfers the workflow definitions in the repository tables into corresponding run-time tables
Publish/Activate
19 of 26
Siebel client (for testing) must use the same database as Siebel Tools
36.20
Workflow Monitoring
The value assigned is used whenever the workflow process is invoked or resumed
20 of 26
36.21
Monitoring Level
36
* In Detail, data is written at the end of the workflow ** In Debug mode, data is written to disk after every step
21 of 26
None
36.22
Deployment Considerations
Deploy all child workflows (sub processes) first to make them available to the deployed workflow Compile any new repository objects referenced in the deployed workflow such as business components, fields, and views
22 of 26
36.23
Revising Workflows
36
To revise a workflow
` In Siebel Tools, select the desired workflow (check out if necessary) ` Click the Revise button in the Workflow toolbar
23 of 26
36.24
24 of 26
36.25
Module Highlights
36
Use the workflow simulator to verify that the workflow behaves as designed
` Workflow simulation is controlled in Siebel Tools ` Workflow is executed in an instance of a Siebel client
25 of 26
` In Siebel Tools, publish the workflow ` In the run-time client, activate the workflow to make the workflow available for invocation
36.26
Lab
26 of 26
37.1
37
Module 37: Executing Workflow Processes
37
37.2
Module Objectives
2 of 24
37.3
37
3 of 24
Reference
In both cases workflow processes are executed using the Workflow Process Manager business service
37.4
4 of 24
37.5
37
` Can respond to conditions that exist for some threshold period of time
Is used to execute specific business logic when a specified condition is satisfied Will be discussed in the following module
5 of 24
37.6
6 of 24
37.7
Run-Time Events
Are a mechanism that allows customer-configured processing to be triggered by user activity Consist of:
37
7 of 24
Reference
Siebel Personalization Administration Guide: Tracking Run-Time Events Run-time events were introduced as part of Siebel Personalization and are therefore described in the Personalization Administration Guide.
37.8
Examples: logging in, logging out Examples: displaying an applet, displaying a record Examples: Querying, deleting a record, setting a field value
` Applet
` Business component
8 of 24
37.9
37
The Pre- event is fired immediately prior to object manager executing the operation
The other event is fired immediately after the object manager executes the action
` Example: WriteRecord executes customer processing after the record is written
9 of 24
37.10
A run-time event can be added to a workflow process as a condition on the connector out of a:
` Start step
` Wait step
10 of 24
Reference
Siebel Business Process Framework: Workflow Guide: For Developers: Understanding How Workflow Processes Are Designed
37.11
1. Add the Run-Time Event 2. Deploy and Activate the Workflow 3. Reload the Run-Time Events
37
11 of 24
37.12
In the properties window, specify the triggering event Caution: A workflow with a run-time event on the start step cannot be tested with the workflow simulator
Select connector Specify the event type, business component, and event to monitor
Copyright 2007, Oracle. All rights reserved. 12 of 24
37.13
37
13 of 24
37.14
Activating the event automatically registers the run-time event and associated workflow with the Siebel run-time event engine
` Creates an action set that invokes the Workflow Process Manager
Arguments to pass in
Copyright 2007, Oracle. All rights reserved. 14 of 24
37.15
` Updates the run-time event engine with the new run-time event ` Not necessary to query for the specific run-time event
37
15 of 24
37.16
37.17
37
17 of 24
37.18
Add a new Applet User property that associates the workflow to be invoked with the new named method
18 of 24
37.19
Add a new Applet User property that associates the workflow to be invoked with the new named method
Specify a userdefined name for a Method to invoke on the control
37
Create an applet user property specifying the workflow to execute when the named method is invoked
19 of 24
37.20
20 of 24
37.21
A workflow process can also be executed using the business service simulator
` Is an alternative way of testing new workflows
37
21 of 24
37.22
Module Highlights
Workflow processes are executed in the Workflow Process manager in either the application object manager or in a server component
` Can be executed either synchronously or asynchronously
Run-time events are a mechanism that allows customerconfigured processing to be triggered by user activity
22 of 24
37.23
Lab
37
23 of 24
37.24
38.1
38
Oracle Internal & Oracle Academy Use Only
38
Copyright 2007, Oracle. All rights reserved.
38.2
Module Objectives
2 of 24
` Some workflow processes are best executed asynchronously on the Siebel server
38.3
Example: If a critical service request remains unassigned for more than two hours, notify the service manager and set the priority to High
38
Oracle Internal & Oracle Academy Use Only
3 of 24
38.4
Workflow Policies
Action is invoked when all conditions are true Example: When a service request priority = Critical AND substatus = Unassigned:
Conditions: Conditions: Substatus Substatus= =Unassigned Unassigned Service Request Service RequestPriority Priority= =Critical Critical
Actions: Actions: Update Updatepriority priorityto toHigh High Send message to Send message toservice servicemanager manager
4 of 24
Reference
38.5
` Conditions must apply for the duration before the action is executed
Workflow Workflow Policy Policy
38
Oracle Internal & Oracle Academy Use Only
then execute
Conditions: Conditions: Status Status= =Open Open Service ServiceRequest RequestPriority Priority= =High High
Actions: Actions: Update Updatepriority priorityto toVery VeryHigh High Send message to owner Send message to owner
5 of 24
A workflow policy column is an object definition configured in Siebel Tools that identifies a column in a Siebel database table that can be monitored by a workflow policy.
38.6
6 of 24
38.7
Workflow Policies
Leverage:
` A separate server component known as the Workflow Process Manager component
38
Oracle Internal & Oracle Academy Use Only
` Database triggers:
A trigger is a process or a stored procedure attached to a database table that fires when a specified data modification event occurs Are created by the Generate Triggers server component
7 of 24
38.8
` Identifies policy conditions that are satisfied ` Invokes the desired workflow process
Execution is asynchronous
S_ESCL_REQ
Generate Triggers
Create triggers corresponding to policy conditions Executes the workflow process specified in action
EIM
Siebel Database
38.9
A workflow policy group is a collection of workflow policies that are monitored as a group by a workflow monitor agent process
` Typically workflow policies that can be monitored at the same frequency are assigned to the same policy group
38
Oracle Internal & Oracle Academy Use Only
9 of 24
38.10
10 of 24
If the Workflow Management component group is not enabled as part of installation, it can be enabled using the Server Configuration Administration screen.
38.11
38
Oracle Internal & Oracle Academy Use Only
11 of 24
Generate Triggers Workflow Action Agent Workflow Monitor Agent Workflow Process Batch Manager Workflow Process Manager Workflow Recovery Manager
Creates insert, update, and delete triggers on base tables based on defined workflow policies. Optional component with email consolidation. Executes actions associated to a workflow policy. Monitors workflow policies to invoke workflow processes. Enables workflow processes to be run in batch mode, allowing actions to be executed for multiple records. This is the workflow engine for workflow processes and is used for real-time process automation. Recovers crashed instances and resumes instances that have been waiting beyond a due date.
38.12
1. Create a Workflow Group 2. Create a Workflow Policy Action 3. Create a Workflow Policy 4. Generate Database Triggers 5. Start Workflow Monitor Agent
12 of 24
38.13
38
Oracle Internal & Oracle Academy Use Only
13 of 24
38.14
Specify the Run Workflow Process program Specify the workflow process to invoke
14 of 24
38.15
38
Oracle Internal & Oracle Academy Use Only
Create a policy
Create a condition
15 of 24
38.16
3. Set Duration
The workflow policy actions are triggered as soon as the policy conditions are met
16 of 24
38.17
Run a Generate Triggers batch job to create database triggers corresponding to the policy conditions
` When a trigger fires against a Policy Condition, a record is inserted in the Escalation Request Table (S_ESCL_REQ) ` S_ESCL_REQ contains all the rows in the database that could trigger a policy to take action
38
Oracle Internal & Oracle Academy Use Only
17 of 24
38.18
Submit job
Specify parameters
18 of 24
Privileged User
Credentials for a privilege user must be specified in order to allow the generation of triggers on the Siebel database tables. Most often the database owner for the Siebel database is specified.
38.19
Create a custom Workflow Monitor Agent component definition to specify a Workflow group
` Monitors all policies within a single Workflow group
38
Oracle Internal & Oracle Academy Use Only
19 of 24
38.20
20 of 24
38.21
38
Oracle Internal & Oracle Academy Use Only
21 of 24
38.22
Module Highlights
A workflow policy is a rule consisting of one or more conditions and a policy action to be executed when the conditions are satisfied Workflow policies implement asynchronous execution of workflow processes Workflow policies require the use of:
22 of 24
` Generate Triggers to create the database triggers ` Workflow Monitor Agent to check for fired triggers ` Workflow Process Manager to execute the associated workflow policy
38.23
Lab
38
Oracle Internal & Oracle Academy Use Only
23 of 24
38.24
Siebel Task UI
39.1
39
Copyright 2007, Oracle. All rights reserved.
39
Siebel Task UI
39.2
Module Objectives
2 of 20
Siebel Task UI
39.3
Business Challenge
Many tasks require users to perform several steps to complete the task
` Users may not be familiar with the sequence of steps ` Users may inadvertently skip a step ` Users often require additional training to complete the task
Companies would like to implement a user interaction style that assists users in completing such tasks
3 of 20
39
Siebel Task UI
39.4
4 of 20
Siebel Task UI
39.5
Supports branching based on user input Supports pausing and resuming tasks if users are interrupted
` Instance of the partially completed task is saved in the users inbox ` Task is resumed from the Universal Inbox
5 of 20
Task UI
Task UI refers to both the wizard-like style of the user interface as well as to the underlying Task UI framework which consists of the development, runtime, and administrative features that support this type of user interface. The term task (in the context of task UI) refers in general to a unit of work to be preformed by a user as part of larger business process. The term task is also used to refer to a specific task developed using the Task UI framework.
Task
39
Siebel Task UI
39.6
Using Task UI
Task link
6 of 20
Reference
Task pane
Siebel Task UI
39.7
Invoking a Task
Enter data in fields in the first view Click Next to proceed to subsequent views
Enter data
7 of 20
39
Siebel Task UI
39.8
Each view focuses the user on a specific set of data to edit Known as a Playbar applet
8 of 20
Siebel Task UI
39.9
9 of 20
39
Siebel Task UI
39.10
Branching in a Task
Some views may explicitly present to the user a choice about the next step to be executed
` Select the desired activity and click Next
10 of 20
Siebel Task UI
39.11
Pausing a Task
Inbox
11 of 20
39
Siebel Task UI
39.12
Resuming a Task
Inbox
12 of 20
Siebel Task UI
39.13
Completing a Task
Review the data if a final summary view is provided Click Submit or Finish to complete the task
The task view is closed and the previous standard view is displayed
13 of 20
39
Siebel Task UI
39.14
All data entered during a task is initially stored in temporary storage managed by the Object Manager
` Is not automatically written to the database as user proceeds to next view
Records can not be rolled back after being committed Data created or modified is not available to others until it is committed Data in temporary storage:
` Is maintained while the task is paused ` Is cleared only when the task is cancelled or completed
14 of 20
Siebel Task UI
39.15
Refers to data collected and used during the execution of a task but not saved afterwards
` Example: user choice about the next step
Transient data may be mapped to persistent data in a later step in the task
` User enters name of a contact to retrieve ` If no contact is found, a new contact record is created and saved
Task applet
39
Siebel Task UI
39.16
16 of 20
Siebel Task UI
39.17
Views of Expense Report Submitter Home Page Create Expense Submit Expense Home Page Views of Expense Report Approver Inbox View Approve Expense Inbox View
View
View
Inbox
- Task: Approve Expense Report - Task: Approve Transfer
Start Workflow
Create/Assign Task
Approval Needed?
Yes
Task Step
No
17 of 20
Launch Task
Launch Task
39
Siebel Task UI
39.18
` ` ` `
Are performed by novice or infrequent users Can take advantage of the the ability to pause and transfer tasks Involve transactional processing Might be integrated with workflows
` Are simpler ` Are performed frequently by power users ` Do not involve transactional processing
18 of 20
Siebel Task UI
39.19
Module Highlights
Siebel Task UI is a wizard-like interface that guides users through steps in a task Invoke a task from a link in the task pane Use the buttons in the Playbar applet to proceed, return to the previous view, pause, or complete the task
19 of 20
` Until the task is completed ` Or is explicitly committed at specific points in the task
39
Siebel Task UI
39.20
Lab
20 of 20
40.1
40
Copyright 2007, Oracle. All rights reserved.
40
40.2
Module Objectives
2 of 30
40.3
Creating a Task
40
3 of 30
40.4
Components of a Task
4 of 30
Reference
40.5
Task Flow
Includes one or more task view steps that display a view to the user Is configured in Siebel Tools using the Task Flow Designer
` Is a visual, declarative editor similar to the workflow designer
40
5 of 30
40.6
Task View
Consists of one or more applets and the Playbar applet Is invoked in a task view step in a task flow
6 of 30
40.7
Clicking any UI element outside the task view and task pane pauses the task and displays the prior standard Siebel view An applet menu The standard record controls such as New, Delete, and Query
40
7 of 30
40.8
Task Group
Represents a collection of related tasks that can be displayed as a set in the task pane Can be configured to be:
` ` ` `
Associated with a single standard view Available independent of the standard view Restricted to a single application Available across all applications
A task group
8 of 30
40.9
Configuring a Task
1. Configure the Task Flow 2. Create Applets for Task Views 3. Configure the Task Views 4. Bind the Task Views 5. Configure Remaining Task Steps 6. Assign Chapters
40
9 of 30
Reference
40.10
7. Create the Task Group 8. Compile the Configured Objects 9. Publish the Task Flow
10 of 30
40.11
Name that appears in the task pane Identifies the business object for this task
40
11 of 30
40.12
12 of 30
40.13
40
13 of 30
40.14
Use the Task View Wizard to create one or more task views
` View objects with type = Task
14 of 30
Upgrade Behavior
Upgrade behavior is a property of several object types that specifies how the object should be processed when a repository merge is run with an Incorporate custom layout.
40.15
40
15 of 30
40.16
For each task view step in the flow, assign a task view
` Right-click the task step and select Bind Task View ` Select the view from the list of available views ` Set the button properties for the view
Determines which buttons are disabled in a view Set to Next for all but the final view
16 of 30
40.17
Identify the business component and operation Set the Defer Write property to TRUE if necessary Set the conditions on each branch
Prevents Object Manager from rejecting the record because some required business component fields are not populated
40
17 of 30
40.18
6. Assign Chapters
Optionally, create chapters to group steps in the task pane Assign each step to a chapter
Assigned to chapter 1
Assigned to chapter 2
18 of 30
40.19
40
Assign task group to view Assign to single application if required
Copyright 2007, Oracle. All rights reserved. 19 of 30
40.20
20 of 30
40.21
40
21 of 30
40.22
Click the Publish button in the Deployment toolbar to deploy the task flow
` Sets the task flow to complete ` Makes it available for activation
22 of 30
40.23
Administering a Task
1. Activate the Task Flow 2. Register the Task Flow 3. Add Responsibilities
40
23 of 30
Reference
40.24
24 of 30
40.25
40
25 of 30
40.26
3. Add Responsibilities
26 of 30
40.27
40
27 of 30
40.28
Module Highlights
` Adding the task to a task group ` Assigning the task group to a view ` Publishing the task to the run-time client ` Activating the task ` Registering the task ` Adding the task to one or more responsibilities
28 of 30
40.29
Lab
40
29 of 30
40.30
41.1
41
Copyright 2007, Oracle. All rights reserved.
41
41.2
Module Objectives
2 of 24
` Transient business components allow you to incorporate branching logic into task flows and to manage user data that is not mapped immediately to a business component field
41.3
User-Entered Data
Is typically persistent
` Maps immediately to regular business component fields ` Is written to the database during or at the end of the task flow
May be transient
` Is entered and then referenced in a subsequent step in the task flow ` Does not need to be stored persistently
41
Copyright 2007, Oracle. All rights reserved. 3 of 24
41.4
Is used to represent user input and other data that does not need to persist beyond the lifetime of the task
` ` ` ` ` ` Type is Transient Has one or more single-value fields Does not support joins or multi-value fields Maps to a special table: S_TU_LOG Is based on a special class: CSSBCTaskTransient Stores one record at most
4 of 24
Reference
Siebel Business Process Framework: Task UI Guide: Configuring Transient Business Components
41.5
` Postal code or telephone area code ` Data that may be conditionally mapped to business component fields in subsequent task steps
Example: an applet that needs to show some quote and order fields
41
Copyright 2007, Oracle. All rights reserved. 5 of 24
41.6
Task Applet
Task Applet
6 of 24
41.7
Task applet
41
7 of 24
41.8
Branching in a Task
Task UI framework supports branching (in a task) based on user input Input can be persistent data such as the account type Is implemented by configuring a decision point step
8 of 24
41.9
41
Copyright 2007, Oracle. All rights reserved. 9 of 24
41.10
41.11
41
41.12
Loop that adds a note and then asks user to choose again
12 of 24
41.13
2. Create a Picklist
A picklist is required when the user is presented a set of choices Select an existing picklist if available Alternatively create a new picklist
` Represent the choices as members of a List Of Values type ` Configure the PickList object
41
Copyright 2007, Oracle. All rights reserved. 13 of 24
41.14
Use the Transient BusComp Wizard to create the transient business component
` Should use the wizard since it assigns required values to multiple TBC properties
14 of 24
41.15
Will be assigned automatically after the record is saved Create the single-value field pick map
41
15 of 24
41.16
16 of 24
41.17
Displays the members of the underlying list of values (LOV) Allows users to select a value by clicking a radio button
41
For other fields, manually change the HTML type to the desired value Reposition and/or resize the label and control for each field
41.18
18 of 24
` Drag a Task Applet icon from the Applet pane to an applet placeholder ` Select the desired task applet
41.19
41
Copyright 2007, Oracle. All rights reserved. 19 of 24
41.20
Field
20 of 24
41.21
Assign each step to a chapter Compile all new and modified objects
41
Copyright 2007, Oracle. All rights reserved. 21 of 24
41.22
22 of 24
41.23
Module Highlights
41
Copyright 2007, Oracle. All rights reserved. 23 of 24
A transient business component is required to store data entered by a user that is not required after the task completes A task applet is required to display data stored in a transient business component A task can include branching based on user entered values including transient data Branching requires adding a decision point step to the task flow
41.24
Lab
24 of 24
42.1
42
Copyright 2007, Oracle. All rights reserved.
42
42.2
Module Objectives
2 of 22
42.3
` The need to compile and deploy a new Siebel repository file (SRF)
3 of 22
42
42.4
Business Challenge
4 of 22
42.5
Provides the ability for companies to create and enforce rules that capture their business policies
` Rules are expressed in natural English rather than a script or SQL statements
` Rules are centrally developed and administered ` Rules are enforced globally throughout the Siebel application
5 of 22
42
Reference
42.6
` Determine if a warranty applies ` Determine if a customer is eligible for a discount or offer and explain why ` Approve or reject an application for insurance ` Compute a limit for loans or insurance coverage
6 of 22
Perform validation of data Provide default values for fields in records Provide default child records Update records Implement dynamic read-only/required behavior Compute values of parameters to be used in decision steps in workflow process and UI tasks Perform business calculations
42.7
Is a conditional or qualified statement about business entities and characteristics that apply in a business environment
` Is written using the rules of English grammar
if an expense has any expense item which does not have a description then invalidate the expense with "All expense items must have a description"
Conditional rule statement
Set Reimbursable Flag of an expense item to false if the expense items expense item type is Personal unless the expense items description is Pre-approved
Qualified rule statement
7 of 22
42
42.8
Concepts
if an expense has any expense item which does not have a description then invalidate the expense with "All expense items must have a description"
Rule statement
8 of 22
Noun
In traditional grammar, a noun is described as a word or expression that refers to a person, thing, event, place, concept, and so forth.
42.9
9 of 22
42
42.10
HaleyAuthority
Is a separate third-party application used to examine and develop Siebel business rules
` Is installed as part of a Siebel Tools installation ` Is invoked from the Siebel Tools program group
10 of 22
42.11
HaleyAuthority Continued
11 of 22
42
Imports relevant object definitions from the Siebel development repository Generates the corresponding Haley concepts Is used to author the rule statements based on the generated concepts Stores concepts and statements in a separate database referred to as a knowledge base Deploys rules to a set of tables in the Siebel run-time client
42.12
` Serves as the interface to the inference engine ` An action set in a run-time event ` A business service step in a Siebel workflow or task ` A business service call in a script
12 of 22
42.13
Exploring Rules
13 of 22
42
42.14
Structure of Rules
Common practice is to create statements followed by qualifiers that determine if the statement applies
` If: statement applies when at least one if qualifier is true ` Unless: statement does not apply when unless qualifier is true ` Only if: statement applies when all only if qualifiers are true
14 of 22
42.15
Rule Statements
Example: An expense report is a valid expense report Set Reimbursable Flag of an expense item to false
` Statement of action
Get profile attribute, get active view name User in task mode, currency is equal to
15 of 22
42
This action raises an error but does not stop evaluation of rules. Accordingly the message displayed upon completion might contain multiple such error messages. For a list of all of the Siebel supported actions, functions, and predicates refer to Siebel Business Rules Administration Guide: :Reference Topics for Siebel Business Rules.
42.16
Concepts
16 of 22
42.17
Entities
17 of 22
42
Expense and Expense Item business components imported for these rules
42.18
Value
Expense and Expense Item (text) fields imported for these rules
18 of 22
42.19
Phrasings
19 of 22
42
42.20
Concepts are generated automatically using the Siebel Object Importer in HaleyAuthority
` Entities correspond to Siebel objects ` Values correspond to single-value fields of objects
Rules developers must not modify or extend the concepts in any way
20 of 22
42.21
Module Highlights
Siebel Business Rules allows users to create and enforce rules that capture business policies
` Rules are expressed in natural English ` Rules are developed by client-side configuration
A rules module consists of multiple statements based on a set of predefined concepts, actions, functions, and predicates
` Concepts correspond to business components and fields in the Siebel repository
21 of 22
42
42.22
Lab
22 of 22
43.1
43
Copyright 2007, Oracle. All rights reserved.
43
43.2
Module Objectives
2 of 28
43.3
3 of 28
43
43.4
Developing Rules
1. Create a New Knowledge Base 2. Import Siebel Object Definitions 3. Create a Rule Module 4. Deploy the Rule Module
4 of 28
Reference
43.5
5 of 28
AKB Files
HaleyAuthority also supports using an Access local database for single developer prototyping.
43
43.6
No entities yet
6 of 28
43.7
43
43.8
On the first import for a new knowledge base the following occurs immediately:
` Object definitions relating to currency and currency code are imported ` Concepts to support Siebel currency calculation procedures are created ` Siebel-specific actions, functions, and predicates are created
8 of 28
Currency Calculations
Siebel applications manage currency using amounts, currency codes, and exchange rates. Rules that include references to currencies must use callbacks (actions and functions) to the Siebel application for currency operations. These operations are not supported using the base set of Haley actions and functions.
43.9
Business components and fields required for the expense report rules discussed in the previous module
Copyright 2007, Oracle. All rights reserved. 9 of 28
43
43.10
2. Inspect Concepts
Inspect the output window to verify that corresponding nouns, concepts, and phrasings were created
10 of 28
43.11
11 of 28
43
43.12
Parent and child business components that are selected explicitly Business components that are referenced in multi-value fields
12 of 28
Field Mappings
For a list of all of the mappings (including fields types that can not be converted) refer to Siebel Business Rules Administration Guide: Reference Topics for Siebel Business Rules.
43.13
Create a rule module to contain only the statements that need to be evaluated as a set by the rules engine Name the rule module to indicate how the module will be invoked
13 of 28
43
43.14
Module
14 of 28
Submodules
43.15
Text is bolded if it can be parsed, that is if the words entered correspond to defined concepts and phrases A list of eligible words is presented at all times
15 of 28
43
43.16
16 of 28
43.17
17 of 28
Siebel Deployer
The Siebel Deployer is a HaleyAuthority plug-in that allows developers to deploy to a run-time environment rule modules that they created.
43
43.18
18 of 28
Reference
Siebel Business Rules Administration Guide: Configuring and Activating Rule Modules
43.19
Click New and select the records that specify the parent-child relationships captured in the rules
19 of 28
Inconsistent
A value of Y in the Inconsistent field indicates that the data model and Siebel repository and the concepts in the knowledge base are no longer consistent. In this event, the models need to be resynchronized before the rule module can be administered.
43
Data Assertion Mode This fields indicates whether the complete set of Siebel data should be provided to the rules engine at once or smaller sets of data can be provided. This is relevant when the rules iterate over a set of records.
43.20
Activate Rules
Click the Activate button in the Rule Modules list applet to set the status to active
` Only active rules are evaluated by the rules engine
20 of 28
43.21
The rules engine is accessed by calling the Business Rule Service business service
` Can be invoked using an action set for a run-time event
21 of 28
43
43.22
Action set
Reference
Siebel Business Rules Administration Guide: Integrating Rules with Siebel Runtime Events
43.23
23 of 28
43
43.24
Action set
Run-time event
24 of 28
43.25
25 of 28
43
43.26
26 of 28
Invoking the Rules A limitation of this release is that custom scripting is required to extract the Engine in a Workflow arguments returned by the Business Rules Service business service. Consult Bookshelf for an example of such a custom script.
43.27
Module Highlights
Deploy the rules module to the Siebel run-time client Activate the rules in the client Invoke the rules by using a run-time event
27 of 28
43
43.28
Lab
Import a set of Siebel objects Create the rule module Deploy and administer the module Create an action set triggered by a run-time event
28 of 28
44.1
44
44
44.2
Module Objectives
2 of 20
44.3
Business Challenge
Companies need to assign business data in a timely fashion and in a way that consistently follows their business rules and policies
` ` ` ` Sales leads Contacts Accounts Service requests
` Large volumes of data ` Short response times ` Multiple rules and policies
Complex Conflicting
3 of 20
44
Typical characteristics
44.4
` Administrative functionality to define assignment rules ` Server components to automatically assign business data according to the rules
4 of 20
Reference
44.5
Assignment Rules
Criteria
5 of 20
44
Candidates
44.6
Assignment Objects
Assignment objects identify the type of data being assigned Several assignment objects are pre-configured in the asdelivered application
` Examples:
6 of 20
44.7
Assignment Candidates
Types of candidates must be consistent with the allowed access control mechanisms for the object
7 of 20
44
` Accounts can be assigned to both positions and organizations ` Activities can be assigned to employees ` Service Requests can be assigned to both employees and organizations
44.8
Assignment Criteria
Account State = CA Account Product = a product that candidate has expertise for
8 of 20
44.9
Rules are created and administered using the Siebel Web Client
` Are not part of the Siebel repository ` Are not compiled into the .srf file ` Can be deployed during run time
9 of 20
44
44.10
10 of 20
44.11
` Opportunities in the Western Region (CA, OR, WA) are assigned to Sales Rep West ` Opportunities in the Eastern Region (CT, MA, ME, NH, RI, VT) are assigned to Sales Rep East
ABC Sales Organization VP Sales - US Pat Sales Rep West Alex Sales Rep East Jane
11 of 20
44
44.12
Rule includes
` Candidates (desired organization and positions) ` Criteria for determining region to assign the account
Rule: Assign East Accounts
Object: Account
Position candidate Organization candidate Rule applies when
12 of 20
44.13
13 of 20
Territory
Territory is another name for sales region. Formally, a territory is a collection of accounts, contacts, and or assets that are managed by a team of positions. Most often a territory is based on a geographical area such as states.
44
44.14
14 of 20
44.15
15 of 20
44
44.16
XYZ company assigns service requests to employees with the correct skills to resolve them
` Skills are properties that reflect the candidates abilities in various areas such as:
44.17
Rule includes
` Criteria for assigning request
Employee skill matches the area of the service request Can list select employees or consider all available employees Rule: Assign Service Request
Candidates: All service agents Criteria: Candidates product skill = product associated with Service Request
` Candidates to be considered
17 of 20
44
44.18
18 of 20
44.19
Module Highlights
Siebel Assignment Manager allows companies to automatically assign business data to the most appropriate positions, people, and organizations Assignment rules are used to assign candidates to objects
19 of 20
44
44.20
45.1
45
45
45.2
Module Objectives
2 of 28
45.3
Assignment Rules
Assign one or more candidates to assignments objects based on one or more criteria Are specified using several key concepts
3 of 28
Reference
45
45.4
4 of 28
45.5
1. Design the Assignment Rules 2. Create the Rule 3. Specify the Criteria 4. Specify the Candidates
5 of 28
45
45.6
Positions
Sales Rep - East Sales Mgr - East Sales Rep - West 1 Sales Rep - West 2
6 of 28
45.7
` ` ` `
Select the assignment object Set Person Candidate Source to From Rule Select the Assignee Filter Assign a rule group
45
45.8
` Example: Only opportunities with an account state in the East region will be assigned
Specify the Comparison Method Specify the attribute value(s) to be used in the comparison
8 of 28
45.9
45
45.10
1. Design the Assignment Rule 2. Create the Rule 3. Specify the Criteria 4. Specify the Candidates 5. Associate Skills with Candidates
10 of 28
45.11
Object: Service Request Candidates: All service agents Criteria: Candidates product skill = product associated with service request
11 of 28
45
45.12
Navigate to Administration - Assignment > Assignment Rules List Select the assignment object Set Person Candidate Source to All People Set Assignee Filter to One, Best Fit Assign a rule group
12 of 28
45.13
` Example: Consider employees only if they are skilled in the product associated with the SR
13 of 28
45
45.14
When considering a restricted set of candidates for assignment, set Person Candidate Source = From Rule
` Navigate to the Employee Candidates view ` Add a new record for each employee to be considered
45.15
Select a skill and assign one or more values that apply to the user
Areas of expertise
45
45.16
16 of 28
45.17
Determines the set of possible candidates that can be assigned to data by this rule
Candidate Source All People Action Consider every employee/position as a candidate Consider only employees/positions listed explicitly as a candidate in the rule Consider the members of a team as candidates Implements dynamic assignment
From Rule
Team Name
17 of 28
45
45.18
Comparison Method
45.19
Scoring
19 of 28
45
45.20
Assignee Filter
20 of 28
45.21
After creating a rule, run Batch Assignment to test the rule 1. Release Assignment Rules 2. Enable Detailed Logging 3. Run a Batch Assignment 4. Examine the Assigned Records 5. Inspect the Assignment Log Files
21 of 28
45
45.22
22 of 28
45.23
23 of 28
45
45.24
45.25
25 of 28
45
45.26
Navigate to the Siebel Server log directory to locate the log file generated by the Batch Assignment job
` Detailed log files document:
How each rule is evaluated and why it failed or passed Whether the candidates from each passed rule qualify How the assignees are determined from the list of qualified candidates
26 of 28
45.27
Module Highlights
27 of 28
45
` ` ` `
45.28
Lab
28 of 28
46.1
46
46
46.2
Module Objectives
2 of 28
` Developing effective rules requires an understanding of the ways assignments rules can be tailored
46.3
Assignment Methodology
Refers to the steps followed by Assignment Manager to assign candidates to objects Simplified representation (does not contain all steps)
` Identify rules that apply ` Identify a list of qualified candidates for the applicable rules ` Determine primary assignee and assign candidates
3 of 28
Reference
46
For more details, consult the Assignment Methodology section in the Siebel Assignment Manager Administrative Guide
46.4
Always: Rule qualifies if and only if State = CA, OR,or WA Never: Rule qualifies regardless of state When Available: Rule qualifies if state not specified or State = CA, OR,or WA
4 of 28
46.5
For each rule that passes, Assignment Manager generates a list of qualified candidates
` Evaluates the candidates specified in the rule using criteria:
5 of 28
46
46.6
Score Candidates
6 of 28
46.7
Candidate total score = 40 Candidate total score = 35 so both candidates qualify as each score exceeds the passing score
7 of 28
46
46.8
Assign Candidates
Assignment Manager:
` Generates assignments using the Assignees Filter from the rule with the highest scoring assignee ` For team-based assignment, the highest-scoring qualifying candidate from the highest-scoring rule is made primary
8 of 28
46.9
Workload Distribution
Consists of:
` Workload Distribution Rule ` Maximum Workload ` Score
9 of 28
46
46.10
Service Scenario
Business Rule: Assign service requests to agents based on product skill and current workload
10 of 28
46.11
` Maximum Workload: the maximum number of service requests that a candidate should own at any time ` Score: the weight assigned to workload in comparison to other criteria
11 of 28
46
46.12
Employee: Craig Skill: Network Workload: 18 SRs Employee: Ellen Skill: CPU Workload: 10 SRs Employee: Jack Skill: Network Workload: 20 SRs
Product Score 20 0 20
Employee Workload Score Score * [1 (Current Workload / Max Load)] 45 * [1 (18 / 20)] = 4.5 Craig is 45 * [1 (10 / 20)] = 22.5 assigned 45 * [1 (20 / 20)] = 0
46.13
Rule Prioritization
Multiple assignment rules may exist for the same assignment object
` Can result in qualified candidates from both rules being assigned
Business policies may require that candidates from only a single rule be assigned
Assign Opportunities based on Account State to the state sales office Assign Opportunities based on Account Industry to only the industry specialists
13 of 28
Reference
46
46.14
Exclusive Rules
14 of 28
46.15
When several exclusive rules have qualifying candidates, the rule with the highest scoring candidate prevails
` Keep qualifying assignees from only that rule
When two or more exclusive rules tie for highest score, none of the rules prevail
` Only the default candidate is assigned ` Design exclusive rules carefully to avoid such behavior
15 of 28
46
46.16
Sequencing Rules
A rule can appear in one and only one group Rules not explicitly assigned to a group belong automatically to the Default Rule Group
16 of 28
46.17
Rule Sequence
17 of 28
46
46.18
Assignment Manager pauses after evaluating rules with a given sequence number
` Stops if an assignment can be made ` Otherwise, continues to rules with next higher sequence number
18 of 28
Assign opportunity first to a qualifying local office If not, then to a district office If not, then to a regional office If not, then to headquarters
46.19
70 plus properties
19 of 28
Reference
46
46.20
Assignment Mode
Specifies how candidates are assigned when a rule assigns both positions and organizations
Assign positions and organizations independently Assign only positions/organizations pairs that both qualify
Assign organizations first and consider only corresponding positions Assign positions first and consider only corresponding organizations
20 of 28
46.21
Default Candidate
Assigns candidates for both rules and assigns the default candidate to the team Makes default candidate the primary for team-based assignments Assigns default candidate to the team as primary Assigns default candidate to the team as primary
` Conflict between two exclusive rules with the same score ` Rules do not identify any candidates to assign
21 of 28
46
46.22
22 of 28
46.23
Keep Creator
If this property is set to TRUE, Assignment Manager keeps the creator of the record on the team regardless of which rules pass
23 of 28
46
46.24
Use Siebel Tools to edit object definitions to modify the behavior of Assignment Manager
` Same as editing other object definitions
24 of 28
46.25
Assignment Manager
Reads Assignment object from repository tables (not the repository file) at run time
` No need to compile the Assignment object itself ` Can deploy a modified Assignment object at run time
25 of 28
46
46.26
Module Highlights
Assignment methodology refers to the steps followed by Assignment Manager to assign candidates to objects
` ` ` ` Identify rules that apply Identify a list of qualified candidates for the applicable rules Scoring candidates Determine primary assignee and assign candidates
Run-time behavior of Assignment Manager is specified by the configuration of the assignment object
26 of 28
Workload rules can be used to distribute work among qualified candidates Multiple assignment rules may exist for the same assignment object
46.27
Lab
27 of 28
46
46.28
47.1
47
Siebel 8.0 Essentials
47
47.2
Module Objectives
2 of 16
47.3
All modes require that the Assignment Manager component group be enabled
3 of 16
Reference
47
Siebel 8.0 Essentials
47.4
Batch Assignment
Is used to submit batches of data for one-time assignment or reassignment Is implemented via a server task Business scenarios:
4 of 16
` Change assignment rules and reassign existing objects that are already assigned ` Sales region or territory realignment ` Existing assignments are inaccurate ` After a batch data load
47.5
Dynamic Assignment
Automatically invokes Assignment Manager to assign data in near real time as records are created or modified Business scenarios:
` Whenever a service request is created, assign it to a service agent with the appropriate product skill ` Whenever an opportunity is created, assign it to the sales representative who handles that territory
5 of 16
47
Siebel 8.0 Essentials
47.6
Is implemented using:
` ` ` ` Assignment policies Generate Triggers Workflow Monitor Agent Assignment Manager
6 of 16
47.7
Assignment Policies
Specify which objects are to be assigned Are expired by default
` Navigate to Site Map > Administration Assignment > Assignment Policies ` Remove the expiration date to activate policies
7 of 16
47
Siebel 8.0 Essentials
47.8
Generate Triggers
47.9
9 of 16
47
Siebel 8.0 Essentials
47.10
Assignment Manager
10 of 16
47.11
S_ESCL_REQ
Generate triggers
Makes assignments
Assignment Manager
Evaluate the assignment rules
11 of 16
47
Siebel 8.0 Essentials
Siebel Database
47.12
Interactive Assignment
Business scenarios:
` A customer service representative receives a call and creates a new service request, then clicks Assign to find the right person to work on that service request ` A field service supervisor wants to find the right person to work on a repair activity, and uses Interactive Assignment to obtain a list of people with the right skills to perform the repair
12 of 16
47.13
13 of 16
47
Siebel 8.0 Essentials
47.14
Verify that Assignment Manager is online and Server Request Broker is running
Performs Assignment
47.15
Module Highlights
` Dynamic Assignment: Is used to assign data in near real time as records are created or modified
Is implemented using:
15 of 16
47
Siebel 8.0 Essentials
` ` ` `
47.16
Lab
16 of 16
State Models
48.1
48
Siebel 8.0 Essentials
48
Copyright 2007, Oracle. All rights reserved.
State Models
48.2
Module Objectives
2 of 18
State Models
48.3
48
For example: A service request could have a life cycle defined in terms of these values of the status field:
` Open, Pending, Closed, Cancelled
Arrow indicates a permitted transition State
Open
Pending
Closed
Cancelled
Copyright 2007, Oracle. All rights reserved. 3 of 18
State Models
48.4
Business Challenge
Open
Owner must be assigned
Pending
Closed
Cancelled
Copyright 2007, Oracle. All rights reserved. 4 of 18
Need a way to easily incorporate such restrictions into the life cycle of an entity
State Models
48.5
Business Solution
48
Uses declarative configuration as opposed to script Does not involve compiling and deploying a new SRF file
5 of 18
Reference
State Models
48.6
State Model
State field
6 of 18
State Models
48.7
48
Only can be executed by authorized positions Only can be executed when a condition is satisfied
State Models
48.8
Only a small number of business components are enabled for state model in the as-delivered application
` Indicated by a business component user property (State Model, Y)
8 of 18
State Models
0/6
48.9
48
1. Define the Desired Life Cycle 2. Create a New State Model 3. Specify the Allowed States 4. Specify the Allowed Transitions and Restrictions 5. Specify Authorized Positions 6. Test the State Model
9 of 18
State Models
1/6
48.10
Cancelled
10 of 18
Open
Pending
Closed
State Models
2/6
48.11
48
11 of 18
State Models
3/6
48.12
` Specify one state as the default initial state in which new records are created
Set by default
Copyright 2007, Oracle. All rights reserved. 12 of 18
State Models
4/6
48.13
48
` Select the from and to states using the drop-down list ` Indicate if there are restrictions on who can execute the transition ` Specify any conditions to be satisfied before transition can occur
13 of 18
State Models
5/6
48.14
For any transitions not marked Public, specify the positions that are permitted to execute the transition in the Authorized Positions applet
Transition restricted
State Models
6/6
48.15
48
Make sure the state model activation and expiration dates are valid
` Only one state model based on a given field can be active at any given time
Create one or more test records and verify that the business policy is correctly implemented
15 of 18
` New state model is effective when a new application object manager process starts
State Models
48.16
Module Highlights
State models:
` Are built in the Siebel client using declarative configuration ` Do not require recompiling the .srf file
16 of 18
` Not allowed at all ` Allowed under only certain conditions ` Allowed by only certain positions
State Models
48.17
Lab
48
17 of 18
State Models
48.18
49.1
49
Module 49: Introducing Enterprise Integration Manager
49
49.2
Module Objectives
After completing this module you will be able to:
` Describe the features of Enterprise Integration Manager (EIM) ` Describe how EIM supports referential integrity ` Describe why direct SQL statements must not be used to insert user data
2 of 16
` EIM enables you to properly import external data into the Siebel database
49.3
Business Challenge: To exchange large volumes of data between an external application and the Siebel database
` Implementation project challenge: To perform an initial data load for a Siebel application
49
EIM
Siebel Base Tables
Copyright 2007, Oracle. All rights reserved. 3 of 16
Exchanging Data
To exchange large volumes of data, a SQL utility copies mainframe updates to EIM interface tables, and then EIM runs a batch job to synchronize the Siebel account data.
49.4
User Data
Seed data
Repository data
User data
4 of 16
49.5
49
5 of 16
49.6
Components of EIM
Important components of EIM are: Base Tables Interface Tables EIM Server Component EIM Configuration File
Non-Siebel loading tool Siebel Database
Interface table
Server component
Base table
Siebel client
6 of 16
49.7
Base Tables
User data is stored in one or more base tables in the Siebel database
` Relationships between base tables (referential integrity) rely upon primary keys (PKs) and foreign keys (FKs) based on ROW_IDs
49
ROW_ID is the system primary key for every base table ROW_ID is a system-generated value
PK
PK
FK
FK
S_BU
S_ORG_EXT
S_ADDR_ORG
7 of 16
Base Tables
There are two types of base tables: Target base tables (also known as a parent tables); examples include S_PARTY, S_PROD_INT, and S_OPTY. Non-target base tables (also knows as secondary base tables); examples include S_ORG_EXT, S_ADDR_ORG, AND S_ACCT_POSTN.
49.8
Interface Tables
External database
S_ADDR_ORG
Interface Tables
External data
Base Tables
Copyright 2007, Oracle. All rights reserved. 8 of 16
Data Cleansing
During imports, EIM attempts to import data from the interface table to the base tables. It is important to note that if the data loaded in the interface table is faulty, it will remain faulty in the base table(s). EIM does not perform data cleansing.
EIM_ACCOUNT
S_ORG_EXT
49.9
` Are denormalized ` Example: EIM_ACCOUNT interface table maps to eight base tables
49
9 of 16
49.10
S_ORG_EXT EIM_ACCOUNT
S_ADDR_ORG
External data
Copyright 2007, Oracle. All rights reserved. 10 of 16
Reference
49.11
49
11 of 16
This course focuses on import (insert) and delete. EIM deletes are useful for archiving old data and deleting obsolete data. During delete processing, deleted rows are written to interface tables, from which they can be archived in a format allowing easy re-import if necessary.
49.12
User Keys
Based on multiple columns, user keys are used to uniquely identify a row for EIM Primary and foreign keys based on ROW_ID are used for system-wide referential integrity
S_ORG_EXT
S_BU
12 of 16
49.13
Referential Integrity
User key column mappings in interface tables are used to resolve ROW_IDs for base tables, maintaining referential integrity
PK (ROW_ID) User key 1-8D Acme FK (ROW_ID)
49
Interface Table
1-8D
Base Tables
Copyright 2007, Oracle. All rights reserved. 13 of 16
49.14
SQL
You must not use SQL to populate user data in base tables
` Relationships between tables are complex ` Referential integrity is maintained programmatically through ROW_IDs, not using constraints on the database ` SQL statements cannot generate Siebel ROW_IDs
PK
SQL
S_ADDR_ORG
FK
S_ORG_EXT
14 of 16
49.15
Module Highlights
Enterprise Integration Manager (EIM) is a server component that supports bulk imports and exports to and from a Siebel database
` Useful for initial data loads
49
You must not insert user data into Siebel base tables using SQL!
15 of 16
49.16
50.1
50
Oracle Internal & Oracle Academy Use Only
50
Copyright 2007, Oracle. All rights reserved.
50.2
Module Objectives
After completing this module you should be able to:
` Determine correct interface (EIM) tables and columns to use to import data into and delete data from Siebel base tables and columns ` Document data mappings between EIM tables and Siebel base tables
` Enables you to construct a strategy for successfully importing data into and deleting data from the Siebel database
2 of 26
50.3
Data Mapping
The first step in using EIM to import external data is data mapping Data mapping determines:
1. Which Siebel base table columns will store external source data 2. Which interface (EIM) table columns will be used to import from source to destination
1. Decide where data ends up Source (external) Destination (base table)
50
Oracle Internal & Oracle Academy Use Only
50.4
Source Data
Entity Attribute
Customer Name...
Name...
4 of 26
Sales Person
50.5
Siebel Destination
50
Oracle Internal & Oracle Academy Use Only
Account
Position
Contact
5 of 26
Account, Position, and Contact entities are person- and organization-related. Therefore, their business components share the S_PARTY table. Relationships between business components and BC fields and base tables and columns can be examined easily in Siebel Tools. Select the business component object definition of interest in Tools Object List Editor, right-click, and choose View Details. The mapping of BC fields to database tables and columns will be graphically depicted.
50.6
6 of 26
50.7
Use the Siebel client to identify applets and controls where external data is to be displayed
` Determine applet and business component names
50
Oracle Internal & Oracle Academy Use Only
Control to map
Copyright 2007, Oracle. All rights reserved. 7 of 26
50.8
2. Identify BC Fields
8 of 26
50.9
Examine BC field properties in Siebel Tools to determine which Siebel base table and column it maps to
50
BC field being mapped
9 of 26
50.10
Position
Attribute
Name...
10 of 26
50.11
Document Mappings
Document mappings between source and base so that everyone has a common understanding
` EIM and configuration tasks are often performed by different people ` Can reduce need to re-do tasks if team members leave the project
50
Oracle Internal & Oracle Academy Use Only
Source Entity
Customer Customer
Source Attribute
Name Phone Address
EIM Table
EIM Column
Base Table
S_ORG_EXT S_ORG_EXT S_ADDR_ORG S_ADDR_ORG S_ADDR_ORG
Base Column
NAME MAIN_PH_NUM ADDR CITY ZIPCODE
11 of 26
50.12
After verifying and documenting the source-to-base mappings, determine and document EIM-to-base mappings
Source Attribute
Name Phone Address
Source Entity
Customer Customer
EIM Table
EIM Column
Base Table
S_ORG_EXT S_ORG_EXT S_ADDR_ORG S_ADDR_ORG S_ADDR_ORG
Base Column
NAME MAIN_PH_NUM ADDR ZIPCODE CITY
Source
9
Interface (EIM)
Destination
?
12 of 26
Siebel Tools Reference A base table is the destination table in the Siebel database for your data import.
50.13
Table Relationships
An interface table may populate more than one base table A base table may be populated by more than one interface table
EIM_ACCOUNT
50
S_ORG_EXT
EIM_ADDR_ORG S_ADDR_ORG
13 of 26
50.14
50.15
50
select Reports > EIM Interface Tables
15 of 26
50.16
16 of 26
50.17
The EIM Interface Table report shows mapping from a single EIM table to one or more Siebel base tables
` EIM column (source) to base table column (destination) mapping ` Column attributes (user keys, foreign key tables, required fields)
EIM table name
50
Base column EIM column
50.18
Select the EIM table that best maps to the target base tables and columns
` Pick the EIM table that maps the most columns that you need to migrate
Example:
` EIM_ACCOUNT can be used to map Account-related Position data because it maps to the intersection table S_ACCNT_POSTN
18 of 26
50.19
` Other columns may be required based on required fields in the base table
50
Oracle Internal & Oracle Academy Use Only
EIM table
Base table
EIM column
Base column
19 of 26
50.20
Determine which EIM column populates the target base column in Siebel Tools
` Example: MAIN_PH_NUM on EIM_ACCOUNT populates MAIN_PH_NUM on S_ORG_EXT
Base column
EIM column
20 of 26
Column Names
50.21
Alternate method is to query Attribute Mappings in Siebel Tools to determine which EIM column populates the base column
` Example: MAIN_PH_NUM on EIM_ACCOUNT populates MAIN_PH_NUM on S_ORG_EXT
Use Flat tab to query Base table and column
50
Oracle Internal & Oracle Academy Use Only
21 of 26
50.22
Determine required base table columns that do not have defaults (EIM does not recognize non-system default values)
Query Column
22 of 26
Finding Non-System An alternative method of locating required, non-system columns is to query Columns for required columns with Type equals Data(Public).
50.23
Mapping Considerations
Understand additional columns that must be populated for party business components
` Use EIM Interface Table report to identify these ` Examples:
PARTY_UID PARTY_TYPE_CD ROOT_PARTY_FLG
50
Oracle Internal & Oracle Academy Use Only
23 of 26
ROOT_PARTY_FLG
ROOT_PARTY_FLG is for Oracle implementations only. It was added to support performance for Oracle. A query to obtain top-level Positions, Organizations, or Access Groups can use either: 1. WHERE ROOT_PARTY_FLG='Y' or 2. WHERE PAR_PARTY_ID is NULL Oracle cannot use an indexed access path for option 2 because there are no index entries for NULL, so ROOT_PARTY_FLG was added. ROOT_PARTY_FLG is set to 'Y' for top-level Positions, Organizations, and Access Groups as it applies only to these Party sub-types. It is set to 'N' for other party subtypes.
50.24
Example:
Product visibility is determined by organization Map product and ownership information to EIM_PROD_INT (Product interface table) Be sure to map from EIM_PROD_INT to both S_PROD_INT (Internal product base table) and S_PROD_INT_BU (Product/BU intersection table)
` Mapping documented in EIM Interface Table report
24 of 26
50.25
Module Highlights
Data
mapping specifies:
` Which base tables and columns will hold external data ` Which interface tables and columns will be used by EIM during data movement
Steps
Data
25 of 26
` Map external entities to Siebel business-layer objects ` Use the Siebel Web Client to identify and verify mapping of external attributes to BC fields ` Select the interface table used by the mapping ` Use Siebel Tools EIM Interface Table report to perform column-tocolumn mappings between interface tables and base tables ` Map all external attributes of interest plus required non-system columns
50
50.26
Lab
26 of 26
51.1
51
51
51.2
Module Objectives
After completing this module you should be able to:
` ` ` ` Populate interface (EIM) tables for imports Modify configuration (.ifb) files for imports Invoke an Enterprise Integration Manager (EIM) server task Modify configuration (.ifb) files to optimize imports
2 of 28
51.3
EIM T_ Columns
All EIM tables have columns to hold temporary values used by EIM during a job. These columns start with T_, and include some that end with the suffix _STA. These latter columns may provide troubleshooting assistance.
51
51.4
4 of 28
51.5
5 of 28
51
51.6
Order of imports
6 of 28
Reference
The recommended processing order for EIM imports is also described in Siebel Bookshelf, Enterprise Integration Manager Administration Guide, Importing Data.
51.7
Creates an operating system (OS) process that reads the .ifb file, loads the dictionary, executes EIM steps, and writes log entries
Dictionary .ifb
Log
7 of 28
EIM Dictionary
The dictionary used by EIM is a set of files used to speed EIM processing.
51
51.8
Destination table
8 of 28
The template EIM configuration file, default.ifb, is located in {SiebSrvr_Base_Dir}\ADMIN. Because the focus of this module is on EIM imports, which are of critical importance as part of initial data loads in a Siebel implementation project, this module does not cover the details of configuring an EIM delete job. However, parameters in the .ifb file, deletes allow control over the tables and rows to be deleted. See the details for the parameters DELETE EXACT, DELETE MATCHES, and DELETE ALL ROWS in Bookshelf, Siebel Enterprise Integration Manager Administration Guide.
Section to process
51.9
Navigate to Administration Siebel Remote > Remote System Preferences Turning off transaction logging in a running production system will require subsequent re-extraction of all mobile user databases
9 of 28
51
51.10
10 of 28
51.11
11 of 28
51
51.12
12 of 28
51.13
After import, IF_ROW_STAT will contain a value that describes the status of each imported row
IF_ROW_STAT Value IMPORTED PARTIALLY_IMPORTED REQUIRED_COLS DUP_RECORD_EXISTS FOREIGN_KEY PICKLIST_VALUES Description
Success for all destination tables
Failed because required column has NULL value Failed because target table has row with same values Failed because a required foreign key could not be resolved Failed because required picklist value not found in S_LST_OF_VAL
13 of 28
51
51.14
14 of 28
51.15
For troubleshooting:
` Navigate to Administration Server Management > Tasks ` Find task number for EIM task ` Examine log file in Siebel server log directory
Find EIM task number
15 of 28
51
51.16
Job parameters can override component-level event logging to create additional information in the log
` Trace Flags = 1
Records processing steps Records summary SQL Should only be done in test environment Dramatically impedes EIM performance and generates large log file Records details regarding failed rows
EIM logging flags used for troubleshooting
` Error Flags = 1
16 of 28
Troubleshooting Flags
SQL Trace Flags = 8 should only be used for test EIM jobs with a small number of records. This option produces a very large log file and has a significant performance impact.
51.17
You are responsible for removing records from the EIM tables
` Use SQL to delete EIM table records once they have been successfully processed
17 of 28
51
51.18
Use enhanced configuration parameters to speed EIM processing and reduce elapsed time: Process Options Import Options
18 of 28
Primaries
51.19
Process Options
Example:
19 of 28
51
51.20
Example:
20 of 28
Synonyms
Some business components have a MVG field that contains synonyms, which are variations in the BC name. For example, the Account named IBM could have synonyms: International Business Machines, Intl Bus Machines, IBM Co., and so on. Use of synonyms prevents multiple records being created based on misspelling or inconsistent usage.
51.21
Import Options
Example:
21 of 28
51
51.22
Primaries
Improve performance by eliminating sub-queries when displaying data from parent and child tables If primaries are not used, a new query needs to be executed to identify any child records each time a parent record is displayed Two types of Primary settings:
22 of 28
51.23
EIM_ACCOUNT
NAME Acme Acme ADDR_ADDR Elm Street Main Street ADDR_CITY Boston Fremont Y
ACC_PR_ADDR
S_ORG_EXT
ROW_ID NAME 1-WEZ Acme PR_ADDR_ID 2-AB4
Base tables
Copyright 2007, Oracle. All rights reserved.
S_ADDR_ORG
OU_ID
1-WEZ 1-WEZ
51
51.24
EIM_ACCOUNT
NAME Acme Acme ADDR_ADDR Elm Street Main Street ADDR_CITY Fremont
Base table
S_ORG_EXT
ROW_ID NAME 1-WEZ Acme PR_ADDR_ID 2-AB8
Base table
Copyright 2007, Oracle. All rights reserved.
S_ADDR_ORG
OU_ID 1-WEZ 1-WEZ ROW_ID ADDR 2-AB8 2-AB4 Elm Street Main Street CITY Boston Fremont
24 of 28
Boston
51.25
EIM table
Base table
25 of 28
51
51.26
26 of 28
51.27
Module Highlights
All
Parameters
` ` ` ` `
Populate EIM tables Create an EIM configuration file (.ifb) Run an EIM job Verify job results Remove EIM table records
51
51.28
Lab
28 of 28
52.1
52
52
52.2
Module Objectives
2 of 18
52.3
` May involve hundreds of customizations ` Source and target enterprises may have different configurations
Development enterprise may be simpler than test enterprise Example: A new state model needs to be deployed after the modified business component object definition the model uses
52
52.4
4 of 18
Application Deployment Manager Guide A complete list of data types supported by ADM can be found in Application Deployment Manager Guide: ADM Supported Data Types. ADM features and architecture have been significantly enhanced from prior versions.
` Includes support for many data types ` Supports deployments ranging from a small patch with only a handful of application modifications to a major release with a new SRF file ` Allows creation of reusable deployment packages that can be applied to multiple target enterprises
52.5
Types of Customization
52
5 of 18
52.6
Database Customizations
Are changes to administrative and master data records in the Siebel database
` Does not include repository table changes ` Use EIM to migrate application records, such as Accounts, Contacts, Opportunities
6 of 18
` ` ` `
52.7
Repository Customizations
52
7 of 18
52.8
File Customizations
Are files modified as part of application configuration Examples:
` ` ` `
Web Template files (.swt) Image and Cascading Style Sheet (CSS) files Siebel Repository file (.srf) Reports files
8 of 18
52.9
ADM Architecture
Source Enterprise
Orchestration Environment
52
Destination Enterprise
Copyright 2007, Oracle. All rights reserved. 9 of 18
52.10
Source Enterprise
Source Enterprise
Orchestration Environment
Destination Enterprise
Copyright 2007, Oracle. All rights reserved. 10 of 18
52.11
Orchestration Environment
Is a system used to execute ADM deployment Orchestration environment components include:
52
Deployment package
Copyright 2007, Oracle. All rights reserved.
Orchestration Environment
11 of 18
` The Siebel Management Server ` A database containing records on all deployments and data types contained in ADM packages ` An ADM command line interface (CLI) ` An ADM registry file ` A target enterprise profile file, which describes the target environment and deployment steps
52.12
12 of 18
52.13
52
ADM registry file
13 of 18
52.14
Destination Enterprise
Source Enterprise
Orchestration Environment
Destination Enterprise
14 of 18
52.15
Siebel Management Agent is a service that runs in combination with a Siebel Server and provides support for Management Server requests
Siebel Management Server Orchestration Environment
52
Siebel Mgmt Agent Siebel Server Siebel Mgmt Agent Siebel Server Siebel Mgmt Agent Siebel Server
Destination Enterprise
15 of 18
52.16
16 of 18
The recommended way to modify the enterprise profile file is to use Microsoft InfoPath, a component of Microsoft Office. XML form templates are provided for use with InfoPath. To install the InfoPath form and its descriptor as trusted forms, execute two batch files: <mgmt server install dir>\adm\installentprofile.bat and <mgmt server install dir>\adm\installdescriptor.bat.
52.17
Example: A modified assignment object may need to be deployed before a new assignment rule ADM supports parallel deployment of file and database type customizations Specifies deployment groupings by deployment unit or group, target Siebel server, or a collection of servers Sets behavior of deployment on error
` Staging
` Stop on error
52
17 of 18
52.18
Module Highlights
ADM may be used to move Siebel application modifications from a development environment to a test environment
` Database changes (LOVs, assignment rules, and so on) ` Repository changes (objects definitions, workflows, and so on) ` Files changes (Web templates, CSS files, .srf files, and so on)
Advanced deployment options are set by modifying the enterprise profile file EntProfile_<EnterpriseName>.xml
18 of 18
53.1
53
Copyright 2007, Oracle. All rights reserved.
53
53.2
Module Objectives
2 of 30
53.3
Identify All Customizations to Deploy Export Database Customizations Export Repository Customizations Move File Customizations Create an ADM Package Deploy the Package
53
3 of 30
53.4
The first step in planning the deployment of application customizations is to identify changes
` Examination of software configuration management or development logs may suffice
4 of 30
Identify database changes using the Siebel client or development logs Determine file changes using operating system (OS) timestamps or third-party tools like diff
53.5
Specify the order of deployment before exporting database changes using the Siebel client (covered later in this module)
53
Copyright 2007, Oracle. All rights reserved. 5 of 30
User List depends on Users Access Group depends on User Lists State Model depends on List of Values
53.6
Use the Siebel Web Client to export database modifications to files suitable for ADM packaging
` Example: Export a collection of new User Lists
6 of 30
53.7
4.Enable project
53
7 of 30
53.8
Example: Save a query that selects User Lists with Name = AAA*
` In the ADM Deployment Projects view, enter saved query name in the Deployment Filter field
Data types applet in Deployment Projects view
8 of 30
53.9
53
9 of 30
53.10
53.11
` A .sif file containing the changes ` A deployment descriptor file (XML) ` A log file of export steps and status
53
Copyright 2007, Oracle. All rights reserved. 11 of 30
` Hot fix: typically a small set of hand-selected modifications ` Mid-level release: repository changes after a specified cutoff date
53.12
12 of 30
53.13
53
53.14
File type customizations do not need to be exported using the Siebel client or Siebel Tools
` Move files to the correct directory in the package tree (discussed later)
The type for a custom Siebel Repository File (.srf) is File, not Repository
14 of 30
53.15
ADM includes a utility, admpkgr, which can create and verify an ADM package
53
` Runs from command line ` ADM packager syntax: % admpkgr <init | generate | validate> <pkg_name>
53.16
Example:
Empty package directory structure
Package location
16 of 30
Optional Switch
Set the language sub-directories in the empty package directory structure using the optional switch, g <lang>. Example: admpkgr init g ESP <pkg_name> This command would create Spanish language subdirectories, which would be named ESP. The default language is American English (ENU).
53.17
Database and repository exports and file modifications need to be moved to the new package directory tree
` For database type, move the .xml file containing data + descriptor file ` For repository type, move the .sif file + the descriptor file ` For file type modifications, the package sub-directory depends on the file category:
53
Copyright 2007, Oracle. All rights reserved. 17 of 30
Repository file (.SRF): <pkgdir>\file\AppServer\objects\<lang> Web templates: <pkgdir>\file\AppServer\webtempl\<lang> Images, CSS files, browser script files: <pkgdir>\file\AppServer\webmaster\<lang> Report files: <pkgdir>\file\ReportServer\<lang>
53.18
Command syntax:
% admpkgr generate <package name with path>
Example:
18 of 30
53.19
Example:
53
Copyright 2007, Oracle. All rights reserved. 19 of 30
53.20
The ADM command-line interface (CLI) command set is executed on the Management Server host
` Commands contained in a batch file created by a Perl script bundled with the Management Server ` Batch file is named deploy_<enterprise name>.bat
20 of 30
CLI Optional Switches A complete list of command-line switches may be found in Siebel Bookshelf, Siebel Application Deployment Manager Guide.
Example: if enterprise name = Siebel, then ADM CLI batch file is named deploy_Siebel.bat Typically created in \<mgmt server install dir>\bin
53.21
53
53.22
Call load command to put references to package contents into the orchestration environments database
` Validates package structure and checksum ` Uses package descriptor file to map package contents to Management Server database ` Command syntax: deploy_<enterprise> load <user> <password> <package name> User/password ` Example:
22 of 30
Package name
53.23
New Session
Orchestration Environment
53
Copyright 2007, Oracle. All rights reserved. 23 of 30
53.24
Repository changes are copied to target repository Database changes are loaded into target database File changes are moved to correct location in target file system
` Example:
Orchestration Environment
Destination Enterprise
24 of 30
53.25
Call activate to perform any steps required to make customizations available to users
` Most data types do not require activation
Example: Proposal Template LOV activation clears the LOV cache Workflow process activation sets the process to Active Image, CSS file, or Web template file activation propagated to Web server
` Activation examples:
53
Copyright 2007, Oracle. All rights reserved. 25 of 30
53.26
Status example:
26 of 30
53.27
Sequence of commands that allows rollback of a deployment Lists packages deployed by Siebel Management Server Deletes package references and session info from Siebel Management Server
27 of 30
53
Reference
Further information about ADM package deployment using the ADM CLI can be found in Siebel Bookshelf, Application Deployment Manager Guide.
Creates backup copy of target enterprise data that will be affected by deployment
53.28
Module Highlights
` ` ` ` ` `
Load the package Create a deployment session Copy the package to the target environment Activate the customizations (optional) Status to verify correct deployment Acknowledge to end the deployment session
28 of 30
Use the ADM packager utility to bundle modifications for deployment to the target enterprise Execute commands from the ADM CLI to deploy an ADM package:
53.29
Lab
53
Copyright 2007, Oracle. All rights reserved. 29 of 30
53.30