Technical Articles
[ How-To ] Moving Message Mapping from SAP Process Orchestration To SAP Integration Suite
Introduction:
Integration Suite is the future-proof and strategic integration platform from SAP with a long term roadmap. This is the recommended solution from a product strategy perspective.To help developers/customers working on migrating integration scenarios from SAP Process Orchestration to SAP Integration Suite, we will be starting off with series comprising of multiple technical how-to guides.
Scenario:
In the below blog post we will see how to move Graphical Message Mapping from SAP Process Orchestration to SAP Integration Suite.
What is currently supported:
Message Mapping without Local UDFs
Message Mapping not having any requirement of User Defined Functions and Lookup logic can be imported into Cloud Integration by following below step by step video tutorial.
Message Mapping with Local UDFs
Message Mapping having User Defined Functions and without lookup logic can be imported into Cloud Integration by following below step by step video tutorial.
What is planned for future release
With the release of Message Type and Data Type editor in SAP Integration Suite it is possible to reuse existing content from SAP Process Orchestration.
What needs to be reworked and how
- Parameterised Message Mapping
Parameterised mapping was one of the key aspect of SAP PO to avoid design time changes and provide flexibility to developers for managing the key parameters at Configurations to further reference in message mapping.
With the move to Coud Integration, Parameterised Message Mapping needs to reworked and parameter externalization can be used to simplify the same.
SAP PO Configuration:
Create parameter and bind the same in operation mapping
Map the value of same to output field.
Bind the paremeter in Operation Mapping
Pass the value from ICO- Receiver
Steps to achive the same in SAP Cloud Integration:
Add content modifier and create header with name DC_CODE with below configuration so that values can be passed runtime.
Create a custom function in your imported message mapping and perform the same logic.
Code snippet
import com.sap.it.api.mapping.*;
def String customFunc1(String P1,MappingContext context) {
String value1 = context.getHeader(DC_CODE);
return value1;
}
- Message Mapping with RFC/JDBC lookups.
- Delete the Lookup Logic from Message Mapping and operation mapping.
- Import the message mapping into SAP Cloud Integration.
- After Message Mapping step add Content Enricher step and enrich the data based on incoming data
Rererences
[ 1 ] Migration Guide for SAP PO : Migration Guide
[ 2 ] Message Mapping in SAP PO : Message Mapping
Hi Sriprasad,
Nice post that I'm sure will be useful.
I do like your idea for the Parameterised mapping. I would probably recommend setting it into parameters and not headers. (The headers will be sent to external parties in ie HTTP adapter)
I think we will try to adopt this approach in our migration tool to simplify some processes.
We also have support for Function Libraries and RFC Lookup.
Daniel
Hello Daniel,
Thank You and agree setting as header would spam receiving system if in case not filtered properly in integration process ( usually most of the receiver adapters have explicit option to clear headers before sending the data to receiving system ).
Regards,
Sriprasad Shivaram Bhat
so message type editor is not released yet as I got from roadmap? so how message type are organized now in Integration Suite?
Hello Pavel,
Message Type and Data Type are planned for Q4 2021.Please keep a watch on this blog series and will give complete details as soon as its available.
Regards,
Sriprasad Shivaram Bhat
Thanks for the great blog. Will definitely help in the migration process. Day by day SAP Cloud Integration is getting better and better.
Hi Sriprasad,
Thanks for the idea we added the automatic migration of the parameters to our migration too.
We use much the same UDF but wanted to just have one UDF and then use the parameter from the constant.
We have a short video about the migration process.
Daniel