SAP Java Connector - Excample 1: Simple RFC call

if (window.name != "content") document.write("

Click here to show toolbars of the Web Online Help System: show toolbars

"); <!-- !chm2web! -->

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 excuted 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 numer), 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

var fe = FindFrame("toc", top); if ((fe != null) && (chmtop.c2wtopf.jstree != null)) { if (chmtop.c2wtopf.FITEMS[chmtop.c2wtopf.pagenum] != chmtop.c2wtopf.pageid) chmtop.c2wtopf.jstree.OpenTreeNode("" + chmtop.c2wtopf.pageid); } <!-- CHM2WEB --><!-- DO NOT DELETE OR MODIFY THIS CODE WITHOUT WRITTEN PERMISSION OF A!K RESEARCH LABS -->

你可能感兴趣的:(java,Web)