Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

Contact Us

Oracle Workflows - All Articles
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

Search Courses

User Rating: 4 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Inactive
 

In this article, I would like to extend upon the existing Workflow Tutorials. Oracle Apps is moving towards Oracle Fusion in which systems will be raising Events that will get actioned via a service. Lets understand this in plain English and plain PL/SQL.



What is an event in Oracle Workflows?

Event is nothing but a business activity that takes place in your system.

Some of the examples for event are  :-

    Purchase Order is approved

    A TCA record is end-dated  

    An employee in HRMS gets terminated



What is an Event Subscription?

When an activity[or say event] occurs, you may want to do some additional processing by means of calling a Workflow or by executing some PL/SQL or by sending a message to some third party. Such a workflow or a PL/SQL is called subscription.

For example, terminating an employee is an event and also sending an email to that person indicating their termination.... is a subscription. This subscription is either a workflow or a pl/sql or message etc.



Can one Workflow Event have more than one Subscriptions?

Indeed. You can attach as many subscriptions to a workflow event.



If termination of an employee has 4 subscriptions attached, then termination screen performance can suffer [Does event subscription not make the processing slow]?

Each subscription can be either made to run asap[called real-time] or in deferred mode[or call it background mode]. This is controlled by means of a field called Phase Code.



Which example will we undertake in this article?

a. We will create a table

b. Define an event.

c  Raise that event....in other words invoke that event.

c. Subscription of the event will insert records into that table



What are the steps to have a simplest possible event-subscription?

Step 1. Create table xx_event_result  ( x_user_id INTEGER, x_user_name VARCHAR2(100) ) ;

Step 2. Define an Event named xx.oracle.apps.test01

Step 3. Create a pl/sql function xx_test_event_01 that will be executed when the event is raised.

    All that this pl/sql function will do is to create a record in table xx_event_result

Step 4. Attach pl/sql function named xx_test_event_01 [of step 3] to event xx.oracle.apps.test01 [of step 3].

This attachment will be done via event subscriptions screen

5. Raise the event passing parameters named xx_user_id  and xx_user_name.

6. Check if the record has now been inserted in the table xx_event_result .

All the executable code is being highlighted in this colour




Now, lets do these steps in details with step by step with screenshots

1.CREATE TABLE xx_event_result  ( x_user_id INTEGER, x_user_name VARCHAR2(100) ) ;

2. Define an Event named xx.oracle.apps.test01

This can be done via Workflow Administrator screen. Navigate to that screen and click on Business Events.

 

 

Define an Event in the Event Definition screen. The name of this event is xx.oracle.apps.test01

 

 

Now create an  event subscription, by clicking on Subscription button, Enter Source Type =Local

System will be the name of your Database/Environment Instance.

Note: For this example change the Phase to 99   

 

Changing the phase code to between 1 and 99 will make our pl/sql function to get executed immediately, in real-time.

 

3. Create a pl/sql function xx_test_event_01 that will be executed when the event is raised.

All that this pl/sql will do is to create a record in table xx_event_result.

When invoking the event, two parameters namely user_id and user_name will be passed. It is the value of these parameters that will be inserted into the tables.

CREATE OR REPLACE FUNCTION xx_test_event_01(

     p_subscription_guid IN RAW

          ,p_event                IN OUT NOCOPY wf_event_t)

  RETURN VARCHAR2 IS

  l_user_name VARCHAR2(100);

  l_user_id   INTEGER;

BEGIN

--read the parameters values passed to this event

  l_user_id   := p_event.getvalueforparameter('XX_TEST_USER_ID');

  l_user_name := p_event.getvalueforparameter('XX_TEST_USER_NAME');

  INSERT INTO xx_event_result

    (x_user_id

    ,x_user_name)

  VALUES

    (l_user_id

    ,l_user_name);

  COMMIT;

  RETURN 'SUCCESS';

END xx_test_event_01;

/



Note: In the above pl/sql we are reading two parameters using API getvalueforparameter.

Also note that our subscribing function xx_test_event_01 has two input  parameters type RAW and type wf_event_t

 

4. Attach the procedure xx_handle_event_01 to event xx.oracle.apps.test01

This is done via subscriptions screen

 

5. Raise the event passing in parameters named xx_user_id  and xx_user_name.

