根据这个问题的评论。SAP RFC 支持 GUI:
为什么 cl_salv_bs_runtime_info=>get_data_ref() 的 r_data_line_descr 没有绑定?
在哪里可以找到有关 SAP RFC 的此功能的更多信息?
引用上面的评论:
此外,RFC 支持 GUI,前提是您在打开 RFC 连接时选择它(默认情况下使用 SAP 激活)
我使用 PyRFC,但我猜这个特性适用于 SAP RFC 的所有客户端实现。
根据这个问题的评论。SAP RFC 支持 GUI:
为什么 cl_salv_bs_runtime_info=>get_data_ref() 的 r_data_line_descr 没有绑定?
在哪里可以找到有关 SAP RFC 的此功能的更多信息?
引用上面的评论:
此外,RFC 支持 GUI,前提是您在打开 RFC 连接时选择它(默认情况下使用 SAP 激活)
我使用 PyRFC,但我猜这个特性适用于 SAP RFC 的所有客户端实现。
作为该评论的作者,让我解释一下我的意思。
首先,我的评论是针对“如果您通过RFC调用代码,则没有GUI连接到服务器”,如果我理解它的含义,如果您在激活SAP GUI参数的情况下启动连接是错误的,即可以通过显示 SAP GUI 屏幕的 RFC 运行 SAP 功能(前提是客户端上安装了 SAP GUI)。否则,ABAP 代码将在显示屏幕时失败(未连接 SAP GUI)。
我没有找到这个参数的任何官方文档。
我只知道这两种语言的参数:
在COM/ActiveX中,它是RfcWithDialog
类的属性SAPLogonCtrl.Connection
:
Dim connParam As SAPLogonControl
Dim connHandle As SAPLogonCtrl.Connection
set connParam = New SAPLogonControl
connParam.ApplicationServer = "atlas.XXXXXXXX"
connParam.System = "DK1"
connParam.SystemNumber = 02 'system 00, 01, ...
connParam.client = "100"
connParam.user = "xxxxxx"
connParam.Password = "xxxxxx"
connParam.Language = "EN"
connParam.Enabled = False
Set connHandle = connParam.NewConnection
connHandle.RfcWithDialog = 1
在.NET中,它UseSAPGui
是 class的属性RfcConfigParameters
。
PS:我不认为这个参数会对你的其他问题有所帮助。
PyRFC 在底层使用 NW RFC 库 (sapnwrfc.dll),该库支持与 COM 控件和 .NET 连接器相同的参数:USE_SAPGUI
将其设置为“1”会将可见的 Gui 附加到 RFC 连接,将其设置为“2”会附加一个不可见的 Gui。
但是,我对 PyRFC 并不熟悉,所以不知道它的接口是否也暴露了该参数,或者是否有办法将任意 sapnwrfc.dll 参数从 Python 传递到 sapnwrfc.dll 的 C/C++ 层?!