DISCOVER AND USE EDIFACT UNIVERSAL AND STANDARDIZED EDIFACT LANGUAGE EDIFACT : ISO, CEN & AFNOR STANDARD Electronic Data Interchange For Administration Commerce & Transport ISO 9735 = "GRAMMAR" (SYNTAX RULES, ETC.) ISO 7372 = "VOCABULARY" (DATA DICTIONNARIES, MESSAGES SEGMENTS, ETC.) ISO 6422 = LAYOUT KEY PRINTING STANDARDIZED FORMAT OF SALES DOCUMENTS ISO: International Standard Organisation CEN: European Committee of Standardization EDIFACT language: • EDIFACT • Language of standard messages description for intercompanies exchanges. • Consists of: – Vocabulary – Grammar rules – A basis of messages classic example EDIFACT language: • Vocabulary : – UNTDED : The United Nations Trade Data Elements Directory ISO 7372. Directory of sales data elements which consists of: • • • • • Messages Segments Composites Data elements Codes list • Grammar rules: – EDIFACT Message Design Guidelines • UNTDID : The United Nations Trade Data Interchange Directory • ISO 9735 UN/EDIFACT Syntax rules EDIFACT language: the elements of language Interchange E S é m a n t i c Messages d Segments i Composites data f Elementary data a c t Splitter Directory of sales data elements Files structure ISO 7372 ISO 646-83 Characters set Communication layer: OSI S y n t a x EDIFACT language: the lements of language • Elementary data – EDE (Electronic Data Element Directory) • Composites data – EDCD (Electronic Data Composite Directory) • Segments – EDSD (Electronic Data Segment Directory) • Codes – EDCL (Electronic Data Code List) • Messages – EDMD (Electronic Data Message Directory) • Syntax rules – • Rules of conduct – • • ISO 9735 UNCID (Uniform rules of Conduct for Interchange of trade Data by teletransmission) Message conception guide Syntax use guide EDIFACT language: syntax Making out UNA UNB Exchange Functionnal group UNG UNH TAG Data Value Message Segment : Data Value Messages Messages Segment Composite date End Segment + Segment Value UNZ UNE UNT ‘ EDIFACT language service segments • • • • • • • UNA: interchange characteristics (optional) UNB: beginning of interchange UNE: end of functionnal group (optional) UNH: beginning of message UNS: Splitter of message main parts (optional) UNT: End of functional group UNZ: End of interchange EDIFACT language service segments • Interchange • (UNA) UNB • Functionnal group (UNG) • • UNH Message EDIFACT language service segments • Interchange (UNA) UNB • • Functionnal group (UNG) UNH message • User data segment(s) (Header).xxx yyy Section (UNS) • User data segment (s).(detail). zzz www Section (UNS) • User data segment (s).(résumé). vvv uuu • • Fin du message UNT Fin de groupe fonctionnel (UNE) • Fin d’interchange UNZ EDIFACT language Basis rules • Unity of location – Data are grouped together on the creator’s initiative. – Users are always at the root of the messages elaboration • Unity of time – Data are grouped together as far as they can be: • Generated • Stored • Transmitted… at the same time • Unité of action – Information concerning a same task or a same action is grouped together. • Intereactions between messages – Traceability of messages between them EDIFACT language Conception rules • DATA COMPONENTS – Using existing data components rather than creating new ones – Name and format assignment to a data component must respect rules of presentation of the EDICFACT/ONU data components directory: • • • • • • Qualifier name must be preceded by the « …qualifier » term: currency qualifier Qualifiers format is « an..3 » The codes list for the qualifier must be specified in the EDCL. The coded component name must be followed by « coded »: currency, coded Other date components name must end with « Identification »: Risk code identification Plainly data components must get these formats: an..17, an..35, an..70. They must be named according to the profession needs. EDIFACT language Conception rules • Data components – There are 2 types of coded date – a components: • Data components with a qualifier function • Generic date components. They are, in this case, associated to 1131/3055 conditional components in the composite data. EDIFACT language Conception rules • Composite data – Grouping of several data components, in a structured form of information linked to a same concept: the unity of function – Before creating new composite data, it is advisable to check if similar or close structures exist. – It’s possible to ask for adaptations for close structures. In that case additional components are added at the end of the composite data. – A new composite data component must be conceived in a way that allow as many applications as possible. – If a composite data has to be qualified, the qualifier must be placed right after the component. EDIFACT language Conception rules • Composite data – Mandatory constituent components of a composite data must be placed in the header. – The number of repetitions of a constituent component can’t be more than 5. – A component whose format is « an..70 » can’t be repeted, or a FTX segment has to be used. EDIFACT language Conception rules • Segments – To conceive a message, already existing segments has to be used if possible. It speeds up the conception process. – If a segment has to be modified, additional components are to be added at the end of the segment. – If a new component has to be conceived, it has to be done in a generic way as much as possible. – Mandatory data of a segment must appear before conditional data. – If a segment has to be qualified, the qualifier must be placed first in data components. – Simple or composite data components can’t be repeated within the segment. The segment is the one that has to be repeated. If this repetition is however necessary, it can’t be done more than five times. EDIFACT language Conception rules • Messages – Messages must be conceived in order to be used at an international level. – A unique identifier of 6 letters has to be allocated to the message. – Messages are composed of a group of segments. The latter must begin with a non repetitive mandatory segment. – Group of segments can be interlinked. In that case, it’s not possible to get in an lower group of segments without having entered in the one right before it. – If identical segments are used at several places in the message, it’s advised to avoid collision by inserting madatory segments of different nature. – A message must begin with UNH and end with UNT. – The UNS service segment must be used to avoid collision between « header », « detail » and « recapitulation » segments. EDIFACT language Example of message structure UNH BGM DTM UNT M M M M 1 1 2 Address Segments Group 1 Le langage EDIFACT Connection diagram UNH BGM DTM M M M 2 1 1 UNT M 1 SG1 M 3 NAD M 1 Segments Group of segments CTA COM C C 1 4 EDIFACT language Rules of conception: Collision ! SG4 C 9 FFF C 9 DDD C CCC M C 9 DDD M 1 C 9 GGG 1 SG5 1 SG6 M 1 Risk of collision HHH C 1 EDIFACT language Segments table Code Name Status Dir UNH Message header M 1 BGM Beginning of message M 1 DTM Date/Time/Period M 2 Group 001 NAD Name and address M 1 CAT Contact Information C 1 COM Communication Contact C 4 UNT End of message M 1 Status Dir M 3 M=Mandatory C= Conditionnal EDIFACT language Segments table Code Name Status Dir UNH Message header M 1 BGM Beginning of message M 1 DTM Date/Time/Period M 2 Group 001 NAD Name and address M 1 CAT Contact Information C 1 COM Communication Contact C 4 UNT End of message M 1 Status Dir M 3 This group of segments is: - Mandatory - Iterable 3 times EDIFACT language Segments table Code Name Status Dir UNH Message header M 1 BGM Beginning of message M 1 DTM Date/Time/Period M 2 Group 001 NAD Name and address M 1 CAT Contact Information C 1 COM Communication Contact C 4 UNT End of message M 1 Status Dir M 3 The address is: - Mandatory - Repeatable once EDIFACT language Segments table Code Name Status Dir UNH Message header M 1 BGM Beginning of message M 1 DTM Date/Time/Period M 2 Group 001 NAD Name and address M 1 CAT Contact Information C 1 COM Communication Contact C 4 UNT End of message M 1 Status Dir M 3 If the COM segment is used, it is repeated at least once and up to four times. EDIFACT language Segments table Code Name Status Dir UNH Message header M 1 BGM Beginning of message M 1 DTM Date/Time/Period M 2 Group 001 GROUP NAD Name and address M 1 CAT Contact Information C 1 COM Communication Contact C 4 UNT End of message M 1 Status Dir M 3 EDIFACT language NAD Segment • Function: To specify the name/address and their related function, either by CO82 only and/or unstructured by CO58 or structured by CO80 thru 3207 3035 Party qualifier M C082 Party identification details C C058 Name and address C C080 Party name C C059 Street C 3164 3229 3251 3207 City name Country sub-entity identification Post-code Country, coded an..3 C C C C an..35 an..9 an..9 an..3 EDIFACT language NAD Segment • Function : To specify the name/address and their related function, either by CO82 only and/or unstructured by CO58 or structured by CO80 thru 3207 Elementary data 3035 Party qualifier M C082 Party identification details C C058 Name and address C C080 Party name C C059 Street C 3164 3229 3251 3207 City name Country sub-entity identification Post-code Country, coded an..3 C C C C an..35 an..9 an..9 an..3 Composite data EDIFACT language NAD Segment • Function: To specify the name/address and their related function, either by CO82 only and/or unstructured by CO58 or structured by CO80 thru 3207 3035 Party qualifier M C082 Party identification details C C058 Name and address C C080 Party name C C059 Street C 3164 3229 3251 3207 City name Country sub-entity identification Post-code Country, coded an..3 Mandatory or optional data character C C C C an..35 an..9 an..9 an..3 EDIFACT language NAD Segment • Function: To specify the name/address and their related function, either by CO82 only and/or unstructured by CO58 or structured by CO80 thru 3207 3035 Party qualifier M C082 Party identification details C C058 Name and address C C080 Party name C C059 Street C 3164 3229 3251 3207 City name Country sub-entity identification Post-code Country, coded an..3 Data structure C C C C an..35 an..9 an..9 an..3 EDIFACT language NAD Segment • Function: To specify the name/address and their related function, either by CO82 only and/or unstructured by CO58 or structured by CO80 thru 3207 3035 Party qualifier M C082 Party identification details C C058 Name and address C C080 Party name C C059 Street C 3164 3229 3251 3207 City name Country sub-entity identification Post-code Country, coded an..3 Data structure C C C C an..35 an..9 an..9 an..3 Number of characters EDIFACT language NAD Segment • Function: To specify the name/address and their related function, either by CO82 only and/or unstructured by CO58 or structured by CO80 thru 3207 3035 3035 C082 C082 C058 C058 Party qualifier M Party identification details C Name and address C C080 Party name C C059 Street C 3164 3229 3251 3207 City name Country sub-entity identification Post-code Country, coded an..3 C C C C an..35 an..9 an..9 an..3 EDIFACT language Composite component • Details of a composite data = C082 data = party identification C082 Party identification C 3039 Party id. identification M an..35 1131 Code list qualifier C an..3 3055 Code list responsible agency, coded C an..3 EDIFACT language Composite component • Details of a composite data = C082 data = party identification Data reference number C082 Party identification C 3039 Party id. identification M an..35 1131 Code list qualifier C an..3 3055 Code list responsible agency, coded C an..3 Coded data can only take its values in the standard codes list. EDIFACT language Composite component • Details of a composite data = C082 data = party Representation a = alphabetical identification n = numerical an = alphanumerical .. = variable lenght 3 = maximum number of characters C082 Party identification C 3039 Party id. identification M an..35 1131 Code list qualifier C an..3 3055 Code list responsible agency, coded C an..3 Status O= Obligatoire = M = Mandatory EDIFACT language Composite component • Details of a composite data = C082 data = party identification C082 Party identification C 3039 Party id. identification M an..35 1131 1131 3055 3055 Code list qualifier C an..3 Code list responsible agency, coded C an..3 EDIFACT language Codes • Use of 1131 and 3055 codes • Theses codes allow indicating dynamically a codification. • In case of a third party, the latter can be identified by a code that is not defined in the standard. • The agency which is identified in the 3055 code is in the standard. – Example: SIRECT code use • Data use is done this way: – Party SIRET number – 100 code means SIRET code for the INSEE – 3055: 107 is the INSEE code as maintenance agency of SIRET code • 1131 and 3055 codes allow using all existing codifications. ORDERS –PHYTOS MESSAGE Message construction: Message aim • The Order (ORDERS) is sent by the client to the supplier to order one or several items and to specify quantities and date and place of delivery. • Each order corresponds to one supplier and one client. It concerns n products, which give rise to x deliveries and x invoices. Message construction ORDERS • Adaptation of the message to the needs – Segments choice – Iterations restrictions • Adaptation of codes lists to managed concepts • Differentiation between group of segments and segments