Configuration

The RFC Source Connector package includes detailed configuration documentation, which can be found in the following locations:

Additionally, the connector package includes configuration template files in the etc/ subfolder:

  • rfc-source-connector.properties

The connector utilizes extensive validators and recommenders and has been tested with the Confluent Control Center UI.

Benefits of Configuring through Confluent Control Center

The RFC Source Connector fully supports configuration through the Confluent Control Center UI. Compared to using property files, configuring through this UI offers several advantages:

  • Suggested property values
  • A comprehensive list of recommended settings
  • Incremental visibility into relevant configuration options
  • A wide range of interactive validations
  • And more

To maintain optimal performance, the Confluent Control Center UI displays a maximum of 1000 recommendations at a time.

Once the required fields for an RFC/RFM source are entered in the configuration UI, a new section will appear, allowing you to configure additional service entities. Value recommendations for the group name are loaded only after entering a prefix with an asterisk, such as Z*.

To see how easy it is to set up the RFC Source Connector using the Confluent Control Center, watch this screen recording.

SAP® System Connection

The RFC/RFM Source Connector includes configuration properties from SAP® JCo, which are identified by the prefix jco.. For a detailed description of these properties, please refer to the Java documentation of the com.sap.conn.jco.ext.DestinationDataProvider interface. The JCo JavaDoc can be found within the sapjco3.jar package.

A basic configuration for a SAP® JCo client destination is as follows:

# SAP Netweaver application host DNS or IP
jco.client.ashost = 127.0.0.1
# SAP system number
jco.client.sysnr = 20
# SAP client number
jco.client.client = 100
# SAP RFC user
jco.client.user = user
# SAP user password
jco.client.passwd = password

If you’re using SAP’s Message Server for load balancing, replace jco.client.ashost with jco.client.mshost.

To ensure encryption and data integrity, use SAP® Secure Network Connection (SNC) properties. The connector also supports various authentication types, including user/password, SNC Single Sign-On (SSO) using X509 certificates, and SAP® cookie V2 logon ticket.

SAP® Authorizations

To be able to establish communication between the connector and the SAP® system and within the framework of authorization management, you need an SAP® user. The SAP® user must be of type Communications or Dialog. To save SAP® dialog resources, the Communications type is recommended.

Minimum Required Authorizations

  • Object S_RFC:
    ACTVT: 16
    RFC_NAME: RFCPING, SMLG_GET_DEFINED_GROUPS, RFC_GET_FUNCTION_INTERFACE, RFC_METADATA_GET
    RFC_TYPE: FUNC

  • Object S_RFC:
    ACTVT: 16
    RFC_NAME: RFC1, RSDS_BAPI
    RFC_TYPE: FUGR

Configuration Support with our CLI Tool

The RFC connector’s package includes a command line interface (CLI) to help with various tasks such as:

  • Validating connector properties
  • Testing SAP® connections
  • Listing available RFMs as well as query details of an RFM

Since the CLI is written in Scala you can execute it in either Scala or Java.

Prerequisites

To run the CLI you need to provide the following dependencies in the CLASSPATH:

  1. Scala runtime libraries
  2. kafka-clients
  3. kafka-connect-rfc connector libraries
  4. SAP Java Connector 3.1 SDK

Since a Java runtime is provided by the Confluent Platform and the Scala runtime libraries are part of the connector package, executing the CLI with Java would not require installing Scala.

Java
java -cp <kafka-connect-rfc>:<kafka-clients>:\
<kafka-avro-serializer>:<sapjco3> \
org.init.ohja.kafka.connect.rfc.source.RFCDetailsApp \
<command> <options>
Scala
scala -cp <kafka-connect-rfc>:<kafka-clients>:\
<kafka-avro-serializer>:<sapjco3> \
org.init.ohja.kafka.connect.rfc.source.RFCDetailsApp \
<command> <options>

The required Kafka libraries are usually located in:

  • /usr/share/java/kafka/
  • /usr/share/java/kafka-serde-tools/

Available Commands

  • ping: Test the SAP® connection.
  • list-groups
  • list-rfm: List all available RFMs from the SAP system.
  • rfm-details: Print meta information of an RFM.
  • extract-schema: Print the avro schema of an RFM source. Extracting Avro schemas requires the presence of io.confluent.kafka-connect-avro-converter in the classpath.
usage:
    RFCDetailsApp <command> <options>

commands:
    ping
    list-groups
    list-rfm -g <group>
    rfm-details -n <rfm name>
    extract-schema -n <rfm name>

mandatory options:
    -p <path to connector properties file>
Note

Avro schemas may differ if the Single Message Transform(s) in the connector configuration are used.