0% found this document useful (0 votes)
224 views

SAP Java Connector - Excample 1: Simple RFC Call: Scenario

The document describes calling an RFC function from Java code to retrieve farm owner data from SAP. It includes: 1) An RFC function that returns members who have owned a given farm. 2) A Java class that calls this RFC, passing the farm and owner numbers. 3) On success, it loops through the returned table to find the member matching the given owner number and returns it.

Uploaded by

celsonneves
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
224 views

SAP Java Connector - Excample 1: Simple RFC Call: Scenario

The document describes calling an RFC function from Java code to retrieve farm owner data from SAP. It includes: 1) An RFC function that returns members who have owned a given farm. 2) A Java class that calls this RFC, passing the farm and owner numbers. 3) On success, it loops through the returned table to find the member matching the given owner number and returns it.

Uploaded by

celsonneves
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

SAP Java Connector - Excample 1: Simple RFC call

Written by Anon.

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_H

IERARCHY"); //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)) { } } } catch (Exception ex) { System.out.println(ex); } zzmemb = gt_HIERARCHY.getString("ZZMEMB");

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

You might also like