Banner
Banner

Attention: open in a new window. PDFPrintE-mail

2009
29
Jan

SAP Java Connector - Excample 1: Simple RFC call

Scenario

We will call the RFC function module ZNAS_HIE1_GET_MEMBER_FARM.that returns members that have owned a farm. Input to the function is a farm number, and output is a table of members that have owned the farm and Owner number (Sequence number of owners).

  • Class testJCO is executed and calls class GetMemberFarm method GetMemberFarmFromSap. Input parameters to GetMemberFarm are Farm and Owner number.
  • GetMemberFarmFromSap executes RFC ZNAS_HIE1_GET_MEMBER_FARM, that returns a table of members that have owned the farm from the input parameters.
  • GetMemberFarmFromSap loops through the table and finds the member where ZZCHCODE (Owner number), is equal owner number from the input-parameters. and returns the member.

 

Code

Class testJCO

public class testJco
{
public static void main(String[] args)
{
GetMemberFarm testGetMemberFarm = new GetMemberFarm();
String memberFarm= testGetMemberFarm.GetMemberFarmFromSap("0111020155","02");
System.out.println("Memberfarm: " + memberFarm);
}

}

Class GetMemberFram

import com.sap.mw.jco.*;  //The JCO



public class GetMemberFarm {

public String GetMemberFarmFromSap(String farm, String OwnerNumber)
{ String zzmemb ="";
String memberFarm = "";
JCO.Repository mRepository;
JCO.Client mConnection = null;
JCO.Function myFunction = null;
//---------------------------------------------------------
//Create Connection to SAP
//---------------------------------------------------------
try
{
mConnection = JCO.createClient("800", //SAP client
"HFR", //User ID
"vimmer3", //Password
"EN", //Language
"53.205.22.71", //Host
"03"); //System


mConnection.connect();
System.out.println("Connection OK");
}
catch (Exception ex)
{
System.out.println(ex);
}

//---------------------------------------------------------
// Create function and parameters
//---------------------------------------------------------
try
{
//Create repository
mRepository = new JCO.Repository( "GetMember", mConnection );

//Get a function template from the repository
IFunctionTemplate ftemplate = mRepository.getFunctionTemplate("ZNAS_HIE1_GET_MEMBER_FARM");

//Create function
myFunction = new JCO.Function(ftemplate);
System.out.println("Function created");

//Set import parameter
JCO.Field zzfarm = myFunction.getImportParameterList().getField("ZZFARM");
zzfarm.setValue(farm);


System.out.println("Parameters ok");


}
catch (Exception ex)
{
System.out.println(ex);
}
//---------------------------------------------------------
// Execute function
//---------------------------------------------------------
try
{
mConnection.execute(myFunction);
System.out.println("RFC Call OK");
}

catch (Exception ex)
{ System.out.println(ex); //Exception from function

}

//---------------------------------------------------------
// Handle return table GT_HIERARCHY
// Loop over the table and find the record that
// has ZZCHCODE = OwnerNumber from the
// method parameters, and return Member for the
// record
//---------------------------------------------------------

JCO.Table gt_HIERARCHY = null;
try
{
gt_HIERARCHY=myFunction.getTableParameterList().getTable("GT_HIERARCHY");

//Loop thhrough table and return the member that has
// changecode (ZZCHCODE) = 02
for (int i = 0; i < gt_HIERARCHY.getNumRows(); i++)
{ gt_HIERARCHY.setRow(i);
String zzchcode = gt_HIERARCHY.getString("ZZCHCODE");
if (zzchcode.equals(OwnerNumber))
{
zzmemb = gt_HIERARCHY.getString("ZZMEMB");
}

}

}

catch (Exception ex)
{ System.out.println(ex);

}



//---------------------------------------------------------
// Disconnect from SAP
//---------------------------------------------------------
try
{
mConnection.disconnect();
System.out.println("Disconnected from SAP");
}
catch (Exception ex)
{
System.out.println(ex);
}

return zzmemb;
}

} //public class GetMemberFarm

Last Updated (Thursday, 29 January 2009 05:58)
Banner
Free software downloads