Oracle Apps Techo-Functional

Thursday 21 July 2016

Create Custom Business Event & Subscription in Oracle EBS

Overview:

Function Usage:- capture the business event data like Item Key, Event data,etc ., and insert into staging table
Parameter Usage:- p_subscription_guid => From WF ,p_event => Event id from WF

Business Event is an occurrence of the business activity. Business events raise by oracle workflows or forms code or Pl/SQL code.

Next, need to create subscription. Subscription is an activity to be performed on occurrence of a business event.We can able to create more one subscriptions in the business event.
Below can through how to create business events following the steps
      •  Create a custom Business event
      •  Create a subscription to the event
      •  Raise the event  from PL/SQL or workflow
      •   Consume the event in PL/SQL 
Step 1:

Create a Business event

Navigate to Workflow Administrator Web Applications  responsibility -> Business Events -> create Event 











    Define / create the Name , display name ,etc ., all mandatory fields 



   Step 2:

    Next click -> create subscription 

     
   Enter the Mandatory fields and define Action type as “Custom” and system as “Connection Name”

   
    Step 3:

   Give the PL/SQL Rule function as  “xx_demobe_subscribe” ( package name.function or function name).  Then define as owner name & owner tag. Then click apply 




    Sample Script :

  CREATE OR REPLACE FUNCTION APPS.xx_demobe_subscribe (
   p_subscription_guid   IN            RAW,
   p_event               IN OUT NOCOPY WF_EVENT_T)
   RETURN VARCHAR2
IS
   l_errm   VARCHAR2 (200);
BEGIN
   INSERT INTO xx_temp_for_demo (msg)
           VALUES (
                        'Event '
                     || p_event.getEventName ()
                     || ' . '
                     || TO_CHAR (SYSDATE,'RRRRMMDD HH24:MI:SS')
                     || ' . '
                     || 'Event Key=>'
                     || p_event.geteventkey ());
Return 'SUCCESS';
EXCEPTION
   WHEN OTHERS
   THEN

      l_errm := SUBSTR (SQLERRM, 1, 1500);

      INSERT INTO xx_temp_for_demo (msg)
              VALUES (
                           p_event.geteventkey ()
                        || ' . '
                        || TO_CHAR (SYSDATE, 'RRRRMMDD HH24:MI:SS')
                        || ' . ERROR:'
                        || l_errm
                        || ';');

      RETURN 'ERROR';
END xx_demobe_subscribe;
    

1 comment:

  1. I will bookmark your blog and take the feeds additionally? I’m satisfied to find so many helpful information here within the put up, we want work out extra strategies in this regard, thanks for sharing..
    GRE coaching in chennai

    ReplyDelete