Workflow_工作流的基本概念(概念)
2014-06-01 Created By BaoXinjian
的默认访问级别是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 工作流对象通过不同的选项和访问级别来实现对象的保护
安装
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一切正常
刚接触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的时候都会提示,只要认真看都能解决
对各个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,他们都有返回值,不同的结果走不同的流程,由此组成一个符合业务需要的图表
由Engine管理、不需要我们操心的东西
1、消息发送;我们只管定义,由于可以用HTML写Message的Body,可以定义得很漂亮
2、流程选择;我们只管按不同的返回结果画图,Engine会根据我们函数的返回值调用下一个activity
3、用户选择;我们可以修改wf_roles、wf_users、wf_user_roles这三个视图,使之包含我们业务系统的用户即可
常用表
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,用户和角色关系视图,工作流可以根据它进行“群发”
签合层级
(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
没有收到Notification
1. 程序错误,没有设置正确的Notification Performer
2. 如果是PO,可能没跑Fill Employee Hierarchy
3. 一个Employee分配给了多个User,那么其实只有第一个User收到了消息
4. 数据还没有同步到Workflow,即没跑Synchronize Workflow LOCAL tables
的类型
的必须建立
对于程序来说ID是关键的,来源于各个表如FND_USER或者HR_EMPLOYEES;
对于Workflow来说Name是关键的,来源于表WF_ROLES;
对于最终User来说,Display
Name是关键的,来源于表WF_ROLES;
隐藏Notification中的一些默认Button
#HIDE_REASSIGN,可以隐藏标准的Reassign按钮
#HIDE_MOREINFO,可以隐藏标准的Request
Information按钮
的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
Workflow_工作流的基本概念(概念)的更多相关文章
- Workflow_工作流的基本元素(概念)
2014-05-31 Created By BaoXinjian
- Airflow Python工作流引擎的重要概念介绍
Airflow Python工作流引擎的重要概念介绍 - watermelonbig的专栏 - CSDN博客https://blog.csdn.net/watermelonbig/article/de ...
- Workflow_工作流发送Document和Form链接的实现(案例)
2014-06-01 Created By BaoXinjian
- 工作流学习——重要概念扫盲篇一步曲 (zhuan)
http://blog.csdn.net/zwk626542417/article/details/46592471 ***************************************** ...
- JBPM——工作流概念
一.概念 工作流(Workflow),就是"业务过程的部分或总体在计算机应用环境下的自己主动化",它主要解决的是"使在多个參与者之间依照某种提前定义的规 ...
- ccflow关于流程引擎的父子流程的基本概念
关键字:驰骋BPM jflow,ccflow, 驰骋工作流引擎 父子流程概念:在管理活动中,通用的部分,公用的部分,可以被重复执行的部分的流程管理活动我们把他独立出来,成为子流程,可以被其他流程的管理 ...
- .NET Remoting学习笔记(一)概念
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 背景 自接触编程以来,一直听过这个名词Remotin ...
- 4.事务提交过程,交易的基本概念,Oracle交易周期,保存点savepoint,数据库的隔离级别
事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功.要么都失败 事务的隔离性:多个client同一时候操作数据库的时候.要隔离它们的操作, 否则出现:脏读 不可反 ...
- 【转载】.NET Remoting学习笔记(一)概念
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 背景 自接触编程以来,一直听过这个名词Remotin ...
随机推荐
- 【软引用】弱引用 图片的加载与缓存 OOM
在java.lang.ref包中提供了几个类:SoftReference类.WeakReference类和PhantomReference类,它们分别代表软引用.弱引用和虚引用. ReferenceQ ...
- 怎么才能成为一名PHP专家?
本文作者Bruno Skvorc是一名资深的Web开发者.在这篇文章里主要是讲述成为一名专业的PHP专家所要经历的过程,以及在这个过程里要如何学习掌握技巧和对工具的舍取.(以下为编译内容) 当阅读各种 ...
- C#异常处理及心得
C sharp中的异常用于处理系统级和应用程序级的错误状态,它是一种结构化.统一的类型安全的处理机制.c#的异常 机制非常类似于c++的异常处理机制,但是还是有一些重要的区别: 1,在 C# 中,所有 ...
- Android之批量加载图片OOM问题解决方案
一.OOM问题出现的场景和原因 一个好的app总少不了精美的图片,所以Android开发中图片的加载总是避免不了的,而在加载图片过程中,如果处理不当则会出现OOM的问题.那么如何彻底解决这个问题呢?本 ...
- 手把手教你Android手机与BLE终端通信--连接,发送和接收数据
假设你还没有看上一篇 手把手教你Android手机与BLE终端通信--搜索,你就先看看吧,由于这一篇要接着讲搜索到蓝牙后的连接.和连接后的发送和接收数据. 评论里有非常多人问假设一条信息特别长,怎么不 ...
- ftp-ftp权限
在服务器上创建ftp站点时勾选的是读写权限对所有的用户开放,但是发现有些用户还是只能读取不能写入,后来发现是因为ftp指向的文件夹本身的权限没有打开导致的,解决办法是,设置ftp指向的文件夹的权限为u ...
- jmeter-The JVM should have exitted but did not
修改 jmeterengine.force.system.exit=true
- Firefox 之 应用小结
1. 调试脚本 做前端开发的朋友应该对FireFox再熟悉不过了,FireFox有一个附加组件FireBug.在HTML中可以直接写 <script type="tex ...
- xhEditor在线编辑器使用实例
使用xhEditor的最大好处就是不用去处理烦人的HTML标签问题,研究了一天,记录备用 前台HTML: <%@ Page Language="C#" AutoEventWi ...
- [转]自定义Drawable实现灵动的红鲤鱼动画(上篇)
此篇中的小鱼动画是模仿国外一个大牛做的flash动画,第一眼就爱上它了,简约灵动又不失美学,于是抽空试着尝试了一下,如下是我用Android实现的效果图: 小鱼儿 由于整个绘制分析过程比较繁琐所以 ...