U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Gebruik van de informatiebestandseigen reeksen

0000001047     -      11-11-2015

In Mercator kunnen informatiebestandseigen reeksen worden gebruikt in de verschillende rapportages gedefinieerd via "Tools / Parametrering Documenten". Deze reeksen kunnen in elk van de informatiebestanden worden gebruikt op basis van de ID, de 3 codes en de naam.

Dit zijn de constanten:

  • voor de klanten
    • CONST_C_ID_1 en CONST_C_ID_2
    • CONST_C_CLE1_1 en CONST_C_CLE1_2
    • CONST_C_CLE2_1 en CONST_C_CLE2_2
    • CONST_C_CLE3_1 en CONST_C_CLE3_2
    • CONST_C_NOM_1 en CONST_C_NOM_2
  • voor de artikels
    • CONST_S_ID_1 en CONST_S_ID_2
    • CONST_S_CLE1_1 en CONST_S_CLE1_2
    • CONST_S_CLE2_1 en CONST_S_CLE2_2
    • CONST_S_CLE3_1 en CONST_S_CLE3_2
    • CONST_S_MODELE_1 en CONST_S_MODELE_2

enzovoort voor elk informatiebestand in Mercator (GEN, ANA, PROJ, DEST, IMM, TACT, XLEAD, ...).

Mercator detecteert in de SQL-opdracht de aanwezigheid van één of meer van deze variabelen en geeft het (de) respectieve dialoogvenster(s) weer voor de invoer van deze constanten. De invoer ervan wordt gevalideerd op basis van de registraties in het onderliggende informatiebestand. De dropdownmenu's zijn van het type "combo", met andere woorden: men kan ze gebruiken als dropdownmenu, alsook als tekstveld voor klassieke invoer.

Voorbeeld van een opdracht:

select * from stock where (s_cle1>=m.CONST_S_CLE1_1) and (s_cle1<=m.CONST_S_CLE1_2) order by s_cle1

Dit systeem kan ook aan de parameterkeuze worden gekoppeld, want de vervanging van de strings $PARAMi$ gebeurt voor u de hierboven beschreven vensters oproept.

Bijvoorbeeld:

select * from stock where ($PARAM1$>=m.CONST_$PARAM1$_1) and ($PARAM1$<=m.CONST_$PARAM1$_2) order by $PARAM1$

Bijzonder geval voor de analytische rekeningen

Sinds de Mercator-versie 7.0.32 omvat het venster voor de selectie van de analytische reeksen nog een bijkomend dropdownmenu waarmee men vooraf een analytisch plan kan selecteren. Het nummer van het gekozen plan wordt automatisch opgeslagen in de globale variabele m.GLOBAL_A_PLAN. Hierdoor is het mogelijk om rekening te houden met het gekozen plan in de SQL-opdrachten:

where a_plan=?m.GLOBAL_A_PLAN

Wanneer men "<TOUS>" kiest, levert m.GLOBAL_A_PLAN nul op. Daarmee moet men dus rekening houden bij de opmaak van de SQL-opdracht door de SQL-opdracht bijvoorbeeld als volgt aan te passen (minder krachtige bepaling):

where ((case when ?m.GLOBAL_A_PLAN=0 then 0 else a_plan-?m.GLOBAL_A_PLAN end)=0)

Wenst u dat er standaard een plan wordt voorgesteld, dan volstaat het om m.GLOBAL_A_PLAN in de SQL-opdracht te laten volgen door het nummer van het gewenste plan. Als u bijvoorbeeld wilt dat plan 2 standaard wordt voorgesteld:

where a_plan=?m.GLOBAL_A_PLAN2

Opmerking: het maakt niet uit waar deze string GLOBAL_A_PLANi staat. Wilt u dat standaard "<TOUS>" geselecteerd wordt, dan moet u GLOBAL_A_PLAN0 gebruiken. Merk ook op dat dit extra cijfer dat wordt ingevoerd voor de standaardplanselectie, uit de opdracht wordt gehaald vooraleer ze uitgevoerd wordt. GLOBAL_A_PLAN moet steeds in hoofdletters worden geschreven. (Per opdracht kan slechts één enkele standaardplanwaarde worden gebruikt)