Technical Articles
You Know What They Say About Old Dogs or…
Why It Is Recommended To Use The ActiveX Controls No Longer
To communicate with an SAP system many scripting or VBA programmers uses the ActiveX controls from the SAP GUI for Windows. There are wdtfuncU.ocx with the class ID SAP.Functions.Unicode, wdtaocxU.ocx, wdobapiU.ocx and wdtlogU.ocx. They are part of the SAP GUI for Windows installation. All these ActiveX controls have a dependency to the classic RFC library librfc32u.dll. The classic RFC library is since the 1st of April 2016 out of support and it is since this date not longer available in SAP ONE. But it is furthermore a component of the actual SAP GUI for Windows installation, version 7.40 patchlevel 8. So it is available as part of the SAP GUI for Windows installation. A communication to an SAP system via the ActiveX controls without the classic RFC library is not possible.
In a few discussions with programmers I see that they want to use these ActiveX controls in new projects. The main reasons for this decision are
- that the libraries are available without an additional installation on any system and
- that there are a lot of examples in the internet available.
But I think there are powerful arguments against the using of ActiveX controls in new projects:
- The dependency to the classic RFC library, which is definitely deprecated.
- There will be no further development of the ActiveX controls.
- It is not possible to use newer ABAP function modules, which uses tables in export parameters.
- The ActiveX controls has no future.
I think we should not be comfortable and we should not decide to use this old fashion technology, otherwise we rob us a lot of future possibilities. I can only recommend to use alternatives. Software is used mostly for longer than is generally assumed. From the viewpoint of maintainability and ability of further development it is not good to develop a new project with this kind of technology.
Stefan,
Please advise which another technology could be used to make Excel "talk" to an SAP system?
Thanks in advance,
Sergey.
Hello Sergey,
thanks for your reply.
I must “soften” my arguments, because with the new SAP GUI for Windows 7.50 delivers SAP the ActiveX libraries based on SAP NetWeaver RFC library, since the 10th of May 2017. That was a surprise for me.
SAPLogonCtrl offers in class Connection the new method RfcCOMInstance
SAPTableFactoryCtrl offers in class SAPTableFactory the new method Initialize3 and in class Table the property FunctionHandle, also a new enumeration RFCType.
It is now necessary to take a closer look at this libraries. But I still have at the moment furthermore concerns about the using of these libraries.
Alternatives are COM Connector (CCo) or to use NCo in VBA via PowerShell.
Cheers
Stefan