cancel
Showing results for 
Search instead for 
Did you mean: 

Passing Parameters between WDA Components

Former Member
0 Kudos

Hi Experts,

I am having trouble passing values between two WDA Comps. Here is what I have:

Overview WDA has comp reusage defined for BulkFreight Inv WDA

Overview WDA calls the BulkFreight Invoice, (using a LinkToAction UI), into a ViewContainer UI, in BFI View, sitting inside a Multipane UI.

The VoyageNo & Vessel number are the keys to fetch the correct BulkFrieght Inv.

BFI View has a 'BackToOverview' button to navigate back to Overview WDA.

The above arrangement appears to work fine, the first time I choose any link from Overview WDA. When I click the back button and choose a different link, it still brings the BulkFreight Details of the first one.

The parameters passed in my Outbound plug show the correct values from the current link selected. It is not passed to the called WDA. i.e BulkFreight Inv WDA.

I tried passing the Voyage and Vessel Keys through the Assistance Class Static (public) attributes. The values are still the first one chosen.

I tried expressly clearing the Assistance Class attributes in the called WDA,once the right BulkFreight Inv is read so it can be filled again next time with the new value. In debug I can see these values being cleared, but after navigation back to Overview, the values appear to come from somewhere ..!!

I tried clearing the parameters in the back to overview navigation. In debug i can see the values blank, because i have already cleared in the BulkFrieght Inv component itself. So it is seen blank. In the Overview WDA when a different link is chosen, I can see the Assitance Class attributes being filled with the new parameters, but the navigation is still frustratingly to the original BulkFrieght Invoice ..!!

I tried using the Interface Controller to exchange the values between the WDAs as suggested by another forum post (id -9885614}. No avail.

I have lost a lot of time trying to get on top of this issue, but not successful yet. Any insights into the solution is greatly appreciated. I am less abler with Comp Reuse in WDA especially involving Interface Controllers and stuff. So if the solution is to with this area of WDA, I would highly appreciate your best possible detailed instructions.

thanks heaps in advance.

Accepted Solutions (1)

Accepted Solutions (1)

gill367
Active Contributor
0 Kudos

What is the problem that you are facing while achieving this with interface contrl

create the attributes in the comp controller of comp B and check the interface boxes.

they will be available in the interface controller.

now map these interface controller to the view in comp A where you have this link.

Pass these values and navigate to comp B's view.

now after coming back fire it after passign diff values.

it should work.

by the way what is the navigation technique used by you here.

thanks

sarbjeet singh

Former Member
0 Kudos

Hi guppeey ,

I think for your case it is better you used interface controller instead of passing data through outbound plug of the window. I think here the values are not getting change.

try using interface node reply in case of any issue.

thanks & regards,

Monishankar C

Answers (1)

Answers (1)

alison_lloyd
Active Participant
0 Kudos

I take it the relevant attribute is defined in the component controller context, the mapping to the relevant view contexts are updated, you are setting the context attribute to blank when triggering the plug to the new scren/ in th modify view of the new scree once showing for the first time?

Former Member
0 Kudos

Sarbjeet, Monishankar & Alison.

Thank you very much for your kind replies. I guess I have finally solved the problem with the help of an expert taking a look at my program codes.

Here is what he had to say and what he did.

I have the pivotal piece of code of my Detail WDA Component in its WDDOINIT method. This fires exactly once until killed or dismissed. When I navigated away from the detail WDA, after the first trip back and forth the Overview and Detail WDAs, the session still had it in memory and so was not firing again. This caused,my passed parameters with fresh set of values were being ignored.Since the session memory had the bunch of details from the first round trip, it was always happily displaying from out of it ..!!

As proof of it, I could always see proper navigation if I refreshed the browser. (when the session is lost)

The Fix..:

The piece of code that fetches the details using the passed parameters, were shifted to WDDOMODIFY. As an additional safegaurd, a new Assistance class public static flag attribute was also set while passing parameters on each roundtrip which is first checked before going into the block of code put in WDDOMODIFY, the flag is then cleared in the same method.

The result..: Splendid ..! Oh What a releif ...!!

Once again thanks to all of you that took the time to kindly review my problem.

This is an important take away from the trouble I faced. The Under The bonnet story..!