De wereld van Internetapplicaties en Open Source Oplossingen.
The world of Internet applications and Open Source Solutions.




Creative Commons License
Op dit werk is een Creative Commons Licentie van toepassing.

June 2008
M T W T F S S
« May   Jul »
 1
2345678
9101112131415
16171819202122
23242526272829
30  
View danga's profile on LinkedIn






Beknopte beschrijving van de UN/EDIFACT berichtstructuur

Het uitbreiden van Open Source gereedschappen met functionaliteit voor het definiëren en uitvoeren van berichttransformaties van EDIFACT naar andere standaarden en omgekeerd vereist een goed begrip van de UN/EDIFACT standaard.

Ik zal hierna beknopt de UN/EDIFACT Standaaard proberen uit te leggen. Achtereenvolgens zullen de volgende onderwerpen aan bod komen:
- enkele belangrijke karakters
- de verschillende structuurelementen
- een beschrijving van de structuur
- de positiebepaling, status en herhalende factor van structuurelementen
- de compressieregels

enkele belangrijke karaktertekens
- Segment einde teken = apostrophe ‘

- Segment tag en data element separator = plus sign +

- Component data element separator = colon :

- Release character = question mark ? herstelt de betekenis van het daaropvolgend teken
Voorbeeld: 10?+10=20 betekent 10+10=20

de structuurelementen
De structuur van een EDIFACT bericht is vastomlijnd en bestaat uit een aantal verplichte en optionele elementen. De belangrijkste bouwsteen van een EDIFACT bericht is het segment en de structuur waaraan een bericht moet voldoen is daarom vastgelegd in segment tabellen. Deze tabellen beschrijven welke segmenten in een bericht voorkomen en in welke volgorde.

Een eenvoudig voorbeeld van zo’n segment tabel ziet er als volgt uit:

Extending Open Source tools with functionality for defining and executing message transformations from EDIFACT to other standards and back requires a good understanding of the UN/EDIFACT Standard.

Hereafter I will briefly explain the UN/EDIFACT standard and discuss the following topics:
- the different elements of the structure
- a description of the structure
- the position, status and repetition factor of the structure elements
- the compression rules

important character sets
- Segment terminator = apostrophe ‘

- Segment tag and data element separator = plus sign +

- Component data element separator = colon :

- Release character = question mark ? immediately preceding one of the characters ‘ + : ? restores their normal meaning.
Example: 10?+10=20 means 10+10=20

the structure elements
The structure of an EDIFACT message is fixed and contains a number of mandatory and conditional elements. The most important building block of an EDIFACT message is the segment and hence the structure is defined in segment tables. These tables show which segments are used in the message and the order in which the segments must occur.

A simple example of such a segment table looks as follows:

edifact-segment-table

Segmenten die bij elkaar horen kunnen worden gegroepeerd in een segment groep. Een segment groep bevat altijd een trigger segment en ten minste één of meer segmenten of segment groepen. Het trigger segment is een verplicht segment en moet eenmaal voorkomen. Het trigger segment is bovendien het eerste segment in de groep. Een segment wordt eenduidig geïdentificeerd door een segment tag en de positie in een bericht.

In bovenstaand voorbeeld is het segment met de segment tag RFF een trigger segment voor de segment groep 1 en eveneens voor de segment groep 3.

Een segment is een geordende verzameling van functioneel bij elkaar horende stand-alone of composite data elementen. Het segment BGM, zie voorbeeld hieronder, bestaat uit twee composite data elementen en twee stand-alone data elementen. Een composite data element is een samengesteld data element en bestaat uit een opeenvolging van data elementen.

Segments that belong together can be grouped in a segment group. A segment group always contains a trigger segment and at least one or more segments or segment groups. The trigger segment is a mandatory segment and must appear once. The trigger segment is always the first segment in the group.

A segment is uniquely identified using a segment tag and the position in the message.

In the above example the segment with the segment tag RFF is a trigger segment of the segment group 1 and also of the segment group 3.

A segment is a collection of logically related stand-alone or composite data elements in a fixed, defined sequence. The segment BGM, see example below, contains two composite data elements and two stand-alone data elements. A composite data element contains a combination of several data elements.

edifact-segment-bgm

