Info
Content

CONTRL - Contrôle de syntaxe

Statut

  • Type de message : CONTRL
  • Répertoire de référence : D96A
  • Sous-ensemble EANCOM : 001

Définition

Un message de Contrôle de Syntaxe est un message qui accepte ou rejette la syntaxe (avec une indication d’erreur) d’un interchange, d’un groupe fonctionnel ou d’un message reçu.

Principes

L’émetteur d’un interchange EDIFACT peut, dans le segment UNB, par l’utilisation de l’élément de données 0031 (Demande d’accusé de réception), demander un accusé de réception de son message. Cet accusé indique que le destinataire a reçu le message et que la syntaxe de tous les segments contenus est correcte et gérée par le destinataire.

La réponse peut être de deux sortes :

  • acceptation ou rejet de l'échange ou du message et liste des différentes erreurs contenues
  • acceptation seulement de la réception. Cela nécessite que les segments UNB, UNZ et UNA, s'ils sont utilisés, soient contrôlés.

Le message EANCOM CONTRL ne sera pas utilisé pour accuser réception des groupes fonctionnels. L’utilisation des groupes fonctionnels dans EANCOM n’est pas recommandée.

Le message CONTRL est utilisé pour accuser réception d’un échange du point de vue syntaxique et non pas du point de vue de son contenu (informations commerciales).

Le destinataire peut choisir d’accepter les erreurs de syntaxe qui sont considérées comme étant non fatales par le destinataire (des éléments de données dépassant la longueur maximale, par exemple).

Le message CONTRL sera généré par le destinataire du message. L’application qui effectue la vérification de la syntaxe peut provenir d’un troisième partenaire, agissant au nom du destinataire du message (un réseau à valeur ajoutée par exemple). Quand cette fonction est assurée par un tiers, ce dernier ne doit pas entraver la progression des messages vers leur destination, mais doit rendre compte des résultats au destinataire du message, en accord avec des procédures négociées entre le destinataire et ce troisième partenaire. L’émetteur et le destinataire du message conservent toujours la responsabilité de l’utilisation commerciale du message CONTRL.

Le message CONTRL ne pourra être généré que lorsque le destinataire de ce message en gère la réception. Cette condition sera définie dans l’accord d’interchange.

Un message CONTRL doit toujours être envoyé dans un interchange séparé.

Un message CONTRL ne peut se référer qu’à un interchange et un seul.

Le message CONTRL peut accepter ou rejeter un interchange complet, sans se référer aux messages contenus dans cet interchange.

Structure

Deux messages CONTRL au maximum peuvent être envoyés en réponse à un interchange reçu :

  • un accusé de réception d'un interchange
  • un compte rendu sur les résultats du contrôle de syntaxe d'un interchange

Le second type de message CONTRL doit être envoyé si la demande en a été faite dans le segment UNB de l’interchange originel. Le message CONTRL est basé sur 4 segments, chacun se référant à un niveau particulier dans l’interchange d’origine.

Tags des segments de CONTRL Segments de l'itnerchange originel
UCI - Réponse à l'interchange UNA / UNB / UNZ
UCM - Réponse au message Tout le message
UCS - Indication d'une erreur de segment Tous les segments
UCD - Indication d'une erreur d'élément de données (DE) Tous les éléments de données (DE) simples, composites ou constitutifs

Chacun des 4 segments de CONTRL contient un élément de données indiquant l’action retenue (acceptation ou rejet) et, si nécessaire l’erreur qui est relevée. Quand le message CONTRL est du type accusé de réception d’un interchange, le groupe de segment G01 n’est pas utilisé.

Utilisation des codes d'action

L’action retenue, que ce soit l’acceptation ou le refus, est indiquée par un code dans les segments UCI et/ou UCM. Les codes alloués à l’élément de données 0085 (Type d’erreur, en code) sont contenus dans la liste de code pour cet élément de données (cf. partie Répertoire des Eléments de Données et des Codes).

Lors du référencement d’un niveau, un segment du message CONTRL correspondant au niveau référencé doit être contenu dans le message CONTRL. Avant le référencement d’un niveau inférieur (élément de données par exemple), tous les niveaux supérieurs (segment, message et interchange) à ce niveau doivent être accepté.

Les codes action 4 et 7 ne sont utilisés que dans les messages CONTRL rendant compte de l’action retenue à la suite d’une vérification complète de l’interchange. Le code action 8 est seulement utilisé pour accuser réception d’un interchange.

 
Compte rendu des erreurs de syntaxe

