Oracle Work Flow Builder Training Material

工作流培训教程
作者:

lx

版本:

1.0

状态:

Draft

最后修改日期:

工作流培训教程

修改记录
版本

修改内容

修改人

审核人

日期

签名
职务

Version:

1.0

Status:

Draft

姓名

签字

公司机密

日期

ii

...................................................................................................................................................................................................................................................................2 活动(ACTIVITY)................................................................................................................1 安装过程.............2........................................................1.......................................................1.......................................3 3...................2 工作流调用..............4 4..............................................................................................6 4......................................2 工具栏介绍......8 查找类型(LOOKUP TYPE).....................................1.......................................................3....................................................................................12 5......11 5....................................................1 2.........................................................1.....1 增加一个节点...............21 8 术语说明..................................................................................................................................................................................6 5..................5 4...................................................................................................................................................................................1 File...........................................................................................21 Version: 1...1...................5 4................................................................................................................................................................................................................................................................................................................................................................................21 6....................3 流程(PROCESS).............................................................1 目标.................................................................2..........................................2.......................3 3..........................................................4 消息(MESSAGE).............................................................................7 通知(NOTIFICATION)....2......................................1 单据类型(Item Type)............................2 定义工作流组件.....................................2 定义一个节点..................19 5................1 从下往上定义.................................................................3......................2 更改字符集...............................................................................................21 6.................................................工作流培训教程 内容索引 1 简介.3 打开保存单据类型............1 工作流程设计...................................6 5..................................................................................7 5.5 4....................................1 工作流(ITEM TYPE)...................................3 消息(Message).....................................................................................................................................................................................................................................................................................1.....................................................7 5....................................................................................................2 function.................................................................................................1..........................................................1.....3 3...............................................................................................21 6............4 活动(Activities).....................................................................................................................................................................3 3 WORKFLOW BUILDER 使用................................................................................................................................................................................................................................................4 4 工作流组成........................1...........................................................3 3........1..........2 中断工作流..................................................................................................................................................21 6...........................................................................3 3.............1....................................1 启动工作流............................1 1........................................................................21 6.....................6 5............................................3 定义活动属性值................................................1 2.............................................3 定义一个流程图..2.......................................................................................................................21 6............................................................................................5 4....18 5...............................2...................3 调用工作流程图.......................3 View......................................................................1..................................................21 6..6 5.........................1 1.....................................................................................2 范围......3...............................5 4..........................................................................................................5 函数(FUNCTION).....15 5..................................................................................2 Edit..2 安装注意事项.....4 Window......................................................1 2......................................................21 7 参考文档...........................................6 5 工作流开发..........19 5..............................................................1 2 WORKFLOW BUILDER 安装.....................1 安装...................1 创建流程定义.............................5 help........7 5...............................................................................................................................................................................................2................................1 菜单介绍....................................................1.......................................................................................................1 attribute ............................0 Status: Draft 公司机密 iii ................20 6 CCMIS 中的工作流开发....................................................................................................................6 事件(EVENTS)................................................5 4...3 lookup type.............................4 3...........................................................................................................2 从上往下定义.21 6..............................................1 2....2 查找类型(Lookup Type)......................................3 3......

................................工作流培训教程 9 附录.............................................22 Version: 1........................................................0 Status: Draft 公司机密 iv ...................

1 2.1.2 更改字符集 开始->运行->regedit 编辑注册表, 点击 F3 或 CTRL+F 进行查找“NLS_LANG” 版本: 1.2 范围 本文档主要介绍以下内容:  WORKFLOW BUILDER 的安装  WORKFLOW BUILDER 的使用  工作流的组成  工作流开发  CCMIS 中的工作流开发 2 2.1 WORKFLOW BUILDER 安装 安装过程 安装 运行安装程序,在向导的提示下依次选择 next 按钮,直至完成。 2.1 目标  WORKFLOW 是 oracle 公司的一个标准产品,它通过图形化的方式来表达业务处理过程。用 户使用工作流可以灵活地定义或更改流程的结构。WORKFLOW 是建立在数据库基础上的一 个应用,它由后台的数据对象和前台的客户端程序组成。本文档主要介绍工作流的基本概念 和开发中的注意事项。 1.1.0 状态: Draft 公司机密 第 1页 .工作流培训教程 1 简介 1.

ZHS16GBK”的 NLS_LANG 不用替换。 版本: 1.工作流培训教程 把其值以“AMERICAN_AMERICA”开始的替换为:AMERICAN_AMERICA.ZHS16CGB231280 对于其中键值为 “SIMPLIFIED CHINESE_CHINA.0 状态: Draft 公司机密 第 2页 .

2 安装注意事项 如 果 是 奔 腾 4 的 机 器 , 安 装 前 , 需 要 搜 索 系 统 中 的 symc*.3 View Font:更改显示字体; Log:日志保存方示; Show label in designer:在工作流程设计窗口默认显示的信息; Developer mode :更改当前的显示的方示为开发者模式; 3.1.1.0 状态: Draft 公司机密 第 3页 .dll , 把 其 重 命 名 为 symc*.2 Edit New:新建一个工作流,通知,属性等; Copy:复制当前选中的工作流,通知,属性等; Paste:粘贴已复制的内容 Delete:删除当前选中的工作流,通知,属性等; Find:查找; Find again:查找下一个; Properties:属性; Process details:显示工作流中流程图; Move attribute:移动属性的上下位置。 3.dll.工作流培训教程 2.4 Window Cascade:显示所有打开的窗口为层叠方式; Title:显示所有打开的窗口为分块方式; 版本: 1.1.1 File New:新建一个工作流文件夹(对应一个.wft 文件); Quick start wizard:通过向导快速建立一个工作流文件夹; Open:打开一个已存在的工作流文件夹; Close store:关闭并保存已打开的工作流文件夹; Save:保存已打开的工作流文件夹; Save as:另存已打开的工作流文件夹; Create shortcut:在桌面创建快捷方式; Verify:检查工作流文件夹中已显示的工作流是否有落逻辑错误; Show/hide item types:显示或隐藏工作流; Load roles from database:从数据库中获得有效用户; Exit:退出 workflow builder。 3.1.bak 使其不可用,否则无法正确安装,如是不是奔腾 4 机器则无需这步操作。 3 WORKFLOW BUILDER 使用 3.1 菜单介绍 3.