beschrijving van de structuur
De structuur van een EDIFACT bericht voorziet in drie niveau’s of group levels. Deze niveau’s worden ook weleens enveloppes genoemd. Het begin en einde van een enveloppe wordt aangegeven door een service segment. Service segmenten zijn segmenten waarvan de segment tag start met de letters UN.

De drie niveau’s waaruit een EDIFACT structuur kan worden opgebouwd zijn:
- Interchange Envelope (verplicht)
- Functional Group Envelope (optioneel)
- Message Envelope (verplicht)

description of the structure
The structure of an EDIFACT message consists of three group levels. These levels are often called envelopes. The start and end of an envelope is identified by a service segment. The segment tag of service segments start with the letters UN.

The three levels of the EDIFACT structure are:
- Interchange Envelope (mandatory)
- Functional Group Envelope (conditional)
- Message Envelope (mandatory)

edifact-interchange-structure

De Interchange Envelope bestaat uit de segmenten UNA, UNB en UNZ. Het segment UNA Service String Advice is een optioneel segment en voorziet in de mogelijkheid om het gebruik van scheidingstekens die afwijken van de standaard tekenset te definiëren.

Het segment UNB Interchange Header identificeert de afzender en ontvanger van een bericht. Al de gegevens binnen de Interchange Envelope zijn bestemd voor eenzelfde ontvanger. Het segment UNZ Interchange Header sluit uiteindelijk de enveloppe.

Het elektronische document, het eigenlijke EDI bericht (Message), bestaat uit de segmenten UNH tot/met UNT. Een bericht begint altijd met een Message Header, het UNH segment, en eindigt met een Message Trailer, het UNT segment.

Het Segment UNH bevat het Composite Data Element UNH-S009 Message Identifier waarin het berichttype, het versienummer en de instantie of organisatie verantwoordelijk voor de berichtspecificatie is opgenomen. Het Data Element 0065 Message Type bevat het berichttype. Het berichttype wordt geïdentificeerd door een zes-letterwoord.

Verder kan het service segment UNS Section Separator eveneens voorkomen in het berichtdeel om een duidelijke scheiding tussen de header, detail en summary secties te identificeren. Voor de scheiding tussen header en detail secties bevat het segment de waarde D en tussen de detail en summary secties de waarde S.

De Functional Group Envelope wordt gedefinieerd door de segmenten UNG en UNE. Het gebruik van de functional group envelope zou verplicht zijn voor de communicatie van en naar Noord Amerika. Deze groep maakt het mogelijk om verschillende berichten van hetzelfde type op te nemen en te groeperen in een EDIFACT bericht maar wordt niet of nauwelijks gebruikt. Er kunnen meerdere functionele groepen worden opgenomen met elk een verzameling berichten van hetzelfde type.

The Interchange Envelope consists of the segments UNA, UNB and UNZ. The segment UNA Service String Advice is an optional segment and provides the capability to specify the use of different separators from the standard.

The segment UNB Interchange Header identifies the sender and receiver of a message. All the data within the Interchange Envelope are defined for one receiver. The segment UNZ Interchange Header closes the envelope.

The electronic document, the actual EDI message, contains the segments from UNH to UNT. A message always starts with a Message Header, the UNH segment, and ends with a Message Trailer, the UNT segment.

The segment UNH contains the Composite Data Element UNH-S009 Message Identifier with the message type, version number and the identification of the organisation responsible for the message specification. The Data Element 0065 Message Type contains the message type. The message type is identified using a 6-letter word.

The service segment UNS Section Separator can also appear in the message part to make a clear distinction between the header, detail and summary sections. For the separation between header and detail sections the segment contains the value D and between the detail and the summary sections the value S.

The Functional Group Envelope is defined by the segments UNG and UNE. The use of the functional group envelope is mandatory for communication to and from North America. The functional group envelope provides the capability to include messages from different types in separate functional groups.

edifact-interchange

positiebepaling, status en herhalende factor
Binnen de structuur van een EDIFACT bericht hebben zowel segment groepen, segmenten, compostie data elementen als data elementen een vaste positie weergeven door een positienummer. De positie van segmenten en segment groepen in een bericht kan per berichttype verschillen.

Via het veld Status (S) wordt aangegeven welke onderdelen in de structuur verplicht (Mandatory) of optioneel (Conditional) zijn. Als een segment verplicht is dan moet het segment minimaal eenmaal voorkomen.

