Siebel課程筆記


Siebel CRM 培訓內容:
第一講:Siebel的總體概述
1.Siebel的應用概述
Siebel CRM是圍繞客戶關系管理這個主題建立起來的一系列應用的總和,和一些國內公司的CRM/Call Center產品不一樣,Siebel應用遠遠不只是接一些電話然后記錄下來並進行處理這么簡單。
Siebel應用是通過統一協調管理各個聯系客戶的渠道,如email,電話,傳真或者web以至於現場客戶服務,從客戶信息管理,銷售機會管理,服務管理,
主動地根據客戶信息進行銷售等,提供給公司一個全局的統一的客戶視圖,並提供給客戶一個統一的公司視圖,而建立起來的面向多個行業的客戶關系管理解決方案。
Siebel的應用包含多個模塊,分別面對不同的使用人員,主要分為面向客戶的應用,面向雇員的應用和面向合作伙伴的應用。
Siebel應用里基礎的業務實體
Siebel應用里有一些業務實體貫穿於整個應用中,這些業務實體主要是Accounts,Contacts,Opportunities,Orders,Service Requests,Households,Activities,Assets。
Accounts(公司):公司外的業務實體,可以是潛在的客戶,競爭對手等。
Contacts(聯系人):和公司有生意往來的人,一般都有一個名稱,職位,電話號碼。
Opportunities(機會):一個可以帶來利潤(revenue)的事情,一般會和一個account相聯系,並且會有一個完成日期。
Orders(訂單):客戶購買的一個產品或服務,一般有一個訂單號,訂單狀態,並且和一個account相聯系。
Service Requests(服務請求):一個客戶請求,可能請求一些產品信息或服務信息。
Household(集體成員):有某種經濟聯系的一些人的集合,他們可能有共同的采購行為或者興趣.一般有一個名稱,一種成員類型,集合體的聯系人,並且有專門的用於負責這些人的雇員。
Activities(活動):一個需要完成的事件,一般有起始日期和預計完成日期,優先級別,和負責的雇員。
Assets(資產):一個已經被采購的產品,一般有一個資產號碼,一個產品代碼,和產品當前使用狀態(如在用,廢棄等).

2.Siebel技術體系
Siebel的技術體系主要是建立在第三方技術平台之上,Siebel的主要體系架構是典型的web server/Applications Server/Database Server的三層架構

3.Siebel的組織架構
Siebel應用程序的應用/數據訪問控制和Siebel應用的組織架構設計相關,Siebel應用界面的一些基礎概念包括:Screen,View以及
Siebel組織結構的基本概念Division,organization,position,responsibility和employee
Screen是指Siebel應用里一組相關的功能或主題提供的一個tab.
Accounts就是一個screen,而View則是完成該主題里一個特定的任務的具體菜單項,如Accounts List則是一個View,而通過這個View能夠看見的東西則稱之為數據(data).
視圖和數據的權限是完全分開控制的.比如兩個call center話務員Mary和Lisa,她們可能具有相同的職責(所以他們能夠看見相同的View),
但是每個人只能看見自己的那份數據(data是由他們的ID控制).而他們的Manager則可以看見Mary和Lisa兩個人的數據(數據由organization組織架構決定).

Division和Organization和我們平常所見的公司結構圖里的分支和部門是一樣的概念,其實建立Division和Organization的方法一樣,
只不過要在建Division的時候選擇一個checkbox指定該Division為Organization.但是Organization和Division也有區別,
他們都可以用於來設置公司組織架構的層次,但是如果希望不同的Organization不能夠互相看見對方的數據進行數據的控制,需要對數據進行控制的話,則要使用Organization。

職位也是一個公司組織結構圖上的一個小方塊,用於組成公司的上下級匯報關系,一般一個職位只有一個雇員,當然有時候一個職位可以有多個雇員.
而且因為職位遠要比雇員要穩定(雇員很可能離職),所以職位的訪問控制在企業的很多場景里提供了恰當的數據訪問控制方式,而且使用職位進行訪問控制比之使用雇員進行權限控制有更大的穩定性。
Responsibility則是企業里某次功能的集合,這個集合通常賦予一個工作崗位,(從Siebel應用的角度來說,就是一組View的集合)

