Linux下Java如何连SAP
2009-10-20 10:45
120 查看
本文档测试环境:
1)Linux操作系统版本:
Red Hat Enterprise Linux Server release 5
2.6.18-8.el5
2)jdk版本
1.5.0_16
Linux下连Java连sap步骤
1)下载sapjco.jar
请到service.sap.com/connectors,下载sapjco.jar,本案下载的是sapjco-linuxintel-2.1.8.zip
2)解压zip文件,将其中librfccm.so、libsapjcorfc.so两个文件,拷贝复制到$JAVA_HOME/jre/lib/i386/server,并将sapjco.jar复制到特定目录下,然后设置CLASSPATH变量即可,本案export CLASSPATH=.:/usr/java/jdk1.5.0_16/lib:/usr/java/jdk1.5.0_16/jre/lib:/usr/wuxq/sapjco.jar
3)在进行sap rfc连接的时候,需要libstdc++-libc6.2-2.so.3库文件,可从csdn上下载,http://download.csdn.net/source/648150,将libstdc++-libc6.2-2.so.3库文件复制到librfccm.so、libsapjcorfc.so文件所在的目录即可;
4)至此,已经完成jco在linux下的安装,下一步工作就是写一个测试用例,本案调用了一个sap的RFC函数,该函数传如一个字符串参数,返回一个整形值;
·创建JCO.Client,并连接
·创建RFC函数
·置传入参数、调用函数、返回值处理
·断开连接
5)编译运行JcoTest类,可以得到返回结果1,与在sap/r3中执行函数ZSD_CALCULATE_VBELN_SO,返回结果一致。
6)相关说明:
·jco支持连接池,因此建议在应用服务里使用jco连接池;
·示例代码,只是案例演示代码,并无做任何优化处理;
·更详细说明,请参阅JCo Tutorial.pdf
·附件,请在csdn上下载,查找"jco for linux"即可
1)Linux操作系统版本:
Red Hat Enterprise Linux Server release 5
2.6.18-8.el5
2)jdk版本
1.5.0_16
Linux下连Java连sap步骤
1)下载sapjco.jar
请到service.sap.com/connectors,下载sapjco.jar,本案下载的是sapjco-linuxintel-2.1.8.zip
2)解压zip文件,将其中librfccm.so、libsapjcorfc.so两个文件,拷贝复制到$JAVA_HOME/jre/lib/i386/server,并将sapjco.jar复制到特定目录下,然后设置CLASSPATH变量即可,本案export CLASSPATH=.:/usr/java/jdk1.5.0_16/lib:/usr/java/jdk1.5.0_16/jre/lib:/usr/wuxq/sapjco.jar
3)在进行sap rfc连接的时候,需要libstdc++-libc6.2-2.so.3库文件,可从csdn上下载,http://download.csdn.net/source/648150,将libstdc++-libc6.2-2.so.3库文件复制到librfccm.so、libsapjcorfc.so文件所在的目录即可;
4)至此,已经完成jco在linux下的安装,下一步工作就是写一个测试用例,本案调用了一个sap的RFC函数,该函数传如一个字符串参数,返回一个整形值;
·创建JCO.Client,并连接
public boolean connect(){ boolean rtn = false; try{ client = JCO.createClient(sid, username, password,language,host,系统编号); //sid-集团号;language-ZH,EN等;系统编号-00等 client.connect(); rtn = true; }catch(Exception e){ e.printStackTrace(); } return rtn; } |
public JCO.Function createFunction(String name) throws Exception { try { JCO.Repository mRepository; mRepository = new JCO.Repository("ARAsoft", client); 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 int ZSD_CALCULATE_VBELN_SO() throws Exception{ JCO.Function function = createFunction("ZSD_CALCULATE_VBELN_SO"); //设置参数 JCO.ParameterList input = function.getImportParameterList(); input.setValue("0020100306", "VGBEL"); //执行函数 client.execute(function); //返回结果处理 JCO.ParameterList output = function.getExportParameterList(); int num = output.getInt("NUMS"); return num; } |
public void disConnect(){ client.disconnect(); } |
6)相关说明:
·jco支持连接池,因此建议在应用服务里使用jco连接池;
·示例代码,只是案例演示代码,并无做任何优化处理;
·更详细说明,请参阅JCo Tutorial.pdf
·附件,请在csdn上下载,查找"jco for linux"即可
相关文章推荐
- linux下如何批量杀JAVA进程或某个进程方法
- 如何在Linux上配置Java
- 如何配置sigar在Linux和Windows下使用java语言获得各种系统信息
- 如何在Linux上部署Java应用程序
- 如何在linux中启动scala程序 以及 命令行中启动java程序
- 如何在Linux下找出大量占用CPU的java线程
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
- 如何在Linux—ubuntu16.04版本下安装JAVA环境(jdk&eclipse)
- java 如何判断操作系统是Linux还是Windows?
- 如何在Linux环境上安装JAVA和配置JAVA_HOME
- 如何在阿里云linux上部署java项目
- 【详细】如何将Java源码打包成可执行的jar文件(windows&linux系统都是可以执行的)
- 如何在阿里云linux上部署java项目
- Linux 下如何运行Engine Java 程序
- 如何设定实施Java程序的Linux平安情况-2
- 如何让基于Swing的Java程序在Linux下看起来更和谐
- 如何在Linux平台命令行环境下安装Java1.7
- Linux下如何搭建Java环境
- 如何为 Linux 卸载 Java
- java如何处理linux名字乱码批量重命名问题