What are Pallets in SAP CPI?
A Pallet in SAP CPI is a predefined collection of integration flow components that can be reused across different projects.
Think of it as a toolbox containing reusable steps, mappings, or configurations — allowing you to drag and drop frequently used patterns instead of rebuilding them every time.
Here we have attached file which shows overview of all the pallets.
Â
 Here are some pallets.
1- Process– A Process is the backbone of an Integration Flow. It contains all the steps and logic needed to move data from one system to another. Itis three types.
1– Integration Process– An Integration Process is a sequence of steps designed to handle data exchange between different systems using CPI. It is the main iflow. Itis the core structure that defines how data flows between systems. It’s like a workflow or blueprint that contains all the steps needed to move, transform, and route data.
2- Local Integration Process- A Local Integration Process is a reusable block of steps defined within the same iFlow. It allows you to separate logic into smaller, manageable sections without creating a separate artifact.​ It is a special type of subprocess used within an iFlow to organize and modularize logic.
3-Exception SubProcess– Whenever we got an error in cpi, we go for exception subprocess. It tells us which iflows got failed through mail adapter and takes immediate action. ​
For example :​
If a message fails to reach the target system due to a network issue, the Exception Subprocess can log the error and send a notification to the support team.
Â
Key Features:​
Â
Automatically triggered when an error occurs​Can include steps like logging, sending alerts, or retrying​Helps improve reliability and maintainability of iFlow.
2- Transformation:Â Transformation refers to the process of changing the structure, format, or content of a message so that it can be understood by the target system. It consist content modifier, converter, encoder, decoder, filter.
​
1-Content Modifier– It is used to modify the content/data whatever we send to it . It consist three elements.
​
Message header– Here the data will be available during the run time and after the run time . It means the data will be access inside the cpi and also data can be sent to receiver.
​
Exchange Properties– Here the data will be available only during the run time. It means the data can be access only inside the cpi, here we can’t send the data to reciever.
​
Message Body– whenever we need to send the data from one content to another then we go for message body .​ When we select constant then we write any text in the body , when we select expression then we need to use camel expression ($(in.body)).
​
​
Â
2- Converter- It is used to convert the data from one form to another.
XML to JSON- Here root element will come , if you want to remove it then you can select option like ‘Suppress JSON Root Element’. Here Json data can be in array form if we select option like ‘Convert XML Elements to JSON Array.
JSON to XML- Here the xml data will come without root node , if you want root node then we can select option like ‘Add XML Root Element.
XML to CSV- Here we need to give the path of source element and parent element.​
​
CSV to XML– Here we need to upload xml schema (xsd file(convert xml to xsd online)) under processing . Here we need to give path of target and also header will come by default, if you don’t want then you need to select option like ‘Exclude First Line Header.
3-Encoder– It is used to convert readable data to non readable form. It Converts data into a specific format (like Base64 or encrypted form) before sending it to another system . Ensures data is secure, compressed, or formatted correctly for transmission.​
It is four type- Base64, Gzip, zip , MIME(Multipurpose internet mail extension)​
4-Decoder- It Converts encoded data back to its original format after receiving and also helps the target system understand and process the message correctly.​
5-Filter– It is used to remove unwanted data . It support only XML data. It is five type.​
 Nodelist– It will give whole records which presents in data .​
 Node– It will give only single record. If we want to extract only specified record then we need to specified it. ​