DECLARE

  x_event_parameter_list wf_parameter_list_t;

  x_user_id                    INTEGER := 99999;

  x_user_name               VARCHAR2(100) := 'ANILPASSI';

  x_param                     wf_parameter_t;

  x_event_name             VARCHAR2(100) := 'xx.oracle.apps.test01';

  x_event_key               VARCHAR2(100) := 'ANIL_0001';

  x_parameter_index       NUMBER := 0;

BEGIN

  x_event_parameter_list := wf_parameter_list_t();

  --Lets add the first value to the Event Parameter i.e. user_id

  x_param := wf_parameter_t(NULL

                           ,NULL);

  x_event_parameter_list.EXTEND;

  x_param.setname('XX_TEST_USER_ID');

  x_param.setvalue(x_user_id);

  x_parameter_index := x_parameter_index + 1;

  x_event_parameter_list(x_parameter_index) := x_param;

  --Lets add the second value to the Event Parameter i.e. User Name

  x_param := wf_parameter_t(NULL

                           ,NULL);

  x_event_parameter_list.EXTEND;

  x_param.setname('XX_TEST_USER_NAME');

  x_param.setvalue(x_user_name);

  x_parameter_index := x_parameter_index + 1;

  x_event_parameter_list(x_parameter_index) := x_param;

  wf_event.RAISE(p_event_name => x_event_name

                ,p_event_key  => x_event_key

                ,p_parameters => x_event_parameter_list

             /*,p_event_data   =>  p_data*/

                );

END;

/

 

The above wf_event.raise will execute pl/sql function xx_test_event_01.

This will insert a record into table xx_event_result as seen in below step.

 

6. We can now see that a record has now been inserted in the table.

 

 


Anil Passi

Comments   

0 #1 balkrishna 2006-12-29 00:00
i have read all the articles on workflow
now i have problem
1)
when isend notification to manager to his personal email ,
i need approval from that email
how i can achive it
if u have any note on it please tell me i am finding this on metalink .if possible please provide the training


i want approval for leave or may be termination
iam now customize HR workflow
so guide me

regards
mu kesh
Quote
0 #2 balkrishna 2006-12-29 00:00
i have read all the articles on workflow
now i have problem
1)
when isend notification to manager to his personal email ,
i need approval from that email
how i can achive it
if u have any note on it please tell me i am finding this on metalink .if possible please provide the training


i want approval for leave or may be termination
iam now customize HR workflow
so guide me

regards
mu kesh
Quote
0 #3 Holli 2007-01-09 00:00
Great info here! I was wondering if there is there a master list of all Oracle seeded Business Events that we can tie custom code into?

Thanks !
Holli
Quote
0 #4 Anil Passi 2007-01-09 00:00
.
.
.
Hi Holli

You can get the list from this link.
http://www.google.com/search?q=site:apps2fusion.com+list-of-business-events-in-11.5.10

Thanks
Anil Passi
Quote
0 #5 Holli 2007-01-09 00:00
Great info here! I was wondering if there is there a master list of all Oracle seeded Business Events that we can tie custom code into?

Thanks !
Holli
Quote
0 #6 Anil Passi 2007-01-09 00:00
.
.
.
Hi Holli

You can get the list from this link.
http://www.google.com/search?q=site:apps2fusion.com+list-of-business-events-in-11.5.10

Thanks
Anil Passi
Quote
0 #7 Yasir 2007-02-08 00:00
Hi Anil,

I have question on the business event tut,in case we have business event oracle.apps.xx, how can I know the underlying PL/SQL for it which will help me know how to use the workflow.

~y asir
Quote
0 #8 Bala 2007-02-27 00:00
Hi Anil,

I understood that business events are raised in the application when some activity happens in the system. But in this lesson the event you have created is not related to any activity.

I have a problem here. I need to start a workflow when invoices are imported into AP table. Now that I know how create a business event , how do I relate this event to invoice import so that event is raised whenever invoices are imported.

Al so I tried to create an event. I takes any name. Why it should be in the format xx.oracle.apps. test01.?

You r help is appreciated

Thanks
Quote
0 #9 Anil Passi 2007-03-01 00:00
hi bala

in answer to your other question, you can raise the event as soon as invoice gets imported.

af ter your import process has completed, you can loop through the invoices just not interfaced, and raise the event.

In case you desire an event for invoice approval, then you may leverage the std oracle event.

