记录实际开发中常使用到的API
CreateProcess
在工作流开始之前,创建一个新的工作流
Wf_engine.CreateProcess
(itemtype in varchar2, --Workflow Item Type
itemkey in varchar2, --Item Key
process in varchar2 default '', --Workflow Process
user_key in varchar2 default null, -- user-friendly KEY
owner_role in varchar2 default null); -- Workflow role
SetItemUserKey
设置User Key 的值
Wf_engine.SetItemUserKey
(itemtype in varchar2,
itemkey in varchar2,
userkey in varchar2);
SetItemOwner
设置当前工作流的所有者
Wf_engine.SetItemOwner
(itemtype in varchar2,
itemkey in varchar2,
owner in varchar2);
StartProcess
开启工作流
Wf_engine.StartProcess
(itemtype in varchar2,
itemkey in varchar2);
增加Attribute
虽然attribute一般是在设计初,进行的定义,但我们也可以通过下面的API,使程序在运行中生成所需的Attribute:
Wf_engine.AddItemAttr
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
text_value in varchar2 default null,
number_value in number default null,
date_value in date default null);
写入和读取Attribute的值
Attribute充当工作流变量的角色,所以对它的值的写入和读取,是经常性使用导的
--Text类的attribute:
Wf_engine.SetItemAttrText
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
avalue in varchar2);
-- return varchar2;
result := Wf_engine.GetItemAttrText
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
ignore_notfound in boolean default FALSE);
--Number类的attribute:
Wf_engine.SetItemAttrNumber
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
avalue in number);
-- return number
Wf_engine.GetItemAttrNumber
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
ignore_notfound in boolean default FALSE) ;
--Date类的attribute:
Wf_engine.SetItemAttrDate
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
avalue in date);
--return date
Wf_engine.GetItemAttrDate
(itemtype in varchar2,
itemkey in varchar2,
aname in varchar2,
ignore_notfound in boolean default FALSE);
--Event类的attribute:
Wf_engine.SetItemAttrEvent
(itemtype in varchar2,
itemkey in varchar2,
name in varchar2,
event in wf_event_t);
--return wf_event_t
Wf_engine.GetItemAttrEvent
(itemtype in varchar2,
itemkey in varchar2,
name in varchar2);