SAP之RFC_READ_TABLE
RFC_READ_TABLE 是SAP系统自带的RFC函数,用于读取SAP数据库表的结构和数据。使用方法如下:
IMPORTING
QUERY_TABLE:读取的表名
DELIMITER:输出字段(DATA参数)之间的分隔符
NO_DATA:输入’X’时,不向传出表DATA输出数据
ROWSKIP:输出的第一条数据的行号(从0开始)
ROWCOUNT:从ROWSKIP开始,一共输出的数据行数(0代表所有数据)
TABLE
OPTIONS:表查询条件,比如SKA1表,KTOPL = 'Z900’表示查收Z900账目表的会计科目数据,留空 代表所有数据。
FIELDS:输出的表字段,留空代表输出所有字段。
DATA:输出的数据记录。
假设我们要读取 Z900 账目表有所有会计科目,只需要输出 KTOPL (账目表)和 SAKNR (会计科目)两个字段
------------------------------------------------
Public Sub Read_Table_SKA1()
Dim functions As SAPFunctionsOCX.SAPFunctions
Dim options As SAPTableFactoryCtrl.Table
Dim fields As SAPTableFactoryCtrl.Table
Dim data As SAPTableFactoryCtrl.Table
Call Logon
Set functions = New SAPFunctions
Set functions.Connection = sapConnection
Dim fm As SAPFunctionsOCX.Function
Set fm = functions.Add("RFC_READ_TABLE")
fm.Exports("QUERY_TABLE").Value = "SKA1" ' 要查询的表
fm.Exports("DELIMITER").Value = "," ' Data表要存储的数据以逗号分割
Set options = fm.Tables("OPTIONS")
Set fields = fm.Tables("FIELDS")
Set data = fm.Tables("DATA")
' 以下是表参数填充的方法
' options表参数限定要选择的数据
options.FreeTable
options.AppendRow
options(1, "TEXT") = " KTOPL = 'Z900' " '第一行列名为TEXT的列增加选择条件
' fields表参数限定要输出的列,如果不限定
' 默认输出所有列
' 我只想输出KTOPL和SAKNR两列
fields.FreeTable
fields.AppendRow
fields(1, "FIELDNAME") = "KTOPL"
fields.AppendRow
fields(2, "FIELDNAME") = "SAKNR"
fm.Call
' 如果有Exception , 说明有错误产生
If fm.Exception <> "" Then
Debug.Print fm.Exception
Exit Sub
End If
' 将DATA输出到立即窗口
Dim row As SAPTableFactoryCtrl.row
Dim col As SAPTableFactoryCtrl.Column
' 按行读取,DATA表只有一列
For Each row In data.Rows
Debug.Print row.Value("WA")
Next
Call Logoff
End Sub
------------------------------------------------
表填充的方法:
填充第一行第一列: sometable(1, 1) = “XXX”
或者根据列名:sometable(1, “FIELDNAME”) = “XXX”
因为table有一个RowCount属性,我们总是可以将RowCount用于代码中,增加灵活性。比如上面的代码可以写成:
------------------------------------------------
fields.FreeTable
fields.AppendRow
fields(fields.RowCount, "FIELDNAME") = "KTOPL"
fields.AppendRow
fields(fields.RowCount, "FIELDNAME") = "SAKNR"
------------------------------------------------
文章来源:https://blog.csdn.net/stone0823/article/details/50329257
SAP之RFC_READ_TABLE的更多相关文章
- 纯干货 C# 通过 RFC_READ_TABLE 读取 SAP TABLE
SAP系统又称企业管理解决方案,是全球企业管理软件与解决方案的技术领袖,同时也是市场领导者.通过其应用软件.服务与支持,SAP持续不断向全球各行业企业提供全面的企业级管理软件解决方案. 在实际开发过程 ...
- SAP接口编程 之 JCo3.0系列(03) : Table参数
Table参数作为export parameter BAPI_COMPANYCODE_GETDETAIL是一个适合演示的函数,没有import paramter参数,调用后COMPANYCODE_GE ...
- SAP创建XML 文件
TYPES: BEGIN OF xml_line_type, data(256) TYPE x, END OF xml_line_type, xml_tab_type TYPE TABLE OF xm ...
- SAP CRM 性能小技巧
导言 本页面打算收集SAP CRM实施中可以用于避免性能问题的注意事项,重要的事项会由图标标识. 如果你有其他的技巧想要说出来,别犹豫! 性能注意事项 通用 缓存读取类访问,特别是在性能关键的地方,比 ...
- SAP CRM 树视图(TREE VIEW)
树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...
- SAP CRM 显示消息/在消息中进行导航
向用户展示消息,在任何软件中都是十分重要的. 在SAP CRM WEB UI中展示消息,不是一项很难的任务,只需要创建消息并在之后调用方法来显示它 消息类和消息号: 我在SE91中创建了如下的消息类和 ...
- BPM与 SAP & Oracle EBS集成解决方案分享
一.需求分析 SAP和Oracle EBS都是作为全球顶级的的ERP产 品,得到了众多客户的青睐.然而由于系统庞大.价格昂贵以及定位不同,客户在实施过程中经常会面临以下困惑: 1.SAP如何实现&qu ...
- 【SAP业务模式】之ICS(四):组织单元的配置
SAP的ICS业务后台配置主要有以下几个配置点: 1.组织单元的配置(公司代码.销售组织.工厂.采购组织等): 2.主数据的部分: 3.订单和开票的定价过程: 4.开票输出类型: 5.公司间发票的配置 ...
- 【SAP业务模式】之ICS(三):前台操作
本片博文开始讲解SAP前台是如何实现ICS业务模式的. 一.VA01开立销售订单 我这里为了方便,创建了一个订单类型ZMIV作为公司间销售的订单类型,其实公司间销售订单跟标准的销售订单是一致的.同时, ...
随机推荐
- BZOJ 3106: [cqoi2013]棋盘游戏
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 859 Solved: 356[Submit][Status][Discuss] Descriptio ...
- CF579 - A Raisinng bacteria
You are a lover of bacteria. You want to raise some bacteria in a box. Initially, the box is empty. ...
- 四点之间最短路(spfa+优先队列+枚举优化)UESTC1955喜马拉雅山上的猴子
喜马拉雅山上的猴子 Time Limit: 1000 MS Memory Limit: 256 MB Submit Status 余周周告诉我喜马拉雅山上有猴子,他们知道点石成金的方法.我不信 ...
- Keras开发一个神经网络
关于Keras:Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行. 使用一下命令安装: pip install keras 在Kera ...
- AcWing 291.蒙德里安的梦想
题目:蒙德里安的梦想 链接:(蒙德里安的梦想)[https://www.acwing.com/problem/content/293/] 题意:求把N * M的棋盘分割成若干个1 * 2的长方形,有多 ...
- Ceph 介绍及原理架构
- 前台get传递含中文数据到后台出现中文乱码
博客:(前后台文件编码相同)前台传后台中文乱码 4月4日补充 jsp页面第一句没有下面一句或者页面发布后查看源代码时第一句已经不在了 <%@ page language="java&q ...
- laravel55
增//save返回true false$res = new member();res->username = 'a';$res->password = 'b';dump($res-> ...
- Python 分析电影《南方车站的聚会》
<南方车站的聚会>由刁亦男执导,主要演员包括:胡歌.桂纶镁.廖凡.万茜等,该片于 2019 年 5 月 18 在戛纳电影节首映,2019 年 12 月 6 日在中国正式上映.故事灵感来自真 ...
- ngxtop(nginx实时监控工具)
原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/dea1ca3a-7 ...