我正在尝试将SAP进程(由BODS实现)转换为Server (SSIS)。
该过程用于增量更改(每15分钟一次),该对象在SAP中称为“0FI_AP_4”。我想要实现一个SSIS包( Server存储过程)来做同样的事情。
在BODS中实现这个包的人已经不在了,我对SAP或BODS一无所知。
我可以看到这个包的数据源名是“BWFID_GET_FIAP_ITEM”,这是一个函数模块。
我需要知道哪个SAP表是由这个包填充的,还是由函数模块“BWFID_GET_FIAP_ITEM”填充的。
如何才能找到这个包实现的过程?
或者如何找到这个功能模块的源表和目标表?
我可以使用SQL Server中的openquery或opensql调用这个函数模块,并访问SAP表的结果吗?
发布于 2019-06-01 11:44:40
假设您的退休同事指定RFC FM作为BODS工作的来源。

你需要做两件事
根据FM的实现,将所有FM逻辑转移到SQL过程的任务可能是巨大的,因此,为了尽量减少您的工作量,您可以只在SQL中实现映射/代码,其余的所有FM逻辑都直接调用。下面是您可以使用的VBScript代码示例
Function Connect_RFC ()
dim retcd
Set funcControl = CreateObject ("SAP.Functions")
set objconnection=funcControl.connection
objconnection.ApplicationServer = "sap.bods.server.com"
objconnection.System="B06"
objconnection.Client="403"
objconnection.User="boqas"
objconnection.Password="x3x33"
objconnection.Language"'PT"
objconnection.tracelevel=6
objconnection.SystemNumber="01"
retcd = objconnection.Logon(0, True) ' Calling logon method
if retcd = False Then
msgbox "retcd = FALSE"
end if
set tab_handle = funcControl.Add( "BWFID_GET_FIAP_ITEM" )
tab_handle.call
set TDATA = tab_handle.tables ("T_INPUT") ' input table parameter for FM
if retcd = True then
Connect_RFC = True
else
Connect_RFC = False
end if
End Function此外,查看的SAP BW来源组件,可以从SSIS设计器调用RFC模块。这个简单的指南深入研究SAP体系结构也将帮助您找到解决方案。
https://stackoverflow.com/questions/52999236
复制相似问题