Integration support activities often require communication with support team for third-party systems. If there are any problems with inbound or outbound messages it is most useful to obtain message payloads for futher inspection. This inspection may be done internally or forwarded to a third party. This means exporting some messages directly from SAP PO Message Monitor (Java stack). Downloading 5, 10, 20 or even 50 messages may be manageable. However when number of messages does higher than 100 it is not possible to proceed without a tool.
In order to download and package messages efficiently I have developed a specialized tool — SAP PO Message Download tool. This command-line tool allows you to download messages directly from SAP PO system given a list of message IDs (stored in one text file). Files are downloaded and put into ZIP archive file for easy handling. Tool supports multi-threading, message grouping and saving raw data as returned by SAP PO.
Minimal required options are as follows:
Below is an example run of the tool:
PO message are sucessfully downloaded
Folder structure inside created ZIP archive
Message payloads
I would recommand also specifying -log option and -stage options. They allow to specify which LOG and STAGE versions respectively must be saved.
All available options (can be accessed by running downloader –help)
Usage of downloader.exe:
-connection string
Required. Path to connection file (contains systems address, username and password)
-groupby string
Group payloads by message ID, message version or both (default "version")
-ids string
Required. Path to a list of message IDs to download, one message per line.
-log string
Comma-separated list of log versions which must be exported. Supports standard version names (BI, MS, etc) and special values (all, none, json, jsonsend, jsonrecv). See details in documentation. (default "all")
-nocomment
If specified, no text comment will be added to ZIP file (applies to -zip all).
-opendir
Open destination folder in Explorer when download process ends
-output string
Destination folder to save exported payloads (default "./export/")
-raw
If specified, raw contents (multipart message format) be saved as payload
-stage string
Comma-separated list of staging version numbers (0, 1, 2, ...) which must be exported. Special values (all, last, none) are acceptable. See details in documentation. (default "all")
-statsonly
If specified, only statistics on available message versions will be displayed. No actual download will happen.
-threads int
Number of parallel HTTP download threads (default 2)
-xiheader
If specified, XI header will be saved as payload
-zip string
Mode of compression for exported payloads. Available options are: (n)one, (f)ile, (a)ll (default "all")
Please refer to full documentation for detailed description of each option.
Full documentation with all avialable command-line options is available at Github repository
Released binaries are available at Github repository releases.
Any comments and suggestions are welcome here and at Github repository.