Syntaxe des instructions d'Up ! 5GL pour Up ! Electronic Data Interchange

Ce document présente la syntaxe d'un échange de données au format Up ! 5GL, ce qui permet de consulter et modifier son contenu. Le fichier obtenu est alors une ressource exploitable à l'exécution.

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.

Syntaxe des instructions d'Up ! 5GL pour Up ! Electronic Data Interchange

Syntaxe de la définition d'un échange

SourceEchange :

SignatureDeLEchange :

DeclarationsEchanges :

Echanges :

Echange :

OptimiserEchange :

InstructionsEchange :

ListeDInstructions :

Instruction :

SuiteDOctets :

NumeroObjetOption :

NumeroObjet :

Parametres :

ListeDeParametres :

Syntaxe de la définition d'une expression

NomDUnObjet :

Référence des mots-clés utilisables dans les instructions d'Up ! 5GL pour Up ! Electronic Data Interchange

Debut
Echange
Fin
ImporterDefinitions ImporterModule
Lecture
NePasOptimiserEchange NumeroObjet Nul
Protege Prive Public
Objet OptimiserEchange
Source
Version

Exemple d'échange de données

Ressource de l'échange de données autonome

Cet échange est par exemple conservé dans le fichier ${UPS_HOME}/demo/resources/${UPS_LANGUAGE}/mon-echange.upl.

Définition du type Employe

Interface Module "Up ! Electronic Data Interchange" Version 4.0.0;

Public :
/******/
Type Employe
/**********/ Fin Type

Echange de données non optimisé

Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/
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

Echange de données optimisé

Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/
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

Ressource de l'échange de données incluse dans un programme en Up ! 5GL

Source Composant "Exemple d'emploi d'Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/
DefinitionsEchange
/****************/
Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/
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
/******/
Principal
/*******/
Debut
...
PasFini=Vrai;
TantQue PasFini Faire Fin TantQue
...
Fin Principal

Ressource de l'échange de données référencé par un programme en Up ! 5GL

Déclaration explicite de la ressource de l'échange de données

Source Composant "Exemple d'emploi d'Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/
DefinitionsEchange
/****************/
Source Echange "Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/ Fin DefinitionsEchange

Variable
/******/
Principal
/*******/
Debut
...
PasFini=Vrai;
TantQue PasFini Faire Fin TantQue
...
Fin Principal

Déclaration implicite de la ressource de l'échange de données

Source Composant "Exemple d'emploi d'Up ! Electronic Data Interchange" Version 4.0.0;

ImporterModule
/************/
Variable
/******/
Principal
/*******/
Debut
...
PasFini=Vrai;
TantQue PasFini Faire Fin TantQue
...
Fin Principal