Technology Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
BinlaThipsukhum
Explorer
652

1. Background — Why I Built This App

Message Processing Logs (MPL) and Message Store Entries are essential during integration testing in SAP Cloud Integration. They help consultants verify payloads, check transformation logic, track sender/receiver behavior, and debug complex scenarios.

For two of my projects, I used the WHINT MessageStore Viewer, which has helped many consultants navigate the Message Store efficiently. It is a great tool, but I needed additional functionality:

  • View and filter custom header properties
  • Navigate from MPL → MessageStoreEntries in one UI
  • Display formatted XML/JSON payloads
  • Run within SAP BTP as a native CAP/Fiori application
  • Work smoothly with CPI’s OData v2 APIs while exposing an OData v4 service
  • Provide a transactional Fiori experience with List Report/Object Page

These gaps motivated me to build a new version from scratch.

2. Introducing the “CPI Message Viewer”

This open-source project helps SAP Integration Suite users explore:

  • MessageProcessingLogs
  • MessageStoreEntries
  • Custom headers sent through iFlows
  • Payloads (with beautify support)

🔗GitHub Repository

👉 https://github.com/binlah/cpi-message-viewer 

🔧Technology Stack

  • CAP Java (Spring Boot)
  • OData v4 service
  • Remote OData v2 consumption
  • SAP Fiori Elements
  • SAP Cloud Foundry
  • SAP XSUAA authentication
  • HTML5 Applications Repository runtime

🧩 Architecture

architecture.png

The backend configuration uses CPI’s OData APIs via destinations:

  • MessageProcessingLogs
  • MessageStore
  • IntegrationContent

(Corresponding to your config: basePath /api/v1/ and OData v2 remote services.)

3. How to Deploy the App on SAP BTP

  1. Clone the repository 
  2. Provide destinations if you want to test on local (BTP_CloudIntegration_API)
  3. Build & deploy the MTA to Cloud Foundry
  4. Assign the role collection
  5. Launch from Work Zone or HTML5 Apps Repo

The app exposes its OData v4 endpoint at:

 

/odata/v4/remote/

This allows the Fiori app to load data from your CPI tenant through CAP’s remote service.

 

4. The Easiest Way to Test — Use SAP’s Prepackaged “Persist Step” iFlow

SAP Cloud Integration offers a sample artifact that uses the Persist Step, documented here:

👉https://help.sap.com/docs/cloud-integration/sap-cloud-integration/use-persist-step

This example writes messages to the Message Store automatically, making it perfect for validating the viewer.

Steps to test:

Step 1 — Deploy the Sample Artifact

  • Go to Cloud Integration → Discover
  • Search for Integration Flow Design Guidelines - Learn the Basics → click copy
  • Go to Cloud Integration → Integration and APIs 
  • Search and deploy 2 artifacts  Modeling Basics - Use The Persist Step and Generic Receiver

deploy artifact.png

Step 2 — Send a Test Message

Download postman collection of this project and then test posting it.

test calling.png

Step 3 — Open CPI Message Viewer

Your new MPL will appear:

  • View processing details
  • Inspect Custom Header Properties
  • Navigate to Message Store Entries
  • Open the Payload Viewer
  • Beautify XML / JSON with a single click
  • Download the original payload

This gives anyone — functional or technical — a fast and realistic way to validate the integration scenario.


5. UI Highlights

  • MessageProcessingLogs List Report list view.png
  • Filter by Custom Headercustom header 3.png
  • Object Page for selected MPL and Payload Viewer extension (CodeEditor) payload view.png
  •  Custom Header table custom header 4.png

These visuals help readers understand how the app works.

6. What’s Next

Future improvements I’m planning:

  • Navigate to List view via correlation id
  • UI Improvement
  • allow to persist selected error message to database

Feedback, issues, and pull requests are welcome.
I hope this tool helps your projects as much as it has helped mine.