on 05-13-2005 8:25 PM
Hello Experts-
In my WD project I have two apps A and B.
I need to navigate from app A to app B.
In the interface view controller of app A, I have created an outbound plug called GotoB.
I determine the URL of app B using the WDURLGenerator and store that value in a string.
In a view of the app A I have the code:
<code>
wdThis.wdGetAInterfaceViewController().wdFirePlugGoToB("URLtoB");
</code>
For some reason nothing seems to be happening when the event triggers in the view of app A that runs the above code. The view of app A just seems to refresh. The one thing that does happen is that on the refreshed view of app A if I click on the button to trigger this event again I get an 'app A has expired' WAS error.
What am I missing here? How can I make the navigation from app A to app B work?
Thank you,
- Vik.
Hello,
Did you marked the Outbound Plug in the Interface View Controller as a exit plug? There is a CheckBox called "Exit plug" in the wizard for creating OutBound Plugs in Interface View Controller. It has to be marked, for the plug to work as you expect.
Rest of your case looks ok.
--
regards
Marcin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you everyone for contributing.
I had all the pieces in place, the only issue was that the parameter in the outbound plug of the interface view controller was 'URL' and not 'Url'.
I applied Valery's message and renamed that parameter from 'URL' to 'Url' and now the code is working just fine.
Hi Pant
Since you have the URL of the second application, Use LinktoAction UI element in App A and in the action of this UI element use this code to open App B.
wdComponentAPI.getWindowManager().createExternalWindow(<URL>,<Title>,<boolean Value)
Let me know if you require any other help.
Kishore
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Naga-
Will this make the transition between the two apps be within the same browser window?
I don't want to have a new window pop-up and this one get closed. I also do not want the session for application A to stay open. The advantage to using the outbound plug of an interface view controller is that it will close the current session on application A.
I want to have seamless a transition between the two applications. Please advice.
Thanks,
- Vik.
Hi,
well step by step:
1) Create component Component1 (package="com.sap.sdn", window name = "Component1CW", View name="Conponent1CV")
2) Create component Component2 (package="com.sap.sdn", window name = "Component2CW", View name="Conponent2CV")
3) Create application "App1" (package="com.sap.sdn", Web Dynpro component="Component2", the rest - by default)
4) In Component1CWInterfaceView create outbound plug "GoToComp2"
5) In Conponent1CV add Component1CWInterfaceView as required controller
6) In Conponent1CV add button and in action handler put following:
public void onActionGoToComp2(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
{
//@@begin onActionGoToComp2(ServerEvent)
wdThis.wdGetConponent1CWInterfaceViewController().wdFirePlugGoToComp2();
//@@end
}
7) In component Component2 add Component1 as Used Web Dynpto Component (name="Component1CU")
😎 In Component2CW embed view (Component1CWInterfaceView) as Embed Interface View of a Component Interface, and set this view as default.
9) In Component2CV add inbound plug "FromComponent1"
10) In Component2CW link embedded View Component1CU.Conponent1CWInterfaceView.GoToComp2 with Component2CV.FromComponent1
11) Build-deploy-run. Click on button. It should work.
Regards, Maxim R.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.