oracl e.apps.ap.event .invoice.approv al
oracle.apps .ap.inv.invoice .recv

thanks
anil
Quote
0 #10 Anil Passi 2007-03-14 00:00
Hi Bala

It is not a good practice to create database triggers in Oracle, however you may consider raiseing the event from DB Trigger on AP_INVOICES_ALL , after insert. But never write any processing logic within the trigger itself.

Whil e raising event, make invoiice_id the eventkey itself.

Than ks,
Quote
0 #11 Anil Passi 2007-04-20 00:00
Hi Senthil

Plea se try from some other PC.
The images are rendering through all 3 browsers that I tried. Something possibly to do with your browser settings.

TH anks
Anil
Quote
0 #12 Sharmila Mahapatra 2007-05-14 00:00
Hi Anil,

Incase i want to use a seeded business event,for eg. Irecruitment has seeded business event which is raised whenever an applicant is created.

I have created a subnscription for this business event. But how do i know/find out which parameters are passed in this business event[as it is seeded one] so that i can use this api p_event.getvalu eforparameter to get the value for the parameter.

R egards,
Sharmi la.
Quote
0 #13 Anil Passi 2007-05-14 00:00
Hi Sharmila,

Yo u will need to either read through documentation or you need to search the PL/SQL or the Java Code from where your event is raised.

For example, if your event name is oracle.apps.per .irc.api.party. registered_user _application
t hen it is being called from irc_party_be3.
If you open that package, you will notice that various parameters like person_id, vacancy_id, applicant_numbe r etc are being passed in.

Thanks,
Anil passi
Quote
0 #14 suman 2007-06-08 00:00
hi Anil,
i have one issue in FYI Notification.
i want to send FYI notification after a concurrent program execution.
for that i have created a FYI notification and it is also working.
But i want to attache a URL attribute in that Notification . So that whenever i will click on the URL it will show the output file of concurrent program which is present on server.
please help me.
Quote
0 #15 chan 2007-07-13 19:10
I am unable to see the create event button on the business event, is there any profile option required to setup?
Quote
0 #16 Anil Passi 2007-07-13 19:38
Hi Chan

If you are on a dev environment, run the below

select text from wf_resources where name = 'WF_ADMIN_ROLE' ;

update wf_resources set text = '*' where name = 'WF_ADMIN_ROLE' ;

commit;


Th anks,
Anil Passi
Quote
0 #17 chan 2007-07-13 20:32
Hi Anil,
Thanks,
W here can I find the detail documentation on the Business Events?
Quote
0 #18 Anil Passi 2007-07-14 05:10
Hi Chan

You will need to visit the respective product module user guide.

However , I find it quicker to search the all_source to find out the circumstances in which the specific events are raised, and looking at source code you can precisely know the parameters passed to the events

Thanks
Anil
Quote
0 #19 kavita 2007-08-14 00:14
Hi Anil,

How do I determine the application user that fired a business event if i want the notification to be sent to the applicant?

I have enabled the following business event and created a subscription:
oracle.apps.pe r.irc.api.party .registered_use r_application
The event launches a simple workflow which sends an acknowledgement notification.

I want the workflow to send a notification to the applications user that fired the event.

Please advise how to achieve this.

I can set up the event and subscription successfully if I hard code the performer to SYSADMIN.

Than ks,
Kavita
Quote
0 #20 Upanishad Mehta 2007-08-14 01:48
Dear Anil,
You are really the PRIDE of India for maintaining such an informatory/tra ining helpful site.
Thanks for this job and it has really helped us.
Now i have a question for you - please help us.
There is standard event in Oracle Apps 11.5.10 something like oracle.apps.... .DQM.realtimesy nc. we need to call a custom procedure whenever this event is raised. we have custom subscription to this event calling a PL/SQL procedure. i need to pass user_id to this custom procedure. How do i pass this to this custom procedure - how do i do this? How do i know the parameters for this standard event?
Thanks for y our help,
Regards,
Upanishad
Quote
0 #21 Upanishad Mehta 2007-08-14 18:46
I am trying to create a subscription to a standard event oracle.apps.fnd .umf.reg.user_a pproved and call a PL/SQL procedure from it.
when i test it using the test icon given in the business event screen it is calling the PL/SQL procedure and inserting into the table. but when i do it through the core application and create an isupplier user, it does not invoke the PL/SQL procedure. can you please help us out on this one?
Thanks,
Me hta.
Quote
0 #22 Anil Passi 2007-08-20 22:12
Hi Mehta

