Establishing a Connection
The objects available within our connector are accessible from the "cdata.saperp" module. In order to use the module's objects directly, the module must first be imported as below:
import cdata.saperp as mod
From there, the connect() method can be called from the connector object to establish a connection using an appropriate connection string, such as the below:
mod.connect("Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;")
Connecting with the RFC APIs
The CData Python Connector for SAP ERP uses the SAP RFC interface to connect to an SAP system. The ConnectionType specifies the RFC API you want to use to connect.
Obtaining the SAP libraries corresponding to your RFC API is required to connect.
Connect Using the Classic RFC SDK
To use the Classic RFC SDK without Unicode support provided with the library librfc32.dll, set ConnectionType to Classic. Simply place the assembly in a location where it will be accessible at run time, such as the system32 or bin folder or your path.
Connect Using the Classic RFC SDK with Unicode Support
To use the Classic RFC SDK with Unicode support provided with the library librfc32u.dll, set ConnectionType to Classic_Unicode. The following libraries from the RFC SDK must also be available at run time, in addition to librfc32u.dll:
- icudt34.dll
- icuin34.dll
- icuuc34.dll
Connect Using the NetWeaver RFC SDK
To use the NetWeaver RFC SDK provided with the library sapnwrfc.dll, set ConnectionType to NetWeaver. The following libraries from the RFC SDK must be available at run time, in addition to sapnwrfc.dll:
- icudt34.dll
- icuin34.dll
- icuuc34.dll
- libicudecnumber.dll
- libsapucum.dll
Connect Using SOAP Interface and RFC URL
To connect using the SOAP interface, set the following:
- ConnectionType: Set this to Soap.
- RFCUrl: Set this to the SOAP URL of your SAP system
The SOAP service must be enabled in your SAP system for this type of connection to work properly.
Required RFCs
The RFCs used by the CData Python Connector for SAP ERP are listed as follows. If any listed below are not available, some or all functionality may not work. T-Code SE37 may be used to view available function modules in SAP.
- DDIF_FIELDINFO_GET
- RFC_GET_FUNCTION_INTERFACE
- RFC_GET_STRUCTURE_DEFINITION
- RFC_GET_SYSTEM_INFO
- RFC_GET_UNICODE_STRUCTURE
- RFC_READ_TABLE
- SLDAG_CHECK_FOR_UNICODE
Connecting to SAP ERP
Set the following to connect:
- Host: The host name of the target system. Host names can be regular host names defined in a hosts file, an IP address like 123.123.123.123, or an SAProuter address such as "/H/hostname/S/port/H/host/S/port/ ..."
- User: The user that is authenticating to the SAP system.
- Password: The password used to authenticate to the SAP system.
- Client: The client authenticating to the SAP system.
- SystemNumber: The number by which the target system is defined.
- Language: The ISO 639-1 language code you use to log into SAP ERP. The default is "EN".
To connect to a machine different from the Host machine, substitute Host with the following:
- GatewayHost: The gateway host you wish to connect to. If not specified, the provider will attempt to connect to the SAP system specified by Host.
- GatewayService: The gateway service you wish to connect to. If not specified, the SAP system will use the default "sapgw##" where the "##" is the SystemNumber.
To connect to a distributed system or systems with other configurations, see Fine-Tuning Data Access.
Certificates
In addition to User and Password, the CData Python Connector for SAP ERP also supports certificate authentication. To use certificate authentication, set the X509Certificate connection property to either point to a file that contains an X509 certificate in PEM format, or the PEM blob directly used for authentication during SAP Logon. In addition to setting X509Certificate, you will need to specify the appropriate SNC connection properties. The SNC connection properties are described under Fine-Tuning Data Access.