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

To get the technical attribute name of a Communication Channel’s attribute open the Communication Channel in Integration Directory and select menu item “Communication Channel->Show in XML Format”. You’ll find the technical name in element AdapterSpecificAttribute/Name

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


11-Mar-2021, Version 1.0.2

  • Code refactoring

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

Not exactly what you need?

Would you prefer a customized version of the tool? We are ready to help.
Get in touch and ask for an offer.