5 help content:显示帮助。 3.0 状态: Draft 公司机密 第 4页 .2 工具栏介绍 工作流对象浏览窗口 新建工作流文件夹 打开已有的工作流文件夹 保存工作流文件夹 删除当前所选择的工作流对象 显示当前所选择的工作流对象的属性 复制当前所选择的工作流对象 粘贴当前所选择的工作流对象 检查工作流文件夹中已显示的工作流是否有逻辑错误; 更改当前的显示方示为开发者模式 查找数据对象 使用向导创建工作流 帮助 新建当前所选择的工作流对象类型的对象 工作流程编辑窗口 打印工作流程图 新建一个工作流程 新建一个通知节点 新建一个函数节点 新建一个函数事件 显示工作流对象的初始化标签 显示工作流对象的内部名称 显示工作流对象的显示名称 显示工作流程中的流向 显示工作流对象的执行人 4 工作流组成 工作流的流程主要由以下组件(Component)构成:工作流、流程、活动、函数、消息、通知和 版本: 1.工作流培训教程 3.1.

2 活动(Activity) 活动是工作流程中的一个执行单元。活动有自己的结果类型,在运行时活动的实例会返回 一个结果,工作流引擎会根据活动实例的返回结果决定业务流程如何流转。活动有三种类型:通 知、流程和函数。另外还有一种类型“文件夹(Folder)”,文件类型主要是对活动进行分组,目 前还不知道具体如何使用。 4.3 流程(Process) 流程就是业务流程的流转规则。流程包括两部分:流程里包含的活动和各个活动在不同条 件下的流转关系。在定义流程的时候,因为流程里的活动可能有不同的返回结果,我们需要把不 同结果的处理活动和结果联系起来,另外在 Oracle ERP 里还定义了一些标准的返回结果(例如 超时),你在定义流程的时候,也可以对这些内嵌的返回结果进行处理。在流程实例流转的时候 流程里的活动有自己相应的状态,工作流引擎得到活动的状态改变信息或活动返回结果之后, 按照你定义的流程流转规则控制流程的流转。流程必须属于一个工作流。 流程定义里有一个标志属性“是否可运行标志”,如果一个流程是可运行的,则可以在窗体 上可以直接调用,否则该流程只能作为一个子流程包含在其它的流程里面,工作流引擎在碰到 流程活动的时候,会自动激活子流程,让子流程流转。 4.工作流培训教程 查找类型。工作流是一种分类对象,其它的对象都属于一个工作流。 4.1 工作流(Item Type) 企业的业务有很多类别,同一种业务对应有不同的业务流程,同时在业务流转的过程中处 理不同的业务信息。工作流其实就相当于一个业务类型。 工作流属性主要是定义业务信息,另外还包含一些在其它对象需要引用的信息,例如通知 里的接收人就可以作为工作流的属性。工作流的另外一项功能就是对工作流程进行分类 ,所有 工作流里的其它对象都属于一个工作流。 4.5 函数(Function) 函数就是一个可以自动执行的活动,该活动可以完成一定的功能,函数活动通常和一个 PL/SQL 存储过程或者一个 Oracle 内部的过程联系在一起,在定义函数活动的时候必须定义该 函数对应的过程名称。 函数类型的活动有自己的参数定义,函数活动的参数主要是为对应的过程服务的。在运行 的时候通过给函数活动的参数赋值,经过相应的处理之后,工作流引擎就会把函数活动的参数 值传给相应的过程,这样就能保证函数的正确执行。如果对应的过程没有参数的话,可以不定义 参数。 4.0 状态: Draft 公司机密 第 5页 .4 消息(Message) 消息主要是为通知服务的,可以把消息当作通知的内容和类型。消息也属于一个工作流, 通知只能和同一个工作流里的消息相关联。 每个消息可以有一个或多个属性和自己相联系,消息的属性既可以是独立的属性,也可以 是对工作流属性的一个引用。在消息体内可以对消息的属性进行引用,这样在流程的实例里,如 果已经对消息的属性赋值,则在引用消息属性的地方会自动的用消息属性的值替换。我们就可以 在消息体内显示必要的信息。 你可以对一个消息定义自动流转规则,这样在工作流的实例里,当流转到和该消息对应的 通知活动的时候,工作流引擎就会根据用户定义的自动流转规则自动向下流转,用户就不需要 参与了。 4.6 事件(Events) 版本: 1.

