Configuration

The IDoc Connectors package includes detailed configuration documentation for both the source and sink connectors, which can be found in the following locations:

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

  • idoc-source-connector.properties
  • idoc-sink-connector.properties

These connectors utilize extensive validators and recommenders and have been tested with the Confluent Control Center UI.

Benefits of Configuring through Confluent Control Center

The IDoc Connectors fully support 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.

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

SAP® System Connection

The IDoc Connectors include configuration properties from SAP® JCo (prefixed with 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 like user/password, SNC SSO, and SAP® cookie logon tickets.

SAP® RFC Communication Ports

Refer to the TCP/IP ports for SAP® products. Common ports:

  • 33<NN> (unencrypted)
  • 48<NN> (encrypted)

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, BAPI_USER_GET_DETAIL, EPS2_GET_DIRECTORY_LISTING, EPS_READ_BLOCK, EPS_CLOSE_FILE, EPS_DELETE_FILE, /INI/IDOC_GET_DTELS, /INI/IDOC_GET_CONTROLS, IDOCTYPE_READ_COMPLETE, DD_DTEL_GET, SYSTEM_RESET_RFC_SERVER, IDOCTYPES_LIST_WITH_MESSAGES, API_CREATE_TID, API_CLEAR_TID
    RFC_TYPE: FUNC

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

  • Object S_CTS_ADMI:
    CTS_ADMFCT: EPS1

  • Object S_DATASET:
    ACTVT: 33, 06
    FILENAME:
    PROGRAM: SAPLEPSF

  • Object S_IDOCDEFT:
    ACTVT: 03
    EDI_TCD: WE30

  • Object B_ALE_RECV:
    EDI_MES: <idoc message types, e.g. DEBMAS>

For more detailed information, see the following SAP® support notes:

Configuration Support with our CLI Tool

The IDoc connectors package includes a command line interface (CLI) to help with various tasks such as:

  • Validating connector properties
  • Testing SAP® connections
  • Listing and extracting IDoc files
  • Extracting IDoc schemas

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 library
  2. kafka-clients library
  3. kafka-avro-serializer library
  4. kafka-connect-idoc connector libraries
  5. SAP® Java Connector 3.1 SDK
  6. SAP® Java IDoc library

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-idoc>:<kafka-clients>:\
<kafka-avro-serializer>:<sapjco3>:<sapidoc3> \
org.init.ohja.kafka.connect.idoc.IDocApp \
<command> <options>
Scala
scala -cp <kafka-connect-idoc>:<kafka-clients>:\
<kafka-avro-serializer>:<sapjco3>:<sapidoc3> \
org.init.ohja.kafka.connect.idoc.IDocApp \
<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-files: List IDoc files on an ABAP application server using a source configuration file.
  • print-idoc-file: Print contents of an IDoc file stored on an ABAP application server using a source configuration file.
  • extract-schema: Print the avro schema of an IDoc type using a sink configuration file. Extracting Avro schemas requires the presence of io.confluent.kafka-connect-avro-converter in the classpath.
usage:
    IDocApp <command> <options>

commands:
    ping
    list-files 
    print-idoc-file -t <file path> -f <file name>
    extract-schema  -i <configuration index>

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

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