LEC-CTX
BUT
Cette fonction permet de récupérer le contexte (type, format, valeur) de certaines variables de bases d’une entité configurée (article standard, ligne de commande commerciale) en identifiant le nom de ces variables sous la forme de variables. Cette fonction permet de lire des variables dans n’importe quel contexte de l’entité configurée.
Cette fonction est disponible uniquement pour les requêtes de type GCA, GCL, RN1, RN5, REN et ne concerne que les variables de type VBA qui ne sont pas des tableaux.
TYPE
CARACTERE (rubrique fonction gestion ; libellé : Lecture Contexte)).
SYNTAXE
Variable = LEC-CTX ( ACTION = REC-TYPE,REC-FORMAT,REC-VALEUR,REC-VAL/HER
REF-CONTEXTE=Contexte
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 | 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-FORMAT : cette action demande à DIAPASON de donner le format de la variable définie dans le paramètre NOM-VARIABLE. Le format est retourné dans la variable du paramètre entrée-sortie VALEUR. REC-VALEUR : cette action demande à DIAPASON de rechercher la valeur de la variable VBA définie dans le paramètre NOM-VARIABLE. La valeur est retourné dans la variable du paramètre entrée-sortie VALEUR. La valeur est recherchée exclusivement dans le contexte donné dans le paramètre REF-CONTEXTE. REC-VAL/HER : cette action demande à DIAPASON de rechercher par héritage la valeur de la variable VBA définie dans le paramètre NOM-VARIABLE. La valeur est retourné dans la variable du paramètre entrée-sortie VALEUR. La valeur est recherchée dans le contexte donné dans le paramètre REF-CONTEXTE et dans les références contextes supérieures de l’arborescence des contextes en partant de ce contexte origine (voir Notes ci-dessous). REC-VAL/H-I : permet de récupérer la valeur d'une variable avec héritage (comme l'option REC-VAL/HER) mais retourne la valeur défaut de la variable définie dans le dictionnaire de variable si celle-ci n'est pas définie; REC-VAL/RPV permet d'indiquer où la valeur de la variable est définie : la valeur L signifie que la valeur est définie localement, la valeur C indique que la valeur est définie dans un contexte supérieur, la valeur U indique que la variable n'est pas définie (*) |
REF-CONTEXTE | E | Oui | Caractère | Référence contexte de définition de l’entité. Donné sous la forme de variable ou de constante. Obligatoire dans le cas d’une définition multi-contexte. Si cette variable contient la valeur vide, DIAPASON sélectionne par défaut le contexte de niveau le plus haut. |
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. |
VALEUR | E | Oui | Caractère | Valeur en entrée ou sortie de fonction dépendant du paramètre ACTION. |
(*) Remarque : dans le cas de la fonction ACT-CTX, lors de l'exécution d'une requête GCQ, si la variable a été initialisée dans un contexte supérieur, la fonction retournera L). La fonction VAR-CTX dispose également des options RVI (récupération valeur défaut si variable non définie contextuellement) et RPV (les valeurs retournées sont L lorsque la variable n'est pas définie et U si la valeur n'est pas définie).
EXEMPLE
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 et dont le contexte est le contenu de la variable locale Contexte :
VLO.Fct = LEC-CTX( ACTION= REC-VALEUR , REF-CONTEXTE = VLO.Contexte , TYPE-VARIABLE=VBA , NOM-VARIABLE= VariableVBA , E-S:VALEUR= VLO.Valeur )
NOTES
La fonction retourne dans la variable résultat la valeur *INC lors de toute anomalie d’exécution (notamment lorsque la variable n’a pas été trouvée) et la valeur vide pour toute exécution correcte.
Dans les requêtes de type GCA et GCL, la fonction se comporte exactement pareil que pour les autres types de requêtes mais est libellée LGC-CTX car les variables de base du contexte de départ (niveau le plus haut) peuvent être modifiées dans ces requêtes.
Le principe de fonctionnement dans le cas d’une arborescence de contexte est le suivant :
Soit la nomenclature de contexte suivante :
Soit les variables VBAs suivantes :
Contexte C1, VBA.Couleur = BLANC
Contexte C3, VBA.Couleur = GRIS
Contexte C4, VBA.Modele = BUSINESS
Les actions de recherche ont le comportement suivant :
ACTION=REC-VALEUR, CONTEXTE = C2, VBA=Couleur : Valeur = Inconnue (retour erreur fonction).
ACTION=REC-VAL/HER, CONTEXTE = C2, VBA=Couleur : Valeur = BLANC (pas d’erreur fonction, valeur prise sur pointeur C1).
ACTION=REC-VALEUR, CONTEXTE = C4, VBA=Modele : Valeur = BUSINESS (pas d’erreur fonction, valeur prise sur pointeur C4).
ACTION=REC-VALEUR, CONTEXTE = C2, VBA=Modele : Valeur = Inconnue (retour erreur fonction).
ACTION=REC-VAL/HER, CONTEXTE = C2, VBA=Modele : Valeur = Inconnue (retour erreur fonction).
ACTION=REC-VALEUR, CONTEXTE = C3, VBA=Couleur : Valeur = GRIS
(pas d’erreur fonction, valeur prise sur pointeur C3).ACTION=REC-VAL/HER, CONTEXTE = C3, VBA=Couleur : Valeur = GRIS
(pas d’erreur fonction, valeur prise sur pointeur C3).ACTION=REC-VALEUR, CONTEXTE = C6, VBA=Couleur : Valeur = Inconnue
(retour erreur fonction).ACTION=REC-VAL/HER, CONTEXTE = C6, VBA=Couleur : Valeur = GRIS
(pas d’erreur fonction, valeur prise sur pointeur C3)