cancel
Showing results for 
Search instead for 
Did you mean: 

WebDynpro ABAP and Portal Navigation

Former Member
0 Kudos

Hi,

I have two Webdynpro applications as an IView linked in the portal, now I want to navigate between the applications.

I know, that I can trigger a protal event by:


method ONACTIONFIRE_PORTAL_EVENT .
data: L_API_COMPONENT  type ref to IF_WD_COMPONENT,
        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( ).

  L_PORTAL_MANAGER->FIRE(
        PORTAL_EVENT_NAMESPACE = 'my_namespace_for_Web_Dynpro_documentation'
        PORTAL_EVENT_NAME      = 'showCustomer'
        PORTAL_EVENT_PARAMETER = CUSTOM_ID ).

endmethod.
 

And catch the event by


method WDDOINIT .
data: L_API_COMPONENT type ref to IF_WD_COMPONENT,
L_PORTAL_MANAGER type ref to IF_WD_PORTAL_INTEGRATION,
VIEW type ref to IF_WD_VIEW_CONTROLLER.
L_API_COMPONENT = WD_COMP_CONTROLLER->WD_GET_API( ).
L_PORTAL_MANAGER = L_API_COMPONENT->GET_PORTAL_MANAGER( ).
VIEW ?= WD_THIS->WD_GET_API( ).
L_PORTAL_MANAGER->SUBSCRIBE_EVENT(
PORTAL_EVENT_NAMESPACE =
'my_namespace_for_Web_Dynpro_documentation'
PORTAL_EVENT_NAME = 'showCustomer'
VIEW = VIEW
ACTION = 'RECIEVE_CUSTOMER_ID' ).
endmethod.
 

But in which WDDOINIT I had to implement the code?

Best regards,

Marcus

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

So you just need to navigate between both WDA? You better use portal navigation then. There is help available on help.sap.com. To give you an idea:

1. Edit ONACTIONFIRE_PORTAL_EVENT

2. Press CTRL + F7 (Code Wizard)

3. Look for Portal Integration

4. Choose NAVIGATE*

You need to know the pcd - name of the iView in that case.

If you really want to go with portal eventing, the event subscriber must be already initialized at the beginning (when you fire the event). Portal eventing is used to share data between 2 iViews as far as i know.

Former Member
0 Kudos

HI Rene,

thanks for your answer.

I use your way to navigate to the UWL.

But in the other case I want to call a application with special informations from the frist.

Kind regards Marcus

Former Member
0 Kudos

Then you can pass url parameters. Please dont write to much code in WDOINIT methods. Because you cant read url parameters there.

In your window controller you have the inbound plug handler. There you read URL parameters and this method can call methods in your component controller. Sequence is like that:

1. WDO_INIT of comp. ctrl.

2. WDO_INIT of window. ctrl

3. WDO_INIT of view.ctrl.

4. Handle inbound plug

Those both applications are within the iView, are they?

Answers (2)

Answers (2)

Former Member
0 Kudos

Marcus Schug ,

I need some help from you pls..

I have same requirement now.. I have two webdynpros navigating between each other, in portal and both navigations are in same TAB.

I am not able to figure out how i can do this.. meaning.. on one action of WD1 i need to call WD2, and on CANCEL button of WD2, i need to go back to WD1.

pleaseeee could u pls share that u did with me..

I will be so happy if u cuold pls help me out.. i am not at all able to sovle this.

pls Marcus Schug ,

kindly take some time and reply... to my id: its mmate4u at g mail.

thanks and appreciate it.

Niraja

I039810
Advisor
Advisor
0 Kudos

Hello Marcus,

You have to implement in the WDDOINIT of the application that has to be launched on the portal event.

Best regards,

Shalini

Former Member
0 Kudos

Hi Shalini,

yes but in which WODOINIT

WINDOW

COMPONENTCONTROLLER

VIEW

Kind regards

Marcus