Gestion des Requêtes
Les branches suivantes permettent d’accéder aux requêtes de DIAPASON :
La branche Requêtes par Type présente une liste de requête filtrée pour un type donné.
La branche Requêtes Tout Type présente toutes les requêtes de DIAPASON.
La branche Requête en erreur présente les requêtes en erreur tout type confondu.
Description de la Liste des Requêtes
Type Requête: Type de la requête.
Requête: Référence de la requête.
Désignation: Désignation de la requête.
Proc.: Colonne de type logique indiquant si la requête est une requête procédure.
Mot Directeur: Champ caractère libre permettant notamment de modifier l’ordre d’apparition des enregistrements de la liste, voir de filtrer les enregistrements …
Statut: Indique le statut de la requête, Disponible, Non Disponible, Bloquée, ….
Err: Indique si la requête présente une erreur de génération ou non.
War: Indique si la requête présente un avertissement de génération ou non (accès incorrect à une table, …). Valable sur les types REB , RCT et PSD.
Tra: Indique si l’exécution de la requête génère ou non une trace.
Niv. Niveau de trace affecté à la requête. Peut avoir pour valeurs :
0 : Pas de traces
1 : Traces requête
2 : Variables contextuelles et traces requête
3 : Toutes les variables et traces requête
Cart. Indique si on gère ou non un cartouche dans l’éditeur de saisie de requête
Modif.: Indique si on trace ou non les modifications dans l’éditeur de saisie de requête
Sous-type Requête: La notion de sous-type permet de ranger les requêtes d’un même type. L’utilisateur ne peut pas influer sur cette notion. Le sous-type est déduit du code même de la requête et notamment des listes standards utilisées dans le code. La notion de sous-type n’existe que pour les requêtes de type REB :
LPO: Référence de liste partagée objet utilisée par la requête.
Mod. LPO: Référence du modèle liste partagée objet utilisé.
Date Création: Information de type date correspondant à la date de création de l’enregistrement.
Heure Création: Information de type heure correspondant à l’heure de création de l’enregistrement.
Date Modification: Information de type date correspondant à la date de modification de l’enregistrement. Ce champ récupère toujours la date de dernière modification des informations de définition de la requête.
Heure Modification: Information de type heure correspondant à l’heure de modification de l’enregistrement. Ce champ récupère toujours l’heure de dernière modification des informations de définition de la requête.
Date Compilation: Information de type date correspondant à la dernière date de compilation de la requête.
Heure Compilation: Information de type heure correspondant à la dernière de compilation de la requête.
Description de la fiche des Requêtes
Onglet « Définition »
Type Requête: Zone obligatoire. Type de la requête. Saisie uniquement en création. Initialisé avec le type courant dans la branche « Requêtes Par Type » et non saisi dans ce cas. Les valeurs possibles sont décrites ci-dessous dans le chapitre Types de Requêtes.
Requête: Zone obligatoire. Référence de la requête. Saisie uniquement en création.
Etat: Uniquement en consultation. Etat de la requête. Les valeurs possibles sont :
Etat | Description |
I | Inconnu. Requête en cours de création. |
S | Supprimé logiquement. |
V | Valide. |
Désignation: Zone facultative. Désignation de la requête.
Mot Directeur: Zone facultative. Mot directeur de la requête. Permet de réaliser des tris et des recherches par un moyen autre que la référence.
Désignation Courte: Zone facultative. Désignation courte de la requête.
Famille: Zone facultative. Famille de la requête. La liste déroulante présente les familles de requêtes définies dans les paramètres utilisateurs (Requête/Familles Requêtes)
Sous-Famille: Zone facultative. Sous-famille de la requête. La liste déroulante présente les sous-familles de requêtes définies dans les paramètres utilisateurs (Requête/Sous-Familles Requêtes)
Gestion Version: Zone facultative. Permet d’indiquer si, lors de l’accès à la saisie de la requête, on souhaite ou non conserver la version courante en vue d’une récupération éventuelle.
Remarques :
La valeur logique du paramètre général « ML-GES-VER » donne la valeur par défaut de cette zone en création de requête.
Lors de l'importation d'une requête, si celle-ci existe déjà et que cette zone est cochée, la version de la requête avant importation est sauvegardée. Après importation , si on entre en saisie sur la requête importée, et qu’on abandonne la saisie, c'est la version sauvegardée qui est récupérée, c’est-à-dire la version avant importation.
Activation Trace: Zone facultative. Permet d’indiquer si, lors de l’exécution de la requête, on souhaite ou non générer une trace dans la fichier trace de diapason (server.log).
Remarque : La valeur numérique du paramètre général « ML-GES-VER » donne la valeur par défaut de cette zone en création de requête (1=Activation trace, autre=désactivation trace).
Comportement des instructions « ACTIVATION TRACE » et « DESACTIVATION TRACE » de DIALOG en fonction de la valeur de cette zone.
Drapeau Actif ? | Instructions Requête | Comportement |
Non | ACTIVATION TRACE non présent TRACE non présent | Aucune trace. |
Non | ACTIVATION TRACE non présent TRACE présent | Aucune trace. |
Non | ACTIVATION TRACE présent TRACE non présent | Aucune trace. |
Non | ACTIVATION TRACE présent TRACE présent | Aucune trace. |
Oui | ACTIVATION TRACE non présent TRACE non présent | Aucune trace. |
Oui | ACTIVATION TRACE non présent TRACE présent | Toutes les traces sont affichées (différence de comportement par rapport à ancienne version) |
Oui | ACTIVATION TRACE présent TRACE non présent | Aucune trace. |
Oui | ACTIVATION TRACE présent TRACE présent | Seules les traces entre les instructions ACTIVATION et DESACTIVATION TRACE sont affichées. |
Niveau de Trace: Liste déroulante permettant d’agir sur la traçabilité des requêtes. Le tableau ci-dessous détaille le comportement des traces par valeur :
Valeur | Désignation | Comportement |
0 | Pas de traces | Aucune trace. |
1 | Traces requête | Les traces entre les instructions ACTIVATION et DESACTIVATION TRACE sont affichées. |
2 | Variables contextuelles et traces requête | Les variables de type SCR, VCR, VBP sont tracées en début de requête de manière à présenter le contexte d’entrée. Les traces entre les instructions ACTIVATION et DESACTIVATION TRACE sont affichées. Les variables SCR, VCR, VBP ayant été modifiées dans le code de la requête sont tracées en fin d’exécution de la requête. Nota : pour les requêtes de type RDP les variables VPP et VPR sont prise en compte. |
3 | Toutes les variables et traces requête | Identique au niveau 2 sans restriction sur les types de variables. |
Activation Cartouche ?: Affichage ou non d’un cartouche au début de l’éditeur de saisie de la requête sous la forme
|
Objectif Requête: Saisie libre, obligatoire si Activation Cartouche est coché.
Contexte Exécution: Saisie libre, obligatoire si Activation Cartouche est coché.
Activation Modif. ?: Traçage ou non des modifications dans la requête DIALOG. Les différentes modifications définies pour la requêtes sont affichées dans le cartouche présenté dans l’écran de saisie de requête et ces modifications peuvent être insérées dans le contenu de la requête en utilisant les mots clés « DEBUT MODIF » et « FIN MODIF » :
Voir Gestion des Modifications.
Compilation Normale: Zone facultative. Permet d’indiquer le mode de compilation de la requête (Normal ou Etendu). Cochée par défaut.
Remarque : La compilation dite « Etendue » consiste à préprocesser le source généré et à compiler le résultat du préprocess ; ce qui entraîne un temps de compilation très long. Elle ne doit donc être utilisée que pour les requêtes présentant des problèmes de compilation relatifs à la taille du programme généré.
Procédure: Zone facultative. Permet d’indiquer si la requête est ou non une procédure (utilisée dans une autre requête). Certains types de requêtes ne permettent que la création de requêtes procédures :
Type Requête | Description |
GDL | Découpe Lignes de Commande |
GIC | Init. Entête de Commande |
GIL | Init. Ligne de Commande |
GRV | Recherche Vari_Article |
LOp | Init. OF par rapport à Série |
LOs | Init. OF par rapport à Série |
LOu | Init. OF |
LSE | Init. Série |
RA-AFE | Affichage Tableur Cdes. Four. |
RA-AFL | Affichage Tableur Lig.Cdes. Four. |
RA-AFO | Affichage Tableur Art/Fourn |
RA-ART | Affichage Tableur Article |
RA-CDC | Affichage Tableur Cde Commerciale |
RA-CDE | Affichage Tableur Commande |
RA-CLI | Affichage Tableur Client |
RA-DA | Affichage Tableur Dem. Ach. (DA) |
RA-DF | Affichage Tableur Dem. Fab. (DF) |
RA-LAN | Affichage Tableur Série |
RA-LCC | Affichage Tableur Lig.Cde Comm. |
RA-LIG | Affichage Tableur Ligne Commande |
RA-OF | Affichage Tableur OF |
RC-AFE | Critère/Tri Cdes Fournisseur |
RC-AFL | Critère/Tri Lig.Cdes Fournisseur |
RC-AFO | Critère/Tri Article/Fournisseur |
RC-ART | Critère/Tri Article |
RC-CDC | Critère/Tri Commande Commerciale |
RC-CDE | Critère/Tri Commande |
RC-CLI | Critère/Tri Client |
RC-DA | Critère/Tri Demande d'Achat |
RC-DF | Critère/Tri Demande de Fabrication |
RC-LAN | Critère/Tri Série |
RC-LCC | Critère/Tri Lig.Cde Commerciale |
RC-LIG | Critère/Tri Ligne Commande |
RC-OF | Critère/Tri OF |
RGG | Gamme Générique |
Liste Bases: Zone facultative. Liste des bases de données à utiliser dans le requête. Initialisée avec les bases de données principales de DIAPASON. Le bouton permet de sélectionner les bases de données qui seront visibles lors de la saisie de la requête.
Bases Génér.: Uniquement en consultation. Liste des bases de données effectivement utilisées dans la requête. Cette liste est issue de la génération de la requête.
Cohérence Bases: Uniquement en consultation. Indique si la liste des bases sélectionnées pour la requête est cohérente ou non avec la liste des bases effectivement utilisées dans la requête.
Remarque : Lors de l’exécution d’une requête, les bases connectées sont celles qui ont été sélectionnées ; si elle n’est pas cohérente avec la liste des bases effectivement utilisées, il risque d’y avoir des problèmes lors de son exécution.
LPO: Uniquement en consultation. Editeur présentant les liste partagées objets utilisées par la requête. Cette liste est issue de la génération de la requête.
Onglet « Commentaire »
Commentaire: Zone facultative. Commentaire associé à la requête.
Nom Prog.: Uniquement en consultation. Nom du programme généré pour la requête.
Date Création: Uniquement en consultation. Date de création de la requête.
Heure Création: Uniquement en consultation. Heure de création de la requête.
Util. Création: Uniquement en consultation. Utilisateur ayant créé la requête.
Date Modification: Uniquement en consultation. Date de dernière modification de la requête.
Remarque : Lors de chaque saisie de requête, cette date est mise à jour.
Heure Modification: Uniquement en consultation. Heure de dernière modification de la requête.
Remarque : Lors de chaque saisie de requête, cette heure est mise à jour.
Util. Modification: Uniquement en consultation. Utilisateur ayant effectué la dernière modification de la requête.
Remarque : Lors de chaque saisie de requête, cet utilisateur est mis à jour.
Date Compilation: Uniquement en consultation. Date de dernière compilation de la requête.
Heure Compilation: Uniquement en consultation. Heure de dernière compilation de la requête.
Date Blocage: Uniquement en consultation. Date du dernier blocage de la requête.
Uti. Blocage: Uniquement en consultation. Utilisateur en cours de saisie sur la requête lors de l’évènement ayant provoqué le blocage.
NOTA : les informations de blocage apparaissent aussi lors de l’accès en saisie sur une requête bloquée.
Actions sur les Requêtes
Listes Partagées Objet
Définition des LPO utilisées dans la requête. Une LPO est une liste DIALOG pouvant être partagée entre plusieurs requêtes (par exemple au sein de la gestion commerciale entre les GCC, GCA et GCL).
Voir le chapitre sur les LPO pour plus de détail.
Saisie requête: Cette action permet de renseigner le contenu de la requête via le macro-langage DIALOG (langage interne à DIAPASON). Voir application de saisie guidée
Consultation requête: Cette action permet d’accéder au contenu de la requête (code DIALOG) en consultation.
Consultation Problèmes Requête: Cette action n’est disponible que sur les requêtes pour lesquelles la colonne « Err » ou la colonne « War » sont cochées. Permet de consulter les erreurs ou les avertissements (problèmes dans la syntaxe des recherches sur les tables) issus de la génération.
Gestion des Modifications
Cette action n’est disponible que si « Activation Modif. » est coché sur la requête courante. Elle lance l’application de définition des modifications apportées à une requête. Cette application peut également être lancée depuis l’éditeur de saisie de requête.
Une modification se définit par :
Modif.: Référence de la modification. Obligatoire.
Sujet: Sujet de la modification
Description: Description de la modification
Date: Date de création
Heure: Heure de création
Utilisateur: Utilisateur créateur
Remarque : Les modifications peuvent être insérées dans le contenu de la requête par :
les actions sur l’éditeur de saisie
Insérer Modif. Début Avant
Insérer Modif. Début Après
Insérer Modif. Fin Avant
Insérer Modif. Fin Après
les mots clés
DEBUT-MODIF
FIN-MODIF
Cas d’Emploi dans le Studio
Cette action permet de visualiser pour la requête courante, les éléments du Studio DIAPASON qui l’utilisent et pour chacun de ces éléments, son utilisation dans la navigation Diapason et son utilisation dans l’ergonomie. Voir document « Indicateurs et Performances ».
Rechercher/Sélection et Rechercher/Tout
Fonction « Traçabilité du Vocabulaire Macro-Langage » (traitement TRA-REQ).
La recherche peut être effectuée de façon sélective (Rechercher / Sélection) ou globale (Rechercher / Tout). Cette action demande à l'utilisateur de saisir la chaîne recherchée parmi les requêtes désirées, puis de choisir le mode Batch ou Interactif. En mode interactif, le résultat de la recherche (trace du traitement) est affiché dans une fenêtre éditeur qui se présente comme suit :
Arborescence Enfants
Cette action permet d’afficher l’arborescence des sous-requêtes appelées par la requête. Les actions de « Saisie » et de « Consultation » de la requête sont disponibles sur chacune des branches de l’arbre.
Arborescence Pères
Cette action permet d’afficher l’arborescence inversée des requêtes et sous-requêtes appelant la sous-requête. Les actions de « Saisie » et de « Consultation » de la requête sont disponibles sur chacune des branches de l’arbre.
Données Globales
Cette action permet d’afficher la liste des données globales utilisées dans une requête. Les données globales sont les constantes globales, les variables spécifiques et les tables de valeurs.
Liste des données globales :
Donnée: Type de donnée globale (CGL : constante globale, TV : table de valeur, autre : variable).
Référence : Référence de la donnée globale.
Désignation : Désignation de la donnée globale.
Table : Pour une table de valeur.
Type : Type de la donnée globale (C : caractère, D : date, N : numérique, L : logique).
Dimension : Nombre d’indices dans le cas de données tableaux.
Actions disponibles :
Cas d’emploi:
Lancement d’une liste des requêtes utilisant la donnée globale.
Impression … Imprimer Requête
Imprime la requête courante via le document ISEdReq.
Impression … Imprimer Requête / Critères
Imprime une liste de requêtes définie par un type, et une fourchette de références.
Génération
Génération Requêtes
Génération de la requête courante.
Cette action lance le traitement « GEN-REQ » . Voir description traitement GEN-REQ.
Regénération Toutes Requêtes
Cette action permet de lancer le traitement « INS-REQ » en sélectionnant ce que l’on souhaite effectivement re-générer.
Lancement Génération Batch
Génération des requêtes sélectionnées (ou de la courante si aucune sélection) en batch.
Cette action lance le traitement « GEN-REQ » . Voir description traitement GEN-REQ.
Environnement EIA à Regénérer
Génération des requêtes, types de message, etc. à regénérer pour tout l’environnement EIA (Echanges Inter-Applicatifs).
Administration
Déblocage requête
Cette action a pour but de remettre la requête dans un statut permettant de la gérer (modification du contenu, génération). En effet une requête est dite bloquée si un arrêt brutal de la machine intervient en cours de saisie de la requête ou lorsque cette dernière est en cours de génération.
Visualisation Trace DIALOG
Cette action permet de ressortir les traces de toutes les requêtes exécutées depuis la dernière purge du fichier trace de DIAPASON (server.log).
Visualisation Trace Serveur
Cette action permet de ressortir toutes les traces issues de toutes les sessions de Diapason depuis la dernière purge du fichier trace de DIAPASON (server.log).
Historique Traces Serveur
Cette action permet de ressortir les différentes traces serveur archivées lors des traitements de purge du fichier trace de DIAPASON (server.log)
Activation Trace
Cette action permet d’activer la génération d’une trace lors de l’exécution de la requête dans le fichier trace de DIAPASON (server.log).
Remarque : Cette action remplace le mots-clé « ACTIVATION-TRACE » pouvant être inséré dans la saisie de requête.
Désactivation Trace
Cette action permet de désactiver la génération d’une trace lors de l’exécution de la requête dans le fichier trace de DIAPASON (server.log).
Remarque : Cette action remplace le mots-clé « DESACTIVATION-TRACE » pouvant être inséré dans la saisie de requête.
Consultation Version Précédente
Consultation de la requête avant la dernière modification. Cette action n’est possible que si la zone « Gestion Version » de la requête était cochée avant la modification.
Récupération Version Précédente
Annulation de la dernière modification. Cette action n’est possible que si la zone « Gestion Version » de la requête était cochée avant la modification.
Purge Trace Serveur
Permet de vider le fichier trace de DIAPASON (server.log) afin d’éviter qu’il ne prenne une taille trop importante qui entraînerait une consultation plus difficile des traces.
Il est possible de conserver l’historique des purges manuelles en renseignant la variable d’environnement « DIAP_CDE_PURLOG » de la façon suivante : cat &1 >> &1.0 ; > &1.
Ainsi, le contenu du fichier « server.log » est copié à la fin du fichier « server.log.0 » et le fichier « server.log » est remis à vide.
Extraction Contenu Brut
Permet d’extraire dans une trace le contenu sous forme de texte d’une sélection de requêtes pour les comparer. Exemple après sélection de la REB.AppRecBoi et de la REB.AppRetFou :
Activation Sources
Permet d’indiquer que lorsqu’on génère les requêtes, les sources générées sont conservées.
Désactivation Sources
Permet d’indiquer que lorsqu’on génère les requêtes, les sources générées ne sont pas conservées.
Simulation
Application de test de requête disponible sur les requêtes REN et REB :
Requêtes REN
Sur les requêtes de type « REN », quatre options de test sont disponibles : « Articles Standard », « Articles à la Commande », « Commandes Four. » et « Ordres de Fabrication ». Chaque action lance la sélection multiple des éléments correspondants (articles, commandes, OFs). La validation de la sélection lance le test qui donne le résultat décrit ci-dessous.
Requêtes REB
Sur les requêtes de type « REB », une seule option de test est disponible : « Test REB ». Cette action lance une fiche de saisie des critères utilisés dans la requête. La validation de la fiche des critères lance le test qui donne le résultat décrit ci-dessous.
Résultat: Le résultat « brut » est présenté dans un éditeur et comporte les rubriques suivantes :
Environnement Requête : informations générales indiquant la requête, le chemin du programme généré, le temps d’exécution, le détail des critères.
Trace d’exécution requête : l’effet des mots-clés « TRACE » exécutés.
Contenu des Listes : le contenu complet des listes utilisées dans la requêtes (via le mot-clé « CREATION-LISTE »).
Contenu paramétrage MFD : contenu du paramétrage transmis à WORD ou EXCEL.
Valeur des Variables : valeur de sortie des variables utilisées dans la requête (SCR, VCR, VBP).
Résultat formaté: Permet d’afficher les listes utilisées en fonction de leurs caractéristiques :
Exportation pour comparaison
Cette action permet de lancer le traitement d’extraction de requêtes.
Le résultat de ce traitement servira de référentiel pour la comparaison de requêtes.
Répertoire: Répertoire de génération du fichier d’exportation. Initialisé par défaut avec la valeur de la variable d’environnement DIAP_REP_EXP_COM. Si l’on gère une liste d’environnements pour l’exportation des requêtes (Variable d’environnement DIAP_LISTE_ENV), un répertoire correspondant à la variable d’environnement DIAP_SITE est ajouté à l’initialisation de ce champ. En résumé, la zone « Répertoire » est initialisé par :
DIAP_REP_EXP_COM (si DIAP_LISTE_ENV est vide)
DIAP_REP_EXP_COM/DIAP_SITE (si DIAP_LISTE_ENV n’est pas vide)
Fichier: Nom du fichier d’exportation. Doit au moins faire 5 caractères.
Commande système: Commande système exécutée en fin de traitement. Initialisée par défaut par la variable d’environnement DIAP_CDE_EXP_COM.
Comparaison de requêtes
A partir d’un fichier généré par l’action « Exportation pour comparaison », cette action permet de générer un environnement de comparaison entre les requêtes de l’environnement en cours d’utilisation et les requêtes du fichier généré.
Répertoire Req. Ori.: Répertoire racine qui a servi lors de la génération du fichier créé lors de l’exécution de l’action « comparaison de requêtes ». Initialisé par défaut avec la valeur de la variable d’environnement DIAP_REP_EXP_COM.
Environnement Ori.: Zone affichée uniquement si on a géré une liste d’environnements pour l’exportation : variable d’environnement DIAP_LISTE_ENV différente de vide. Elle présente cette liste sous forme d’une liste de sélection. Lors de la comparaison, DIAPASON ira chercher le fichier généré dans le répertoire correspondant.
Fichier Origine: Nom du fichier généré depuis l’environnement origine.
Répertoire Comp.: Répertoire racine de génération des fichiers à comparer. Initialisé par défaut avec la valeur de la variable d’environnement DIAP_REP_COMPAR.
Commande système extraction fichier origine: Commande système de comparaison en interactif. Initialisée par défaut par la variable d’environnement DIAP_CDE_COMPAR.
Commande système comparaison en mode interactif: Commande système de comparaison en interactif. Initialisée par défaut par la variable d’environnement DIAP_CDE_ COM_IN.
Commande système comparaison en mode batch: Commande système de comparaison en batch. Initialisée par défaut par la variable d’environnement DIAP_CDE_ COM_BA.
Remarques
Pour avoir des performances optimales, utilisez dans les POUR CHAQUE et RECH des champs d'index, dans l'ordre de l'index, avec des égalités strictes. Sinon, préférer des conditions avec « SI » plus bas dans la boucle.
Il n'est pas obligatoire d'utiliser tous les champs de l'index, on peut utiliser seulement les premiers avec de bonnes performances.
Les conditions à base de « COMMENCE PAR », « CONTIENT », « > » sont moins performantes que celles à base de « = ».
De manière générale, éviter avec ces conditions (« COMMENCE PAR », « CONTIENT », « > ») les juxtapositions de conditions de type (POUR CHAQUE Cond1 ET Cond 2 ET Cond3...). Préférer des conditions avec « SI » plus bas dans la boucle.
Exemple :
POUR CHAQUE (Cond1) (Cond1 portant si possible sur une égalité stricte)
SI (Cond2)
SI (Cond3)
action
FB
FB
FB
Si vous faites une recherche sur un enregistrement précis selon des conditions qui suivent un index unique, utiliser RECH (Rechercher) plutôt que RECH PREM (Rechercher Premier).
Exemple :
RECH TBD/SOC DTD CDClient AVEC DTD CDClient.CliResRef = VLO.CliResRef ET DTD CDClient.CliGenRef = VLO.CliGenRef
action
FB
Possible car CliResRef+CliGenRef est l’index unique de la table CDClient.
Pour aider à la bonne rédaction des requêtes, les requêtes de type REB, RCT et PSD sont contrôlées lors de la génération et la colonne « War » vient se cocher pour les requêtes devant être contrôlées (La branche « Requêtes en warning » regroupe toutes les requêtes dont la génération a révélé au moins un avertissement). L’action « Consultation Problèmes Requête » (sur les requêtes n’étant pas en erreur de génération) présente la liste des avertissements :
Il est indiqué pour chaque avertissement :
Le type de problème sur la condition.
Recherche sans condition unique : une recherche « unique » doit respecter les champs d’un index unique de la table et leur ordre. Il est maintenant recommandé de faire des recherches « avec index »
Recherche sans référence société (manque /SOC) : une table dont le contenu dépend de la société doit être accédée par société (avec les mots-clés « /SOC »).
Recherche unique dans une table qui n’a pas de condition unique : certaines tables de DIAPASON n’ont aucun index unique, donc une recherche unique ne peut normalement pas aboutir, il faut utiliser « RECHERCHE PREMIER » dans ce cas-là.
Le numéro de ligne de l’instruction entre crochets.
L’instruction.