SAP Java Connector(JCo)

       JCo是一个高性能的,基于JNI的中间件,它实现了SAPRFCRemote Function Call)协议。

      1JCo的安装

      http://files.cnblogs.com/byfhd/jco.rar 下载JCo,解压后将librfc32.dllsapjcorfc.dll拷贝到WINNT"SYSTEM32下,将sapjco.jar加入项目的classpath中。

      2、与SAP的连接

      JCo支持两种连接方式,direct connectionsconnection pools

      direct connections

      import com.sap.mw.jco.*

      public TutorialConnect1() {
         JCO.Client mConnection;
         try {
            mConnection = JCO.createClient("001", // SAP client
                                                         "",           // userid
                                                         "****",               // password
                                                         null,                 // language
                                                         "",         // server host name
                                                         "00");                // system number          mConnection.connect();                                                                           
         mConnection.disconnect();
         } catch (Exception ex) {
         }
     }

      connection pools

      static final String POOL_NAME = "Pool";
      public TutorialConnect2() {
         JCO.Client mConnection;
         try {
            JCO.Pool pool = JCO.getClientPoolManager().getPool(POOL_NAME);
            if (pool == null) {
               OrderedProperties properties = OrderedProperties.load("/logon.properties");
               JCO.addClientPool(POOL_NAME,  // pool name
                                                 5,          // maximum number of connections
                                                 logonProperties); // properties
            }
            mConnection = JCO.getClient(POOL_NAME);
         } catch (Exception ex) {
         } finally {                                                                                                                            //
返回连接到连接池,否则会导致无可用连接
            JCO.releaseClient(mConnection);
         }
      }

      logon.properties文件的定义:

      jco.client.client=001
      jco.client.user=userid
      jco.client.passwd=****
      jco.client.ashost=hostname
      jco.client.sysnr=00

      3、对SAP进行操作

      SAP中有JCO.Repository对象,包含着SAPRFM的运行环境元数据。

      JCO.Repository mRepository;
      mRepository = new JCO.Repository("ARAsoft", mConnection); 
      
构造器中包含两个参数,第一个是一个任意名称,第二个是连接池或JCO.Client对象。

      IFunctionTemplate对象包含着某个特定的RFM元数据,JCO.Function则代表着一个包含所有参数的RFM。它们之间的关系类似JavaClassObject的关系。 

      IFunctionTemplate ft = mRepository.getFunctionTemplate("BAPI_SALESORDER_GETLIST");
      //ft
为空表示没有在SAP发现对应的RFM
      if (ft == null) return null;
      JCO.Function function = ft.getFunction();

      JCO.ParameterList对象包含做Function的输入、输出和表参数。

      client = JCO.getClient(SID);    //Pool中取得Client
      JCO.ParameterList input = function.getImportParameterList();
      //
设置参数,参数名为第二个参数,参数值为第一个参数,
      input.setValue("0000001200", "CUSTOMER_NUMBER"   );
      input.setValue(      "1000", "SALES_ORGANIZATION");
      client.execute(function);

阅读更多
个人分类: SAP BW
想对作者说点什么? 我来说一句

sapjco3(win64)

2011年03月19日 1.94MB 下载

sapjco3-64bit-3.0.5(win)

2015年06月08日 2.41MB 下载

sapjco3(720 612)

2017年10月24日 1.96MB 下载

SAP Java Connector(JCo).doc

2008年09月08日 28KB 下载

jco(sap java connector)

2008年09月03日 3.13MB 下载

jco代码安装程序下载

2009年07月19日 2MB 下载

没有更多推荐了,返回首页

不良信息举报

SAP Java Connector(JCo)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