Example Program BAPI2 
Syntax
import com.sap.mw.jco.*;
public class Bapi2 extends Object {JCO.Client mConnection;
JCO.Repository mRepository;
public TutorialBapi2() { try {// Change the logon information to your own system/user
mConnection =
JCO.createClient("001", // SAP client"<userid>", // userid
"****", // password
null, // language
"<hostname>", // 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;
try { function = this.createFunction("BAPI_COMPANYCODE_GETLIST"); if (function == null) { System.out.println("BAPI_COMPANYCODE_GETLIST" +" not found in SAP.");
System.exit(1);
}
mConnection.execute(function);
JCO.Structure returnStructure =
function.getExportParameterList().getStructure("RETURN"); if (! (returnStructure.getString("TYPE").equals("") || returnStructure.getString("TYPE").equals("S")) ) { System.out.println(returnStructure.getString("MESSAGE"));System.exit(1);
}
codes =
function.getTableParameterList().getTable("COMPANYCODE_LIST");codes.setRow(2);
codes.deleteRow();
codes.deleteRow(5);
codes.appendRow();
codes.setValue("XXXX", "COMP_CODE");codes.setValue("Does not exist", "COMP_NAME");codes.appendRows(2);
codes.setValue("YYYY", "COMP_CODE");codes.setValue("Does not exist either", "COMP_NAME");codes.nextRow();
codes.setValue("ZZZZ", "COMP_CODE");codes.setValue("Nor does this", "COMP_NAME");for (int i = 0; i < codes.getNumRows(); i++) {codes.setRow(i);
System.out.println(codes.getString("COMP_CODE") + '\t' + codes.getString("COMP_NAME"));}
}
catch (Exception ex) {ex.printStackTrace();
System.exit(1);
}
try {codes.firstRow();
for (int i = 0; i < codes.getNumRows(); i++, codes.nextRow()) { function = this.createFunction("BAPI_COMPANYCODE_GETDETAIL"); if (function == null) { System.out.println("BAPI_COMPANYCODE_GETDETAIL" +" not found in SAP.");
System.exit(1);
}
function.getImportParameterList().
setValue(codes.getString("COMP_CODE"), "COMPANYCODEID");mConnection.execute(function);
JCO.Structure returnStructure =
function.getExportParameterList().getStructure("RETURN"); if (! (returnStructure.getString("TYPE").equals("") || returnStructure.getString("TYPE").equals("S") || returnStructure.getString("TYPE").equals("W")) ) { System.out.println(returnStructure.getString("MESSAGE"));}
JCO.Structure detail =
function.getExportParameterList().
getStructure("COMPANYCODE_DETAIL"); System.out.println(detail.getString("COMP_CODE") + '\t' + detail.getString("COUNTRY") + '\t' + detail.getString("CITY"));}
}
catch (Exception ex) {ex.printStackTrace();
System.exit(1);
}
mConnection.disconnect();
}
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.");}
}
public static void main (String args[]) {Bapi2 app = new Bapi2();
}
}