ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » ERP二次开发 » Workflow开发整理

标题: [精华] Workflow开发整理
离线 huajhua
灵机一动


精华贴数 21
个人空间 0
技术积分 5001 (269)
社区积分 19 (7760)
注册日期 2004-5-20
论坛徽章:13
管理团队成员管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章授权会员ERP板块每日发贴之星
      

发表于 2005-3-10 23:22 
Workflow开发整理

更多精彩内容,请访问我的其他帖子:
http://www.itpub.net/442423.html

根据Server安装指南一般可以完成Workflow Server的配置。按我的经验,有几个地方需要注意
1、可以直接使用8i的http,不用安装IAS,根据Server安装指南配置httpd.conf的别名即可;http服务起不来的可能情况2、
        httpd.conf语法错误,这个没什么好说的
        之前的服务没有正常结束,一般重新启动计算机即可;或者杀掉java进程,如果有的话
        新安装了Oracle其它产品,导致路径引用错误;我的解决办法是把新安装软件在环境变量Path中添加的路径移到最后
        如果要看httpd为何无法启动,查看Log是没用的;应该先运行CMD,然后cd到需要的目录,输入apache.exe,这个时候就会有错误出现
2、Notification默认的配置是html email,这个时候易遇到Notification就报错,因为我们自己一般没有配置Mail服务器,所以需要在Global Workflow Preferences里面把Send me electronic mail notifications设置为Do not send me mail
3、开始我没有配好Business Event System,在执行Aprove等动作的时候老是No Data Found;后来我根据Error Stack找到wf_xml包,把里面的RemoveNotification的Raise语句注释掉就可以了。嘿嘿,反正我是自己研究工作流,无所谓了
4、我的系统是XP Home SP1,没有JVM,无法View Diagram;装了JDK,不太好用,卸掉装msjavx86.exe一切正常

刚接触Workflow Builder会碰到的几个疑问
如何连接各个Node:用右键而不是左键连
为何修改不了别人的文件:在Help菜单里面设置合适的Access Level
为何图标不起作用:在View菜单里面选择Develop Mode
如何使用Standard的Item:打开Standard或Demo文件,把Stantard这个Item Type抓过去
Notification根据什么发:必须在Process里面打开Notification的属性,Node标签里面有一个Performer,根据需要设置成我们预定义的某个Role类型的Attribute即可
Workflow Builder的PL/SQL函数有什么要求:拷个Demo的函数,照着写就可以了,怎么判断运行模式,怎么返回里面都有
其他问题其实Workflow Builder在保存或者我们选择Verify的时候都会提示,只要认真看都能解决

对各个Item的通俗理解
1、Item Type是个抽象的概念,为方便理解,可以看作是一个工作流的容器和标志
2、Attribute是全局变量,供整个Item Type里面的元素使用,可以作为Message的附加属性,Send给用户看或者存储用户的Response内容比如Note和Forward To;Attribute另一个常用的地方是作为Notification的Performer。当然我们的PL/SQL代码是离不开Attribute,几乎任何PL/SQL函数都需要通过取得Attribute变量--判断Attribute变量--设置Attribute变量,决定程序如何走,返回什么值
3、Message,就是一个消息,内容在Body里面定义,用&引用Message自己的Attribute;对我们程序有用的的是Message的Attribute,一般和上面的全局变量Attribute对应,Send类型的Attribute将取当时的全局变量Attribute的值发给用户看,Response类型Attribute将把用户输入的内容返回给全局变量Attribute供我们的程序作下一步判断使用
4、Lookup Types,基础字典列表,就像我们的部门字典表,销售方式字典表一样,不过它是静态的;根据需要设置,一般用来标志工作流各类Item的返回值,和我们的PL/SQL函数返回值一一对应
5、Function,就是Function,一个处理,一般对应一个PL/SQL函数并定义返回值为某个Lookup Type
6、Notification,发送一个消息,消息内容为定义的Message内容,消息的接收人是定义的Performer
7、Process,真正的流程,由Notification、Function、子Process组成,开始于一个Start Function,结束于一个或多个End Function,中间是Notification和Function组成的业务流程,在这个级别上可以把Notification、Function、子Process看成是一样的即activity,他们都有返回值,不同的结果走不同的流程,由此组成一个符合业务需要的图表

由Engine管理、不需要我们操心的东西
1、消息发送;我们只管定义,由于可以用HTML写Message的Body,可以定义得很漂亮
2、流程选择;我们只管按不同的返回结果画图,Engine会根据我们函数的返回值调用下一个activity
3、用户选择;我们可以修改wf_roles、wf_users、wf_user_roles这三个视图,使之包含我们业务系统的用户即可

开始以为Workflow Builder会根据我们的Hierachy定义自动执行,其实关于Hierachy的定义、执行的规则等等都需要我们自己编写代码实现,所以Workflow Builder本身其实还是很简单,主要还是靠我们的PL/SQL和分析设计能力

重大发现:Workflow 2.6.3+10G在View Diagram的时候会报oracle.apps.fnd.wf.Monitor.class not found,Metalink也没有给出针对非Application的Patch。后来我根据HTML源码发现,其实http和Java的配置都没有问题,那个wfmon.jar文件的位置也是对的,里面也有oracle.apps.fnd.wf.Monitor.class,可是就是not found,于是我拷贝2.6.0版本的wfmon.jar过来覆盖,问题解决了。2.6.0.1.5+8i则没有问题。

常用API
wf_purge.Total,清理完成状态的工作流,Delete all obsolete runtime data with end_time before argument
wf_engine.AbortProcess,Abort错误的工作流

