Example JCo code to call SAP function module
Example code which calls an SAP function module 'BAPI_MATERIAL_GETLIST' with inport parameters and retrieves the resultant data.
//package ws; //Replace with name of your package import com.sap.mw.jco.*; public class CallFunction extends Object { public static void main(String args[]) { CallFunction app = new CallFunction(); } int count; JCO.Client mConnection; JCO.Repository mRepository; String[] SAPInterfaces; public CallFunction() { try { // Logon info mConnection = JCO.createClient("500", // SAP client "username", // userid "password", // password null, // language "server name", // application server host name "00"); // system number mConnection.connect(); mRepository = new JCO.Repository("ARAsoft", mConnection); } catch (Exception ex) { ex.printStackTrace(); System.exit(1); } JCO.Function function = null; JCO.Table codes = null; // codes.firstRow(); try { function = this.createFunction("BAPI_MATERIAL_GETLIST"); if (function == null) { System.out.println( "BAPI_MATERIAL_GETLIST" + " not found in SAP."); System.exit(1); } codes = function.getTableParameterList().getTable("MATNRSELECTION"); codes.appendRows(2); // Add two rows to internal table codes.setValue("I", "SIGN"); codes.setValue("EQ", "OPTION"); codes.setValue("P1001087", "MATNR_LOW"); codes.setValue("", "MATNR_HIGH"); codes.nextRow(); // Move onto next row codes.setValue("I", "SIGN"); codes.setValue("EQ", "OPTION"); codes.setValue("P1001088", "MATNR_LOW"); codes.setValue("", "MATNR_HIGH"); mConnection.execute(function); // JCO.Table returnTable1 = // function.getTableParameterList().getTable("MATERIALSHORTDESCSEL"); // System.out.println(returnTable1); // JCO.Table returnTable2 = // function.getTableParameterList().getTable("MATNRLIST"); // System.out.println(returnTable2); // Output result Material list table System.out.println( function.getTableParameterList().getValue("MATNRLIST")); System.out.println( function.getTableParameterList().getString("MATNRLIST")); // System.out.println( // function.getTableParameterList().getValue("MATERIALSHORTDESCSEL")); // // System.out.println( // function.getTableParameterList().getString("MATERIALSHORTDESCSEL")); // Output Selection table System.out.println( function.getTableParameterList().getValue("MATNRSELECTION")); System.out.println( function.getTableParameterList().getString("MATNRSELECTION")); } catch (Exception ex) { ex.printStackTrace(); System.exit(1); } } public JCO.Function createFunction(String name) throws Exception { try { IFunctionTemplate ft = mRepository.getFunctionTemplate(name.toUpperCase()); if (ft == null) return null; return ft.getFunction(); } catch (Exception ex) { throw new Exception("Problem retrieving JCO.Function object."); } } }
Related Articles
Call an SAP function module and display data in a swing application
Applet to retrieve data from SAP(using JCo) and display it using Swing
Application to retrieve data from SAP(using JCo) and display it using Swing
Example Java code to create Applet
Example JCo code to call SAP function module
Java class to create Swing Application from Array of data
Example JCo code to call SAP function module
Example Swing code to display list of material numbers