4.Siebel的訪問控制
Siebel提供的兩種主要的訪問控制方式在View級別和Data(record)級別:
1).View級別的訪問控制:一個企業通常按照功能進行工作的區分,分配給一個用戶的功能決定了他能夠訪問Siebel應用的功能(在Siebel應用里稱之為View,類似於一般應用的菜單),一個用戶通過授予他的職責從而能夠訪問的功能的集合,這種應用的授權方式是通過View來進行的。
如一個銷售代表通常能夠看見My Contact View,My Opportunities View等,而一個Call Center Agent卻只能看見My Service Request View。這些都是通過Responsibility授權而得到View的權限的例子
2).記錄(數據)級別的訪問控制:記錄級別的訪問控制使用戶能夠Siebel使用三種數據訪問控制,position,organization,access group:當一條記錄被賦予position,organization,access group權限時,
只有那個職位,組織,或訪問組的雇員能夠看到該數據.下面只通過position來說明數據的這種訪問控制,同樣對於Organization也是類似的。Position Access Control也有好幾種,我們只選取其中一種來說明:
single-position access control:如報價信息,一個使用某種職位登錄的雇員只能看見該職位能夠看見的報價信息(一個更高職位的雇員可能可以看見更高的折扣,所以每個職位的報價信息是不一樣的)
不同類型的數據可以采取不同的數據訪問控制方式,如客戶相關數據可能更傾向於采取position相關的權限控制
能夠使用什么控制方式和Business Component(BC)相關,是由該 BC的View Mode決定,比如一個想使用position access control的View必須是該View對應的BC里ViewMode的OwnerType里有position一項

第二講:Siebel數據架構
1.Siebel數據結構的詳解
整個Siebel數據的層次結構分為三個層次,每一個層次都對應了下一個層次的相應的元素,一個層次的改動不影響另一個層次的穩定性.
UI層中主要包括:List Column or Control、Applet、View、Screen、Application
Business層主要包括:Field、Business Component、Business Object
Data層主要包括:Column、Table
三層架構的關系:一張表包含多個列,一個業務對象BO包含多個業務組件BC,一個業務組件又包含多個字段.字段主要顯示在Control或List Column.
一個Applet包含多個List Column or Control,一個Applet又引用了一個BC,一個應用程序包含多個Screen,一個Screen又包含了多個View.
從三層架構可以看到,一個BC其實對應的就是一個邏輯表(可以是一個基表也可以是幾個關聯的表的一個邏輯的表),BC里的Field就是對應了數據表的列,
多個相關主題的BC則組成了BO,而View,Screen等屏幕元素,這些屏幕元素和BC,BO也存在一定關系,從BO和BC的觀點來重新定義這些概念就是,View其實對應的就是一個BO,而Applet則對應着一個BC,所謂Control
則是屏幕上對應於關系數據字段的顯示.多個相關的View則組成了一個Screen,而多個相關的Screen則組成了一個Siebel應用

2.Siebel數據架構各個模塊的配置
1)Siebel計划和實施:1)計划 自上而下計划配置項目 2)實施:自下而上實施更改.
2)首先數據層,數據層中包含了很多張表,表又有很多列組成,在實際開發中,表已經建好,可以直接用.在實際開發規范中,表是用數據庫管理員創建.
3)其次業務邏輯層,這一層包括了BO,BC,Field,在實際開發中,需要先建BC,根據規范BC需要在向導中建.創建BC需要指定一個Project,然后建一個BC,關聯一張表.然后創建一些字段與表中的Column對應.
創建一個BO,指定Project,關聯一個主BC.
4)最后數據顯示層,這一層包括了Control or List Column、Applet、View、Screen、Application.在實際開發中,需要先配置Applet,選擇向導創建List Applet或者Form Applet.
首先指定一個Project,對Applet進行命名以及對Applet顯示的命名,選擇並關聯指定的BC.
5)配置View,使用向導創建View,首先指定Project, 對View命名,然后關聯一個BO,最后選擇模板.進行對View的配置.
6)配置Screen,創建一個Screen,進行命名,指定特定的Project,指定默認的View.

3.配置一個Siebel應用程序需要那些步驟
Siebel界面的初步搭建都是基於Siebel Tools工具來創建的,其搭建步驟:

1). 首先先創建一個Project項目,並進行locked.

2). 建表輸入名稱,引入新建的Project名稱--->選擇獨立的表.根據開發規范表已經建好

3). 添加Column,添加幾條記錄,然后Apply/DDL點確定,輸入數據庫賬號密碼更新本地數據庫的表的更新

4).添加業務組件(BC) 根據向導創建,選擇Project名稱,命名一個業務組件名,選擇表名,指定字段與表的列對應關系

