是否有可能从应用程序服务器上的文件加载动态共享对象/库并从ABAP加载它的函数(即外部函数接口)?
我知道您可以使用CALL语句调用内核函数,但是内核中是否有支持加载库和调用其函数的函数?
答案 0 :(得分:2)
我不知道可以让你这样做的内核函数。 可能是一个但内核函数肯定没有公开记录,因此您需要自己探索disp+work
可执行文件以查看是否存在。如果如果找到一个,那么您需要确定参数是什么。这不是一件容易的事。如果您正在探索,我可能会在Linux系统上执行此操作,并使用objdump
和elfsh
作为我的开始工具集。
如果我试图实现你所描述的内容,我会使用NetWeaver RFC SDK在C中编写一个通用的“库加载器”RFC服务器。我使用C,因为它可以最大限度地灵活地加载外部库。您需要处理加载库的特定于操作系统的部分(例如,在Unix系统上使用dlopen()
,在Windows上使用LoadLibrary()
/ LoadLibraryEx
),但是您可以将其包装起来通用函数模块调用中的库函数(ala,RFC_READ_TABLE
)并动态调用它们。