cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dynpro Help

former_member422932
Participant
0 Kudos

I have a Web Dynpro application that has three view controllers, one custom controller, and two models. Data is passed from the first view controller to the first model and returns it's results to the second view controller. I then use this data to feed into my second model, and the RFC works, but the data returned from the RFC isn't populating into my third view controller. As far as I know everything is mapped correctly. Does anybody have any ideas as to what things I can check, to figure out why my result isn't being displayed?

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member422932
Participant
0 Kudos

Resolved

Former Member
0 Kudos

Hi,

Try to check the size of the outrput node for second RFC.

If this RFC passing any success message from R/3 then check this message too.

It is possible that second RFC is not getting called properly.

Please provide the code to set data in second RFC.

Regards,

Bhavik

former_member422932
Participant
0 Kudos

Here is the code in my custom controller:

public void executeZ_Execute_Backflush_Input( )

{

//@@begin executeZ_Execute_Backflush_Input()

try{

String qty = wdContext.currentOutputElement().getQty();

wdContext.currentZ_Execute_Backflush_InputElement().setMatnr(wdContext.currentOutputElement().getMatnr());

wdContext.currentZ_Execute_Backflush_InputElement().setPrdversion(wdContext.currentOutputElement().getPrdversion());

wdContext.currentZ_Execute_Backflush_InputElement().setStorageloc(wdContext.currentOutputElement().getStorageloc());

wdContext.currentZ_Execute_Backflush_InputElement().setQty(qty);

wdContext.currentZ_Execute_Backflush_InputElement().setUom(wdContext.currentOutputElement().getMeins());

wdContext.currentZ_Execute_Backflush_InputElement().modelObject().execute();

wdContext.nodeOutput().invalidate();

}

catch(Exception e){

e.printStackTrace();

}

The second RFC is getting executed correctly.

Former Member
0 Kudos

Hi,

How did you confirm that second RFC getting executed?

Debug this code and after executing RFC, check the size of the output node.

If in debug mode you are getting values in RFC output node, then there must be a problem with mapping of data between custom controller to thrind view.

Regards,

Bhavik

Former Member
0 Kudos

Hi,

Check the node size of the result from second RFC.

Try dispalying the node size using

wdComponentAPI.getMessageManager.reportSuccess(wdContext.nodeOutputOfSecondRFC.size());

If the node size is > 0, then check your context mapping to the view controller.

former_member422932
Participant
0 Kudos

Bhavik:

I confirmed that the RFC is being executed , by inserting the input valus into a temporary table I have set up. I also used transaction MB51 to make sure that my BDC was working.