Product Information
SAP Cloud Integration – Message Mapping as Artifact
Introduction
SAP Cloud Integration version 5.23.**/6.15.** comes with enhancement on message mapping, where in you can create message mapping as artifact.
Note:
- The forecasted SAP Cloud Integration customer tenant software updates/availability of this version is planned for calendar week 27/28’ 2021 as per the phased tenant update procedures, which may be subjected to change.
- Know-how of SAP Cloud Integration Message Mapping and Integration Flow is required to understand this blog.
SAP Cloud Integration Message Mapping is one of the crucial data transformation component in SAP Cloud Integration scenarios. Till date, the message mapping component needed to get created as a local resource within Integration Flow projects. And with this, you might have noticed, this message mapping local resource was reusable within the integration flow, but not across different integration flows.
With introduction of SAP Cloud Integration Message Mapping as Artifact, you can now (re)use message mapping, by reference, across different integration flows within the same integration package.
This blogpost explains about this new enhancement.
Creating Message Mapping Artifact
Like any other artifact in SAP Cloud Integration, message mapping can be created inside integration package, as shown below with sample screenshot.
Creating New
If you have required source and target schema files, you can create an empty message mapping artifact project and then upload them to define mappings.
Select Message Mapping Artifact
Provide Details
Message Mapping Artifact gets created
Clicking on the artifact, opens up the mapping editor, click on edit to upload resources and define mapping
Click on Upload under the left hand side Resources view to add required schema files
Select required schema files
Schema files get added into the Resource view
Select Add source message /Add target message and select the schema
Define the mappings and Save the mapping artifact
Create option helps you to create a Groovy Script to define and use User Defined Functions (UDFs)
Upload
If you have any existing Message Mapping artifact project, you can upload it. Also to simply the conversion of integration flow local message mappings to message mapping artifact, we have enabled the support, where-in you can upload a local message mapping zip, after downloading it from your integration flow project. Sample screenshot below.
Step 1: Download the existing message mapping of an integration flow
Step 2: Upload to message mapping artifact creation
Importing from ES Repository
If you have message mappings in your ES Repository, you can bring them in.
ES Repository settings will be read from SAP Cloud Integration Tenant Settings
Clicking on the Connect will list all the message mappings in your ESR System. Choose a required mapping and click on OK to create a Message Mapping Artifact out of it.
Features like Simulation, Display Queue and Groovy script based user defined functions (UDF) works similar to locally created message mapping.
Referencing In Integration Flow
To use the above created message mapping in an integration flow, you need to first declare the dependency/reference and then assign it to the message mapping flow step inside the integration flow editor. Sample screenshots given below.
In the Integration Flow Resource view, select References tab and select Add Reference – Message Mapping
Select required message mapping and add as reference
Message Mapping artifact will get added
Select Message Mapping Flow Step
Select Message Mapping from Referenced Resources tab
Message Mapping artifact will get assigned
Deployment
As of now, there is no auto deployment of referenced message mapping when you deploy integration flow. You need to first deploy the message mapping, and then, integration flow.
Updating Message Mapping Artifact
You can update your message mapping artifact. And once the updates to message mapping are done, you can deploy the message mapping. The changes at runtime will get reflected in integration flow message processing. No need to deploy again the integration flow project.
Next Steps
- Enabling cross-package consumption: As of now, you can only refer to the message mapping from integration flow within same package. An integration flow existing in one integration package, can’t refer the message mapping artifact which resides in another integration package. We are working on to enable cross-package consumption scenario.
- Deploy Dependencies : as mentioned in the Deployment step above, you need to deploy both artifacts independently. We are working on the enable the auto deployment of referenced/dependent message mappings when an integration flow is deployed.
Summary
This enhancement in message mapping as artifact, would now help many of the scenario, where you have requirements of re-using the same message mapping across different integration flows.
Thanks, Deepak for the detailed blog.
Does this "Message Mapping Artifact" supports writing of Scripts(UDF's) which has reference do external jar files. Can we upload those jar files in this artifact?
Thanks,
Manoj
Hi Manoj,
Thanks, and yes, upload of jar files is also be supported.
Thanks
Deeak
Thanks, Deepak for the detailed blog.
Thanks Shiva !!! 🙂
Thanks Deepak G Deshpande for sharing the new features of message mapping artifacts, surely it will help to reduce the rework.
Regards,
Souvik
Thanks Souvik !!! 🙂
Great blog. Is there also plan to make the schemas reusable within the same integration package? For example would be great to reuse the same JSON file based on OAS2/3 which have many API paths, methods, etc.
Thanks for the input, we will consider your point of reusable JSON file.
Good blog Deepak, this will really help in reuse and reduce the rework.
Hi Praveen,
Thanks for your feedback.
-Deepak
Deepak your blogs are excellent and very informative, This blog is good for reusable message mappings.
Regards, Venkata Rao .G
Hi Venkata Rao,
Thanks for your feedback 🙂
-Deepak
Excelent Blog. Any news on "We are working on to enable cross-package consumption scenario"?
Is there an official roadmap?
Cheers
Valter
Hi Valter,
Due to other priority topics, there was a delay in cross-package topic, we are resuming the work on it.
We will update your product release notes once feature is available.
Thanks
Deepak
Great news, this will be a big improvement on development flexibility/reusability.
Valter
Hello, thank you for the blog entry.
I have created a message artiacht I have deployed within the same integration package as the integration flow.
Ehen hen trying toreference it in a mapping step, the e"add references" option does not show up.
Any idea why this is the case ?
Hi Florian!
Check version. Don't try to add mapping to an existing object. Create a new
Yes,, this is what I have done, everything built from scratch...... still the same
Any other idea?
I have Version: 1.2
Accordingly, I have a tab.
Show your screens with versions.