Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Utilisation des fourchettes

0000000133     -      21/01/2013

Mercator permet l'utilisation de variables "fourchettes" dans les requêtes SQL associées aux documents paramétrables. Ces fouchettes peuvent reprendre un intervalle de dates, de dépôts, d'utilisateurs ou de constantes libres. De même, il est possible de sélectionner une fourchette dans l'arborescence "Rayons/Familles/Sous-familles".

  • Dates : si Mercator détecte la variable m.DATE_1 et m.DATE_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de dates.
    Exemple :
    select *
        from pieds_v
        where (date>=m.DATE_1) and (date<=m.DATE_2)

    attention_Aruba A partir de la version Aruba, la syntaxe est légèrement différente lors de l'utilisation de variables : m.DATE_1 devient @DATE_1


  • Mois : si Mercator détecte la variable m.MOIS_1 et m.MOIS_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de mois. (mm/aaaa)

  • Dépôts : si Mercator détecte la variable m.DEPOT_1 et m.DEPOT_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de dépôts.
    En version DBF uniquement, il est conseillé d'utiliser la fonction UPPER pour faire des comparaisons de chaînes alphanumériques en majuscules seulement.
    Exemple :
    select *
        from pieds_v
            inner join magasins on (magasins.id=pieds_v.id_depot)
        where (magasins.nom>=m.DEPOT_1) and (magasins.nom<=m.DEPOT_2)

    attention_Aruba A partir de la version Aruba, vous disposez de variables supplémentaires : @DEPOT_ID1 et @DEPOT_ID2. Celles-ci vous renverront l'identifiant et non le libellé.


  • Utilisateurs : si Mercator détecte la variable m.USER_1 et m.USER_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle d'utilisateurs.
    En version DBF uniquement, il est conseillé d'utiliser la fonction UPPER pour faire des comparaisons de chaînes alphanumériques en majuscules seulement.
    Exemple :
    select *
        from pieds_v
            inner join users on (users.id=pieds_v.id_user)
        where (users.nom>=m.USER_1) and (users.nom<=m.USER_2)

    attention_Aruba A partir de la version Aruba, vous disposez de variables supplémentaires : @USER_ID1 et @USER_ID2. Celles-ci vous renverront l'identifiant et non le libellé.


  • Représentants : si Mercator détecte la variable m.REP_1 et m.REP_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de représentant.
    En version DBF uniquement, il est conseillé d'utiliser la fonction UPPER pour faire des comparaisons de chaînes alphanumériques en majuscules seulement.
    Exemple :
    select *
        from pieds_v
            inner join reps on (reps.id=pieds_v.id_rep)
        where (reps.nom>=m.REP_1) and (reps.nom<=m.REP_2)

    attention_Aruba A partir de la version Aruba, vous disposez de variables supplémentaires : @REP_ID1 et @REP_ID2. Celles-ci vous renverront l'identifiant et non le libellé.


  • Constantes : si Mercator détecte la variable m.CONST_1 et m.CONST_2 dans la requête SQL, une boîte de dialogue permet de choisir un intervalle de constantes.
    En version DBF uniquement, il est conseillé d'utiliser la fonction UPPER pour faire des comparaisons de chaînes alphanumériques en majuscules seulement.
    Le message affiché dans la boîte de dialogue d'intervalle peut être repris entre [ ], n'importe où dans la requête SQL.
    Exemple :
    select *
        from pieds_v
        where (id_cli>=m.CONST_1) and (id_cli<=m.CONST_2)
    [Pour quels clients ?]

    attention_Aruba A partir de la version Aruba, le texte devant apparaître ne doit plus être indiqué dans la zone reprenant la requête SQL. Il doit être encodé dans les propriétés : "Sorties - Textes constantes". Si cette propriété est à blanc, le texte par défaut "Choix constante ?" est affiché.


  • Rayons/Familles/Sous-familles : pour activer la sélection de ce type de fourchette, il faut faire intervenir FILTRE_RFS_1 (valeurs uniques) ou FILTRE_RFS_2 (intervalles) dans la clause where ... and ... de la requête SQL.
    Exemple :
    select stock.*,rayons.nom as rayon,familles.nom as famille,ss_famil.nom as ss_fam
        from stock
            left outer join rayons on (rayons.id=stock.s_id_rayon)
            left outer join familles on (familles.id=stock.s_id_famil)
            left outer join ss_famil on (ss_famil.id=stock.s_id_ssfam)
        where FILTRE_RFS_2 and (s_id>'1234')
        order by rayon,famille,ss_fam,s_cle1,s_modele

  • Plans analytiques : si Mercator détecte les variables m.PLAN_1, m.PLAN_2, m.PLAN_3 ou m.M_PLAN4 dans une requête SQL, une boîte de dialogue permettant de sélectionner les plans analytiques correspondants est présentée à l'utilisateur.(version min. 7.0.36)
    Exemple :
    select *
        from lignes_c_ana
        where num_plan=?m.PLAN_1


Mercator permet l'utilisation d'une seule variable d'intervalle (par exemple, uniquement DATE_1 et pas DATE_2). Dans ce cas, la boîte de dialogue ne demandera pas à l'utilisateur les deux bornes d'un intervalle, mais une seule valeur.

Il est possible de combiner au sein d'une même requête plusieurs intervalles de types différents.