SAP Cloud IntegrationInterview Prep & Mock Interviews
Walk in ready to crack the CPI interview
Practice with an AI that asks the questions a real SAP CPI panel asks, scores how you answer out loud, and hands you the model answer — grounded in the same material as Nest Labs.
🛡️ A practice tool — built for preparation, not for use during a live interview.
Interviewer asksWhen would you use ProcessDirect over an HTTP call between two iFlows?
Type your answer below, then tap “Score it”.
Listen & Learn · open-book practice
Hear a question, see the answer
🎧 Practice mode. Read a question aloud — or have a friend play the interviewer. It transcribes live and streams a tight, structured answer so you rehearse saying it in your own words. You can record the session and replay it later. Built for preparation, not for use in a real interview.
Type a question below to get a model answer.
Heard
Your question appears here, transcribed as you speak.
Answer · say it back in your words
A tight, structured answer streams here for you to rehearse out loud.
Question bank
Drill by topic
When would you use ProcessDirect over an HTTP call between two iFlows?
Adapters · Intermediate
ProcessDirect is an in-process, same-tenant handoff — no network hop, no auth, lower latency — used to split a large scenario into reusable flows.
Both sides must expose the same address on the same tenant.
Use HTTP(S) when the other flow is on a different tenant or needs a real endpoint/auth.
ProcessDirect keeps the same message, headers and transaction context.
What is the difference between the HTTPS sender and the HTTP receiver adapter?
Adapters · Core
The HTTPS sender exposes an endpoint on the tenant (a path, secured by a role); the HTTP receiver calls an external URL with its own auth and timeout.
Secure the sender with a user role or client certificate.
Set sensible timeouts on the receiver.
The SFTP sender is not polling. What do you check?
Adapters · Intermediate
Check the schedule, the directory and file pattern, the private-key alias in the keystore, and that the host is reachable.
SFTP connects at deploy — a bad host fails immediately.
Proxy type must suit your landscape.
Confirm the known-hosts entry matches the server key.
How do you handle errors in an integration flow?
Error handling · Core
Add an exception subprocess; it catches any error in the main process, and you choose its end event by intent.
End event → custom error reply, status Completed.
Error End → status Failed (logged).
Escalation End → status Escalated.
Also check receivers that return HTTP 200 with an error inside the payload.
What does “Stop on Exception” do on a Splitter, and what is the trade-off?
Error handling · Intermediate
On, the first failing split item aborts the whole message (all-or-nothing); off, good items continue and failures are collected.
Off → pair with a local process to handle the failed items.
On → simpler, but one bad record loses the batch.
Decide with the business whether partial success is acceptable.
How does one iFlow move DEV → QA → PROD without editing it?
Externalization · Core
Externalize the volatile values (endpoints, folders, credential aliases) as {{parameters}} and set them per tenant on the Configure screen at deploy — the artifact never changes.
Externalize is a button on the step; the field takes the parameter NAME.
Default values live with the iFlow; real values set in Configure.
Never put environment-specific names inside the flow.
A partner sends one CSV row and your REST receiver expects a JSON array. Why can it break, and how do you fix it?
Mapping · Intermediate
CSV→XML→JSON: with a single record the XML has one occurrence, so XML-to-JSON emits an object, not an array, and the API rejects it.
Force the array (converter option or a wrapping mapping).
Always test an interface with one record AND many.
No direct CSV↔JSON — XML is the hub format.
Message Mapping vs XSLT vs Operation Mapping — when would you use each?
Mapping · Core
Message Mapping for graphical field-to-field with functions; XSLT for complex or structural transforms; Operation Mapping only when imported from PI/PO.
Message Mapping is the default and easiest to maintain.
Reach for XSLT when the structure changes shape.
Keep heavy logic out of hot paths for performance.
A CPI message carries headers, properties and a body. What is the difference, and which one reaches the receiver?
Message processing · Core
Headers travel with the message out to the receiver adapter; properties live only inside the integration flow and are dropped at the boundary; the body is the payload.
Set them in a Content Modifier — one tab each.
Use a header when the value must reach the receiver, a property for in-flow working values.
Classic bug: reading ${property.X} when you wrote it as a header.
What is the difference between a local integration process and an exception subprocess?
Message processing · Intermediate
A local integration process is a reusable block you invoke with a Process Call and runs in the same transaction; an exception subprocess is the catch handler, one per integration process, that fires when any step throws.
Use local processes for structure and reuse.
Use the exception subprocess for error handling.
Both keep the current message context.
A message failed in production. Walk me through how you investigate.
Monitoring · Core
Open Monitor ▸ Message Processing, filter to the failed run, read Error Details and the Log; for step-level detail set Log Level to Trace and re-run.
Trace shows Header/Property/Payload per step — retained ~10 min and only while on Trace.
Correlate by Correlation ID across dependent flows.
Check the receiver response attachment for the real error.
Why might the Trace tab be empty after a run?
Monitoring · Core
Trace records only while Log Level is Trace, keeps data about ten minutes, and needs a deployed and started artifact.
An undeployed flow has nothing to trace.
The window may have expired.
Trace is a runtime setting, not a design-time one.
Design an iFlow: S/4HANA sends a PurchaseOrder, Ariba needs it, with a daily reconciliation file to SFTP.
Scenario · Senior
Sender SOAP/IDoc from S/4 → mapping to the Ariba structure → Ariba receiver, with an exception subprocess; a second scheduled flow writes the reconciliation file over SFTP.
Externalize endpoints as {{parameters}}; credentials via Security Material.
Name it Global_PurchaseOrder_S4_to_Ariba; channels SOAP_SND_… / ODATA_RCV_….
Pick QoS — Exactly-Once via JMS if duplicates must not reach Ariba.
How would you guarantee a message is never processed twice?
Scenario · Senior
Use an Idempotent Process Call that de-duplicates on a business key with a data store, or an Exactly-Once QoS over JMS.
Decide the dedup key with the business.
JMS gives persistence and redelivery control.
Idempotent Process Call is cheaper when the source may resend.
How do you store and use credentials for a receiver — never hardcode them. What are the options?
Security · Core
Credentials live in Security Material (the tenant keystore), referenced by alias — never in the iFlow.
Reference by alias; externalize the alias as a {{parameter}} so DEV/QA/PROD differ safely.
Keys for SFTP/signing go in the keystore (PGP, known-hosts).
What is stored in Security Material versus the Keystore?
Security · Core
Security Material holds credentials (User Credentials, OAuth, Secure Parameter); the Keystore holds certificates and key pairs (TLS, signing, SSH for SFTP).
Both are referenced by alias.
Rotate before expiry — monitor the keystore.
Never put either inside the iFlow.
Flashcards
Make it stick
Concept · tap to flipQuality of Service — EO vs EOIO
AnswerExactly-Once guarantees no duplicates; Exactly-Once-In-Order also preserves sequence (serialised per queue). Both need a persistence point — JMS or a data store.
1 / 6
Your readiness
Where you stand
Adapters
Not practised · 0/3
Mapping
Not practised · 0/2
Error handling
Not practised · 0/2
Security
Not practised · 0/2
Monitoring
Not practised · 0/2
Message processing
Not practised · 0/2
Externalization
Not practised · 0/1
Scenario
Not practised · 0/2
💡 Sign in to track your readiness across topics as you practise.