Integrationintermediate
IDoc & ALE (Application Link Enabling)
SAP's classic asynchronous document exchange format and the distributed system linking framework built around it.
An IDoc is a business document in a fixed, segment-based format, sent asynchronously between systems. ALE is the framework that decides who sends what to whom.
An IDoc is like a shipping manifest with a strict, standardized form (segments) that two companies' warehouses (SAP systems) both understand, dropped into a delivery service (the port/transactional RFC) that guarantees eventual delivery even if the receiving warehouse is temporarily closed, unlike a phone call (synchronous RFC) that requires both parties on the line at the same instant.
Key Concepts
1
Enormous amounts of live SAP integration still run on this, which is why it is asked about.
2
What an IDoc contains.
control record sender, receiver, message type, IDoc type
data segments the business content, in a defined structure
status records what has happened to it so far3
The structure is rigid by design. Both sides agree on the IDoc type in advance, so no negotiation or schema
discovery happens at runtime.
4
The configuration, and what each piece does.
BD64 distribution model -- which system sends which message
type to which other system
WE20 partner profiles -- per partner, how to process inbound and
outbound messages
WE21 ports -- the technical transport: tRFC, file, or middleware5
A partner profile is where most incidents start. It names the function module that processes an inbound
IDoc and whether processing happens immediately or in a background job.
6
How an outbound IDoc is triggered. Either the application creates it directly, or change pointers
do: a mechanism that watches specific fields and queues an IDoc when they change (BD50, BD61, and a job
running RBDMIDOC).
BD50BD61RBDMIDOC
7
Change pointers are the usual answer to "master data changed in one system, distribute it". They also
explain a common puzzle — the change happened and no IDoc appeared — because the job that converts pointers
into IDocs runs on a schedule and may not have run.
8
Status codes are the daily language.
03 passed to port 30 ready for dispatch
51 application document not posted 53 posted successfully
56 IDoc with errors added 64 ready to be transferred9
51 is the one you spend time on: the IDoc arrived, was well-formed, and the posting failed on a business
rule. Its status record carries the message, which is the actual error.
10
WE02 and WE05 list and display IDocs; BD87 monitors and reprocesses failed ones. Reprocessing after
fixing the cause is routine, and it is why an IDoc that fails is recoverable rather than lost.
WE02WE05BD87
11
Why it is still the right tool sometimes. High volume, asynchronous, guaranteed delivery, between
systems that both speak it. An IDoc is queued and retried; it does not require the receiver to be up.
12
A synchronous API call requires the far end to be available and the caller to wait. For a nightly flood of
material master changes that is the wrong shape.
13
And where it is not. Anything needing a response, anything conversational, anything where the receiver
is a modern service expecting JSON. New integration usually means OData or an event, orchestrated by CPI —
but "IDoc is legacy" is the wrong summary, since it remains the standard for SAP-to-SAP asynchronous
document exchange.
14
What the interviewer is probing.1. "Describe the IDoc structure." Probing: the fundamentals. Stalls: "It is a file." *Moves
up:* a control record with sender and receiver, data records in segments, and status records
tracking processing — status is where you troubleshoot.
15
2. "What do you check for a failed inbound IDoc?" Probing: the practical skill. Stalls:
"Resend it." Moves up: the status in WE02 or WE05, the partner profile in WE20, and whether the
process code and function module found the data it needed.
16
3. "What is the role of the distribution model?" Probing: the ALE part. Stalls: "Nothing."
Moves up: BD64 declares which message types flow between logical systems, which generates partner
profiles and filters data.
17
4. "How do you reprocess without duplicating?" Probing: the care. Stalls: "Just resend."
Moves up: edit and reprocess the existing IDoc with BD87 rather than resending from the source,
which would create a second document.