C# 在C中获取RFC函数模块参数

C# 在C中获取RFC函数模块参数,c#,.net,sap-dotnet-connector,C#,.net,Sap Dotnet Connector,我目前正在使用C中的SAP.NET Connector 3.0,我希望从给定的功能模块中获取诸如导入、导出和表之类的参数 在使用SAP.NET连接器执行此操作时,C中有什么方法吗?最正式、最有效的方法是调用函数RFC\u METADATA\u GET。如所述,假设您参考的是功能模块的接口定义,则从SAP系统查询和解释此RFC元数据的功能已包含在连接器库中 作为NCo 3.0的入口点,请查看RfcFunctionMetadata类中的官方API文档NCo30APIDocumentation.chm

我目前正在使用C中的SAP.NET Connector 3.0,我希望从给定的功能模块中获取诸如导入、导出和表之类的参数


在使用SAP.NET连接器执行此操作时,C中有什么方法吗?

最正式、最有效的方法是调用函数RFC\u METADATA\u GET。如

所述,假设您参考的是功能模块的接口定义,则从SAP系统查询和解释此RFC元数据的功能已包含在连接器库中


作为NCo 3.0的入口点,请查看RfcFunctionMetadata类中的官方API文档NCo30APIDocumentation.chm,并对其项进行循环。您可以从方法RfcRespository.GetFunctionMetadatastring functionName获取特定ABAP函数模块的RfcFunctionMetadata对象。

我现在尝试访问参数,您可以通过以下代码看到:RfcFunctionMetadata x;x=dest.Repository.GetFunctionMetadataRFC\u READ\u表;但是如何从变量x中获取导入、导出、更改和表参数呢?正如前面所说的:循环其项。属性ParameterCount告诉您此函数有多少个参数。然后,每个索引项属性表示函数接口的导入、导出、更改和表参数之一,即RfcParameterMetadata类的对象。感谢您的回答,我现在明白了。我还有一个问题,因为您可能知道答案,您是否能够使用RfcRepository.GetTableMetadatastring tableName获取表的数据,因为当我尝试它时,会出现错误SAP.Middleware.Connector.RfcInvalidStateException:找不到T247Yes指定的表,如果ABAP后端的数据字典中存在具有指定名称的表,并且您使用的用户ID也具有查询此元数据所需的RFC授权,则此操作应该有效。例如,使用表名KNA1测试查询。当我尝试使用数据库中存在的表执行代码时,我得到错误:SAP.Middleware.Connector.RfcInvalidStateException:找不到T247指定的表。奇怪的是,当我尝试将一些随机的东西作为表名时,我得到了一个不同的错误:SAP.Middleware.Connector.RfcInvalidStateException:metadata for TableOnly TEST123不可用:找不到:TEST123不存在活动名称选项卡。