Reporting: het gebruik van boven-en ondergrenzen

0000000133     -      14-02-2022

Mercator laat toe om met variabelen "Boven-en Ondergrenzen" te werken in de SQL requests verbonden aan de instelbare documenten. Deze grenzen kunnen een interval van datum, magazijn (depot), gebruiker of vrije constanten zijn. Zo is het ook mogelijk een zelfde selectie te maken in de boomstructuur van "Rayons, familie,sub-familie".


  • Data : indien Mercator de variabelen @DATE_1 en @DATE_2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van datum kan worden ingegeven.
    Voorbeeld :
    select *
        from pieds_v
        where (date>=@DATE_1) and (date<=@DATE_2)

  • Maand : indien Mercator de variabelen @MOIS_1 en @MOIS_2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van maand kan worden ingegeven. (mm/aaaa)

  • Oefeningen : Indien Mercator de variabele @EXERCICE_1 et @EXERCICE_2 detecteert in de SQL-query, wordt er een dialoogvenster weergegeven waarin u het interval van het boekjaar kan ingeven.

  • Magazijn (depot)
    • per ID : indien Mercator de variabelen @DEPOT_ID1 en @DEPOT_ID2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van depot kan worden ingegeven..
      Voorbeeld :
      select *
          from pieds_v
          where (pieds_v.id_depot>=@DEPOT_ID1) and (pieds_v.id_depot<=@DEPOT_ID2)

    • per naam : indien Mercator de variabelen @DEPOT_1 en @DEPOT_2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van depot kan worden ingegeven. 
      Voorbeeld :
      select *
          from pieds_v
              inner join magasins on (magasins.id=pieds_v.id_depot)
          where (magasins.nom>=@DEPOT_1) and (magasins.nom<=@DEPOT_2)

  • Gebruiker (user)
    • per ID : indien Mercator de variabelen @USER_ID1 en @USER_ID2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van users kan worden ingegeven. 
      Voorbeeld :
      select *
          from pieds_v
          where (pieds_v.id_user>=@USER_ID1) and (pieds_v.id_user<=@USER_ID2)

    • per naam : indien Mercator de variabelen @USER_1 en @USER_2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van users kan worden ingegeven. 
      Voorbeeld :
      select *
          from pieds_v
              inner join users on (users.id=pieds_v.id_user)
          where (users.nom>=@USER_1) and (users.nom<=@USER_2)

  • Vertegenwoordigers
    • per ID : indien Mercator de variabelen @REP_ID1 en @REP_ID2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van vertegenwoordigers kan worden ingegeven.
      Voorbeeld :
      select *
          from pieds_v
          where (pieds_v.id_rep>=@REP_ID1) and (pieds_v.id_rep<=@REP_ID2)

    • per naam : indien Mercator de variabelen @REP_1 en @REP_2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van vertegenwoordigers kan worden ingegeven.
      Voorbeeld :
      select *
          from pieds_v
              inner join reps on (reps.id=pieds_v.id_rep)
          where (reps.nom>=@REP_1) and (reps.nom<=@REP_2)

  • Constanten : indien Mercator de variabelen @CONST_1 en @CONST_2 in de SQL request vindt, dan komt er een dialoogbox tevoorschijn waarin een interval van constanten kan worden ingegeven.
    Het bericht weergegeven in het dialoogvenster van interval moet worden gecodeerd in de eigenschappen: "Uitgangen - constante teksten". Als deze eigenschap is leeg, de standaardtekst "constante keuze ?" wordt weergegeven.
    Voorbeeld :
    select * 
        from pieds_v
        where (id_cli>=@CONST_1) and (id_cli<=@CONST_2)

  • Rayons/Famillie/Sub-famillie : Om de selectie van dit type actief te maken, moet de element FILTRE_RFS_1 (unieke waarden) of FILTRE_RFS_2 (intervallen) laten verschijnen in de clausule where ... and ... van de SQL Request
    Voorbeeld :
    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 :

    Als Mercator variabelen detecteert @PLAN_1, @PLAN_2, @PLAN_3 ou @PLAN4 in een verzoek van  SQL, een dialoogvenster die het mogelijk maakt Selecteer de overeenkomstige analytische plannen wordt gepresenteerd aan de gebruiker

    voorbeeld  :
    select *
        from lignes_c_ana
        where num_plan=@PLAN_1

  • Geografische positie : @POSITION_1 : informatie hier

  • Geopend verkoop / aankoop document : @BILLINGV_IDENT / @BILLINGA_IDENT
    voorbeeld:
    declare @billing_id char(10), @billing_journal char(5), @billing_piece bigint
    set @billing_id = left(@BILLINGV_IDENT,10)
    set @billing_journal = substring(@BILLINGV_IDENT,11,5)
    set @billing_piece = right(@BILLINGV_IDENT, 10)

  • Zie ook de informatiebestandseigen reeksen.

Mercator laat het gebruik toe van een enkele interval variabele (bijvoorbeeld: enkel DATE_1 en niet DATE_2). In dit geval zal de dialoogbox geen boven en ondergrens vragen maar slechts een enkele waarde.

Het is mogelijk om het combineren van verschillende intervallen van verschillende typen in een enkele verzoek.