cancel
Showing results for 
Search instead for 
Did you mean: 

Doubt.....plz help

Former Member
0 Kudos

Hi Friends,

I am new to WebDynpro.

I am working on few examples,i have an application in which i have a drop down and an i/p field.

Data in the drop down is from R/3.

Now if i enter both the fields and click on execute,if the functionality is true i kept a success message and it should be updated in R/3.

I am getting the success message and also able to get the result in R/3.

But i am unable to set the Drop down to the updated result value.

If i refresh or come back to this page i am able to do so.

Please help me out in this regard,if possible a sample code would help me out.

Thanks and regards,

Shekar.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

HI...SHEKAR

After you input, both ur fields and execute, the data updates in the R3, but the updated data does not comes in the dropdown....it is because you hv not executed your RFC after updating your data...

so, do one thing , in your code ,where you have written the succes message,after that just write the code for executing RFC. this will bring the updated result in your drop down.

Just copy your RFC execution code and paste it after the success message,,,and you are done.

Plz award points if helpful.

thanks

Upendra.

Former Member
0 Kudos

Hi,

Use this code to populate ddlist:

IPrivate<ViewName>View.I<NodeName>Node <NodeName>ListNode =

wdContext.node<NodeName>();

int MyListSize = <NodeName>ListNode.size();

IWDAttributeInfo attributeInfo = null;

attributeInfo = wdContext.getNodeInfo().getAttribute(

IPrivate<ViewName>View

.IContextElement

.YOUR_CONTEXT_ATTRIBUTE);

ISimpleTypeModifiable <NodeName>ListType =

attributeInfo.getModifiableSimpleType();

IModifiableSimpleValueSet valueSet =

<NodeName>ListType.getSVServices().getModifiableSimpleValueSet();

<NodeName>ListType.setFieldLabel("List Description");

int couner = 1;

for (int Counter = 0;

Counter < MyListSize;

Counter++) {

IPrivate<ViewName>View

.I<NodeName>Element <NodeName>Ele =

<NodeName>ListNode.get<NodeName>ElementAt(

Counter);

String <NodeName>Name = "";

String <NodeName>No = "";

//<NodeName>Ele.get

if (<NodeName>Ele.getInitials() != null) {

<NodeName>Name += <NodeName>Ele.getInitials() + " ";

}

if (<NodeName>Ele.getFirst_Name() != null) {

<NodeName>Name += <NodeName>Ele.getFirst_Name() + " ";

}

if (<NodeName>Ele.getLast_Name() != null) {

<NodeName>Name += <NodeName>Ele.getLast_Name() + " ";

}

if (<NodeName>Ele.getPerson_No() != null) {

<NodeName>No = <NodeName>Ele.getPerson_No();

}

valueSet.put(<NodeName>Name, <NodeName>Name);

<NodeName>List.put(<NodeName>Name, <NodeName>No);

couner++;

<NodeName>Name = "";

<NodeName>No = "";

}

Regards,

Kiran Yadav

Former Member
0 Kudos

Hi Kiran,

Thanks for the code,its very confusing.

I had implemented the same and still i am getting the same thing.

Why is this happening?

Please let me know and if possible a better solution to solve this issue.

Thanks and regards,

Shekar.

Former Member
0 Kudos

Hi,

After Bapi execute method. do you have called invalidate method .

i.e wdContext.node<Name>.OutputNode.invalidate();

Regards,

Kiran Yadav