2, a simple workflow
- 2. WFB Install
? 首先需要从oracle官方站点下载一个wfb的
安装包, 可以从下面的站点下载, 安装包版本
是2.6.3.5大概170M:
http://www.oracle.com/technetwork/database/options/wincli
ent-101059.html
需要注意的是wfb没有linux版本, 仅能运行
在windows平台上.
- 4. A simple workflow
? 此文档将会演示如何使用WFB创建一个简单的请假
工作流, 该工作流实现如下功能:
1, 发送一个请假申请到指定的审批人;
2, 审批人收到该申请之后决定批准或者拒绝申请;
之后申请人将收到FYI通知申请是否被批准.
这个工作流演示了oracle workflow中的如下概念:
– Item Type
– Item Type Attribute
– Process
– Notification
– Message
– Lookup
同时还讲到到如何装载一个工作流, 启动工作流, 通知
查看等.
- 5. Create wfdemo.wft
? 使用File > Quick Start Wizard新建一个wft文件并默认创
建一个Item Type(wft可以包含多个Item Type), 如下:
Persistence Type: 设置保存工作流运行时数据
的方式, 典型的运行时数据如通知数据, 有三个
选择:
Temporary 结合Number of Days指定数据的临时
保存天数, 需要手动运行并发请求来清除临时
数据;
Permanent 永久保存
Synchronous 不产生运行时数据, 仅针对
Synchronous流程, 极少使用
通常使用的是Temporary+0的组合, 后台定时运
行并发请求清除运行时数据.
对于工作流的所有组成部分都有一个内部名和显示名,
在这里分别输入Internal Name和Display Name. 之后保存
为wfdemo.wft.
- 7. Use Notification
- FYI vs FYA
? Oracle工作流使用的通知分为两种类型: FYI和
FYA类型. FYI全称是For your Information, 用于通
知收件人某件事情正在发生, 收件人无需采取
任何动作, 流程也不会因为FYI通知而停止; FYA
全称是For your Action, 通常用于获取收件人的
审批, 流程需要等待收件人的审批结果决定下
一步的动作.
? 消息的FYI和FYA类型是根据创建消息时时候指
定Result Type来决定的, 如果为空则是FYI类型,
非空则是FYA类型.
- 8. Use Notification
- Message
? 在使用通知节点之前, 首先需定义消息, 双击Navigator窗口
中的消息节点, 按照如下步骤定义:
对于使用在FYA通知的消息
需要定义与FYA通知相同的
result type.
- 9. Use Notification
- Lookup
? 接下来创建一个lookup, 对于FYA的通知需要用到lookup
type来标识通知的审批结果. 双击Lookup Type节点新建一
个lookup type之后再添加两个lookup code, 如下:
- 10. Use Notification
- FYA
? 新建一个通知节点, 分别使用刚创建的
lookup type 和 message来设置Result Type和
Message字段, 之后将该通知节点拖放到流
程绘制区域:
可以看到目前FYA节点没
有出来的线条, 因为FYA
节点需要根据动作的结
果选择下一步.
- 11. Use Notification
- Performer
? 创建一个通知节点时, 需要指定该通知节点的接收人, 这里
为了让示例更为接近真实情况, 使用工作流属性(Item Type
Attribute)来设置. 首先先创建一个工作流属性, 然后设置该
通知节点的Performer属性:
- 12. Item Type Attribute
? 工作流属性可以理解为工作流的全局变量, 这些属性会被
工作流的通知或者消息等引用, 可以在工作流启动或者运
行时对这些属性进行设置. 通过右键单击导航区域的属性
节点添加一个工作流属性:
1, 类型
Text 文本类型, 可以指定长度;
Number 数字类型;
Date 日期;
Lookup 可以指定为某个Lookup;
Form 可以指定为EBS中定义的function,
使用function的名字;
URL 链接
Document 使用plsql生成的一段文本
Role 通知收件人, 取wf_role中的用户名
Event 业务事件类型
2, 默认值
可以取常量或者引用另一个属性的值
- 13. Use Notification
- FYI
? 根据请假FYA通知Result Type的设置会有两个结果:
Approve和Reject, 分别给申请者发送FYI通知申请结
果. 这里需要创建一个工作流属性定义请假申请人,
和发送给该申请人的两个FYI通知, 如下:
保存该wft文件, 如果没有弹出任何错误, 则
说明流程的定义是正确的.