X12 998 — Set Cancellation
Le 998 annule un transaction set précédemment transmis — un mécanisme de cancel structuré et explicite avant que l'application ne traite le message d'origine.
Objet
Le 998 documente l'annulation contrôlée d'un transaction set préalablement transmis sur le même partenariat — par exemple, retirer un 850 envoyé par erreur avant que l'ERP ne déclenche la production. Il porte l'identifiant du set à annuler (ISA / GS / ST / control numbers), le motif et la portée (annulation simple, annulation et remplacement par un nouveau set).
Il s'utilise sur les flux non-EDIFACT critiques (commande retail, 837 santé saisi en double, 850 mal routé) où l'absence d'un cancel propre obligerait à un workflow manuel. Acquitté par 997 et idéalement diffusé avant le traitement de la transaction visée, sinon il devient inopérant et il faut basculer sur un 860 (Change Request) ou un workflow métier.
Structure d'enveloppe
Le 998 voyage à l'intérieur des trois niveaux d'enveloppe X12 (ISA/IEA,
GS/GE avec functional group CN, et ST/SE).
Exemple didactique en 004010 :
ISA*00* *00* *ZZ*ACMERETAIL *ZZ*ACMEVENDOR *260514*1900*U*00401*000000998*0*P*>~
GS*CN*ACMERETAIL*ACMEVENDOR*20260514*1900*1*X*004010~
ST*998*0001~
ZD*850*ACMERETAIL*ACMEVENDOR*20260514*1430*000000123*0001*CA~
SE*3*0001~
GE*1*1~
IEA*1*000000998~ Segments courants
- Header —
ST(998) sur le partenariat émetteur / récepteur d'origine. - Référence à annuler —
ZD(Beginning Segment for Set Cancellation) : Transaction Set Identifier Code de la transaction visée, IDs émetteur / récepteur, date, ICN (ISA13), Group Control (GS06), Transaction Set Control Number (ST02), code d'action (CA = Cancel, CR = Cancel & Replace). - Summary —
SE.
Pièges courants
- Trop tard pour annuler : si l'application destinatrice a déjà traité la transaction visée, le 998 est inopérant — il faut basculer sur un 860 (Change Request) ou un workflow d'annulation métier. Le 998 ne réécrit rien.
- Mauvaise ICN : un 998 qui pointe une ISA13 incorrecte annule un set arbitraire ou rien ; vérifier
ZD06(ICN) avant émission. - Cancel & Replace :
CRexige un nouveau set complet transmis dans le même interchange ou en référence ; sinon, le récepteur reste sans transaction et la commande est perdue.
Transactions liées
Documentation
Le code 998 et le nom Set Cancellation sont publics et listés sur x12.org/products/transaction-sets. La structure complète des loops, qualifiers et code-lists est distribuée par DISA via les Implementation Guides (TR3) propriétaires. ediverse.io ne couvre que les concepts publics, l'enveloppe et des exemples didactiques.