ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 工作流开发图文教程(WorkFlow Developer) 之 二 WorkFlow调试

工作流开发图文教程(WorkFlow Developer) 之 二 WorkFlow调试

Linux操作系统 作者:zlmself 时间:2014-07-21 22:45:48 0 删除 编辑

        前面讲述了如何用WorkFlow开发工作流,今天主要给大家讲述如何在EBS中对WorkFlow进行调试,在EBS中启动WorkFlow有两种方式一种是用工作流管理员登陆直接启动工作流,另一种就是通过代码启动工作流。

一、EBS启动工作流调试
     进入System Administrator=> Workflow=>Administrator Workflow=> Home,却换到Developer Studio TAB页搜索出我们开发好并保存到数据库中的工作流。(本例是与工作流开发图文教程(WorkFlow Developer) 之 一 WorkFlow的使用实例开发的工作流为基础的)。

启动工作流

点击RUN中的图标进入一下界面:


WorkFlow Identifer里填入:
Item Key是本工作流运行实例的标志(也就是我们保存在数据库中WorkFlow的名字)
User Key是用户看到的实例标志。

Workflow Attributes里填入相应的参与工作流的参数。
点击Submit运行WorkFlow。


查看运行结果

进入以下界面按照Type Internal Name 查找出WorkFlow如下图:


在查找出的WorkFlow列表中选择我们需要查看的WorkFlow然后点击Status Diagram按钮就可以看到该工作流的运行情况,如下图:


如果工作流中带有消息那么登陆消息接收人就可以看到,WorkFlow发送的消息,如下图所示:


点击消息进入审批界面,Approver审批通过,Reject驳回审批。


下图是审批人批准审批后工作流结束的示意图:


以下是带附件的WorkFlow审批界面


下图是WorkFlow生成的附件。在许多工作流的开发中我们需要审批人看到单据的内容因此带附件的WorkFlow开发是今后工作中经常需要开发的工作流类型。

二、后台代码启动工作流调试
后台代码启动工作调试和EBS启动工作流调试,区别仅仅在于启动方式不一致,很多时候开发人员为了方便经常会选择用代码来启动工作流来进行调试,下面是一个范例代码:

declare
  l_item_key      varchar2(30) := 'WF_TEST';
  l_user_item_key varchar2(30) := 'WF_TEST';
  l_item_type     varchar2(30) := 'WF_TEST';
  l_process       varchar2(30) := 'TigerLong Process Test';
  l_submiter_id   number := 1229;
  l_approver_id   number := 1229;
  l_orig_system   varchar2(30) := 'FND_USR';
  l_user_name     wf_roles.name%type := 'TIGERLONG';
  l_display_name  wf_roles.display_name%type := 'TigerLong';
begin
  --01 创建
  wf_engine.createprocess(itemtype => l_item_type
                         ,itemkey  => l_item_key
                         ,process  => l_process
                         ,user_key => l_user_item_key);
  --02 初始化
  wf_directory.getusername(p_orig_system    => l_orig_system
                          ,p_orig_system_id => l_submiter_id
                          ,p_name           => l_user_name
                          ,p_display_name   => l_display_name);
  wf_engine.setitemattrnumber(itemtype => l_item_type
                             ,itemkey  => l_item_key
                             ,aname    => 'SUBMITER_ID'
                             ,avalue   => l_submiter_id);
  wf_engine.setitemattrtext(itemtype => l_item_type
                           ,itemkey  => l_item_key
                           ,aname    => 'SUBMITER_NAME'
                           ,avalue   => l_user_name);
  wf_engine.setitemattrtext(itemtype => l_item_type
                           ,itemkey  => l_item_key
                           ,aname    => 'SUBMITER_DESCRPTION'
                           ,avalue   => l_display_name);
  wf_directory.getusername(p_orig_system    => l_orig_system
                          ,p_orig_system_id => l_approver_id
                          ,p_name           => l_user_name
                          ,p_display_name   => l_display_name);
  wf_engine.setitemattrnumber(itemtype => l_item_type
                             ,itemkey  => l_item_key
                             ,aname    => 'APPROVER_ID'
                             ,avalue   => l_approver_id);
  wf_engine.setitemattrtext(itemtype => l_item_type
                           ,itemkey  => l_item_key
                           ,aname    => 'APPROVER_NAME'
                           ,avalue   => 'TIGERLONG');
  wf_engine.setitemattrtext(itemtype => l_item_type
                           ,itemkey  => l_item_key
                           ,aname    => 'APPROVER_DESCRPTION'
                           ,avalue   => l_display_name);
  wf_engine.setitemattrtext(itemtype => l_item_type
                           ,itemkey  => l_item_key
                           ,aname    => 'MESSAGE_TEST'
                           ,avalue   => 'plsqlclob:' ||
                                        'xxuts_tl_workflow_send_info.write_mail_attachment/1345'|| '/' ||
                                        l_item_type || ':' || l_item_key);
 --   plsqlclob:xxuts_tl_workflow_send_info.write_mail_attachment/TL_DOME:2063
  --03 启动
  wf_engine.startprocess(itemtype => l_item_type
                        ,itemkey  => l_item_key);
  commit;
end;

相信大家看到这里已经知道如何调试开发好的WorkFlow,接下来第三部分会给大家讲述如何配置启动WorkFlow的邮件服务。

欢迎大家共同探讨:E-Mail:Oraclelong@gmail.com  QQ:404873488

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/269025/viewspace-1224170/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-22

  • 博文量
    24
  • 访问量
    33941