泛微OA将流程明细表内容传给SAP

news/2024/10/9 12:42:49/

SAP_1">泛微OA 将流程的明细表数据传给SAP

在泛微二开中,经常会遇到的问题就有涉及到多个系统数据传输的问题,今天记录的就是泛微OASAP系统的数据传输,希望对你有用

SAP_3">传递参数给SAP

一般在与SAP系统传输数据的时候,需要明确SAP接收的数据是传入参数还是传入表

如果是传入参数的话,一般是通过map来实现参数的传递的,在map中指定对应的key以及value

java">String functionName = "MM_CHANGE_OA";//这个是SAP的方法名称
SAPConnectR connect = new SAPConnectR();
Map map = new HashMap();
map.put("INPUT", "U");//传递的参数key以及value
//model是将数据传给SAP之后接收的SAP返回值
SAPModel model = SAPConnect.OperSAP(map, null, null, functionName);
JCO.ParameterList outtab = model.getOuttab();//通过outtab可以获取SAP返回的表格参数数据
JCO.Table table = outtab.getTable("ITEM");//SAP方法对应的表格ITEM
//for循环遍历SAP的返回值
for (int i = 0; i < table.getNumRows(); i++) {table.setRow(i);String value1 = table.getString("value1");//根据SAP表里面的参数名获取参数
}

SAP_23">传递明细表数据给SAP

java">		String functionName = "MM_CHANGE_OA";//SAP方法名称SAPConnectR connect = new SAPConnectR();List<TableModel> list = new ArrayList<TableModel>();TableModel model2 = new TableModel();Map map = new HashMap();map.put("INPUT", "U");List list1 = new ArrayList();DetailTableInfo detail = requestInfo.getDetailTableInfo();//获取明细表的数据if (detail != null && detail.getDetailTableCount() > 0) {DetailTable d_table = detail.getDetailTable(0);// 第一个明细表Row[] rows = d_table.getRow();Map<String, String> cellMap = null;Cell[] cells = null;for (Row row : rows) {Map map1 = new HashMap();cells = row.getCell();cellMap = this.getCellMap(cells);// 明细每一列的值String VBELN = cellMap.get("ID");//ID值String POSNR = cellMap.get("INFO");//详细信息map1.put("ID", ID);map1.put("INFO", INFO);list1.add(map1);}model2.setData("IT_TABLE");//指定传送的数据表格名称model2.setList(list1);list.add(model2);SAPModel model = connect.OperSAP(map, list, null, functionName);}

map-------传的是方法参数
list---------传的是表格数据

重点:一定要注意的是需要指定传输的数据是传给SAP方法中的哪个表,这个表名必须明确!!!


http://www.ppmy.cn/news/1536641.html

相关文章

Redis篇(Redis原理 - RESP协议)

目录 一、简介 二、Redis通信协议 基于Socket自定义Redis的客户端 三、Redis内存回收 1. 过期key处理 1.1. 惰性删除 1.2. 周期删除 1.3. 知识小结 2. 内存淘汰策略 一、简介 Redis是一个CS架构的软件&#xff0c;通信一般分两步&#xff08;不包括pipeline和PubSub&a…

Pikachu-Cross-Site Scripting-xss盲打

xss盲打&#xff0c;不是一种漏洞类型&#xff0c;而是一个攻击场景&#xff1b;在前端、或者在当前页面是看不到攻击结果&#xff1b;而是在后端、在别的页面才看到结果。 登陆后台&#xff0c;查看结果&#xff1b;

C++模拟实现二叉搜索树

目录 1.二叉搜索树的概念 2.二叉搜索树的性能分析 3.二叉搜索树的结构和中序遍历 3.1二叉搜索树中节点的结构 3.2二叉搜索树的结构 3.3中序遍历 4.二叉搜索树的插入 5.二叉搜索树的查找 6.二叉树搜索树的删除 7. 二叉搜索树的默认成员函数 8.参考代码 9.二叉搜…

wsl(3) -- USB使用

1. 简介 WSL1中可以直接使用Windows的串口&#xff0c;其对应关系就是COMx对应WSL的/dev/ttySx&#xff0c;例如COM2对应WSL的/dev/ttyS2。WSL2是不支持USB设备的&#xff0c;但可以通过usbipd-win程序将windows上的usb设备映射到wsl2中&#xff0c;参考微软官方文档连接 USB …

【Android Studio】基础入门(一)—— 创建第一个 Android 项目

文章目录 前言一、创建项目二、启动模拟器三、运行程序 前言 Android Studio是谷歌官方推出的免费集成开发环境&#xff0c;专为安卓应用开发而设计&#xff0c;集成了代码编写、调试、界面设计及性能分析等多种强大功能&#xff0c;支持Java和Kotlin语言&#xff0c;极大提升了…

分布式事务讲解 - 2PC、3PC、TCC

分布式事务讲解 - 2PC、3PC、TCC 前置知识 BASE理论&#xff1a; BASE是Basically Availbale(基本可用)、Soft state(软状态)、Eventually consistent(最终一致性)三个词语的缩写。BASE理论是对CAP理论中AP的一个扩展&#xff0c;通过牺牲强一致性来获得可用性&#xff0c;当…

Git的安装配置

目录 一、git和svn的区别是什么 二、下载Git 三、安装 四、使用 一、git和svn的区别是什么 1、git是分布式的&#xff0c;svn是集中的式的 2、git存储数据时是按元数据的方式存储&#xff0c;而svn是按文件的方式存储 3、git分支和svn的分支不一样 4、git没有全局版本号…

《Programming from the Ground Up》阅读笔记:p147-p180

《Programming from the Ground Up》学习第9天&#xff0c;p147-p180总结&#xff0c;总计34页。 一、技术总结 1.Physical memeory p152, Physical memory refers to the actual RAM chips inside your computer and what they contain. 物理地址指的RAM&#xff0c;即我们…