Category Archives: SAP PI/PO

  • 0

Introduction to SXI_MONITOR Transaction

Category:Programming,SAP,SAP PI/PO

The SXI_MONITOR transaction is a tool in the SAP system used to monitor and manage the status of inbound and outbound interfaces. It allows you to view the current status of your system’s interfaces and to troubleshoot any issues that may arise.

Here is a guide to get started with SXI_MONITOR:

  1. Access the transaction by entering “SXI_MONITOR” into the command field of the SAP system.
  2. The interface monitor screen will appear with a list of all available interfaces.
  3. Use the filter options to narrow down the list to the specific interface you want to monitor.
  4. Select the interface and click on “Display” to view the details.
  5. The interface details screen will show information such as the status, start time, and end time of the interface, as well as any errors or warnings.
  6. If an error occurs, use the “View Log” button to access the log file and see a detailed explanation of the error.
  7. The “Monitor” tab provides an overview of the interface execution, including the number of messages processed, the number of messages in error, and the total processing time.
  8. The “Details” tab provides a more in-depth look at the individual messages processed by the interface, including the status, timestamp, and any relevant messages.
  9. Use the “Reset” button to clear the status of a completed interface and start a new run.
  10. The “Start” and “Stop” buttons can be used to manually start or stop the interface.

With the SXI_MONITOR transaction, you have a central location to monitor and manage the status of your system’s interfaces. This helps you to ensure that your interfaces are running smoothly and to quickly identify and resolve any issues that may arise.

  • 0

Splitting Messages in SAP PO using a Java Mapping

Category:Programming,SAP,SAP PI/PO

Here is an example of a Java mapping in SAP PO that splits a message using the String.split() method:

import java.util.Arrays;


public class MessageSplitter extends AbstractTransformation {

    public void transform(TransformationInput input, TransformationOutput output) throws StreamTransformationException {
        try {
            // Get input and output payload
            InputPayload in = input.getInputPayload();
            OutputPayload out = output.getOutputPayload();

            // Read input message into a string
            byte[] bytes = new byte[in.getInputStream().available()];
            String inputMessage = new String(bytes);

            // Split message using a delimiter
            String delimiter = ",";
            String[] parts = inputMessage.split(delimiter);

            // Write the parts to the output payload
            for (String part : parts) {
        } catch (Exception e) {
            throw new StreamTransformationException(e.getMessage());

In this example, the input message is read into a string, then split using the comma (“,”) delimiter. The resulting parts are then written to the output payload, one after the other. You can change the delimiter to any string you want to use as a separator.

Please keep in mind that this is just an example and it may need further adaptation depending on the specific requirements of your integration scenario

  • 0

How To Secure a JMS connection in SAP PI with TLS 1.2 to IBM MQ

Category:Programming,SAP,SAP PI/PO

There are plenty resources on this topic, but this post based on my experience intend to allow SAP Customers that are still using SAP PI as the top integration solution in their landscape, to allow to secure their integration scenaries between an SAP system like CRM (Customer Relationship Management), ERP (Enterprise Resource Planning), SOLMAN (Solution Manager) between antohers and the IBM MQ system.


The goal of this post is to allow you to setup a TLS connection between an an IBM MQ system  version 7.5 or upper and a SAP PI system running over Netweaver(NW) 7.4 or upper using a communication channel type JMS versión 1.x or 2.x.


  • The JMS drivers are already deployed at the Netweaver System.
  • The JVM is already updated to the last version available.
  • The Netweaver components are already updated to the last version available.


1. Oracle usually is the provider of the Java Virtual Machine (JVM) used at Operating System level where the Netweaver is installed, since MQ System use the IBM JVM, this could create the issue “2393 MQRC_SSL_INITIALIZATION_ERROR / MQRC_UNSUPPORTED_CIPHER” once the channel wll be started. In order to prevent that Cipher Suite Mapping should be disable, this will be achieved following steps described at Note 2218025.

1.1. Please logon to the NWA and once there, please locate the Configuration Tab -> infrastructure -> Java System Properties

Step 1.1 Configuration Tab -> infrastructure -> Java System Properties

1.2. Once there, the node Z* should be selected and navigate to the tab System VM Parameters,  there add the following parameter.

Step 1.2 Node-> System VM Parameters

2. Adjust the allowed security protocols that could be used to stablish a handshake at the system; in order to do this must follow the same steps defined at point 1.1, once there add the following parameter:

jdk.tls.client.protocols = TLSv1,TLSv1.1,TLSv1.2

Be aware that this is just an illustrative example.

3. In order to prevent the issue “error connecting due to missing class“, the SAP Note 1751177 should be applied, this will allow to preload the related classes of MQ Driver

3.1 Please login into NWA and go through this path Java System Properties → Applications, once there please be aware to select the property application and modify the property value.

MQ 7.50

Set the “preloadClasses” property as:,,,

Step 3.1 Java System Properties → Applications-> application

4. Once this activities will be finished, ask to your Basis team to make a full restart of the application.

5. Create or Modify the communication channel using the integration builder tool or through NWDS

Be aware to create the communication Channel at the Integration directory as JMS 1.X under NW 7.4 or 2.x under NW7.5

Then at the option Enable Security, mark useSSL and select OTHER in the SSL Cipher Suite dropdown, next be aware to write the ciphersuite that will be used in the other cipher suite text field.


In summary, securing our internal connections will allow us to protect the data, our most valuable assets inside the companies and this post will help you to enable secure connections from your NW PI/PO systems to external servers.

I hope this article was valuable and i appreciate your feedback, comments or suggestions, please feel ree to reache out me if you have any further question

Read More