CDC-LIG : Configuration de Lignes de Commandes ( ENR-ACT-ENT )
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).