我建议使用带有 DI API 的记录集 -SAPbobsCOM.Recordset rs = ((SAPbobsCOM.Company)oCompany.GetDICompany()).GetBusinessObject(BoObjectTypes.BoRecordset); rs.DoQuery("SELECT DocEntry, DocNum, DocDate, TaxDate, CardCode, CardName, DocTotal FROM OPOR ORDER BY DocDate ASC"); while (!rs.EoF) { int DocEntry = rs.Fields.Item("DocEntry").Value; //或 DocEntry = rs.Fields.Item(0).Value; rs.MoveNext(); }
在 SAP 系统中,使用 RFC 接口指定 func 中的远程启用函数模块的异步调用 (aRFC)。添加 DESTINATION 用于在 dest 中指定单个目标,或使用 IN GROUP 指定一组应用程序服务器。后者支持多个函数模块的并行处理。查看以下链接,其中介绍了异步 RFC:https://help.sap.com/http.svc/rc/abapdocu_751_index_htm/7.51/en-US/abapcall_function_starting.htm#!ABAP_ADDITION_2@2@
查看处理并行处理的代码-gv_semaphore = 0. DESCRIBE TABLE lt_itab LINES lv_lines. LOOP AT lt_itab INTO ls_itab. CALL FUNCTION 'ZABC' STARTING NEW TASK taskname DESTINATION IN GROUP srv_grp PERFORMING come_back ON END OF TASK EXPORTING ... EXCEPTIONS ... . "
要使用 SSIS 提取,您需要访问后端系统。您可以使用 .NET 连接器并编写一个 Windows 应用程序,该应用程序使用函数模块从 SAP 系统提取数据。有关如何使用 .NET 连接器连接 SAP 的更多详细信息,您可以参考此博客- https://blogs.sap.com/2013/02/14/connecting-to-sap-with-nco-3/使用 BAPI,您可以允许外部应用程序访问 R/3 系统中的业务流程和数据。以下代码用于调用 BAPI。首先是创建一个实现 IDestinationConfiguration 的类-Imports SAP.Middleware.Connector Public Class ECCDestinationConfig Implements IDestinationConfiguration Public Event ConfigurationChanged(ByVal destinationName As String, ByVal args As ... 阅读更多