SAP接口编程-RFC系列08 : 获取SAP DDIC的数据字段
来源:互联网 发布:自学ug编程 编辑:程序博客网 时间:2024/04/30 15:13
获取DDIC的数据字段
如果想获取数据表的字段,使用RFC_READ_TABLE,设置NO_DATA为”X”。也可以使用SAPFunctions.CreateStructure()方法。这个方法更具通用性,能够从DDIC的数据类型中获取相关信息。
以下是示例代码。注意返回的结构是一个复合型结构,每一列包含了诸如列名,数据类型,数据长度,小数位等信息。所以为了直观和调试,使用数组解析和输出。
logon()和logoff()的代码请参考以前博文。
Option ExplicitPublic Sub TestGetTableStructure() Call Logon Call GetTableStructure("SKA1") Call logoffEnd SubPrivate Sub GetTableStructure(tableName As String) If sapConnection Is Nothing Or sapConnection.IsConnected <> tloRfcConnected Then Debug.Print "Please connect." Exit Sub End If Dim functions As New SAPFunctionsOCX.SAPFunctions Set functions.Connection = sapConnection Dim ddicFields As SAPFunctionsOCX.Structure ' data dictionary fields Set ddicFields = functions.CreateStructure(tableName) ' get fields from tableName Dim arr() As Variant arr = StructToArray(ddicFields) ' Print structure Dim row As Integer Dim col As Integer For row = 1 To UBound(arr, 1) For col = 1 To UBound(arr, 2) Debug.Print arr(row, col), Next Debug.Print ' new line NextEnd SubPrivate Function StructToArray(struct As SAPFunctionsOCX.Structure) As Variant Dim arr() As Variant Dim cols As Integer cols = struct.ColumnCount ReDim arr(1 To cols, 1 To 3) As Variant ' rowcount is cols ,column count is 3 ' 可以把strcut理解为一个复合结构,每一个元素包括多项内容 ' 使用二维的array还原成行列格式 Dim i As Integer For i = 1 To struct.ColumnCount arr(i, 1) = struct.ColumnName(i) '第一列为列名 arr(i, 2) = Str(struct.ColumnSAPType(i)) ' 第二列为类型 arr(i, 3) = struct.ColumnLength(i) '第三列为长度 Next StructToArray = arrEnd Function
0 0
- SAP接口编程-RFC系列08 : 获取SAP DDIC的数据字段
- SAP接口编程-RFC系列14 : 获取SAP DDIC的数据字段
- SAP接口编程-RFC系列03 : RFC调用SAP函数
- SAP接口编程-RFC系列04 : 动态调用SAP函数
- SAP接口编程-RFC系列01 : RFC Hello World
- SAP接口编程-RFC系列11:C#语言调用RFC
- SAP接口编程-RFC系列02 : Connection对象
- SAP接口编程-RFC系列05 : Table作为输出参数
- SAP接口编程-RFC系列06 : Table作为输入参数
- SAP接口编程-RFC系列09 : 使用BAPI
- SAP接口编程-RFC系列15 : 调用自定义FM
- sap的rfc接口调用
- SAP接口编程-RFC系列07 : 通用的数据库表读取
- SAP接口编程-RFC系列10 : BAPI控件的DimAs方法
- RFC调用sap接口
- VFP连接SAP的RFC函数接口
- PB调用SAP的RFC函数接口
- java调用sap的RFC接口
- Python装饰器与面向切面编程
- swing入门教程(二) 简单的swing小部件
- 自定义View之onMeasure()
- OPENCV的highgui工程在vc6.0下编译出错的解决
- hive实战演练:手机流量统计
- SAP接口编程-RFC系列08 : 获取SAP DDIC的数据字段
- OGL浅学_雾效果
- c#之显示实现接口
- 【Boost】boost库中的小工具enable_shared_from_this
- Android开发学习之路--UI之初体验
- PAT 1001
- swift开源项目精选(已经造好的轮子)
- C++ 排序算法实现 及 性能比较
- Android 第九天(上午)