OracleERP开发流程简介8004.docx
《OracleERP开发流程简介8004.docx》由会员分享,可在线阅读,更多相关《OracleERP开发流程简介8004.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大唐兴竹软件公司工作流使用说明作者:王 君文档编号A01001-01版本:1.0状态:Draft最后修改日期:2002-7-8修改纪录版本(x.x)修改摘要修改人(First LAST)批准人(First LAST)日期(mm/dd/yy)签名职务姓名签字日期内容索引1简介11.1目的11.2范围11.3如何得到这篇文档12工作流实现机制12.1工作流的组成部分12.1.1单据类型(Item Type)12.1.2活动(Activity)12.1.3流程(Process)12.1.4消息(Message)22.1.5函数(Function)22.1.6通知(Notification)22.1.
2、7查找类型(Lookup Type)23工作流的定义23.1创建流程定义23.1.1从下往上定义23.1.2从上往下定义33.1.3打开保存单据类型33.2定义工作流组件43.2.1单据类型(Item Type)43.2.2查找类型(Lookup Type)83.2.3消息(Message)93.2.4活动(Activities)113.3定义一个流程图143.3.1增加一个节点153.3.2定义一个节点153.3.3定义活动属性值164在应用中调用工作流171 简介1.1 目的This section describes the purposes to be achieved by usin
3、g this document. The objects of implementing the process/procedure should be listed as bullet items. New bullet item could be inserted where it is necessary. 说明Oracle ERP里工作流的原理 在Oracle ERP里定义并定制工作流1.2 范围This section describes the scope that this document applied to.Oracle ERP里工作流引擎的实现原理以及如何利用Workfl
4、ow Builder定义一个流程,以及在程序里调用已经定义好的流程保证业务根据流转规则流转。1.3 如何得到这篇文档Give the information on where to get this document, e.g. URL and/or ID of this document in a document management system.该文档主要供兴竹公司开发部内部交流使用。2 工作流实现机制2.1 工作流的组成部分工作流的流程主要由以下组件(Component)构成:单据类型、流程、活动、函数、消息、通知和查找类型。单据类型是一种分类对象,其它的对象都属于一个单据类型。2.
5、1.1 单据类型(Item Type)企业的业务有很多类别,同一种业务对应有不同的业务流程,同时在业务流转的过程中处理不同的业务信息。单据类型其实就相当于一个业务类型。单据类型属性主要是定义业务信息,另外还包含一些在其它对象需要引用的信息,例如通知里的接收人就可以作为单据类型的属性。单据类型的另外一项功能就是对工作流程进行分类 ,所有工作流里的其它对象都属于一个单据类型。2.1.2 活动(Activity)活动是工作流程中的一个执行单元。活动有自己的结果类型,在运行时活动的实例会返回一个结果,工作流引擎会根据活动实例的返回结果决定业务流程如何流转。活动有三种类型:通知、流程和函数。另外还有一种
6、类型“文件夹(Folder)”,文件类型主要是对活动进行分组,目前还不知道具体如何使用。2.1.3 流程(Process)流程就是业务流程的流转规则。流程包括两部分:流程里包含的活动和各个活动在不同条件下的流转关系。在定义流程的时候,因为流程里的活动可能有不同的返回结果,我们需要把不同结果的处理活动和结果联系起来,另外在Oracle ERP里还定义了一些标准的返回结果(例如超时),你在定义流程的时候,也可以对这些内嵌的返回结果进行处理。在流程实例流转的时候,流程里的活动有自己相应的状态,工作流引擎得到活动的状态改变信息或活动返回结果之后,按照你定义的流程流转规则控制流程的流转。流程必须属于一个
7、单据类型。流程定义里有一个标志属性“是否可运行标志”,如果一个流程是可运行的,则可以在窗体上可以直接调用,否则该流程只能作为一个子流程包含在其它的流程里面,工作流引擎在碰到流程活动的时候,会自动激活子流程,让子流程流转。2.1.4 消息(Message)消息主要是为通知服务的,可以把消息当作通知的内容和类型。消息也属于一个单据类型,通知只能和同一个单据类型里的消息相关联。每个消息可以有一个或多个属性和自己相联系,消息的属性既可以是独立的属性,也可以是对单据类型属性的一个引用。在消息体内可以对消息的属性进行引用,这样在流程的实例里,如果已经对消息的属性赋值,则在引用消息属性的地方会自动的用消息属
8、性的值替换。我们就可以在消息体内显示必要的信息。你可以对一个消息定义自动流转规则,这样在工作流的实例里,当流转到和该消息对应的通知活动的时候,工作流引擎就会根据用户定义的自动流转规则自动向下流转,用户就不需要参与了。2.1.5 函数(Function)函数就是一个可以自动执行的活动,该活动可以完成一定的功能,函数活动通常和一个PL/SQL存储过程或者一个Oracle内部的过程联系在一起,在定义函数活动的时候必须定义该函数对应的过程名称。函数类型的活动有自己的参数定义,函数活动的参数主要是为对应的过程服务的。在运行的时候通过给函数活动的参数赋值,经过相应的处理之后,工作流引擎就会把函数活动的参数
9、值传给相应的过程,这样就能保证函数的正确执行。如果对应的过程没有参数的话,可以不定义参数。2.1.6 通知(Notification)通知活动对一个人或一个角色发送一个通知,通知必须和一个消息联系在一起。通知活动有自己的结果类型,返回的结果一般是根据用户的交互产生的,除非你在消息里定义了自动流转规则。2.1.7 查找类型(Lookup Type)查找类型是你定义的一些枚举数据,单据类型里的查找类型主要用来表达活动结果返回值类型,另外也可以在定义单据类型属性、活动属性、消息和消息属性时引用查找类型,一个查找类型有自己相应的值列表,在引用查找类型的时候,你只需要定义查找类型就可以了,和查找类型相关
10、的值会自动过去的。3 工作流的定义工作流是使用Workflow Builder工具设计的。在使用Workflow Builder设计工作流之前,你应该计划好需要完成哪些流程以及流程里发生的活动、活动的顺序、需要哪些结果表达不同的分支以及流程里需要通知的人和通知的内容。工作流的定义可以采用两种方式:从下往上或者从上往下。从上往下的方式首先从一个高层次流程开始设计,首先画出包含活动的流程图,然后再创建支持这些活动的对象。从下往上的方式是一个比较程序化的设计方式,你首先定义支持活动的所有对象,然后再尝试画出流程图。3.1 创建流程定义3.1.1 从下往上定义 启动Oracle Workflow Bu
11、ilder; 选择FileNew菜单为流程定义创建一个新的Workspace; 创建一个新的单据类型(Item Type) 你可以定义单据类型属性来完全描述你的单据类型,或者定义需要在活动里需要引用的信息; 创建新的查找类型(Lookup Type):在定义活动之前,你应该先定义表示活动结果的查找类型,活动结果是活动完成时可能返回值的一个列表。在定义完活动和查找类型之后,你可以从浏览树上把一个查找类型拖拽到一个活动上来指定一个活动的结果类型; 创建新的消息(Message):如果你希望为你的流程定义一个通知活动,你首先需要定义一个你希望通知活动发送的消息,你可以在浏览树里把一个消息拖拽到一个通
12、知上来指定活动的通知类型。你也可以为消息定义属性,消息的属性有两种类型:“Send”类型的属性用来生成动态内容,“Response”类型提醒接收者进行响应。 创建一个新的流程活动、通知活动或函数活动,你也可以使用在标准单据类型里定义的标准活动。你至少需要定义一个流程活动来表达你的流程图,流程图建立了流程里所有活动的关系。 画流程图:显示流程活动的流程窗口,并画出工作流程里的活动以及活动之间的转移关系。你可以从浏览树里直接把活动拖拽到流程图里。 选择“FileSave”或“FileSave As”保存你的工作 在数据库里创建函数活动调用得PL/SQL存储过程3.1.2 从上往下定义 启动Orac
13、le Workflow Builder 使用快速启动向导为你的流程定义建立一个框架,指定新单据类型和流程活动所需要的信息。 在流程窗口里会出现一个开始节点和结束节点,你可以在开始节点和结束节点之间增加流程需要的活动 在流程图里画出活动之间的流转关系 保存你的工作3.1.3 打开保存单据类型所有的流程都是和单据类型联系在一起的,一个单据类型下面可以有多个流程。你可以把单据类型定义保存到一个数据库或一个文件,当你保存单据类型时,所有和单据类型联系的对象页同时保存。同样,你也可以从数据库或文件里访问单据类型,并把和单据类型相关的对象在Oracle Workflow Builder里显示。3.1.3.
14、1 访问保存的流程定义 启动Oracle Workflow Builder,并选择“FileOpen”; 选择保存工作流程定义的类型:文件或数据库 打开一个文件是可以输入该文件的完整路径和文件名,并选择Ok按钮,或者使用浏览按钮来定位文件; 打开数据库连接的话,输入用户名和口令,并输入数据库别名或连接字符串并单击OK按钮; 如果同时有多个单据类型存在的话,显示单据类型窗口就会出现,从隐藏列表里选择一个 如果你想查看或修改隐藏的的单据类型,你可以从浏览树上从双击隐藏单据类型来选择; 当你完成工作之后,选择“FileSave”菜单,保存你的修改信息。3.1.3.2 保存修改信息 在Oracle W
15、orkflow Builder 里选择“FileSave”命令保存你的修改,并使修改立即生效。当你使用保存命令的时候,在当前的数据存储里保存了所有对象的修改信息,如果只想保存一个特定的单据类型,你需要创建一个新的数据存储,并把这个单据类型复制到新的数据存储里保存。 如果你想把单据类型存放到另外一个数据存储,或者想保存和当前系统不同的另外一个生效的数据,你可以使用“FileSave as”命令 注意,当你保存你的工作的时候,Oracle Workflow会自动验证流程定义里无效或缺失的信息,并把它显示出来,你可以修改根据提示的信息修改错误也可以先保存等有时间的时候再修改。如果你没有改正错误就保存
16、,那么在你重新打开的时候,Oracle Workflow Builder还会报错 选择“FileClose Store”关闭和数据存储的连接 推出Oracle Workflow Builder。3.2 定义工作流组件工作流的组件主要包括单据类型、查找类型、消息、活动、属性和角色;下面将分别介绍如何定义它们。3.2.1 单据类型(Item Type)一个单据类型是对组成工作流程的组件的分类,你必须把你定义的流程组件(例如函数活动、消息等)和单据类型联系起来。可以这样理解,但据类型定义了流程管理的单据信息,例如采购订单申请可以定义为一个单据类型,它包含有一个唯一的订单Id号和一个申请数量。单据类型
17、属性是和单据类型联系在一起的,它通常充当一个全局变量,可以被流程里的活动引用或者修改。单据类型属性包含流程完成所必需的单据信息。对于活动需要引用的信息或者通知消息里包含的信息,你通常需要定义一个单据类型属性。属性具有9种类型,下面给出每种类型的说明: Text:属性的值是一个字符串文本; Number:属性的值是一个数字,你可以为数字类型的属性定义一个格式掩码; Date:属性的值是一个日期类型,你也可以为日期类型的属性定义一个格式掩码; Lookup:属性的值是一个查找类型的代码; Form:属性的值是一个Oracle应用的内部窗体函数名称以及函数的参数;如果你在通知消息里包括了一个窗体类型
18、的属性,在查看通知的时候,会显示一个窗体附件的图标,可以让用户浏览到相应的页面。 URL:属性的值是一个网络的URL地址,如果你在通知活动里包含了一个URL引用属性,在查看通知的时候,会有一个指向URL的标识,用户可以完成活动也可以访问URL地址或的额外的信息。 Document:属性的值是一个附件文档,你可以在默认值里指定文档的类型:PL/SQL文档,通过存储过程把数据库里的信息以文档的方式表达;DM文档,一个被外部文档管理系统管理的文档。 Role:属性的值是一个角色的内部名称,如果在一个通知里包含了一个角色类型的属性,则该属性会自动解释为角色的显示名称,省去了在内部名称和外部名称之间维护
19、的工作。为了给角色类型的属性赋一个默认值,你必须首先从数据库里装载角色。 Attribute:属性类型的值是对单据类型的引用,Persistence Type:当你定义一个单据类型时,你必须指定它的Persistence Type,它主要是控制单据类型实例的状态审核追踪的保存时间,如果你把持续类型设置为Permanent,则运行时的状态信息会一直保存,除非你调用WF_Purge.Totalperm()过程清除;如果你把持续类型设置为Temporary,你必须指定持续的天数,临时持续类型的单据类型实例在完成之后至少保存你指定的持续天数,在n天过后,你可以调用任何一个WF_Purge的API清除单
20、据类型的运行时信息。Selector Function:如果你的单据类型有或者将有多个可运行的流程活动,定义一个PL/SQL函数决定在一个特殊的条件下运行哪一个流程活动。你也可以扩展这个选择函数为一个回调函数,这样在流程执行的过程中,如果会话信息中断的话,可以恢复单据类型实例的上下文信息。当你从通知详细页面上去查看一个页面属性时特别有用3.2.1.1 创建一个单据类型 如果你没有打开一个data store,从File里选择New菜单创建一个新的Data Store,然后从Edit菜单里选择New Item Type在浏览树里定义一个新的单据类型,此时单据类型的属性页会出现; 每一个单据类型有
21、一个大写的内部名称,最多8个字符,所有的工作流API、PL/SQL过程,SQL脚本在识别单据类型的时候都引用单据类型的内部名称。在内部名称里不能包括“:”和“/”; 输入一个翻译性的名字,该名字是一个长一些的描述性名称,你也可以为单据类型输入一段摘要信息; 指定单据类型的持续类型,如果你为单据类型指定了一个临时类型,指定在单据类型实例结束之后状态审核记录必须保存的时间; 如果单据类型有多个或会有多个流程和它联系在一起,你需要为单据类型指定一个选择函数,选择函数的语法是.。选择函数是一个PL/SQL存储过程,它自动标识工作流引擎应该执行的那个流程; 选择“Apply”保存你的修改; 选择“Rol
22、es”页规定能访问单据类型的角色(这个功能会在将来的发行版本支持); 选择“Access”页规定单据类型的访问和定制级别; 选择“Apply”保存你的修改; 在浏览树里会出现一个二级分支来表示你刚创建的单据类型,你可以在浏览树里双击单据类型浏览或修改单据类型的属性; 定义尽可能多的单据类型属性作为全局变量,这样在流程活动里就可以引用这些单据类型属性。3.2.1.2 定义一个单据类型或活动属性 从浏览树里选择一个单据类型,然后从“Edit”选择“New Attribute”可以创建一个单据类型属性从浏览树里选择一个活动,然后从“Edit”选择“New Attribute”可以创建一个活动属性在两
23、种情况下都会出现属性定义页 输入一个大写的内部名称; 输入一个显示名称,该名称会出现在浏览树里; 你可以输入一段描述摘要信息; 选择属性的数据类型,在定义活动属性的时候,没有Form,URL,Document属性类型; 根据你选择的属性类型,为属性指定默认值信息; 对单据类型属性来说,可选的默认值是一个你输入或从列表中选择的常量,不过,这个常量可以是一个在运行时替换的字符串;对活动属性来说,默认值可以是一个常量或者一个单据类型属性; 选择“Apply”保存你的修改,选择“Ok”保存你的修改并推出属性页面,“Cancel”取消你的修改并推出属性页面; 如果你在定义一个单据类型属性,选择“Acce
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OracleERP 开发 流程 简介 8004
限制150内