Basic/General Questions
1. What is SAP CPI and where is it used?
SAP Cloud Platform Integration (CPI) is part of the SAP Integration Suite. It’s used to integrate cloud
and on-premise systems in real time, offering message transformation, routing, and security features.
2. Difference between SAP CPI and SAP PI/PO?
SAP PI/PO is an on-premise middleware, while SAP CPI is a cloud-native integration service. CPI offers
better agility, scalability, and access to pre-packaged content.
3. What are the main components of SAP CPI?
Integration Flows, Adapters, Runtime, Monitoring tools, Security Artifacts (Keystore, Certificates),
and Connectivity Settings.
4. What are integration packages in SAP CPI?
Pre-configured integration content provided by SAP or partners, available via API Business Hub, and
can be customized.
5. Explain the architecture of SAP CPI.
CPI architecture includes Design Time (Web UI), Runtime (processing engine), Monitoring, and
Connectivity (adapters, protocols, endpoints).
6. Difference between Neo and Cloud Foundry environments?
Neo is SAP’s proprietary runtime. Cloud Foundry is open-source, supports multi-cloud providers, and
is SAP’s strategic direction.
7. What is an integration flow (iFlow)?
A visual workflow representing message flow, transformation, and integration logic between systems.
8. What are pre-packaged integration flows? Can we customize them?
Yes, these are ready-made flows provided by SAP and partners, customizable for specific business
needs.
🔹 iFlow Design & Development
9. What are the main steps involved in creating an iFlow?
Define Sender/Receiver → Configure Adapters → Add Processing Logic → Deploy and Monitor.
10. Explain the usage of Content Modifier.
Used to modify message headers, properties, and body content during processing.
11. What is the use of Router and when would you use it?
Router is used to branch message flow based on conditions (headers, properties, or payload values).
12. What is a Process Call? Difference between Local and External call?
Process Call invokes reusable subflows. Local is within the same iFlow; External is a separate artifact.
13. How can you handle errors in iFlow?
Using Exception Subprocess or event-driven error handling steps to catch and act on errors.
14. What is Exception Subprocess?
A subprocess designed to handle errors during iFlow execution, either for all steps or specific steps.
15. What are the commonly used adapters in SAP CPI?
SFTP, SOAP, HTTP, OData, SuccessFactors, IDoc, AS2, JMS.
🔹 Adapters and Protocols
16. What is the difference between SOAP and OData adapter in CPI?
SOAP is for XML-based web services; OData is REST-based, often used for SuccessFactors and
S/4HANA.
17. When do you use IDoc adapter vs SFTP adapter?
IDoc adapter for SAP ERP system communication; SFTP for file-based data exchange.
18. Explain usage of SuccessFactors adapter.
Connects to SF APIs using OData; supports CRUD operations, batch, and upsert.
19. What are the differences between JMS and AMQP adapters?
JMS is for guaranteed delivery and message queuing; AMQP is more open and flexible.
20. What is the purpose of AS2 adapter in CPI?
Used for secure, reliable B2B communication using EDI protocols with MDN support.
21. What is the difference between EO and EOIO modes in CPI JMS queues?
EO: Exactly Once delivery. EOIO: Exactly Once In Order (preserves sequence).
22. How do you configure retry mechanisms in JMS-based flows?
Via JMS adapter settings or Exception Subprocess with retry and DLQ (dead-letter queue).
🔹 Groovy Scripting
23. When do you use Groovy scripts in CPI?
For custom logic: transformations, validations, enrichment, dynamic routing, etc.
24. Basic structure of a Groovy script in CPI?
groovy
CopyEdit
def Message processData(Message message) {
// logic
return message
25. How to read a property and modify payload using Groovy?
Use message.getProperty("propertyName") and message.setBody(...).
26. How to access headers and properties in Groovy?
message.getHeader("HeaderName"), message.getProperty("PropertyName").
27. How to log messages in Groovy?
Use messageLogFactory.getMessageLog(message).logInfo("text").
28. Example: Convert JSON to XML or XML to JSON using Groovy.
Use JsonOutput.toJson(...) for JSON; use XmlSlurper or XmlParser for XML.
🔹 Security
29. How do you manage authentication in CPI?
Via Security Material (credentials): Basic Auth, OAuth2, Client Cert.
30. What are the different credential types in CPI?
User Credentials, OAuth2 Credentials, Certificate-Based Credentials.
31. What is OAuth2 and how is it configured in CPI?
OAuth2 is token-based authentication, configured via Security Material for APIs requiring token
exchange.
32. What are keystores and how are they used in CPI?
Secure storage of public/private keys, used for HTTPS, message signing, and encryption.
33. Difference between Basic Auth and Certificate-based Auth?
Basic Auth uses username/password; Certificate Auth uses digital certificates for enhanced security.
34. How do you handle message encryption and decryption?
Via PGP encryption/decryption steps or TLS via HTTPS endpoint.
🔹 Monitoring & Troubleshooting
35. How do you monitor an iFlow execution?
Use Monitor → Message Processing Logs → View message path, payloads, and errors.
36. How do you troubleshoot failed messages in CPI?
Enable TRACE log, view MPL details, check Exception Subprocess, inspect headers/payload.
37. How to reprocess failed messages?
From MPL if resubmittable, or re-trigger from the source system.
38. How to use MPL (Message Processing Logs)?
View message path, custom headers/properties, and intermediate payloads.
39. What is Trace vs Info log level in CPI?
INFO shows basic flow steps. TRACE shows all data (headers, payloads, properties).
40. How to test integration flow with Postman or SOAP UI?
Send request to endpoint with proper authentication (Basic/OAuth), headers, and body.
🔹 Advanced / Scenario-based
41. How do you handle large files or payloads in CPI?
Use Splitters to break into smaller chunks or enable chunking in adapters.
42. Explain a scenario where you used Data Store in CPI.
For message aggregation: write parts to Data Store, aggregate later, then delete.
43. What is the best way to implement idempotent processing?
Use Message ID + Data Store to avoid reprocessing already handled messages.
44. How do you integrate CPI with On-Premise systems?
Use SAP Cloud Connector or whitelisted public IPs + VPN/proxy.
45. How do you handle message correlation (e.g., Request-Reply)?
Use correlation ID via header/property and persist intermediate results if needed.
46. How do you perform lookups to external systems in CPI?
Via Request-Reply step calling external API using HTTP/SOAP adapter.
47. Explain how CPI handles parallel message processing.
Each iFlow runs independently; use EOIO queues if sequence is required.
🔹 Cloud Integration Suite / DevOps
48. How do you transport iFlows from Dev to QA/Prod?
Using MTAR export/import or Transport Management Service (TMS) or CI/CD pipelines.
49. What are value mappings and where are they stored?
Used for mapping values between systems (e.g., CountryCode ↔ RegionCode); stored in CPI
artifacts.
50. How do you version control CPI artifacts?
Manual via ZIP/MTAR or integrated with Git through CI/CD tooling.
51. Can you automate deployment in CPI using CI/CD tools?
Yes. Use SAP APIs or external CI/CD tools like Jenkins, GitHub Actions.
52. What tools do you use for API testing and validation in CPI?
Postman, SOAP UI, Insomnia, JMeter.
53. What is Open Connectors and how is it related to CPI?
Open Connectors provide standard APIs for external SaaS apps like Salesforce, HubSpot, etc.
54. How do you handle CPI monitoring in Cloud ALM or SAP Solution Manager?
Cloud ALM and SolMan integrate with CPI to monitor, alert, and analyze iFlow execution.
🔹 Migration Related (Neo to Cloud Foundry)
55. What are the steps to migrate iFlows from Neo to Cloud Foundry?
1. Export from Neo
2. Adapt (certificates, endpoints, config)
3. Import into CF
4. Test thoroughly
56. What are the differences in adapter capabilities between Neo and CF?
Some adapters or features may behave differently or be deprecated in CF. Check compatibility
documentation.
57. How do you manage environment-specific configurations during migration?
Use externalized parameters or deploy-time configuration settings.
58. How do you handle the file transfers and failovers in Cloud Foundry CPI?
Use robust SFTP polling, retry, exception handling; optionally integrate with JMS for durability.
Top CPI Adapter-Related Interview Questions
🔸 General Adapter Concepts
1. What are adapters in SAP CPI?
o Explain what adapters are and how they enable communication between CPI and
external/internal systems.
2. Name the most commonly used adapters in Cloud Foundry CPI.
o HTTP, SOAP, OData, SFTP, IDoc, SuccessFactors, JMS, AS2, Amazon S3, Mail, and JDBC
(Beta).
3. What is the difference between sender and receiver adapters?
o Sender receives messages into CPI, receiver sends processed messages out.
4. How do you configure an adapter in an iFlow?
o Through sender/receiver channels in the start and end event of an iFlow.
🔸 SFTP Adapter
5. How do you configure SFTP polling in CPI?
o Specify host, port, credentials, directory, file pattern, processing mode, and polling
interval.
6. How do you ensure secure SFTP communication?
o Use SSH Key authentication with Keystore entries or user credentials.
7. What are processing modes in SFTP adapter?
o Delete, Archive, or Keep (used when polling files).
8. How do you handle file failover or retry in SFTP-based iFlows?
o Use exception subprocesses with retry, timestamp-based backups, and alerts.
🔸 JMS Adapter
9. What is the use of JMS adapter in CPI?
o Enables message queuing for asynchronous processing and decoupling systems.
10. Difference between EO and EOIO in JMS adapter?
o EO: Each message is processed once.
EOIO: Preserves order of messages (used for sequence-sensitive processes).
11. How do you configure retry for failed JMS messages?
o Use Exception Subprocess and define retry logic or leverage Dead Letter Queues.
12. What are the key configurations in JMS receiver adapter?
o Queue name, QoS (EO or EOIO), Connection settings, Retry policy.
13. How do you monitor JMS queues in SAP CPI?
o Go to Monitor → Manage Message Queues → View, purge, or resend messages.
🔸 SuccessFactors & OData Adapters
14. When would you use the SuccessFactors adapter over the OData adapter?
o SF adapter is optimized for SF APIs (supports SFQL, batch upsert), OData is generic.
15. What is the difference between SFQL and OData queries in SF adapter?
o SFQL is a simpler query language used in SuccessFactors APIs, similar to SQL.
16. What kind of operations can you perform with SuccessFactors adapter?
o Query, Create, Update (Upsert), and Delete operations on entities like User, JobInfo.
🔸 SOAP Adapter
17. How is SOAP adapter different from HTTP adapter?
o SOAP adapter provides WSDL support, message envelope management, and WS
security.
18. How do you consume a SOAP service in CPI?
o Use receiver SOAP adapter → import WSDL → map request structure → set SOAP
headers.
19. How to handle SOAP faults in CPI?
o Catch exceptions in Exception Subprocess and extract fault messages.
🔸 HTTP Adapter
20. When do you prefer HTTP adapter over SOAP or OData?
o For lightweight REST APIs, webhook-style integrations, or simple JSON/XML posts.
21. How do you send headers and query parameters using HTTP adapter?
o Use Content Modifier or Groovy to set CamelHttpQuery and CamelHttpHeader.
22. Can HTTP adapter be used for both GET and POST requests?
o Yes, configure the method in the adapter or dynamically set it.
🔸 IDoc Adapter
23. How does the IDoc adapter work in CPI?
o Communicates with SAP backend systems via RFC or IDoc channels; requires cloud
connector or reverse proxy.
24. What are prerequisites for IDoc communication in Cloud Foundry?
o RFC destination setup in backend, Cloud Connector or SAP BTP Connectivity service.
🔸 Mail Adapter
25. How do you send email using the Mail adapter?
o Configure SMTP server, credentials, and use attachment/body settings.
26. Can you attach payload as an email attachment?
o Yes, use the Mail adapter's attachment configuration.
🔸 Amazon S3 Adapter (Cloud Foundry only)
27. How to send files to AWS S3 using CPI?
o Use Amazon S3 adapter with access key and secret, set bucket, folder, and file name.
🔸 Adapter Comparison/Scenarios
28. Compare OData and REST adapter.
o OData is specific to SAP APIs (metadata-rich), REST/HTTP is more generic and
flexible.
29. Which adapter would you choose for large file processing?
o SFTP + Splitter pattern or JMS for decoupled async processing.
30. How to dynamically configure adapter endpoints?
o Use externalized parameters or script header injection.