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.
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.