Skip to main content
Skip table of contents

Conseils de rédaction des requêtes


Quelques conseils pour rédiger vos requêtes 🙂

  • 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


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.