SAP Java Connector(JCo)
来源:互联网 发布:最新nba季后赛数据统计 编辑:程序博客网 时间:2024/04/30 00:53
JCo是一个高性能的,基于JNI的中间件,它实现了SAP的RFC(Remote Function Call)协议。
1、JCo的安装
从 http://files.cnblogs.com/byfhd/jco.rar 下载JCo,解压后将librfc32.dll和sapjcorfc.dll拷贝到WINNT"SYSTEM32下,将sapjco.jar加入项目的classpath中。
2、与SAP的连接
JCo支持两种连接方式,direct connections和connection 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对象,包含着SAP的RFM的运行环境元数据。
JCO.Repository mRepository;
mRepository = new JCO.Repository("ARAsoft", mConnection);
构造器中包含两个参数,第一个是一个任意名称,第二个是连接池或JCO.Client对象。
IFunctionTemplate对象包含着某个特定的RFM元数据,JCO.Function则代表着一个包含所有参数的RFM。它们之间的关系类似Java中Class和Object的关系。
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 Java Connector(JCo)
- SAP Java Connector(JCo)
- SAP Java Connector(JCo)
- SAP Java Connector(JCo)
- SAP Java Connector(JCo)
- sap java connector(JCO)
- SAP Java Connector(JCo) RFC
- SAP Java Connector(JCo) (转)
- SAP JCO connector 例子
- JCO java connector
- java通过jco连接sap
- JAVA通过JCO连接SAP例子
- JAVA使用JCo连接SAP介绍
- Java通过JCo连接SAP的ABAP
- Java使用Jco连接sap详解
- java使用JCO调用SAP接口
- SAP R3和JAVA交换数据之JCO
- SAP R3和JAVA交换数据之JCO
- Event Handler to trigger User process tasks when the associated Organization is updated
- 奇怪的升级逻辑
- 重写某个magento模块的某个controller
- Android的属性系统
- 数据库历史记录的处理。
- SAP Java Connector(JCo)
- 股票操作记录 2011.1.14
- C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #
- socket programming
- 物美价廉打造最适合中小企业业务体系的ERP系统
- javascript的window.onload与jquery的$(document).ready()的区别
- 用示波器测量电源噪声的方法(1)
- C# double 取 SQL Server 中的float 类型
- verify和assert验证