SAP接口编程-RFC系列10 : BAPI控件的DimAs方法

2024-02-05 13:58

本文主要是介绍SAP接口编程-RFC系列10 : BAPI控件的DimAs方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BAPI控件的DimAs方法

上一个示例中,input parameter都是单值的。如果input parameter是结构型或table型的,就需要使用bapiControl.DimAs()方法定义,否则出错。以Customer.GetList()方法为例(对应的FM: BAPI_CUSTOMER_GETLIST)

这里写图片描述

这里写图片描述

以下是代码,注意IdRange参数是一个range table,所以用DimAs方法来定义。

Option ExplicitPublic Sub TestGetCustomerList()Call LogonCall DoGetCustomerList("0", "ZZZZ", "100")Call logoff
End SubPublic Sub DoGetCustomerList(customerFrom As String, customerTo As String, maxRow As String)Dim bapiControl As SAPBAPIControlLib.SAPBAPIControlDim customerObj As ObjectDim customerRng As SAPTableFactoryCtrl.Table  ' IdRange parameterDim address As SAPTableFactoryCtrl.TableDim ret As SAPFunctionsOCX.StructureIf sapConnection.IsConnected <> tloRfcConnected ThenDebug.Print "Please connect to SAP first."Exit SubEnd IfSet bapiControl = New SAPBAPIControlSet bapiControl.Connection = sapConnectionSet customerObj = bapiControl.GetSAPObject("Customer")' fill IdRange parameterSet customerRng = bapiControl.DimAs(customerObj, "GetList", "IdRange")customerRng.AppendRowcustomerRng.Value(1, "SIGN") = "I"customerRng.Value(1, "OPTION") = "BT"customerRng.Value(1, "LOW") = customerFromcustomerRng.Value(1, "HIGH") = customerToIf maxRow = "" ThencustomerObj.GetList IdRange:=customerRng, _AddressData:=address, _Return:=retElsecustomerObj.GetList IdRange:=customerRng, _AddressData:=address, _MaxRows:=maxRow, _Return:=retEnd If' Error occuredIf ret("TYPE") = "E" ThenCall DebugWriteBapiError(ret)Exit SubEnd IfIf address.rowcount > 0 ThenDim sht As WorksheetSet sht = ThisWorkbook.Worksheets.AddCall WriteTable(address, sht)End IfSet address = NothingSet customerObj = NothingSet bapiControl = Nothing
End SubPrivate Sub DebugWriteBapiError(error As SAPFunctionsOCX.Structure)Debug.Print "Type:", error.Value("TYPE")Debug.Print "Class:", error.Value("ID")Debug.Print "Number:", error.Value("NUMBER")Debug.Print "Message:", error.Value("MESSAGE")
End Sub

DimAs 语法:

Function DimAs(Object As Object, Method As String, Parameter As String) As Object

这篇关于SAP接口编程-RFC系列10 : BAPI控件的DimAs方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/681134

相关文章

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

Git中恢复已删除分支的几种方法

《Git中恢复已删除分支的几种方法》:本文主要介绍在Git中恢复已删除分支的几种方法,包括查找提交记录、恢复分支、推送恢复的分支等步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录1. 恢复本地删除的分支场景方法2. 恢复远程删除的分支场景方法3. 恢复未推送的本地删除分支场景方法4. 恢复

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

Java 字符数组转字符串的常用方法

《Java字符数组转字符串的常用方法》文章总结了在Java中将字符数组转换为字符串的几种常用方法,包括使用String构造函数、String.valueOf()方法、StringBuilder以及A... 目录1. 使用String构造函数1.1 基本转换方法1.2 注意事项2. 使用String.valu

Python中使用defaultdict和Counter的方法

《Python中使用defaultdict和Counter的方法》本文深入探讨了Python中的两个强大工具——defaultdict和Counter,并详细介绍了它们的工作原理、应用场景以及在实际编... 目录引言defaultdict的深入应用什么是defaultdictdefaultdict的工作原理

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写