0 状态: Draft 公司机密 第 6页 .1.工作流培训教程 4.8 查找类型(Lookup Type) 查找类型是你定义的一些枚举数据,工作流里的查找类型主要用来表达活动结果返回值类型, 另外也可以在定义工作流属性、活动属性、消息和消息属性时引用查找类型,一个查找类型有自 己相应的值列表,在引用查找类型的时候,你只需要定义查找类型就可以了,和查找类型相关 的值会自动过去的。 5 工作流开发 工作流是使用 Workflow Builder 工具设计的。在使用 Workflow Builder 设计工作流之前,你 应该计划好需要完成哪些流程以及流程里发生的活动、活动的顺序、需要哪些结果表达不同的分 支以及流程里需要通知的人和通知的内容。 工作流的定义可以采用两种方式:从下往上或者从上往下。从上往下的方式首先从一个高 层次流程开始设计,首先画出包含活动的流程图,然后再创建支持这些活动的对象。从下往上的 方式是一个比较程序化的设计方式,你首先定义支持活动的所有对象,然后再尝试画出流程图。 5.1 5.7 通知(Notification) 通知活动对一个人或一个角色发送一个通知,通知必须和一个消息联系在一起。通知活动 有自己的结果类型,返回的结果一般是根据用户的交互产生的,除非你在消息里定义了自动流 转规则。 4.1 创建流程定义 从下往上定义  启动 Oracle Workflow Builder.2  选择“File——〉Save”或“File——〉Save As”保存你的工作  在数据库里创建函数活动调用得 PL/SQL 存储过程 从上往下定义  启动 Oracle Workflow Builder  使用快速启动向导为你的流程定义建立一个框架,指定新单据类型和流程活动所 需要的信息。 版本: 1.1.  选择 File——〉New 菜单为流程定义创建一个新的 Workspace;  创建一个新的单据类型(Item Type)  你可以定义单据类型属性来完全描述你的单据类型,或者定义需要在活动里需要 引用的信息;  创建新的查找类型(Lookup Type):在定义活动之前,你应该先定义表示活动 结果的查找类型,活动结果是活动完成时可能返回值的一个列表。在定义完活动和查找类 型之后,你可以从浏览树上把一个查找类型拖拽到一个活动上来指定一个活动的结果类 型;  创建新的消息(Message):如果你希望为你的流程定义一个通知活动,你首先 需要定义一个你希望通知活动发送的消息,你可以在浏览树里把一个消息拖拽到一个通 知上来指定活动的通知类型。你也可以为消息定义属性,消息的属性有两种类型:“Send” 类型的属性用来生成动态内容,“Response”类型提醒接收者进行响应。  创建一个新的流程活动、通知活动或函数活动,你也可以使用在标准单据类型里 定义的标准活动。你至少需要定义一个流程活动来表达你的流程图,流程图建立了流程里 所有活动的关系。  画流程图:显示流程活动的流程窗口,并画出工作流程里的活动以及活动之间的 转移关系。你可以从浏览树里直接把活动拖拽到流程图里。 5.

2  选择“File——〉Close Store”关闭和数据存储的连接  推出 Oracle Workflow Builder。 定义工作流组件 工作流的组件主要包括单据类型、查找类型、消息、活动、属性和角色;下面将分别介绍如何 定义它们。 5.1.3.2 当你完成工作之后,选择“File——〉Save”菜单,保存你的修改信息。 保存修改信息  在 Oracle Workflow Builder 里选择“File——〉Save”命令保存你的修改,并使修改 立即生效。当你使用保存命令的时候,在当前的数据存储里保存了所有对象的修改信息, 如果只想保存一个特定的单据类型,你需要创建一个新的数据存储,并把这个单据类型 复制到新的数据存储里保存。  如果你想把单据类型存放到另外一个数据存储,或者想保存和当前系统不同的另 外一个生效的数据,你可以使用“File——〉Save as”命令  注意,当你保存你的工作的时候,Oracle Workflow 会自动验证流程定义里无效 或缺失的信息,并把它显示出来,你可以根据提示的信息修改错误也可以先保存等有时 间的时候再修改。如果你没有改正错误就保存,那么在你重新打开的时候, Oracle Workflow Builder 还会报错 5.3  在流程图里画出活动之间的流转关系  保存你的工作 打开保存单据类型 所有的流程都是和单据类型联系在一起的,一个单据类型下面可以有多个流程。你可以把 单据类型定义保存到一个数据库或一个文件,当你保存单据类型时,所有和单据类型联系的对 象页同时保存。同样,你也可以从数据库或文件里访问单据类型,并把和单据类型相关的对象在 Oracle Workflow Builder 里显示。 5.2.工作流培训教程  在流程窗口里会出现一个开始节点和结束节点,你可以在开始节点和结束节点之 间增加流程需要的活动 5.1 访问保存的流程定义  启动 Oracle Workflow Builder,并选择“File——〉Open”.  选择保存工作流程定义的类型:文件或数据库  打开一个文件是可以输入该文件的完整路径和文件名,并选择 Ok 按钮,或者使 用浏览按钮来定位文件;  打开数据库连接的话,输入用户名和口令,并输入数据库别名或连接字符串并单 击 OK 按钮;  如果同时有多个单据类型存在的话,显示单据类型窗口就会出现,从隐藏列表里 选择一个  如果你想查看或修改隐藏的的单据类型,你可以从浏览树上从双击隐藏单据类型 来选择;  5.0 状态: Draft 公司机密 第 7页 .3.1.1.1 单据类型(Item Type) 一个单据类型是对组成工作流程的组件的分类,你必须把你定义的流程组件(例如函数活 动、消息等)和单据类型联系起来。可以这样理解,单据类型定义了流程管理的单据信息,例如 采购订单申请可以定义为一个单据类型,它包含有一个唯一的订单 Id 号和一个申请数量。 单据类型属性是和单据类型联系在一起的,它通常充当一个全局变量,可以被流程里的活 版本: 1.