If the value of PHASE in business event is lower than 99, then it implies that business event subscription will be executed in the same session from where it was raised.
Hence, for the purpose of testing ensure that phase is 99 [if possible]

Next , bounce the Workflow Deferred Listener Queue.
After that, re-raise the business event and run SQL below

SELECT a.user_data.eve nt_name event, a.msg_state status, a.*
FROM applsys.aq$wf_d eferred a
WHERE a.user_data.eve nt_name = ''
AND enq_time > SYSDATE - .5
ORDER BY 1, 2;

This SQL will tell you the status of queue for that event

Thanks,
Anil passi
Quote
0 #23 Disha1 2007-09-06 06:56
Hi Anil,

In the example that you have showed. How are you raising this event? 5th point that you have mentioned, is it the procedure where we will pass parameters (x_user_id, x_user_name)?

Do we only need to pass these 2 parameters...

Please help me with my doubts...

Than ks...
Disha
Quote
0 #24 Disha1 2007-09-06 07:03
Hi Anil,

In the example that you have showed. How are you raising this event? 5th point that you have mentioned, is it the procedure where we will pass parameters (x_user_id, x_user_name)? Is it the procedure xx_handle_event _01?

Do we only need to pass these 2 parameters...

Further addition to my doubt, what is the procedure xx_handle_event _01 and how do we attach it to the event. Is it the generate function that we specify in the create event screen?

I have checked the subscriptions screen, didn't find a place where i can attach the procedure xx_handle_event _01.

Please advice... It will be a great help...

Thanks ,
Disha
Quote
0 #25 Shyam 2007-09-27 08:29
Hi Anil,

U have done a great job. It was easy for me to create and subcribe for the event using this guide.

My requirement is to invoke an ESB from the event which routes the event data to BPEL.
I m using a Java rule function for the subscription,
" oracle.apps.fnd .wf.bes.WebServ iceInvokerSubsc ription(SERVICE _WSDL_URL,SERVI CE_NAME,SERVICE _PORTTYPE,SERVI CE_OPERATION,SE RVICE_PORT)"
Th e event is getting raised but it is not invoking the ESB. I dont know how to trace the flow of the event and y it is not invoking ESB.


Also, I m sending an XML content as event data. The ESB is routing a schema element of type string to BPEL.Now the XML content from event should be mapped to the schema element of ESB. I dont know how to do it.

Can u pls guide me.

Thanks,
Sh yam
Quote
0 #26 Aly Harbi 2007-10-01 21:35
Hi Anill

In HRMS I need to get approval before re-hiring an Ex-Employee,
so If i created such a custome business event how to make it fire when the user press button save in the Person form ?
Quote
0 #27 gopi123 2007-11-29 00:48
Hello Anil,
There was a urgent business requirement in my present project.
Requir ement:-
When ever the user tries to change the project status='CLOSED' in 'Oracle Projects', a procedure should be triggred for any open Sales or purchase orders against the project. If any such open orders then a warning message should popup to user -> With YES/NO buttons if he choose YES the status should be allowed to change. If he choose NO then the status should not change.
Problem :-
I was unable to find the trigger event, so that i could place the logic.
Thing is that when we select the status to change, the form is automatically commiting itself.Because there was a trigger 'WHEN-BUTTON-PR ESSED' at item level in base form to saying
forms_dd l('commit')
Can u plz suggest the best method to achieve this requirement? it is very urgent.
Quote
0 #28 Anil Passi 2007-11-29 05:58
Hi Gopi123

Please try to use Forms Personalization to trap WHEN-VALIDATE-R ECORD event.
Alternat ely, you can see the other set of triggers that can be trapped.



Thanks,
Anil
Quote
0 #29 gopi123 2007-11-29 14:07
Thanks Anil,
Actually i tried it before, but i was unable to meet my requirement. Anyway i will once again give a try and get back to you

