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 Faire
Fin Version
Echange :
Echange
NomDeLEchangeDebut
Fin Echange
OptimiserEchange ;
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