Requêteur graphique

Présentation générale

Utilisez cette fonction pour créer des écrans d'interrogation faisant apparaître le résultat de requêtes effectuées sur la base de données. Le requêteur fonctionne par extraction temporaire de données dans une table, puis consultation de cette table. La consultation peut ensuite concerner plusieurs niveaux de détail, définis par des ruptures successives.

La structure de cette table temporaire est conçue pour que chaque utilisateur y conserve les résultats de la dernière requête effectuée (sauf si c'est une requête partagée). L'utilisation de cette fonctionnalité implique trois étapes différentes :

  • définition de la requête dans cette fonction.
  • lancement de la requête (soit par le bouton Execute, soit par la fonction de consultation et la requête d'actualisation des données).
  • interrogation de la requête si elle a déjà été exécutée.

Une requête peut être constituée à partir de champs de table ou d'expressions.

Les jointures entre les tables sont déterminées automatiquement à partir du dictionnaire, mais il est possible de les définir explicitement en glissant-déplaçant un champ d'une table vers une autre. Il est nécessaire, au préalable, que le champ Destination fasse partie d’une clé.

Il est important de noter que deux outils complémentaires existent : Un requêteur équivalent à celui-ci mais en mode tableau, et un requêteur SQL utilisant des écrans d'interrogation similaires, mais visant à concevoir des requêtes basées sur le langage SQL.

Prise en main de l'interface

La zone de création de requêtes est constituée d'une palette flottante, d'un espace de conception du modèle, et d'une zone de dépôt des champs sélectionnés.

La palette flottante

Elle regroupe les boutons :

  • Table : Ouvre une liste de sélection pour ajouter une table.
  • Expression : Ouvre l'assistant de formule pour ajouter une expression.
  • Supprimer : Réinitialise la requête.
  • Actif : Case à cocher permettant d'afficher ou non les codes des champs en plus des libellés.
L'espace de conception du modèle
Les tables

C'est dans cet espace que les tables ajoutées sont représentées avec leurs jointures.

Pour ajouter une table, cliquez sur le bouton 'Table' de la palette flottante.

Les actions possibles sur une table sont :

  • Supprimer la table en cliquant sur la croix en haut à droite de la table. Attention : une table ne peut être supprimée qu'après avoir supprimé tous ses liens et retiré tous ses champs de la zone de dépôt.
    ../FCT/GESALT_01_01.jpg
  • Réduire/agrandir la table en utilisant le bouton à gauche de la croix.
    ../FCT/GESALT_01_01.jpg  ../FCT/GESALT_01_02.jpg
  • Déplacer la table en maintenant le clic sur la barre de titre ou la barre inférieure.
  • Redimensionner la table en l'étirant par le coin inférieur droit.
    ../FCT/GESALT_01_03.jpg
Les jointures

Les jointures qui n'ont pas été créées en automatique peuvent être créées glissant-déplaçant le champ de la table source vers le champ de la table cible. Une jointure de type externe gauche est alors créée.

Un clic sur une jointure fait apparaitre un menu permettant de changer son type (externe gauche ou interne) ou de la supprimer.

Arrière-plan

Un glisser-déplacer dans un emplacement libre de l'espace de conception permet de repositionner cet espace. Un double-clic permet de replacer l'espace de conception par rapport à son origine.

../FCT/GESALT_01_04.jpg

La zone de dépôt

La zone de dépôt permet de :

  • Visualiser les champs sous forme de vignettes.
  • Modifier l'ordre et les propriétés (tri, cumul, bornes, visibilité) de celles-ci.
  • Gérer les expressions.
  • Gérer les ruptures de la requête.
Ajouter un champ

Pour ajouter un champ de table, double-cliquez sur celui-ci ou faites un glisser-déplacer du champ vers la zone de dépôt.

Ajouter une expression

Pour ajouter une expression, cliquez sur le bouton Expression de la palette flottante.

Editer une expression

Cliquez sur le libellé de l'expression pour ouvrir la fenêtre de propriétés correspondante.

Modifier les propriétés d'une vignette

Cliquez sur les icônes pour modifier la valeur des propriétés. Un affichage estompé indique une négation de la valeur (exemple: non trié).
../FCT/GESALT_02_02.jpg  ../FCT/GESALT_02_03.jpg
Signification des icônes de gauche à droite : Visible, tri, cumul, saisie des bornes

Supprimer une vignette

Cliquez sur la croix en haut à droite de la vignette.
../FCT/GESALT_02_01.jpg

Déplacer une vignette

Cliquez sur le haut de la vignette et déplacez-la en maintenant le clic, puis relâchez à la position désirée. Les déplacements ne peuvent se faire que sur un même niveau.
../FCT/GESALT_02_01.jpg

Créer un niveau de rupture (groupe)

Cliquez sur le haut de la vignette et déplacez-la pour afficher les options disponibles. Faites glissez la vignette sur 'Créer un groupe' pour l'amener en tête d'un nouveau groupe.

Déplacer une vignette vers un niveau de rupture existant

Cliquez sur le haut de la vignette et déplacez-la pour afficher les options disponibles. Sélectionnez 'Groupe N', où N est le niveau du groupe, pour amener la vignette à la fin du niveau choisi.

Prérequis

See also Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

La définition d'une requête se fait sur plusieurs onglets, dont seul le premier est obligatoire.

En-tête

Cette section présente les informations permettant d'identifier la requête, et des paramètres de portée générale.

Onglet Champs

Utilisez cette section pour définir et regrouper les informations à éditer grâce à un éditeur visuel.

A partir de l'ensemble des informations définies dans cet éditeur, le requêteur détermine une requête sur des tables liées par des conditions de jointure. Ainsi, dans les cas simples, il n'est pas nécessaire de remplir les sections suivantes.

Onglet Avancé

Cet onglet, dont la saisie est optionnelle, permet de préciser :

  • des critères relatifs à la présentation des données (pagination, état utilisé...).
  • des critères de sélection complémentaires.
  • des conditions de jointure particulières.

Les conditions de jointure sont utiles dans les deux cas suivants :

  • si l'algorithme de jointure automatique n'aboutit pas. Ce cas est facile à diagnostiquer, car un message d'erreur explicite est affiché à la validation de la requête. Il suffit parfois de rajouer un lien vers une des tables dont les liens ne sont pas décrits dans le dictionnaire pour résoudre ce cas (les autres resteront déterminés automatiquement).
  • si l'algoritme de jointure lie les tables d'une façon non conforme à ce qui est attendu. En effet, dans des cas complexes, plusieurs liens peuvent exister entre des tables ; or l'algorithme s'arrête au premier lien trouvé. Pour vérifier que la jointure est conforme à ce que l'on attendait, on peut utiliser le bouton Infos / Liens, qui donne le détail des liens trouvés.

Onglet Accès

Utilisez cette section pour définir les conditions d'accès à la requête et aux données extraites.

Onglet Graphique

Cet onglet ne peut être rempli que si une présentation graphique est possible pour la requête. On définit alors la façon dont les données sont présentées sur le graphique.

Boutons spécifiques

Valider

Ce bouton génère un traitement associé à la requête, ainsi que l'écran de consultation dédié. Cette validation est enchaînée à l'enregistrement d'une fiche, mais il est possible de la lancer indépendamment si une requête a par exemple été transférée par copie.

Copie Ce bouton permet de recopier la définition de la fiche depuis ou vers un autre dossier.
Exécuter Permet le lancement de la requête courante. L'exécution se déclenche en mettant à jour une table temporaire, et chaîne sur la fonction de visualisation des requêtes, qui permet de visualiser le détail des mouvements, mais également d'agréger successivement sur les différents niveaux de rupture définis.
Affichage  

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie:

Trop de critères de tri

 
Trop de bornes
 
Trop de cumuls
Des limites sont dépassées dans la complexité de la requête. On limite en effet le nombre de critères de tri à 8, et le nombre de bornes et de cumuls à 10.
Table non définie
On a donné dans une expression une formule de calcul incluant des champs d'une table qui n'est pas en ligne.
xxx: Table inexistante
 
yyy: Champ inexistant

La table ou le champ n'existent pas dans le dictionnaire.

Indice incorrect
Un champ est indicé avec une valeur qui dépasse la dimension du champ.
Liens impossibles.
Les liens entre les tables n'ont pas pu être établis à partir du dictionnaire. Soit il y a une erreur dans la requête, soit il faudra préciser de façon détaillée les liens dans la section Avancé.
Ce champ a déjà été sélectionné.

On essaye de rajouter un champ dans les champs sélectionnés, mais ce champ existe déjà.

Action inconnue
Le composant flash a renvoyé une action non gérée par le superviseur.
Liens impossibles. Les zones doivent être de même type
Il n'est pas possible de faire des liens entre des champs de table de type différent. Par exemple : un champ numérique ne peut être lié à un champ de clé alphanumérique.
Lien impossible. Composante de clé déjà saisie
Dans le cas où on a commencé à établir un lien avec une clé d'une table, il faut faire des liens sur toutes les parties de cette clé. Ce message s'affiche si on essaye de faire un lien sur un champ qui ne fait pas partie de cette clé.
Lien impossible. Clé existante incomplète
Le lien n'a pas été définie sur tous les champs de la clé.
Lien impossible. Clé inexistante
On essaye de faire un lien sur champ qui ne fait pas partie d'une clé.
Il faut au moins un champ de type libellé et de type valeur pour utiliser le graphique
Quand le champ 'Représentation graphique' est activé, il faut, parmi les champs sélectionnés, en définir un pour l'intitulé des graphiques et au moins un pour le calcul des graphiques.
Type de donnée non géré
Il n'est pas possible d'utiliser un champ de type clob ou blob dans les expressions des champs sélectionnés

Tables mises en oeuvre

See also Reportez-vous à la documentation de Mise en oeuvre