是一个可从ABAP内的库(带有C编程语言接口)



我没有ABAP编程的经验,我想知道是否可以从SAP应用程序中调用使用C编程语言界面的第三方库。

更确切地说,目标是在SAP应用程序中使用IBM CPLEX优化器(在本地计算机上运行)。优化器是一个库,具有适用于C ,Java和.net(C#,VB.NET)的API。我想这是一个dll文件。

那么,您能告诉我是否可以从ABAP应用程序中调用DLL的功能?

您可以直接以以下方式使用外部DLL:

 DATA: cmp_dll TYPE ole2_object.
 CREATE OBJECT cmp_dll 'COMPANY.STOCK_DLL'.
 CALL METHOD OF cmp_dll 'check_order' = order
 EXPORTING p_num = 'number'
           p_date = 'date'
           p_vendor = 'vendor'.

在此之前,您应该在SOLE事务中注册DLL,可以在客户端或应用程序服务器上注册(因此可从任何客户端访问)。

更好的选项可能是Trixx提到的RFC包装器。
另外,可以直接通过SXPG_COMMAND_EXECUTE直接运行C代码,但这是您问题的范围。

是的,这是可能的,但只有在外侧进行某些开发。例如,您可以通过SAP的RFC协议从ABAP寻址和调用外部程序。外部程序需要使用一些SAP连接器SDK接收此类远程功能调用。然后,您自己的程序可以做任何您想做的事,当然还使用其他一些程序或库。

SAP为各种编程语言和运行时环境提供这些RFC连接器SDK:

  • 用于Java:SAP Java Connector(JCO)
  • for .net:SAP .NET连接器(NCO)
  • 对于C/C :SAP NetWeaver RFC SDK(NW RFC SDK)

请参阅https://support.sap.com/connectors有关更多信息。

最新更新