|
VADELIA |
SADELIA |
WADELIA |
MADELIA |
|
(I/B) (C/S) |
(B) (S) |
(I/B) (C/S) |
(I) (C/S) |
Paragraphe d'utilisation
DECLARATION
Syntaxe
LISTE NomListe ParamIndic CompoListe
NomListe |
→ | NomVariableListe | |
|
| <Variable de type OBJET_GRAPHIQUE> :LISTE | ||
|
|||
ParamIndic |
→ | *INDIC | Rien | |
CompoListe |
→ | CompoListe ZoneListe | |
|
| CompoListe RéfEntitéIndJon | ||
|
| CompoListe RéfListe | ||
|
| ZoneListe | ||
|
| RéfEntitéIndJon | ||
|
| RéfListe | ||
ZoneListe |
→ | IdVar | |
|
| IdVar, NomExport | (Seulement dans le cas de service Web.) | |
|
|||
RéfEntitéIndJon |
→ | *REF_MLD(EntitéIndJon) | |
|
|||
RéfListe |
→ | *REF_L(NomListe) |
Description
Déclaration d'une liste de nom NomListe, composée de variables de l'environnement (variables de travail, zones écrans, variables fichier), de toutes les zones d'un fichier, ou de toutes les zones d'une liste déjà existante.
Il est possible de faire référence à toutes les zones d'une entité, d'un index ou d'une jonction, en utilisant le mot-clé *REF_MLD suivi du nom d'une entité, d'un index ou d'une jonction.
De même, pour faire référence à toutes les zones d'une liste de l'environnement, utiliser le mot clé *REF_L suivi du nom d'une liste.
Le paramètre *INDIC indique que la liste va gérer en interne pour chacune de ses zones une variable indicatrice (au sens SQL).
Ce type de liste n'est utile que lorsqu'on a des CREER_SQL avec le paramètre *BLOC et qu'on veut gérer les valeurs NULL.
La mise à jour de ses variables indicatrices est faite par l'ordre AFFECTER_INDIC.
Pour les programmes VADELIA Batch sans état destinés à la production de services Web, lorsque la liste est un paramètre du programme ou d'une procédure publique, il est possible d'associer un nom exporté NomExport pour chaque zone explicitement déclarée par l'intermédiaire de l'ordre LISTE. C'est alors ce nom exporté et non plus le mot directeur de la zone Adélia qui est utilisé dans le schéma XML du service Web produit.
Gestion des propriétés de type LISTE des variables de type OBJET_GRAPHIQUE
Pour pouvoir utiliser une propriété de type LISTE d'une variable de type OBJET_GRAPHIQUE, la propriété doit être définie au préalable.
Il est possible d'attribuer à un nom de liste une propriété de type LISTE d'une variable d'un objet graphique :
dans un programme Visual Adélia interactif ou batch :
LISTE VAR_OBJ_LISTE:LISTE COL1 COL2
dans un programme Visual Adélia interactif :
LISTE VAR_OBJ_LISTE:LISTE *REF_L(ID_FEN1.ID_LISTE :LISTE)
Cette syntaxe n'autorise pas les paramètres *REF_MLD(...) et *GLOBAL.
Elle impose que toutes les variables soient de type OBJET_GRAPHIQUE et déclarées par *DEF afin que leur définition Adélia soit claire.
Remarque : dans le cas de la déclaration de la propriété LISTE d'une variable de type OBJET_GRAPHIQUE, l'ordre LISTE ne peut être utilisé qu'une seule fois pour déclarer cette propriété LISTE.
Par exemple
Exemple 1
* Déclaration de listes mémoire dans un paragraphe DECL
* suite de zones
LISTE LSM_PERSO PE_COD_MAT PE_NOM_PERS PE_LIB_VILLE_PERS
* référence à la structure d'une entité
LISTE LSM_CLIENT *REF_MLD(CLIENT)
* référence à la structure d'une liste graphique
LISTE LSM_TEMPO *REF_L(LSM_ARTICLE :LISTE)
Exemple 2
* Utilisation de la propriété LISTE d'une variable OBJET_GRAPHIQUE
DECL_PGM
OBJET_GRAPHIQUE (LISTE) VAR_OBJ_LISTE
OBJET_GRAPHIQUE (COLONNE) VAR_OBJ_COL *DEP(VAR_OBJ_LISTE:LISTE)
ALPHA(10) COL1
REF(ID_FEN1.ID_COL :VALEUR) COL2
LISTE VAR_OBJ_LISTE:LISTE COL1 COL2 * Utilisable dans un programme VA_I ou VA_B.
LISTE VAR_OBJ_LISTE:LISTE *REF_L(ID_FEN1.ID_LISTE :LISTE) * Utilisable dans un programme VA_I.
FIN_DECL
Les variables de travail COL1 et COL2 permettent l'accès aux valeurs de la liste.
Les ordres L4G de gestion de liste (LIRE_P_ELT, TRIER_LST, SUPPRIMER_ELT, etc..) peuvent être utilisés.
Exemple 3
* Utilisation de la propriété LISTE d'une variable OBJET_GRAPHIQUE
DECL_PGM
OBJET_GRAPHIQUE (LISTE) VAR_OBJ_LISTE
OBJET_GRAPHIQUE (COLONNE) VAR_OBJ_COL1 *DEF(ALPHA(10))
OBJET_GRAPHIQUE (COLONNE) VAR_OBJ_COL2 *DEF(NUM_BIN_4)
LISTE VAR_OBJ_LISTE:LISTE VAR_OBJ_COL1 VAR_OBJ_COL2 * Utilisable dans un programme VA_I ou VA_B.
LISTE VAR_OBJ_LISTE:LISTE *REF_L(ID_FEN1.ID_LISTE :LISTE) * Utilisable dans un programme VA_I.
FIN_DECL
L'accès aux valeurs de la liste est fait ici via les variables VAR_OBJ_COL1 et VAR_OBJ_COL2 : les ordres L4G de gestion de liste (LIRE_P_ELT, TRIER_LST, SUPPRIMER_ELT, etc..) peuvent être utilisés.