1 创建一个单据类型  如 果 你 没有 打开 一个 data store ,从 File 里选 择 New 菜 单创 建一 个新 的 Data Store,然后从 Edit 菜单里选择 New Item Type 在浏览树里定义一个新的单据类型,此时 版本: 1.2.0 状态: Draft 公司机密 第 8页 .Totalperm()过程清除;如果你把持续类型设置 为 Temporary,你必须指定持续的天数,临时持续类型的单据类型实例在完成之后至少保存你 指定的持续天数,在’ n’天过后,你可以调用任何一个 WF_Purge 的 API 清除单据类型的运行时 信息。 Selector Function : 如 果 你 的 单 据 类 型 有 或 者 将 有 多 个 可 运 行 的 流 程 活 动 , 定 义 一 个 PL/SQL 函数决定在一个特殊的条件下运行哪一个流程活动。你也可以扩展这个选择函数为一个 回调函数,这样在流程执行的过程中,如果会话信息中断的话,可以恢复单据类型实例的上下 文信息。当你从通知详细页面上去查看一个页面属性时特别有用 5.1.工作流培训教程 动引用或者修改。单据类型属性包含流程完成所必需的单据信息。对于活动需要引用的信息或者 通知消息里包含的信息,你通常需要定义一个单据类型属性。 属性具有 9 种类型,下面给出每种类型的说明:  Text:属性的值是一个字符串文本;  Number:属性的值是一个数字,你可以为数字类型的属性定义一个格式掩码;  Date:属性的值是一个日期类型,你也可以为日期类型的属性定义一个格式掩码;  Lookup:属性的值是一个查找类型的代码;  Form:属性的值是一个 Oracle 应用的内部窗体函数名称以及函数的参数;如果 你在通知消息里包括了一个窗体类型的属性,在查看通知的时候,会显示一个窗体附件 的图标,可以让用户浏览到相应的页面。  URL:属性的值是一个网络的 URL 地址,如果你在通知活动里包含了一个 URL 引用属性,在查看通知的时候,会有一个指向 URL 的标识,用户可以完成活动也可以访 问 URL 地址或的额外的信息。  Document:属性的值是一个附件文档,你可以在默认值里指定文档的类型: PL/SQL 文档,通过存储过程把数据库里的信息以文档的方式表达;DM 文档,一个被外 部文档管理系统管理的文档。  Role:属性的值是一个角色的内部名称,如果在一个通知里包含了一个角色类型 的属性,则该属性会自动解释为角色的显示名称,省去了在内部名称和外部名称之间维 护的工作。为了给角色类型的属性赋一个默认值,你必须首先从数据库里装载角色。  Attribute:属性类型的值是对单据类型的引用, Persistence Type:当你定义一个单据类型时,你必须指定它的 Persistence Type,它主要是 控制单据类型实例的状态审核追踪的保存时间,如果你把持续类型设置为 Permanent,则运行时 的状态信息会一直保存,除非你调用 WF_Purge.

0 状态: Draft 公司机密 第 9页 .<procedure_name>。选择函数是一个 PL/SQL 存储过程,它自动标识工作流引擎应该执行的那个流程;  选择“Apply”保存你的修改;  选择 “ Roles”页规定能访问单据类型的角色(这个功能会在将来的发行版本支 持);  选择“Access”页规定单据类型的访问和定制级别;  选择“Apply”保存你的修改;  在浏览树里会出现一个二级分支来表示你刚创建的单据类型,你可以在浏览树里 双击单据类型浏览或修改单据类型的属性;  定义尽可能多的单据类型属性作为全局变量,这样在流程活动里就可以引用这些 单据类型属性。 5.1.工作流培训教程 单据类型的属性页会出现;  每一个单据类型有一个大写的内部名称,最多 8 个字符,所有的工作流 API 、PL/SQL 过程,SQL 脚本在识别单据类型的时候都引用单据类型的内部名称。在内部 名称里不能包括“:”和“/”;  输入一个翻译性的名字,该名字是一个长一些的描述性名称,你也可以为单据类 型输入一段摘要信息;  指定单据类型的持续类型,如果你为单据类型指定了一个临时类型,指定在单据 类型实例结束之后状态审核记录必须保存的时间;  如果单据类型有多个或会有多个流程和它联系在一起,你需要为单据类型指定一 个选择函数,选择函数的语法是<package_name>.2 定义一个单据类型或活动属性  从浏览树里选择一个单据类型,然后从 “ Edit”选择 “ New Attribute”可以创建一个 单据类型属性 从浏览树里选择一个活动,然后从“Edit”选择“New Attribute”可以创建一个活动属性 版本: 1.2.

