对于我的C#应用​​程序,我需要根据使用选择从SAP Tables访问一些数据。在这种情况下,我利用.net连接器+ RFC_READ_TABLE从单个表中读取数据,并且可以正常工作。经过进一步审查,我发现此方法存在3个问题。


SAP不支持RFC_READ_TABLE的RFC,因此大多数专家都同意不应在生产中使用它
RFC_READ_TABLE不支持表联接。
Select *查询在大多数情况下不起作用,因为会引发data_buffer_exceed错误


我在ABAP方面进行了一些研究,但没有找到任何其他可以接受SQL语句作为运行时输入参数的API / RFC / BAPI。我需要这样的东西

DataTable函数(输入SQL语句)

任何帮助

最佳答案

1)不支持RFC_READ_TABLE SAP的RFC == >>数百万的客户在SAP自己的开发范围内使用它。这是用于通用表访问的官方API。使用它,不用担心。

2)RFC_READ_TABLE不支持表连接== >>您始终可以在自己的应用程序中进行连接。如果您不想执行或无法执行(例如出于性能原因),请让您的ABAP联系人为您准备一个启用RFC的功能模块。这与成为BAPI无关。 BAPI的含义完全不同。 BAPI可能非常困难,这是正确的,但是启用RFC的查询功能不是BAPI。 BAPI经常是启用RFC的,但是这些之间没有任何联系。

3)Select *查询在大多数情况下不起作用,因为会引发data_buffer_exceed错误== >>出于所有应有的尊重,您不应该阅读所有内容,您需要首先进行研究,仅请求您真正需要的字段。除非这是某种BI通用工具,否则您不需要所有字段。我可以从经验中看出。

欢呼奥托

10-08 16:37