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作为公司间销售的订单类型,其实公司间销售订单跟标准的销售订单是一致的.同时, ...
随机推荐
- MRC ARC 混编
今天一个人问我 什么是MRC 什么是ARC 要是一个工程里用到了MRC和ARC 怎么办 我当时就无语了 什么情况 这是.... 好了正经一点 我说一下iOS5.0以后就开始可以使用ARC( Aut ...
- cf448D Multiplication Table 二分
题目:http://codeforces.com/problemset/problem/448/D 题意:给出n,m,k,即在一个n*m的二维数组中找第k大的数,第i行第j列的数的值为i*j. 思路: ...
- LightOj-1030 Discovering Gold (期望DP)
You are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell of the cave c ...
- CodeForces985G Team Players
G. Team Players time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- 【Git】405- 分享:大牛总结的 Git 使用技巧
作者:你喜欢吃青椒么 来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作 ...
- centos7 启动停止命令
apache启动systemctl start httpd停止systemctl stop httpd重启systemctl restart httpd mysql启动systemctl start ...
- android studio 代码问题总结
1,android studio隐藏title时,用eclipse里面的方法不行,所以用下面的代码解决,此代码需要写在 加载xml文件之后 getSupportActionBar().hide(); ...
- 使用between操作符过滤数据
select prod_name,prod_price from products where prod_price between 5 and 10; 就可以查询处5-10之间的所有数据 betwe ...
- spf13-vim 显示neocomplete requires ...th Lua support
安装spf13-vim的时候下载了许多插件,neocomplete应该是比较重要的一个,毕竟自动补全.但是在使用时却一直有:neocomplete requires ...th Lua support ...
- [ASP.NET Core 3框架揭秘] 配置[7]:多样化的配置源[中篇]
物理文件是我们最常用到的原始配置载体,而最佳的配置文件格式主要有三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...