Page tree
Skip to end of metadata
Go to start of metadata


The purpose of this page is to discuss the Archiving procedure in more details, concerning the best practices, parameters and ways to define/configure it.


On Integration Engine side, we have the message exchanging that flows in PI through XML messages. Those messages can be either deleted straight away, or archived in order to keep them stored in DB so you can consult them for business requirement or historic purpose.

The main concepts about the Archiving procedure and how to configure it will be discussed in this page.

Defining interfaces to be archived

First things first, before further configuration, it’s recommended that you set the relevant interfaces to be archived. It can be done by going to SXMB_ADM transaction and then click on “Define Interfaces for Archiving and Retention Periods”.

There you’ll have the options to fill in the values for the Sender and Receiver interfaces and their respective Namespaces. Please keep in mind that they are “Client-Specific”, so be sure that you are configuring that for the correct client number, it’s very important through all the process of Archiving (the same for Deletion).

After typing in the interface names, you can simply click on “Select Interface for Archiving” button and check it’ll appear right down in the “Interfaces to be Archived” list.

Please bear in mind also that if you do not define an interface before you start with the Archiving jobs, the interfaces that were not defined will be automatically deleted!

There’s an option in case you forgot to define any interfaces, for example. The report RSXMB_DEL_TO_ARCH enables to change the interface action from “deletion” to “archiving” belatedly. However, as recommended before, please consider defining the interfaces as best practices before proceeding with the further procedures with the jobs.

Parameters for Archiving

After you have defined the interfaces and then scheduled the Archiving jobs as per your requirements, we have some parameters to be maintained in order to improve the processes and have a better control.

Retention Period

The messages will be archived depending on the value of the “Retention Period” parameter. There are two places we can go in order to maintain such a property.

  • SXMB_ADM -> “Define Interfaces for Archiving and Retention Periods” -> “Retention Periods” button.
  • SXMB_ADM -> “Integration Engine Configuration” -> choose 'ARCHIVE' category and then press the “Configuration” button.

In both places you can set the PERSIST_DURATION parameter for both ASYNC and SYNC messages.
Generally, only ASYNC message are retained by default, however if you find that your business requirement is to keep the SYNC message as well you can set the LOGGING_SYNC parameter to “1”, so it’ll store the SYNC messages as well, however for such a case like this, i.e., setting the retention period for SYNC messages, please bear in mind that synchronous messages are not archived, but will always be deleted after the retention period, without archiving. The settings for SYNC messages are only to delay the deletion process.

Going back to the retention period, you have the option to either have the value for seconds (S), minutes (M) hours (H) and days (D). It’s configured within the parameter PERSIST_DURATION_UNIT.

Handling messages to be archived

In some cases, where you do have too many messages flowing in PI and need to archive them, you may use the parameter ROWS_PER_LOOP.
Basically this parameter will use the set value to determine the number of messages to be handled in a loop. In case of big messages, it’s recommended to decrease the value so it’ll handle the message in a more convenient manner.

Besides that option, you can create sections for parallel on Archiving procedure. For that, configure the parameter ARCHIVE_PARALLEL.
The sections will be from 00…99.

For your information, going to transaction SE38 -> RSXMB_ARCHIVE_MESSAGES report, you have the option of changing the range for random messages to be archived.

Scheduling the Archiving jobs

Taking into account SAP note 872388, basically you can go to transaction SXMB_ADM and check the archiving jobs, that are divided in 2 steps, ARV_BC_XMB_WRP<date> and ARV_BC_XMB_DEL<date>, in the “Job Overview” option over there.

In order to schedule them, the procedure is quite simple: in the same SXMB_ADM, go to “Schedule Archiving Job” and fill in the information that is needed, such as user and date.
You have the option for execute the job at the moment or schedule it for your convenience date and time. For more information, go to “Job Overview” button, on the top of the screen, inside the “Schedule Archiving Job” option.

It’s strongly recommended to check SAP note 872388, point 4. for more information as well.

Conditions to archive

The messages in PI will be archived following three pre-requisites:

  • Are out of the retention period;
  • Have a final message status;
  • Have a final adapter status.

To check the first pre-requisite, check the report RSXMB_SHOW_REORG_STATUS and you’ll see that the messages are 'considered' and those are 'ignored'.
The ignored ones will take into account only the retention period factor; the considered ones will take into account the three pre-requisites.

Therefore, to check if a message has a final message and adapter statuses, check the report RXMB_SHOW_STATUS, where you can see those statuses and, for example, if they're not in status 000, 003 and 006 (this one only for adapter status), which means they're in final state, then it may means that some messages were not ready to be processed by the job you have configured.

Related Content

Related Docs

PI Archiving Conceptual Overview

Overview of the Switch Deletion Procedure

Examining the status of messages in a PI system

Related Notes

SAP note 872388: Troubleshooting Archiving and Deletion in PI