cancel
Showing results for 
Search instead for 
Did you mean: 

Null Pointer Exception : Help Needed

Former Member
0 Kudos

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();

View Entire Topic
Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Martin,

I too guessed the same. But, when I execute the RFC directly in SE 37 with the same parameters, it works fine and returns an output. That is where the confusion is.

Regards,

Tahzeeb.

Former Member
0 Kudos

Hi,

Make sure that the following line returns data.

wdContext.currentZ_Sd_Mdr_Soldto_InputElement().modelObject().execute();

wdContext.nodeSoldToOutput().invalidate();

wdContext.nodeC_Soldto_Data().invalidate();

Regards

Ayyapparaj