Background documentation Processing Acknowledgment Messages Locate the document in its SAP Library structure

An acknowledgment message informs the sender of an asynchronous (request) message about the result of the processing of the message within SAP Exchange Infrastructure. The response to the result is referred to as an asynchronous acknowledgment.

Request Messages

Within the request message you must define whether an acknowledgment message is required, and if so, what kind of acknowledgment message. The acknowledgment message can refer to two events:

·        The arrival of the request message at the final receiver

·        The execution of the application in the receiver system

For this purpose, the request message contains an acknowledgment tag that specifies the event for which an acknowledgment is expected. The sender (or an inbound adapter that supports acknowledgment messages) must provide the data for this tag.

Message processing in SAP Exchange Infrastructure ensures that the acknowledgment message follows the same route from the receiver to the sender as the request message did. For this purpose, the request message contains a hoplist that logs the route of the request message. All Integration Engines and Integration Servers that are involved in the processing of the request message provide the data for this log.

Acknowledgment Message

As soon as the request message encounters an event that requires an acknowledgment message, a corresponding acknowledgment message is created and sent to the sender.

An acknowledgment message of this type contains a new message ID, but also has a reference to the message ID of the request message as well as the value Response in the Directory tag of the message header. The request message hoplist is copied to the acknowledgment message header, thus enabling backward routing of the acknowledgment message.

If a message is branched following receiver identification, a separate acknowledgment message is returned for each newly created request message. These acknowledgments enable the sender to recognize that its original message has been branched.

Acknowledgment messages are processed using backward pipelines. They are defined for each pipeline involved in the processing of request messages:

·        SENDER_BACK for the pipeline SENDER

·        CENTRAL_BACK for the pipeline CENTRAL

·        RECEIVER_BACK for the pipeline RECEIVER

The main task of these backward pipelines is to return an acknowledgment message to the previous system, therefore:

·        The receiver system or an outbound adapter that supports acknowledgment messages sends the result to the Integration Server (RECEIVER_BACK)

·        The Integration Server sends the result back to the sender system or to an inbound adapter that supports acknowledgment messages (CENTRAL_BACK)

Transport from the receiver system to the Integration Server

The receiver system sends an acknowledgment message back to the corresponding Integration Server, as defined for the local Integration Engine.

If an outbound adapter is involved in message processing, it sends the acknowledgment message back to the Integration Server, provided that the respective adapter supports this procedure. Otherwise, a final acknowledgment message is returned with a comment that an acknowledgment is not possible.

Transport from the Integration Server to the sender system

The Integration Server sends an acknowledgment message back to the sender. The name of the sender system is used for logical and technical backward routing.

If an inbound adapter is involved in processing the message, the Integration Server sends an acknowledgment message to the inbound adapter that is then responsible for returning the acknowledgment to the sender. 

Provided the adapter supports this procedure, it sends the acknowledgment message back to the sender system. Otherwise, a final acknowledgment message is returned with a comment that an acknowledgment is not possible.

Acknowledgments of Errors and Correcting Errors

If the sender system has requested an acknowledgment message, when the response message is processed successfully, the acknowledgment message contains a corresponding comment without any additional data. However, the acknowledgment message can also inform the sender about an application or system error that occurred during processing of an asynchronous request message. The fault message is then appended as a binary attachment in the payload of the acknowledgment message.

Message processing is terminated if either request messages or acknowledgment messages contain errors. It is possible to restart messages of this type or confirm them as containing errors in the system in which the error occurred (once the error has been corrected). To do so, navigate to the monitor for processed XML messages.

If a system error has occurred, only an acknowledgment message is generated if the configuration parameter ACK_SYSTEM_ERROR, category RUNTIME in the system in which the error occurred is set to 1.

This graphic is explained in the accompanying text

A system error can of course also occur when processing acknowledgment messages. If this is the case, no further acknowledgment messages are created since an acknowledgment message must refer to a request message and not to another acknowledgment message.

If the request message is confirmed as having errors, the system generates a final acknowledgment message with a corresponding comment.

Due to this procedure, multiple error acknowledgments can reach the sender before a final acknowledgment about a message being successfully processed or confirmed as having errors arrives. For this reason, the sender must always wait for the final acknowledgment before taking active steps to correct any errors.

Notes for the IDoc Adapter

IDoc technology supports its own acknowledgment technology, namely the Structure linkALE Audit. Here there are no acknowledgment requests from the sender. Instead, the receiver decides whether an acknowledgment IDoc should be sent back to the sender using the ALE configuration. These acknowledgment IDocs are only used for monitoring on the sender side.

IDoc technology is the only technology in which positive acknowledgments from the application contain data. This data is sent by the IDoc adapter in an acknowledgment IDoc if the sender is an IDoc system. Otherwise, the data is rejected.

For the inbound IDoc adapter to be able to send an acknowledgment IDoc to the sender, an IDoc end point with the interface ALEAUD.ALEAUD01 must be maintained for the sender.

 

 

Leaving content frame