In the communication layer, the IDoc is dispatched with a transactional remote function call (tRFC) or through another file interface (EDI, for example).
The transactional call is not executed immediately; instead, the data to send is first written to a database table. When a COMMIT WORK is triggered in the calling program, the remote call to the receiver system is executed. If the receiver system is currently unavailable, a periodically scheduled background process tries to send the data to the receiver system again later. The tRFC guarantees that the data is only transmitted once.