Skip to Content
Technical Articles
Author's profile photo Santhosh Kumar Vellingiri

SAP CPI – Mapping Document Tool

Mapping Documenter Tool! This can be my 10 Year Challenge 🙂

In Oct 2009 I released a Java tool for documenting SAP PI Message Mapping and 10 years later I’m here today with a similar tool for documenting SAP CPI Message Maps. Thanks to Raffael Herrmann to inspire me with his CPI Dashboard tool. This gave me idea to tool my standalone java code which I have been using for a while to both document and analyze SCPI Maps.

Without wasting any more time, lets see about the tool, how to download, configure and use it.

About the Tool

It’s a fairly intuitive Web frontend page that allows to navigate to the required maps.

Upon navigating and selecting the Map, the tool process the metadata of Map and generate an table with the source, target fields and constants, function used in transformation. The result entries can be searched/filtered in the UI and also can be downloaded as Excel.

  • The tool works for both CPI and ESR Maps imported into CPI.
  • It works only for the Editable Integration Package and not Configure Only Integration Package.
  • It works only for the Versioned IFow’s. In other words it does not work for IFlows in Draft Version (Exception being the initial Draft which is actually version 1.0.0).


The Frontend and the service to feed data are built as a Composite IFlow. You can download it from Git Repository here.


1. Import the IFlow in to an Integration Package.

2. Configure Sender Webbrowser: It has 5 HTTP Channels sharing a common URL Base Path and Role parameters.

Tool_base_URL  URL Path Prefix that you want to access the tool from.
User Role The Role to limit access to the tool.

I recommend creating a custom role to enable tool Access. New custom role can be created in the Runtime Node following this Guide. It will avoid assigning ESBmessaging.send role to Tool users which result in giving them unintended IFlow execution rights ( since it’s common practice to use the default role for all IFlows).

3. Configure Receiver SAP_CPI: It has 4 HTTP Channels to consume SAP CPI ODATA APIs. The channels are sharing the configuration parameter for TMN host and Credentials.

SCPI_Host  SAP CPI tenant management node Host Name
Credential Name  Security Material / User Credential Artifact Name with TMN User/Password

4. Save and Deploy IFlow.

Using It

Copy the Main Page URL from the Deployed IFlow and open in a Browser.

The WebApp open with the Integration Package preloaded. Upon selecting the Package, the Integration Flows in the package is fetched real-time and similarly the Message Mapping. When the Map is selected the table is populated with the mapping data and can also be downloaded as Excel.


Happy Using! Please feedback and report any Error / Inconsistency which would help me to improvise the tool.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Hemachandan A S
      Hemachandan A S

      Congratulations! Good utility tool to easy developers job by helping in preparing technical documents.



      Author's profile photo Raffael Herrmann
      Raffael Herrmann

      Hi Santosh,

      I'm glad that my work inspired you. This is a really nice tool you built there. Thanks for your effort and keep on publishing such nice work!


      Author's profile photo Rakesh damera
      Rakesh damera

      Thanks for sharing this Santhosh!

      Author's profile photo Sriprasad S Bhat
      Sriprasad S Bhat

      Hello Santosh,

      Nice tool and kudos to you !


      Sriprasad Shivaram Bhat

      Author's profile photo Srinivas Pinnelli
      Srinivas Pinnelli

      Well done Santhosh, keep bringing more!!


      Warm regards,


      Author's profile photo Manikandan Rajendran
      Manikandan Rajendran

      Thats really Nice, well done Santosh

      Author's profile photo Eng Swee Yeoh
      Eng Swee Yeoh

      Fantastic work Santhosh. Came in really handy as I needed to figure out the logic of a huge message mapping in a standard package.

      Author's profile photo Santhosh Kumar Vellingiri
      Santhosh Kumar Vellingiri
      Blog Post Author

      Glad to see hear from you Eng Swee Yeoh. In fact standard package mapping was the driver I came up with this 🙂

      Author's profile photo Lucas Araujo
      Lucas Araujo

      Congratulations! Great solution, very, very good!

      Author's profile photo Kiran Kerudi
      Kiran Kerudi

      Hi Santhosh,

      This tool would be of great help! Thank you for sharing.

      I came across an issue, where the mapping file cannot be found. Please refer to the screen shot below. Could you please let me know the reason for this? Am I missing something?

      Please help me understand.

      Thank you very much!


      Author's profile photo Santhosh Kumar Vellingiri
      Santhosh Kumar Vellingiri
      Blog Post Author

      Hi Kiran Kerudi ,

      Your IFlow probably was in Draft version! The tool require IFlow to exist in a version.


      Author's profile photo Julian Wildt
      Julian Wildt

      Hi Santhosh,

      this tool is a great opportunity to have a very good overview over the mappings and to document the them. Thanks for sharing!

      I just want to give a little hint. In my current mapping i have some disabled fields but they are still displayed in the webbrowser. Maybe you can add a column which says if a field is enabled or disabled?

      But all in all it's a great tool!

      Best regards,


      Author's profile photo Shoukat Ali
      Shoukat Ali

      Thanks for sharing such tool.

      Author's profile photo Patric Leßmann
      Patric Leßmann

      Hi Santosh,

      very cool and helpful tool for documentation. Exactly what I was looking for.

      Thanks a lot for providing it.

      Best regards,

      Author's profile photo Anantharama Bhat
      Anantharama Bhat

      Hi Santosh,

      I am not able to see any packages even though they are editable and not in draft version (screen attached). What could have gone wrong ?


      No Package to select

      Warm Regards



      Author's profile photo Clinton Cupido
      Clinton Cupido

      I am also experiencing this on one System then it works on others. Here is my log:

      Please advise.

      Author's profile photo Octav Onu
      Octav Onu


      Hi Anantharama Bhat

      i am having the same issue. Can you please your browser dev tools and check if there are XMLHttpRequests errors?


      Mixed Content: The page at 'https://xxx/http/cpi/tool/main' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://xxx/http/cpi/tool/iPackage'. This request has been blocked; the content must be served over HTTPS.