5). 配置Field,修改字段里的一些約束條件,修改Type類型

6). 新建一個BO,創建BO名稱,指定Poject,選擇BC,關聯Primary Business Component

7). 新建Applet,根據向導創建,選擇List Applet或者Form Applet進行創建.

8). 創建View,使用向導創建,指定選擇Project,命令View名,選擇BO,選擇模板進行創建

9). 配置Screen,添加一條記錄命名Screen名稱,指定Project名稱,新建一個記錄,選擇Type,定義Default View.

10).選擇Application,右鍵選擇Locked,指定Project(Page tab),添加記錄,然后進行編譯.

4.Siebel Tools工具的使用
1)首先Siebel Tools工具,Tools界面有菜單欄,工具欄,Object Explorer.Object property, Object definition各個功能等
2)Siebel Tools工具的環境配置,View-->Options. Help工具里的eScript參考目錄以及一些Siebel Tools和srf文件的信息
3)同時也講到了Tool工具下的項目編譯過程,如果在本地數據庫針對某一個項目開發,需要對項目進行加鎖.同時也講到Check Out與Check In的區別
4)所有的開發都是基於Siebel Tools工具來進行的,對於Tools的一些功能,一些流程需要清除的了解

第三講:Siebel業務流程與配置
1.關系表之間的關系
對於關系表之間的關系,如主外鍵關系,從業務的BO觀點來看則是BC之間的關系(不是嚴格的一對一,並非是一個關系表的外鍵一定會組成BC間的關系).因為一個BO總是由一個主要的BC以及和它相關的一些BC組成.
而主要的BC總是以一定的關系和附屬的BC關聯,這種關系就稱之為Link.
一個View展現的就是一個BO,而BO是由一個Master BC和相關的一些子BC組成,如果不存在Link,則子BC的所有數據都會展現出來.而建立Link之后,就只有和Master BC選定的記錄相關聯的數據才會展現出來.這些關系可能是:
1:1關系:一對一的關系很多是用在擴展表上,擴展表的后綴名通常為_X(擴展表是Siebel里常見的一種表,一般Siebel業務的基礎數據存儲在Base表中,然后把一些擴展的數據和一些可以客戶化的字段放在擴展表中,從而給不同行業,不同場景提供了一個擴充性很強的數據模型)
1:M關系:一對多的BC關系一般用於Master-Detail的業務場景,比如一個Account以及該Account已經購買的產品就是一個Master-Detail關系.這種關系類似於關系表的主鍵外鍵關系,這種關系在擴展表上也存在,通常后綴名稱是_XM.
M:M關系:多對多的關系是通過一個叫做交集表(Intersection Table)體現出來的,兩個BC之間沒有主外鍵關系,但是每個BC和該交集表有主外鍵關系.

2.CRM業務流程的新裝業務流程(客戶--> 產品---> 訂單---> 資產)
由客戶發起,客戶申請新裝業務.如果已有,需要查詢一個客戶業務受理頁面,如果沒有客戶信息,需要新建客戶信息.
客戶挑選產品, 加入購物車,生成訂單.訂單生成后,把訂單行項目記錄轉換成資產記錄.生成相應的資產.
比如電信項目的新裝業務流程:
1)客戶申請新裝業務
2)新建客戶信息,選擇產品
3)生成訂單並由客戶確認
4)訂單提交並開通狀態跟蹤
5)收費完成訂單並開始收費形成資產

3.MVG的配置
MVG是針對某一個多值的字段,這個字段有多個值,顯示這個字段,需要配置MVG,
1).首先在一個Project中,分別建立兩個BC對象
2)構建兩個BC關系通過Link對象實現,創建中間表.
3)配置MVLink和多值Field
4)配置多值信息的Applet(MVG Applet)
5)展現BC配置的多值Field

4.Picklist的配置
Picklist包括靜態的Picklist和動態的Picklist
靜態Picklist的配置
1)Picklist,復制一個Pistlist進行修改,創建一個靜態PickList的名稱,指定Project
2)選中Business Component(Field),指定某個字段的Picklist
3)選擇Applet Control(Form Applet)行中對顯示字段的Runtime
4)Business Component中Field(Pick Map),把需要映射的Field與Picklist Field進行關聯映射
5)Project進行編譯

