SAP / node-rfc

Asynchronous, non-blocking SAP NW RFC SDK bindings for Node.js
Apache License 2.0
251 stars 73 forks source link

Question about nwrfcsdk 7.01 support #214

Closed jarag93 closed 3 years ago

jarag93 commented 3 years ago

Hello, the documentation specifies that is is suggested to use sapnwrfc version 7.50, but I wanted to know if the module is also compatible older versions of netweaver, e.g. version 7.01?

bsrdjan commented 3 years ago

Using the latest node-rfc and the latest, 7.50 version of SAP NWRFC SDK is required only on client (NodeJS) side because older SDK versions are not supported.

The SDK is backwards compatible and works with all NetWeaver versions down to 4.6C, thus also with 7.01

https://support.sap.com/en/product/connectors/nwrfcsdk.html

ilirasllani commented 3 years ago

Does this mean that to have the NodeJS client functional, it would be necessary to upgrade the SAP NWRFC SDK to 7.50, as only then the sapnwrfc.node would be successfully loaded?

bsrdjan commented 3 years ago

Hi Ilir,

that is correct and here the background.

SAP NWRFC SDK remains fully backward compatible but new releases bring new functionality and new SDK API methods. The current SDK 7.50 PL8 for example provides WebSocket RFC connectivity and SDK API Method RfcLoadCryptoLibrary. The new node-rfc version "follows" and expects to find that SDK method when loaded. That is why newer node-rfc (sapnwrfc.node) loading fails with older SDK version. Node-rfc could check SDK version and skip missing APIs but that would result in more complexity and testing efforts. It might also bring users in trouble because only the current SDK version is supported and should be used. It might happen that node-rfc works but older SDK has a bug which is already fixed in newer SDK. Therefore always the latest SDK should be used on client and ABAP backend practically does not matter. Older SDK should work with one of older node-rfc versions but why would you need the older SDK?

Kind regards, srdjan

jarag93 commented 3 years ago

thanks for the information