是否可以从ABAP中调用库(具有C编程语言接口)?

lla*_*rov 6 sap abap cplex

我没有ABAP编程的经验,我想知道是否可以从SAP应用程序中调用带有C编程语言接口的第三方库.

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

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

Sun*_*her 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'.
Run Code Online (Sandbox Code Playgroud)

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

更好的选择可能是Trixx提到的RFC包装器.
此外,可以通过SXPG_COMMAND_EXECUTE直接在AS上运行C代码,但这超出了您的问题的范围.