Création
Le but de cette fonction est de pouvoir définir la configuration des lignes de commandes commerciales lors de la création d’une ligne de commande (Action « CRE » sur l’Entité « CDC-LIG »). Pour cela, la liste standard WfEntVar doit être initialisée comme suit :
-
Liste des contextes
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir EntCtxLisCtx |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des contextes dans l’ordre récursif |
Liste des niveaux de contextes
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir EntCtxLisNiv |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des niveaux des contextes de la liste ci-dessus |
-
Liste des variables du contexte refctx
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir CdeLigComDescCFGVar.refctx |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des variables du contexte refctx |
-
Liste des valeurs des variables du contexte refctx
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir CdeLigComDescCFGVal.refctx |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des valeurs des variables du contexte refctx |
Modification
Le but de cette fonction est de pouvoir modifier la configuration d’une ligne de commandes commerciales (Action « MOD » sur l’Entité « CDC-LIG »). Pour cela, la liste standard WfEntVar doit être initialisée comme suit :
-
Liste des variables modifiées du contexte refctx
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir CdeLigComDescCFGVar.refctx |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des variables du contexte refctx |
-
Liste des valeurs modifiées des variables du contexte refctx
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir CdeLigComDescCFGVal.refctx |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des valeurs des variables du contexte refctx |
Questionnaires optionnels (QOp)
La définition des questionnaires optionnels (QOp) de la configuration commerciale doit être communiquée à la fonction ENR-ACT-ENT de la même manière que les contextes commerciaux, sauf que la référence contexte est suivie du caractère « : » (2 points) et de la référence variable de la question déclenchant le QOp. Pour cela, la liste standard WfEntVar doit être initialisée comme suit :
-
Liste des variables du contexte refctx
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir CdeLigComDescCFGVar.refctx:refvar |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des variables du QOp refctx:refvar |
-
Liste des valeurs des variables du contexte refctx
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntTEn |
C |
Entité |
o |
Doit contenir CDC-LIG |
|
ActCle |
C |
Clé |
o |
Clé pour lien avec WfEntAct |
|
EntTVa |
C |
Type de Variable |
o |
Doit contenir SDL |
|
EntVar |
C |
Variable |
o |
Doit contenir CdeLigComDescCFGVal.refctx:refvba |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Liste chaînée des valeurs des variables du QOp refctx:refvba |
Exemples
Soit un article de type fenêtre dont la définition commerciale contient les contextes suivants :
-
Dor (modèle dormant ; VBA = hauteur, largeur, couleur, presencebvr)
-
DorOuv01 et DorOuv02 (modèle ouvrant ; VBA = largeur, presencepoignee, typevitrage)
et le questionnaire optionnel « BVR » déclenché sur la question « presenceBVR » du contexte dormant (composé des VBA : hauteur, typemanoeuvre).
Exemple 1 : Pour créer une ligne de commande commerciale pour cet article (2 ouvrants avec BVR), alimenter WfEntVar comme suit :
-
Liste des contextes
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
EntCtxLisCtx |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Dor,DorOuv01, DorOuv02 |
Remarque : les QOp ne font pas partie de la liste des contextes, ils seront rattachés automatiquement à leur contexte père (première partie du nom du QOp).
-
Liste des niveaux de contextes
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
EntCtxLisNiv |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
0,1,1 |
-
Liste des variables du contexte Dor
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.Dor |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
hauteur,largeur,couleur,presencebvr |
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVal.Dor |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
90,125,BLANC,OUI |
-
Liste des variables du contexte DorOuv01 (vantail poignée)
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.DorOuv01 |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
largeur, presencepoignee,typevitrage |
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVal.DorOuv01 |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
60,OUI,DOUBLE |
-
Liste des variables du contexte DorOuv02 (vantail battée)
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.DorOuv02 |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
presencepoignee,typevitrage |
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVal.DorOuv02 |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
NON,DOUBLE |
Remarque : la largeur est calculée avec largeur dormant – largeur ouvrant1.
-
Liste des variables du QOp BVR
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.Dor:presenceBVR |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
hauteur,typemanoeuvre |
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVal.Dor:presenceBVR |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
30,MANUELLE |
Exemple 2 : Pour modifier cette ligne de commande commerciale (modification largeur vantail 1), alimenter WfEntVar comme suit :
-
Liste des variables du contexte DorOuv01 (vantail poignée)
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.DorOuv01 |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
Largeur |
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVal.DorOuv01 |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
65 |
Remarque : seules les variables modifiées sont précisées.
Exemple 3 : Pour modifier cette ligne de commande commerciale (modification type de manœuvre du BVR), alimenter WfEntVar comme suit :
Liste des variables du questionnaire optionnel BVR
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.Dor:presenceBVR |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
typemanoeuvre |
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CdeLigComDescCFGVar.Dor:presenceBVR |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
ELECTRIQUE |
Remarque : seules les variables modifiées sont précisées.
Variables particulières
SDL.CfgSceEnrVal
-
V (validation) : le scénario est intègre (les contextes sont déroulés, la phase de calcul et de validation scénario sont exécutées)
-
S (sauvegarde) : le scénario n’est pas intègre (équivalant du bouton « sauvegarde ») ; la ligne de commande est forcée à l’état sauvegarde également.
-
C (mode calcul) : le scénario n’est pas intègre (exécution du mode calcul uniquement et donc pas des règles propres à chaque question) ; la ligne de commande n’est pas forcée à l’état sauvegarde et peut donc être valide malgré que sont scénario ne soit pas intègre.
Sauvegarde scénario et ENR-ACT-ENT
Nous allons voir dans ce chapitre comment saisir une ligne de commande avec un article configuré qui sera validée via un document posté en batch.
-
Déroulement scénario en mode sauvegarde.
Il est possible en mode ENR-ACT-ENT de créer une ligne avec un article configuré en mode sauvegarde. Pour cela il suffit d’ajouter la variable SDL.CfgSceEnrVal avec la valeur S.
|
Nom |
T |
Désignation |
O |
Commentaire |
|
EntVar |
C |
Variable |
o |
CfgSceEnrVal |
|
EntVaC |
C |
Valeur Alphanumérique |
o |
S |
Remarque : en mode sauvegarde, les contextes ne sont pas déroulés.
-
Déroulement complet scénario en mode validation.
Pour dérouler un scénario en mode validation, il faut préciser l’ensemble des contextes à dérouler. Le séquencement est le suivant :
-
Exécution de la requête de démarrage du scénario.
-
Déroulement du 1er Contexte (en mode séquentiel).
-
Exécution de la requête GCQ de choix de contextes à redérouler : Si l’on ne renseigne rien, DIAPASON re-déroule tous les contextes qui ne l’ont pas été.
-
Re-déroulement des contextes définis.
-
Exécution des requêtes GCQ de calcul.
-
Exécution de la requête de validation du scénario.
Pour redérouler complètement le scénario, dans la requête de choix des contextes, on mettra donc le champ CtxDerVal de WfCfgCtxDer à OUI.
-
Déroulement partiel du scénario en mode validation.
Pour dérouler en mode partiel un scénario, on mettra à OUI la SDL.CdeLigAccesGen comme défini ci-dessus.
On renseignera ensuite dans la requête de choix des contextes à dérouler, les contextes souhaités.
Si CtxDerVal est à oui pour un contexte donné, ce contexte sera redéroulé.
Au contraire, pour les contextes que l’on ne souhaite pas re-dérouler, on renseignera NON pour le champ CtxDerVal de WfCfgCtxDer.
-
Déroulement partie calcul associé au scénario.
-
Il est possible en ENR-ACT-ENT d’exécuter les requêtes de calcul du scénario d’un article configuré. Pour cela on utilise l’action « CTX-CAL-ENR ».
On initialise ensuite la variable SDL.CfgSceRegCal avec la liste des requêtes de Calcul qui devront être exécutées.
-
Optimisation sortie interactive du scénario.
Pour optimiser la sortie intéractive du scénario lors de la saisie de ligne de commande commerciale, il est recommandé de :
Sauvegarder la configuration saisie (pas de passage dans le redéroulement final).
Dans une règle GCL, tester le statut d’enregistrement du scénario. Si celui-ci est en mode sauvegarde, lancer un document qui va redérouler le scénario en mode validation.
Règle GCL :
COMMENTAIRE : "Gestion du déroulement en batch de la configuration de l'article DOC_Fenetre"
SI SDL.CdeLigRefArt = CLO."DOC_Fenetre"
VLO.fct = LEC-CTX-ENT( ACTION= LISTE-CTX-STA TYPE= LIG.CDE , CLE1 ENTITE= SDL.CdeNumCom , CLE2 ENTITE= SDL.CdeNumLig , CLE3 ENTITE= CGL.VIDE , REF-CONTEXTE= CLO."" , TYPE-VARIABLE=VBA , NOM-VARIABLE= CLO."" , S:VALEUR= VLO.EtatSauvegarde )
COMMENTAIRE : "La configuration est au statut ‘sauvegarde’ "
SI VLO.EtatSauvegarde = CLO."S"
VLO.CdeNumCom = SDL.CdeNumCom
VLO.CdeNumLig = SDL.CdeNumLig
VLO.fct = INI-CRI-DOC( TYPE-VARIABLE= SCR , TYPE= CARACTERE , NOM-VARIABLE= CdeNumCom , VALEUR= VLO.CdeNumCom )
VLO.fct = INI-CRI-DOC( TYPE-VARIABLE= SCR , TYPE= CARACTERE , NOM-VARIABLE= CdeNumLig , VALEUR= VLO.CdeNumLig )
VLO.fct = EXE-DOC( DOCUMENT= REB."DOC_FenEAE" , MODE= B , IMPRIMANTE= CLO."" , FICHIER= CLO."" , DOC-CAR= CLO."" , DOC-MAJ= CLO."" , DOC-CLE= CLO."" )
FIN_BLOC
FIN_BLOC
Règle REB du document DOC_FenEAE :
COMMENTAIRE : "Gestion du déroulement en batch de la configuration de l'article DOC_Fenetre"
CREATION Liste WfEntAct :
PRENDRE WfEntAct ActCle = SCR.CdeNumCom
PRENDRE WfEntAct Action = CLO."MOD"
PRENDRE WfEntAct EntTEn = CLO."CDC-LIG"
PRENDRE WfEntAct EntCl1 = SCR.CdeNumCom
PRENDRE WfEntAct EntCl2 = SCR.CdeNumLig
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar ActCle = SCR.CdeNumCom
PRENDRE WfEntVar EntTVa = CLO."SDL"
PRENDRE WfEntVar EntVar = CLO."CdeLigAccesGen"
PRENDRE WfEntVar EntVaL = CGL.OUI
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
Remarque : ne rien faire dans la GCQ de choix des contextes à dérouler : DIAPASON proposera de dérouler tous les contextes, sauf celui de premier niveau (déroulé forcément par le ENR-ACT-ENT).