欢迎来到天天文库
浏览记录
ID:59295903
大小:49.00 KB
页数:16页
时间:2020-09-06
《针对Java程序调用RFC的API——JCo.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、要用Java程序远程调用ABAP函数可以使用SAP提供的RFC针对Java程序的API——JCo。0.JCo的安装很不幸,虽然JCo是用Java语言编写的但却是平台相关的。(具体来说,JCo的Java包sapjco.jar确实是平台无关的,但是运行JCo需要RFC库支持,而RFC库是平台相关的)目前为止我还只有在Windows系统中安装的版本,因为JCo不是一个开源组件,甚至在SAP官方下载它是需要SAPServiceMarketPlace的用户帐号的。目前我手上的是JCo2.1.6Windows版本。除了API文档和一些DEMO程序,你需要用到的有3个文件
2、:librfc32.dll,sapjcorfc.dll,sapjco.jar。 安装配置步骤如下:(1).将sapjco.jar导入到你的项目库路径中。SAP官方的指导是要你配置CLASSPATH,这种方法在我看来不值得提倡,因为eclipse或netBeans这样的IDE可以帮你轻松导入jar库而无需摆弄系统环境变量。(2).将sapjcorfc.dll文件拷贝至sapjco.jar所在的文件夹中。注意,这两个文件必须放在同一个文件夹里,它们俩必须像热恋中的情人一样一直黏在一起才能使JCo正常工作。(3).将librfc32.dll文件拷贝至C:WIND
3、OWSsystem32中。如果系统中已安装过SAP客户端,那么可能本来就已经有一个librfc32.dll在那里了,SAP官方要求你覆盖那个文件,这是一种很不负责的方法。当你覆盖这个文件后很可能你的SAPLogon就无法工作了。正确的做法是备份原来的文件,然后尝试覆盖后使用SAPLogon,如果出问题了,把原来那个文件找回来。我在安装了710FinalRelease版本的SAPLogon机器上使用原来的librfc32.dll运行JCo目前还没有发生什么异常。 好了,到现在为止,JCo算是安装好了,我们可以开始编写程序了。 1.使用JCo调用远程ABAP函
4、数使用Java程序远程调用ABAP函数的大致流程是这样地:先要有SAP系统所在服务器的IP地址、要登录的SAP系统的客户端号、系统编号、用户名、用户密码,有了这些后,就可以建立一个到该SAP系统的连接,然后在这个连接上调用允许远程调用的函数,得到调用后的结果,关闭连接。这其中牵涉到一些细节,我们先看程序: packagejcousage; importcom.sap.mw.jco.IFunctionTemplate;importcom.sap.mw.jco.JCO;importjava.util.Properties; publicclassTestJCo{
5、 publicstaticvoidmain(String[]args){/*获得一个到SAP系统的连接 START */ PropertieslogonProperties=newProperties(); logonProperties.put("jco.client.ashost","192.168.1.123");//系统的IP地址 logonProperties.put("jco.client.client","800"); //要登录的客户端 logonProperties.pu
6、t("jco.client.sysnr","00"); //系统编号 logonProperties.put("jco.client.user","young98"); //登录用户名 logonProperties.put("jco.client.passwd","password"); //用户登录口令 //用上述条件创建一个连接对象 JCO.ClientmyConnection=JCO.createClient(logonProperties);/*获得一个到S
7、AP系统的连接 END */ myConnection.connect(); //进行实际连接 //如果连接不为null并且处于活动状态 if(myConnection!=null&&myConnection.isAlive()){ //从连接获得一个逻辑意义上的“仓库”对象(Repository) JCO.RepositorymyRepository= newJCO.Repository("Repository", //只是一个名字
8、
此文档下载收益归作者所有