L'adaptateur traite un paquet IDoc comme une seule unité de
travail si tous les IDocs du paquet sont du même type. Tous les IDocs du paquet
font alors partie d'une seule transaction XA vers un noeud final. Le traitement
des événements est identique à celui d'un seul IDoc en ce qui concerne le
mécanisme de reprise d'événements ; le paquet IDoc est considéré comme une
seule unité de travail. Par conséquent, un échec enregistré sur le noeud final
pour un des IDoc entraîne l'échec du paquet entier. En cas d'échec, tous les
IDoc du paquet doivent être envoyés à nouveau vers le noeud final.
L'adaptateur traite un événement entrant de paquet global à
l'aide de la procédure suivante :
- Lorsque le système SAP envoie un ID de transaction à l'adaptateur, ce
dernier vérifie l'état de l'événement et effectue l'une des actions
suivantes :
- S'il s'agit d'un nouvel événement, l'adaptateur stocke un EVNTID (qui
correspond à l'ID de transaction) avec l'état 0 (Created) dans
la table de reprise des événements.
- Si l'état de l'événement est -1 (Rollback), l'adaptateur
change en CREATED.
- Si l'état de l'événement est 1 (Executed), l'adaptateur
renvoie un signal de succès au système SAP.
- Le système SAP envoie la paquet IDoc à l'adaptateur, qui l'analyse et le
convertit en plusieurs objets métier avant de les stocker en mémoire.
- L'adaptateur envoie les objets métier vers le noeud final. Notez que
l'adaptateur peut distribuer des objets aux noeuds finals, qu'ils prennent en
charge les transactions ou non.
- Si une exception se produit pendant que l'adaptateur traite l'événement ou
si le noeud final génère une exception, l'état de l'événement devient
-1 (Rollback).
- Si aucune exception ne se produit, le système SAP effectue les tâches suivantes :
- Il envoie un appel COMMIT à l'adaptateur et l'état de l'événement devient
1 (Executed).
- Il envoie un appel CONFIRM à l'adaptateur.
L'adaptateur supprime
alors les enregistrements dont l'état est 1 (Executed)
et consigne un événement CEI (common event infrastructure) à des fins de suivi
et d'audit.