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 :
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.
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.
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.
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.
- Réduire/agrandir la table en utilisant le bouton à gauche de la croix.
![]()
- 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.
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.
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é).
![]()
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.
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.
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.
Reportez-vous à la documentation de Mise en oeuvre
La définition d'une requête se fait sur plusieurs onglets, dont seul le premier est obligatoire.
Présentation
Cette section présente les informations permettant d'identifier la requête, et des paramètres de portée générale.
Champs
Les champs suivants sont présents dans cet onglet :
| Ce code permet d'identifier une requête. |
| Permet de définir un intitulé associé à chaque fiche. |
| Cet intitulé, qui permet de donner une désignation à la fiche, est utilisé dans certains écrans ou états lorsqu'il n'y a pas assez de place pour visualiser l'intitulélong. |
Présentation
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.
Champs
Les champs suivants sont présents dans cet onglet :
Bloc numéro 1
| Sélectionnez cette case à cocher pour activer la fiche courante. Les enregistrements non sélectionnés conservent leur contenu et paramétrage, mais ne pourront pas être utilisés en rappelant leur code dans :
Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut. Elle est modifiable uniquement par un utilisateur autorisé, ou via un Workflow de signature. |
Bloc numéro 2
|   |
Présentation
Cet onglet, dont la saisie est optionnelle, permet de préciser :
Les conditions de jointure sont utiles dans les deux cas suivants :
Champs
Les champs suivants sont présents dans cet onglet :
Bloc numéro 1
| Permet de définir un nombre de lignes par page logique dans l'écran de consultation généré par le requêteur. Si ce nombre de lignes excède le nombre de lignes physiques affichables, un ascenseur apparaît à droite du tableau. Des boutons situés en haut de l'écran permettront de naviguer entre pages logiques (visualiser la suivante, précédente, dernière, première). |
| Le nombre de lignes maximum correspond à un paramètre de la requête (maxrows) qui arrête la recherche lorsqu'un nombre de lignes satisfaisant aux conditions a été trouvé dans la base (ces lignes seront ensuite triées, mais la base ne garantit pas que les N lignes trouvées sont les N premières dans l'ordre de tri). Il s'agit d'une optimisation permettant de limiter la charge pour la base de données. |
| Permet de figer les x premières colonnes d'un tableau en cas de pagination horizontale. |
| Utilisez ce champ pour arrêter la recherche après la période de temps indiquée (en secondes). Ceci permet d'éviter d'attendre trop longtemps dans le cas du paramétrage d'une nouvelle requête par exemple. Remarque : Contrairement au nombre maximum de lignes, cette information n'est pas transmise à la base de données. Le temps maximum peut donc pas être dépassé si la durée de la requête est trop importante. |
| Définit le code d'un état qui sera associé à la fonction Fichier / Liste à partir de la consultation des requêtes. S'il n'est pas renseigné, on utilise l'état ALISTE, qui proposera une mise en page par défaut. Il est possible de dupliquer cet état générique (il ne sera en principe nécessaire que de modifier la mise en page) pour créer des états parfaitement adaptés à la requête ainsi définie. Le code état saisi ici peut être associé à un ensemble de codes impression via la fonction dédiée. |
Tableau Sélections
| Permet de saisir des critères de sélection, qui sont des expressions logiques portant sur des champs des tables, et pouvant inclure des constantes, des fonctions, des opérateurs. Seuls les lignes des tables satisfaisant à ces conditions seront extraites. L'éditeur de formule permet de simplifier l'écriture de telles expressions. |
Tableau Liens
| Utilisez ce champ pour définir les liens qui ne sont pas définis dans le dictionnaire, ou qui doivent être considérés en priorité. La structure du lien doit correspondre à la clé du fichier à lier. Il doit y avoir autant de champs séparés par des points-virgules que de parties de clé. En effet, la syntaxe exacte est : [F:ABV1]CLE=expression1 ; expression2..., où :
Du point de vue de la base de données, cette syntaxe définit des jointures externes gauches. Il est à noter qu'une deuxième syntaxe vous permet de définir des jointures strictes (ce qui peut avoir un intérêt sur le plan des performances). On ajoute alors un tilde (~) à la syntaxe qui devient : [F:ABV1]CLE=expression1 ; expression2... |
Présentation
Utilisez cette section pour définir les conditions d'accès à la requête et aux données extraites.
Champs
Les champs suivants sont présents dans cet onglet :
| Utilisez ce champ pour gérer l'affichage d'une requête en consultation, avec les comportements suivants :
|
| Utilisez ce champ pour créer une classification des critères disponibles pour les requêtes. |
| Ce code d'accès permet d'interdire l'accès à la fiche courante pour certains utilisateurs. Si le champ est alimenté, seuls les utilisateurs qui ont des droits de lecture sur ce code d'accès peuvent visualiser l'enregistrement ; et seuls les utilisateurs avec des droits d'écriture peuvent le modifier. Le droit d'exécution contrôle le fait que l'on puisse exécuter la requête en question (en rafraîchissant la requête ou en modifiant les paramètres et en la ré-exécutant). |
| Permet de déterminer des filtres d'habilitation appliqués à la constitution de la requête. Ces filtres sont les filtres par site, par rôle, et par code accès. Les principes du filtrage sont les suivants :
Ceci suppose bien entendu que la table sur laquelle sont fait les filtres fasse partie de la requête générée. On entend par là la table où se trouvent les champs code accès, code site, et le cas échéant le champ défini par les rôles accordés à l'utilisateur. Il ne s'agit pas nécessairement de la table principale de la requête : une requête sur des lignes de documents peut être filtrée, par exemple, en fonction des autorisations liées aux champs des tables liées à l'en-tête du document. Attention : ces filtres sont appliqués uniquement lors du calcul de la requête, et en aucun cas lors de la consultation. Ceci peut être sensible si la requête est partagée, par exemple, ou si les filtres par site d'un utilisateur ont évolué entre le moment où la requête a été calculée et le moment où on la visualise. |
| Utilisez ce champ pour lier les autorisations d'accès à la requête aux autorisations données sur la fonction. Le principe en est le suivant : à l'entrée dans la requête, on vérifie que la fonction liée est autorisée à l'utilisateur (pour au moins un site, si l'habilitation sur cette fonction se fait par site). Cette vérification est faite uniquement dans le cas où cette requête n'est pas partagée. En effet, si la requête est partagée, on part du principe que les habilitations de la personne ayant calculé la requête s'appliquent et se propagent à tous ceux qui ont le droit de la visualiser. Il est donc nécessaire de définir avec précaution les habilitations aux requêtes partagées, lorsqu'elles concernent des données sensibles. Ceci est possible via le code d'accès situé dans cette section. |
Présentation
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.
Champs
Les champs suivants sont présents dans cet onglet :
Bloc numéro 1
| Cet indicateur définit comment les données sont représentées à l'écran. Les possibilités sont les suivantes :
|
| Utilisez ce champ pour organiser la relation entre le caractère et le graphique, lorsque le mode de représentation des données autorise les deux. Selon le contexte :
|
Bloc numéro 3
| Image détaillant les informations saisies précédemment. |
Graphique
| Ce champ est utilisé lorsqu'il existe plus d'une valeur numérique dans le tableau pouvant être représentée sous forme graphique. Ce champ peut afficher deux valeurs :
|
| Lorsque plusieurs séries sont représentées dans le graphique (à condition que la présentation de toutes les séries soit identique et non par 'secteur'), vous pouvez indiquer comment les valeurs des séries sont combinées, selon les valeurs suivantes :
|
| Ce champ définit la représentation graphique appliquée aux données présentées (Barres, Lignes, Aires, Secteurs). Une image s'affiche, en fonction du choix effectué, illustrant le type de présentation obtenu. Si une seule série de valeurs est disponible, la représentation graphique est fixée par défaut par ce paramètre. Si plusieurs séries de valeurs sont disponibles, il est possible de mélanger les modes de présentation (une série en barres, une autre en lignes, par exemple). Dans ce cas, la représentation de chaque série de valeurs dépend du champ Représentation du tableau des champs :
Si la représentation des séries est homogène (une seule série existe dans le graphique), un sélecteur est disponible pour le type de graphique, vous permettant de sélectionner un mode de présentation différent. |
Bloc numéro 4
Les champs suivants sont présents dans la fenêtre ouverte par ce bouton : Bloc numéro 1
Bloc numéro 2
Ce bouton permet de recopier la définition de la fiche depuis ou vers un autre dossier. |
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. |
Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :
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.
On a donné dans une expression une formule de calcul incluant des champs d'une table qui n'est pas en ligne.
La table ou le champ n'existent pas dans le dictionnaire.
Un champ est indicé avec une valeur qui dépasse la dimension du champ.
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é.
On essaye de rajouter un champ dans les champs sélectionnés, mais ce champ existe déjà.
Le composant flash a renvoyé une action non gérée par le superviseur
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
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é.
Le lien n'a pas été définie sur tous les champs de la clé.
On essaye de faire un lien sur champ qui ne fait pas partie d'une clé.
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.
Il n'est pas possible d'utiliser un champ de type clob ou blob dans les expressions des champs sélectionnés