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).

 

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

Converted from CHM to HTML with chm2web Standard 2.7 (unicode)