L’utilisation du message CONTRL permet de signaler des erreurs concernant tous les niveaux (interchange, message, segment, élément de données) d’un interchange. La position et la nature de ces erreurs doivent être indiquées.

Les segments UCI et UCM peuvent uniquement rendre compte d’une erreur par niveau référencé. Si plus d’une erreur est détectée dans un niveau, l’émetteur du message CONTRL peut choisir d’indiquer soit une erreur, soit la totalité des erreurs. Le compte rendu de plusieurs erreurs dans un interchange est finalisé à travers l’utilisation du groupe approprié répété pour chaque niveau d’erreur. On ne doit pas envoyer plusieurs messages CONTRL pour signaler plusieurs erreurs.

Il est recommandé que les erreurs, ainsi que leur position, soient identifiées aussi précisément que possible. L’utilisation de codes erreurs plus généraux à la place de codes plus précis est fortement déconseillée. Afin de pouvoir identifier précisément la localisation d’une erreur, il faut accéder à l’interchange dans le format dans lequel il a été transféré (sans modification de l’ordre des messages, ...).

 
Les erreurs non supportées

Le message CONTRL contient plusieurs éléments de données obligatoires qui proviennent de l’échange originel (par exemple dans le segment UCM les éléments de données 0062 jusqu’au 0057 inclus sont copiés à partir du segment UNH). Si l’un de ces éléments de données dans l’interchange originel est manquant ou invalide au niveau de la syntaxe, alors le message CONTRL de validation de la syntaxe ne peut être généré. Si les partenaires de la transaction n’ont pas d’accord pour autoriser les données ayant une syntaxe incorrecte dans le message CONTRL, alors l’erreur doit être rapportée par des moyens autres que le message CONTRL.

 

L'accusé de réception d'un message CONTRL

Aucun message CONTRL ou autre message UN/EDIFACT ne doit être envoyé en réponse à un message CONTRL. Les erreurs dans le message CONTRL reçu doivent être rapportées par un autre moyen.

 
La gestion d'un message CONTRL type

Les intervenants qui demandent l’accusé de réception en utilisant l’élément de données 0031 " Demande d’accusé de réception " dans le segment UNB doivent être capables de gérer le message CONTRL. Les exigences pour l’émission et la réception du message CONTRL doivent être convenues entre les partenaires de la transaction.

Tous les partenaires qui gèrent la réception ou l’émission du message CONTRL doivent être capables :

  • de contrôler toutes les parties de l'interchange, dans le cas de l'émetteur
  • de comprendre toute l'information (et les erreurs rapportées) à tous les niveaux contrôlés dans le cas du destinataire
Vocabulaire et définitions

L'accusé de réception (acceptation) implique que le destinataire de l'interchange :

  • a reçu la partie acceptée de l'interchange et
  • a contrôlé qu'il n'y a pas d'erreurs de syntaxe fatales dans la partie acceptée qui empêcheraient la progression future
  • a contrôlé que tous les segments de service reçus dans la partie acceptée sont sémantiquement corrects (si aucune erreur n'est rapportée), et
  • réalisera les actions demandées dans les segments de service, et
  • a accepté la responsabilité d'avertir l'émetteur par un autre moyen que d'envoyer un message CONTRL si :
    • des erreurs de syntaxe ou sémantiques comme décrites précédemment sont détectées dans une partie appropriée, ou
    • la partie ne peut pas être traitée pour d’autres raisons bien que cette partie ait été acceptée dans un message CONTRL antérieur
  • a pris les précautions nécessaires pour garantir que de telles erreurs sont détectées et que l’émetteur en est averti.

 

Le rejet implique que le destinataire de l'interchange :

  • ne peut pas accepter l’interchange ou une partie constituante de ce dernier pour les raisons indiquées dans le message CONTRL, et
  • n’aura pas utilisé les données commerciales contenues dans la partie rejetée de l’interchange.

A chaque niveau contrôlé correspond un segment dans le message CONTRL. Ainsi, les niveaux contrôlés sont l’interchange (UCI), le message (UCM), le segment (UCS) et l’élément de données (UCD).

Les niveaux référencés : la structure du message CONTRL est basée sur 4 segments (UCI, UCM, UCS, UCD) qui contiennent une référence à une partie de l’interchange.

 

 

 

 

Back to top