Skip to Content
Technical Articles
Author's profile photo Chetan Risbud

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

  1.  R_ENTRY_VIEW_XPI– Message status sorted by receiver
  2. S_ENTRY_VIEW_XPI– Message status sorted by receiver
  3. SR_ENTRY_VIEW_XP– Message status sorted by sender and receiver (detail view)
  4. 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

https://blogs.sap.com/2012/06/27/michals-pi-tips-how-to-get-rwb-message-overview-data-to-an-external-system/

https://blogs.sap.com/2014/02/25/external-collection-of-message-processing-statistics-from-advanced-adapter-engine-of-pi/

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

 

Assigned Tags

      8 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Basis Admin
      Basis Admin

      HI Chetan,

      This is awesome, it is very helpful.

      Author's profile photo Chetan Risbud
      Chetan Risbud
      Blog Post Author

      Thank you

      Author's profile photo Pratik Gavas
      Pratik Gavas

      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

      Author's profile photo Chetan Risbud
      Chetan Risbud
      Blog Post Author

      Hello Pratik,

       

      I hope your issue have been resolved now.

       

      Regards,

      Chetan Risbud

      Author's profile photo Akash Sharma
      Akash Sharma

      Hi Chetan,

       

      Is it possible to just fetch the message logs from PI system based on the message ID ?

       

      Regards,

      Akash

      Author's profile photo Chetan Risbud
      Chetan Risbud
      Blog Post Author

      Hi Akash,

       

      For fetching message log by message ID you can use getMessage Web service from NWA WS Navigator

       

      Regards,

      Chetan Risbud

      Author's profile photo Bavaji Reddy Mopireddi
      Bavaji Reddy Mopireddi

      It is very nice blog And very helpful.

      Author's profile photo Giovanni Carvalho Sinosini
      Giovanni Carvalho Sinosini

      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