Il peut être optimisé ou non i.e. les objets présents à de multiples reprises dans le flux sont alors référencés par un numéro unique.
La spécification du format binaire d'un échange de données n'est pas disponible puisqu'elle est illisible par un module autre qu'Up ! Electronic Data Interchange.
Source Echange LibelleDeLEchange Version NumeroDeVersion . NumeroDeRevision . NumeroDeCorrection ;Echanges :
Version NumeroDeVersion . NumeroDeRevision FaireFin VersionEchange :
Echange NomDeLEchangeDebutFin EchangeOptimiserEchange ;NePasOptimiserEchange ;;;{ SuiteDOctets }Nul. NomType Version NumeroDeVersion . NumeroDeRevision . NumeroDeCorrection
NumeroObjetOption ( Parametres )( Parametres )Objet ( NumeroObjet ), OctetNumeroObjet NumeroObjetNumeroObjet MixerExpression, Instruction
Interface Module "Up ! Electronic Data Interchange" Version 4.0.0;
Public :
/******/
Type Employe
/**********/
NomEmploye : Caractere;
NumeroEmploye : Entier;
Salaire : Reel;
Constructeur();
Fin Type
Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
MonEmp(4,0,0, ImporterDefinitions);
Echange MonEchange
/****************/
NePasOptimiserEchange;
Debut
Employe("scott", 7724, 1000.0);
Employe("allen", 7832, 1200.0);
Employe("smith",7948, 1400.0);
Employe("king", 7964, 2000.0);
Employe("scott", 7724, 1000.0);
Employe("allen", 7832, 1200.0);
Employe("smith", 7948, 1400.0);
Employe("king", 7964, 2000.0);
Fin Echange
Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
MonEmp(4,0,0, ImporterDefinitions);
Echange MonEchange
/****************/
OptimiserEchange;
Debut
Employe Version 1.0.0 NumeroObjet 1("scott", 7724, 1000.0);
Employe Version 1.0.0 NumeroObjet 2("allen", 7832, 1200.0);
Employe Version 1.0.0 NumeroObjet 3("smith", 7948, 1400.0);
Employe Version 1.0.0 NumeroObjet 4("king", 7964, 2000.0);
Objet(1);
Objet(2);
Objet(3);
Objet(4);
Fin Echange
Source Composant "Exemple d'emploi d'Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
UpsEdi(<UpsEdi.upi>, ImporterDefinitions);
DefinitionsEchange
/****************/
Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
MonEmp(4,0,0, ImporterDefinitions);
Echange MonEchange
/****************/
NePasOptimiserEchange;
Debut
Employe("scott", 7724, 1000.0);
Employe("allen", 7832, 1200.0);
Employe("smith", 7948, 1400.0);
Employe("king", 7964, 2000.0);
Employe("scott", 7724, 1000.0);
Employe("allen", 7832, 1200.0);
Employe("smith", 7948, 1400.0);
Employe("king", 7964, 2000.0);
Fin Echange
Fin DefinitionsEchange
Variable
/******/
E : Nul Ou Employe;
PasFini : Booleen;
LE : Nul Ou ListeDe Nul Ou Employe;
Principal
/*******/
Debut
...
PasFini=Vrai;
TantQue PasFini Faire
AttraperException
E=Employe(MonEchange.ImporterObjet());
LE+=E;
TraiterException
Cas Pour ImportationImpossible Faire
Si MonEchange.FinDImportation Alors
PasFini=Faux;
Sinon
Exception.Renvoyer();
Fin Si
Fin Cas
Fin AttraperException
Fin TantQue
...
Fin Principal
Source Composant "Exemple d'emploi d'Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
UpsEdi(<UpsEdi.upi>, ImporterDefinitions);
DefinitionsEchange
/****************/
Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
MonEmp(4,0,0, ImporterDefinitions);
MonEch(<mon-echange.upl>, ImporterDefinitions);
Fin DefinitionsEchange
Variable
/******/
E : Nul Ou Employe;
PasFini : Booleen;
LE : Nul Ou ListeDe Nul Ou Employe;
Principal
/*******/
Debut
...
PasFini=Vrai;
TantQue PasFini Faire
AttraperException
E=Employe(MonEchange.ImporterObjet());
LE+=E;
TraiterException
Cas Pour ImportationImpossible Faire
Si MonEchange.FinDImportation Alors
PasFini=Faux;
Sinon
Exception.Renvoyer();
Fin Si
Fin Cas
Fin AttraperException
Fin TantQue
...
Fin Principal
Source Composant "Exemple d'emploi d'Up ! Electronic Data Interchange" Version 4.0.0;
ImporterModule
/************/
UpsEdi(<UpsEdi.upi>, ImporterDefinitions);
MonEmp(4,0,0, ImporterDefinitions);
MonEch(<mon-echange.upl>, ImporterDefinitions);
Variable
/******/
E : Nul Ou Employe;
PasFini : Booleen;
LE : Nul Ou ListeDe Nul Ou Employe;
Principal
/*******/
Debut
...
PasFini=Vrai;
TantQue PasFini Faire
AttraperException
E=Employe(MonEchange.ImporterObjet());
LE+=E;
TraiterException
Cas Pour ImportationImpossible Faire
Si MonEchange.FinDImportation Alors
PasFini=Faux;
Sinon
Exception.Renvoyer();
Fin Si
Fin Cas
Fin AttraperException
Fin TantQue
...
Fin Principal