1.确保已经连通sap

2.发送数据:这是以表的形式发送,而且是批量发送给sap

3.接收sap返回信息:这个比较特别,碰到时试一试

package com.yiyezhiqiu.lyh.utils;

import com.alibaba.fastjson.JSON;
import com.sap.conn.jco.*;
import com.yiyezhiqiu.lyh.domain.Job;
import com.yiyezhiqiu.lyh.service.IWorkTimeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j public class TestSap { @Autowired
IWorkTimeService workTimeService; public Map contextLoads(List<Job> jobList) { String xmlStr = "";
Map<String ,Object> maps = null;
for(Job list:jobList){
System.out.println("joblist"+list.getID()+"一叶知秋"+jobList.size()+list.getLSTAR());
} JCoDestination destination = null;
try{
SapConnection connection = new SapConnection();
destination = connection.connection();
}catch(Exception e){
return maps;
} log.info("JCoDestination: "+destination);
try {
if (destination != null) {
JCoFunction function;
try{
function = destination.getRepository().getFunction("ZFMMM_READ_XXXXX");
}catch(Exception e){
return maps;
} // function.getImportParameterList().setValue("I_DATA", jobList);
for(Job list:jobList){
JCoTable table = function.getTableParameterList().getTable("I_DATA");
table.appendRow();
table.setValue("ID",list.getID());
table.setValue("ARWKS",list.getARWKS());
table.setValue("VGE01",list.getVGE01());
table.setValue("TELPO",list.getTELPO());
table.setValue("PTYPE",list.getPTYPE());
table.setValue("BUDAT",list.getBUDAT());
table.setValue("CARDNAME",list.getCARDNAME());
table.setValue("CARDNO",list.getCARDNO());
table.setValue("ARBPL",list.getARBPL());
table.setValue("WRTNR",list.getWRTNR());
table.setValue("ZZPROJE",list.getZZPROJE());
table.setValue("WORKP",list.getWORKP());
table.setValue("AUFNR",list.getAUFNR());
table.setValue("JOBTYPENAME",list.getJOBTYPENAME());
table.setValue("JOBTYPE",list.getJOBTYPE());
table.setValue("LIFNR",list.getLIFNR());
table.setValue("LINEDNAME",list.getLINEDNAME());
table.setValue("LINED",list.getLINED());
table.setValue("ISDDZ",list.getISDDZ());
table.setValue("IEDDZ",list.getIEDDZ());
table.setValue("BGTYP",list.getBGTYP());
table.setValue("VGWRT",list.getVGWRT());
table.setValue("LSTAR",list.getLSTAR());
table.setValue("SJPNO",list.getSJPNO());
table.setValue("USNAM",list.getUSNAM());
table.setValue("CPUDT",list.getCPUDT());
table.setValue("AEDAT",list.getAEDAT());
table.setValue("FLAG",list.getFLAG());
table.setValue("TEXT",list.getTEXT());
table.setValue("ZDEL",list.getZDEL());
table.setValue("CPUDT1",list.getCPUDT1());
table.setValue("CPUTM1",list.getCPUTM1());
table.setValue("APUDT1",list.getAPUDT1());
table.setValue("APUTM1",list.getAPUTM1());
table.setValue("PHASE",list.getPHASE());
table.setValue("BATCH",list.getBATCH());
table.setValue("RUECK",list.getRUECK());
table.setValue("RMZHL",list.getRMZHL());
table.setValue("BLART",list.getBLART());
table.setValue("DSNAM",list.getDSNAM());
table.setValue("DEDAT",list.getDEDAT());
table.setValue("BELNR",list.getBELNR());
table.setValue("F01",list.getF01());
table.setValue("F02",list.getF02());
table.setValue("F03",list.getF03());
table.setValue("F04",list.getF04());
table.setValue("F05",list.getF05());
table.setValue("F06",list.getF06());
table.setValue("F07",list.getF07());
table.setValue("F08",list.getF08());
} function.execute(destination); // JCoParameterList tablePort = function.getTableParameterList(); //info = tablePort.toXML();
// System.out.println("info:"+info); // XmlParse xmlParse = new XmlParse();
//xmlStr = xmlParse.getXmlAttribute(info); JCoStructure r1 = function.getExportParameterList().getStructure("GS_XXXX"); String type = "";
String message = "";
type = r1.getString("TYPE");
message = r1.getString("MESSAGE");
maps = new HashMap<>();
maps.put("type",type);
maps.put("message",message);
return maps;
}
}catch (JCoException e){
e.printStackTrace();
} return maps; }
}

