1.SAP工作流介紹
? ? 工作流是一個基于某組程序規(guī)則所采用的路徑。是自動運(yùn)作的任務(wù)的進(jìn)程中,參與的人、文件、信息或任務(wù),以及各個要素間的傳遞按照規(guī)程運(yùn)轉(zhuǎn)。它們可能非常簡單,如批準(zhǔn)或拒絕;或則非常復(fù)雜,根據(jù)許多部門所涉及的采購訂單的發(fā)布條件獲得許多級別的審批。
? ? 工作流特別適合于多次重復(fù)執(zhí)行類型的業(yè)務(wù)工作流程。還可以用來處理業(yè)務(wù)流程中出現(xiàn)的錯誤和例外:預(yù)先在工作流中定義例外事件,當(dāng)系統(tǒng)自動檢查發(fā)現(xiàn)例外時,就會有觸發(fā)某種反應(yīng)或措施,如給相關(guān)人員發(fā)Mail等。
2.包含組件
????Organizational Plan:管理報(bào)告和消息流的層次結(jié)構(gòu)
? ? ? ? ? ? ? ? Organizational Unit:企業(yè)中的功能單元
? ? ? ? ? ? ? ? Position:代表一個Post
? ? ? ? ? ? ? ? Job:企業(yè)中的功能分類
? ? ? ? ? ? ? ? Staff Assignments / Assignment of User-id's?
????Workflow Builder(SWDD):創(chuàng)建,顯示和更改工作流。提供一個工作流定義視圖。
????Workflow instance:是工作流的單次運(yùn)行。?
????Task:是由軟件自動或由人員執(zhí)行的過程中的步驟,Activity的描述。?
????Work Item:是作為單個工作流步驟執(zhí)行的任務(wù)實(shí)例。?
????Workflow Container:是收集工作流中使用的所有數(shù)據(jù)的地方。?
????Binding:是一組規(guī)則,用于定義將哪些數(shù)據(jù)傳遞到進(jìn)程的哪個部分。?
? ? Event:Triggering Events,Terminating Events。
? ? Agent resolution:流程的節(jié)點(diǎn)負(fù)責(zé)人。
3.定義和創(chuàng)建
? ? 定義:每個workflow都能在SAP中找到業(yè)務(wù)流程;由很多步驟組成;可以由事件觸發(fā)。
? ? 模板:SAP提供了大量的Workflow的模板可供參考,如果不符合具體的業(yè)務(wù)流程,可以對該模板做增強(qiáng)。不過就像SAP標(biāo)準(zhǔn)程序一樣,不能對其進(jìn)行修改,可以根據(jù)需求把這個模板復(fù)制出來然后對其修改。
? ? Workflow助手:Business Workplace(TCode:SBWP)
????當(dāng)Workflow執(zhí)行到某一步需要特定的用戶確認(rèn)或者批準(zhǔn)的時候,就會發(fā)出work item到該用戶的workplace,以使該用戶做出相應(yīng)的操作。
?創(chuàng)建步驟:
? ? 1.創(chuàng)建Workflow模板(TCode:PFTC_INS),TCode:SWDD——創(chuàng)建工作流

? ? Information Area:信息是SAP自動生成的
? ? Steps:當(dāng)前Workflow所使用的Steps的列表
? ? Step Types:Steps list (可選不同的組件)
? ? Graphical Model:進(jìn)行Workflow的流程定義
2.定義Condition和創(chuàng)建業(yè)務(wù)所需要的Steps

? ? Workflow Container:定義workflow所需要的數(shù)據(jù)元素;數(shù)據(jù)元素可定義參考類型,參數(shù)設(shè)置,初始值。
? ? Steps創(chuàng)建:在對應(yīng)的分支線上根據(jù)業(yè)務(wù)流程創(chuàng)建具體的Step,每個Step都有具體的使用要求。
3.對Steps進(jìn)行詳細(xì)的內(nèi)容設(shè)定(Activity —>Task)

? ? Task:定義系統(tǒng)流程執(zhí)行事件。
? ? Binding:將Workflow定義數(shù)據(jù)與Task使用字段進(jìn)行綁定
? ? Task Tcode : PFTC_INS / _CHG / _DIS / _COP:Create / Change / Display /Copy Tasks

? ? Object method:定義要調(diào)用的Class,Type,Method,并進(jìn)行字段綁定。
? ? ? ? ? ? Object Type:需要定義Interfaces實(shí)現(xiàn)IF_WORKFLOW.
? ? Synchronous object method:同步對象的方法。
? ? Execution:執(zhí)行方式的選擇
? ? 4.激活保存,運(yùn)行并查看Log


? ? 可以通過Print Log(Ctrl + P)查看Workflow Classical Technical Log


Various Status of Work Item.

4.在程序中調(diào)用Workflow

? ? 通過Function(SWU_START_WORKFLOW)調(diào)用,根據(jù)傳入的參數(shù)和數(shù)據(jù)調(diào)用對應(yīng)的Workflow。
TCode
? ??最常用事務(wù)碼:?
????SWDM:Business Workflow Explorer
????SWDD:Workflow Builder
????SWO1:Business Object Builder
????SWETPYV:Display and maintain event type link age
????SBWP:Business Workplace
????SWI1:Selection report for work items
????SWEL:Display Event Trace
????PPOMW:Maintain organizational plan
????PFTC_INS / _CHG / _DIS / _COP:Create / Change / Display /Copy Tasks
????PFAC_INS / _CHG / _DIS/_COP:Create / Change / Display /Copy Roles
? ? SWE2:創(chuàng)建Event
分析工具事務(wù)碼:?
????SBWP:Business Workplace ( Outbox )
? ? SWIA:Process Work Item As Administrator
????SWI6:Workflows for Object
????SWI14:Workflows for Object Type
????SWEL Display event trace
????SWI1 Selection report for work items
????SWU7 Consistency check for workflow templates
????SWU9 Display workflow trace
????SWUD Diagnostic tools
????SWU3 Customizing