SAP PI/PO Mass Communication Channels Update

SAP PI/PO Mass Communication Channels Update

This tools was created to allow fast Communication Channels update in SAP PI/PO system. It’s a great time-saver during PI/PO migration projects or when moving several Communication Channels between development, test and production systems. It uses Integration Directory API introduced in SAP NetWeaver PI 7.1.

Installation

The program is delivered as a standalone Java application (only Java 6, 7 and 8 is supported). Please unzip the downloaded file to any location on your local computer.

Details

Requires
JAVA 6/7/8

Tested with
SAP PI 7.31, SAP PO 7.50

License
MIT

Usage guide

Prerequisites

SAP PI/PO

To be able to use the tool, you should assign your user the following roles (please check SAP Help on how to update the roles):

  • SAP_XI_API_DEVELOP_J2EE
  • SAP_XI_API_DISPLAY_J2EE

Windows

Create a new system environment variable named JAVA_8 and set its value to JAVA 8 bin folder (e.g. C:\Program Files\Java\jre1.8.0_261\bin)
Alternatively you can open the *.bat files and change the following line:
set path=%JAVA_8%
to point to JAVA 6,7 or 8 bin folder directly e.g.:
set path=C:\Program Files (x86)\Java\jre6\bin 

Systems Connections Setup

First, you have to define the connections to your SAP PI/PO systems. There are 2 files to be modified:

  • source.properties – the connection details to your source system (the system which you retrieve the Communication Channels data from)
  • target.properties – the connection details to the target system (the system in which you update Communication Channels)

Open each file with a text editor and fill in the following details:

protocol=[http/https]
host=[your system's host name/IP address]
port=[your system's port, default 50000]
user=[user]
password=[password]

Retrieving Communication Channels

Run one of the available scripts (list_channels*.bat) to retrieve Communication Channels information:

  • list_channels_all.bat
  • list_channels_file.bat
  • list_channels_ftp.bat
  • list_channels_jdbc.bat
  • list_channels_sftp.bat
  • list_channels_soap.bat
  • list_channels_soap_xi.bat

If you’d like to fetch additional Communication Channel’s attributes just open the corresponding *.bat script and modify “-attributes” parameter (you can find the technical names of the attributes using menu Communication Channel->Show in XML Format in Integration Directory, see Parameters section for details).
For FTP Channels the following attributes are retrieved by default:

java -jar PIMassUpdate.jar
-connection source.properties
-list channels_list_ftp.txt
-adapterType File
-transProtocol FTP
-attributes "ftp.user ftp.password ftp.host ftp.timeout ftp.sourceDir ftp.targetDir ftp.dataConnectionMode"

Once you run the script a text file containing Communication Channels and their attributes will be created (e.g. channels_list_ftp.txt).

Parameters

The following parameters can be specified:

  • connection <properties file> – reads connection parameters (protocol, host, port, user, password) to SAP PI/PO system from <properties file> (the connection parameters can also be specified using the following  5 separate parameters: protocol, host, port, user, password)
  • adapterType <adapter type> – Adapter Type of the Communication Channels to be retrieved – SOAP, IDoc_AAE, File, Mail, HTTP_AAE, SFDC, SFTP, RFC, JDBC, AS2, REST etc.
  • transProtocol <transport protocol>– Transport Protocol of the Communication Channels to be retrieved – SOAP, tRFC, FTP, HTTP, File, SMTP, SalesForce, SSHFtp, RFC, JDBC, AS2MDN etc.
  • msgProtocol <message protocol> – Message Protocol of the Communication Channels – SOAP, File, IDOCXML, RFC, XI, FileCSV, JDBC, AS2, rest, POST, AxHTTP etc.
  • attributes “<attribute1 attribute2 …>” – list of the attributes (in double quotes, space-delimited) to be retrieved (technical attribute name – see note below)
  • component <component name pattern> (new) – name of a Business Component that Communication Channels belong to (can contain wildcards e.g. WMS_*)
  • party <party name pattern>  (new) – name of a Party that Communication Channels belong to (can contain wildcards e.g. CUSTOMER_DE_*)
  • channel <channel name pattern> (new) – Communication Channel name pattern (can contain wildcards e.g. SOAP_SND_*)
  • list <output file> – retrieves channels and saves them to the <output file>
  • update <input file> – updates the channels specified in <input file>

Updating Communication Channels

Copy or rename the file created by list_channels*.bat scripts into “channels_update.txt”. This is a tab-delimited text file. You can open it in any text editor or Excel to see and modify its content.
Run script update_channels.bat to update the Communication Channels in the target system (please make sure that the file target.properties is updated with the correct system connection details).

The script will save all changes into a new or existing Change List.

The changes will remain inactive until you activate them manually in Integration Directory.

Limitations

The tool was created as a trade-off between simplicity and functionality. It operates on simple flat files which are easy to understand and edit, thus it is impossible to update any tabular-like Communication Channel’s attributes (Adapter Modules and their properties, File Content Conversion etc.).

The overcome the limitation, the recommended approach is to export the Communication Channels from the source system’s Integration Directory, next import it into the target system and finally run the update_channels.bat to update their properties.

Change Log

13-Nov-2020, Version 1.0.1

Improvements:
  • New options (parameters) to filter Communication Channels: component, party, channel
  • Added progress bar
  • Added some exceptions handling

04-Oct-2019, Version 1.0.0

Initial release

Leave a Reply

Your email address will not be published. Required fields are marked *