Cegid XRP Ultimate  |  
I3   Actualisé le 06/10/2022
Fondations
GTFPS - Paramètres de synchronisation d'une transaction

   Cette gestion permet de gérer la synchronisation entre les différentes transactions.

   Qu'est-ce qu'une synchronisation ? Une synchronisation est une "mise en corrélation de données" entre 2 transactions "X" et "Y" afin de transmettre un contexte.

   Dans la transaction "X" il est possible d'ouvrir la transaction "Y" sans passer par le menu principal.

   En ouvrant "Y" nous pouvons donner des précisions sur les données gérées. Elles correspondent au détail des données initiales de "X".

   La recherche est appliquée automatiquement dans "Y" avec les données de départ de "X". Ensuite, il est possible de naviguer de "X" à "Y" en conservant cette synchronisation de données.
Par exemple, le changement d'enregistrement dans "X" entraîne une nouvelle recherche dans "Y" correspondant aux nouvelles données de "X".

   Pour synchroniser la transaction "X" avec la transaction "Y", il faut prendre le contenu d'un ou plusieurs champ(s) de "X" pour le passer, via un système d'enveloppe appelé "paramètres de synchronisation", à "Y" qui réceptionne le contenu de ces paramètres dans ses propres champs.

   La gestion dans laquelle nous sommes, décrit ces relations : transaction, paramètres, champs.

   Pour annuler un paramètre de synchronisation standard :
       - le dupliquer pour le propriétaire TOUS ;
       - sélectionner "constante" dans le type de colonne ;
       - mettre "^" dans la colonne.

Données

   Transaction
   Il s'agit de l'identifiant de la transaction défini dans la gestion des transactions sur lequel on veut créer un paramètre de synchronisation.

   Pour les formes sélections des soumissions, il faut déclarer le paramètre de synchronisation sur la transaction de la soumission principale.

   Paramètre de synchronisation
   Il s'agit du nom du paramètre de synchronisation qui doit exister dans GPSN.
Il n'est pas lié à la transaction, mais il doit être commun aux transactions que l'on synchronise afin de propager la valeur.

   Bloc
   Il s'agit du nom du bloc que l'on veut synchroniser.

   Le bloc est le nom technique représentant une partie de la transaction (réservé aux programmeurs). Ce bloc doit être renseigné pour les gestions et consultations graphiques uniquement. Pour les gestions classiques, il n'est pas nécessaire de préciser le bloc.

   Colonne
   Il s'agit du champ, d'un symbole ou d'une constante pour lequel l'information de synchronisation va être lue ou passée.
Dans la transaction appelante, le champ correspond :
   - au nom de la colonne à lire et à passer aux formes synchronisées pour un type "champ" ;
   - à la valeur correspondant au symbole si le type est "symbole" ;
   - à cette valeur directement si le type est "constante". La constante '^' est un cas particulier : En réception si la valeur vaut '^', le paramètre de synchronisation ne sera pas traité. Cette méthode permet d'annuler un paramètre défini en standard.

   Dans la transaction appelée, le champ correspond au nom de la colonne qui doit recevoir l'information de la forme appelante.
Le nom de la colonne peut être retrouvé à l'aide de l'information sur le champ courant (ou propriétés du champ).

   Opérateur
   A la réception d'un paramètre de synchronisation (géré en entrée), la recherche se fera en fonction de cet opérateur. S'il n'est pas renseigné, la recherche se fera avec l'égalité.

   Type de colonne
   Indique quel type de donnée est contenu dans l'information "colonne" (champ FLDGTFPS).
Ce type peut être :
     - Champ : La valeur à passer en synchronisation est le contenu d'un champ de la transaction appelante pour un champ géré en sortie. En entrée, on ne peut utiliser que le type "champ" car il recevra la valeur du paramètre de synchronisation ;
     - Constante : La valeur saisie sera directement passée en synchronisation. Ce type n'est géré que pour les paramètres de synchronisation en sortie. Deux constantes sont gérées de manière particulière :
                     '^' : Qui permet d'éliminer un paramètre
                     'NULL' : Qui permet de faire une sélection sur un champ dont la valeur ne serait pas renseignée ;
     - Symbole : La valeur passée en synchronisation correspond au symbole saisi. Tout symbole doit commencer par '$'. Ce type n'est géré que pour les paramètres de synchronisation en sortie.
Voir liste des symboles.
Le symbole $LANG donne la langue courante de l'utilisateur de connexion.

   Propriétaire
   Le propriétaire correspond au propriétaire du paramètre de synchronisation d'une transaction.

   Plusieurs propriétaires possibles :
        - IFR : pour les paramètres de synchronisation standard ;
        - * : pour les paramètres de synchronisation créés par les clients. Ils sont prioritaires sur ceux du propriétaire IFR. Ils permettent de personnaliser les synchronisations pour une utilisation propre à chaque client ;
        - profil : pour les paramètres de synchronisation créés par les clients pour un profil fonctionnel. Ils sont prioritaires sur ceux des propriétaires IFR et * ;
        - utilisateur : pour les paramètres de synchronisation créés par les clients pour un utilisateur individuel. Ils sont prioritaires sur ceux des propriétaires IFR, * et profil.

   Sens
   Plusieurs cas sont possibles :
          - Entrée : indique que l'on reçoit la valeur provenant d'une autre transaction ;
          - Sortie : indique que l'on émet la valeur vers une autre transaction ;
          - Entrée/Sortie : indique que l'on peut recevoir et émettre la valeur de synchronisation. Ce cas est généralement choisi pour plus de souplesse.

   Technologie
   Ligne technologique dans laquelle est utilisé le paramètre de synchronisation pour la transaction.

   Valeur en entrée pour la synchronisation
   Cette information est prise en compte uniquement pour les paramètres gérés en entrée.
Si la synchronisation est activée (case cochée), elle permet :
        - de mettre à jour la valeur par défaut du champ et est proposée en création ;
        - d'exécuter la recherche au moment de la synchronisation en tenant compte de cette information.
Si la synchronisation n'est pas activée (case non cochée), seule la valeur par défaut sera affectée.

   Prise en compte de la valeur null
   En réception, si la valeur passée vaut "null", la recherche ne tient pas compte de cette valeur. Si cette case est cochée, la recherche va prendre en compte la valeur "null". Non géré actuellement en entrée des gestions et consultations graphiques.

   Champ en sortie du formulaire
   Information gérée seulement dans la ligne technologique Web.

   Indique si la valeur pour synchronisation en sortie doit provenir du champ du formulaire de saisie ou du champ du formulaire de recherche.
Cela donne la possibilité de gérer des synchronisations classiques, mais aussi de propager des critères de recherche d'une transaction vers une autre (les fourchettes dans les consultations par exemple).

   Ordre
   Si un champ ou une colonne a plusieurs paramètres de synchronisation en entrée, c'est celui qui a l'ordre le plus petit qui est récupéré en premier.

   Requête SQL à exécuter en sortie de la transaction appelante
   La valeur passée en sortie de la transaction appelante provient d'une requête SQL. Il est possible de prendre en compte les champs de la transaction appelante et des symboles dans les critères de sélection de cette requête. Cette requête ne peut retourner qu'une seule valeur.

   Exemple de codification :

   select ch1gtpar from gtpara where etsgtpar is null and padgtpar = #CO1TABLE# and isnull(occgtpar,'^') = isnull(#CO2TABLE[F]#,'^') and dt1gtpar = #$DATLOG#

   Principe :
- Les champs ou symboles à substituer doivent être entourés par des #.
- Si le champ entre les # commence par '$' : c'est un symbole.
   Les symboles autorisés sont :
       $LANG : Langue par défaut de l'utilisateur connecté
       $USER/$USR : Utilisateur de connexion
       $LOG/$DATLOG : Date logique
       $DATMIN : Date minimale
       $DATMAX : Date maximale
- Le mot-clé [F] après un nom de champ, indique qu'on exécute la requête même si le champ à traiter vaut "null". Attention dans ce cas, prévoir au niveau de la requête le cas où le champ n'est pas encore renseigné. Si on ne force pas la requête, le résultat de la requête retournera "null" tant que tous les paramètres nécessaires à l'exécution ne seront pas renseignés.
- Pour les gestions/consultations graphiques, il est possible de préciser le bloc auquel appartient le champ s'il ne fait pas partie du bloc du paramètre de synchronisation.
Exemple : #BGTITFGSLCT :NUMGTTRAD#
Si le bloc n'est pas renseigné, on va chercher le champ se trouvant dans le bloc défini dans la gestion des paramètres de synchronisation (BLKGTFPS).

   Requête SQL à exécuter en entrée de la transaction appelée
   La valeur récupérée par la transaction appelée (paramètre géré en entrée), provient du résultat de cette requête SQL. La requête peut utiliser la valeur passée par le paramètre de synchronisation et/ou des symboles. Il suffit de mettre le nom du paramètre de synchronisation ou le nom du symbole entre des # (voir l'exemple de codification ci-dessus).

   Paramètres standard

Transactions associées

   GTEPS - Exceptions pour paramètres de synchronisation

   GPSN - Référence des paramètres de synchronisation

Paramètres

   TYPGTFPS

Messages
   GTFPS051 - Un paramètre de synchronisation ne peut être qu'une seule fois en sortie

   GTFPS052 - Un champ ne peut pas avoir plusieurs paramètres de synchronisation en entrée

   GTFPS053 - Le bloc doit être renseigné pour une consultation ou une gestion graphique

   GTFPS055 - Le propriétaire IFR est interdit

   GTFPS056 - Modification/Suppression d'un paramètre de synchronisation impossible pour un enregistrement référence

   GTFPS061 - Le formulaire du champ en sortie doit être "F" (recherche) ou "C" (saisie)