资源描述:
《《Oracle 10g应用服务器管理与网格计算》.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章OracleWorkflowforJava5.2创建Oracle工作流的定义和组件5.2.4创建、修改和删除Oracle工作流的组件在修改API之前,编写并执行一个自定义的升级脚本,来为任何引用API的激活的工作项创建和移植新项属性。下面实例显示一种结构化一个升级脚本的方法。forbeginwf_engine.AddItemAttr(itemtype,itemkey,’’);wf_engine.SetItemAttrText(itemtype
2、,itemkey,’’,’’);end;endloop;下面的实例显示一种结构化如下的一个意外处理器的方法。procedure(itemtypeinvarchar2,itemkeyinvarchar2,actidinnumber,funcmodeinvarchar2,resultinoutvarchar2)isbegin––––RUNmode–normalprocessexecution––if(funcmode=’R
3、UN’)then––yourruncodegoesherenull;wf_engine.SetItemAttrText(itemtype,itemkey,’’,’’);beginwf_engine.SetItemAttrText(itemtype,itemkey,’’,’’);exceptionwhenothersthenif(wf_core.error
4、_name=’WFENG_ITEM_ATTR’)thenwf_engine.AddItemAttr(itemtype,itemkey,’’);wf_engine.setitemattrtext(itemtype,itemkey,’’,’’);elseraise;endif;end;––examplecompletionresult:=’COMPLETE:’;return;endif;––––CANCELmode
5、–activity’compensation’––––Thisisintheeventthattheactivitymustbeundone,––forexamplewhenaprocessisresettoanearlierpoint––duetoaloopback.––if(funcmode=’CANCEL’)then––yourcancelcodegoesherenull;––noresultneededresult:=’COMPLETE’;return;endif;––––Otherexecutionmodesmayb
6、ecreatedinthefuture.Your––activitywillindicatethatitdoesnotimplementamode––byreturningnull––result:=’’;return;exceptionwhenothersthen––Thelinebelowrecordsthisfunctioncallintheerror––systeminthecaseofanexception.wf_core.context(’’,’’,ite
7、mtype,itemkey,to_char(actid),funcmode);raise;end;5.3创建Oracle工作流的图形化表示5.3.3Oracle工作流的角色与编码3.Oracle工作流的编码(8)循环结构下面给出API代码实例,解决如何应付各种可能的节点。If(funcmode=‘CANCEL’)then…docancelmodeprocessing…elseif(funcmode=‘RUN’)then…doregularruntimeprocessing…elseif(func
8、mode=‘TIMEOUT’)then…onlyvalidforvotefunctions…else--thereshouldn’tbeanyothermodesnull;endif;(10)雇主/零售商流下面给出独立创建和启动每个零售商行的实例。--setupandstar