我没有ABAP编程的经验,我想知道是否可以从SAP应用程序中调用带有C编程语言接口的第三方库。
更确切地说,目标是在SAP应用程序内使用IBM CPLEX Optimizer(在本地计算机上运行)。 Optimizer是一个库,具有适用于C ++,Java和.NET(C#,VB.NET)的API。我想这是一个DLL文件。
那么你能否告诉我是否可以从ABAP应用程序中调用DLL的功能?
答案 0 :(得分:8)
您可以通过以下方式直接使用外部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直接在AS上运行C代码,但这超出了您的问题范围。
答案 1 :(得分:4)
是的,这是可能的,但只有在外部有一些自己的发展。 例如,您可以通过SAP的RFC协议从ABAP寻址和调用外部程序。外部程序需要使用某些SAP Connector SDK来接收此类远程函数调用。然后你自己的程序可以做任何你想做的事情,当然也可以使用其他一些程序或库。
SAP为各种编程语言和运行时环境提供了这些RFC Connector SDK:
有关详细信息,请参阅https://support.sap.com/connectors。