Technical Articles
Automation of PI/PO message dashboard monitoring
Hello All,
This automation enables monitoring of PI/PO system by using ECC system(You can use any third party system which can send HTTP request and get response).
We can access PI message overview data by using external tools via MessageOverviewQueryServlet.
This servlet is provided by sap which can be used any time when you need to send the RWB message overview data to an external system.
You can access the servlet by using below URL
http://<host>:<port>/mdt/messageoverviewqueryservlet
It will display all components in which you can make a query
Select PI component and append it to query string
http://<host>:<port>/mdt/messageoverviewqueryservlet ?component=<XIComponentName>
Now select view as per your requirement and build query
http://<host>:<port>/mdt/messageoverviewqueryservlet ?component=<XIComponentName>&view=<ViewNameKey>
Available options of views are as follows
- R_ENTRY_VIEW_XPI– Message status sorted by receiver
- S_ENTRY_VIEW_XPI– Message status sorted by receiver
- SR_ENTRY_VIEW_XP– Message status sorted by sender and receiver (detail view)
- SR_ENTRY_OVERVIEW_XPI– Message status sorted by sender and receiver (overview)
Now you have to specify interval in your query which completes your query
Format of StartDateTime and EndDateTimeis YYYY-MM-DD hh:mm:ss.0
which can be obtained from above qeury
Final Request Query will be
http://<host>:<port>/mdt/messageoverviewqueryservlet ?component=<XIComponentName>&view=<ViewNameKey>&begin=<StartDateTime>&end=<EndDateTime>
Now to retrieve and process response you need xsd which will be obtain from below URL
http://<host>:<port>/mdt/monitor/MessageOverviewQuery.xsd
For detailed information of above mention steps refer below blogs
Now lets get started with PI configuration
Here I have used ECC system hence I have created sync proxy
Its Proxy SOAP to REST scenario
ESR Objects
To send interval dynamically we havecreated a program in ECC system.
Create data type to send request which will send StartDateTime & EndDateTime
Create message type of the same
Now import xsd file external definition to request and get response from servlet
Create data type to transform received response from servlet
Create Message type of the same
Create Outbound and Inbound Service interfaces
Create Request and Response Mapping
I received lot of request for UDF RowData and how to use it hence updating blog with UDF and mapping details.
Create Operation mapping and assign Request and response mapping to it
Now lets Configure the ID objects
ID Objects
Create proxy Sender channel
Receiver channel
Create Rest channel with GET operation, and use basic authentication option.
URI till View name will be constant and we will be passing interval parameters through payload
Final step is to configure ICO as below
ABAP Program
Selection screen
This program has two variants one which will run on hourly basis to fetch data on basis and another variant run only once a day to fetch daily data.
Input to proxy
Synchronous proxy call
Output Received in proxy
Request Payload
Response Payload
HI Chetan,
This is awesome, it is very helpful.
Thank you
Hi Chetan,
I am not able to understand how to add RowData in response mapping? Please help me out with any reference link or something else.
Regards,
Pratik Gavas
Hello Pratik,
I hope your issue have been resolved now.
Regards,
Chetan Risbud
Hi Chetan,
Is it possible to just fetch the message logs from PI system based on the message ID ?
Regards,
Akash
Hi Akash,
For fetching message log by message ID you can use getMessage Web service from NWA WS Navigator
Regards,
Chetan Risbud
It is very nice blog And very helpful.
Hi Chetan, thank you for this post.
Is there any way to set this "TimeRange" field to free or custom same as "PI Messages" tab ?
Thank you in advance.
Best Regards,
Giovanni