发送数据给sap和接收的更多相关文章

  1. C#使用HttpWebRequest发送数据和使用HttpWebResponse接收数据的一个简单示例

    新建一个.NET Core控制台项目,代码如下所示: using System; using System.Text; using System.Net; using System.Collectio ...

  2. postman发送数据,django 获取接收数据

    postman发起请求如下图 在django中使用如下方式获取token print(request.META) token = request.META.get('HTTP_X_TOKEN')

  3. AJAX中使用post,get接收发送数据的区别

    如何发起请求 xhr.send(); 备注: 如果是get方式,send()命令中不用写任何参数 传递的数据可以写在url中,服务器用$_GEET["参数名"]接收 如果是post ...

  4. Http协议以及模拟http请求发送数据

    1 为什么要使用http协议 假设我现在有两个客户端浏览器,一个是google,一个是IE浏览器:我现在有两个服务器,一个是tomcat,一个是JBoss;在最初的情况下是:如果google要往tom ...

  5. C# TCP socket发送大数据包时,接收端和发送端数据不一致 服务端接收Receive不完全

    简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TCP ...

  6. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题

    STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...

  7. C#串口通信—向串口发送数据,同步接收返回数据

    最近写C#串口通信程序,系统是B/S架构.SerialPort类有一个DataReceived事件,用来接收串口返回的数据,但这种方式在C/S架构下很好用,但B/S就不好处理了.所以写了一个同步模式接 ...

  8. Java基础知识强化之网络编程笔记06:TCP之TCP协议发送数据 和 接收数据

    1. TCP协议发送数据 和 接收数据 TCP协议接收数据:• 创建接收端的Socket对象• 监听客户端连接.返回一个对应的Socket对象• 获取输入流,读取数据显示在控制台• 释放资源 TCP协 ...

  9. Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据

    1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源  UDP协议接 ...

随机推荐

  1. python常见函数积累

    shape() 返回数组或者数据框有多少行或者多少列 import numpy as np x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]]) #输出数组的 ...

  2. HTML+PHP+MySQL 制作最基础的登录页面及验证

    第一步 进入mysql操作终端 新建一个数据库web1:create database web1; 然后在这个数据库里面新建一张表test:create table test(user varchar ...

  3. Linux开机加载过程

    2015-01-06 10:29:13   目录 1 开机加载简介 2 常规加载流程 2.1 加载BIOS 2.2 读取MBR 2.3 boot loader 2.4 加载内核 2.5 init依据i ...

  4. Power Strings[poj2406]题解

    Power Strings Description - Given two strings a and b we define ab to be their concatenation. For ex ...

  5. CLOUD将excel数据引入单据体

    http://club.kingdee.com/forum.php?mod=viewthread&tid=989239 http://club.kingdee.com/forum.php?mo ...

  6. [TJOI2013] 奖学金 - 堆

    按 a 排序,暴力用堆维护两侧预处理, 然后枚举中位数即可 #include <bits/stdc++.h> using namespace std; #define int long l ...

  7. 修复ThinkPHP导出excel数字过大时显示为科学记数法

    修复ThinkPHP导出excel数字过大时显示为科学记数法,这种显示对于查看的用户来说是及其不友好的.所以,我们要使其转化为正常的数字串! 我在google 的过程中,查了一些资料.其中 1).// ...

  8. 番外:可刷新PDB的管理操作(如何切换PDB Switching Over)

    基于版本:19c (12.2.0.3) AskScuti 主题:可刷新PDB如何进行切换操作 内容说明:本篇延续如何克隆可刷新的PDB(Refreshable PDB)一文,进行切换实验. 具体请参考 ...

  9. 记录 shell学习过程(7) case 以及 shell 的特殊变量

    case 语法 read -p "num:" n case $n in ) echo haha ;; ) echo hehe ;; ) echo heiehi ;; *) echo ...

  10. jQuery尺寸

    jQuery 尺寸 jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包 ...