资源描述:
《《oracle 10g应用服务器管理和网格计算》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章OracleWorkflowforJava5.2创建Oracle工作流的定义和组件5.2.4创建、修改和删除Oracle工作流的组件在修改API之前,编写并执行一个自定义的升级脚本,来为任何引用API的激活的工作项创建和移植新项属性。下面实例显示一种结构化一个升级脚本的方法。forbeginwf_engine.AddItemAttr(itemtype,itemkey,’’);wf_engine.SetItemAttrText(itemtype,it
2、emkey,’’,’’);end;endloop;下面的实例显示一种结构化如下的一个意外处理器的方法。procedure(itemtypeinvarchar2,itemkeyinvarchar2,actidinnumber,funcmodeinvarchar2,resultinoutvarchar2)isbegin––––RUNmode–normalprocessexecution––if(funcmode=’RUN’)th
3、en––yourruncodegoesherenull;wf_engine.SetItemAttrText(itemtype,itemkey,’’,34’’);beginwf_engine.SetItemAttrText(itemtype,itemkey,’’,’’);exceptionwhenothersthenif(wf_core.error_name=’
4、WFENG_ITEM_ATTR’)thenwf_engine.AddItemAttr(itemtype,itemkey,’’);wf_engine.setitemattrtext(itemtype,itemkey,’’,’’);elseraise;endif;end;––examplecompletionresult:=’COMPLETE:’;return;endif;––––CANCELmode–activity’
5、compensation’––––Thisisintheeventthattheactivitymustbeundone,––forexamplewhenaprocessisresettoanearlierpoint––duetoaloopback.––if(funcmode=’CANCEL’)then––yourcancelcodegoesherenull;––noresultneededresult:=’COMPLETE’;return;endif;––––Otherexecutionmodesmaybecreatedinthe
6、future.Your––activitywillindicatethatitdoesnotimplementamode––byreturningnull––result:=’’;34return;exceptionwhenothersthen––Thelinebelowrecordsthisfunctioncallintheerror––systeminthecaseofanexception.wf_core.context(’’,’’,itemtype,itemkey,
7、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(funcmode=‘TIMEOUT’)th
8、en…onlyvalidforvotefunctions…else--thereshouldn’tbeanyothermodesnull;endif;(10)雇主/零售商流下面给出独立创建和启动每个零售商行的实例。--setupand