STUDIO Couplages
1. Principe d’un couplage
Les couplages applicatifs sont des outils de paramétrage de Work-Flow, permettant d’associer et de faire communiquer deux outils unitaires parmi les ceux disponibles sur DIAPASON.
Les outils unitaires de paramétrage disponibles pour les couplages sont :
Pour la partie père :
La liste paramétrée (LPA).
L’arbre paramétrable (ARB).
Le PERT paramétrable (PER).
Le tableur dynamique (TDY).
Pour la partie enfant :
La liste paramétrée (LPA).
La procédure de saisie dynamique (PSD).
Le tableur dynamique (TDY).
Internet exploreur (IE).
Dans un couplage, l’outil père du couplage a un rôle bien distinct de l’outil enfant, le père se situera toujours dans la partie gauche (en mode vertical), ou dans la partie haute (splitter horizontal) de la fenêtre, l’enfant lui sera à l’inverse toujours dans la partie droite ou basse.
Affichage des données
Le père du couplage va piloter l’affichage des données dans l’enfant, ainsi que le choix de l’enfant à afficher selon son contexte.
L’action qui va mettre à jour la partie enfant du couplage est le déplacement sur le père, elle se traduit par :
Un changement d’enregistrement dans la LPA ou le TDY.
Un changement de nœud dans l’arbre.
Un changement d’étape dans le PERT.
Important Dans le cas des TDY, pour que le déplacement soit considéré, il faut que : Si dans la définition du tableur père, le drapeau Préinitialisé est coché, alors le drapeau Modification soit coché. Si dans la définition du tableur père, le drapeau PréInitialisé n’est pas coché alors dans la requête REB de construction du tableur, dans le CREATION LISTE WFTabGen, il faudra la présence du PRENDRE WFTabGen.ActMod = CGL.OUI. |
Ce déplacement sur le père va exécuter deux requêtes DIALOG de type REB :
Une requête de choix d’enfant : exécutée depuis le père du couplage, elle va permettre à partir du contexte de positionnement du père du couplage, de démarrer un nouveau fils.
Une requête de transmission des données du père vers l’enfant : exécutée depuis le père du couplage, elle permet d’initialiser le contexte nécessaire à l’affichage de l’enfant du couplage.
Déplacement : 1ère phase choix de l’enfant :
Exécution de la règle de choix de l’enfant (définie sur l’application de gestion des couplages) :
Contexte en entrée de la requête
Le principe de cette requête est selon le contexte du père, de démarrer un nouvel enfant ou garder l’enfant actuel.
Contexte de sortie : La variable VBP.IAP_TypeFils permet de renseigner le type du nouvel enfant parmi les types possibles, la variable VBP.IAP_RefFils donne la référence de l’enfant dans le type déterminé. Si les variables sont vides, alors aucun nouvel enfant n’est démarré, de même si les variables pointent vers l’enfant actuel.
Suite à l’exécution de cette requête un nouvel enfant peut être démarré.
Déplacement 2ème phase : Initialisation du contexte de l’enfant :
Une fois le nouvel enfant démarré, il ne manque plus qu’à lui transmettre les données nécessaires à son affichage. Si l’enfant n’a pas changé, il faut le mettre à jour par rapport au nouveau contexte du père.
Pour cela, une requête REB est exécutée sur le père du couplage, afin d’initialiser les variables contextuelles nécessaires à l’affichage de l’enfant :
Contexte en entrée de la requête
Contexte de sortie : la variable VBP.IAP_ModeAcc permet (pour des questions de performance) de choisir ce que la partie père du couplage transmet à la partie enfant : la valeur « C » indique « contexte complet » impliquant que le tableur dynamique père soit passé intégralement dans la liste DIALOG WfTabValPere. Dans le cas contraire, seules les variables SCR, VCR et VBP sont transmises.
Contexte de sortie : la variable VBP.IAP_ModeRea permet (pour des questions de performance) de ne pas réafficher l’enfant en l’alimentant avec la valeur « *PAS-DE-REAF ».
Déplacement 3ème phase : Affichage de l’enfant :
Cet affichage correspond en fait à :
LPA : La reconstruction de la condition, ou la réexécution de la requête de construction de la table DIALOG.
PSD : Exécution de la correspondance entre les variables critères SCR, et les variables d’affichage VSD, puis affichage de ces variables.
TDY : Redémarrage du tableur avec les nouveaux critères.
IE : Affichage des données situées à l’adresse pointée par la VBP.Ques_IE.
Interactivité avec l’utilisateur
Par défaut au démarrage, comme dans tous couplages standard de DIAPASON, c’est la partie père du couplage qui a la main, et qui est en mode gestion. Il sera donc possible de déclencher des actions de gestion depuis le père du couplage, et se déplacer. La partie enfant du couplage va elle être en mode visualisation, c'est-à-dire qu’il est possible de s’y déplacer, copier des données, actualiser l’affichage, mais pas saisir, ni exécuter des actions de gestion.
Le bouton « Accès Gestion » sur la partie père du couplage va permettre de changer le mode de la partie enfant, d’y exécuter des actions de gestion et entrer en saisie.
A partir du moment où l’enfant du couplage est en mode de gestion, le père du couplage est bloqué, il n’est plus possible de s’y déplacer, ni d’y exécuter une action.
La validation ou l’abandon de l’enfant du couplage va rendre la main au père, l’enfant repasse en mode visualisation et le père en gestion.
ATTENTION : InternetExplorer en enfant de couplage reste en visualisation.
2. Définition des couplages
La définition des couplages applicatifs est accessible depuis l’explorateur « Studio DIAPASON »
Onglet « Généralités »
Les informations de cet onglet sont générales à tous les objets de DIAPASON.
|
Onglet « Démarrage »
|
Onglet « Définition »
|
Onglet « Actions »
Cette règle de démarrage à le même contexte de variables que la règle de démarrage du père de couplage (pour une LPA voir Règle de démarrage LPA, pour un ARB voir Règle de démarrage ARB, pour un PERT voir Règle de démarrage PER), avec une variable supplémentaire en entrée : -SCR.COU_CouRef : Référence couplage.
|
Onglet « Critères Conditions »
Toutes ces données vont se substituer à celles du père du couplage.
|
3. Actions de gestion sur les couplages
Actions standard de gestion : création, modification, duplication, suppression…
Cas d’emploi dans les Actions:
Lancement d’une liste présentant les objets de nature standard ou paramétrable où figure ce couplage
|
Créer raccourcis: Ouvre l’application de définition des raccourcis, pour mettre le couplage en raccourcis.
Copier dans le navigateur: Permet de garder le couplage dans le presse papier, pour ensuite le coller dans le navigateur en mode « définition navigateur ».
Localiser dans Navigateur: Ouvre un arbre présentant les nœuds permettant d’accéder au couplage dans le navigateur.
Définition Navigateur: Accède à l’application de définition du navigateur.
4. Exemple : commandes commerciales
Il sera développé dans cet exemple, un couplage représentant les données des commandes non soldées. Le père du couplage sera une LPA avec condition simple sur la table CDCoEn, avec liaison avec l’entité GCDE.
Définition de la Liste Paramétrée père du couplage
Généralités : Dans l’onglet généralités, aucune des informations ne sera reprise dans le couplage : la désignation (libellé dans l’explorateur), le libellé court (libellé dans la barre de commande si l’objet est lancé en tant qu’action), le titre et l’icône seront ceux définis sur le couplage.
Démarrage : Dans l’onglet démarrage, le mode de démarrage de cette LPA deviendra le mode de démarrage du couplage, les informations sur l’explorateur ne seront pas transmises, enfin, les information sur le partage des variable entre le couplage et un père applicatif ou paramétrable (DIALOG), seront récupérées sur le couplage
Définition : La définition de la liste paramétrée : la liste de cet exemple présente toutes les entêtes de commande, elle est liée à l’entité GCDE pour faciliter la gestion de ses colonnes.
Interface : Les données sur l’interface sont liées uniquement à la liste paramétrée. Aucune donnée particulière n’est saisie pour cet exemple.
Actions : La règle de démarrage du père du couplage correspond à celle définie sur le couplage, elle n’est donc pas nécessaire sur la LPA pour cet exemple, les règles de validation et d’abandon seront par contre elles exécutées à la sortie du couplage. Les actions, et la règle de gestion de celles-ci sont définies sur le couplage pour le père du couplage.
Condition, Condition multi tables : données liées à la LPA uniquement, rien de saisi pour cet exemple.
Définition de l’enfant défaut du couplage
Dans cet exemple, l’enfant défaut du couplage est une liste paramétrée représentant les lignes de la commande pointée par le père. Les informations utiles à l’enfant du couplage pour la LPA sont :
Généralités : le titre, icône, libellés ne sont pas réutilisés dans le cadre du couplage.
Démarrage : Afin d’optimiser le démarrage de l’enfant de couplage, il est possible de définir les variables utiles.
Définition : ces données ne concernent que la LPA, dans cet exemple, elle est de type « condition simple », sur la table DTD.CdColi, elle est liée à l’entité GCDL.
Interface : Rien de particulier n’est défini pour cet exemple.
Actions : la règle de démarrage de la LPA enfant de couplage sera exécutée à chacun de ses démarrages, elle permettra notamment de filtrer les actions disponibles en gestion. Les règles de validation et d’abandon seront exécutées à chaque fin de saisie, les actions et la règle de gestion des actions définies permettront de gérer les actions de la LPA enfant de couplage.
Condition : afin de pouvoir filtrer uniquement les lignes de la commande pointée par le père, la condition de la LPA sera : « CDCoLi.RefSocApp = 'ISIA' ET CDCoLi.CdeNumCom = SCR.CdeNumCom ».
Définition du couplage
L’application de définition du couplage va permettre de donner ses caractéristiques de démarrage, les actions du père de couplage, ainsi que les règles qui permettront de faire communiquer le père et l’enfant.
Définition de l’exemple (COU_CdeCom) :
Généralités : la désignation sera le libellé de la branche de l’explorateur, le libellé court sera le libellé présent dans la barre de commande si le couplage est défini comme action, le titre et l’icône seront ceux de la fenêtre du couplage.
Démarrage : les explorateurs applicatifs où sera présent le couplage, dans le cas de branches génériques, la règle de génération des liens y est défini, ainsi que ses critères défaut.
Définition : les données spécifiques au composant du couplage y sont présentes : le père et l’enfant défaut du couplage, les règles permettant la gestion et la communication du père et des enfants du couplage.
Actions : la règle de démarrage du couplage va être exécutée sur le père du couplage au démarrage. Les actions définies sur le couplage seront celles présentes sur le père du couplage. Le bouton « Act. Détails » permet de définir les actions présentes sur chaque étapes pour un PERT, ou sur chaque nœud pour un arbre, celui-ci n’est pas accessible si le père est une liste paramétrée, en effet, les actions sont définies pour toute la liste.
Critères Conditions : Permet d’initialiser les valeurs des variables présentes dans la condition de la LPA père, ou dans la requête de construction pour PERT et arbre. La PSD permet depuis une action lancée depuis le père du couplage, de redéfinir ces critères, afin de relancer le père avec un nouveau contexte.
Exécution du couplage
Le couplage de commandes commerciales est maintenant accessible depuis l’explorateur de gestion commerciale et PDP, dans la branche couplages :
Le démarrage du couplage va entraîner celui du père du couplage. Sur ce père, la règle de démarrage du couplage va être exécutée. Dans l’exemple, la règle de démarrage va être utilisée pour modifier le titre et l’icône du couplage, ainsi que filtrer les actions (on choisit les actions disponibles parmi celles définies sur le couplage) :
Lorsque le démarrage du couplage se termine, celui-ci va se positionner sur le premier enregistrement de la liste. Ce positionnement devrait exécuter la règle de choix de l’enfant. Cet exemple n’ayant pas de règle définie pour le choix de l’enfant, celui par défaut sera gardé.
N’ayant pas démarré de nouvel enfant, il reste à afficher l’enfant défaut à partir du contexte de positionnement du père. Dans cet exemple, le père du couplage est une liste représentant les entêtes de commandes, et l’enfant est une liste sur la table des lignes de commande, avec une condition sur le numéro de l’entête.
Le père va donc devoir transmettre à son fils la référence de l’entête sur laquelle il est positionné. Pour cela, la règle de médiation va à partir de l’identifiant de positionnement du père qui lui est fournis en entrée, initialiser la SCR.CdeNumCom qui sera transmise à l’enfant :
Il serait possible également plus simplement d’utiliser la variable « SCR.EntCl1 » qui contient la clé de l’entité GCDE, et dans la règle de médiation initialiser la variable « SCR.CdeNumCom ».