Syntaxe des instructions d'Up ! 5GL pour Up ! Object Request Broker

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

La spécification du format binaire d'un annuaire n'est pas disponible puisqu'elle est illisible par un module autre qu'Up ! Object Request Broker.

Syntaxe des instructions d'Up ! 5GL pour Up ! Object Request Broker

Syntaxe de la définition d'un annuaire

SourceAnnuaire :

SignatureDeLAnnuaire :

DeclarationsAnnuaires :

Annuaires :

Annuaire :

InstructionsAnnuaire :

ListeDInstructions :

Instruction :

NomEntree :

AncienNomEntree :

NouveauNomEntree :

Recursivement :

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 ! Object Request Broker

Annuaire
Debut
EcrireEntree
Fin
ImporterDefinitions ImporterModule
Lecture
Nul
Protege Prive Public
RenommerEntree
Source SupprimerEntree
Version

Exemple de contenu d'annuaire

Ressource d'annuaire autonome

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

Source Annuaire "Exemple de l'emploi des annuaires" Version 4.0.0;

Annuaire MonAnnuaire
/******************/
Debut
EcrireEntree("/coucou", "/COUCOU");
EcrireEntree("/hello", "/HELLO");
EcrireEntree("/guten tag", "/GUTEN TAG");
EcrireEntree("/coucou/coucou", "/COUCOU/COUCOU");
EcrireEntree("/hello/coucou", "/HELLO/COUCOU");
EcrireEntree("/coucou/hello", "/COUCOU/HELLO");
EcrireEntree("/hello/hello", "/HELLO/HELLO");
EcrireEntree("/hello/guten tag", "/HELLO/GUTEN TAG");
EcrireEntree("/coucou/guten tag", "/COUCOU/GUTEN TAG");
EcrireEntree("/guten tag/coucou", "/GUTEN TAG/COUCOU");
EcrireEntree("/guten tag/hello", "/GUTEN TAG/HELLO");
EcrireEntree("/guten tag/guten tag", "/GUTEN TAG/GUTEN TAG");
EcrireEntree("/divers/enumere", Enumere(1));
EcrireEntree("/divers/entier", Entier(10));
EcrireEntree("/divers/date", Date(24,3,2006,16,02,32,0));
EcrireEntree("/divers/reel", Reel(100.10));
EcrireEntree("/divers/liste" , Liste(Type("UpsKrn", "Caractere"), 3, "bonjour", "hello", "guten tag"));
Fin Annuaire

Ressource d'annuaire incluse dans un programme Up ! 5GL

Source Composant "Exemple de l'emploi des annuaires" Version 4.0.0;

ImporterModule
/************/
DefinitionsAnnuaire
/*****************/
Source Annuaire "Exemple de l'emploi des annuaires" Version 4.0.0;

Annuaire MonAnnuaire
/******************/
Debut
EcrireEntree("/coucou", "/COUCOU");
EcrireEntree("/hello", "/HELLO");
EcrireEntree("/guten tag", "/GUTEN TAG");
EcrireEntree("/coucou/coucou", "/COUCOU/COUCOU");
EcrireEntree("/hello/coucou", "/HELLO/COUCOU");
EcrireEntree("/coucou/hello", "/COUCOU/HELLO");
EcrireEntree("/hello/hello", "/HELLO/HELLO");
EcrireEntree("/hello/guten tag", "/HELLO/GUTEN TAG");
EcrireEntree("/coucou/guten tag", "/COUCOU/GUTEN TAG");
EcrireEntree("/guten tag/coucou", "/GUTEN TAG/COUCOU");
EcrireEntree("/guten tag/hello", "/GUTEN TAG/HELLO");
EcrireEntree("/guten tag/guten tag", "/GUTEN TAG/GUTEN TAG");
EcrireEntree("/divers/enumere", Enumere(1));
EcrireEntree("/divers/entier", Entier(10));
EcrireEntree("/divers/date", Date(24,3,2006,16,02,32,0));
EcrireEntree("/divers/reel", Reel(100.10));
EcrireEntree("/divers/liste" , Liste(Type("UpsKrn", "Caractere"), 3, "bonjour", "hello", "guten tag"));
Fin Annuaire
Fin DefinitionsAnnuaire

Variable
/******/
Principal
/*******/
Debut
...
C=Caractere(MonAnnuaire.LireEntree("/coucou"));
Ecran.Ecrire("C="+C);
...
MonAnnuaire.Exporter("mon-second-annuaire-electronique", "/");
...
Fin Principal

Ressource d'annuaire référencée par un programme Up ! 5GL

Déclaration explicite de la ressource de l'annuaire

Source Composant "Exemple de l'emploi des annuaires" Version 4.0.0;

ImporterModule
/************/
DefinitionsAnnuaire
/*****************/
Source Annuaire "Exemple de l'emploi des annuaires" Version 4.0.0;

ImporterModule
/************/ Fin DefinitionsAnnuaire

Variable
/******/
Principal
/*******/
Debut
...
C=Caractere(MonAnnuaire.LireEntree("/coucou"));
Ecran.Ecrire("C="+C);
...
MonAnnuaire.Exporter("mon-second-annuaire", "/");
...
Fin Principal

Déclaration implicite de la ressource de l'annuaire

Source Composant "Exemple de l'emploi des annuaires" Version 4.0.0;

ImporterModule
/************/
Variable
/******/
Principal
/*******/
Debut
...
C=Caractere(MonAnnuaire.LireEntree("/coucou"));
Ecran.Ecrire("C="+C);
...
MonAnnuaire.Exporter("mon-second-annuaire", "/");
...
Fin Principal