Here are steps/events for Oracle Workflow Notification Outbound Processing(eMail from Oracle Applications Workflow to Users)
1.When workflow Engine determines that a notification message must be sent, it raises an event in BES (Business Event System) oracle.apps.wf.notifications.send
Event is raised with Notification ID (NID) as event key
2. There is seeded subscription to this Event
3. Event is placed on WF_DEFERRED agent
4.Event is dequeued from WF_DEFERRED and subscription is processed
5. Subscription places event message to WF_NOTIFICATION_OUT agent.
6.Notification Mailer dequeues message from WF_NOTIFICATION_OUT agent and
6.1convert XML representation of notification into MIME encoded message (Multi-purpose Internet Mail Extensions) and
6.2 Send message by SMTP (Simple Mail Transfer Protocol) to intended user (If Test Address/Override Address is set then email is sent to Test Address
E-Mail Notification is sent if all below conditions are true
a) Notification status is OPEN or CANCELED and
b) Notification mail_status is MAIL or INVALID and
c) Recipient Role has a valid e-mail address and Notification Preference is in the format MAIL%
d) Workflow Deferred Agent Listener is running
e) Workflow Notification Mailer is running
To check a) & b) run below query
SELECT status, mail_status FROM wf_notifications WHERE notification_id = ‘&NID’;
mail_status >> SENT means mail has gone out of mailer to user
To check c) run below query
SELECT email_address, nvl(WF_PREF.get_pref(name, ‘MAILTYPE’),notification_preference)
FROM wf_roles
WHERE name = upper(’&recipient_role’);
To check d) & e) Use OAM (Oracle Application Manager)
.
Reference
Workflow Administrator Guide (Page 73-75)
How to troubleshoot outbound Workflow Notification Mailer Issues in Oracle E-Business Suite 11i/R12 coming soon …
Related Posts for Workflow
- Oracle Workflow Notification Mailer
- Workflow Notification Mailer Setup in Oracle Apps R12/12i
- Oracle Workflow Notification Mailer Outbound Processing
Popularity: 17% [?]



Good hands-on exercises (installation, patching, cloning), very experienced trainer worth for Money 
3 users commented in " Oracle Workflow Notification Mailer Outbound Processing "
Follow-up comment rss or Leave a TrackbackHi Atul,
Thanks for Nice Post. I want to share the following things, which I noticed.
I recently Configured Oracle Workflow Notification Mailer in 11.5.10.2 Instance. I noticed one thing that, Recently we applied RUP5 Patch to present 11.5.10.2 Instance. Once We Applied RUP5, We are not receiving Oracle Alerts Mails. Finally I got it from RUP5 features and found that, Before RUP4, Oracle Alert was using Unix Send Mail to send Oracle Alerts. From RUP4, Workflow Notification Mailer needs to be configured for the same purose.
According to your above procedure, Oracle Alerts directly Enques into WF_NOTIFICATION_OUT table and deques it from there and send the relevant mail to users.
I noticed this one regarding Alerts. If we are not getting mails in time, we better to rebuild the wf_notification_out table using $FND_TOP\patch\115\sql\wfntfqup.sql script, this one we need to run this script with the help of Oracle Support.
We need to schedule the “Purge Obsolete Workflow Run time data” Program to purge obsolete workflow data.
Thanks again for nice post Atul.
hi all,
when am doing perl adcfgclone.pl dbTier
that time error was occured
please help me very urgent…………
ERROR:
RC-40201: Unable to connect to Database YTEN.
StackTrace:
java.lang.Exception: Cannot connect to database using DBUtil
at oracle.apps.ad.clone.ApplyDatabase
.checkDBConnection(ApplyDatabase.java:3382)
at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:524)
at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:328)
at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:304)
at oracle.apps.ad.clone.ApplyDBTier.(ApplyDBTier.java:154)
at java.lang.reflect.Constructor.newInstance(Native Method)
at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
at java.lang.Thread.run(Thread.java:479)
DEBUG: checkDBConnection out()
Executing runInstallDriver…
Started unzipping files…
UNZIP used: UnZip 5.51 of 22 May 2004, by Info-ZIP. Maintained by C. Spieler. Send
Verifying correctness of adcrdbclone.sql
Instantiating /test/yten/r02/oracle/ytendb/9.2.0/appsutil/template/adcrdbclone.sql to /test/yten/r02/oracle/ytendb/9.2.0/appsutil/install/YTEN_ebs/adcrdbclone.sql
Clustered Database: false
instantiate file:
source : /test/yten/r02/oracle/ytendb/9.
2.0/appsutil/template/adcrdbclone.sql
dest : /test/yten/r02/oracle/ytendb/9
.2.0/appsutil/install/YTEN_ebs/adcrdbclone.sql.bak
AC-00439: Creation of file /test/yten/r02/oracle/
ytendb/9.2.0/appsutil/install/YTEN_ebs/adcrdbclone.sql.bak failed
Raised by oracle.apps.ad.autoconfig.InstantiateFile
instantiate file:
source : /test/yten/r02/oracle/ytendb/9.2.0/a
ppsutil/install/YTEN_ebs/adcrdbclone.sql.bak
dest : /test/yten/r02/oracle/ytendb/9.2.0/ap
psutil/install/YTEN_ebs/adcrdbclone.sql
DEBUG : The destination file does not have write permission /tmp/adcrdbclone.sql
DEBUG : Changing the permission of the file failed
AC-00444: Unable to write to file: java.io.FileNotFoundException:
/test/yten/r02/oracle/ytendb/9.2.0/appsutil/instal
l/YTEN_ebs/adcrdbclone.sql.bak (No such file or directory)
Raised by oracle.apps.ad.autoconfig.InstantiateFile
setting permissions: /tmp/adcrdbclone.sql a+r
AC-00425: Setting permissions failed for file: /tmp/adcrdbclone.sql
Raised by oracle.apps.ad.autoconfig.InstantiateFile
AC-50401: Command: su root -c “cp
/tmp/adcrdbclone.sql /test/yten/r02/oracle/ytendb
/9.2.0/appsutil/install/YTEN_ebs/adcrdbclone.sql” failed
Raised by oracle.apps.ad.autoconfig.InstantiateFile
AC-00439: Creation of file /test/yten/r02/oracle/ytendb/9.2.
0/appsutil/install/YTEN_ebs/adcrdbclone.sql failed
Raised by oracle.apps.ad.autoconfig.InstantiateFile
StackTrace:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1591)
at oracle.apps.ad.util.SystemC
heck.setPermissions(SystemCheck.java:1250)
at oracle.apps.ad.clone.ApplyDatabas
e.runInstallDriver(ApplyDatabase.java:1001)
at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:580)
at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:328)
at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:304)
at oracle.apps.ad.clone.ApplyDBTier.(ApplyDBTier.java:154)
at java.lang.reflect.Constructor.newInstance(Native Method)
at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
at java.lang.Thread.run(Thread.java:479)
Thank you
lakshmi
Check these lines carefully …
DEBUG : The destination file does not have write permission /tmp/adcrdbclone.sql
setting permissions: /tmp/adcrdbclone.sql a+r
AC-00425: Setting permissions failed for file: /tmp/adcrdbclone.sql
AC-50401: Command: su root -c “cp
/tmp/adcrdbclone.sql /test/yten/r02/oracle/ytendb
/9.2.0/appsutil/install/YTEN_ebs/adcrdbclone.sql” failed
Raised by oracle.apps.ad.autoconfig.InstantiateFile
Which user you are using to run postclone ?
Check file permissions ?
Leave A Reply