Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
deepakgd
Associate
Associate

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



  1. 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.

  2. 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.
19 Comments
manoj_khavatkopp
Active Contributor

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

nshivaprasad5334
Participant
0 Kudos
Thanks, Deepak for the detailed blog.
sinhasouvik
Participant
0 Kudos
Thanks deepakgovardhanrao.deshpande for sharing the new features of message mapping artifacts, surely it will help to reduce the rework.

 

Regards,

Souvik
ymAllen
Participant
0 Kudos
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.
deepakgd
Associate
Associate
Hi Manoj,

Thanks, and yes, upload of jar files is also be supported.

 

Thanks

Deeak
deepakgd
Associate
Associate
0 Kudos

Thanks Shiva !!! 🙂 

deepakgd
Associate
Associate
0 Kudos
Thanks Souvik !!! 🙂
deepakgd
Associate
Associate
0 Kudos
Thanks for the input, we will consider your point of reusable JSON file.
Praveenkalwa
Explorer
0 Kudos
Good blog Deepak, this will really help in reuse and reduce the rework.
Qualification
Explorer
0 Kudos
Deepak your blogs are excellent and very informative, This blog is good for reusable message mappings.

Regards, Venkata Rao .G
deepakgd
Associate
Associate
0 Kudos
Hi Praveen,

Thanks for your feedback.

 

-Deepak
deepakgd
Associate
Associate
Hi Venkata Rao,

Thanks for your feedback 🙂

 

-Deepak
valter_oliveira
Active Contributor
0 Kudos

Excelent Blog. Any news on "We are working on to enable cross-package consumption scenario"?

Is there an official roadmap?

Cheers

Valter

deepakgd
Associate
Associate

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

valter_oliveira
Active Contributor
0 Kudos
Great news, this will be a big improvement on development flexibility/reusability.

Valter
floriangu
Participant
0 Kudos

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 ?

former_member724290
Participant
0 Kudos
Hi Florian!

Check version. Don't try to add mapping to an existing object. Create a new
floriangu
Participant
0 Kudos
Yes,, this is what I have done, everything built from scratch...... still the same

Any other idea?
former_member724290
Participant
0 Kudos
I have Version: 1.2

Accordingly, I have a tab.

Show your screens with versions.