on 04-03-2007 11:26 PM
Hi All,
The following is the Model defined and mapped in Custom and View controllers.
+ZField_Value_Request_Input
+Input_Tab
-KeyFld
-Ordertxt
-Tabname
-ValFld
+Output
+Return_Tab1
-KeyFld
-Ordertxt
-Tabname
-ValFld
+Return_Tab2
-KeyFld
-Ordertxt
-Tabname
-ValFld
I use this model to populate values in the 2 dropdownbykey ui elements.
I need to pass some input values like keyfld, Tabname, valfld as a structure.
If I want to populate values in 2 different dropdowns, I have to pass 2 records as input parameters in the Input_Tab.
Then Return_Tab1 has values for the first dropdown and Return_Tab2 has values for the 2nd dropdown.
I test this RFC in SAP GUI, it works fine.
Z_Field_Value_Request_Input input = new Z_Field_Value_Request_Input();
IPrivateWorkOrderProcessView.IZ_Field_Value_Request_InputNode valueNode = wdContext.nodeZ_Field_Value_Request_Input();
IPrivateWorkOrderProcessView.IZ_Field_Value_Request_InputElement valueElement = valueNode.createZ_Field_Value_Request_InputElement(input);
//To retrieve first dropdown values
Zf4_Help objDropdown1 = new Zf4_Help();
objDropdown1.setKey_Fld("bname");
objDropdown1.setVal_Fld("bname");
objDropdown1.setTabname("USR01");
objDropdown1.setOrdertxt("bname");
valueElement.modelObject().addInput_Tab(objDropdown1);
//To retrieve second dropdon values
Zf4_Help objDropdown2 = new Zf4_Help();
objDropdown2.setKey_Fld("PSPNR");
objDropdown2.setVal_Fld("PSPNR");
objDropdown2.setTabname("PRPS");
objDropdown2.setOrdertxt("PSPNR");
valueElement.modelObject().addInput_Tab(objDropdown2);
wdThis.wdGetWorkOrderCustomControllerController().executeZ_Field_Value_Request_Input();
int size = wdContext.nodeZ_Field_Value_Request_Input().nodeOutput().nodeReturn_Tab().size();
After execute this code, size is 0 but it should be 20.
What's wrong in this code?
Can anyone help me to resolve this?
Hi Sundar,
At very first point:
There could be two options for this.
1. Change Z RFC, and make only one output table. So, whatever field you have provided return dropdown values for that. Then, call this RFC once again for another field. It is very simple.....
2. If at all, you want to pass two fields and want result in two output tables then,
use following code.
Z_Field_Value_Request_Input input = new Z_Field_Value_Request_Input();
IPrivateWorkOrderProcessView.IZ_Field_Value_Request_InputNode valueNode = wdContext.nodeZ_Field_Value_Request_Input();
valueNode.bind(input);
//To retrieve first dropdown values
Zf4_Help objDropdown1 = new Zf4_Help();
objDropdown1.setKey_Fld("bname");
objDropdown1.setVal_Fld("bname");
objDropdown1.setTabname("USR01");
objDropdown1.setOrdertxt("bname");
input.addInput_Tab(objDropdown1);
//To retrieve second dropdon values
Zf4_Help objDropdown2 = new Zf4_Help();
objDropdown2.setKey_Fld("PSPNR");
objDropdown2.setVal_Fld("PSPNR");
objDropdown2.setTabname("PRPS");
objDropdown2.setOrdertxt("PSPNR");
input.addInput_Tab(objDropdown2);
wdThis.wdGetWorkOrderCustomControllerController().executeZ_Field_Value_Request_Input();
You should get values with above code.
Also check executing RFC in R3 system.
Regards,
Bhavik
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.