SAP released PL 7 for NetWeaver RFC SDK 7.5 on September 30th, 2020. This version of the SDK seems to be incompatible with the latest PyRFC 2.0.6 version. Here is a simple replication:
With PL 6:
Python 3.5.4 (v3.5.4:3f56838, Aug 8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> patch_level = 'PL6'
>>> from json import loads
>>> from os import environ
>>> conn_kwargs = loads(environ['CONN_KWARGS'])
>>> environ['SAPNWRFC_HOME'] = 'C:\\nwrfcsdk_750_{}'.format(patch_level)
>>> environ['PATH'] += ';C:\\nwrfcsdk_750_{}\lib'.format(patch_level)
>>> import pyrfc
>>> pyrfc.__version__
'2.0.6'
>>> len(pyrfc.Connection(**conn_kwargs).call('DDIF_FIELDINFO_GET', TABNAME='T001'))
6
We have been using PL 6 on various Windows instances without issue since it was released.
With PL 7:
Python 3.5.4 (v3.5.4:3f56838, Aug 8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> patch_level = 'PL7'
>>> from json import loads
>>> from os import environ
>>> conn_kwargs = loads(environ['CONN_KWARGS'])
>>> environ['SAPNWRFC_HOME'] = 'C:\\nwrfcsdk_750_{}'.format(patch_level)
>>> environ['PATH'] += ';C:\\nwrfcsdk_750_{}\lib'.format(patch_level)
>>> import pyrfc
>>> pyrfc.__version__
'2.0.6'
>>> len(pyrfc.Connection(**conn_kwargs).call('DDIF_FIELDINFO_GET', TABNAME='T001'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "src/pyrfc/_pyrfc.pyx", line 438, in pyrfc.pyrfc.Connection.call
File "src/pyrfc/_pyrfc.pyx", line 2053, in pyrfc.pyrfc.wrapResult
File "src/pyrfc/_pyrfc.pyx", line 2127, in pyrfc.pyrfc.wrapVariable
File "src/pyrfc/_pyrfc.pyx", line 2071, in pyrfc.pyrfc.wrapStructure
File "src/pyrfc/_pyrfc.pyx", line 2139, in pyrfc.pyrfc.wrapVariable
File "src/pyrfc/_pyrfc.pyx", line 2329, in pyrfc.pyrfc.wrapString
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x96 in position 1: invalid start byte
I have been able to reproduce this on several versions of Windows Desktop/Server, Debian 10, and Darwin 18. The issue also appears to occur on all RFCs that I tested.
Any thoughts on the cause? Is support for PL 7 in development or am I missing a configuration in which 2.0.6 would support this new release?
SAP released PL 7 for NetWeaver RFC SDK 7.5 on September 30th, 2020. This version of the SDK seems to be incompatible with the latest PyRFC 2.0.6 version. Here is a simple replication:
With PL 6:
We have been using PL 6 on various Windows instances without issue since it was released.
With PL 7:
I have been able to reproduce this on several versions of Windows Desktop/Server, Debian 10, and Darwin 18. The issue also appears to occur on all RFCs that I tested.
Any thoughts on the cause? Is support for PL 7 in development or am I missing a configuration in which 2.0.6 would support this new release?