sap-linuxlab / community.sap_libs

Automation for SAP - Collection of Ansible Modules for SAP for low-level activities which are highly reusable
Apache License 2.0
17 stars 6 forks source link

How to replace pyrfc requirement ?? #46

Open joanba68 opened 3 months ago

joanba68 commented 3 months ago

Summary

Just got information ( https://github.com/SAP/PyRFC/issues/372 ) that pyrfc requirement won't have new releases as current people is focusing on another priorities. We have some developments based on this collection and we need to understand what will be the roadmap. Any replacement of pyrfc ? Is there any other alternative from ansible to run SAP related tasks ?

Issue Type

Feature Idea

Component Name

pyrfc

Additional Information

Code of Conduct

sean-freeman commented 2 months ago

The SAP LinuxLab Open-Source Initiative governance board will discuss this at our next meeting.


Speaking personally...

There are no roadmaps created within this initiative for dependencies from SAP, and no planned contingencies for dependencies that have suddenly been discontinued by SAP (in this case, @bsrdjan was the sole developer). There are no other alternatives to PyRFC, it was the only Python binding for NWRFC SDK C.

This sudden discontinuation has also impacted the bindings for Node.js node-rfc and Go gorfc. Other legacy bindings for Ruby and Perl etc are long dead.

This sudden discontinuation will also impact other upper-level projects such as sapcli.

The PyRFC project would be near impossible for any non-SAP employee to takeover, as the changes to each Patch of the NWRFC SDK C code are documented at a high-level only (e.g. SAP Note 3481057 - SAP NetWeaver RFC SDK 7.50 -- Patch Level 14) and the documentation itself was always non-standard by not being on help.sap.com, see SAP Support Portal - Products - Connectors - SAP NetWeaver Remote Function Call (RFC) Software Development Kit (SDK).

A developer who is familiar with ABAP, C and Python would be required.

The last version of PyRFC is version 3.3.1 released in Jan-2024, compatible with NWRFC SDK Patch 12 released in Aug-2023.

Alternatives with limited functionality would be:

Hard decisions lie ahead. @rainerleber FYI

startrfc binary example

sap_system_hostname=""
sap_system_id=""
sap_system_instance_number=""
sap_system_client_number=""
sap_user=""
sap_password=""

# Transaction SU01
# ABAP Program SAPLSUID_MAINTENANCE, using SAP Fields as BNAME and USERALIAS
# Function Module for ABAP Program SUID_IDENTITY_MAINT, using path with Parameter Name as I_USERNAME

# Login using RFC (-3 arg)
# NOTE -i for RFC Connection input file is deprecated
startrfc \
-3 \
-h $sap_system_hostname \
-d $sap_system_id \
-s $sap_system_instance_number \
-u $sap_user \
-p $sap_password \
-c $sap_system_client_number \
-l EN \
-t \
\
-F SUID_IDENTITY_MAINT \
-E I_USERNAME=testuser1

Edit: Reference links

Patch 12 has been removed from SAP Software Download Center. See:

Maintenance Software Component - SAP NW RFC SDK

https://me.sap.com/softwarecenter/template/products/_APP=00200682500000001943&_EVENT=DISPHIER&HEADER=Y&FUNCTIONBAR=N&EVENT=TREE&NE=NAVIGATE&ENR=01200314690100002214&V=MAINT&TA=ACTUAL&PAGE=SEARCH&sap-language=en-GB

Maintenance Software Component (Archive View) - SAP NW RFC SDK

https://me.sap.com/softwarecenter/template/products/_APP=00200682500000001943&_EVENT=DISPHIER&HEADER=Y&FUNCTIONBAR=N&EVENT=TREE&NE=NAVIGATE&ENR=01200314690100002214&V=MAINT&TA=ARCHIVE&PAGE=SEARCH&sap-language=en-GB