Mass Processing of Communication Channel status in SAP PI
In this blog I would like to share a tool that enables you to save and set the activation state of the communication channels in your SAP PI environment. I will explain how the tool works in a minute, but first let’s take look at the scenario where it would be useful.
Before performing maintenance activities (e.g. Support Pack upgrades) on a SAP PI system, it is good practice to stop the communication channels in the Runtime Workbench. This prevents that any messages are processed while the system might not be completely available. When you are finished working on the system, you would then restart all channels that were running before the maintenance started.
To make sure that the correct channels are started after the maintenance window, you need to write down the status of each channel in advance. For a PI system that has a lot of communication channels configured, it can be a lot of work to check and correct each channel individually. This also increases the chance of mistakes, e.g. starting a channel that should be stopped, which can lead to unexpected and unwanted results in your backend systems.
Wouldn’t it be great if you could somehow save a snapshot of the status of all channels before? And use that snapshot to set all channels to the correct status when maintenance is done?
Well, now you can…
The Communication Channel Status Tool is a solution that runs in Excel and uses the ChannelAdmin Servlet functionality of SAP PI.
The tool enables you to create an overview of all communication channels from your SAP PI system. This overview shows whether a channel is started or not (the Activation State) and the status of the messages processed by that channel (Channel State).
You can export this overview to a .csv file, that you can use later to set the status of the channels to the correct Activation State.
Before you can update the status of communication channels with the tool, you have to enable external control for these channels in the Runtime Workbench:
Now you can load the earlier saved .csv file, and use the function “Set Activation State” to update the status of the communication channels. The result in the tool is as follows:
When you are finished, you can switch the channels to “External Control Off” in the Runtime Workbench.
To keep things simple, this example only contained four channels. Of course the tool has no problems handling much larger numbers than that.
There are some things you have to keep in mind, when using this tool:
- When you switch the communication channels to “External Control Off” in the Runtime Workbench, they change to “Manual Control”. If you have channels that use Availability Time planning, you have switch them manually to “Automatic Control”.
- The tool will only display communication channels that run on the Adapter Engine. This means you can’t control IDoc, HTTP or XI adapters with it.
What do you think?
I would like to end this blog by inviting you to download the tool here and try it yourself. Please feel free to share your thoughts and suggestions in the comments below!