To protect your data when using the New Era of Networks Adapter for SAP R/3 with Business APIs (BAPIs), it is important to understand the operations that occur during an adapter transaction.
An adapter transaction consists of eight operations:
1. The adapter gets the message from the input queue.
2. The adapter processes the inbound message.
3. The adapter delivers the message to SAP.
4. SAP processes the message.
5. SAP delivers the response message to the adapter.
6. The adapter processes the response message.
7. The adapter puts the response message on the output queue.
8. The adapter commits the get from the input queue and the put to the output queue.
Failure can occur during any of the eight operations, but is handled differently in each operation, as described below.
1. Failure while the adapter gets the message from the input queue
This can happen if the adapter loses its connection to the queue. In this case the adapter shuts down, and the message remains on the queue. The message is reprocessed when the adapter is restarted and is able to reestablish its connection to the queue.2. Failure while the adapter processes the inbound message
This usually happens if the message is poorly formed or the message is of an unknown type. If the message is of an unknown type, the adapter will not know how to parse it. In this case, after the message is successfully written to the fail queue, it is removed from the input queue (that is, the get from the input queue is committed). The adapter user is responsible for monitoring and processing messages written to the fail queue.3. Failure while the adapter delivers the message to SAP
This can happen if the adapter loses its connection to SAP while it is delivering a message. In this case the adapter shuts down, and the message remains on the queue. The message is reprocessed when the adapter is restarted and is able to reestablish its connection to the queue.Failure can also occur if the message being delivered is not recognized by SAP - for example, if the BAPI referenced in the message is not recognized by SAP. In this case the message is written to the fail queue, and the input message is removed from the input queue (that is, the get from the input queue is committed).
4. Failure while SAP processes the message
This can happen if the SAP server fails while a BAPI is being processed. If this happens, the adapter shuts down. The message remains on the queue, and it is reprocessed when the adapter is restarted and is able to reestablish its connection to the queue and to SAP.Reprocessing the message will not pose a data integrity risk if SAP had not committed the data to the SAP database before failure. However, if SAP fails after committing the message to the database, there is a data integrity risk when the message is reprocessed. You will need to build logic in SAP to ignore the message when it is re-delivered.

Back to Top