0 状态: Draft 公司机密 第 10 页 .3 定义一个 URL 属性  在属性默认值里指定一个 URL 地址,这个 URL 可以是一个常量或者一个从其它 单据属性返回的值;  你也可以在 URL 里包含字符串参数,这个参数可以是一个字符串文本或一个其 它单据类型的格式替换。在参数字符串里采用其它单据类型进行格式替换,需要采用如下 的格式:&item_attr;  如果 URL 里包含一个参数字符串,你必须遵守如下的限制:你不能用一个文档 类型的单据类型属性对参数进行格式替换;你可以用表单或 URL 属性对参数进行格式替 换,但不能进行嵌套替换;  如果你需要在 URL 里传递一个日期时间参数,你需要使用 TO_CHAR 函数把日 期时间转换为如下格式: “ YYYY-MM-DD+HH24:MM:SS”,同样对日起类型需要使用 TO_DATE;  结束工作之后选择“OK”按钮保存。 版本: 1.工作流培训教程 在两种情况下都会出现属性定义页  输入一个大写的内部名称;  输入一个显示名称,该名称会出现在浏览树里;  你可以输入一段描述摘要信息;  选择属性的数据类型,在定义活动属性的时候,没有 Form,URL,Document 属 性类型;  根据你选择的属性类型,为属性指定默认值信息;  对单据类型属性来说,可选的默认值是一个你输入或从列表中选择的常量,不过, 这个常量可以是一个在运行时替换的字符串;对活动属性来说,默认值可以是一个常量 或者一个单据类型属性;  选择“ Apply”保存你的修改,选择“ Ok”保存你的修改并推出属性页面,“ Cancel” 取消你的修改并推出属性页面;  如果你在定义一个单据类型属性,选择“Access”页设置允许修改属性的访问级别;  选择“Apply”保存你的修改;  你创建的任何单据属性类型会出现在浏览树的“ Attributes”分支下,所有的函数属 性出现在对应的函数下面,你可以从浏览树里双击一个属性浏览或修改属性的定义。 5.1.2.

show_req/&item_attr1:&item_attr2;  如果想指定一个由外部文档管理系统管理的文档,可以在默认值里输入如下格式 的信息:DM:<node_ID>:<document_ID>:[version];  5.1.2.2.5 保存你的工作。 定义一个 Document 属性  在属性页的默认值里输入一个标识文档的字符串;  你可以标识以下两种类型的文档:PL/SQL 文档或者存放在文档管理系统里的文 档;  一个 PL/SQL 文档表示数据库里的数据,该文档由一个存储过程产生,需要使用 下面的方式来指定一个 PL/SQL 文档的默认值:plsql:<procedure>/<document_identifier>。 在使用时用一个包和过程名称来替换 procedure,用直接传送给过程的字符串参数替换 document_identifier,这个参数字符串应该能标识这个文档。PL/SQL 存储过程必须按照标 准的 API 格式来写;默认值的实例如下所示:plsql:po_wf.show_req/po_req:2034;  如果你想动态的生成一个 PL/SQL 文档,你可以把文档标识定义成一个标记替换, 然 后 使 用 其 它 单 据 类 型 属 性 的 值 替 换 , 例 如 : plsql:po_wf.0 状态: Draft 公司机密 第 11 页 .工作流培训教程 5.2 选择“OK”保存你的修改。 查找类型(Lookup Type) 查找类型是一个静态值列表,这些列表可以被活动、单据类型、消息或属性引用,例如一个 活动可以引用一个查找类型作为它可能的返回值。 当你定义一个查找类型的时候,你必须把它和一个单据类型联系起来;然而,但你在创建 一个活动或属性的时候,你可以引用但前数据存储里的任何查找类型,不论这个查找类型和哪 个单据类型联系在一起。 版本: 1.4 定义一个 Form 属性  在窗体属性页的默认值里指定一个窗体函数的名称以及可选的字符串参数(窗体 函数的参数);  默 认 值 必 须 使 用 下 面 的 格 式 输 入 : function_name:arg1=value1 arg2=value2… argn=valuen,argn 的值可以是一个包含在双引号内的字符串,也可以是一个被其他单据 类型属性进行格式替换的值,可以使用下面的方式定义格式替换: argn=”&item_attr”或者 argn=”value &item_attr”;  如果你的窗体属性内包括参数,你必须牢记以下的限制:你不能使用一个文档类 型的属性进行标记替换;你可以使用一个窗体类型或 URL 类型的属性进行标记替换,但 是你不能进行嵌套替换;  5.2.1.

0 状态: Draft 公司机密 第 12 页 .2.2.3  输入大写的内部名称、显示名称,你也可以输入一段摘要信息;  保存你的修改;  新定义的查找类型编码会在相对应的查找类型下面出现。 消息(Message) 消息时工作流程里通知活动发送给角色的内容,消息可以提示户对通知进行回复或者让用 版本: 1.2.1 创建查找类型  从浏览树里选择一个单据类型,然后从“Edit”选择“New Lookup Type”,一个查找 类型属性页就会出现;  查找类型有一个大写的内部名称、一个显示名称,你也可以输入一段描述性的摘 要信息,在引用查找类型的时候,需要指定它的内部名称;  选择“Access”页定义允许修改查找类型的访问级别;  保存你的修改;  新定义的查找类型会出现在浏览树的“ Lookup Types”分支下面,你可以在今后双 击该查找类型来查看和修改它的属性; 5. 5.2.工作流培训教程 5.2 为查找类型定义编码  选择一个查找类型,并从 “ Edit” 里选择 “ New Lookup Code”,一个查找编码属性 页会出现.2.

