Technical Articles
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).
Download
The Frontend and the service to feed data are built as a Composite IFlow. You can download it from Git Repository here.
Configure
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.
Congratulations! Good utility tool to easy developers job by helping in preparing technical documents.
Cheers,
Chandan
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!
Regards
Thanks for sharing this Santhosh!
Hello Santosh,
Nice tool and kudos to you !
Regards,
Sriprasad Shivaram Bhat
Well done Santhosh, keep bringing more!!
Warm regards,
Srinivas
Thats really Nice, well done Santosh
Fantastic work Santhosh. Came in really handy as I needed to figure out the logic of a huge message mapping in a standard package.
Glad to see hear from you Eng Swee Yeoh. In fact standard package mapping was the driver I came up with this 🙂
Congratulations! Great solution, very, very good!
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!
BR
Hi Kiran Kerudi ,
Your IFlow probably was in Draft version! The tool require IFlow to exist in a version.
Thanks,
Santhosh.
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,
Julian
Thanks for sharing such tool.
Hi Santosh,
very cool and helpful tool for documentation. Exactly what I was looking for.
Thanks a lot for providing it.
Best regards,
Patric
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
Ananth
I am also experiencing this on one System then it works on others. Here is my log:
Please advise.
Â
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.
Thanks