It is a very common business need to send email notifications from Oracle Workflows.
By default the sender in these Workflow Notification emails is always picked from Workflow Global Configurations.
However in many cases, the clients demand that these workflow notification emails are sent from specific email addresses.
Effectively the sender of these notification emails must not be picked up from global workflow configurations.
For example, the sender of workflow email notifications from Learning Management Module could be This email address is being protected from spambots. You need JavaScript enabled to view it.
On similar lines, the "Sender and Reply to Address" for the email notifications sent from iRecruitment workflows could be This email address is being protected from spambots. You need JavaScript enabled to view it.
This feature is specially useful when you want the recepient of Email notifications to be able to reply to that notification email itself.
Therefore there is often a need to send notification emails in such a way that Sender/From Email address is specific to that workflow notification.
In this step by step demo, you will see a simple workflow that sends notification from a specific email account named "Anil Passi Testing".
The idea is to use the special Workflow attributes that can be attached to the Notification message.
If you do not implement this approach, then sender of the notification will be picked from the Workflow Global Preferences.
Steps for imlpementing this solution are
Step 1. Create a role for the Sender of Workflow Email Notification
This can be created dynamically if one does not exist, using an API named wf_directory.createadhocrole
Step 2. In your workflow, define 3 Attributes
Their names are
#FROM_ROLE
#WFM_FROM
#WFM_REPLYTO
See the sample workflow for how these attributes appear in WF Builder
Step 3. Open the workflow builder and attach these attributes to Workflow Notification Message, by dragging these attributes to the workflow message in workflow builder
Step 4. Set these WF Attributes programmatically in PL/SQL
wf_engine.setitemattrtext(itemtype => itemtype
,itemkey => itemkey
,aname => '#FROM_ROLE'
,avalue => 'Enter Name of the Sender Here');
wf_engine.setitemattrtext(itemtype => itemtype
,itemkey => itemkey
,aname => '#WFM_FROM'
,avalue => 'Enter Name of the Sender Here');
wf_engine.setitemattrtext(itemtype => itemtype
,itemkey => itemkey
,aname => '#WFM_REPLYTO'
,avalue => 'Enter the Senders Email Address Here');
In reality, you can set these WF Attributes to the desired values as per your logic
In this example, the email from workflow notification will look as shown below.
Notice that sender is specific to our business requirement.
To replicate this test case on your eBusiness Suite environment is two step process.
Step 1. Right click to Save this workflow on your file system. Then open this wft file in WF Builder and save to Database.
http://www.apps2fusion.com/training_demo/anilpassi/wf_override_sender/XXTEST.wft
Note- this workflow will send notification to SYSADMIN from desired email address.
Step 2. Run the below SQL to kick off this workflow and set the special attributes.
Within 3 minutes the email should be sent out by notification mailer.
DECLARE
l_itemkey VARCHAR2(100);
v_role_name VARCHAR2(100) := 'Anil Passi Testing';
v_role_email VARCHAR2(100) := This email address is being protected from spambots. You need JavaScript enabled to view it.';
n_count_role INTEGER := 0;
BEGIN
SELECT COUNT(*)
INTO n_count_role
FROM wf_local_roles
WHERE NAME = v_role_name;
IF n_count_role = 0
THEN
--If the sender does not exist in WF Local Roles, then create one on the fly
wf_directory.createadhocrole(role_name => v_role_name
,role_display_name => v_role_name
,role_description => v_role_name
,notification_preference => 'MAILHTML'
,email_address => v_role_email
,status => 'ACTIVE'
,expiration_date => NULL);
dbms_output.put_line('Ad Hoc Role Created');
ELSE
dbms_output.put_line('Ad Hoc Role Already Exists');
END IF;
SELECT oe_order_headers_s.NEXTVAL
INTO l_itemkey
FROM dual;
wf_engine.createprocess('XXTEST'
,l_itemkey
,'XXTEST');
wf_engine.setitemuserkey(itemtype => 'XXTEST'
,itemkey => l_itemkey
,userkey => l_itemkey);
wf_engine.setitemowner(itemtype => 'XXTEST'
,itemkey => l_itemkey
,owner => 'SYSADMIN');
--The three API calls in bold is what you need.
wf_engine.setitemattrtext(itemtype => 'XXTEST'
,itemkey => l_itemkey
,aname => '#FROM_ROLE'
,avalue => v_role_name);
wf_engine.setitemattrtext(itemtype => 'XXTEST'
,itemkey => l_itemkey
,aname => '#WFM_FROM'
,avalue => v_role_name);
wf_engine.setitemattrtext(itemtype => 'XXTEST'
,itemkey => l_itemkey
,aname => '#WFM_REPLYTO'
,avalue => v_role_email);
wf_engine.startprocess('XXTEST'
,l_itemkey);
COMMIT;
END;
/
To test your notifications, run this SQL
SELECT *
FROM wf_notifications
WHERE message_name = 'XX_TEST' AND message_type = 'XXTEST' ;
IMPORTANT- Given that our workflow in this demo will send notifications to SYSADMIN, ensure that SYSADMIN does have an email address associated.
This can be checked by running SQL as below
SELECT email_address FROM WF_LOCAL_ROLES WHERE NAME like 'SYSADMIN%';
The Workflow process used for this demo is a very simple workflow, as shown below
The attributes at workflow level are as shown below
Item Type : XXTEST
Internal Name : #WFM_FROM
Display Name : #WFM_FORM
Description :
Type : Role
XXTEST
Item Type : XXTEST
Internal Name : #WFM_REPLYTO
Display Name : #WFM_REPLYTO
Description :
Type : Text
XXTEST
Item Type : XXTEST
Internal Name : #FROM_ROLE
Display Name : #FROM_ROLE
Description :
Type : Role
Comments
rgds
Naoufel
While upload the http://www.apps2fusion.com/training_demo/anilpassi/wf_override_sender/XXTEST.wft workflow. I am getting below error. I am very new in Workflow
Please help me out. What i am doing the mistaken.
1602: Could not save.
1400: Could not save to database. MODE=UPLOAD EFFDATE=2009/02 /15 12:28:20
1404: Please first load this entity or check protect and custom level of ITEM_TYPE 'XXTEST'.
Tha nks
Venkat Reddy Pulichintha
Can we send a notification using just Business event subscription without using Oracle workflow ?
Thanks
Alternately send the notification using the PL/SQL API, as shown in URL below
apps2fusion.com/apps/workflows/219-open-source-in-oracle-apps-generic-workflow-notification-api
Thanks,
Anil Passi
I have found this site yesterday and I got the same error.
XXTEST process doesn't have and effective date that's why you got this error.
As well it open in Read-Only mode.
I have made the same process manually and it worked for me. It put the effective date.
Regards,
Jelena
I am getting the following error when trying to execute my custom workflow. Please advice.
1. Compiled the package in APPS schema.
2. Uplaoded the wft file.
3. Then tried to invoke the WF using the following code:
DECLARE
l_itemkey VARCHAR2(100);
v_role_name VARCHAR2(100) := 'SYSADMIN';
v_role_email VARCHAR2(100) := 'XXXX';
n_count_role INTEGER := 0;
BEGIN
SELECT xxitdcus.demand _seq_s.NEXTVAL
INTO l_itemkey
FROM dual;
wf_engine.creat eprocess('ITDDM DIN'
,l_itemkey
,'ITD_DEMAND_AP PROVAL');
wf_engine.setit emuserkey(itemt ype => 'ITDDMDIN'
,itemkey => l_itemkey
,userkey => l_itemkey);
wf_engine.setit emowner(itemtyp e => 'ITDDMDIN'
,itemkey => l_itemkey
,owner => 'SYSADMIN');
wf_engine.start process('ITDDMD IN'
,l_itemkey);
COMMIT;
END;
/
Error in Workflow ITDDMDIN/1006 ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'SET_STATUS_APP R'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Thank s & Regards,
Sreeni vasa
Can we send work flow notification from Alert?
When the approver clicks the "Approve" or "Reject" link, it will create an email addressed to the wf mailer. But the notification was not really approved or rejected upon checking its status.
Thank you very much!
workflow error messages are currently send to sysadmin email address. I want to change the sysadmin email address. can yo tell me where can i change the sysadmin email address.
thank s
CC
discoun t ugg boots ugg classic cardy ugg sale buy ugg boots
timberland boots timberland shoes discount timberland Classic Timberland
ugg store ugg boots online ugg sale discount ugg
cell phone audio electronics buy Mp4 Players Hair Straighteners
u gg boots online discount ugg boots cheap ugg new ugg boots
ed hardy store ed hardy caps ed hardy clothing ed hardy jeans
UGG boots ugg discount ugg boots sale ugg cardy
You are a life saver, your articles are very user friendly, appreciate the services you are giving for new comers to this horizon.
Coming to my question: I have the roles defined with an associated email, so i assume that i can skip the adhocrole portion of your code and use the rest, but can i use the same process to send the email to multiple ids how do i do that, and as the output that i want to send - comes from a sql , can i use a sql here?
Thanks,
Jyoti
wf_directory also has another API for adding users to a role. I request you check the API as I dont remember exact name of that API
Thanks,
AP
open source oracle workflow notifications
This should take you to the article that contains source code for download
Thank s,
Anil Passi
I want to send multiple records in a notification with a table format.How to do that . please help.
Somnath
Thank s you very much
Can any one help me on the requirement like
I want to send the wf notifications to a specific emial address which are not related to the oracle users
I have set the outlook express template using OAM,I want the approval notification to go to outlook express mail from where the approver can directly approve or reject,How it can be done?
christian audigier Short jeans
http://www.waytowholesales.com/product_list-Jordan-26-c___867.html
Payment: Paypal, Western Union, Money Gram, T/T.
Delivery time: 5-7 days
Accept Wholesale , Dropshipping, Retail Order. , the more quantity you order and the lower price you get .
For more new selection ,
Please check in : http://www.waytowholesale.com
I have faced the following error in the quality notification workflow. what could be the reason and how to debug?
Approval workflow failed due to the following error message
Error :E ; Cannot fetch xxx results - Unable to fetch the xxx details
please help
rgds
krsr asu
——————FROM:QL
I have added a custom sub process to the seeded "OM Order Header" workflow. The process sends a notification. There are a few attributes in the body of the message tied to this notification, to which I am trying to assign values to using the syntax:
SetItem AttrText (itemtype, itemkey, attrname, attrvalue).
I have the internal names for the item type and attribute name, but don't know how to get the value for the item key. I understand the item key is supposed to be unique for each item type and is automatically generated by the workflow engine when the work flow fires. Is there a built-in function or some means to get this value?
Regards,
Smita
I need to know to whom all the mails sent by workflow in a day.Please assist if you have any idea.
Thanks,
mamatha
the clown who was an awesome hit with the children.
This day couldn’t have gone any better than it did. I thank everyone who
www.ukchristianlouboutinuk.com showed up on Thursday night
to help put the rods and reel together at John’s. I also thank John Biel for the use of the back room for the
night.
I also thank everyone who helped the day of the event. It couldn’t have gone as well as it did with out all
of you that helped out. Many thanks to you all.
I don't know if you are still monitoring this, but here goes...I'm wondering if the #WFM_FROM attribute HAS to be set programmaticall y in order for this to work? After I added it to the notification, I changed it to the Preparer User Name, but the email is still coming to me from the Workflow Mailer address. Just wondering if that should have worked for me? Thanks!
But yes, programatic setting will 100% work.
Raise a SR if it doesnt work
In Oracle Hrms when am applying for a leave one manager receives a notification on approval while other manager is not receiving the same notification (if one employee is having two managers and one manager is getting notification and the other is not getting) for approval what can be done?
well, keep up the good work fellows.
My blog - Joel: https://www.ivisitredding.com/author/toastneck31/
visit this webpage on regular basis to take updated from
latest news.
Check out my page :: bachelor party: http://www.ikeanded.com/directory/listingdisplay.aspx?lid=75338
all on the topic of that.
My site: Acedirectory.or g: https://acedirectory.org/listing/bachelor-party-las-vegas-410799
RSS feed for comments to this post