Register Login

Enable compression on PI/PO system

Updated May 19, 2018

How to enable compression on PI/PO system?

As we know that the PI/PO system process millions of asynchronous messages every day. And also it becomes difficult for the customer to decrease the retention period (e.g. 7 days) because of their business requirement due to this the size of BC_MSG table and its LOB segment is very large even though the Default Delete Job is running regularly.

The user can resolve this issue by enabling the compression on Oracle DB level or PI/PO application level.

This tutorial explains how to enable compression on PI/PO system.

Now according to ORACLE FAQ Document 745639, we should always prefer application compression over the Oracle compression. And also one type of compression should be used at a time. Therefore SAP recommend to enable payload compression on PI/PO application level by configuring the following two properties in NWA -> Configurations -> Infrastructure -> Java system properties -> Services -> XPI Service: Messaging System.

  • messaging.compression.enabled
  • messaging.compression.threshold

When we enable the payload compression then the size of BC_MSG (and BC_MSG_VERSION) table decreases and reduce the LOB space occupied by MSG_BYTES field of BC_MSG (and BC_MSG_VERSION) table, which will improve performance with ORACLE DB. This option is only available for asynchronous messages belonging to Service Interfaces that are not marked as Sensitive Data (Sensitive Data messages are stored encrypted and persisted content is usually enlarged due to encryption) and just for message versions persisted according to staging configuration (content stored in MSG_BYTES field of BC_MSG_LOG will not be compressed, if logging is enabled for these messages).