如何創(chuàng)建工作流流程模板_第1頁
如何創(chuàng)建工作流流程模板_第2頁
如何創(chuàng)建工作流流程模板_第3頁
如何創(chuàng)建工作流流程模板_第4頁
如何創(chuàng)建工作流流程模板_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

文檔控制TOC\o"1-5"文檔控制 iUNIT1工作流概述 1單元培訓目標 1LESSON1概述 1UNIT2工作流步驟 3單元培訓目標 3LESSON1工作流步驟組成結構 3LESSON2計劃一個工作流步驟 3UNIT3創(chuàng)建工作流步驟 4單元培訓目標 4LESSON1創(chuàng)建工作流步驟 4UNIT4定義項目類型、項目類型屬性和快速編碼 8單元培訓目標 8LESSON1定義項目類型、項目類型屬性和快速編碼 8UNIT4定義通知活動 9單元培訓目標 9UNIT5工作流目錄服務 11單元培訓目標 11LESSON1工作流目錄服務 11UNIT6定義功效和步驟活動 12單元培訓目標 12LESSON1定義功效和步驟活動 13UNIT7工作流引擎 17單元培訓目標 17LESSON1工作流引擎 17LESSON2目錄集和行次序 19LESSON3報表輸出 19UNIT8使用工作流通知 19單元培訓目標 19LESSON1使用工作流通知 19UNIT9監(jiān)控工作流進程 21單元培訓目標 21LESSON1監(jiān)控工作流進程 21UNIT10PL/SQL文檔 24單元培訓目標 24LESSON1PL/SQL文件 24LESSON2年末關帳 24UNIT11SELECTOR功效 24單元培訓目標 24LESSON1SELECTOR功效 25LESSON2年末關帳 26UNIT12清除 26單元培訓目標 26LESSON1清除 26UNIT15工作流安裝配置 27單元培訓目標 27LESSON1工作流配置 27UNIT1工作流概述單元培訓目標了解工作流步驟概念了解工作流體系結構了解工作流特征LESSON1概述工作流關鍵用于完成以下三種業(yè)務需求:在業(yè)務步驟中發(fā)送、提供附加信息,這些附加信息以自助Web頁面或Form形式存在,比如:在Application中審批采購訂單時,采購訂單form會作為附加信息提供給審批人。定義業(yè)務規(guī)則。使用WorkflowBuilder(圖形化工具)修改業(yè)務規(guī)則步驟;使用PL/SQL寫步驟中活動源代碼。發(fā)送電子郵件。工作流能夠以電子郵件方法向任何Application用戶發(fā)送通知。工作流體系結構:開發(fā)者用戶端:只要在PC上安裝了WorkflowBuilder而且能夠連接到數據庫,就能夠用來創(chuàng)建和修改工作流定義。數據庫服務器:工作流是和Oracle數據庫集成在一起。應用服務器:包含OracleWebServer、WebDB和發(fā)送電子郵件后臺程序。最終用戶端:安裝了瀏覽器能夠使用Application、接收工作流發(fā)出郵件和使用用來監(jiān)控工作流Web頁面。工作流特征和定義:WorkflowBuilder:用來定義和修改工作流圖形化工具,運行在Windows操作系統(tǒng)上。能夠將一個或多個工作流定義保留到數據庫中或保留成一個文件。WorkflowBuilder由‘對象瀏覽器’和‘步驟圖表’兩種窗口組成?!畬ο鬄g覽器’以樹狀結構顯示了工作流對象組成,最上面一層是一個數據庫連接或一個wft文件,下面一層顯示是在數據庫或文件中包含工作流定義,更下面一層是組成一個完整工作流定義對象(比如:屬性、步驟、功效、通知、消息和快速編碼)。‘步驟圖表’窗口使用‘對象瀏覽器’窗口中對象來創(chuàng)建和修改工作流中步驟。工作流步驟是由活動(活動能夠是功效、通知或另一個工作流步驟)和各活動之間連線組成。在應用中能夠經過工作流引擎API來調用一個工作流步驟。一個工作流步驟開始于一個‘開始’活動。工作流引擎會自動地一個接一個地運行步驟中活動,直到碰到一個通知或一個暫停工作流步驟活動。當工作流引擎碰到一個通知時,它會調用通知程序來發(fā)送信息給某個角色,當用戶或角色對通知作了回應,工作流引擎會接著運行后面活動,直到碰到一個‘結束’活動。在工作流步驟中能夠使用循環(huán)、分支和平行結構和使用子步驟來實現復雜業(yè)務規(guī)則。工作流引擎:工作流引擎是嵌在Oracle8i服務器里,實施由WorkflowBuilder創(chuàng)建工作流步驟活動,監(jiān)控每個活動狀態(tài)。工作流定義導入程序:導入程序運行在服務器端,用來將保留成wft文件工作流定義裝載到數據庫中。在WorkflowBuilder中也集成了導入程序。通知系統(tǒng):用來給角色發(fā)送通知(角色能夠是一個用戶或一組用戶)。使用戶能夠經過電子郵件系統(tǒng)用戶端或Web瀏覽器來接收和回應通知。通知匯總(NotificationWorklist)Web頁面:通知匯總列出了全部目前用戶還未回應或確定通知。用戶經過通知匯總Web頁面來閱讀和回應發(fā)送給她通知。通知明細Web頁面:從通知匯總Web頁面能夠連接到通知明細Web頁面,以查看每條通知明細信息。電子郵件方法通知:工作流通知除了能夠在11i提供Web頁面中查看,還能夠以電子郵件方法發(fā)送給Application用戶,這一功效是經過名為‘通知郵遞員’(NotificationMailer)后臺程序實現。目錄服務(DirectoryServices):工作流目錄服務是存在于數據庫中三個視圖:WF_USERS、WF_USER_ROLES、WF_ROLES。WF_USERS統(tǒng)計了工作流用戶,接收通知偏好(以通知匯總方法或電子郵件方法)和用戶電子郵件地址;WF_USER_ROLES統(tǒng)計了用戶和角色之間關系,一個用戶能夠同時隸屬于多個角色(比如:系統(tǒng)管理員責任是一個角色,采購員職位也是一個角色,一個用戶能夠即擁有系統(tǒng)管理員責任又擁有采購員職位),一個角色能夠包含多個用戶,用戶和角色之間是多對多關系;WF_ROLES統(tǒng)計了工作流中角色信息,角色能夠是一個用戶、一個責任(全部擁有該責任用戶全部屬于這個角色)或一個職位(全部擁有該職位用戶全部屬于這個角色)。工作流通知系統(tǒng)依據目錄服務來決定將通知發(fā)送給誰,以什么樣方法發(fā)送。通知能夠發(fā)送給一個單獨用戶或發(fā)送給一個角色(一組用戶)。工作流監(jiān)控系統(tǒng)管理員和用戶能夠經過Web瀏覽器來管理和控制工作流實例。經過Application提供監(jiān)控Web頁面,用戶能夠查看某個工作流實例狀態(tài)(eg.運行中、已完成或犯錯),工作流實例運行到哪個活動和相關工作流實例屬性值,用戶還能夠對工作流實例進行加速(跳過某個活動)或重試(重新運行某個活動)。UNIT2工作流步驟單元培訓目標了解工作流步驟由哪些對象組成計劃一個工作流步驟LESSON1工作流步驟組成結構項目類型(ItemType):組成工作流對象集合,在工作流步驟中每一個對象全部必需隸屬于一個項目類型。項目類型屬性(ItemTypeAttribute):就仿佛PL/SQL中全局變量,它能夠全局地被工作流步驟中活動引用(比如:在審批采購訂單工作流步驟中,采購訂單編號就是一個項目類型屬性,在審批步驟活動中能夠隨時取得這個屬性值,也就是采購訂單編號)。步驟活動(ProcessActivity):在工作流步驟中包含三種類型活動:功效、通知和子步驟。功效活動(FunctionActivity):對應一個PL/SQL存放過程(比如:在采購訂單審批工作流中,會有一個名為‘創(chuàng)建審批人列表’活動,它所對應PL/SQL存放過程實施從‘審批層次’表中取出統(tǒng)計并將統(tǒng)計插入到‘審批人列表’表中功效)。通知功效(NotificationActivity):實施將特定信息發(fā)送給某個接收人功效。信息(Message):通知內容,必需將信息指定給某個通知??焖倬幋a(LookupCode):指定給某個工作流對象值列表(比如:在采購訂單審批工作流中回應通知—‘審批采購訂單’結果就是一個快速編碼,回應結果只能是‘審批’、‘拒絕’、‘轉交’或‘審批并轉交’之一)。WorkflowBuilder:在WorkflowBuilder對象瀏覽器窗口中以樹狀方法顯示了工作流對象組成,在樹狀結構第三層(也就是項目類型下面一層),包含以下這些分支:屬性(Attribute)、步驟(或子步驟Process)、功效(Function)、通知(Notification)、信息(Message)和快速編碼(LookupTypes);一個完整工作流定義就是由這些對象組成。LESSON2計劃一個工作流步驟計劃一個工作流步驟:確定你業(yè)務需求。確定需求將由那些活動(步驟)來實現:a活動類型,功效活動、通知活動或子步驟;b.活動結果是否會影響后續(xù)活動,假如依據活動結果不一樣工作流步驟會實施不一樣后續(xù)活動(相當于PL/SQL中判定結構),那么需要為活動結果指定一個快速編碼。定什么時候開啟工作流步驟,比如采購訂單審批工作流是當用戶在采購訂單Form中按下提交審批按鈕后開啟。確定步驟結果,為步驟結果指定一個快速編碼,比如采購訂單審批步驟結果有三個可能結果值:審批、拒絕或超時。手工創(chuàng)建一個工作流步驟:定義一個項目類型;定義項目類型屬性;定義快速編碼和每個快速編碼包含值;定義信息;定義信息屬性;定義功效、通知和子步驟等對象;在WorkflowBuilder‘步驟圖表’窗口中,繪制工作流步驟(經過從‘對象瀏覽器’窗口拖拽對象到‘步驟圖表’窗口,并在活動之間創(chuàng)建連線)。在2.5版本WorkflowBuilder中,用戶能夠經過向導來創(chuàng)建工作流步驟。UNIT3創(chuàng)建工作流步驟單元培訓目標繪制工作流步驟將標準活動集成到步驟中LESSON1創(chuàng)建工作流步驟手工創(chuàng)建工作流步驟步驟請參考UNIT2‘手工創(chuàng)建一個工作流步驟’導入角色:假如在工作流步驟通知活動中要將通知接收人設為一個常數,也就是將通知發(fā)送給某個固定角色,那么需要將角色信息從工作流目錄服務導入到WorkflowBuilder中,步驟以下:在WorkflowBuilder‘文件’菜單下選擇‘打開’菜單項,選擇從數據庫中(而不是從文件系統(tǒng)中)打開工作流,連接數據庫然后選擇一個要打開項目類型;在‘文件’菜單下選擇‘導入’菜單項,從數據庫中導入角色;在‘查詢角色’域中輸入查詢條件,然后按‘查找’按鈕;然后在‘查詢結果’列表中選擇你要導入角色,單擊‘添加’按鈕將角色添加到‘已導入角色’列表中;單擊‘OK’按鈕就完成了導入工作。這時在‘對象瀏覽器’窗口中打開‘目錄服務’分支(和項目類型在同一層次上)就能夠看到你剛才導入角色,而且在通知活動屬性中指定‘接收人(performer)’時能夠選擇到你剛才到入角色。繪制步驟每個步驟全部有一個或多個‘開始’活動和一個或多個‘結束’活動,在繪制步驟之前你必需優(yōu)異入到‘步驟圖表’窗口中,能夠經過以下多個方法進入該窗口:在‘對象瀏覽器’窗口中雙擊步驟活動選擇一個步驟活動(將焦點定位到步驟活動上),然后按Ctrl+E選擇一個步驟活動(將焦點定位到步驟活動上),然后選擇‘編輯’菜單‘步驟明細(ProcessDetail)’菜單項(也能夠右擊步驟活動選擇該菜單項)使用向導來創(chuàng)建步驟活動,向導會打開‘步驟圖表’窗口并在步驟中創(chuàng)建一個‘開始’活動和一個‘結束’活動。在進入‘步驟圖表’窗口后,經過以下多個方法往步驟中加入新活動:在‘對象瀏覽器’窗口中選擇一個活動(子步驟、功效或通知),將它拖拽到‘步驟圖表’窗口中在‘步驟窗口’工具欄上按‘新步驟(newprocess)’、‘新功效(newfunction)’或‘新通知(newnotification)’按鈕,這時鼠標指針變成十字形,然后單擊‘步驟圖表’窗口空白處右擊‘步驟窗口’空白處,在彈出菜單中選擇‘新步驟(newprocess)’、‘新功效(newfunction)’或‘新通知(newnotification)’菜單項。在加入新活動后,需要將活動連接成一個完整步驟(在活動之間畫上箭頭):選擇一個活動(源活動),按住鼠標右鍵,拖拽到目標活動,然后松開鼠標右鍵,這么會創(chuàng)建一個由源活動指向目標活動箭頭(注:箭頭也能夠指向自己,即源活動和目標活動全部是同一個活動,比如:一個通知活動假如超時話,那么重新再發(fā)一次通知)假如源活動有多個可能結果值,那么在創(chuàng)建箭頭時候會彈出一個包含全部源活動結果值菜單要求用戶選擇一個結果值,而且這個結果值將作為箭頭標簽顯示。相關活動之間箭頭標簽:假如源活動沒有結果值或活動返回值不在活動所分配快速編碼范圍內,那么它和目標活動之間箭頭標簽為<Default>,<Default>結果就相當于If…Then…Elsif…Else...EndIf語句中Else子句假如源活動有結果值,而且在畫指向目標活動箭頭時指定了某個結果時,那么箭頭標簽為源活動某個結果值(即對應快速編碼某個值顯示名稱)假如源活動有結果值,但不管結果值為何它全部將指向某個目標活動時,箭頭標簽為<Any>,當源活動返回某個值后,工作流除了要運行對應箭頭所指向目標活動以外還要實施<Any>后面活動,在<Any>箭頭后面能夠運行部分通用活動(比如:寫log文件)活動除了它所分配快速編碼所包含結果值外,還會有活動超時情況(比如:通知一直沒有被回應),這時箭頭標簽為<Timeout>對于實現‘投票表決’功效工作流活動,還能夠有平局結果或沒有結果,這時箭頭標簽能夠是<Tie>或<NoMatch>。從上至下地設計工作流步驟在前面介紹創(chuàng)建工作流方法是由下至上地設計,即用戶在進入‘步驟圖表’窗口繪制步驟前,先要在‘對象瀏覽器’窗口中定義很多底層對象(功效、通知、信息和快速編碼)。而從上至下設計方法恰好相反,你能夠先在‘步驟圖表’窗口中繪制步驟,然后再定義底層對象。這種設計方法是經過WorkflowBuilder向導實現。用戶在保留以這種方法設計定義不完整工作流時,WorkflowBuilder會顯示一個列出全部錯誤信息窗口,這些錯誤信息是因為步驟或部分底層對象定義無效引發(fā),用戶仍然能夠先保留該工作流,以后再對它進行修改。校驗工作流步驟有效性當用戶保留一個新創(chuàng)建或修改過工作流時,WorkflowBuilder會自動校驗工作流有效性。假如工作流步驟未經過校驗,則將彈出一個錯誤信息列表窗口,在該窗口中顯示了未經過校驗原因。用戶也能夠進入‘對象瀏覽器’窗口,然后選擇‘文件’菜單下‘校驗’菜單項,對工作流進行校驗。用戶應該在每創(chuàng)建一個新步驟后,對新創(chuàng)建步驟進行校驗,這將有利于發(fā)覺部分有可能造成工作流步驟無法正常運行結束潛在問題。部分會造成校驗失敗原因:在一個工作流步驟中是否存在‘開始’和‘結束’活動工作流步驟是否有遞歸調用情況,即在步驟活動里面又將自己作為子步驟進行調用相同子步驟是否在同一個步驟活動中被調用兩次對于活動每一個結果值是否全部有一個對應箭頭指向一個目標活動‘結束’活動是否被看成了一個源活動指向了另一個目標活動通知活動結果值(快速編碼)是否和分配給該通知信息結果值(快速編碼)一致信息信息體內所引用信息屬性,是否真在定義信息時候被定義修改步驟中活動節(jié)點屬性活動(功效、通知、子步驟)能夠在同一個步驟中被反復使用,所以用戶在‘步驟圖表’窗口中看到每一個圖標是活動一個實例,即一個節(jié)點。在活動屬性窗口中有一個‘節(jié)點’標簽頁,用于統(tǒng)計節(jié)點(也就是活動實例)屬性。在‘步驟圖表’窗口中選中一個活動然后按鼠標右鍵,在彈出菜單中選擇‘屬性’菜單項,然后單擊活動屬性窗口‘節(jié)點’標簽頁,對節(jié)點屬性進行修改:確定活動在步驟中是一個‘開始’活動、‘結束’活動還是‘通?!顒印<偃缁顒邮且粋€‘結束’活動,而且步驟本身有多個可能結果值,那么需要為‘結束’活動選擇一個步驟結果值,比如:采購訂單審批步驟有‘審批’和‘拒絕’兩個可能結果值,那么在步驟‘結束’活動中需要選擇一個結果‘審批’或‘拒絕’,即當‘結束’活動實施結束后步驟結果是‘審批’還是‘拒絕’。一個活動可能在步驟中被數次使用,為了唯一地標識每一個節(jié)點,需要在被復用活動標簽后面加上‘-n’,以唯一地標識它們。假如活動是一個‘通知’活動,那么需要指定一個通知實施人(performer),也就是通知接收人。通知接收人能夠是一個固定值,用戶能夠選擇一個角色(前提是用戶已經在WorkflowBuilder中作過工作流角色導入);接收人也能夠是動態(tài),這時用戶需要選擇一個項目類型屬性,在工作流步驟運行后,通知將發(fā)送給項目類型屬性所指定角色?;顒訉傩裕ˋctivityAttribute)用戶能夠為項目類型定義很多屬性,這些屬性就相當于PL/SQL中全局變量,在工作流步驟運行時候,任何活動全部能夠讀寫這些屬性值(比如:在采購訂單審批工作流中,有一個名為‘文檔編號’屬性用于存放采購訂單編號,在采購訂單審批步驟中任何活動全部能夠讀取這個‘文檔編號’)。對于步驟中活動,用戶也能夠依據業(yè)務需要定義多個屬性,這些屬性有效范圍只局限于目前活動,一旦這個活動運行結束,再也無法讀寫該屬性值,它就相當于PL/SQL中局部變量。在活動屬性窗口‘活動屬性(ActivityAttribute)’標簽頁中能夠為活動屬性指定值,屬性值能夠是常數也能夠是動態(tài),如定義動態(tài)屬性值,那么它值必需參考項目類型屬性值。刪除一個項目類型屬性要從數據庫中刪除一個項目類型屬性,用戶必需從數據庫中打開項目類型,而不是打開一個工作流文件,然后刪除項目類型屬性并保留,這么將真正從數據庫中刪除項目類型屬性定義。假如用戶只是從文件中刪除了項目類型屬性,然后將文將上載到數據庫,這么并不能從數據庫中刪除該屬性定義。‘標準’項目類型在工作流安裝后就會有一個叫‘標準’項目類型,在這個項目類型中包含部分功效和通知能夠在別項目類型中被引用,比如:在步驟中‘開始’和‘結束’活動全部能夠直接調用‘標準’項目類型中這兩個功效,而無需用戶每次全部在‘對象瀏覽器’窗口中定義這兩個功效。查看工作流步驟定義WEB頁面在11i版本Application中Oracle提供了一個用于查看工作流步驟定義WEB頁面,在用戶選擇了要查看工作流步驟后,Web頁面會顯示該步驟包含全部對象和這些對象具體信息。該頁面地址是‘<webagent>/wf_item_definition.find_item_type’。顯示名稱沖突在同一個項目類型或同一個步驟活動中全部對象顯示名稱全部必需是唯一,假如顯示名稱有反復在保留將會報錯。假如用戶使用工作流導入程序來上載或升級工作流步驟導數據庫中,那么導入程序會自動處理顯示名稱沖突問題,它會在那些反復名稱前拼上‘@’符號。UNIT4定義項目類型、項目類型屬性和快速編碼單元培訓目標創(chuàng)建項目類型創(chuàng)建項目類型Selector/Callback功效創(chuàng)建項目類型屬性創(chuàng)建快速編碼LESSON1定義項目類型、項目類型屬性和快速編碼定義項目類型在‘對象瀏覽器’窗口中定位到一個數據庫鏈接(DataStore)或一個文件(WorkSpace),然后在‘編輯’菜單下選擇‘新建項目類型’菜單項,開始新建一個項目類型:輸入項目類型內部名稱,該名稱最大長度為8個字符,而且不能包含冒號和空格輸入顯示名稱和它描述SpecifythepersistencetypeforthisitemtypeSpecifythenameoftheselector/callbackfunctionforthisitemtype.項目類型Selector/Callback功效定義項目類型屬性(ItemAttribute)需要定義哪些屬性取決于業(yè)務需要,就仿佛在寫程序前需要確定要定義哪些變量一樣:一些需要在通知里面顯示內容,這些內容需要被定義成項目類型屬性。比如:審批采購訂單通知中會顯示‘采購員’、‘供給商’等信息,所以需要定義用于保留‘采購員’、‘供給商’等信息屬性在功效中常常要被引用數據需要被定義成屬性,比如:采購訂單工作流項目類型屬性‘采購訂單編號’通知收件人信息也需要定義成項目類型屬性創(chuàng)建項目類型屬性工作也是在‘對象瀏覽器’窗口中完成,先選擇一個項目類型,然后選擇‘編輯’菜單下‘創(chuàng)建新項目類型屬性’菜單項。在項目類型屬性屬性窗口中輸入屬性內部名稱、顯示名稱和描述,還要輸入屬性數據類型。屬性數據類型包含:文本、數字、快速編碼(枚舉類型)、屬性(參考另一個項目類型屬性值)、URL、Form和文件。Form類型屬性Form類型屬性關鍵被消息屬性參考,用于用戶從接收到通知追索到相關Form。這種類型屬性,在通知明細Web頁面中,以圖標形式出現,用戶點擊圖標能夠打開對應Form,比如:在審批采購訂單通知明細Web頁面中,有一個‘采購訂單’圖標,用戶點擊該圖標能夠打開采購訂單Form。這類屬性值是一個包含在雙引號中字符串,格式以下:parameterN=“Value”;雙引號中字符串值也能夠參考另一個項目類型值,格式以下:parameterN=“&item_type_attribute”。(Form類型屬性只有在Application中有效)文件類型屬性URL類型屬性定義快速編碼快速編碼隸屬于一個項目類型,不過能夠被多個項目類型引用。在‘對象瀏覽器’窗口中選擇一個項目類型,然后選擇‘編輯’菜單‘新建快速編碼’菜單項來創(chuàng)建一個新快速編碼,接著輸入快速編碼內部名稱、顯示名稱和描述。在創(chuàng)建完快速編碼后,需要為快速編碼定義值(LookupTypeCode),選擇一個快速編碼,然后選擇‘編輯’菜單‘新建快速編碼值’菜單項,接著輸入快速編碼內部名稱、顯示名稱和描述。UNIT4定義通知活動單元培訓目標定義消息(Message)定義消息屬性定義通知活動LESSON1定義通知活動通知活動Asteptocommunicatewithahumanbeing.Anotificationactivitysendsamessagetoausercontainingtheinformationneededtocompletethework.Thenotificationmayormaynotrequirearesponsefromtherecipient.創(chuàng)建消息在‘對象瀏覽器’窗口中,定位到對象樹消息分支上,選擇‘編輯’菜單下‘新建消息’菜單項,創(chuàng)建一個新消息。輸入消息內部名稱、顯示名稱和描述確定消息優(yōu)先級,當用戶收到多條通知時能夠根據消息優(yōu)先級對它們進行排序。編輯消息內容消息內容包含專題(Subject)和信息體(Body)。專題是顯示在通知匯總Web頁面里,而信息體是顯示在通知明細Web頁面里。定位到消息屬性窗口‘信息體(Body)’標簽頁上,分別編輯消息專題和信息體,信息體能夠是文本形式或HTML形式。在標題和信息體中能夠使用消息Attribute,比如:審批采購訂單工作流中有一個名為‘審批采購訂單’消息,消息包含了一個叫‘采購訂單編號’Attribute,這個Attribute內部名稱為DOCUMENT_NUMBER,消息專題為‘請審批采購訂單&DOCUMENT_NUMBER’,那么當通知發(fā)送給用戶時消息主體中‘&DOCUMENT_NUMBER’將由消息Attribute值替換,假如審批采購訂單編號為100,那么消息專題將是‘請審批采購訂單100’。定義消息結果假如消息需要用戶做出回應,這時就需要定義消息結果,消息結果在消息屬性窗口中‘結果’標簽頁中進行編輯。輸入結果顯示名稱,這個顯示名稱將作為在通知Web頁面中作為提醒信息,提醒用戶輸入結果。為消息結果分配一個快速編碼(結果可能值,比如:‘審批’、‘拒絕’),消息結果快速編碼必需和分配給通知活動結果快速編碼一致。在‘對象瀏覽器’窗口中,那些定義過結果消息圖標左下角有一個紅色問號。定義消息Attribute在‘對象瀏覽器’窗口中定位到‘消息’,然后選擇‘編輯’菜單下‘新建消息Attribute’菜單項。消息Attribute屬性窗口和項目類型Attribute屬性窗口相類似,不過多了一個名為‘起源(Source)’域。那些用于消息專題和信息體Attribute起源為‘發(fā)送(Send)’,Attribute能夠是一個常數或參考一個項目類型Attribute值。假如需要用戶在回應通知時,輸入部分附加信息(比如:在審批或拒絕采購訂單時,需要用戶輸入部分批注信息),那么需要在消息下面定義Attribute,而且Attribute起源為‘回應(Respond)’。對于包含起源為‘回應’Attribute消息,當用戶收到通知時,在Web頁面中會有部分要求用戶輸入回應域。在‘對象瀏覽器’窗口中,起源為回應消息Attribute圖標左下角有一個紅色問號。創(chuàng)建通知活動通知必需隸屬于一個項目類型,在‘對象瀏覽器’窗口中,選擇一個項目類型,然后選擇‘編輯’菜單下‘新建通知’菜單項,創(chuàng)建一個新通知活動。輸入通知活動內部名稱、顯示名稱和描述分配一個快速編碼,通知活動只能返回快速編碼值之一通知活動有一個缺省圖標,用戶也能夠選擇其它圖標為通知選擇一個消息假如通知要發(fā)送給一個包含多個用戶角色,而且期望為每個用戶創(chuàng)建一個單獨副本,那么需要選擇‘擴展用戶(ExpendRoles)’復選框能夠為通知選擇一個數據庫存放過程,那么在通知被回應后,工作流引擎將運行該存放過程假如通知是一個FYI(ForYourInformation)通知,因為這類通知不需要用戶回應(即通知沒有結果值),用戶只需閱讀該通知,所以提議選擇‘擴展用戶(ExpendRoles)’復選框選擇‘擴展用戶(ExpendRoles)’復選框另一個用途是投票表決系統(tǒng),比如:假如將采購訂單發(fā)送給一個角色要求審批,而且未選中‘擴展用戶(ExpendRoles)’復選框,那么盡管角色所包含每一個用戶全部能收到一個‘要求審批采購訂單’通知,不過只要其中任何一個用戶審批了該采購訂單(即在回應通知時選擇‘審批’),采購訂單即被審批,而且其它用戶審批該采購訂單通知也將被關閉;假如選擇了‘擴展用戶(ExpendRoles)’復選框,那么當一個用戶回應了通知后,其它用戶仍然能回應審批采購訂單通知,只有當全部用戶全部做出了回應后,通知活動后續(xù)活動才會依據每個人回應結果,決定采購訂單是否被審批,投票表決規(guī)則是通知活動后續(xù)活動實現。通知活動明細屬性頁進入通知活動‘明細屬性(DetailProperty)’標簽頁,該頁面用于輸入通知活動犯錯處理,這些屬性是可選。在‘錯誤處理項目類型(ErrorItemType)’域中輸入一個項目類型內部名稱,在‘錯誤處理步驟活動(ErrorProcess)’域中輸入步驟活動內部名稱,當通知活動犯錯時,工作流引擎將實施在該標簽頁中指定項目類型步驟活動。指定通知活動超時屬性將通知活動從‘對象瀏覽器’窗口拖到‘步驟圖表’窗口后,在‘步驟圖表’窗口中打開通知活動屬性窗口,會增加一個‘節(jié)點(Node)’標簽頁。在該標簽頁中能夠輸入通知活動超時屬性,超時屬性有三種取值類型:無超時、項目類型Attribute、相對時間。假如超時屬性為‘無超時’那么通知不要求用戶在特定時間內回應;假如為‘相對時間’,比如:相對時間為5天,那么通知必需在發(fā)出后5天內進行回應,不然步驟將進行超時處理,即運行通知結果為超時后續(xù)步驟;項目類型Attribute和相對時間效果類似,只是相對時間取值為常數,而項目類型Attribute值是動態(tài)。定義通知優(yōu)先級前面介紹過定義消息優(yōu)先級,在通知活動‘節(jié)點’標簽頁中,能夠定義通知優(yōu)先級。假如用戶未定義通知優(yōu)先級,那么通知將取分配給它消息優(yōu)先級;假如用戶定義了通知優(yōu)先級,那么工作流運行時將以通知優(yōu)先級為準。通知優(yōu)先級能夠定成常數,也能夠參考項目類型Attribute值。定義通知實施人(Performer),即收件人用戶必需在‘節(jié)點’標簽頁中指定通知收件人,通知收件人能夠是常數,也能夠參考一個項目類型Attribute值(在此之前必需先定義一個類型為角色或文本項目類型Attribute)。UNIT5工作流目錄服務單元培訓目標解釋工作流怎樣接收角色信息聯(lián)接工作流和目錄庫LESSON1工作流目錄服務術語角色:Agroupingofoneormoreuserswhoshareacommonresponsibility目錄庫(DirectoryRepository):Asetofdatabasetablesthatcontainuserinformation目錄服務數據庫視圖、工作流目錄服務本身并不包含目錄庫(基表),它是由三個數據庫視圖組成:WF_ROLES、WF_USERS、WF_USER_ROLES。這些視圖從基表中獲取相關用戶和角色信息。這些視圖是由Application提供wfdirhrv.sql創(chuàng)建。WF_USERS視圖WF_USERS列:Name:用戶內部名稱Display_name:用戶顯示名稱Description:用戶描述NotificationPerference:用戶接收通知偏好,是經過Application提供Web頁面查看通知,還是經過電子郵件方法Language:語言信息Territory:日期、數字格式EmailAddress:電子郵件地址或地址列表Fax:傳真號Orig_System:視圖基表信息Orig_System_id:統(tǒng)計在基表中主鍵Status:用戶信息目前狀態(tài):有效、無效或臨時離開Expiration_Date:用戶信息在目錄服務中失效日期WF_ROLES工作流角色能夠是職位或責任,同時它還包含了全部工作流用戶。該視圖列含義和WF_USERS類似。假如WF_ROLESEmail_Address字段為空,那么通知系統(tǒng)將給該角色所包含全部用戶發(fā)郵件。WF_USER_ROLES統(tǒng)計了用戶和角色之間關系,用戶和角色之間是多對多關系。目錄服務信息是取自Application基表,假如用戶需要從外部系統(tǒng)增加信息到工作流目錄服務,那么需要在WF_LOCAL_USERS、WF_LOCAL_ROLES、WF_LOCAL_USER_ROLES中輸入信息,這三張表字段和前面介紹三個視圖字段相同。向這些表中添加統(tǒng)計是經過包WF_DIRECTORY中存放過程實現。UNIT6定義功效和步驟活動單元培訓目標定義功效活動定義活動Attribute應用工作流引擎APIs定義步驟活動LESSON1定義功效和步驟活動定義一個功效活動功效活動在‘對象瀏覽器’窗口中定義。功效活動必需隸屬于一個項目類型,所以首先選擇一個項目類型,定位到它‘功效’分支上,選擇‘編輯’菜單下‘新建功效’菜單項,創(chuàng)建一個新功效。輸入功效內部名稱,顯示名稱和描述功效有缺省圖表,用戶能夠為它選擇另一個圖標在‘功效類型(FunctionType)’域中輸入功效類型:PL/SQL存放過程或外部程序;在‘功效名稱(FunctionName)’域中輸入存放過程名字或外部程序名字輸入功效活動系統(tǒng)開銷,即工作流引擎需要運行該功效活動時間。假如系統(tǒng)開銷過大,那么該功效活動將由后臺工作流引擎運行。標準PL/SQLAPI全部功效活動調用PL/SQL存放過程,必需按一定格式書寫,只有這么工作流引擎才能正確地運行它們,格式以下:procedure<procedurename>(itemtypeinvarchar2,itemkeyinvarchar2,actidinnumber,funcmodeinvarchar2,resultoutoutvarchar2)is<localdeclarations>beginif(funcmode=‘RUN’)then<yourRunexecutablestatements>resultout:=‘COMPLETE:<result>‘;return;endif;if(funcmode=‘CANCEL’)then<yourCANCELexecutablestatements>resultout:=‘COMPLETE’;return;endif;...參數含義itemtype:項目類型內部名稱,比如:請購單審批項目類型內部名稱為REQAPPRVitemkey:由應用生成一個字符串類型主鍵,用來在項目類型中唯一地標識一個項目。比如:用戶在APPLICATION請購單FORM中進行提交審批操作,那么FORM會調用請購單審批工作流(REQAPPRV),而且會為ITEM_KEY產生一個值(比如:‘100-221’),假如另一個用戶也提交了一張請購單審批,那么它ITEM_KEY為‘101-222’,這么ITEM_KEY就能唯一地標識了這兩次請購單審批actid:活動IDfuncmode:運行模式,它可能取值為RUN(功效活動第一次被運行),或CANCEL(功效活動作為循環(huán)重置被再次運行;功效活動所屬步驟活動被取消或被實施UNDO操作;)resultout:返回值,它可能取值為:COMPLETE:<result_code>假如功效活動正常結束,而且功效活動分配過返回值快速編碼,比如:功效活動可能返回值為‘Y’或‘N’,那么功效活動正常結束話,存放過程返回值為COMPLETE:Y或COMPLETE:NWAITING活動被暫掛,等候另一個活動結束DEFERRED:<date>活動由后臺工作流引擎運行,而且被推遲到一個具體時間,由<date>指定具體時間(書寫日期格式:to_char(<date_string>,wf_engine.date_format))NOTIFIED:<notification_id>:<assigned_user>ERROR:<error_code>活動碰到一個錯誤,而且返回<error_code>作為錯誤代碼通知活動對應PL/SQL存放過程格式procedure<procedurename>(itemtypeinvarchar2,itemkeyinvarchar2,actidinnumber,funcmodeinvarchar2,resultoutoutvarchar2)is<localdeclarations>beginif(funcmode=‘RESPOND’)then<yourRESPONDexecutablestatements>resultout:=‘COMPLETE’;return;endif;if(funcmode=‘FORWARD’)then<yourFORWARDexecutablestatements>resultout:=‘COMPLETE’;return;endif;if(funcmode=‘TRANSFER’)then<yourTRANSFERexecutablestatements>resultout:=‘COMPLETE’;return;endif;if(funcmode=‘RUN’)then<yourRUNexecutablestatements>resultout:=‘COMPLETE:<result>‘;return;endif;if(funcmode=‘TIMEOUT’)then<yourTIMEOUTexecutablestatements>resultout:=‘COMPLETE’;return;endif;...信息活動功效實施模式(FUNCTIONMODE)RESPOND用戶對通知進行了回應,通知活動對應存放過程能夠依據用戶回應運行對應代碼,比如:假如用戶只能回應‘審批’,那么當用戶回應‘拒絕’時,能夠在通知活動對應存放過程中報錯,不讓用戶回用‘拒絕’FORWARD通知收件人將通知轉交給另一個用戶,通知活動對應存放過程能夠決定是否許可用戶進行轉交TRANSFER同FORWARDRUN不管用戶回應結果是什么,該模式能夠實施部分附加業(yè)務邏輯TIMEOUT在通知超時情況下,實施對應業(yè)務邏輯通知活動對應存放過程返回值在RESPOND、FORWARD、TRANSFER模式下,RESULTOUT參數將被忽略,除非程序返回ERROR:<errcode>,這么錯誤信息將替換用戶回應,在存放過程中觸發(fā)一個異常,也能達成一樣效果。異常處理在功效活動中異常處理代碼格式以下:exceptionwhenothersthenWF_CORE.CONTEXT('<packagename>','<procedurename>',<itemtype>,<itemkey>,to_char(<actid>),<funcmode>;raise;end<procedurename>用戶能夠從表WF_ITEM_ACTIVITY_STATUSES字段ERROR_MESSAGE、ERROR_STACK中取得活動犯錯信息。定義功效活動Attribute功效活動對應PL/SQL存放過程或外部程序必需根據前面介紹格式書寫,假如用戶期望為功效活動增加額外參數,必需經過功效活動Attribute。功效活動是在‘對象瀏覽器’窗口中定義,它必需隸屬于一個功效活動,所以首先選擇一個功效活動,然后選擇‘編輯’菜單‘新建Attribute’菜單項。功效活動Attribute屬性窗口和項目類型屬性窗口類似。功效活動Attribute和項目類型Attribute區(qū)分在于前者只能用于功效活動,以后者對于整個工作流步驟來說是全局。定義步驟活動在用戶進入‘步驟圖表’窗口繪制步驟前,必需先定義一個步驟活動。在‘對象瀏覽器’窗口中選擇一個項目類型,然后選擇‘編輯’菜單下‘新建步驟’菜單項。輸入步驟活動內部名稱、顯示名稱和描述為步驟活動選擇一個圖標,也可不選(使用缺省圖標)假如步驟有多個可能結果,那么選擇一個結果快速編碼假如步驟是最上一層步驟,即不會作為別步驟子步驟,那么選擇Runnable復選框;反之,假如步驟是別步驟子步驟,則清空Runnable復選框。配置步驟活動明細屬性任何活動(步驟活動、通知活動和功效活動)全部有配置明細屬性標簽頁,它們明細屬性配置十分類似。輸入一個項目類型內部名稱和該項目類型中一個步驟活動內部名稱。該項目類型和它步驟將在目前步驟活動犯錯時運行。OnRevisit域用于確定當活動在同一步驟中被工作流引擎再次訪問時將怎樣處理:Ignore該步驟后續(xù)步驟將被忽略;Reset重置活動狀態(tài)(經過參數FunctionMode=CANCEL實現);Loop不重置活動狀態(tài)而重新運行。錯誤處理xxxUNIT7工作流引擎單元培訓目標了解工作流引擎是怎樣管理工作流步驟在功效活動中使用工作流引擎APILESSON1工作流引擎工作流引擎概覽工作流引擎是運行在數據庫服務器端PL/SQL程序工作流引擎任何時候全部處于激活狀態(tài),只要它PL/SQL過程或函數被調用工作流引擎管理著每個工作流步驟實例活動當一個活動完成后,工作流引擎決定了下一個將被運行活動工作流引擎自動實施工作流功效活動工作流引擎會調用通知系統(tǒng)給用戶發(fā)送通知(通知系統(tǒng)也是運行在服務器端PL/SQL程序,它能夠和ORACLEWEB代理進行接口或經過‘通知郵遞員’程序來給最終用戶發(fā)通知)。將對系統(tǒng)資源消耗比較大活動推遲,由后臺引擎來運行偵測錯誤并實施處理錯誤步驟開啟工作流步驟要在應用中調用工作流步驟(比如:在采購訂單FORM中調用‘審批采購訂單’工作流步驟),必需在應用程序中使用開啟工作流步驟工作流引擎API:調用WF_ENGINE.CreateProcess接著調用WF_ENGINE.StartProcess或單獨調用WF_ENGINE.LaunchProcess。在這些API中全部必需指定ITEM_TYPE和ITEM_KEY值作為參數。活動狀態(tài)當工作流引擎實施一個活動時,它將修改活動狀態(tài)為以下值之一:Active:活動目前正在被實施,比如主步驟活動一直處于活動狀態(tài)直到蓋步驟中全部活動全部已完成Complete:活動已經實施完成,而且實施成功Waiting:活動正等候相關活動完成,一個活動盡管已經運行結束,但它必需等候相關活動也運行結束才能被標識為CompleteNotified:活動正在等候通知回應Deferred:活動被推遲到后臺運行Error:活動在實施過程中犯錯Suspend:活動被暫掛,在暫掛被取消后將繼續(xù)運行通知工作流引擎在一個活動結束后必需通知工作流引擎。步驟、通知和功效活動結束后會自動調用WF_ENGINE.CompleteActivity來通知工作流引擎它們已經運行結束。假如一個功效活動調用是一段外部程序,那么外部程序需要調用WF_ENGINE.CompleteActivity,在活動結束時候。工作流引擎數據庫包工作流引擎是由部分PL/SQL數據庫包組成,大致包含:WF_ENGINE:用來開啟和運行工作流步驟,獲取、寫入或創(chuàng)建項目類型Attribute、功效活動Attribute值,管理活動狀態(tài)WF_CORE:觸發(fā)和捕捉錯誤WF_PURGE:清除無用運行中間數據WF_DIRECTORY:用來存入和獲取目錄服務信息WF_MONITOR:生成工作流監(jiān)控頁面URLWF_NOTIFICATION:管理工作流通知WF_PREFERENCE:檢索用戶偏好信息WF_ENGINE包中包含APIxxxxxxxxxxxxxxxxxxxxxxxxxxx資產負債表定義步驟(操作路徑,配圖)LESSON2目錄集和行次序概念定義和操作(操作路徑,配圖)LESSON3報表輸出ADI輸出UNIT8使用工作流通知單元培訓目標從工作流通知Web頁面回應通知使用電子郵件回應通知使用Oracle工作流主頁定義通知活動規(guī)則LESSON1使用工作流通知Oracle工作流主頁從Oracle工作流主頁能夠連接到全部基于Web工作流功效。主頁URL:<webagent>/wfa_html.home。該主頁顯示了目前用戶收到通知列表,用戶能夠經過單擊她想查看通知,進入通知明細頁面。查找通知頁面從工作流通知主頁能夠連接到‘查找通知’Web頁面。在該頁面中用戶能夠輸入用于查找通知查詢條件。對于擁有工作流管理員權限用戶,能夠查找其它用戶通知,經過在UserID域中輸入通知全部者內部名稱來查找。對于一般用戶只能查找自己通知。在輸入完查詢條件后,按下‘Find’按鈕,全部符合條件通知將顯示在通知Web頁面中。通知列表除了上面介紹工作流主頁和查找通知Web頁面外,用戶還能夠經過其它方法定位到通知列表Web頁面:使用地址<webagent>/wfa_html.worklist使用OracleSelf_ServiceWeb應用主頁在通知列表頁面中將顯示全部符合查詢條件通知(假如是經過查找通知Web頁面)或全部屬于目前用戶而且處于打開狀態(tài)通知。用戶能夠在頁面中根據通知優(yōu)先級、類型、專題、發(fā)送日期和狀態(tài)等條件對通知進行排序。在通知列表窗口中選擇一個通知將打開顯示通知明細窗口。用戶能夠對通知進行‘回應’或‘轉交’,一旦用戶回應或轉交了通知,在用戶下次打開通知列表窗口時將看不到該通知。對于不需要回應通知,用戶能夠選擇‘關閉’,該通知將從通知列表中去除。用戶能夠在‘Select’復選框中打鉤,以一次轉交或關閉多張通知。轉交通知在通知Web頁面中選擇轉交后,將打開轉交通知頁面,在該頁面中要求用戶輸入轉交給誰和轉交模式和部分附注信息。轉交由兩種模式:授權(Delegate)將回應權限授予另一個人,讓她來行使你權利,但你仍是通知全部些人和通知活動實施者(對應底層代碼:Wf_notification.forward)轉交(Transfer)將回應通知責任轉交給另一個人,同時也轉交了通知全部些人和通知活動實施者身份(對應底層代碼:Wf_notification.transfer)。在通知活動中能夠指定它所對應PL/SQL存放過程,這些代碼將在通知活動標準代碼實施完后實施,即通知被回應、轉交或關閉后實施。當用戶書寫這些存放過程時,能夠使用兩個工作流引擎提供全局變量:WF_ENGINE.Context_NID:通知ID,即表WF_NOTIFICATION中所統(tǒng)計通知IDWF_ENGINE.Context_text:假如通知是被轉交,該變量將統(tǒng)計新接收者名字;假如通知是被回應將統(tǒng)計,回應者名字(假如用戶是經過通知Web頁面對通知進行回應,該變量統(tǒng)計是回應通知角色名字,假如用戶是經過電子郵件方法對通知進行回應,那么該變量值將是‘email:responderemailaddress’)。在通知Web頁面中調用OracleApplicationForm用戶能夠在工作流通知明細Web頁面中打開ApplicationForm。比如:在審批采購訂單通知明細Web頁面中有一個標簽為‘采購訂單明細’圖標,經過該圖標能夠打開和通知相關采購訂單Form。通知自動處理用戶能夠經過設定自動處理規(guī)則,讓通知在一段時間內被自動回應或轉交。這些規(guī)則設定是經過一系列Web頁面進行:規(guī)則是應用于一個或多個消息(比如:審批采購訂單消息),而且屬于一個角色規(guī)則能夠定義成下列三種方法之一:將通知轉交給另一個角色;回應或關閉通知;通知最初提交者,通知沒有結果。 規(guī)則是根據下列這些條件實施: 角色=<role>而且項目類型(ITEM_TYPE)=<type>而且消息名稱(MESSAGE_NAME)=name項目類型(ITEM_TYPE)=<type>而且消息名稱(MESSAGE_NAME)為空項目類型(ITEM_TYPE)為空而且消息名稱(MESSAGE_NAME)為空。查找通知自動處理規(guī)則經過下列方法能夠查找到屬于一個角色通知自動處理規(guī)則:使用地址<webagent>/wf_route.find,在打開頁面中輸入‘UserID’,選擇‘Find’按鈕,將打開顯示自動處理規(guī)則列表;使用工作流主頁(<webagent>/wf_html.home),選擇‘通知規(guī)則(NotificationRules)’鏈接,在隨即打開查找窗口中輸入‘UserID’并選擇‘Find’按鈕打開自動處理規(guī)則列表窗口。定義通知自動處理規(guī)則工作流Web頁面提供了定義自動處理規(guī)則向導。首先,選擇一個項目類型或選擇<all>表示全部項目類型;接著,選擇一個通知或選擇<all>表示全部通知;然后,定義規(guī)則使用期限;輸入規(guī)則備注信息;選擇要轉交角色,并選擇是Delegate方法轉交還是Transfer方法轉交;最終,選擇‘OK’按鈕完成對規(guī)則定義。UNIT9監(jiān)控工作流進程單元培訓目標使用基于Java工作流監(jiān)控程序檢驗工作流進程LESSON1監(jiān)控工作流進程工作流監(jiān)控程序工作流監(jiān)控程序是一個基于Java工具。使用該工具用戶能夠查看和管理工作流步驟實例運行情況。在該工具中不僅能夠查看單個活動狀態(tài)也能夠查看整個步驟狀態(tài)。用戶能夠以一般用戶身份,也能夠以管理員身份使用該工具,該工具一些功效只對管理員身份用戶開放。監(jiān)控程序打開頁面由三部分組成,步驟標題、步驟圖表和統(tǒng)計步驟、活動狀態(tài)信息標簽頁。步驟標題在監(jiān)控程序打開頁面中,會顯示目前監(jiān)控步驟標題。該標題是由步驟名字加上項目類型名字和UserKey(或ItemKey)組成。假如用戶追索到子步驟話,標題將顯示子步驟名字。步驟圖表窗口和WorkflowBuilder不一樣,在監(jiān)控程序中打開步驟圖表窗口是不可編輯。在步驟圖表下方顯示了,各個活動和整個步驟狀態(tài)。在該窗口中活動狀態(tài)能夠經過不一樣圖標顏色來區(qū)分:紅色表示活動狀態(tài)為犯錯;綠色表示活動處于有效狀態(tài)或正在運行;黃色表示活動被掛起?;顒又g箭頭假如顯示成一條粗綠線,表示步驟是沿著綠色線路實施;假如顯示成黑色細線,則表示步驟未從這條線路實施或還未被實施到。單擊步驟圖標中活動,在下方標簽頁中將顯示,所選活動明細信息和狀態(tài)。單擊步驟圖標空白區(qū)域,在下方標簽頁中將顯示,整個步驟明細信息和狀態(tài)。雙擊或選中一個子步驟并選擇‘ZoomIn’按鈕,將追索到子步驟步驟圖表。標簽頁窗口標簽頁窗口將顯示所選活動或步驟明細信息,假如用戶是以管理員身份使用監(jiān)控程序話,將能看到更多明細信息。標簽頁窗口是由以下多個標簽組成:定義(Definition):顯示步驟或活動屬性;用途(Usage):顯示步驟或活動作為節(jié)點屬性;狀態(tài)(Status):顯示活動狀態(tài)和結果信息,假如活動處于犯錯狀態(tài)還將顯示犯錯信息;通知(Notification):假如所選是通知活動將顯示通知明細信息;項目(Item):顯示項目類型和項目類型Attribute信息。管理用按鈕假如用戶是以管理員身份使用監(jiān)控程序話,在標簽頁窗口下方將顯示一組按鈕用于管理工作流步驟。這些按鈕用途以下:中止步驟(AbortProcess):中止所選步驟并取消打開狀態(tài)通知,在中止前還會提醒用戶,為中止步驟選擇一個結果值。(WF_ENGINE.AbortProcess)暫掛步驟(SuspendProcess):暫掛所選步驟。(WF_ENGINE.SuspendProcess)重新開始步驟(ResumeProcess):繼續(xù)實施被暫掛步驟。(WF_ENGINE.ResumeProcess)轉交(Reassign):將所選通知活動轉交給另一個用戶。(WF_ENGINE.AssignActivity)加速(Expedite):修改一個犯錯活動或Undo所選活動而且它以后已實施活動將被回滾,在用戶按下加速按鈕后系統(tǒng)將提醒用戶是‘重試’還是‘跳過’:跳過(Skip):跳過所選活動,并要求用戶為活動分配一個結果值重試(Retry):重新實施所選活動。Attribute:許可用戶去修改一個項目類型Attribute。在Application中調用工作流監(jiān)控程序在Application中使用存放過程Fnd_Utilities.Open_URL()來開啟Web瀏覽器,而且將URL作為參數傳輸進去。使用存放過程wf_core.Translate('WF_WEB_AGENT')來返回Web代理字符串。工作流監(jiān)控程序URL形式為:<webagent>wf_monitor.html?x_item_type=<item_type>&x_item_key=<item_key>&x_admin_mode=<YES_or_NO>&x_access_key=<access_key>。能夠經過下列存放過程:WF_MONITOR.GetDiagramURL、WF_MONITOR.GetEnvelopeURL、WF_MONITOR.GetAdvancedEnvelopeURL來分別取得步驟圖表、通知列表和活動列表Web頁面。直接操作工作流監(jiān)控程序:使用URL:<webagent>/wf_monitor.find_instance或經過工作流主頁‘FindProcess’鏈接來直接訪問工作流監(jiān)控Web頁面。假如用戶屬于工作流管理員角色(即擁有管理員權限),則能夠監(jiān)控其它用戶工作流步驟實例。管理員是定義在工作流目錄服務和文件wfcfg.msg中。經過‘FindProcess’Web頁面查找工作流步驟實例‘FindProcess’Web頁面讓用戶輸入查找步驟條件,包含:步驟狀態(tài);項目類型;項目主鍵(ItemKey);用戶主鍵(UserKey);步驟名稱;步驟全部者(只對管理員有效,因為只有管理員才能查看其它用戶步驟);步驟狀態(tài):正常、犯錯或暫掛;正在等候一個具體角色回應;然后,選擇‘查找’按鈕,查找符合上述條件步驟。步驟列表窗口該窗口將列出全部符適用戶查詢條件步驟實例。步驟實例是根據Item_type和Item_key降序排列。選擇一個步驟實例將鏈接到在該步驟實例中已發(fā)出通知列表。通知列表窗口在該窗口中顯示了已經發(fā)出通知列表。在列表中顯示了通知收件人、通知活動名稱、通知發(fā)出時間、通知活動是否已完成和通知結果等信息。在列表窗口中選擇一個收件人,就能夠給該收件人發(fā)送電子郵件;選擇通知活動名稱,將打開顯示通知活動定義信息窗口;假如用戶選擇是還未被回已應通知,那么在通知活動名稱旁邊,將顯示一個圖標,點擊該圖標,將打開顯示通知內容Web頁面,假如這時用戶是以通知全部些人身份或管理員身份登錄進去話,能夠對通知進行回應。在通知列表窗口下方有兩個按鈕分別是:‘高級選項(AdvancedOptions)’用于打開活動列表頁面,而且用戶能夠輸入查詢條件查找她感愛好活動;‘查看圖表(ViewDiagram)’用于打開步驟圖標頁面?;顒恿斜泶翱谠谠摯翱谥杏脩裟軌蚋鶕鄠€查詢條件查找她感愛好活動。查詢條件包含:活動狀態(tài):有效(包含:通知、推遲、等候等狀態(tài));完成;錯誤;暫掛活動類型:需要回應通知活動(ResponseNotifications);FYI(ForYourInformation)通知活動;功效活動選擇‘過濾活動’將顯示全部符合查詢條件活動。在列表中用戶能夠按任何列對列表進行排序,假如在列名左側有‘(*)’則表示按該列升序排列,右側有‘(*)’則表示按該列降序排列。UNIT10PL/SQL文檔單元培訓目標將PL/SQL文件集成到工作流步驟中定義一個存放過程用于生成PL/SQL文件LESSON1PL/SQL文件在工作流中集成PL/SQL文件前面介紹過能夠定義數據類型為文件項目類型Attribute和消息Attribute。數據類型為文件Attribute值格式為:PLSQL:<procedure>/<document_identifier>。XXX系統(tǒng)實現步驟(操作路徑,配圖)LESSON2年末關帳實例:A企業(yè)年末業(yè)務步驟系統(tǒng)實現步驟,注意帳簿中留存收益帳戶(操作路徑,配圖)UNIT11SELECTOR功效單元培訓目標寫SELECTOR/CALLBACK功效代碼定義一個SELECTOR/CALLBACK功效調用SELECTOR/CALLBACK功效LESSON1SELECTOR功效SELECTOR功效概念一個項目類型可能包含多個可實施(Runnable)步驟,定義一個SELECTOR功效能夠用來決定在特定情況下,哪個步驟將被實施。在設置項目類型屬性時能夠為它分配一個SELECTOR功效。SELECTOR功效還能夠擴展成一個CALLBACK功效,這么當SQL會話中止后,能夠用它來重新設置上下文值(在Application上下文值是經過存放過程Fnd_Global.Apps_Initialize(user_id,resp_id,resp_appl_id)來實現)。SELECTOR/CALLBACK功效代碼格式:procedure<procedurename>(itemtypeinvarchar2, --項目類型內部名稱itemkeyinvarchar2, --由調用工作流應用程序生成一個字符串,用于在項目類型中唯一地標識一個項目actidinnumber, --調用存放過程活動ID,對SELECTOR功效來說,當COMMAND參數為'RUN'時,該ID應該為空commandinvarchar2, --用于決定怎樣實施SELECTOR/CALLBACK功效resultoutoutvarchar2)is<localdeclarations>beginif(command='RUN')then<yourRUNexecutablestatements>resultout:='<將運行步驟名字>';return;endif;if(command='SET_CTX')then–在建立一個新數據庫會話時設置上下文值,這些值有可能被后續(xù)功效活動使用<yourexecutablestatementsforestablishingcontextinformation>resultout:='';--不需要返回值return;endif;if(command='TEST_CTX')then–在實施一個功效活動前檢驗上下文值是否正確<yourexecutablestatementsfortestingvalidityofcurrentcontextinformation>resultout:='<TRUEorFALSE>';--假如上下文值正確則返回TRUE不然返回FALSEreturn;endif;if(command='<othercommands>')thenresultout:='';return;endif;exceptionwhenothersthenWF_CORE.CONTEXT('<packagename>','<procedurename>',<itemtype>,<itemkey>,to_char(<actid>),<command>);raise;end<procedurename>;系統(tǒng)實現步驟(操作路徑,配圖)LESSON2年末關帳實例:A企業(yè)年末業(yè)務步驟系統(tǒng)實現步驟,注意帳簿中留存收益帳戶(操作路徑,配圖)UNIT12清除單元培訓目標清除過時無用工作流數據LESSON1清除在設置項目類型屬性時,有一個名為‘persistence’屬性,該屬性有兩個可能值:Temporary:項目將在若干天內被刪除(在選擇‘Temporary’后,用戶需要為項目類型指定‘NumberOfDays’值,缺省為0);Permanent:項目標數據將不會被自動清除,只有強制清除WF_PURGE工作流提供了一個名為WF_PURGE數據庫包,使用該存放過程能夠刪除已經無用運行時數據和那些不再被使用舊版本工作流活動數據。在該數據庫包中常常使用過程包含:Items:刪除已經完成工作流項目標運行時數據,包含項目標步驟和它所發(fā)出通知Activities:用戶能夠經過WorkflowBuilder來修改工作流定義,當用戶修改了工作流活動并保留到數據庫時,新活動定義數據并不會覆蓋原來活動數據,將它們經過版本號區(qū)分開,在活動被修改之前開啟工作流項目將仍然使用舊版本活動定義。使用該過程能夠刪除那些已經不再被任何運行中工作流項目所使用舊版本活動定義數據Total:刪除無用項目(Items)和活動數據(Activities)AdHocDirectory:刪除保留在WF_LOCAL_*表中那些過期而且未被任何通知所引用用戶和角色數據以上這些過程全部有部分共同參數:ItemType(指定刪除屬于那個項目類型工作流項目標數據);ItemKey(指定某個特定工作流項目);EndDate(指定刪除哪天之前數據)。以上這些過程只能清除‘Persistence’屬性為‘Temporary’項目,對于‘Permanent’項目類型需要使用過程‘TotalPERM’來刪除是用并發(fā)程序進行清除在Application提供了一個名為‘PurgeObsoleteWorkflowRuntimeData’(簡稱:FNDWFPR)。用戶能夠經過提交該請求來進行清除工作。該請求包含四個參數:ItemType;ItemKey;Age(當項目類型‘persistence’屬性為‘Temporary’時,需要指定在工作流項目運行結束多少天后能夠清除數據,缺省為0天);PersistenceType(‘Temporary’或‘Permanent’,缺省為‘Temporary’)UNIT15工作流安裝配置單元培訓目標介紹工作流使用前部分配置LESSON1工作流配置設置工作流目錄服務(SettingUpanOracleWorkflowDirectoryService)使用工作流之前,必需先定義一組用戶和角色。用戶指是個人,即職員或Application用戶;角色指是一個或一組用戶,通常是一個職責、職位,一個用戶也能夠看作是一個角色;用戶是角色子集。比如采購訂單審批步驟中提交人和審批人全部是工作流用戶或角色。在Application安裝后,會在數據庫中創(chuàng)建三個視圖:WF_USERS,WF_ROLES,WF_USER_ROLES。在這些視圖中能夠查詢到全部工作流中用戶和角色定義,這些用戶和角色能夠收發(fā)工作流通知。在Application中,WF_USERS參考是職員表和用戶表中數據;WF_ROLES參考是Application中多個表中統(tǒng)計,包含職位表、職責表和WF_USERS;視圖WF_USER_ROLES中統(tǒng)計是用戶和角色關系。也就是說,工作流用戶和角色定義實際上就是在Application中輸入職員、職責、職位等信息。假如用戶期望擴展WF_USERS和WF_ROLES(取Application以外數據),能夠經過往WF_LOCAL_USERS、WF_LOCAL_ROLES和WF_LOCAL_USER_ROLES中插統(tǒng)計來實現。創(chuàng)建視圖WF_LANGUAGES(CreatingtheWF_LANGUAGESView)定義工作流語言工作是在Application安裝時同時完成,這個視圖中所包含信息是取自FND_LANGUAGE。設置WF_RESOURCES環(huán)境變量(SettingtheWF_RESOURCESEnvironmentVariable)環(huán)境變量WF_RESOURCES用于指明相關資源文件(wf<language>.res))路徑,對于Application用戶不用設置這個變量,資源文件存放于$FND_TOP/$APPLRSC/wf<language>.res,數據庫中每個語種全部對應一個資源文件。定義工作流Web代理(IdentifyingtheOracleWebAgentusedbyOracleWorkflow)在工作流安裝前,OracleWebServer應該已經安裝并配置過。在配置工作流時候需要指定Web代理,這么工作流就能運行它Web組件了。指定Web代理分兩個步驟:編輯$FND_TOP/resource/<language>目錄下wfcfg.msg文件,在文件中輸入或修改以下行:WFTKNWF_WEB_AGENT 0 <your_web_agent_here>將<your_web_agent_here>替換為Web代理URL(能夠查看Application中預置文件:Web代理),它格式通常為:http://<:portID>/<PLSQL_agent_virtual_path>2.運行工作流生成器將wfcfg.msg內容導入到表wf_resources中,在Application中工作流生成器是一個并發(fā)請求,在提交請求時指定參數:目標地類型(Database或File)、目標地文件(當目標地類型為File時,用于指定生成資源文件到哪個文件)、源文件(要裝載資源文件路徑和文件名)。用戶也能夠直接實施命令WFRESGEN。定義工作流管理員角色(IdentifyingtheOracleWorkflowAdministrationRole)定義一個工作流管理員,該用戶擁有在監(jiān)控工作流Web頁面中查看、加速、刪除其它用戶提交工作流權限,沒有管理員權限用戶只能查看到自己提交工作流。設置管理員用戶步驟和設置Web代理步驟是一樣:編輯wfcfg.msg,輸入或編輯以下語句:WFTKNWF_ADMIN_ROLE 0 <role_name>將<role_name>替換為你要給予管理員權限用戶名或角色名。比如:WFTKNWF_ADMIN_ROLE 0 SYSADMIN將管理員權限賦給SYSADMIN用戶。也能夠將管理員權限給予全部用戶和角色:WFTKNWF_ADMIN_ROLE 0 *2.運行工作流生成器將wfcfg.msg內容導入到表wf_resources中。(SettingUptheWorkflowMonitorandOracleWorkflow’sWebPages)(SecuretheWorkflowDatabaseConnectionDescriptor(DCD))運行通知郵遞員(ImplementingtheNotificationMailer)NotificationMailer是用于處理工作流電子郵件發(fā)送和回應程序,它關鍵完成以下工作:查詢數據庫中需要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論