I have created an VC WebDynpro Application as below.
List (TABLE) has a button (called Exit) which triggers an event outPortal, no parameters
A signal out port is then configured to trigger an EPCM event, as below
event Name: outPortal
namespace: com.sap.vc:epcm
Mapping has been defined between this port and the details button
So theoretically i am expecting this button click to trigger this EPCM event
Now i have written a WebDynpro ABAP report which has one view called header.
View initialization is done as below
..........
..........
data l_api_component type ref to if_wd_component.
data l_portal_manager type ref to if_wd_portal_integration.
l_api_component = wd_comp_controller->wd_get_api( ).
l_portal_manager = l_api_component->get_portal_manager( ).
data l_wd_view type ref to if_wd_view_controller.
l_wd_view ?= wd_this->wd_get_api( ).
l_portal_manager->subscribe_event(
portal_event_namespace = 'urn:com.sap.vc:epcm'
portal_event_name = 'outPortal'
view = l_wd_view
action = 'EXIT'
).
............
............
This should now trap the event that is being raised by the visual composer webdynpro application.
EXIT Action has been coded to raise another portal event, basically navigate back.
I have created an iview for the WebDynpro app and VC compiles an iView for you.
I have then delta linked these two iviews into a portal page.
When i launch this page via my own role, both iviews are launched as expected but the EXIT button on the VC app iView is not triggering the outPortal Event as i can't trap it in the WebDynpro for ABAP Application.
What is it that i am missing, i have already spent a day on this and i am running out of time.
I have done this as per the document provided by Thomas Jung on ABAP WD and VC evengting but i just cant get it to work.
Is there a way to see what all events these apps are raising and subscribing to?
In the log i can see that the VC app is raising an event like below
evaluated relayInfoId: AHB9O, Attributes: {infoset=AAA9O, epcmEvent=com.sap.vc:epcm, name=exit, id=AHB9O}
here name=exit is in the log because thats what i called the event initially, i have now changed the event name to outPortal just to see differences.