Thanks
Quote
0 #30 gopi123 2007-11-29 21:42
Hi Anil,
Thanks for the inputs provided by you yesterday.
I tried the solution, suggested by u. Think is that i could not find any trigger firing between the update and commit of the status. The only trigger which is fired is 'WHEN-NEW-ITEM- INSTANCE' that to after commiting the new status at the base table.
This is because at form level, where the item is defined there is a trigger 'WHEN-BUTTON-PR ESSED' in that - commit command is there.
So due to this when ever we do any changes to that particular 'button'-the result is the new status commited at the back end.
Responsibi lity:-6010 PA Create and maintain projects transactions
Fo rm:- PAXPREPR
Blockn ame:- PROJECT_FOLDER
-There here any other way to handle it than changing the code at base form
Item:- CHG_STATUS
Quote
0 #31 Anil Passi 2007-11-29 23:26
Hi Gopi

If there is no supporting trigger, and if there is not standard business event, and also if there is no API hook, then you can try below [not ideal]
1. Create a trigger on that table on update for each row, when status changes
2. from here raise a business event
3. the scubscription to busincess event should have phase lower than 100
4. do your checks in pl/sql subscription and raise application error.

This approach is preferable to merely typing all logic inside trigger itself.
A slighly non-user friends ORA-20001 will be seen by the user on the screen. This will also force the rollback given that this will be an unhandled exception.

Tha nks,
Anil Passi
Quote
0 #32 gopi123 2007-12-01 13:53
Hello Anil,
Thanks a lot with the inputs provided.
Yes, i tried it with one of the Orcale public(sp. for client extension) API and completed the job with a mix of form personalization .
Here little part is pending....i.e. when the user wants to go ahead and close the status. Status need to be changed to 'Hard Close'-this we had done using a procedure call. Which is been affecting basetable.
-> Little problem there is.....the same is not reflected back at front end immediately.
if we close the form and reopen the same then the new status is reflected.
is there any commmand from form personalization to refresh the form and get the result immediately, after base table is affected.
--> if this is solved - then the component is 100% to go.

Please help me to complete 100%.
Thanks,
Gopi
Quote
0 #33 Anil Passi 2007-12-01 14:18
Hi Gopi,

I am pleased to hear your progress.
All that remains now is that you execute query, this again can be done using forms personalization . Please see image below



Thanks,
Anil Passi
Quote
0 #34 gopi123 2007-12-02 02:11
Hello Anil,
Thanks again for your valuable help and guidance.
I tried with the 'Execute Query', but the problem is, it is not quering for the particular block. But quering for all the remaining blocks of the form.
Because this form is associated with 3 blocks.
Anil, this is the only part pending....rema ning functionality ... it is perfect.
Quote
0 #35 Anil Passi 2007-12-02 06:18
Before Executing the query on that block, you first need to navigate to that specific block. You can try these steps manually first
1. Navigate to the block in question after saving data
2. Enter Query on that block
3. Execute Query on that block
You will notice only one block gets refreshed. The same should be the case when this is done programatically .

Thanks
Anil
Quote
0 #36 gopi123 2007-12-02 13:42
Hi Anil,
Once again, Thanks for ur valuable guidance.
Anil i had manually quered -> the problem is i was unable to query that single block...the whole blocks gets affected.
Thank s,
Gopi
Quote
0 #37 Manish Saxena 2007-12-02 14:35
Hi Anil,

We have enabled the standard business event 'oracle.apps.pe r.api.assignmen t.terminate_apl _asg' and also enabled a subscription for a custom PL/SQL. The phase for subscription is 8 (hence it should be run synchronously). But the custom code never fires.

I suspect the seeded business events are not being raised ? Is there any way to find out whether the seeded business events are being raised or not ?

Do we need to implicitly raise the seeded business event using wf_event.raise ?

Thanks in advance for your help.

Regards
Manish
Quote
0 #38 Anil Passi 2007-12-02 16:48
Hi Manish,

The event should be raised from the application itself.
Please use below SQL to find out if the desired event is being raised

SELECT a.msg_state
,a.user_data.ev ent_name
,to_char(a.user _data.send_date , 'DD-MON-YYYY HH24:MI:SS') send_date
,COUNT(*)
FROM applsys.aq$wf_d eferred a
WHERE a.user_data.eve nt_name = 'oracle.apps.pe r.api.assignmen t.terminate_apl _asg'
-- AND a.user_data.sen d_date > SYSDATE -1
GROUP BY a.msg_state, a.user_data.eve nt_name, a.user_data.sen d_date
ORDER BY 1, 2

Using this SQL, if you discover that event is not being raised, then feel free to raise SR with Oracle.

