栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java代码方式实现SAP连接

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java代码方式实现SAP连接

在开始之前需要导入如下的三个文件:

在Java文件夹下新建一个lib文件夹,把下面的JCO3文件添加到lib文件后右键lib文件。选择Add to library即可。

 然后就可以开始写代码。

我在整个开始的函数段定义了自己需要的连接字段:

private static String ASHOST = "";
    //sap系统编号
    private static String SYSNR = "";
    //sap集团
    private static String CLIENT = "";
    //sap用户名与密码
    private static String USER = "";
    private static String PASSWD = "";
    //语言
    private static String LANG = "";
    //最大连接数
    private static String POOL_CAPACITY = "";
    //最大链接线程
    private static String PEAK_LIMIT = "";
    //SAP ROUTER
    private static String SAPROUTER = "";

    private final static String ABAP_AS_POOLED = "";

这是关于SAP初始链接的函数段。

    private static void initProperties() {
        Properties connectProperties = new Properties();
        // SAP服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, ASHOST);
        // SAP系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR,SYSNR);
        // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT,CLIENT);
        // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, USER);
        // SAP密码
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, PASSWD);
        // SAP登录语言
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, LANG);
        // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY,POOL_CAPACITY);
        // 最大连接线程
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT,PEAK_LIMIT);
        // SAP ROUTER
        connectProperties.setProperty(DestinationDataProvider.JCO_SAPROUTER, SAPROUTER);

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

createDataFile函数:

    
    private static void createDataFile(String name, String suffix, Properties properties){
        File cfg = new File(name+"."+suffix);
        if(cfg.exists()){
            cfg.deleteonExit();
        }
        try{
            FileOutputStream fos = new FileOutputStream(cfg, false);
            properties.store(fos, "for tests only !");
            fos.close();
        }catch (Exception e){
            System.out.println("Create Data file fault, error msg: " + e.toString());
            throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e);
        }
    }

SAP链接:

    public static JCoDestination connect(){
        System.out.println("开始尝试链接!");
        //JCoDestination代表后台SAP系统,程序员不用关心与SAP的连接,jco3.0运行时环境负责管理连接和释放连接。
        JCoDestination destination = null;
        initProperties();
        try {
            destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED);
            //调用ping()方法测试SAP系统的连接
            destination.ping();
            System.out.println("成功建立和sap的连接!");
        } catch (JCoException e) {
            System.out.println("链接失败,错误日志: " + e.toString());
        }
        return destination;
    }

这次的内容借鉴了如下链接的文章:

(一)通过JAVA连接SAP调用接口 (sapjco3.jar在Windows和MacOS上的配置)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/351291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号