Skip to Content

Tool to update several communication channels in a change list in SAP PI


Recently in our landscape we had to set up several PI systems for different testing/quality purpose. Activating large number of channels manually is time consuming activity, Hence we created this tool to so that we can update the communication channels easily and quickly. This tool is easy to use and it uses simple excel sheet to get the communication channel details. It connects to PI system and calls the change list and communication channel services to retrieve and update channel details.


To use this tool following prerequisites have to be met

1) JDK 1.6 or later should be installed on your system.

2) The PI user should have two roles SAP_XI_API_DEVELOP_J2EE and SAP_XI_API_DISPLAY_J2EE assigned.

3) MS office excel 2007(xlsx only) or above is required.

Download Link:

Download the zip file from below link and extract it.


How to use:

This tool should be used in three steps

1) GetChannels: In first step, we create an excelsheet lets say Channels.xlsx and place it in the same folder as the tool. The first sheet of the excelsheet has 5 details to be provided Target PI host,Target PI port, Changelistkey, Source PI host and Source PI Port. FirstSheet new.jpg

TargetPIHost: Host of the PI system which has the change list

TargetPIPort: Port of the PI system which has the change list

ChangeLisyKey: Change List key

SourcePIHost: Host of the PI system from which details of the channels have to be fetched

SourcePIPort: Port of the PI system from which details of the channels have to be fetched

Here source system will be your development system and target system will be your quality system to which the objects are transported from development.

Now open a command prompt, navigate to the folder where this tool is extracted and run GetChannels.bat file from the tool. Pass the name of the excelsheet to it. It asks for user and password to connect to PI system.


GetChannels.bat will retrieve the party,component and channel names in the change list from target system and write them in first sheet of the excelsheet. After successful execution of GetChannels.bat, excelsheet will look as shown below.

After GetChannels New.jpg

2) GetDetails:Now open the excelsheet and update the business system details for Source PI System in first sheet. You can get this information in SLD business system transport path. If the component is business component then you may simply copy it from Target PI System. Save and close the excelsheet.

Update Business System.jpg

Now run GetDetails.bat file in command prompt and pass the excelsheet name as parameter to it.


It will connect to source PI system and retrieve adapter-specific-attributes of all the channels in first sheet of excel and write them into second sheet of same excelsheet. Name of this sheet will be Channels. After successful execution of GetDetails.bat, the excelsheet will look as shown below.

After GetDetails.jpg

Only green colored cells value should be edited and rest should not be changed. These cells have cell comment which should not be changed because they are adapter-specific-attribute key. Update the details of non transportable attributes like folders,FTP host etc in the sheet. Red colored cell indicates that these are password values which must be filled manually, if required. It is easy to edit if similar channels are grouped by applying filter on adapter type, direction, transport protocol and message protocol. Save and close the excelsheet. You may want to save a copy of this excelsheet as backup at this point.

3) Update: Now run Update.dat file in command prompt and pass the excelsheet name as parameter to it. It will update the channels in target PI system changelist with the values of the excelsheet.

Update New.jpg

After successful execution of Update.bat, the changelist can be activated easily at once.


1) The change list has atleast one channel in it.

2) The change list is assumed to be under same user as used in this tool. If not, first transfer the change list under that user and then use this tool.

3) The channels in the change list of target PI system are available in source PI system and not opened in edit mode in source system.

4) The business system/service of the channels in changelist are activated in target system or they are in the same change list or different change list under the same user used in the tool.

5) Only adapter-specific-attributes of the channels needs to be updated.

If you face any issue in using this tool, leave a comment below.

You must be Logged on to comment or reply to a post.
  • Hi Anand,

    Thanks for sharing this tool. It could be helpful when you need to transport several scenarios between environments and you want to change the communication channels, also it's a good tool to have an excel about all the communication channels actives outside PI environment.

    From my point of view, it has the disadvantage to need to access to OS (in several projects i cant have this possibility).


  • Hi Anand,

    Really appreciate the way you come up with a new and enhanced tool.Which will really help us to do the configuration.

    Thanks a lot.



  • Hi Anand,

    I have one doubt,all the .bat files and all classes which i can see in the zip files are created by you or getupdate.bat such  files are standard files.

    Because If i want to develop one similar tool as you have developed so do I need to have knowledge of how to create the bat files and all the windows and API files etc.Just wanted to clear this things.



    • Hi Abhinav,

      Only the classes in the folder com\sap\pi\channelactivation are custom classes. Remaining classes are generated by NWDS while generating ws client.

      The .bat files are also created by me. If you open .bat file in a notepad, you can see the name of the main class.



  • Hi Anand,

    I am getting this error when I am trying to execute the command from CMD.

    GetChannel.bat is not recognized as an internal and external command.

    operable program  or batch file.

    Is it is because I am in office Network.




      • Thanks Anand for correcting me.After Correcting this,it asked for user id and pwd and than it is saying error in getChannelsInChangelist<>

        Any Idea.Is it because PI server i am connecting remotely from my local machine ??

        It would be great if you can help me out in this...



  • Hi Anand,

                         This is a great initiative and this proves that you think for PI community.

    Thank you for writing this blog and hope to get many more from experts like you.



  • Hi Anand,

    Thanks for the really precious information.

    I have used your tool successfully and i have done exactly as you said but when i executed the update bat file i am not able to activate the channels in the change list and it is giving statement saying updated successfully and i am using 7.31 single stack server please help me in this issue.



    • Hi Avinash,

      The changelist will not be activated...the idea behind creating this utility is to update the non-transportable attributes of the communication channels easily and quickly in the changelist.

      After executing update.bat, you have to activate the changelist manually in ID.



  • Hi Anand!

    This is a really useful tool! Do you think this can still be used for 7.4, single stack? If so, can I have a copy?

    Edit: I'm now running it, but I can't seem to get it work. Is it possible to have same target and source? Like I'm just editing a lot of communication channel in one host.

    Also, I have business component and it does not work if I just copy it.

    It says Check if all business system are mapped correctly.

    Edit: Nevermind. I got it running. Thanks for this wonderful tool!



  • Anand, first of all thanks for this blog it is very helpful and would love see more of it. As from here we would like to add something to it which would read an Excel Target spreadsheet and use that as input for updating  channels instead of updating the existing Spreadsheet. The question is have is if you could share the (Eclipse) NWDS project so i can include the new features. i tried to re-create it but failed many times because of different folders etc. Thanks in advance Patrick.


    • Hi Patrick,

      Thanks for your comments!

      Its an old project that I had created back in 2013, I do not have the NWDS workspace with me anymore 🙁

      However the download link in this blog for the tool has the source code of the tool. You can regenerate the complete project using the source code in NWDS/eclipse IDE.

      If you need any more help you can reach me on my email:




  • Hi,

    we are approaching this tools in order to automatize some internal activities.

    Unfortunately, while trying to use the tools we received an error.

    We successfully collect information by GetChannels.bat

    We modify the Excel file as suggested.

    When we run GetDetails.bat we received the following:

    Error in getsourceChannelID():


    Any ideas?

    Thanks in advance


    • Hi Marco,


      The is occurring while reading party id from excelsheet while running getdetails program.

      If it is ok for you to send me the excelsheet then i can check further.