公司在做物料主数据管理系统的时候,有时候会出现 物料 主数据缺失的情况,经过各种考量,准备通过Jco 调用ABAP 函数获取所需信息,开发测试的过程中也发生了不少情况,经过分析,问题最终得到了解决,记录下来给大家参考。
1、创建项目SAP_PART_OBTAIN,并引入相关jar包(jco-3.0.jar),将 sapjco3.dll放入“c:\windows\system32” 目录下。jar 包和dll 文件下载需要有 SAP 账号,可向负责sap 的同事咨询获取。
2、SAP 通讯账号的配置,在项目的根目录下创建名称为“as_pool.jcoDestination”的文件,文件的具体内容如下:
jco.client.ashost=192.168.100.16
jco.client.sysnr=00
jco.client.client=800
jco.client.user= username
jco.client.passwd= password
jco.client.lang=en
jco.destination.pool_capacity=3
jco.destination.peak_limit=10
3、创建到SAP 的jco 连接,关键方法如下:
public static synchronized void reConnection() {
try{
destination = JCoDestinationManager.getDestination("as_pool");
} catch (Exception e) {
e.printStackTrace();
}
}
其中的参数as_pool 就是步骤2创建的文件名。
4、建立连接后就 可以 跟sap 进行交互。
public static void main(String[] args) {
String functionName = "BAPI_MATERIAL_GET_ALL";//ABAP 函数名称
String partNo ="12345678"//参数
try {
destination = SAPConnector.getDestination();//建立连接
repository = destination.getRepository();
jCoFunction = repository.getFunction(functionName);
inputParams = jCoFunction.getImportParameterList();
inputParams.setValue("MATERIAL",partNo); // 设置输入参数的值
jCoFunction.execute(destination);
outputParams = jCoFunction.getExportParameterList();
//通过 SAP 提供的结构(structure)\表格(table)和 字段 来获取 数据,可在此封装成对象返回。
} catch (Exception e) {
e.printStackTrace();
}
}
5、其实 上述对于一般的开发者比较简单,在测试的过程中也发现了不少问题。
例如,在公司的平台上查询到的物料主数据信息通过 sap 获取不了,且没有
任何异常提示,最终跟 负责sap的同事 详细咨询后发现 缺少了 权限,这不能不说是一个没有考虑周全的地方,希望后面 相关程序提供者 更新的时候 能够弥补 下 此缺陷。
分享到:
相关推荐
要用Java程序远程调用ABAP函数可以使用SAP提供的RFC针对Java程序的API——JCo。
JCO调用SAP 包JCO调用SAP 包】
Java 使用JCO远程调用SAP RFC java 连接示例 JCO Linux 下安装详细步骤配置 JCO windows下安装详细步骤及配置 JCO linux windwos 所用到地包文件
SAPjar包(eclipse中Java使用JCO调用SAP中的RFC函数)
JAVA 通过JCO调用SAP端接口的相关包(sapjco3.jar,sapjco3.dll,sapjcorfc.dll)打包下载
SAP JCO BAPI 用于对接过程中双方编码 JCO调用rfc和BAPI基于同样的原理
JCo库提供了可以直接在Java程序中使用的API。该API通过JNI调用部署在客户端的SAP的RFC库。...相互独立发布JCo组件的架构,配置,基本使用方法以及调试,如何对RFC方式调用的ABAP函数进行远程调试。
SAP JCO调用RFC函数在Linux环境下
jco 连接sap图文 ,相当详细,大家可以参考
最近做了一个关于jco连接sap的项目,总结了一些使用技巧,文档分为三个部分,分别介绍jco简介,jco连接sap原理,jco使用技巧,并封装有大量代码,直接可以使用。
jco3.0.5新版本,windows32位的,大家快下啊。
sapjco30 SAP官网2017/7/18更新版本,Windows64...因项目开发SAP RFC接口,使用sapjco3.dll/sapjco3.jar,而网上下载多个版本的sapjco3.dll都提示版本等级太低,最后从SAP官网上下载了2017/7/18更新的文件,使用后OK。
sapjco-sapjco3部署在linux windows所需文件,包含jar包,sapjco3.dll,sapjco3.so
Java rfc调用 sap 接口 sapjco.jar sapjco.dll 文件
sapjco,sapidoc连接jar包
最新Windows_64和Linux_64下配置JCo3环境,还有配置说明和测试代码 1)将libsapjco3.so、sapjco3.jar扔到指定目录; 3、把JCo3安装目录添加到LD_LIBRARY_PATH环境变量; 4、把 安装目录sapjco3.jar添加到CLASSPATH环境...
mvn install:install-file -DgroupId=org.hibersap -DartifactId=sapjco3 -Dversion=3.0 -Dpackaging=jar -Dfile=E:/sapjco3/sapjco3-win32/sapjco3.jar 用以替换 org.hibersap 加载项下载的文件 <groupId>org....
How to Migrate from SAP JCo2 to SAP JCo3 and use SAP JCo3 in a Multi-Threaded Environment
Java通过JCO调用SAP function的实例,简单易懂 帮助快速熟悉开发
mvn install:install-file -DgroupId=org.hibersap -DartifactId=sapjco3 -Dversion=3.0 -Dpackaging=jar -Dfile=E:/sapjco3/sapjco3-win32/sapjco3.jar 用以替换 org.hibersap 加载项下载的文件 <groupId>org....