1 创建消息( Message)  从浏览树里选择一个单据类型,然后从 “ Edit” 菜单里选择“ New Message”,消息 属性页面就会出现;  为消息提供一个大写的内部名称,一个显示名称,你可以为消息输入一段描述性 的信息;  为消息选择一个默认的优先级,消息的优先级只是提醒接收者消息的紧急程度, 对消息的传送和处理没有影响;  保存你的修改; 版本: 1.3.0 状态: Draft 公司机密 第 13 页 .2.工作流培训教程 户采取一个动作决定下一个活动,在工作流里一个消息的接收者被称作“ Performer”;每个消息 都和一个单据类型联系在一起,这样可以允许消息引用单据类型属性,在运行时进行标记替换。 当你定义消息的时候,可以指定接收者回复的值,然后工作流引擎根据用户的返回值决定 流程的下一个活动,你也可以在消息的主题和消息体内包括消息属性使消息成为一个上下文环 境敏感的消息。你可以从浏览树里直接把一个消息直接拖拽到通知分支下面创建一个发送该消息 的通知,也可以把消息拖拽到一个已存在的通知活动上更新通知发送的消息。 当你为通知活动创建一个通知的时候,你需要注意通知是否规定了一个结果类型,如果有 结果类型的话,你创建的通知需要提示通知接收者一些特定的响应用来解释通知的结果类型, 工作流引擎使用这些结果决定流程需要流到哪些活动。要想创建一个对特殊响应进行提示的消息 你需要完成消息页面的“Result”页,你输入的信息创建了一个特殊的“ Response”消息属性,它有 一个内部名称“ RESULT”,结果消息属性的数据类型是一个查找类型,并且必须和通知的结果 查找类型一致,这可以保证通知活动的执行者从一个通知活动期望的结果值列表里选择一个值。 一旦你创建了一个消息,你可以为消息定义需要的所有属性,在浏览树里消息的属性存放 在消息的下面。消息属性的来源(Send or Respond)决定了消息属性的使用方式,你可以使用 “Send”类型的消息属性进行标记替换或者和消息一块发送。每个消息类型都有一个数据类型, “Send”类型的消息属性可以是一个常量或者是一个对单据类型属性的引用。“Response”类型的消 息属性组成了消息的响应部分,响应消息属性为接收者的响应提供了指令。如果你定义了一个响 应消息属性,你必须给它指定数据类型,你也可以给它指定一个默认值,默认值可以是一个常 量,也可以是对相同数据类型单据类型属性的引用。 5.

0 状态: Draft 公司机密 第 14 页 .工作流培训教程  选择“Body”页定义消息体;  主题会有一个和消息显示名称一样的默认值,你可以保存这个默认的主题或者输 入一个新的主题,消息的主题可以包含消息的属性,在运行时通过标记替换来赋值。  在消息体输入框内输入一段纯文本信息,Oracle 工作流使用你输入的文本生成通 知消息的一个文本版本,这段文本消息可以从一个 E-mail 阅读器里查看;  你也可以输入一个 HTML 格式的消息体,同时也可以从一个 HTML 文件里导入, 注意,当你输入或导入 HTML 文件的时候,不要包括<Body>…</Body>HTML 标记,如 果你包括了这些标记,Oracle 工作流只是简单的抽取这些标记之间的内容,<Body>标记 之前的内容。Oracle 工作流使用你在 HTML 消息体内的内容为通知消息生成一个 HTML 格式的版本,你可以从通知的详细页面来查看 HTML 格式的通知消息或者从一个 E-mail 阅读器来查看 HTML 格式的消息或者 HTML 格式的附件,如果你的 HTML 消息体的内容 是空的,工作流会使用你在文本消息体内输入的内容生成通知消息。另外一个需要注意的 问题是,Oracle 工作流不能识别消息体内的图标和图像文件。  你可以再消息体内包括消息的属性,这样在运行的时候,可以使用消息属性的值 进行标记替换。  保存你所作的修改。  选择 “ Role”页面规定访问该消息的角色信息(这个功能在将来的版本可能会实 现);  选择“Access”页面规定允许修改消息的访问级别;  如果你想让通知消息提示“ Performer”返回一个结果值并且希望 Oracle 工作流引擎 把消息的结果值解释为通知活动的返回结果值,你需要选择“ Result”页完成要求的信息, Oracle 工作流使用你在该页面上输入的信息生成一个叫做“ Result”的特殊“ Response”类型 的消息属性;在该页面上输入一个显示名称和一段描述性的信息,并在列表里选择一个 查找类型,你选择的查找类型应该和通知或定的结果查找类型一致,在默认值区域里选 择一个查找类型编码;  保存你所作的修改;  你刚定义的消息会出现在浏览树的 Messages 分支下面,你可以双击这个消息来 查看或修改消息的信息;  你必须定义所有包含在消息主题和消息体内的消息属性;  如果你想创建一个引用单据类型属性的消息,从浏览树里选择一个单据类型属性 并把它用鼠标拖拽到消息上,你必须在消息属性窗口里编辑该属性,确保消息属性有正 确的来源。默认值区域会自动的设置成单据属性并引用原始的单据属性;  你也可以创建一个不引用已存在单据类型属性的消息属性; 版本: 1.

