Skip to main content
Skip table of contents

NOM-CTX

BUT

Cette fonction permet de piloter dans une nomenclature de définition ou de pointeur le contexte de certaines variables en identifiant le nom de ces variables sous la forme de variables et en permettant de récupérer le type de la variable ou sa valeur.

Cette fonction est disponible uniquement pour les requêtes de type REN, et ne concerne que certaines variables de type VBA.

TYPE

CARACTERE (rubrique fonction gestion pour type requête REN exclusivement (libellé : Gestion Ctx Nomenc.).

SYNTAXE

Variable =  NOM-CTX ( ACTION = DEFINITION,REC-TYPE,REC-VALEUR

TYPE-VARIABLE = VBA (non saisi)

NOM-VARIABLE = Référence de la variable VBA traitée

                                                           E-S :VALEUR = valeur liée à l’action de la fonction)

PARAMETRES

Paramètre

E/S

O

Type

Description

ACTION

E

Oui

Caractère

DEFINITION : cette action permet à DIAPASON de définir la variable  définie dans le paramètre NOM-VARIABLE pour pouvoir être utilisée par la suite par les autres actions. Cette action doit impérativement être effectuée sur le pointeur de niveau le plus haut avant toute autre action. Le type de la variable (Caractère, Numérique, Date, Logique) est retourné dans la variable du paramètre entrée-sortie VALEUR (valeur non définie si variable inconnue ou non autorisée).

REC-TYPE : cette action demande à DIAPASON de donner le type (Caractère, Numérique, Date, Logique) de la variable définie dans le paramètre NOM-VARIABLE. Le type est retourné dans la variable du paramètre entrée-sortie VALEUR.

REC-VALEUR : cette action demande à DIAPASON de donner la valeur de la variable définie dans le paramètre NOM-VARIABLE. La valeur est retourné dans la variable du paramètre entrée-sortie VALEUR.

TYPE-VARIABLE

E

Oui

Caractère

Type DIAPASON de variable. Non saisi, forcé à VBA

NOM-VARIABLE

E

Oui

Caractère

Nom de la variable VBA dans le dictionnaire des variables DIAPASON.  Peut être une variable de type caractère.

VALEUR

E

Oui

Caractère

Valeur en entrée ou sortie de fonction dépendant du paramètre ACTION.

 

EXEMPLE

L’instruction qui suit permet de définir une variable VBA qui sera utilisée par la suite et dont le nom est le contenu de la variable locale Nom ; la fonction retourne le type de la variable (Caractère, Numérique, Date, Logique):

VLO.Fct = NOM-CTX( ACTION= DEFINITION, TYPE-VARIABLE=VBA , NOM-VARIABLE= VLO.Nom , E-S:VALEUR= VLO.Type)

Par la suite, l’instruction qui suit permet de mémoriser dans la variable locale Valeur la valeur effective (au format caractère exclusivement) de la variable VBA dont le nom est le contenu de la variable locale Nom :

VLO.Fct = NOM-CTX( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= VLO.Nom , E-S:VALEUR= VLO.Valeur )

NOTES

La fonction retourne dans la variable résultat la valeur *INC lors de toute anomalie d’exécution et la valeur vide pour toute exécution correcte.

Les variables VBAs pouvant être utilisées sont les variables qui ne sont pas de type tableau et qui n’identifient pas les informations techniques d’un pointeur (variables dont le nom commence par di-t-*).

L’action DEFINITION ne peut être exécutée correctement que lorsque dans l’exécution de la requête, le contexte du pointeur courant correspond au pointeur de niveau le plus haut.

Les actions REC-VALEUR et REC-TYPE renvoient la valeur inconnue quand il y a une incohérence de définition ou que la variable VBA n’est pas définie.

EXEMPLE DETAILLE

Soit la requête suivante :

VLO.NbrVar = NB-MOT( SEPARATEUR= CLO."," , CHAINE= CGL.ListeVBAs )

BOUCLE VLO.Indice DE 1 A VLO.NbrVar :

VLO.NomVar = MOT( SEPARATEUR= CLO."," , CHAINE= CGL.ListeVBAs , NUMERO= VLO.Indice )

VLO.Fct = NOM-CTX( ACTION= DEFINITION , TYPE-VARIABLE=VBA , NOM-VARIABLE= VLO.NomVar , E-S:VALEUR= VLO.TypVar )

FIN_BLOC

POUR CHAQUE Pointeur Global :

VLO.NumOrd = VLO.NumOrd + CLO.1

VLO.Titre = CLO.""

BOUCLE VLO.Indice DE 1 A VLO.NbrVar :

VLO.NomVar = MOT( SEPARATEUR= CLO."," , CHAINE= CGL.ListeVBAs, NUMERO= VLO.Indice )

VLO.Fct = NOM-CTX( ACTION= REC-VALEUR , TYPE-VARIABLE=VBA , NOM-VARIABLE= VLO.NomVar , E-S:VALEUR= VLO.ValVar )

VLO.Titre = VLO.Titre + " " + VLO.NomVar + CLO."=" + VLO.ValVar

FIN_BLOC

CREATION LISTE :

PRENDRE NumOrd = VLO.NumOrd

PRENDRE Titre = VLO.Titre

FIN_BLOC

FIN_BLOC

Dans cette requête, la constante globale ListeVBAs contient une liste chaînée de variables VBAs que l’on souhaite extraire sous la forme nomvariable = valeur nomvariable = valeur ….

Soit la nomenclature de pointeur suivante (avec son contexte détaillé) :

Si la constante globale ListeVBAs contient la valeur ge-ref-gene,couleur, le résultat de la requête est le suivant :

NumOrd

Titre

1

ge-ref-gene=A couleur= ?

2

ge-ref-gene=B couleur= VERT

3

ge-ref-gene=C couleur= VERT

4

ge-ref-gene=D couleur= BLEU

5

ge-ref-gene=E couleur= BLEU

6

ge-ref-gene=F couleur= ?

7

ge-ref-gene=G couleur= ?

 

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.