SAP接口编程-RFC系列06 : Table作为输入参数
来源:互联网 发布:网络安全法 执法 编辑:程序博客网 时间:2024/04/30 09:43
Table作为输入参数
调用SAP FM的时候,如果table作为输入参数,调用前需要填充。本篇讲述填充的方法,以RFC_READ_TABLE为例。
RFC_READ_TABLE用于读取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 LogoffEnd Sub
表填充的方法:
填充第一行第一列: sometable(1, 1) = “XXX”
或者根据列名:sometable(1, “FIELDNAME”) = “XXX”
因为table有一个RowCount属性,我们总是可以将RowCount用于代码中,增加灵活性。比如上面的代码可以写成:
fields.FreeTablefields.AppendRowfields(fields.RowCount, "FIELDNAME") = "KTOPL"fields.AppendRowfields(fields.RowCount, "FIELDNAME") = "SAKNR"
0 0
- SAP接口编程-RFC系列06 : Table作为输入参数
- SAP接口编程-RFC系列05 : Table作为输出参数
- SAP接口编程-RFC系列13 : Table Parameter作为输入参数
- SAP接口编程-RFC系列12 : Table Parameter作为输出参数
- SAP接口编程之 NCo3.0系列(05) : Table作为输入参数
- SAP接口编程之 NCo3.0系列(04) : Table作为输出参数
- SAP接口编程-RFC系列03 : RFC调用SAP函数
- SAP接口编程-RFC系列01 : RFC Hello World
- SAP接口编程-RFC系列11:C#语言调用RFC
- SAP接口编程 之 JCo3.0系列(03) : Table参数
- SAP接口编程-RFC系列04 : 动态调用SAP函数
- SAP接口编程-RFC系列02 : Connection对象
- SAP接口编程-RFC系列09 : 使用BAPI
- SAP接口编程-RFC系列15 : 调用自定义FM
- SAP接口编程-RFC系列08 : 获取SAP DDIC的数据字段
- SAP接口编程-RFC系列14 : 获取SAP DDIC的数据字段
- SAP接口编程-RFC系列07 : 通用的数据库表读取
- SAP接口编程-RFC系列10 : BAPI控件的DimAs方法
- LitePal 使用方法简单总结
- 图像处理与识别书籍介绍
- Scala StatCounter类
- Mongodb 管理
- rpc那点东西
- SAP接口编程-RFC系列06 : Table作为输入参数
- webstorm更改项目的默认编码方式
- lazyload.js详解
- Error---Access is denied
- 技术代码
- 黑马程序员_java基础_其他对象
- 【Android 学习】隐藏导航控件&全屏UI模式
- Android通知栏点击通知消失
- android LruCache类简介