常用表
wf_item_types_vl,保存工作流的定义,即类
wf_items,保存实际的工作流,或者说工作流的对象实例
wf_item_attribute_values,保存工作流实例的attribute最新值
wf_item_activity_statuses,保存工作流实例的各个activity的状态,比如完成否,返回值
wf_notifications,保存工作流实例的notifications消息,基本是按顺序的,可以看发给谁了
wf_roles,角色视图,工作流引用角色的依据,有mail地址等信息
wf_user_roles,用户和角色关系视图,工作流可以根据它进行“群发”

Mail配置
$FNT_TOP/resource/wfmail.cfg
请求:Notification Mailer

--Hierarchy头
SELECT *
  FROM PER_POSITION_STRUCTURES_V PS
WHERE PS.NAME = 'XXXXXXXX'; --64

--Hierarchy行
SELECT *
  FROM PER_POS_STRUCTURE_ELEMENTS_V PE
WHERE PE.POS_STRUCTURE_VERSION_ID = 64;

--Hierarchy生成表
SELECT *
  FROM PO_EMPLOYEE_HIERARCHIES H
WHERE H.POSITION_STRUCTURE_ID = 64
   AND H.EMPLOYEE_ID <> H.SUPERIOR_ID;

--职位表
SELECT * FROM PER_ALL_POSITIONS P WHERE P.NAME = 'YYYYY'; --93

--职位分配
SELECT * FROM PER_ALL_ASSIGNMENTS_F A WHERE A.POSITION_ID = 93; --960

--人员
SELECT * FROM PER_ALL_PEOPLE_F AP WHERE AP.PERSON_ID = 960;

--请求
Fill Employee Hierarchy


__________________
技术为本.业务为纲  文化为本.管理为纲  ERP千里之行,始于足下
帖子总目录:http://www.itpub.net/442423.html
大家都来玩:http://www.pceggs.cn/pgComDefault.aspx?ID=6480286
只看该作者    顶部
离线 huajhua
灵机一动


精华贴数 21
个人空间 0
技术积分 5001 (269)
社区积分 19 (7760)
注册日期 2004-5-20
论坛徽章:13
管理团队成员管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章授权会员ERP板块每日发贴之星
      

发表于 2005-3-12 19:54 
新人们顶啊


__________________
技术为本.业务为纲  文化为本.管理为纲  ERP千里之行,始于足下
帖子总目录:http://www.itpub.net/442423.html
大家都来玩:http://www.pceggs.cn/pgComDefault.aspx?ID=6480286
只看该作者    顶部
离线 fish919
新年新气象



精华贴数 5
个人空间 0
技术积分 3151 (472)
社区积分 135 (2939)
注册日期 2003-5-26
论坛徽章:5
ITPUB元老会员2006贡献徽章授权会员2008北京奥运纪念徽章:羽毛球ITPUB新首页上线纪念徽章 
      

发表于 2005-3-14 08:49 
ding


__________________
学无止境
只看该作者    顶部
离线 kevin.IT
山野粗人


精华贴数 0
个人空间 0
技术积分 1158 (1536)
社区积分 1575 (699)
注册日期 2003-12-5
论坛徽章:7
会员2006贡献徽章授权会员2008北京奥运纪念徽章:击剑ITPUB新首页上线纪念徽章生肖徽章:兔生肖徽章:虎
每日论坛发贴之星     

发表于 2005-3-14 09:07 
不错!


__________________
玩物不能丧志,学习为了明天,工作才能生活,钞票固然重要,健康才是本钱。
只看该作者    顶部
离线 lynx99
老会员



精华贴数 0
个人空间 0
技术积分 674 (2829)
社区积分 15 (8608)
注册日期 2002-3-5
论坛徽章:1
授权会员     
      

发表于 2005-3-14 09:11 
good guy!


只看该作者    顶部
离线 ppccqq
*


精华贴数 3
个人空间 0
技术积分 4371 (316)
社区积分 1275 (811)
注册日期 2003-2-7
论坛徽章:4
管理团队成员管理团队2006纪念徽章会员2006贡献徽章授权会员  
      

发表于 2005-3-14 10:16 
不错。


只看该作者    顶部
离线 redzl
初级会员



精华贴数 0
个人空间 0
技术积分 2 (174180)
社区积分 0 (306367)
注册日期 2005-3-14
论坛徽章:0
      
      

发表于 2005-3-14 12:02 
很好!


只看该作者    顶部
离线 Harry_shan
跟着ORACLE走


精华贴数 11
个人空间 0
技术积分 21768 (42)
社区积分 11269 (138)
注册日期 2003-2-28
论坛徽章:59
现任管理团队成员2008北京奥运纪念徽章:跆拳道2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:蹦床2008北京奥运纪念徽章:击剑2008北京奥运纪念徽章:沙滩排球
2008北京奥运纪念徽章:花样游泳2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:赛艇生肖徽章2007版:牛生肖徽章:牛 

发表于 2005-3-14 14:29 
楼主奉献精神可佳


__________________
只看该作者    顶部
离线 CHENTAO
中级会员



精华贴数 0
个人空间 0
技术积分 320 (6120)
社区积分 0 (84424)
注册日期 2003-5-6
论坛徽章:0
      
      

发表于 2005-3-15 09:04 



__________________
every day is a good day
只看该作者    顶部
离线 shineone
一般会员



精华贴数 0
个人空间 0
技术积分 90 (17990)
社区积分 0 (320456)
注册日期 2005-3-25
论坛徽章:0
      
      

发表于 2005-3-31 20:14 
顶一下。学习中


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问