0 状态: Draft 公司机密 第 15 页 .2.3.4 活动(Activities) 活动是完成流程的一个工作单元,活动可以是一个通知、一个函数或者一个过程。在浏览树 里活动被组织在相应的流程、通知和函数下面,你可以再浏览树里创建、删除、修改活动的定义信 息,你也可以从浏览树里把活动拖拽到一个流程窗口在流程图里新增一个活动的实例,在流程 图里,每一个活动都是用图标表示的。 Oracle 工作流提供了一些标准单据类型,里面包含了一些通用的活动,你可以在任何流程 里使用它们,例如比较两个值大小的活动;另外 Oracle 工作流提供了一个 System:Error 的单据 类型,里面包含有标准的错误流程和错误活动,你可以使用它们来创建自己的自定义错误处理 流程。 版本: 1.工作流培训教程 5.2.2 创建一个消息属性  创建一个不引用单据类型属性的消息属性,从浏览树里选择一个消息,并从 “Edit”菜单里选择“New Attrbute”,此时消息属性页面会出现;  提供一个大写的内部名称;  选择属性的“Source”类型;  输入显示名称;  输入可选的摘要信息;  选择属性的数据类型;  根据你选择的数据类型,提供相应的默认值信息;  如果你的属性数据类型是一个 URL 或 DM 文档,规定一个 Frame 目标,当你在 消息里引用这个属性时,会根据你规定的 Frame 目标打开 URL 或 DM 文档,Frame 目标 可以有以下类型: “ New Window”:URL 会在一个新的未命名浏览窗口里打开; “ Same Frame”:URL 会作为一个元素在当前的 Frame 里打开; “ Parent FrameSet”:URL 会装载 进当前窗口里的父 Frameset ,如果当前的 Frame 没有父对象,则这个值等于当前的 Frame:“Full Frame”:URL 装载进一个原始的窗口,取消其他所有的 Frame;  如果你的消息属性是一个 URL 或 DM 类型的 Send 消息属性,你可以检查 Attach Content 把属性的内容附在通知里;  消息属性的默认值可以是一个常量或者是对单据类型属性的引用;  保存你所作的修改;  你定义的任何消息属性在浏览树里位于消息的下面,你可以用鼠标双击一个属性 来查看或修改属性的信息。 5.

1 创建一个通知活动  从浏览树里选择一个单据类型,然后从“ Edit”菜单里选择“ New Notification”,在 出现的活动窗口里定义通知活动;  通知活动必须有一个大写的内部名称,另外还必须有一个显示名称,你也可以为 通知定义一段描述信息对通知活动进行描述。  指定通知活动的结果类型(一个定义好的查找类型),结果类型是一个可能返回 结果的列表,你的工作流会根据活动的返回结果进行分支处理。你的通知活动也可以没有 返回结果。  选择你的通知想发送的消息名称;  如果你想把通知指定给一个包含多个人的角色,并且给角色里的每一个人发送一 份通知的拷贝,选择“ Expand Role”,如果你把选择该选项,就给整个角色发送一个通知 的拷贝。  你可以在“ Function”域里指定一个 PL/SQL 存储过程,这就是一个“ Post-Function” 函数,工作流引擎会根据用户的响应在不同的模式下执行这个函数,可能的模式类型有: Respond、Forward、Time Out 和 Transfer;  为活动选择一个图标按钮,便于在流程图里标识活动;  保存你的修改;  选择“Details”页面显示或修改活动的详细信息;  选择 “ Roles”页面制定访问活动的角色信息(这个功能可能在将来的版本里支 持);  选择“Access”页面规定允许修改活动的访问信息;  保存你的修改;  新定义的通知活动会出现在浏览树里的 “ Notifications”分支下面,你可以用鼠标 双击这个通知活动来查看和修改通知活动的信息。 版本: 1.4.工作流培训教程 5.0 状态: Draft 公司机密 第 16 页 .2.

4.0 状态: Draft 公司机密 第 17 页 .  为函数活动提供一个大写的内部名称以及显示名称,你也可以一段描述活动的摘 要信息;  输入函数活动执行的函数名称,并选择函数的类型;  选择函数活动的结果类型,  输入函数活动的时间花费;  选择一个标识函数活动的图标;  保存你的修改  选择“Details”页面显示或修改活动的详细信息;  选择 “ Roles”页面制定访问活动的角色信息(这个功能可能在将来的版本里支 持);  选择“Access”页面规定允许修改活动的访问信息;  新定义的函数活动会出现在浏览树里的“ Functions”分支下面,你可以用鼠标双击 这个函数活动来查看和修改函数活动的信息。  5.工作流培训教程 5.2 创建一个函数活动( Function)  从浏览树选择一个单据类型,从“ Edit”菜单里选择“ New Function”,在活动属性 页里定义函数活动的信息.2.4.2.3 如果你的函数需要输入参数,你可以为函数活动定属性。 定义一个流程活动 在你画流程图之前,你必须先定义一个流程活动来表达流程图。 版本: 1.

3  从浏览树里选择一个单据类型,创建一个新的通知活动;  为投票活动指定一个内部名称和显示名称,你也可以输入一段描述性的摘要信息;  结果类型必须是投票查找类型;  选择一个图标来表示这个活动;  在消息域里,选择你刚才定义的投票消息;  选中展开角色这个选项;  在函数域输入一个函数来处理用户的响应;  保存你所作的修改;  选择详细页来显示和修改活动的详细信息  选择角色页规定访问活动的角色信息;  选择访问页规定允许修改活动的访问级别; 定义一个流程图 在 Oracle Workflow Builder 里,流程图采用一种图形化的方式来显示流程里的活动以及活 动之间的转移。在流程图里用一个图标来表示活动,用一个箭头来表示活动之间的转移。你可以 从浏览树里把一个活动拖拽到流程图里,也可以直接在流程图里创建一个活动,在流程图里双 击一个活动节点可以查看或修改节点的信息。通过在两个活动之间画一个箭头来表示活动之间的 转移。 转移在流程图里使用一个箭头表示的,它表示一个活动的结束以及另外一个活动的激活。 如果一个活动的结果类型是 None,则转移表现为一个指向另外一个活动的箭头,表示只要初始 版本: 1.0 状态: Draft 公司机密 第 18 页 .4.4 投票活动( Voting Activity) 你可以创建一个投票活动,这样允许你把通知发送给一个角色里的所有用户,并处理这些 用户的响应,处理的结果决定活动里的流向。一个投票活动是一个通知活动,它首先把通知发送 给一组用户,然后执行一个 PL/SQL post-notification 函数处理这些用户的响应(投票)。你在通 知活动页面里定义的活动属性以及下面的四个域决定了投票的行为:消息域、结果类型域,展开 角色选择框、函数域  创建一个投票查找类型,在该类型里包含了投票活动相处理的响应结果;  创建一个投票消息,它提示用户对投票查找类型的其中一个结果进行响应,你在 定义消息的时候必须完成消息的结果页面,把消息的返回结果类型设置为投票查找类型; 5.2.工作流培训教程  从浏览树里选择一个单据类型,从“ Edit”菜单里选择“ New Process”,在活动属性 页上定义流程活动信息;  流程活动必须有一个全部大写的内部名称和一个显示名称,你也可以输入一段摘 要信息来描述这个活动;  指定流程活动的结果类型,流程活动可以不返回结果;  为流程活动选择一个图标来标识它;  选中 Runnable,这样你就可以把流程当作一个独立的流程来运行,如果不选的话 , 定义的流程只能作为一个子流程在别的流程下运行;  保存你的工作;  选择“Details”页定义流程活动的详细信息;  选择“Access”页指定允许修改流程的访问级别;  保存你所作的修改;  在浏览树的“Processes”分支下回出现你新定义的流程,在浏览树里用鼠标双击流 程就可以查看和修改流程活动的信息。 5.