動態Picklist的配置
1)選擇Picklist,新建一條記錄,新建動態名,指定Project名稱
2)選擇BC上的Field在指定的BC下行中添加Picklist
3)點擊Field(Pick Map),新建一條記錄把Field與Picklist Field進行映射關聯
4)拷貝現有的標准的Pick Applet 進行定制,首先查詢Type為Pick list類型的Applet
5)選擇Applet(List Column)選擇需要Picklist的字段,
6)返回Applet(Form Applet)進行字段在Form List下的顯示.最后選擇Tools並Compile Projects進行編譯.

第四講:業務邏輯層BC上的一些配置屬性
1.BC上Field的計算字段類型
BC上的Field字段包括:單值字段,多值字段(MVG),計算字段.
計算字段:本身不對應到數據庫, Columnu為空的,計算字段根據特定的某個條件,某個運算符,運算出來的某個值,就是計算字段,就是值來源於運算.
運算符:IIf方法: iif("表達式","Y","N"), 計算字段可以嵌套計算字段,
計算字段和普通的字段的區別就是:計算字段打勾以及一些表達式的配置.

2.BC上Up的配置
Up相當於一個事件,就是滿足了一定的條件去執行.相當於數據庫中的觸發器.
UP的分類主要是針對BC層面的分類:
1)Read Only(只讀),也是針對一定的表達式來進行觸發的操作.
2)Deep Copying(復制):對存在父子關系的BC,如果指定了Deep Copying,發生復制了就會把相關的父子BC也復制一份.
針對字段級別的UP: Read Only UP、級聯控制(聯動控制)
Applet 上的Up主要是控制一個按鈕的恢亮.

3.BS可以看作是Siebel里的一個對象,主要是用來寫腳本.一套業務邏輯,業務邏輯也包括BO,BC,BS.
腳本可以在Browser端運行, Application的業務服務主要在瀏覽器端運行.

4.View Mode配置
View Mode配置就是對權限控制配置,Siebel里面權限控制是分為頁面級別和視圖級別的.頁面級別是根據職責來控制的.
ViewMode主要是針對數據級別來控制的.數據級別分為: Personal、Sales Rep、Organization、Group、Catalog
數據訪問控制:首先確保數據Column或者字段能夠在表中存在.確保數據能夠和職位、組織有關聯.
權限控制:
1).構建BC所在表的數據和職位組織所在表的一個關系,也就是建一個MVG,MVL,link,指定一個相應的View Mode,只需要配兩種級別職位級別和組織級別。
2).配相應的視圖里面的VisibelType 指定這個視圖顯示那種級別的數據.(視圖配置主要顯示那個級別的數據)

第五講:eScript腳本
1.主要使用在:Application Applet BC BS(BS對象就是腳本組成,是對一系列腳本的封裝)
eScript語言主要在Browser Script 和Server Script.
Applet 腳本主要體現在各個按鈕上.Applet的各個按鈕主要定義在Control上.
Browser Script主要運行在瀏覽器端,Server Script主要運行在服務器端.
執行順序:優先執行Browser 端的腳本-->Server端的腳本,腳本不只是寫在Browser 端,Server端的配置,還有信號只是針對業務需求很少用到.

2.業務服務(BS)
就是定義一個名稱,然后指定一個Project,Class一般是默認的.除了特殊的,比如說接口。
業務服務結構:
主要就是Method,里面包含一系列的方法,配在UP里面.
Applet Browser Script()加載頁面就已經執行了.
BS:Method定義一系列方法的集合.BS Server 腳本.

3.控制按鈕明暗的兩種方式:
1)Server端配置按鈕明暗的:PreCanInvoke() 寫腳本配置
2)UP中控制:CanInvokeMethodUP:方法名 也可控制按鈕的明暗的. Ture 或者False 或一系列的運算.
3)針對控制按鈕明暗來說優先執行順序:UP>BroswerScript.邏輯腳本可以寫在:Up>Browser腳本>Server腳本
4)了解兩個返回操作的代碼ReturnCancelOperation與 RerurnContinueOperation的區別.

4.Applet腳本的寫腳本的位置:Browser eScript(Applet_PreInvokeMethod ,Applet_InvokeMethod), Server eScript(PreInvokeMethod,InvokeMethod,PreCanInvokeMethod)
BC端:Broswer Script不用寫腳本,Server Script需要寫腳本. 服務器端對應的是column,寫腳本的位置:BusComp_PreSetFieldValue ,BusComp_SetFieldValue.

