表单名称:MYFORM
数据块名称:MYBLOCK第一步:在表单中加入参数:WF_ITEMKEYMYBLOCK的数据来源中必须有WF_ITEMKEY这个字段。修改或添加数据块级触发器:WHEN-NEW-BLOCK-INSTANCEif :Parameter.wf_itemkey is not nullthen declare ls_where varchar2(1000); ls_this_where varchar2(1000); begin ls_where := GET_BLOCK_PROPERTY(MYBLOCK,DEFAULT_WHERE); if ls_where is null then ls_this_where := '1=1 '; else ls_this_where := ls_where; end if;ls_this_where := ls_this_where||' and (wf_itemkey = :Parameter.wf_itemkey)';
SET_BLOCK_PROPERTY(MYBLOCK',DEFAULT_WHERE,LS_THIS_WHERE);
app_find.find('MYBLOCK'); SET_BLOCK_PROPERTY('MYBLOCK',DEFAULT_WHERE,LS_WHERE); end;end if;第二步:
在plsql的包中设计:-- 创建工作流 wf_engine.createprocess( itemtype => lis_itemtype , -- in varchar2 itemkey => lis_itemkey , -- in varchar2 process => lis_wfprocess , -- in varchar2 default ’’ user_key => ls_user_key , -- in varchar2 default null owner_role => ls_owner_role ); -- in varchar2 default null-- 打开表单MYFORM
wf_engine.setitemattrtext( itemtype => lis_itemtype , -- in varchar2 itemkey => lis_itemkey , -- in varchar2 aname => 'OPEN_FORM_COMMAND' , -- in varchar2 avalue => 'MYFORM:WF_ITEMKEY="' -- in varchar2 || lis_itemkey || '"' );--启动工作流
wf_engine.startprocess( itemtype => lis_itemtype , -- in varchar2 itemkey => lis_itemkey ); -- in varchar2第三步:
在workflow builder中设计:增加属性,名称为OPEN_FORM_COMMAND 类型为: Form在message中,将此属性拉过去就好了,不必写在message body中。第四步:
在notify中,应该可以会出现“OPEN_FORM_COMMAND”,选中点击就可以链接到表单了。