cancel
Showing results for 
Search instead for 
Did you mean: 

RFC error sending a table

Former Member
0 Kudos

People.. please... I am sending one table to one RFC with this code:


wdContext.nodeZctftv003_Input().bind( inputSol );
wdContext.nodeT_Saida().bind( new ArrayList() );
wdContext.nodeT_Saida().addElement(  tSaida );	
inputSol.modelObject().execute();

but the RFC always returns me the follow:


Caused by: com.sap.aii.proxy.framework.core.DataAccessException: Mandatory parameter T_SAIDA of method ZCTFTV003 missing

Edited by: Michel Dambros Figueiredo - BR on Nov 6, 2008 12:22 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

It also does not have this method.

this is the declaration:

IPublicFcTreReview.IZctftv003_InputElement inputSol= wdContext.createZctftv003_InputElement( new Zctftv003_Input() );

Saravanan_SD
Advisor
Advisor
0 Kudos

It should be the table node of the RFC.

i.e inputsol.addTablenodeofRFC( tSaida );

Else try like this


Zctftv003_Input inputSol=  new Zctftv003_Input() ;
		
inputSol.setV_Pernr( wdContext.currentEnviaParaRFCElement().getV_Pernr() );
inputSol.setV_Reinr(wdContext.currentExpenseReportSave_OutputElement().getE_Tripnumber() );
    Zctts001 tSaida=  new Zctts001() ;
	tSaida.setCountry_Beg( "BR" );
	tSaida.setCountry_End( "CO" );
	.......
    inputSol.add*TableNodeofRFC*(tsaida);
wdContext.Zctftv003_Input().bind(inputsol);
wdContext.currentZctftv003_Input().modelobject.execute();

Answers (4)

Answers (4)

Former Member
0 Kudos

Tks Saravanan

10 + 6 points to you

Former Member
0 Kudos

but the inputsol object doesn´t have the addElement method

Saravanan_SD
Advisor
Advisor
0 Kudos

Oops, I didnt notice. It should be


inputsol.addT_saida(  tSaida );	 

Former Member
0 Kudos

This is the complete code:

Yes I think the node is initialized, doesn´t it ?

The server was restarted

About the mapping.. I imported the nodes from de model side.


		IPublicFcTreReview.IZctftv003_InputElement inputSol= wdContext.createZctftv003_InputElement( new Zctftv003_Input() );
		
		inputSol.setV_Pernr( wdContext.currentEnviaParaRFCElement().getV_Pernr() );
		inputSol.setV_Reinr( wdContext.currentExpenseReportSave_OutputElement().getE_Tripnumber() );
		inputSol.setV_Botao( wdContext.currentEnviaParaRFCElement().getV_Botao() );		
		
		IPublicFcTreReview.IT_SaidaElement tSaida= wdContext.createT_SaidaElement( new Zctts001() );
		tSaida.setCountry_Beg( "BR" );
		tSaida.setCountry_End( "CO" );
		tSaida.setDate_Beg( new Date( System.currentTimeMillis() ) );
		tSaida.setDep_Arr( true );
		tSaida.setLocation_Beg( "SP" ); 
		tSaida.setLocation_End( "CA" );
		tSaida.setPernr( wdContext.currentEnviaParaRFCElement().getV_Pernr() );
		tSaida.setReinr( wdContext.currentExpenseReportSave_OutputElement().getE_Tripnumber() );
		tSaida.setRequest_Type("OF");
		tSaida.setTime_Beg( new Time( System.currentTimeMillis() ) );
				
		wdContext.nodeZctftv003_Input().bind( inputSol );
		wdContext.nodeT_Saida().bind( new ArrayList() );
		wdContext.nodeT_Saida().addElement(  tSaida );	
		inputSol.modelObject().execute();

Saravanan_SD
Advisor
Advisor
0 Kudos

Hi Michel,

Instead of these lines


wdContext.nodeZctftv003_Input().bind( inputSol );
wdContext.nodeT_Saida().bind( new ArrayList() );
wdContext.nodeT_Saida().addElement(  tSaida );	
inputSol.modelObject().execute();

try these.


inputsol.addElement(  tSaida );	 
wdContext.nodeZctftv003_Input().bind( inputSol );
inputSol.modelObject().execute();

Hope it helps.

Regards,

Saravanan

PradeepBondla
Active Contributor
0 Kudos

Hi,

did you initialize "inputSol" ?what is tsaida?

send the full code.

invalidate output node (ofcourse it will not be the reason for error).

other than this your code is fine.

Check whether all mappings are done well.

in worst case try restarting the server.

PradeeP