java 通过RFC 与 SAP 做交互

java 通过RFC 与 SAP 做交互

公司要开始对接SAP系统,所以对此我们要通过RFC接口往sap抛数据 以及 可能要通过 rfc 拉sap数据。所以代码记录下,以备不时之需。

首先先把环境配置下(其实也就几个文件而已))(这东西百度就能找到
sapjco3.jar 导入jar包
sapjco3.dll 放 c:/windows/system32
//以上单机环境测试无误,但是在服务器上调用就报错。
sapjco3.dll 在放入 libs文件夹,解决。

片段一:sap 链接配置

package com.test;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
import com.test.LoggerUntil;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.ext.DestinationDataProvider;

//與sap連接的配置

//呼叫  dev環境的 rfc連接
public class SapDEVConn {
   

    private static final String ABAP_AS_POOLED = "DEV_ECD";//连接池名
    
    static{
   
        Properties connectProperties = new Properties();
        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxx.xxx.xxx.xx"); //服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR,  "xx");       //系统编号        
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx");          //客户端编号
        connectProperties.setProperty(DestinationDataProvider.JCO_USER,   SapConfig.USER);     //账户
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, SapConfig.PASSWD);   //密码        
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG,   "ZF");        //登录语言
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "30");  //最大连接数  
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "100");     //最大连接线程

        createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties);
    }

    /**
     * 创建SAP接口属性文件。
     * @param name  ABAP管道名称
     * @param suffix    属性文件后缀
     * @param properties    属性文件内容
     */
    private static void createDataFile(String name, String suffix, Properties properties){
   
        File cfg = new File(name+"."+suffix);
        if(cfg.exists()){
   
            cfg.deleteOnExit();
        }
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值