1 增加一个节点  在开始画流程图之前,你必须先显示流程活动的流程窗口,你可以通过以下的方 式显示流程窗口:在浏览树里双击一个定义好的流程活动;选择一个定义好的流程活动 并按下 Ctrl+E;选择一个流程活动,并从编辑菜单里选择流程详细信息;使用快速启动 向导创建一个新的流程。  可以通过下面的方式创建一个节点:从浏览树里拖拽一个活动;选择 New Function、New Notification、New Process 工具栏按钮创建一个节点;在弹出菜单里选择 Create Activity 创建一个新的节点;  按住鼠标右健并把鼠标从一个活动拖到另一个活动就在两个活动之间创建了一个 转移; 5.3.工作流培训教程 的活动一结束,就流向下一个活动。如果一个活动有返回结果类型,则你必须把转移和活动的一 个结果联系起来,你也可以为定义了返回结果的活动定义下面的转移类型: Default,Any,Timeout。在没有任何转移匹配完成结果时,工作流引擎执行默认的转移;如果 定义了一个人以的转移,则不论活动的返回结果是什么,工作流引擎就执行这个转移,这样可 以保证你除了在工作流里执行和放返回结果对应的活动外,还可以执行一个通用的活动。如果一 个活动在完成之前已经超时,则工作流引擎执行超时转移。一个活动的返回结果可以有多个转移 来进行并行处理。 5.0 状态: Draft 公司机密 第 19 页 .2  如果来源活动定义了放回结果类型,则需要把转移和一个结果联系起来;  你可以在流程图里进行 Copy 和 Paste; 定义一个节点  打开流程活动的流程窗口;  使用工具栏按钮创建一个新的活动;  在单据类型域里,选择一个单据类型;  采用下面的方式定义节点的剩余信息:选择一个已定义活动的内部名称或显示名 称,Workflow Builder 会自动显示出原来定义的信息;另外你也可以使用新建按钮来创建 一个新的活动,并根据活动的类型分别定义它们的信息,注意,在流程图里说做的修改 都会反映到浏览树里的活动信息里; 版本: 1.3.

工作流培训教程  选择“Node”页来定义节点的特定信息,为节点指定一个标签,因为一个活动在一 个流程里可能有多个实例,可以通过标签来区分同一个活动的不同实例;  指定节点是否为一个开始或结束节点;  如果流程有一个接过类型,你必须为结束节点指定一个最终的结果;  你可以提供一段注释信息供自己察看;  对一个通知或一个子流程活动,你可以规定该活动节点是否必须在规定的时间之 内完成;  对一个通知节点来说,你可以覆盖同志消息的优先级,另外需要给通知活动指定 一个执行者,这是一个角色;  保存你的修改;  如果节点是一个函数或通知活动,并且这个活动有参数,你可以选择节点属性页 给这些活动属性赋值;  5.3.3 如果这个节点是一个子流程,则一个子流程的标识会出现在子流程节点图标上。 定义活动属性值 活动属性值主要是别 PL/SQL 存储过程服务的,这个存储过程被函数或通知活动调用。  显示属性值页;  选择一个属性; 版本: 1.0 状态: Draft 公司机密 第 20 页 .

1.2 function 6.3 调用工作流程图 7 参考文档 [1] 8 Oracle .3 lookup type 6.1 启动工作流 6.2 工作流调用 6.2.2.1.工作流培训教程  在值区域里,输入这个属性的值,这个值可以是一个常量也可以是一个对单据类 型属性的引用。注意,这个值的类型必须和活动属性的类型以及存储过程参数的类型保持 一致;  6 6.1.0 状态: Draft 公司机密 第 21 页 .2.2 中断工作流 6.1 保存你的修改。 CCMIS 中的工作流开发 工作流程设计 为了加快 ccmis 系统中工作流程的开发速度,结合 ccmis 中使用工作流有自身的特殊性, 要求在 CCMIS 系统开发工作流时使用 ccmis 标准工作流(CCMIS_STANDARD)中的对象。 6.1 attribute 6. Workflow User Guide 术语说明 表 1 术语列表 术语 说明 版本: 1.

工作流培训教程 9 附录 版本: 1.0 状态: Draft 公司机密 第 22 页 .

Sign up to vote on this title
UsefulNot useful