EBiz Business Events contain no event data
Hi,
I'm trying to use the Ebiz Business event feature to capture data in eBiz R12. Using the Integration Repository i have created subcritpion to business event oracle.apps.per.api.employee.create_employee. However when a new employee is created in eBiz the event is fired but the xml document doesnt contain any information regarding the newly created employee?
Does anyone know why this might be happening? I have captured the output event below
<?xml version="1.0" encoding="UTF-8" ?><WF_EVENT_T xmlns="http://xmlns.oracle.com/xdb/APPS/testEbizBusinessEvents">
<PRIORITY xmlns="">50</PRIORITY>
<SEND_DATE xmlns="">2011-04-04T16:55:22.000Z</SEND_DATE>
<RECEIVE_DATE xmlns="">2011-04-04T16:56:33.000Z</RECEIVE_DATE>
<CORRELATION_ID NULL="TRUE" xmlns=""/>
<PARAMETER_LIST xmlns="">
<PARAMETER_LIST_ITEM>
<NAME>#CURRENT_PHASE</NAME>
<VALUE>401</VALUE>
</PARAMETER_LIST_ITEM>
</PARAMETER_LIST>
<EVENT_NAME xmlns="">oracle.apps.per.api.employee.create_employee</EVENT_NAME>
<EVENT_KEY xmlns="">81</EVENT_KEY>
<EVENT_DATA xmlns=""></EVENT_DATA>
<FROM_AGENT xmlns="">
<NAME>WF_BPEL_QAGENT</NAME>
<SYSTEM>CPLDEV01.JL.CO.UK</SYSTEM>
</FROM_AGENT>
<TO_AGENT NULL="TRUE" xmlns=""/>
<ERROR_SUBSCRIPTION xmlns="">9FC54C923BBD0238E043AC16518C0238</ERROR_SUBSCRIPTION>
<ERROR_MESSAGE NULL="TRUE" xmlns=""/>
<ERROR_STACK NULL="TRUE" xmlns=""/>
</WF_EVENT_T>
Regards,
Adrian
The event definition is set to Customization Level = Limit so i can only enable/disable the event. The Generate functions are blank and greyed out so can not be edited. I guess my question was that now i can see the event data in the <event data> tag in the .xml type form (see extract below) i was wondering whether there were any .xsd's that can be used to parse this payload data into a usable structure?
<EVENT_DATA xmlns="">
<employee>
<hire_date>2011/04/07 00:00:00</hire_date>
<business_group_id>81</business_group_id>
<last_name>pbtest</last_name>
<sex>M</sex>
<person_type_id>1144</person_type_id>
<per_comments></per_comments>
<date_employee_data_verified></date_employee_data_verified>
<date_of_birth>1967/02/03 00:00:00</date_of_birth>
<email_address></email_address>
<employee_number>81127669</employee_number>
<expense_check_send_to_addres></expense_check_send_to_addres>
<first_name>phil</first_name>
<known_as></known_as>
<marital_status></marital_status>
<middle_names></middle_names>
<nationality></nationality>
<national_identifier>NM001122D</national_identifier>
<previous_last_name></previous_last_name>
<registered_disabled_flag></registered_disabled_flag>
<title>MR.</title>
<vendor_id></vendor_id>
<work_telephone></work_telephone>
<attribute_category></attribute_category>
<attribute1></attribute1>
<attribute2></attribute2>
<attribute3></attribute3>
<attribute4></attribute4>
<attribute5></attribute5>
<attribute6></attribute6>
<attribute7></attribute7>
<attribute8></attribute8>
<attribute9></attribute9>
<attribute10></attribute10>
<attribute11></attribute11>
<attribute12></attribute12>
<attribute13></attribute13>
<attribute14></attribute14>
<attribute15></attribute15>
<attribute16></attribute16>
<attribute17></attribute17>
<attribute18></attribute18>
<attribute19></attribute19>
<attribute20></attribute20>
<attribute21></attribute21>
<attribute22></attribute22>
<attribute23></attribute23>
<attribute24></attribute24>
<attribute25></attribute25>
<attribute26></attribute26>
<attribute27></attribute27>
<attribute28></attribute28>
<attribute29></attribute29>
<attribute30></attribute30>
<per_information_category>GB</per_information_category>
<per_information1></per_information1>
<per_information2></per_information2>
<per_information3></per_information3>
<per_information4></per_information4>
<per_information5></per_information5>
<per_information6></per_information6>
<per_information7></per_information7>
<per_information8></per_information8>
<per_information9></per_information9>
<per_information10></per_information10>
<per_information11></per_information11>
<per_information12></per_information12>
<per_information13></per_information13>
<per_information14></per_information14>
<per_information15></per_information15>
<per_information16></per_information16>
<per_information17></per_information17>
<per_information18></per_information18>
<per_information19></per_information19>
<per_information20></per_information20>
<per_information21></per_information21>
<per_information22></per_information22>
<per_information23></per_information23>
<per_information24></per_information24>
<per_information25></per_information25>
<per_information26></per_information26>
<per_information27></per_information27>
<per_information28></per_information28>
<per_information29></per_information29>
<per_information30></per_information30>
<date_of_death></date_of_death>
<background_check_status>N</background_check_status>
<background_date_check></background_date_check>
<blood_type></blood_type>
<correspondence_language></correspondence_language>
<fast_path_employee></fast_path_employee>
<fte_capacity></fte_capacity>
<honors></honors>
<internal_location></internal_location>
<last_medical_test_by></last_medical_test_by>
<last_medical_test_date></last_medical_test_date>
<mailstop></mailstop>
<office_number></office_number>
<on_military_service>N</on_military_service>
<pre_name_adjunct></pre_name_adjunct>
<rehire_recommendation></rehire_recommendation>
<projected_start_date></projected_start_date>
<resume_exists>N</resume_exists>
<resume_last_updated></resume_last_updated>
<second_passport_exists>N</second_passport_exists>
<student_status></student_status>
<work_schedule></work_schedule>
<suffix></suffix>
<benefit_group_id></benefit_group_id>
<receipt_of_death_cert_date></receipt_of_death_cert_date>
<coord_ben_med_pln_no></coord_ben_med_pln_no>
<coord_ben_no_cvg_flag>N</coord_ben_no_cvg_flag>
<coord_ben_med_ext_er></coord_ben_med_ext_er>
<coord_ben_med_pl_name></coord_ben_med_pl_name>
<coord_ben_med_insr_crr_name></coord_ben_med_insr_crr_name>
<coord_ben_med_insr_crr_ident></coord_ben_med_insr_crr_ident>
<coord_ben_med_cvg_strt_dt></coord_ben_med_cvg_strt_dt>
<coord_ben_med_cvg_end_dt></coord_ben_med_cvg_end_dt>
<uses_tobacco_flag></uses_tobacco_flag>
<dpdnt_adoption_date></dpdnt_adoption_date>
<dpdnt_vlntry_svce_flag>N</dpdnt_vlntry_svce_flag>
<original_date_of_hire>2011/04/07 00:00:00</original_date_of_hire>
<adjusted_svc_date></adjusted_svc_date>
<person_id>512670</person_id>
<assignment_id></assignment_id>
<per_object_version_number>2</per_object_version_number>
<asg_object_version_number></asg_object_version_number>
<per_effective_start_date>2011/04/07 00:00:00</per_effective_start_date>
<per_effective_end_date>4712/12/31 00:00:00</per_effective_end_date>
<full_name>pbtest, Mr phil</full_name>
<per_comment_id></per_comment_id>
<assignment_sequence></assignment_sequence>
<assignment_number></assignment_number>
<town_of_birth></town_of_birth>
<region_of_birth></region_of_birth>
<country_of_birth></country_of_birth>
<global_person_id></global_person_id>
<party_id></party_id>
<name_combination_warning>FALSE</name_combination_warning>
<assign_payroll_warning>FALSE</assign_payroll_warning>
<orig_hire_warning>FALSE</orig_hire_warning>
</employee>
</EVENT_DATA>
<FROM_AGENT xmlns="">
<NAME>WF_BPEL_QAGENT</NAME>
....../>
Similar Messages
-
Difference between Business Events and Complex Event Processing
Dear All,
Can anyone let me know the difference between
Business Event -> http://docs.oracle.com/cd/E21764_01/integration.1111/e10224/obe_intro.htm#CHDIBHBE
and
Complex Event Processing->http://docs.oracle.com/cd/E21764_01/doc.1111/e14476/overview.htm#g1024628
Are these 2 same?
ThanksHi.
Complex Event Processing Server(CEP) is an entire Product.
Business Event/Event Delivery Network is just a Messaging/Event component part of the SOA Infrastructure.
So, if u r interested on event correlation from different sources, high performance on analyzing those events + operations among the data generated on those events, CEP is ur option.
Hope this helps -
Hi ,
I am just learning how to trigger workflow from scratch.
I have created a business object with key field matnr.
I have also entered the event in SWEC.
Now coming to the triggering part ...in PFTC , I am looking to trigger event based on the change document number . But I don't know , how to find the CD_changenr in the Event container.
How do I get them there , to map it with the workflow container element ?
Anyone please help me , with the step by step .Hi
Check it out Kanika's wiki in SCN.
https://wiki.sdn.sap.com/wiki/x/aYDUAw
It will clear all your Doubts
Regards
Sachin -
Revision: 14801
Revision: 14801
Author: [email protected]
Date: 2010-03-16 17:05:06 -0700 (Tue, 16 Mar 2010)
Log Message:
Fixed proxied elements not getting container change events. Fixed NPE encountered when testing surrounding null proxiedElements.
Modified Paths:
osmf/trunk/framework/OSMF/org/osmf/elements/LoadFromDocumentElement.as
osmf/trunk/framework/OSMF/org/osmf/elements/ProxyElement.as
osmf/trunk/framework/OSMF/org/osmf/elements/proxyClasses/ProxyMetadata.asSorry about that. I am not exactly sure where the problem is, but I know it takes place after I put the <nav> in (in the html portion). If I understand what I am learning, the CSS at the top will structure my html code so I would have thought the CSS tageting my nav would be the focus. Maybe it is a different section though.
CSS part:
nav p {
font-size: 90%;
color: #FFC;
text-align: right;
font-weight: bold;
background-color: #090;
padding-top: 5px;
padding-right: 20px;
padding-bottom: 5px;
border-top-width: 2px;
border-top-style: solid;
border-top-color: #060;
HTML part: (bold italic is the part I added)
<body>
<div class="container">
<div id="apDiv1"><img src="Lessons/images/butterfly-ovr.png" width="170" height="158" alt="GreenStart Logo"></div>
<header></header>
<nav>
<p>Home | About Us | Contact Us</p>
</nav>
<div class="sidebar1">
<ul class="nav">
<li><a href="#">Green News</a></li>
<li><a href="#">Green Products</a></li>
<li><a href="#">Green Events</a></li>
<li><a href="#">Green Travel</a></li>
<li><a href="#">Green Tips</a></li>
</ul> -
Can any body tell me about event container in workflows
hi Experts,
could you please tell me some details about event container concept. is there a way to see event container in SWO1 transaction. how can we create event container when we create new events.Hi Praveen,
Event container is the container which stores the values of the BO attaribures which get assigned to that instance of the BO.
If you go to SWO1 transaction and check the BO for which the event is triggered, you would see all the possible attributes than can be assigned.
To pass the values of the BO event container to the workflow, you need to maintain the necessary binding between the BO event container and the workflow container. This can be done in the 'Basic Data', Start Events tab. If you click on automatic binding, the system would prompt for a default binding. You could opt to use that or create your own binding. Make sure that the datatypes match.
After mapping the event container to workflow container, you can check in the workflow log for the values passed to the workflow container. If you like to directly check the values stored in the event container, go to SWO1 and simulate an instance of the BO. You can then check the values there.
Hope this helps!
Regards,
Saumya -
I am new in WFs.
Ive defined bindings from the event container to the Workflow container In the Workflow Builder in the basic data of the workflow on the tab page Start Events.
The event Created has one input parameter like zwxorder-norder. (norder is defined as a key in BOR, not as an attriute)
Binding event -> workflow:
&_EVT_CREATOR& -> &_WF_INITIATOR&
&NORDER& -> &NORDER&
But the container is empty after starting of a workflow via SWUE with the event input parameter. Why so?
ThanksHi,
that could be a binding problem only try Automatic binding.
Thanks & Regards
Hari Sankar M -
What should the payload of a "domain event" generated through "change data capture" include?
Using domain driven design and event sourcing ...
Given I have a table of 3 columns: (A, B, C) with an existing row of data: (1, 2, 3), when I update the row to contain values (1000, 2, 3) and I run a tool designed to capture data changes and emit associated events, which of these should I expect as the
emitted event's payload?
{date: 1234, newState: (1000, 2, 3)}
{date: 1234, prevState: (1, 2, 3), newState: (1000, 2, 3)}
{date: 1234, prevState: (1, 2, 3), newState: (1000, 2, 3)}, changed: (1,0,0)}
{date: 1234, newState: (1000, 2, 3), changed: (1,0,0)}
{date: 1234, changedData: (A: 1000)}
{date: 1234, changedData: (A: 1000), previousData: (A: 1)}
"Ideally" would like the design of the events to support wide variety of current and future uses including:
data replication
audit logging
event triggered activities
retroactive event insertion (possibly)
My thoughts:
Answer 1. above is the simplest, but clients that don't care about the "A" column still end up having to react to this event, as they can't tell from the event itself what's changed.
Answer 5. above is the cleanest - it just captures the "difference". The downside is that it forces the client to roll up changes to display an audit log of the full state on each change. Also event triggered activities may require knowledge of
the full state to work.
Answer 4. above is perhaps more generally useful? It carries what's changed, but some contextual information alongside it.
Answer 2. above falls into a trap of asserting what the previous state was. What if that's not the previous state in your datastore, perhaps in a test environment? Do you reject the event as invalid? Would retroactively inserting an event mean changing
all subsequent events "previousState" fields?You have two competing demands, and I think you need to choose which of them you want to win. Demand 1, to have a fixed record of the state in each event. Useful for quick auditing by scanning the raw messages
Demand 2, to have a record of the changes applied in each event, to facilitate event sourcing.
Those two demands seem only subtly different, why not do both? Within that subtlety, however, you'll find that they are utterly conflicting. Demand 1 specifies that the knowledge of, and hence control of the mutation of state occurs with the sender, as it has
absolute knowledge of the state (either before or after the change). Demand 2 specifies that the knowledge of, and control of state mutation occurs in the receiver.
Demand 2 is suitable for event sourcing (recording that a change is requested), demand 2 is not, it is, as you say, more of an audit log (recording that a change has occurred)
So, for that reason, since you want to do event sourcing, the only possible workable format is 5.
Part of this is likely caused by the fact that you are coming at event sourcing by listening to mutation occurring in a database, whereas it should be the other way round, events causing the mutation to occur.
That's not to say that you can't get your scheme to work, and satisfy your requirements well, just don't think of it as event sourcing, as that's not what you actually want.
Adopting an event sourced data setup would support your needs above somewhat more easily, but adapting existing systems to that can be very involved to do. -
How to set a default start and/or end date for New Events based on trigger date.
I'm using the CalendarActivityListener to get current row when clicking on an existing event. As per previous posts this listener gives you access to event detail including Start Date, End Date, etc.
However, what I want to do is to default the start (and end) dates for New Events based on the trigger date.
I've tried the CalendarListener and can grab the Trigger Date from it - however, I can't see a way to pass this directly to the popup/dialog I'm using to create the new event.
At present I'm putting the TriggerDate into the ADFContext session scope e.g. ADFContext.getCurrent().getSessionScope().put("TriggerDate",calendarEvent.getTriggerDate());
Then, I've tried multiple approaches to try and "get" the TriggerDate from session scope to drop it into my new Calendar Event basically, I'm trying to default the InputField(s) associated with the Start Date using the value from the session - I've tried
1. setting the default value for the InputField in the jspx using a binding expression i.e. value="#{sessionScope.TriggerDate}" - this actually sets the value appropriately when the jspx is rendered but, when I go to create I get a NPE and I can't debug. I assumed that it might be a Date type issue - it would appear that CalendarListener provides a date of type java.util.Date and that the StartDate attribute of my VO/EO/table is a DATE and therefore requires oracle.jbo.domain.Date so I tried casting it - to no effect
2. Using a Groovy expression *(StartDate==null?adf.context.sessionScope.TriggerDate:StartDate)* in my calendar's EventVO to default the Start Date to the same result
Any thoughts or ideas?John,
Thanks for that suggestion - could not get it to work. However, I did manage a different approach. I finally determined the sequence of events in terms of how the various events and listeners fire (I think).
Basically, the CalendarActivityListener fires, followed by the listener associated with the Calendar object's Create facet, followed finally by the CalendarEventListener - the final is where the TriggerEvent is available and then finally, control is passed to the popup/dialog in the Create facet. So, my approach of trying to set/get the TriggerDate in the user's HTTP session was doomed to failure because it was being get before it had been set :(
Anyway, I ended up adding a bit of code to the CalendarEvent listener - it grabs the current BindingContext, navigates through the DCBindingContainer to derive an Iterator for the ViewObject which drives the calendar and then grabs the currently active row. I then do a few tests to make sure we're working with a "new" row because I don't want to alter start & end dates associated with an existing calendar entry and then I define the Start and End dates to be the Trigger Date.
Works just fine. Snippet from the listener follows
BindingContext bindingContext = BindingContext.getCurrent();+
*if ( bindingContext != null ) {*+
DCBindingContainer dcBindings = (DCBindingContainer) bindingContext.getCurrentBindingsEntry();+
DCIteratorBinding iterator = dcBindings.findIteratorBinding("EventsView1Iterator");+
Row currentRow = iterator.getCurrentRow();+
if ( currentRow.getAttribute("StartDate") == null)+
currentRow.setAttribute("StartDate", calendarEvent.getTriggerDate());+
if (currentRow.getAttribute("EndDate")==null)+
currentRow.setAttribute("EndDate", calendarEvent.getTriggerDate());+
*}* -
Extra event container element in BUS2203
HI All,
I have a standard workflow template WS10400002 which has some start condtions defined. If you check in the binding between event container --> workflow container, there is a extra element for "Gross Amount(USD)". Kindly let me know how we can have an extra element.
I copied the template to my Z template and there that extra element is not available.
Kindly check in your systems and let me know.
There is no delegation of BO done.
Thanks & Regards,
Srinivas Rao.Hi Pavan,
Thanks for the reply. I will make my question more clearer.
I dont want to do anything right noew regarding start condition set up . It is already done in the STANDARD template WS10400002. What I wish to understand is, when you will check the template in your system and check the event-> workflow binding, you will notice that there is extra container element "Gross Amount(USD)". Where did this come from ?
I hope I am clear this time..
Waiting for your reply.. -
How to use event structure of event data nodes event filter nodes in programming
hi,
I need manual of how to use 'event structure' events of 'event data nodes' and 'event data filters'...please help me....
Regards
RavindranathI'm not really sure what you are looking for here. Did you do a search in the LabVIEW help for Event Structure?
The Event Data Node just returns information about the event, like control data, control reference, what caused the event, etc.
The Event Data Filters are just used in Filter Events. This allows you to discard an event or change the data that the event will recieve.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
Event container element creation
Hi,
I am implementing PO WOrkflow I want to know how to create parameter/element in the event container
as for PO Workflow I have to create the release code parameter in the event container and then according process the same.
Please tell me in which transaction i can create the event container element?
PrinceThanx.. Solved
-
CHANGE EVENT CREATOR IN EVENT CONTAINER
Hello,
In CRM 7.0, I need to change in the EVENT CONTAINER the element &_EVT_CREATOR&, wich passes the value to the &_Wf_Initiator&.
Can you please tell me where the EVENT COINTAINER is populated (FM, program, etc)
Thanks.
Best Regards,
Filipe PinheiraHello,
Of course, you can't change the event creator after it's been created, but I assume that's not what you're asking.
Look at the parameters of SAP_WAPI_CREATE_EVENT and see if you can set the creator there.
If not, you could pass the name of the user as an event parameter and bind it to WF Initiator.
regards
Rick Bakker
hanabi technology -
Create quick event fails to recognize date and time
When I use "Create Quick Event" and enter "June 29 9am debate", iCal creates an event today, now, named "June 29 9am debate". I have tried different variations like "29th of June at 9am" etc. but all failed - I always get an event today, now.
I am pretty sure Create Quick Event used to extract date and time from the box: it created an event named "Debate" on the date of June 29, starting at 9am, lasting one hour - what could be the reason it doesn't work any longer? And more importantly, how could I get back the old behavior?
Thanks!It is not prerly connected to the network
Make sure location is set correctly
DNS should be set to auto (settings - general - network)
If on wifi try ethernet
Ensure rputer has port 123 open (refer to manual if unsure) -
Fail to add all day event on a specific date
Hi, my ical fail to add all day event on a specific date 2nd of Oct, when i double clickto add all day event, it falls on the 1st or 3rd but not the 2nd?
Hi Maggie,
Yes you can change your timezone, but in my opinion only Apple can really fix this problem. The more people they know are having the this issue the more likely Apple will fix it. Therefore I suggest you send them feedback about the problem.
Best wishes
John M -
Include char 10000 in event container
Hi All ,
I want to pass long text to work flow through an event .
so i want to create a parameter of atleast 10000 ( not sure how much length text will come ) chars in to the event container .
But i am getting error ' Field ZSOBJ-ZLONG is too long to be included in the container '.
So is there any alternate solution for this ??
Regards,
Sijin K P.Tried to use LSO_CP_SCORMLASTRINGVALUE-LSTRVALUE of length 4096 .
But still giving the same above error message .
My requirement is to pass long text which present in change master tab to workflow .
called this workflow through an event which will get triggerd from user exit .
So i will get this long text from user exit and need to pass this long text to event container and then bind to workflow.
For this need to create a parameter of the same type ( 10000 char ) in event container .
Regards,
Sijin K P.
Maybe you are looking for
-
Exits for saving variant of selection screen
Hi, My need is that I have to validate the name of the variant on saving. If the name is not in compliance then we will put a tick on a checkbox on screen and save it. So to do this can anyone suggest me the exit name or BADI name. thanks in advance.
-
How do I separate the bill for the family? My husband on one Bill and myself and the kids on another?
-
Best Way to Share Premiere Pro Project Between Computers
I have Premiere Pro on a Mac. In Final Cut Pro we use Media Manager to move projects and it works pretty great. Is there a Premiere Equivalent? I have media from a shoot that is duplicated on two computers. Each computer has a different project and e
-
Hiii I need API For Sales Order In Oracle apps Plz send me asap Thanks
-
Tried to erase OS X Yosemite on 2011 Macbook Pro, can't reinstall any OS
Hi there I have a 2011 13" Macbook Pro which was running OS Yosemite. I just tried to erase the hard drive, following the instructions here: OS X Yosemite: Erase and reinstall OS X However, when I got to this step: Select Reinstall OS X, click Contin