JAVA实现SAP接口

JAVA实现SAP接口

环境spring-boot+maven

1.maven依赖

        <dependency><groupId>com.github.virtualcry</groupId><artifactId>sapjco-spring-boot-starter</artifactId><version>3.1.4</version></dependency>

2.配置文件 application.yml

jco:clients:main-client:# 服务端地址ashost: 127.0.0.1# 系统编号sysnr: 00# 系统环境client: 800# 用户名user: userName# 密码password: userPwd# 最大连接数pool-capacity: 20# 最大连接线程数peak-limit: 50# 语言language: ZH

3.在项目resources目录下创建lib文件夹并放置如下文件
sap文件
4.测试方法(以下代码放main方法里执行一样)

@Testpublic void testSap(){//获取连接工厂JCoConnectionFactory connectionFactory = JCoConnectionFactoryProvider.getSingleton().getIfAvailable();//获取连接client (main-client(同名yml配置文件中配置名))JCoClient client = connectionFactory.getClient("main-client");try {// 1.获取调用 RFC 函数对象(FUNCTION_NAME:方法名)JCoFunction func = client.getFunction("FUNCTION_NAME");// 2.1 配置传入普通参数JCoParameterList importParameterList = func.getImportParameterList();importParameterList.setValue("NAME", "XIAOMING");importParameterList.setValue("AGE", "18");// 2.2 设置传入内表参数(IN_MATNR:内表名称)JCoTable inTable = func.getTableParameterList().getTable("IN_MATNR");inTable.appendRow();inTable.setValue("USERNO","001");inTable.setValue("USERNAME","张三");inTable.setValue("USERAGE",18);inTable.appendRow();inTable.setValue("USERNO","002");inTable.setValue("USERNAME","李四");inTable.setValue("USERAGE",20);// 3.调用并获取返回值func.execute(client.getDestination());// 4.1 获取普通参数JCoParameterList exportParameterList = func.getExportParameterList();//返回代码、返回消息String returncode = exportParameterList.getString("RETURNCODE");String returnms = exportParameterList.getString("RETURNMS");System.out.println("获取返回普通参数:");System.out.println(returncode);System.out.println(returnms);// 4.2获取 返回内表 (OUTDATA:返回表名称)JCoTable maraTable = func.getTableParameterList().getTable("OUTDATA");// 循环输出 Table 数据for (int i = 0; i < maraTable.getNumRows(); i++) {System.out.println("获取返回内表数据:");maraTable.setRow(i);String code = maraTable.getString("CODE");String msg = maraTable.getString("MSG");System.out.println("获取内表code:"+code);System.out.println("获取内表msg:"+msg);}} catch (Exception e) {e.printStackTrace();}}

以上方法名、参数、内表参数、返回参数、返回内表参数 皆为甲方文档中定义,我们只需要传值和取值即可

5.正式环境运行时需要再jdk中放置以下文件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/126218.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

假期摆烂之学习javaweb

Mybatis: 概念&#xff1a; 是一款优秀的持久层框架&#xff0c;用于简化 JDBC的开发&#xff1a;持久层也就是三层架构里面的dao层&#xff0c;JDBC是规范&#xff1b;框架就是一个半成品的软件&#xff0c;是一套可重复用&#xff0c;通用的&#xff0c;软件基础代码模型&a…

文章预览 安防监控/视频存储/视频汇聚平台EasyCVR播放优化小tips

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;可实现视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码H.264、平台级联等。为了便于用户二次开发、调用与集成&#xff0c;…

Vue3入门

Vu3 更多的优势 更容易维护(组合式API;更好的支持TypeScript支持)更快的速度(重写diff算法;模板编译优化;更高效的组件初始化)更小的体积(良好的TreeShaking;按需引入)更优的数据响应式(Proxy主要是为了处理动态添加的对象属性不是响应式的问题)vue3官方文档:简介…

sql:SQL优化知识点记录(十五)

&#xff08;1&#xff09;MySQL主从复制 我们这里配置一Windows上的MySql做主机&#xff0c;Linux上的MySql做从机&#xff0c;搭建一主一从 测试以下是否能够拼通&#xff1a;从Linux上&#xff1a;167&#xff0c;连接Windows的165 从Windows的165 连接Linux上&#xff1a;…

2023--9-8 高斯消元解线性方程组

题目链接&#xff1a;高斯消元解线性方程组 #include <iostream> #include <algorithm> #include <cmath>using namespace std;const int N 110; const double eps 1e-8;int n; double a[N][N];int gauss() {int c, r;for(c 0, r 0; c < n; c){// 找到…

基于Java+SpringBoot+Vue前后端分离火锅店管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

003微信小程序云开发API数据库-新增集合-删除集合-获取集合信息

文章目录 1.微信小程序云开发API数据库-新增集合案例代码 2.微信小程序云开发API数据库-删除集合案例代码 3.微信小程序云开发API数据库-获取集合信息案例代码 1.微信小程序云开发API数据库-新增集合 微信小程序云开发API数据库是一个方便快捷的数据库解决方案&#xff0c;可以…

【Kafka系列】(一)Kafka入门

有的时候博客内容会有变动&#xff0c;首发博客是最新的&#xff0c;其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 Kafka是什么&#xff1f; 一句话概括&#xff1a;「Apache Kafka 是一款开源的消息引擎系统」 什么是消息引擎系统&#…

JVM 对象的访问方式

对象访问的方式 Java程序会通过栈上的reference数据来操作堆上的具体对象。 句柄法 Java堆中将可能会划分出一块内存来作为句柄池&#xff0c;reference中存储的就是对象的句柄地址&#xff0c;而句柄中包含了对象实例数据与类型数据各自具体的地址信息。移动的时候不…

进阶C语言-指针的进阶(上)

指针的进阶 &#x1f4d6;1.字符指针&#x1f4d6;2.指针数组&#x1f4d6;3.数组指针&#x1f388;3.1 数组指针的定义&#x1f388;3.2 &数组名VS数组名&#x1f388;3.3 数组指针的使用 &#x1f4d6;4.数组参数、指针参数&#x1f388;4.1一维数组传参&#x1f388;4.2…

VSCode下载、安装及配置、调试的一些过程理解

第一步先下载了vscode&#xff0c;官方地址为&#xff1a;https://code.visualstudio.com/Download 第二步安装vscode&#xff0c;安装环境是win10&#xff0c;安装基本上就是一步步默认即可。 第三步汉化vscode&#xff0c;这一步就是去扩展插件里面下载一个中文插件即可&am…

C++动态内存管理+模板

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; C&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大…

Web3.0:重新定义互联网的未来

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Web3.0&#xff1a;重新定义互联网的未来 Web3.0是指下一代互联网&#xff0c;也称为“分布式互联网”。相比于Web1.0和Web2.0&#xff0c;Web3.0具有更强的去中心化、…

常见的图像格式介绍:RAW、RGB、YUV

常见的图像格式有RAW、RGB、YUV这三大类 1. RAW raw图像指的是sensor输出的原始数据&#xff0c;常见的有8位、10位、12位之分&#xff0c;分别表示一个像素点所占的字节数为8bit、10bit、12bit。 raw数据常见的有四种Bayer模式&#xff1a;GRBG、RGGB、BGGR&#xff08;下图…

【力扣每日一题】2023.9.9 课程表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一些课程的先修关系&#xff0c;也就是有些课我们需要先去学其他的课程才能学习&#xff0c;问我们是否可以学习完所有的课程。…

浅谈能源汽车下乡充电桩建设优化建议及解决方案

1.趋势分析 新能源汽车下乡已经成为提振汽车市场表现、推动汽车行业发展的重要措施。国家发改委日前也提出&#xff0c;汽车消费是支撑消费的“大头”&#xff0c;将加快推进充电桩和城市停车设施建设&#xff0c;大力推动新能源汽车下乡&#xff0c;鼓励汽车企业开发更适宜县…

算法与设计分析--实验一

蛮力算法的设计与分析&#xff08;暴力&#xff09; 这次是某不知名学院开学课程的第一次实验&#xff0c;一共5道题&#xff0c;来自力扣 第一题.216组合总和*力扣题目链接 第一道题是经典的树型回溯 class Solution { public:vector<vector<int>> combinatio…

Vagrant + VirtualBox + CentOS7 + WindTerm 5分钟搭建本地linux开发环境

1、准备阶段 将环境搭建所需要的工具和文件下载好&#xff08;页面找不到可参考Tips部分&#xff09; Vagrant 版本&#xff1a;vagrant_2.2.18_x86_64.msi 链接&#xff1a;https://developer.hashicorp.com/vagrant/downloads VirtualBox 版本&#xff1a;VirtualBox-6.1.46…

k8s集群中ETCD备份和恢复

文章目录 [toc]一、etcd 概述二、安装etcdctl工具三、kubeadm部署方式部署1&#xff09;备份2&#xff09;恢复四、定时备份 五、二进制部署备份1&#xff09;备份2&#xff09;恢复1、停止apiserver和etcd2、etcd_1恢复3、etcd_2恢复4、etcd_3恢复5、启动etcd和apiserver6、检…

[docker]笔记-存储管理

1、docker数据存储分为非永久性存储和永久性存储。 非永久性存储&#xff1a;容器创建会默认创建非永久性存储&#xff0c;该存储从属于容器&#xff0c;生命周期与容器相同&#xff0c;会随着容器的关闭而消失&#xff08;可理解为内存中数据&#xff0c;会随关机而消失&…