Via het veld Repetition (R) wordt aangegeven hoe vaak een onderdeel in de structuur maximaal mag voorkomen of herhaald worden.

Een Data Element wordt als aanwezig beschouwd van zodra het data element een waarde bevat bestaande uit 1 karakter. Een composite data element is aanwezig als ten minste één van de data elementen beschikbaar is. Een segment is aanwezig wanneer de segment tag aanwezig is en een segment groep is aanwezig als het trigger segment aanwezig is.

compressieregels
Aangezien EDIFACT is ontstaan in het tijdperk dat bandbreedte een kostbaar goed was zijn een aantal compressieregels gedefinieerd die ervoor moeten zorgen dat berichten zo compact mogelijk worden opgesteld.

Deze compressieregels maken het werken met EDIFACT berichten complex zoals u dadelijk zult merken.

* uitsluiting van optionele segmenten door weglating
Optionele segmenten die geen waarde krijgen moeten volledig achterwege gelaten worden.

* uitsluiting van optionele data elementen binnen een segment door weglating (omission)
Als een optioneel data element geen waarde krijgt en gevolgd wordt door een ander data element dan moet de positie van het optioneel data element wordt aangegeven door het data element scheidingsteken.

position, status and repetition factor
Segment groups, segments, composite data elements and data elements have a fixed position in the structure of an EDIFACT message. The position is represented by the position number. The position of segments and segment groups can be different for each message type.

The field Status (S) identifies the elements in the structure that are Mandatory or Conditional. When a segment is mandatory it should at least occur once.

The field Repetition (R) indicates the maximum number of times an element in the structure may repeat.

A Data Element is considered available when the data element contains a value of 1 character. A composite data element is considered available if at least one of the data elements is present. A segment is available when the segment tag is present and a segment group is available when the trigger segment is present.

Compression rules
The UN/EDIFACT standard was created when bandwidth was limited and therefore several compression rules were defined to ensure that messages are as compact as possible.

These compression rules are one of the rules that makes working with EDIFACT messages difficult as you will understand later on.

* exclusion of conditional segments by omission
Conditional segments containing no data shall be fully omitted.

* exclusion of conditional data elements in a segment by omission
If a conditional data element is omitted and is followed by another data element, its position shall be indicated by retention of its data element separator.

edifact-data-element-omission

* uitsluiting van optionele data elementen binnen een segment door inkorting (truncation)
Als één of meer optionele data elementen geen waarde krijgen en voorkomen aan het eind van een segment dan mogen deze achterwege gelaten worden. Het segment mag worden afgesloten met het segment einde teken - de segment terminator. Opeenvolgende achterliggende data element scheidingtekens moeten niet gecommuniceerd worden.

* exclusion of conditional data element in a segment by truncation
If one or more conditional data elements at the end of a segment are omitted, the segment may be truncated by the segment terminator. Contiguous trailing data element separators are not required to be transmitted.

edifact-data-element-truncation

De laatste twee data elementen uit voorgaande voorbeeld worden weggelaten omdat deze geen waarde hebben gekregen.

In principe gelden de bovenstaande twee regels eveneens voor data elementen in een composite data element met dien verstande dat een ander scheidingsteken gebruikt wordt.

* uitsluiting van optionele data elementen binnen een composite data element door weglating (omission)
* uitsluiting van optionele data elementen binnen een composite data element door inkorting (truncation)

Het volledige overzicht van de UN/EDIFACT Syntax Regels kunt u terugvinden op de website van de UN/ECE onder de webpagina UN/EDIFACT Syntax Rules.

The last two data elements from the previous example are omitted because these do not contain a value.

These rules count also for data elements in a composite data element except that another separator is used.

* exclusion of conditional data elements in a composite data element by omission
* exclusion of conditional data elements in a composite data element by truncation

The full overview of the UN/EDIFACT Syntax Rules can be found on the website of the UN/ECE on the webpage UN/EDIFACT Syntax Rules.

Comments »

The URI to TrackBack this entry is: http://danga.blogsome.com/2008/06/13/beknopte-beschrijving-van-de-unedifact-berichtstructuur/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.


Anti-spam measure: please retype the above text into the box provided.

Copyright © 2000 - DanGa Design