今天要談系統設計工具的另一個工具,簽核流程設計師。
是否還記得第一天有提到簽核流程設計師 和流程設計師的功用是相同,差別只在於新舊版本。
印象中EFGP 5.4.X.X系列是舊版本的流程設計師。新版本就是5.5.X.X以上。
本次分享的版本是5.6.X.X,所以就帶大家看新版的畫面
簽核流程設計師主要是讓開發者自行設計流程走向、定義關卡和設定核決層級...等。
進階應用會使用到"服務任務"這個工具,這我們將在明後天和大家分享。
今天主要介紹基本的部份-->流程變數
流程變數:顧名思義,他就是一個變數,而這個變數應用在流程上,當變數值改變時就會有不同走向。
因此叫他流程變數。EX:在服務任務中呼叫WS,當服務任務傳回值為N通知系統管理員,傳回值為Y則走下一流程
也可以說這變數是流程實際發生時,才會有的變數。EX:流程序號
明後天我會以此定義講流程變數的兩個應用。(SessionBean,Invoick服務任務)
今天先講如何透過表單語法來變更流程變數。
例如:我要將表單上填寫的員工基本資料,傳給服務任務當傳入值,以新增員工基本資料
Step1.新增變數
輸入變數ID和變數名稱,定義型態為XML (這個例子是需要XML型態)
Step2.賦予變數值
在表單的Javascript引用ajax_ProcessAccessor.assignRelevantData 這個ajax。
系統文件的說明
我的應用為以下,將工號(gNewEmpCode)、姓名(gNewEmpName)、密碼(gNewEmpCode)、電郵(gEmailAdress)、手機(gCallNumber)和LDAP(gNewEmpCode)組成字串,再套用成xml格式,以應用在此WebService的傳入值。
function AddUserTask(){
var str="";
str += "<?xml version='1.0' encoding='utf-8'?>" + schar;
str += "<ImportOrganizationData>"+ schar;
str += "<Normal>"+ schar;
str += "<Users>"+ schar;
str += "<User action='add' id='"+gNewEmpCode+"' name='"+gNewEmpName+"' password='"+gNewEmpCode+"' mailAddress='"+gEmailAdress+"' phone='"+gCallNumber+"' language='1' ldapId='"+gNewEmpCode+"'/>"+ schar; //抓取表單的欄位值,組成字串。
str += "</Users>"+ schar;
str += "</Normal>"+ schar;
str += "</ImportOrganizationData>"+ schar;
var prsInstOID=processInstOID; //流程實例
var relevantDataId="AddUserInfo"; //流程變數名稱
var relevantDataValue=BuildXMLFromString (str); //呼叫BuildXMLFromString(),組xml語法自寫的Function,不說明因不為本次的重點
DWREngine.setAsync(false);
ajax_ProcessAccessor.assignRelevantData(prsInstOID, relevantDataId, relevantDataValue, loadAssignRelevantData); //使用ajax的assignRelevantData將資料賦予流程變數AddUserInfo
DWREngine.setAsync(true);
}
這樣就可以將值賦予到此流程變數,當Invoick呼叫WebService時,就可將此流程變數傳入到此WebService當傳入值。
而Invoick如何呼叫WebService,將放在明天進一步說明。