on 09-09-2008 11:34 AM
Hi there,
I am facing a strange NullPointer Exception in one of my objects. The strange part is that the same code is working on Quality and Production but throws up an error on the Development system. The code is as follows:
The method initSoldto() executes the RFC and then calls a method populateSalesArea() :
public void initSoldto( java.lang.String username )
{
//@@begin initSoldto()
IWDMessageManager messageMgr = this.wdComponentAPI.getMessageManager();
messageMgr.reportSuccess("testUser: " + username );
Z_Sd_Mdr_Soldto_Input input = new Z_Sd_Mdr_Soldto_Input();
Zsd_Mdr_Sold_To_Data inputData = new Zsd_Mdr_Sold_To_Data();
inputData.setRfc_Command("INIT_FORM");
inputData.setRequester(username);
input.setC_Soldto_Data(inputData);
wdContext.nodeZ_Sd_Mdr_Soldto_Input().bind(input);
try {
wdContext
.currentZ_Sd_Mdr_Soldto_InputElement()
.modelObject()
.execute();
wdContext.nodeSoldToOutput().invalidate();
wdContext.nodeC_Soldto_Data().invalidate();
} catch (WDDynamicRFCExecuteException ex) {
messageMgr.reportSuccess("did not execute: " + ex.getMessage());
}
this.populateSalesArea();
//@@end
}
The few initial lines of code for the method populateSalesArea() where the exception is getting thrown is as follows:
public void populateSalesArea( )
{
//@@begin populateSalesArea()
IWDMessageManager messageMgr = this.wdComponentAPI.getMessageManager();
Z_Sd_Mdr_Soldto_Input input = new Z_Sd_Mdr_Soldto_Input();
input = wdContext.currentZ_Sd_Mdr_Soldto_InputElement().modelObject();
*//This is where the exception is being thrown*
List dropInitialValues = input.getOutput().getT_Dropdown_Value();
List dropSalesGroupValues = input.getOutput().getT_Sales_Group_Values();
List dropSalesDistrictValues =
input.getOutput().getT_Sales_Distr_Values();
Any help would be greatly appreciated. As discussed the exception is being thrown at the line
List dropInitialValues = input.getOutput().getT_Dropdown_Value();
Hi
it seems like your RFC doesn't return a value. The result is that the node Output is null and you can't access the attributes in it --> NullPointerException.
Try to execute your RFC directly in the backend with the same input values to check this.
Regards,
Martin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tahzeeb,
Can you check the model binding once and also try by commenting the invalidate( ) method calls.
Regards
Ramesh.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Guys,
Thanks for all your inputs. I have resolved the issue. The user that was being used in the JCO destination for model data did not have authorization to execute the function group that contained my RFC. After configuring the destination with another user id, it works fine.
Regards,
Tahzeeb.
Hi,
is it possible, that the invalidate() method clears the return node directly after execute() method? What happens if you comment out the invalidate() calls?
Regards,
Martin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
The Problem is you are not getting data from R/3.
Why don't you try with direct Output node?
Try to print the value
wdContext.nodeOuput().size();
And check T_Dropdown_Value is null or not.
If you want more help please give your node structure also.
regards,
Siva
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.