Verbe BACKOUT émis localement

Image montrant comment le verbe BACKOUT est émis localement.
Verbe BACKOUT émis localement.

  1. Le programme transactionnel local émet un verbe RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT (selon qu’une conversation de base ou mappée est utilisée) pour recevoir des données du programme transactionnel à distance. L’API du fournisseur transmet le verbe de manière transparente à Host Integration Server.

  2. Le verbe RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT se termine avec le champ what_rcvd du VCB défini sur AP_PS_HEADER. La mémoire tampon de données contient un en-tête PREPARE PS.

  3. Un autre verbe RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT est émis par l’API du fournisseur pour recevoir l’indication d’envoi du TP distant.

  4. L’API du fournisseur renvoie le verbe RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT du programme transactionnel avec le champ what_rcvd du VCB défini sur TAKE_SYNCPT.

  5. Le programme transactionnel émet un verbe BACKOUT pour régulariser la transaction.

  6. L’API du fournisseur génère un verbe SEND_ERROR ou MC_SEND_ERROR de type BACKOUT_RESYNC pour envoyer le code de détection Backout 0x08240001.

  7. L’API du fournisseur émet ensuite un verbe CONFIRM ou MC_CONFIRM pour vider le verbe SEND_ERROR ou MC_SEND_ERROR et demander une réponse du programme transactionnel distant.

  8. Le verbe CONFIRM ou MC_CONFIRM se termine lorsque le programme transactionnel distant émet un verbe MC_CONFIRMED ou CONFIRMED. L’API du fournisseur retourne ensuite le verbe BACKOUT au programme transactionnel local.