DIALOG Hors Configurateur
Lecture des données issues du Configurateur
Lecture Contextes par LEC-CTX et LGC-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 et ne concerne que les variables de type VBA qui ne sont pas des tableaux.
Remarque : 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.
TYPE
Caractère (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). |
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. |
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 = VAR-CTX( ACTION= REC-VALEUR , REF-CONTEXTE = VLO.Contexte , 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 (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 :
![](../__attachments/115189539/att_1_for_293831058.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
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).
Lecture Contextes par ENR-ACT-ENT
Alimenter WfEntAct :
Action | EntTEn | EntCl1 | EntCl2 |
CTX-DER | ART | R | Article01 |
ou
Action | EntTEn | EntCl1 | EntCl2 |
CTX-INI | CDC-LIG | 0601000098 | 03 |
Cette instruction renvoie dans la liste WfEntVar les contextes structurés de la manière suivante :
EntTVa | EntVar | EntVaC |
SAS/SDL | EntCtxLisCtx | Liste des contextes dans l’ordre récursif |
SAS/SDL | EntCtxLisNiv | Liste des niveaux des contextes de la liste ci-dessus |
SAS/SDL | CdeLigComDescCFGVar | Liste des variables du contexte principal |
SAS/SDL | CdeLigComDescCFGVal | Liste des valeurs des variables du contexte principal |
SAS/SDL | CdeLigComDescCFGVar.refctx | Liste des variables du contexte refctx |
SAS/SDL | CdeLigComDescCFGVal.refctx | Liste des valeurs des variables du contexte refctx |
Fonction INIT-CTX dans les GCQ et REB
BUT
Permet d’initialiser une liste standard présentant l’ensemble des contextes composant la description d’un élément d’une entité (article standard, ligne de commande commerciale).
Cette fonction est disponible dans les requêtes de type GCQ et REB.
TYPE
Caractère
SYNTAXE
Variable = INIT-CTX ( TYPE=Type_Entité, CLE1 ENTITE = Clé1_Entité , CLE2 ENTITE = Clé2_Entité, CLE3 ENTITE = Clé1_Entité, S :LST.CONTEXTES= Liste_Ctx, S :LST.NIVEAUX= Liste_Niv)
PARAMETRES
Paramètre | E/S | O | Type | Description |
Type_Entité | E | Oui | Caractère | Type entité de recherche. Cette référence peut être donnée par une variable locale, une constante globale, une constante locale ou bien par la sélection d’une entité pré-définie, article standard ou ligne de commande commerciale. |
Clé 1 Entité | E | Oui | Caractère | Référence clé 1 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard, il s’agit du type article (= R) ; dans le cas d’une ligne de commande commerciale, il s’agit du numéro de commande. |
Clé 2 Entité | E | Oui | Caractère | Référence clé 2 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard, il s’agit de la référence article standard ; dans le cas d’une ligne de commande commerciale, il s’agit du numéro de ligne de commande. |
Clé 3 Entité | E | Oui | Caractère | Référence clé 3 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard ou d’une ligne de commande commerciale, cette clé n’est pas utilisée. |
Liste_Ctx | S | Oui | Caractère | Liste chainée des références contextes composant la description de l’entité avec le séparateur ,. Cette liste est fournie sous la forme d’une description récursive de l’arborescence des contextes. Voir Notes ci-dessous pour un exemple. |
Liste_Niv | S | Oui | Caractère | Liste chainée des niveaux des contextes composant la description de l’entité avec le séparateur ,. Il s’agit du niveau dans l’arborescence des contextes. Voir Notes ci-dessous pour un exemple. |
Cette fonction retourne deux listes standards :
La liste WfCfgRecCtx : un élément de cette liste correspond à un contexte ; cette liste est ordonnée dans l’ordre récursif des contextes et dispose de toutes les informations rattachées au contexte : désignation, modèles, ….
La liste WfCfgRecVal : un élément de cette liste correspond à une valeur d’une variable contextuelle VBA pour chaque contexte.
EXEMPLE
VLO.VarResultat = INIT-CTX ( TYPE=ART.STD, CLE1 ENTITE = VLO.Reference, CLE2 ENTITE = CLO.’’ , CLE3 ENTITE = CLO.’’, S :LST.CONTEXTES=VLO.LstContextes, S :LST.NIVEAUX=VLO.LstNiveaux ).
Cette instruction renvoie dans les listes WfCfgRecCtx et WfCfgRecVal la définition des différents contextes composant la description des variables de bases de l’article standard dont la référence est mémorisée dans la variable locale Reference.
NOTES
La variable retour est vide si l’exécution de la fonction s’est correctement déroulée ; sinon, elle contient le code erreur DIAPASON et le libellé associé à l’erreur.
Le principe de fonctionnement des listes contextes et niveaux est le suivant :
Soit l’arborescence de contextes suivants :
![](../__attachments/115189539/att_2_for_293831058.png?inst-v=2e0628d9-a170-4eb1-b774-b0d7a84fa1a1)
Les variables auront les valeurs suivante :
Lst.Contextes = C1,C2,C5,C3,C6,C7,C4
Lst.niveaux = 0,1,2,1,2,2,1
La liste standard « WfCfgRecCtx » est constituée des champs ci-dessous :
Référence | Désignation | Type |
CfgModCtxMDi | Mot Directeur Contexte | Caractère |
CtxCleTri1 | Clé de Tri 1 Contexte | Caractère |
CtxCleTri2 | Clé de Tri 2 Contexte | Caractère |
CtxCleTri3 | Clé de Tri 3 Contexte | Caractère |
CtxCleTri4 | Clé de Tri 4 Contexte | Caractère |
CtxCleTri5 | Clé de Tri 5 Contexte | Caractère |
CtxDes | Désignation Contexte | Caractère |
CtxMod | Référence Modèle Contexte | Caractère |
CtxNiv | Niveau Contexte | Entier |
CtxOrd | Numéro d'Ordre Contexte | Entier |
CtxPere | Référence Contexte Père | Caractère |
CtxQue | Questionnaire à dérouler sur Contexte | Caractère |
CtxRef | Référence Contexte | Caractère |
EntCl1 | Clé 1 Entité | Caractère |
EntCl2 | Clé 2 Entité | Caractère |
EntCl3 | Clé 3 Entité | Caractère |
EntTEn | Type Entité (ART,CDC,CDC-LIG, ...) | Caractère |
NomLieGenRef | Reference Generique Lien | Caractère |
La liste standard « WfCfgRecVal » est constituée des champs ci-dessous :
Référence | Désignation | Type |
CtxRef | Référence Contexte | Caractère |
EntCl1 | Clé 1 Entité | Caractère |
EntCl2 | Clé 2 Entité | Caractère |
EntCl3 | Clé 3 Entité | Caractère |
EntTEn | Type Entité (ART,CDC,CDC-LIG,...) | Caractère |
ListeNomDiapContexte | Liste des Variables | Caractère |
ListeValDiapContexte | Liste des Valeurs | Caractère |
Fonction INIT-IMAGE dans les REB
BUT
Permet d’initialiser une liste standard présentant l’ensemble des dessins composant la description d’un élément d’une entité (article standard, ligne de commande commerciale).
Cette fonction est disponible dans les requêtes de type REB pour être utilisée avec la fonction GENERE-IMAGE.
TYPE
Caractère
SYNTAXE
Variable = INIT-IMAGE ( TYPE=Type_Entité, CLE1 ENTITE = Clé1_Entité , CLE2 ENTITE = Clé2_Entité, CLE3 ENTITE = Clé1_Entité)
PARAMETRES
Paramètre | E/S | O | Type | Description |
Type_Entité | E | Oui | Caractère | Type entité de recherche. Cette référence peut être donnée par une variable locale, une constante globale, une constante locale ou bien par la sélection d’une entité pré-définie, article standard ou ligne de commande commerciale. |
Clé 1 Entité | E | Oui | Caractère | Référence clé 1 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard, il s’agit de la référence article standard ; dans le cas d’une ligne de commande commerciale, il s’agit du numéro de commande. |
Clé 2 Entité | E | Oui | Caractère | Référence clé 2 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard, cette clé n’est pas utilisée; dans le cas d’une ligne de commande commerciale, il s’agit du numéro de ligne de commande. |
Clé 3 Entité | E | Oui | Caractère | Référence clé 3 de l’entité. Cette référence peut être donnée par une variable locale, une constante globale ou une constante locale ; dans le cas d’un article standard ou d’une ligne de commande commerciale, cette clé n’est pas utilisée. |
Cette fonction retourne la liste standard :
WfObjGraD : un élément de cette liste correspond à un objet du dessin
EXEMPLE
VLO.VarResultat = INIT-IMAGE ( TYPE=LIG.CDE, CLE1 ENTITE = VLO.NumCom, CLE2 ENTITE = VLO.NumLig , CLE3 ENTITE = CLO.’’).
Cette instruction renvoie dans la liste WfObjGraD la définition objets représentatifs des différents contextes composant la description des variables de bases de la ligne de commande dont le numéro de commande est mémorisée dans la variable locale NumCom et le numéro de ligne est mémorisée dans la variable locale NumLig.
NOTES
La variable retour est vide si l’exécution de la fonction s’est correctement déroulée ; sinon, elle contient le code erreur DIAPASON et le libellé associé à l’erreur.
Cette instruction couplée à l’instruction GENERE-IMAGE permet de créer une image de représentation de l’article commandé.
Création et modification d’un contexte commercial
Configuration Articles Standard par ENR-ACT-ENT (CTX-ENR)
Alimenter WfEntAct :
Action | EntTEn | EntCl1 | EntCl2 |
CTX-ENR | ART | R | Article01 |
et WfEntVar :
EntTVa | EntVar | EntVaC |
SAS | EntCtxLisCtx | Liste des contextes dans l’ordre récursif |
SAS | EntCtxLisNiv | Liste des niveaux des contextes de la liste ci-dessus |
SAS | CdeLigComDescCFGVar.refctx | Liste des variables du contexte refctx |
SAS | CdeLigComDescCFGVal.refctx | Liste des valeurs des variables du contexte refctx |
Remarque : si EntCtxLisCtx et EntCtxLisNiv ne sont pas renseignés, la nomenclature de contextes est considérée en « rateau » : le contexte principal est celui défini sur le scénario (ce dernier est déterminé par l’article), les autres contextes sont tous fils du contexte principal.
Configuration Lignes de Commandes par ENR-ACT-ENT
Lors de la création d’un ligne de commande (action CRE sur entité CDC-LIG), alimenter WfEntVar
EntTVa | EntVar | EntVaC |
SDL | EntCtxLisCtx | Liste des contextes dans l’ordre récursif |
SDL | EntCtxLisNiv | Liste des niveaux des contextes de la liste ci-dessus |
SDL | CdeLigComDescCFGVar.refctx | Liste des variables du contexte refctx |
SDL | CdeLigComDescCFGVal.refctx | Liste des valeurs des variables du contexte refctx |
Remarque : si EntCtxLisCtx et EntCtxLisNiv ne sont pas renseignés, la nomenclature de contextes est considérée en « rateau » : le contexte principal est celui défini sur le scénario (ce dernier est déterminé par l’article de la ligne de commande), les autres contextes sont tous fils du contexte principal.
Déroulement Contextes par ENR-ACT-ENT (CTX-DER)
Cette fonction déroule les contextes passés dans WfEntVar sur l’article ou la ligne concerné, mais n’enregistre pas le résultat.
Alimenter WfEntAct :
Action | EntTEn | EntCl1 | EntCl2 |
CTX-DER | ART | R | Article01 |
ou
Action | EntTEn | EntCl1 | EntCl2 |
CTX-DER | CDC-LIG | 0601000098 | 03 |
et WfEntVar :
EntTVa | EntVar | EntVaC |
SAS/SDL | EntCtxLisCtx | Liste des contextes dans l’ordre récursif |
SAS/SDL | EntCtxLisNiv | Liste des niveaux des contextes de la liste ci-dessus |
SAS/SDL | CdeLigComDescCFGVar.refctx | Liste des variables du contexte refctx |
SAS/SDL | CdeLigComDescCFGVal.refctx | Liste des valeurs des variables du contexte refctx |
Remarque : si EntCtxLisCtx et EntCtxLisNiv ne sont pas renseignés, la nomenclature de contextes est considérée en « rateau » : le contexte principal est celui défini sur le scénario (ce dernier est déterminé par l’article), les autres contextes sont tous fils du contexte principal.
Déroulement Contextes par ENR-ACT-ENT (CTX-DER-DET)
Cette fonction déroule les contextes passés dans WfEntVar sur l’article ou la ligne concerné, mais n’enregistre pas le résultat. Passer WfEntAct ent WfEntVar comme pour CTX-DER, mais le résultat du déroulement est fourni en sortie variable par variable sous la forme :
WfEntVar :
EntTVa | EntVar | EntVaC |
SAS/SDL | EntCtxLisCtx | Liste des contextes dans l’ordre récursif |
SAS/SDL | EntCtxLisNiv | Liste des niveaux des contextes de la liste ci-dessus |
SAS/SDL | CdeLigComDescCFGVar.refctx | Liste des variables du contexte ctx |
SAS/SDL | CdeLigComDescCFGVal.refctx | Liste des valeurs des variables du contexte refctx |
VBA | refctx.refvar | Valeur de la variable refvar dans le contexte refctx. |
Comparaison Contextes par ENR-ACT-ENT (CTX-DIF)
Idem CTX-DER-DET, mais une erreur est déclenchée en sortie de fonction si au mois une variable n’a pas la même valeur en entrée et en sortie.
Manipulation Contextes par Messages Entrants
Définition d’une formule utilisant le mot-clé DIAP_INI_CTX (refctx, refvar, valvar).
Exemple :
Association de XML.Scenario à une balise décrite dans un modèle XML (<DefinitionArt>). Utilisation d’une formule sous la forme :
Sans paramètre : DIAP_INI_CTX (<CtxArt>, <Var>, <Valeur>).
Avec paramètres : DIAP_INI_CTX (P_1, P_2, P_3). Avec les balises dans la définition des paramètres.
Un message XML est lu, il doit être sous la forme :
……..
<DéfinitionDesVBA>
<DefinitionArt CtxArt=CTX1 Var=Hauteur,Largeur Valeur=120,60 >
< DefinitionArt CtxArt=CTX2 Var=Hauteur,Largeur Valeur=110,40 >
……..
</DéfinitionDesVBA>
……..