Constant, Boolean, String.
​
3- Mapping- Mapping is the process of converting data from one format or structure to another so that the receiving system can understand and use it correctly.​
​Message mapping or Graphical mapping– A graphical tool to map fields from source to target. It Supports functions like concatenation, value mapping, and conditional logic. It support only XSD , EDMX and WSDL file. For Testing purpose it support only XML file.
XSLT Mapping– Basically it is used for removing the namespace in xsd file.​
Value Mapping- It Maps specific values from one system to another (for example country codes) and Can be maintained centrally and reused.​
Script-Based Mapping- It Uses Groovy or JavaScript for custom transformation logic and Useful when graphical mapping is not flexible enough.
​
4- ​Call- A Call refers to invoking another process or service from within an integration flow. It helps in modularizing logic and reusing components.
1- External call– Here we can call it from anywhere like another iflows etc. It is of four type content enricher, poll enricher, request reply, send​.
Content Enricher– whenever we need to fetch data from two different system we can use it. The Content Enricher is a step in SAP CPI used to add extra data to a message by calling an external system or service during message processing.​
For example-If a message contains only a customer ID, the Content Enricher can call a customer database to fetch full customer details and add them to the original message.
Poll Enrich– The Poll Enricher is a special integration pattern in SAP CPI used to enrich a message by polling data from an external system at runtime.​
It is used for fetching the data in between timer and end of cpi. It support only SFTP adapter.
Request reply– The Request-Reply step in SAP CPI is used to send a request to an external system and wait for its response before continuing the integration flow. Request reply is nothing but requesting something and get back the response .
Sender– To deliver the message to an external system (e.g., SAP S/4 HANA, third-party API, database). It Uses adapters like HTTP, SOAP, SFTP, IDoc, etc.
Â
Â
Â
2- Internal Call– It is only called inside the same iflows. It is three type indempotent process call , looping process call , process call​
​
Idempotent Process Call– An Idempotent Process Call in SAP CPI ensures that duplicate messages are not processed multiple times. It guarantees that even if the same message is sent more than once, the outcome remains the same — only one instance is processed.​
For example- Imagine a payment system sends the same transaction twice due to a timeout. With Idempotent Process Call, CPI will process it only once, avoiding duplicate payments.​
​
Looping Process Call– The Looping Process Call in SAP CPI is used to repeat a subprocess multiple times, usually for each item in a list or based on a condition. Here some condition occure , if condition is true then it go to sub-iflows.
Â
5- Message Routing-Â It consist of Aggregator, Gather , join, Multicast, Router, Splitter.
​
1- Aggregator- Collects and combines messages based on a condition (like count or timeout). Multi related record/data combines to form a single message/record. ​
for example– Collect 5 sales orders and send them as a batch to the ERP system every 10 minutes.​
​
2-Multicast– To send the same data to multiple branches at same time.
​
Parallel multicast– It is used when multiple reciever needs same data at same time.
​
Sequential multicast– Here every branches run one after another. If one branch get lost then hole system got failed.
Join- It doesn’t have any data. It just keep alone branches in one frame . It is used after multicast.​
​
Gather– It is also used after multicast but instead of joining, it collects/ combine message from branches into one message. It is used for combining different data into one record.​
​
Splitter– It just Splits a single message into multiple smaller messages. It’s two type general splitter , iterating splitter.
​
General splitter– Here the data will come with root node.
Iterating splitter – Here the data will not come with root node.​
​
Router- It is used to send the message to different branches based on some condition. It works just like if-else condition.
Â
6- ​Persistence​- It consist of data store operation, persist and write variable.
1- Data store operation– whenever we need to store temporary data we go for data store operation. It has five elements.​
Write– It is used to write the data.​
Get– It is used to fetch the single specified record.​
Select– It is used to fetch more than one record.​
Delete– It is used to delete the record.​
​
2-Persist– Persistence in SAP CPI refers to the ability to store and retrieve data temporarily during message processing. It helps maintain state or pass values between steps in an iFlow.​
​
3-Write Variable– Here we can store the data globally.
7- Security- This palette is used to secure messages and data during integration. They help ensure confidentiality, integrity, and authenticity of data exchanged between systems.
Encryptor
Encrypts message payload using algorithms like AES or RSA.Used for securing sensitive data before transmission.
Decryptor
Decrypts encrypted payloads.Ensures that only authorized systems can read the data.
Â
Conclusion – ​A clear understanding of all palettes in SAP Cloud Platform Integration enables developers to build efficient, scalable, and maintainable integration flows. By mastering each palette’s purpose and usage, one can design robust iFlows, troubleshoot effectively, and ensure seamless data exchange across systems, enhancing overall integration performance and reliability.Â
​
​
​ ​​
Â
Â
​
​
​
​
​
Â
​ What are Pallets in SAP CPI?A Pallet in SAP CPI is a predefined collection of integration flow components that can be reused across different projects.Think of it as a toolbox containing reusable steps, mappings, or configurations — allowing you to drag and drop frequently used patterns instead of rebuilding them every time.Here we have attached file which shows overview of all the pallets.  Here are some pallets.1- Process- A Process is the backbone of an Integration Flow. It contains all the steps and logic needed to move data from one system to another. Itis three types.1- Integration Process- An Integration Process is a sequence of steps designed to handle data exchange between different systems using CPI. It is the main iflow. Itis the core structure that defines how data flows between systems. It’s like a workflow or blueprint that contains all the steps needed to move, transform, and route data.2- Local Integration Process- A Local Integration Process is a reusable block of steps defined within the same iFlow. It allows you to separate logic into smaller, manageable sections without creating a separate artifact.​ It is a special type of subprocess used within an iFlow to organize and modularize logic.3-Exception SubProcess- Whenever we got an error in cpi, we go for exception subprocess. It tells us which iflows got failed through mail adapter and takes immediate action. ​For example :​If a message fails to reach the target system due to a network issue, the Exception Subprocess can log the error and send a notification to the support team. Key Features:​ Automatically triggered when an error occurs​Can include steps like logging, sending alerts, or retrying​Helps improve reliability and maintainability of iFlow.2- Transformation: Transformation refers to the process of changing the structure, format, or content of a message so that it can be understood by the target system. It consist content modifier, converter, encoder, decoder, filter.​1-Content Modifier- It is used to modify the content/data whatever we send to it . It consist three elements.​Message header- Here the data will be available during the run time and after the run time . It means the data will be access inside the cpi and also data can be sent to receiver.​Exchange Properties- Here the data will be available only during the run time. It means the data can be access only inside the cpi, here we can’t send the data to reciever.​Message Body- whenever we need to send the data from one content to another then we go for message body .​ When we select constant then we write any text in the body , when we select expression then we need to use camel expression ($(in.body)).​​ 2- Converter- It is used to convert the data from one form to another.XML to JSON- Here root element will come , if you want to remove it then you can select option like ‘Suppress JSON Root Element’. Here Json data can be in array form if we select option like ‘Convert XML Elements to JSON Array.JSON to XML- Here the xml data will come without root node , if you want root node then we can select option like ‘Add XML Root Element.XML to CSV- Here we need to give the path of source element and parent element.​​CSV to XML- Here we need to upload xml schema (xsd file(convert xml to xsd online)) under processing . Here we need to give path of target and also header will come by default, if you don’t want then you need to select option like ‘Exclude First Line Header.3-Encoder- It is used to convert readable data to non readable form. It Converts data into a specific format (like Base64 or encrypted form) before sending it to another system . Ensures data is secure, compressed, or formatted correctly for transmission.​It is four type- Base64, Gzip, zip , MIME(Multipurpose internet mail extension)​4-Decoder- It Converts encoded data back to its original format after receiving and also helps the target system understand and process the message correctly.​5-Filter- It is used to remove unwanted data . It support only XML data. It is five type.​ Nodelist- It will give whole records which presents in data .​ Node- It will give only single record. If we want to extract only specified record then we need to specified it. ​Constant, Boolean, String.​3- Mapping- Mapping is the process of converting data from one format or structure to another so that the receiving system can understand and use it correctly.​​Message mapping or Graphical mapping- A graphical tool to map fields from source to target. It Supports functions like concatenation, value mapping, and conditional logic. It support only XSD , EDMX and WSDL file. For Testing purpose it support only XML file.XSLT Mapping- Basically it is used for removing the namespace in xsd file.​Value Mapping- It Maps specific values from one system to another (for example country codes) and Can be maintained centrally and reused.​Script-Based Mapping- It Uses Groovy or JavaScript for custom transformation logic and Useful when graphical mapping is not flexible enough.​4- ​Call- A Call refers to invoking another process or service from within an integration flow. It helps in modularizing logic and reusing components.1- External call- Here we can call it from anywhere like another iflows etc. It is of four type content enricher, poll enricher, request reply, send​.Content Enricher- whenever we need to fetch data from two different system we can use it. The Content Enricher is a step in SAP CPI used to add extra data to a message by calling an external system or service during message processing.​For example-If a message contains only a customer ID, the Content Enricher can call a customer database to fetch full customer details and add them to the original message.Poll Enrich- The Poll Enricher is a special integration pattern in SAP CPI used to enrich a message by polling data from an external system at runtime.​It is used for fetching the data in between timer and end of cpi. It support only SFTP adapter.Request reply- The Request-Reply step in SAP CPI is used to send a request to an external system and wait for its response before continuing the integration flow. Request reply is nothing but requesting something and get back the response .Sender- To deliver the message to an external system (e.g., SAP S/4 HANA, third-party API, database). It Uses adapters like HTTP, SOAP, SFTP, IDoc, etc.   2- Internal Call- It is only called inside the same iflows. It is three type indempotent process call , looping process call , process call​​Idempotent Process Call- An Idempotent Process Call in SAP CPI ensures that duplicate messages are not processed multiple times. It guarantees that even if the same message is sent more than once, the outcome remains the same — only one instance is processed.​For example- Imagine a payment system sends the same transaction twice due to a timeout. With Idempotent Process Call, CPI will process it only once, avoiding duplicate payments.​​Looping Process Call- The Looping Process Call in SAP CPI is used to repeat a subprocess multiple times, usually for each item in a list or based on a condition. Here some condition occure , if condition is true then it go to sub-iflows. 5- Message Routing- It consist of Aggregator, Gather , join, Multicast, Router, Splitter.​1- Aggregator- Collects and combines messages based on a condition (like count or timeout). Multi related record/data combines to form a single message/record. ​for example- Collect 5 sales orders and send them as a batch to the ERP system every 10 minutes.​​2-Multicast- To send the same data to multiple branches at same time.​Parallel multicast- It is used when multiple reciever needs same data at same time.​Sequential multicast- Here every branches run one after another. If one branch get lost then hole system got failed.Join- It doesn’t have any data. It just keep alone branches in one frame . It is used after multicast.​​Gather- It is also used after multicast but instead of joining, it collects/ combine message from branches into one message. It is used for combining different data into one record.​​Splitter- It just Splits a single message into multiple smaller messages. It’s two type general splitter , iterating splitter.​General splitter- Here the data will come with root node.Iterating splitter – Here the data will not come with root node.​​Router- It is used to send the message to different branches based on some condition. It works just like if-else condition. 6- ​Persistence​- It consist of data store operation, persist and write variable.1- Data store operation- whenever we need to store temporary data we go for data store operation. It has five elements.​Write- It is used to write the data.​Get- It is used to fetch the single specified record.​Select- It is used to fetch more than one record.​Delete- It is used to delete the record.​​2-Persist- Persistence in SAP CPI refers to the ability to store and retrieve data temporarily during message processing. It helps maintain state or pass values between steps in an iFlow.​​3-Write Variable- Here we can store the data globally.7- Security- This palette is used to secure messages and data during integration. They help ensure confidentiality, integrity, and authenticity of data exchanged between systems.EncryptorEncrypts message payload using algorithms like AES or RSA.Used for securing sensitive data before transmission.DecryptorDecrypts encrypted payloads.Ensures that only authorized systems can read the data. Conclusion – ​A clear understanding of all palettes in SAP Cloud Platform Integration enables developers to build efficient, scalable, and maintainable integration flows. By mastering each palette’s purpose and usage, one can design robust iFlows, troubleshoot effectively, and ensure seamless data exchange across systems, enhancing overall integration performance and reliability. ​​​ ​​  ​​​​​   Read More Technology Blog Posts by Members articlesÂ
#SAP
#SAPTechnologyblog