Linux下Java如何连SAP

本文介绍如何在Linux环境下使用Java连接SAP系统。主要包括下载并配置sapjco.jar,设置必要的环境变量,以及编写Java示例代码来调用SAP的RFC函数。

本文档测试环境:

1Linux操作系统版本:

Red Hat Enterprise Linux Server release 5

2.6.18-8.el5

2jdk版本

1.5.0_16

Linux下连Javasap步骤

1)下载sapjco.jar

请到service.sap.com/connectors,下载sapjco.jar,本案下载的是sapjco-linuxintel-2.1.8.zip

2)解压zip文件,将其中librfccm.solibsapjcorfc.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.youkuaiyun.com/source/648150,将libstdc++-libc6.2-2.so.3库文件复制到librfccm.solibsapjcorfc.so文件所在的目录即可;

4)至此,已经完成jcolinux下的安装,下一步工作就是写一个测试用例,本案调用了一个sapRFC函数,该函数传如一个字符串参数,返回一个整形值;

·创建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;

}

·创建RFC函数

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

}

5)编译运行JcoTest类,可以得到返回结果1,与在sap/r3中执行函数ZSD_CALCULATE_VBELN_SO,返回结果一致。

6)相关说明:

·jco支持连接池,因此建议在应用服务里使用jco连接池;

·示例代码,只是案例演示代码,并无做任何优化处理;

·更详细说明,请参阅JCo Tutorial.pdf

·附件,请在csdn上下载,查找"jco for linux"即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值