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:
- 1406965 - Java IDoc Adapter and Module Authorizations
- 2531301 - No authorization to send IDocs with message type
- 460089 - Minimum authorization profiles for external RFC programs
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:
- Scala runtime library
- kafka-clients library
- kafka-avro-serializer library
- kafka-connect-idoc connector libraries
- SAP® Java Connector 3.1 SDK
- 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 ofio.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>
Avro schemas may differ if Single Message Transform(s) are used in the connector configuration.