oracle .apps.per.api.a ssignment.termi nate_apl_asg is a standard event, hence ideally, there should be no need to raise that event from custom code.

Thanks,
Anil Passi
Quote
0 #39 gopi123 2007-12-02 21:44
Hi Anil,
Once again, Thanks for ur valuable guidance.
Anil i had manually quered -> the problem is i was unable to query that single block...the whole blocks gets affected.
But in standard functionality i.e. changing to 'Approved','Pen ding Review'...etc. that particular block only gets refreshed and other block stays the same.
Anil, this is only thing pending. If this is 100% requirement will be completed.
Than ks,
Gopi
Quote
0 #40 gopi123 2007-12-07 23:53
Hi Anil,
According to me i think individual record can be quered again(refreshed ) by using
set_recor d_property...bu t i need your help to figure out how to use this property in form personalization .
If this works...it will be of great use.
Thanks
Quote
0 #41 Khwaja Hassan 2007-12-15 17:41
Hi Anil,
Nice article.
I have a small doubt. If I want to invoke a business event from a user hook in the Oracle HR API, how will I pass the parameter to it.
Were can I find the list of parameters for the standard Business APIs like oracle.apps.per .api.assignment .terminate_apl_ asg.

Regards,
Khwaja
Quote
0 #42 Gopis 2008-02-14 04:06
Hi Anil,
For one of our project requirement is to customize the standard COGS account generation.
So, in order to meet the requirement we had designed a new process and attached the same to OEXWFCOG.wft.
Doudt,we had attached a new custom process in the standard item type (i.e.OEXWFCOG.w ft).
But we had not made changes to existing process or functions.
Will there be any problem in future if Oracle applies any patches for existing workflow ?

Regards,
Gop is
Quote
0 #43 Pradeep_B 2008-02-20 14:53
Hi Anil,
Hope you are doing fine. It was really a nice article for beginners like me. I have a doubt in this. How will i retrieve the values of parameters passed in a Raise event procedure, when the subscription type is a Workflow and not a PL/SQL function. I want to pass values from the database trigger to the event and from the event to my workflow process which gets fired when the event is raised.

Please help..
Thanx in advance.
Pradee p
Quote
0 #44 James Bernard 2008-03-03 02:56
Hi Anil,
I am new to workflow and I need some help in sending notifications based on xmlposent event in Purchasing.
I want to call a custom package which would get my required information based on PO number and org_id
I know that this event has PO number and org_id parameters. But I am confused as how to pass these two parameters to my custom package for the event/event_key using subscriptions.

Thanks,
Venkat
Quote
0 #45 James Bernard 2008-03-04 22:11
Hi Anil,
I am trying to send custom message based on “oracle.a pps.po.event.xm lposent” event.
If xmlposent then send notification to preparer, else send notification to group.
Steps I followed
1.Crea ted a custom message in “PO XML” workflow.
2.Att ached custom attributes (preparer, requisition, requisition description, vendor, buyer, preparerâ€℠¢s email, group email)
3.Develo ped a function, which would get po_header_id from event attributes and get the custom attributes information.
4. Attached this function as event subscription(ph ase = 1).
5.Output= it is setting the values for custom attributes for itemtype/itemke y.
6.Created another event subscription(ph ase= 101) to send notification. Here I’m attaching the custom message defined in step1
7.Output = it is sending notification to the role but with out the custom attribute values.
8.I noticed that item_attribute_ values are being set but not he notification_at tributes.
Could you please tell me if I’m missing something here? Is there any better approach?


Tha nks,
Venkat.
Quote
0 #46 Rajesh M 2008-03-19 23:00
Hi Anil,

I am new to Worflow. But I found your tutorials using these screenshots, very helpful(especia lly for newbies). Thanks a lot for your great work.
Quote
0 #47 Ashok Gunasekaran 2008-04-23 11:00
Hi,

I have a BPEL Process, which contains an AQ Adapter lisening to a Custom Queue Table. Whenever a Business Event in Oracle R12 is triggered, the custom queue is populated with a record/payload and my BPEL process gets triggered.

The clarification i need is, Instead of using a custom queue table, is there any Queue is avaliable in Business Event side or Oracle BPEL side which will invoke the BPEL Process on triggering the business event.

Regards

Ashok G
Quote
0 #48 Anil Passi- 2008-04-23 11:04
Hi Ashok

