Workflow_工作流的基本概念(概念)

简介: 2014-06-01 Created By BaoXinjian 1. Workflow Builder的默认访问级别是100,以下是Oracle对访问级别的一个大致分类: 0-9 Oracle Workflow  10-19 Oracle Application Object Librar...

2014-06-01 Created By BaoXinjian

1. Workflow Builder的默认访问级别是100,以下是Oracle对访问级别的一个大致分类:


0-9 Oracle Workflow 
10-19 Oracle Application Object Library
20-99 Oracle Application Development
100-999 Customer Organization
1000 Public


2. Oracle 工作流对象通过不同的选项和访问级别来实现对象的保护


 

3. Workflow 安装


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一切正常

 

4. 刚接触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的时候都会提示,只要认真看都能解决

 

5.对各个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,他们都有返回值,不同的结果走不同的流程,由此组成一个符合业务需要的图表

 

6. 由Engine管理、不需要我们操心的东西


1、消息发送;我们只管定义,由于可以用HTML写Message的Body,可以定义得很漂亮

2、流程选择;我们只管按不同的返回结果画图,Engine会根据我们函数的返回值调用下一个activity

3、用户选择;我们可以修改wf_roles、wf_users、wf_user_roles这三个视图,使之包含我们业务系统的用户即可

 

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'; --64

(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'; --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

 

9. 没有收到Notification


1. 程序错误,没有设置正确的Notification Performer

2. 如果是PO,可能没跑Fill Employee Hierarchy

3. 一个Employee分配给了多个User,那么其实只有第一个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中的一些默认Button


#HIDE_REASSIGN,可以隐藏标准的Reassign按钮

#HIDE_MOREINFO,可以隐藏标准的Request Information按钮

 

13. Workflow的Activity的节点的七个状态


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

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
2月前
|
人工智能 测试技术 人机交互
深入浅出智能工作流(Agentic Workflow)|技术干货
著名AI学者、斯坦福大学教授吴恩达提出AI Agent的四种设计方式后,Agentic Workflow(智能体工作流)在全球范围内迅速走红,多个行业纷纷实践其应用,并推动了新的Agentic AI探索热潮。吴恩达总结了Agent设计的四种模式:自我反思、工具调用、规划设计及多智能体协作。前两者较普及,后两者则为智能体使用模式从单一大模型向多智能体协同配合完成业务流程的转变奠定了基础。
338 3
|
6月前
|
XML 消息中间件 监控
工作流 jbpm概述
工作流 jbpm概述
88 0
01activiti - 工作流概念
01activiti - 工作流概念
52 0
|
XML 存储 大数据
工作流调度--概念产生背景 | 学习笔记
快速学习 工作流调度--概念产生背景
161 0
工作流调度--概念产生背景 | 学习笔记
|
SQL 存储 缓存
BPMN工作流的基本概念!详解工作流框架Activiti
本文介绍了工作流的基本概念,对工作流中的相关术语,例如工作流引擎,BPM,BPMN以及流对象进行说明。着重介绍了当下非常流行的工作流框架Activiti,重点介绍了工作流框架Activiti的服务结构,工作流组件,流程虚拟机PVM以及工作流框架的架构和使用特点。通过这篇文章,可以对工作流有一个基本的认识,为后续工作流框架Activiti的学习打下坚实的基础。
1049 0
BPMN工作流的基本概念!详解工作流框架Activiti
|
XML Java Unix
不了解工作流框架 Activiti 中的流程事件?这篇工作流流程元素详解,带你详细分析工作流流程执行过程中的各种事件
本文介绍了工作流Activiti框架中BPMN结构中各种事件。主要包括定时器事件,错误事件,信号事件,消息事件,开始事件,结束事件,边界事件,中间捕获事件以及内部触发事件。通过对BPMN中各种事件的学习了解,可以帮助我们在项目中更加方便地对工作流中各种处理流程进行应用,极大提高了项目的开发效能。
1051 0
不了解工作流框架 Activiti 中的流程事件?这篇工作流流程元素详解,带你详细分析工作流流程执行过程中的各种事件