Start of Content Area

This graphic is explained in the accompanying text Example Program Bapi2  Locate the document in its SAP Library structure

Syntax documentation

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();

   }

}

 

 

End of Content Area