You do not need to create a custom Queue.
You should simply use an Oracle Apps Adapter and select an existing Business Event from R12

jDeveloper will create a BPEL queue & desired subscription for you automatically.

Perhaps I will write a detailed article on this soon.

Thanks
A nil
Quote
0 #49 Vikram Subramanyam 2008-04-23 15:06
Hi ,

I have this weird issue where, in the OM screen, the system gets updated worngly as "Last Updated By: personxxx, lastxxx".
This person does not even have the OM responsibility to even touch that order.

Is this any kind of workflow issues? Have you or anyone ever heard of such happenings?

th anks.
Quote
0 #50 ajdjjd4 2008-10-17 15:58
Hi Anil,

Your site is a great resource.

I am creating a simple Business Event Subscription w/ a PL/SQL Rule Function in my 11.5.10.CU2/10g R2 E-Business Suite environment. My custom code simply inserts a record into a custom table. When I setup the Subscription to run synchronously (i.e. Phase < 100), the PL/SQL function executes and a record is inserted into my custom table. When I setup the Subscription to run in a deferred manner (i.e. Phase >= 100), no record is inserted into my custom table.

The Service Component "Workflow Deferred Agent Listener" is running. A close inspection of the WF_DEFERRED queue tables reveal that the message/entry is being processed (I can see the status change from READY to PROCESSED), but the PL/SQL function is never executed.

I would prefer to setup the Subscription to be deferred in order not to degrade performance of the user's session that triggers the business process. What am I missing?

Thank s,

Jeff
Quote
0 #51 Suresh V 2009-04-29 17:20
Hi Anil,

My requirement is to launch a Workflow Approval process after creating a Debit Memo in AR.
(1) Thanks to your WF tutorial, I know how to invoke this custom workflow (from PLSQL) from a database trigger on the AR TRX table. Is this a good practise?
(2) Instead, can I use the pre-defined business event "oracle.apps.ar .transaction.De bitMemo.incompl ete" to invoke my customer WF? If the only thing I need is to start my workflow, should I define an Receive Event Activity in my customer WF?
(3) Going thru the instructions in this article WF-4, I tried to use action type "Launch Workflow" for event subscription, but the WF doesnt seem to have been invoked, cant find it in Status Monitor, is it because I didnt define the Receive Event Activity?

Thx in advance, Suresh
Quote
0 #52 Shalini Jain 2010-02-01 13:28
Hi Anil,

Thanks for the wonderful knowledge hub!
Please help resolve one of my query.

In R12, we have Customer standard screen under receivables responsibility. In this screen I am attaching details of external bank accounts for a customer.
Now, I want to know that as soon as I click on apply button , is there any business event which is being raised? i.e. is there any standard business event which is associated with that page? What are the steps that we need to follow to get these details.
Second ly, If a BE is raised then how to know the name of that business event? What is the table where details of the event being raised is logged.

I am very new to Oracle Apps hence these queries. Please resolve my doubts or point me to the link where you might have already answered these questions...

M any Thanks,
shalini
Quote
0 #53 Sudha 2010-08-23 23:09
Hi Anil,

Just saw the business event lessions and tried creating a new event and a subscription, it works as expected. Then I enabled a
seeded business event 'oracle.apps.pe r.api.applicant .create_applica nt' and attached the custom subscription to the event. When I create a new applicant, the event is not triggered. What might be the reason? Help me. Thanks.

Regard s

Sudha
Quote
0 #54 Sowmya 2010-10-14 16:09
I did the above steps.... without missing anything....But still my Business Event is not getting raised?
Data is not getting inserted into my table.

Can you please tell any options which i can try to debug it?

Thanks in Advance.
Quote
0 #55 Prasanthi 2014-08-27 14:49
Hi Anil,

There is an urgent business event in my project i.e.,
Business event (oracle.apps.ws h.line.gen.rele asedtowarehouse ) is raising twice if we have two delivery detail lines status is chnaged to 'Released to Warehouse'. So that 2 records are entering into queue table so that SOA guys can call my API by passing this delivery detail id parameter. But my API (extracting the information based on delivery id) has to be run only once instead of twice as two records are there in queue. Please let me know asap that Can we restrict to insert only one record in the queue table.
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Jun 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
   1  2  3  4  5  6
  7  8  910111213
14151617181920
21222324252627
282930    

Enquire For Training

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner