On peut vous aider ?
Cherchez des réponses ou parcourez les rubriques de notre documentation
Intégration
Principe
Pour un modèle de campagne donné, les compartiments de formulaires correspondant aux versions paramétrées pour être intégrées vont mettre à jour les tables de stockages.
Réponses
Vous pouvez sélectionner les versions de réponses collectées en fonction de leur statut de validation et/ou de leur ordre de collecte.
- Statut de validation : Vous pouvez choisir de n’intégrer :
- que les réponses validées
- que les réponses invalidées
- toutes les réponses quel que soit leur statut de validation
- toutes les réponses sauf les réponses validées
- toutes les réponses sauf les réponses invalidées
- toutes les réponses sauf les réponses en attente de validation
- Sélection des réponses : Vous pouvez choisir parmi les options suivantes :
- Toutes les réponses
- Dernières par combinaison d’axes de validation : pour chaque entité, seule sera intégrée la dernière version par combinaison d’axes de diffusion et, le cas échéant, d’axes de validation supplémentaires (cf Types d’axes pour un rappel des différents types d’axes).
- Dernières par combinaison d’axes personnalisée : pour chaque entité, seule sera intégrée la dernière version en fonction des axes présents dans le formulaire. Définissez ces axes en cliquant sur le bouton « … » et en sélectionnant les axes voulus.
- Table de date d’arrêté : Table / vue contenant la date d’arrêté à utiliser pour sélectionner la campagne.
- Colonne source : champ de la table/vue contenant la valeur à utiliser comme date d’arrêté. Ce champ doit être un champ date. Si la table/vue contient plusieurs enregistrements, seul le premier est pris en compte.
- Colonnes à rajouter dans l’export : vous pouvez sélectionner une série de champs qui seront ajoutés dans les données à intégrer. Pour chaque champ coché, saisissez un nom de champ pour recevoir la valeur. Attention, les champs sélectionnés n’apparaîtront pas dans les scripts SQL des compartiments.
Voici la liste des champs pouvant être ajoutés :- Version de GTAnswer
- Date heure d’envoi de la réponse
- Date heure de réception de la réponse
- Statut de validation (0 = En attente, 1 = Validé, 2 = Invalidé)
- Commentaire de validation
- Date heure de validation
- Valideur, Date arrêté
- Utilisateur OS
- Domaine OS
- Version OS
- Email du répondant
- Date heure d’intégration
- Mode d’envoi de la réponse.
- Intégrer aussi les questionnaires envoyés sans réponses : Cette option permet d’intégrer les questionnaires auxquels les destinataires n’ont pas répondu. Cette option permet de profiter des contrôles de cohérence du questionnaire sir les données personnalisées, sans renvoyer de réponse.
- Intégration différentielle : si cette case est cochée, seules les entités ayant reçu de nouvelles réponses depuis la dernière intégration seront intégrées. Le statut de validation n’est pas pris en compte.
Données
Pour chaque compartiment du formulaire, vous pouvez sélectionner une ou plusieurs tables pour recevoir les données collectées.
Si vous souhaitez créer rapidement une table de stockage, vous pouvez afficher le script SQL de création de table contenant tous les champs du compartiment en effectuant un clic droit sur le compartiment puis, dans le menu contextuel, en sélectionnant l’élément « Script SQL du compartiment ».
Note : le script SQL est une aide à la création des champs mais n’a pas pour but de réaliser une table exploitable :
- le script fournit pour chaque champ un type détecté automatiquement en fonction des contraintes apposées au composant lors de la création du formulaire. Cependant, et notamment pour les champs issus d’une transposition et pouvant donc « croiser » différents composants, le type résultant peut ne pas être optimisé.
- le script ne générera pas de clé primaire ni aucune autre fonctionnalité de gestion d’intégrité.
Pièces jointes
Les pièces jointes collectées via des pièces jointes ascendantes ne sont pas intégrés dans les tables de stockage sous forme de BLOB : elles sont exportées vers un chemin réseau et la table de stockage recevra un champ contenant le nom de fichier complet ainsi que le répertoire dans lequel la pièce jointe collectée sera exportée.
Par défaut, les pièces jointes sont exportées dans une série de sous-répertoires contenant la date et le numéro de version, permettant de ne jamais écraser les fichiers exportés, mais vous pouvez spécifier le répertoire d’extraction. De façon optionnelle, vous pouvez également demander :
- la création d’un sous-répertoire contenant le nom de l’action
- la création d’un sous-répertoire contenant la date d’arrêté
- la purge du répertoire avant l’intégration.
En cas d’erreur à l’exécution
Ce paragraphe liste quelques méthodes permettant d’identifier la cause de la plupart des messages d’erreurs de GTServer lors de l’intégration.
Dans tous les cas, comme pour tous les types d’actions (lancement, intégration, restitution), l’action peut être copiée (bouton « Crééer une copie » dans GTClient) afin de pouvoir effectuer des modifications sur la copie (en général pour simplifier l’action) de façon à repérer plus facilement les causes de dysfonctionnement.
- Consultez les détails des messages d’erreur affichés dans GTClient
- Dans les tests de l’action d’intégration, effectuez toujours des tests avec au moins deux entités et vérifiez que l’action d’intégration puisse s’exécuter deux fois pour la même campagne, en intégrant au moins une réponse différente (nouvelle réponse).
- De manière générale lorsqu’une contrainte de la table d’accueil n’est pas respectée, construisez une copie de cette table en ne spécifiant aucune contrainte voire en modifiant les types des champs pour en donner de plus permissifs.
- Si une vue intermédiaire d’intégration est utilisée, créez une action d’intégration intégrant les données directement dans la table intermédiaire d’intégration (considérée comme table de destination finale pour cette action), quitte à purger la table au préalable et à mettre des champs pivots bidon : de cette façon, vous pourrez analyser les données de la vue intermédiaire d’intégration. Pour cela, copiez l’action d’intégration et pour les compartiments posant problème, spécifiez comme table finale la table intermédiaire d’intégration et n’utilisez plus ni table intermédiaire d’intégration ni vue intermédiaire d’intégration pour ces compartiments.
- Si une erreur s’est produite lors de l’intégration, et si l’erreur provient de l’insertion des données par GTServer dans la première table (que celle-ci soit la table intermédiaire d’intégration ou la table créée par GTServer créée à partir de la table finale d’accueil des données), les données sont dumpées par GTServer dans des fichiers CSV dans un sous-répertoire du répertoire de l’instance accueillant les fichiers temporaires. Si vous êtes amenés à ouvrir ces fichiers, pensez à les fermer avant de valider la boîte de visualisation de l’erreur. Enfin, en ouvrant des csv avec Excel, celui-ci va réinterpréter certaines données (modifier un 01 en 1, etc…)
- De façon à restreindre la volumétrie des données à intégrer pour affiner le diagnostic de manière confortable, vous pouvez éditer l’action d’intégration pour ne prendre en compte que les données validées, puis parmi les réponses, limitez-vous à ne validez que l’entité dont les données posent problème à l’intégration.
- Si des modifications de champ, etc.. ont eu lieu depuis la dernière modification de l’action de lancement, éditez une copie de l’action de lancement et vérifiez que vous pouvez valider cette action (certaines vérifications de cohérence seront effectuées par GTServer à la validation). vérifiez notamment dans une mise à jour sur champs clés que tous les champs à mettre à jour sont effectivement sélectionnés.
- Si la connexion à la base de donnée ne peut être effectuée, consulter le paragraphe des connexions de l’article Erreurs.
- Vérifiez l’ordre d’intégration des compartiments dans les tables (numéro à droite de l’association compartiment-table). Celui-ci doit respecter les contraintes d’intégrité référentielle inscrites dans les tables.
- Si des problèmes de performance se posent, essayez d’abord d’intégrer les données dans une table vide (quitte à utiliser l’option « Purger les données » de l’action d’intégration). Ajoutez des index (au mieux uniques) portant sur les champs pivots ou les champs clés. Des index couvrants peuvent également être utile notamment dans le cas de la mise à jour sur champs clés. Puis réessayez d’intégrer les données dans la table finale. Vous pouvez également déposer les données dans une table vide, puis alimenter la table finale au moyen d’une procédure stockée.
- Si un timeout apparaît lors de l’exécution des phrases SQL par GTServer, vous pouvez modifier la valeur du timeout pour l’attente d’exécution en client-serveur des commandes SQL via l’option de l’action d’intégration. Il est néanmoins toujours préférable de procéder au préalable à des optimisations en ajoutant des index sur les tables sources ou les tables de destination, en construisant des vues indexées etc, ou en limitant la volumétrie des données.