Thursday Dec 03, 2015

Support of multiple e-mail addresses for a single user or role

In Oracle EBS 12.0 and 12.1 the Workflow notification system was not enabled to send e-mail notifications to users or roles who happened to have multiple e-mail addresses associated to them. For instance, if user JDOE had two e-mail addresses (jdoe@abc.com and jdoe@123.com) only one of them could be associated to the user for the Workflow notification mailer to send any e-mail notifications.

This limitation has been lifted in EBS 12.2.5 and now both users and roles can define multiple e-mail addresses as needed. This means that still a notification is intended for one recipient but the same notification will be sent to all associated e-mail addresses.

Note: The limit size of the table column holding the list of e-mail addresses is 320 so bear this limitation in mind. This should not be an issue as it is not common to see a single user with as many e-mail addresses so as to pass this limit. Consider the use of a role and multiple users associated to that role if this limit is still an issue.

Defining multiple e-mail addresses for a user or role

  • If the target role is an FND user then this setting takes place in the corresponding user definition form:



  • If the target is an ad-hoc role or ad-hoc user the assignment takes place when the user or role is being created. For instance:
     WF_DIRECTORY.CreateAdHocUser(name => 'ADHOC-USER',
                                  display_name => 'ADHOC-USER',
                                  notification_preference => 'MAILHTML',
                                  email_address => 'jdoe@abc.com, jdoe@123.com',
                                  expiration_date => SYSDATE+1);
  • If the user or role is created from code, the setting will look like:
     ...
       l_params wf_parameter_list_t;
     begin
       WF_EVENT.AddParameterToList('USER_NAME', 'JDOE', l_params);
       WF_EVENT.AddParameterToList('MAIL', 'jdoe@123.com, jdoe@abc.com', l_params);
       WF_LOCAL_SYNCH.propagate_user(p_orig_system => 'FND_USR',
                                     p_orig_system_id => 123435,
                                     p_attributes => l_params);

Notification action history

When the Notification Mailer receives the e-mail response the from e-mail address is compared against the list of addresses corresponding to the target of the notification recipient. If there is a match the responder is set to the value of the recipient. If no matches are found then one of two actions will happen:

  • If the Notification Mailer Parameter Allow Forwarded Response is set to Yes the responder of the notification is set to the value of the from e-mail address, or
  • If not, such e-mail response is treated as an unsolicited e-mail: the notification is not processed and a message is sent to the sender indicating so.

What happens with invalid addresses? 

In the event that a user or role was created using invalid e-mail addresses - subsequently causing the SMTP server to fail to deliver e-mail to them - the following takes place: 

  • If the notification is successfully delivered to at least one e-mail address mail status of the notification is set to SENT and the invalid addresses are added to the in-memory list of invalid addresses so that they are not attempted further on.
  • If all of them are invalid the notification mail status is set to FAILED and the user/role notification preference is set to DISABLED

In both cases a notification is sent to the user SYSADMIN indicating that a user/role contains invalid addresses and require fix.

About

This blog is dedicated to bring latest information on Oracle Workflow new features, best practices, troubleshooting techniques and important fixes directly from it's Development Team.

Search

Archives
« February 2016
SunMonTueWedThuFriSat
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
     
       
Today