5.Siebel 腳本語法規則:
1)eScript腳本語法定義規則
var aGood;
對象變量:Applet、BO、 BC、 View 、Screen、 Application
//獲取BO對象 var oBo=TheApplication().getBusObject("BO名稱");
//獲取BC對象 var oBs=TheApplication().GetBusService("業務服務的名稱");
//獲取BC對象 var oBc=oBo.GetBusComp("BC名稱");
fucntion方法定義一個名稱
function aGount(Inputs,Outputs){
try{
}catch(e){
}finally {
}
}
2)BC對象下常用的方法.
with(oBc){
//1.設置數據視圖權限
SetViewMode(AllView);
ClearToQuery();
//2.激活字段(相當於把某個字段查出來了.)
ActiveField("字段名稱")
//3.設置查詢條件
SetSearchSpec("Product Type Code","產品");
var sStr="[字段1]=值 and [字段2]<>值 or [字段3]=值";
setSearchExpr(sStr);
//4.執行查詢
ExecuteQuery(ForwardOnly);
//5.獲取結果集並判斷結果
result=FirstRecord();//接收第一條記錄
//6.判斷
if(result){
//修改字段值
SetFieldValue("字段Name","要設的值");
//獲取字段值
GetFieldValue("字段名稱");//返回的是String類型
//7.保存提交
WriteRecord("保存名稱");
}
}
6.BC代碼的編寫順序:
1).設置數據視圖權限
2).清除查詢
3).激活字段(相當於把某個字段查出來)
4).設置查詢條件
5).執行查詢
6).獲取結果集並判斷結果
7).保存提交


例題:
1.在本頁面上配置MVG:MVG用於實現在一個學生記錄行上瀏覽教師的所有信息
首先需要兩張表:Student表(Stu)和Teacher(Tea) 學生表中包括:Sid,Sname,Ssex,
教師表包括:Tid,Tname,Tsex.Tcourse 中間表:學生選課表(Cid,Sid,Tid,Cs)
1).首先在指定的Project中,需要建立StuBC和TeaBC,
2).通過Link,把兩個BC建立關聯.Name(StuBC/TeaBC),輸入Project,輸入主BC和子BC,中間表就是學生選課表.
3).配置多值MVLink和MVField
配置MVL:在StuBC上配置MVL,目的BC(TeaBC),以及目的Link(StuBC/TeaBC)
配置MVF:在StuBC中添加一個多值字段Name(TeaAll),Multivalue Link寫MVLink名稱.Field(TName) 字段所對應是顯示多值的字段名
4).在StuBC中配置多值字段Name(TeaAll),Dest Field(Tname),MVLink的名稱以及Multivalued(必須勾選),說明顯示的是一個多值字段.
5).然后配置Applet,Form Applet或List Column中,需要在StuBC對應的Form Applet中新建一個字段,Name(TeaAll),Field(TeaAll),Runtime(勾選),用於顯示多值字段.
6).配置一個MVG Applet,指定一個項目名稱,選擇BC,Type選擇(MVG).
7).把MVG Applet名稱放到Form Applet以及List Applet所對應的MVG Applet.
8).最后選中Project,選擇工具進行編譯.

2.在本地頁面配置.配置學生的性別靜態值列表,含值為[男]、[女].
1)首先在All Project中,選中Picklist,復制一個Picklist進行修改,命名,指定Project,Bounded(勾選),Business Component(PickList Generic),static(必須勾上),Type Field(Type),指定Type Value。
2)選中Business Component(Field),選擇Ssex中Picklist(Type Value的名稱)
3)選擇Applet Control所對應的Form Applet中Ssex行中的Runtime(勾選)
4)最后進行Business Component的Field(Pick Map)的映射,新建一條記錄,Field(Ssex),Picklist Field(Value).
5)最后選中StuBC進行編譯(選中對所修改的進行編譯可以提高性能,編譯比較快)

3.在本地頁面上配置選擇班主任id用的動態Picklist.
1)選擇Picklist,新建一條記錄,Name(動態Picklist 名稱),指定項目名稱,Bounded(勾選),Business Component(TeaBC)
2)選中Business Component(Field),TeaBC下Tid行中Picklist(動態Picklist名稱),顯示Picklist的字段
3)點擊Field(Pick Map),新建一條記錄Field(Tid),PickList(id)
4)新建Pick Applet,Name(動態Pick Applet),BC(TeaBC),
5)選擇Applet List Column,把Tid,Tname,拖入主體窗, Form Applet Tid行中PickApplet(動態Pick Applet),List Applet Tid行中PickApplet(動態Pick Applet). 最后選中所修改的對象,進行編譯.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM