深入浅出Oracle EBS 11i Doc Ref:
February 21, 2006
需要分区的表和索引为:目录服务表、WF_ITEM_ACTIVITY_STATUSES及索引、WF_ITEM_ACTIVITY_STATUSES_H及索引、WF_ITEM_ATTRIBUTE_VALUES及索引、WWF_ITEMS及索引。以WF_ITEM_ATTRIBUTE_VALUES为例,它保留的是工作流实例的各个属性值,华为在Purge之后这个表仍然有7000万条记录,Export这个表要37个小时。
以下SQL用来查看分区情况:
SELECT t.owner, t.table_name, t.partitioned FROM all_tables t
WHERE t.table_name LIKE 'WF%' ORDER BY t.partitioned
3.3. Application Layer
Directory Service
在System Administrator下,跑Synchronize Workflow LOCAL tables即可。该请求集建议计划运行。
如果我们加了个fnd user,但没跑这个同步程序(可能是还没到计划时间),那么Workflow并不知道有这个用户存在,这就导致为什么有“我跑过了Fill Employee Hierarchy,为什么通知还是没发到XXX”的问题。实际上,对于通知没发到XXX的问题,有如下原因:
1. 程序错误,没有设置正确的Notification Performer 2. 如果是PO,可能没跑Fill Employee Hierarchy
3. 一个Employee分配给了多个User,那么其实只有第一个User收到了消息 4. 数据还没有同步到Workflow,即没跑Synchronize Workflow LOCAL tables Background Engines
Workflow Background Process请求用来处理Timeount、Defer、Stuck的工作流;通常情况下我们需要分别为处理超时、阻塞、挂起各Schedule一个Workflow Background Process。
如果我们Schedule了该请求,但有时候等不及,也可手工提交;下面的例子是最常见的处理销售订单行Defer的请求:
系统安装与维护
File Ref: 2433376.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Workflow Configuration 33 of 44
深入浅出Oracle EBS 11i Doc Ref:
February 21, 2006
3.4. System Layer
Global Preferences
定义Workflow全局参数。仅需关注两个参数。
Workflow System Administrator默认是sysadmin,说明只有sysadmin可以查看、管理任何workflow和实例;*表示任何人都可以。
Notification Style,默认是Do not send me mail,说明通知只能通过登录EBS后查看,不能通过Email。
N: SYS/Workflow/Global Preferences
参考SQL: SELECT * FROM wf_resources WHERE NAME = 'WF_ADMIN_ROLE'。参考设置:
Parameter Workflow System Administrator Notification Style Value * HTML mail 系统安装与维护
File Ref: 2433376.doc (v. DRAFT 1A )
Company Confidential - For internal use only
Workflow Configuration 34 of 44
深入浅出Oracle EBS 11i Doc Ref:
February 21, 2006
WF_RESOUCE环境变量
WF_RESOURCE环境变量用于存储指向Workflow资源文件,EBS的资源文件为%FND_TOP%/%APPLRSC%/wf
3.5. Notification Mailer
系统安装与维护
File Ref: 2433376.doc (v. DRAFT 1A )
目前,Oracle Workflow支持SMTP协议(默认端口是25)处理出站消息、IMAP4协议(默认端口是143)处理进站消息,这也是Oracle Workflow对Mail服务器的要求。可以使用Microsoft Exchange作为Mail服务器,简单点,我们使用Imail。
IMAP4是Oracle Workflow Server对Mail Server的要求,对于用户,其客户端可以使用不支持IMAP4的Foxmail。 Imail设置
1. 按照默认选项安装Imail
2. 启动Imail的服务:SMTP/IMAP/Queue Manager/POP3
3. 创建Notification Mailer需要的用户,假定是wfmail;另外再建一个测试账号huajhua
4. 用邮件客户端(文档说必须,所以我用Imail自带的Client)给wfmail创建三个目录:INBOX、PROCESS、DISCARD
进入Workflow的配置管理界面
1. 进入OAM,需要有System Administrator职责:
2. Navigate to Worflow Manager
3. 进入Service Components管理界面
Workflow Configuration 35 of 44
Company Confidential - For internal use only
深入浅出Oracle EBS 11i Doc Ref:
系统安装与维护
File Ref: 2433376.doc (v. DRAFT 1A )
February 21, 2006
启动两个Container服务
从Container选择Workflow Mailer Service,进入该容器服务控制界面。然后先后启动Workflow Mailer Service和Workflow Agent Listener Service。
* 这两个玩意儿其实是Concurrent Manager的两个Adminster。启动这两个服务后,到系统中去看,这两个Administer也起来了。
回到Service Components管理界面,发现需要的服务只有Workflow Notification Mailer由于没有配置过而没有起来。
配置Workflow Notification Mailer
选择Workflow Notification Mailer,点击下面的Edit按钮,有8个步骤,跳过1、5、6。
Workflow Configuration 36 of 44
Company Confidential - For internal use only
深入浅出Oracle EBS 11i Doc Ref:
系统安装与维护
File Ref: 2433376.doc (v. DRAFT 1A )
February 21, 2006
参考设置:
Parameter Value 说明 Inbound Thread Count 0 0表示没有Inbound消息,这样就不要求Mail服务器支持IMAP4 Inbound EMail Account Server Name huajhua 邮件服务器 User Name wfmail 用户名 Password wfmail 密码 Outbound EMail Account Server Name huajhua 邮件服务器 User Name wfmail 用户名 Test Address test@huajhua Send Reply-to Address wfmail@huajhua 第7步是测试,一定要从LOV里面选一个角色,Oracle会按照这个角色的“Notification Style”给前面设置的Test Address发一个通知,请记住ID号。
测试角色有两个要求:emali地址(随意)、mail类型的Notification Style。否则mail无法正确发到Test Address。
第8步完成后,回到Service Components管理界面,发现Workflow Notification Mailer也起来了。 测试
用客户端收test@huajhua的信,看ID号就可以知道是第7步测试步骤发来的;最直接就是在Imail的管理器里面看相应用户的邮箱是否有东西。
Workflow Configuration 37 of 44
Company Confidential - For internal use only