1. Workflow Builder的默许访问级别是100,以下是Oracle对访问级别的1个大致分类:
0⑼ Oracle Workflow
10⑴9 Oracle Application Object Library
20⑼9 Oracle Application Development
100⑼99 Customer Organization
1000 Public
2. Oracle 工作流对象通过不同的选项和访问级别来实现对象的保护
3. Workflow 安装
1、可以直接使用8i的http,不用安装IAS,根据Server安装指南配置httpd.conf的别名便可;http服务起不来的可能情况2、
httpd.conf语法毛病,这个没甚么好说的
之前的服务没有正常结束,1般重新启动计算机便可;或杀掉java进程,如果有的话
新安装了Oracle其它产品,致使路径援用毛病;我的解决办法是把新安装软件在环境变量Path中添加的路径移到最后
如果要看httpd为什么没法启动,查看Log是没用的;应当先运行CMD,然后cd到需要的目录,输入apache.exe,这个时候就会有毛病出现
2、Notification默许的配置是html email,这个时候易遇到Notification就报错,
由于我们自己1般没有配置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.exe1切正常
4. 刚接触Workflow Builder会碰到的几个疑问
如何连接各个Node:用右键而不是左键连
为什么修改不了他人的文件:在Help菜单里面设置适合的Access Level
为什么图标不起作用:在View菜单里面选择Develop Mode
如何使用Standard的Item:打开Standard或Demo文件,把Stantard这个Item Type抓过去
Notification根据甚么发:必须在Process里面打开Notification的属性,Node标签里面有1个Performer,根据需要设置成我们预定义的某个Role类型的Attribute
Workflow Builder的PL/SQL函数有甚么要求:拷个Demo的函数,照着写就能够了,怎样判断运行模式,怎样返回里面都有
其他问题其实Workflow Builder在保存或我们选择Verify的时候都会提示,只要认真看都能解决
5.对各个Item的通俗理解
1、Item Type是个抽象的概念,为方便理解,可以看做是1个工作流的容器和标志
2、Attribute是全局变量,供全部Item Type里面的元素使用,可以作为message的附加属性,Send给用户看或存储用户的Response内容比如Note和Forward To;Attribute另外一个经常使用的地方是作为Notification的Performer。固然我们的PL/SQL代码是离不开Attribute,几近任何PL/SQL函数都需要通过获得Attribute变量--判断Attribute变量--设置Attribute变量,决定程序如何走,返回甚么值
3、Message,就是1个消息,内容在Body里面定义,用&援用Message自己的Attribute;对我们程序有用的的是Message的Attribute,1般和上面的全局变量Attribute对应,Send类型的Attribute将取当时的全局变量Attribute的值发给用户看,Response类型Attribute将把用户输入的内容返回给全局变量Attribute供我们的程序作下1步判断使用
4、Lookup Types,基础字典列表,就像我们的部门字典表,销售方式字典表1样,不过它是静态的;根据需要设置,1般用来标志工作流各类Item的返回值,和我们的PL/SQL函数返回值逐一对应
5、Function,就是Function,1个处理,1般对应1个PL/SQL函数并定义返回值为某个Lookup Type
6、Notification,发送1个消息,消息内容为定义的Message内容,消息的接收人是定义的Performer
7、Process,真实的流程,由Notification、Function、子Process组成,开始于1个Start Function,结束于1个或多个End Function,中间是Notification和Function组成的业务流程,在这个级别上可以把Notification、Function、子Process看成是1样的即activity,他们都有返回值,不同的结果走不同的流程,由此组成1个符合业务需要的图表
6. 由Engine管理、不需要我们操心的东西
1、消息发送;我们只管定义,由于可以用HTML写Message的Body,可以定义得很漂亮
2、流程选择;我们只管按不同的返回结果画图,Engine会根据我们函数的返回值调用下1个activity
3、用户选择;我们可以修改wf_roles、wf_users、wf_user_roles这3个视图,使之包括我们业务系统的用户便可
7. 经常使用表
1.Workflow Definition Tables
WF_ITEM_TYPES
WF_ACTIVITIES
WF_MESSAGES
WF_ITEM_ATTRIBUTES
WF_ACTIVITY_ATTRIBUTES
WF_MESSAGE_ATTRIBUTES
WF_PROCESS_ACTIVITIES
WF_ACTIVITY_TRANSITIONS
2. Workflow Runtime Tables
WF_ITEMS
WF_ITEM_ACTIVITY_STATUSES
WF_NOTIFICATIONS
WF_MESSAGES
WF_NOTIFICATION_ATTRIBUTES
3. Business Event Tables
WF_SYSTEMS
WF_AGENTS
WF_EVENTS
WF_EVENT_SUBSCRIPTIONS
4. 各表解析
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,用户和角色关系视图,工作流可以根据它进行“群发”
8. 签合层级
(1). Hierarchy头
SELECT *
FROM PER_POSITION_STRUCTURES_V PS
WHERE PS.NAME = 'XXXXXXXX'; -⑹4
(2).Hierarchy行
SELECT *
FROM PER_POS_STRUCTURE_ELEMENTS_V PE
WHERE PE.POS_STRUCTURE_VERSION_ID = 64;
(3).Hierarchy生成表
SELECT *
FROM PO_EMPLOYEE_HIERARCHIES H
WHERE H.POSITION_STRUCTURE_ID = 64
AND H.EMPLOYEE_ID <> H.SUPERIOR_ID;
--职位表
SELECT * FROM select * from PER_ALL_PEOPLE_F P WHERE P.NAME = 'YYYYY'; -⑼3
--职位分配
SELECT * FROM PER_ALL_ASSIGNMENTS_F A WHERE A.POSITION_ID = 93; -⑼60
--人员
SELECT * FROM PER_ALL_PEOPLE_F AP WHERE AP.PERSON_ID = 960;
--要求
Fill Employee Hierarchy
9. 没有收到Notification
1. 程序毛病,没有设置正确的Notification Performer
2. 如果是PO,可能没跑Fill Employee Hierarchy
3. 1个Employee分配给了多个User,那末其实只有第1个User收到了消息
4. 数据还没有同步到Workflow,即没跑Synchronize Workflow LOCAL tables
10. Workflow Role的类型
11. Approve_Id, Approve_Name, Approve_Display Name 的必须建立
对程序来讲ID是关键的,来源于各个表如FND_USER或HR_EMPLOYEES;
对Workflow来讲Name是关键的,来源于表WF_ROLES;
对终究User来讲,Display Name是关键的,来源于表WF_ROLES;
12. 隐藏Notification中的1些默许Button
#HIDE_REASSIGN,可以隐藏标准的Reassign按钮
#HIDE_MOREINFO,可以隐藏标准的Request Information按钮
13. Workflow的Activity的节点的7个状态
Active--activity is running.
Complete--activity completed normally.
Waiting--activity is waiting to run.
Notified--notification activity is delivered and open.
Deferred--activity is deferred.
Error--activity completed with error.
Suspended--activity is suspended.
Thanks and Regards