[?]workflow的问题,一个FYI的notification,是发给requestor的,现在追加一个接收人怎

[复制链接]
查看11 | 回复9 | 2018-12-26 10:01:29 | 显示全部楼层 |阅读模式
我修改一个workflow的notificatin,原来这个notification是发给requestor的,现在要追加一个接收人,即requestor的向上两级主管,这个人我用plsql function可以找到,可是就是不知道怎么修改notificaton来实现:
notification已经在 node 分页里面的 performer 已经设定为 requestor了,怎么样同时发给两个呢?



回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
没做过,帮不了你.


回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
最初由 Harry_shan 发布
[B]没做过,帮不了你.

[/B]

anyway
thanks !


upon


回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
Performer设成一个 Role,然后所有要收到notification的用户都属于这个role就可以了
回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
最初由 xiari 发布
[B]Performer设成一个 Role,然后所有要收到notification的用户都属于这个role就可以了 [/B]

xiari讲的有道理,
问题是系统中没有这样的一个role,因为这样的role的成员必须是动态的,就是说对于不同的transaction来说,它的成员就有可能不同。
我办法通过自己plsql pkg来临时的造出这样的role来实现吗?
谢谢。
回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
to_xiari
不懂哦,能不能举个例子啊
我用的是API来调用notification

v_notif_id:= wf_notification.send(

role => p_role_name,

msg_type => p_item_type,

msg_name => p_message_name

);
这时候我会给role付值,但是像多个role的话,需要如何设置呢?
回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
to_xiari
不懂哦,能不能举个例子啊
我用的是API来调用notification

v_notif_id:= wf_notification.send(

role => p_role_name,

msg_type => p_item_type,

msg_name => p_message_name

);
这时候我会给role付值,但是像多个role的话,需要如何设置呢?
或者这种API是不可以定义多个Performer为同一个role的呢?
回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
最初由 aradin 发布
[B]to_xiari
不懂哦,能不能举个例子啊
我用的是API来调用notification

v_notif_id:= wf_notification.send(

role => p_role_name,

msg_type => p_item_type,

msg_name => p_message_name

);
这时候我会给role付值,但是像多个role的话,需要如何设置呢? [/B]

小伙好帅,
例子里你只是给手动传入一个role而已,
在wf里面 role来自外部系统。比如erp的一个fnd_user可以是一个role,employee也可以一个role.这两个都是single,CRM resource group也可以是role,当然这个就是group型的了。
回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
最初由 io0deli 发布
[B]我修改一个workflow的notificatin,原来这个notification是发给requestor的,现在要追加一个接收人,即requestor的向上两级主管,这个人我用plsql function可以找到,可是就是不知道怎么修改notificaton来实现:
notification已经在 node 分页里面的 performer 已经设定为 requestor了,怎么样同时发给两个呢?


[/B]

从你上面的描述来看,通知另外两个用户只是让用户知道相关通知信息就行。
并不需要对通知作任何回应!否则可以设置层次关系来满足。
既然这样,你可以参考 aradin 的方法在你的PROCEDURE中发送通知:
for rec insend_to_cursor loop
send_noti(user_name => rec.user_name,

itemtype=> 'xxx',

msg_name => 'xxxx' ) ;
end loop;
procedure send_noti(
user_name varchar2,
itemtype varchar2,
msg_name varchar2 ) is
l_notification_id number;
begin
l_notification_id := wf_notification.send (
role =>user_name,
msg_type => itemtype,
msg_name => msg_name);

end;
回复

使用道具 举报

千问 | 2018-12-26 10:01:29 | 显示全部楼层
1: 建立一个role: ROLE_NAME
WF_DIRECTORY.CreateAdHocRole
( l_role,
l_role_disp,
'AMERICAN',
'AMERICA',
'ROLE_NAME,
'MAILHTML',
null,
null,
null,
'ACTIVE',
sysdate + 1000
);
2: 把所有要收到notification的人的user_name加到l_role_user这个字符串里,以空格分开,然后
wf_directory.AddUsersToAdHocRole(l_role,l_role_user);
3:设置performer属性
wf_engine.SetItemAttrText(itemtype
=> itemtype,

itemkey
=> itemkey,

aname
=> 'ATTRIBUTE_NAME',

avalue => 'ROLE_NAME');
4:各位清楚不?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行