Categorieën

Extra (filter)condities gebruiken bij aanpassen weergave

Met de actie Weergavesets (alle) in de browser is het mogelijk om zelf (extra) tabellen aan de query toe te voegen. De velden uit de gekoppelde tabellen kunnen vervolgens bijvoorbeeld als kolom in de weergave worden opgenomen en worden gebruikt in de grafische rapportages.

De manier waarop de tabellen aan elkaar gekoppeld worden, geef je in de weergave aan in het veld ‘Conditie’. Het is hierbij tevens mogelijk om in hetzelfde veld een harde (filter)conditie op te nemen, waardoor in de betreffende weergave uiteindelijk alleen bepaalde records zichtbaar zijn. Voordeel van (hard) filteren via de weergave, is dat je hiermee kunt sturen welke records een eindgebruiker wel en niet mag benaderen.

Bijvoorbeeld:

Een weergave in de browser met Subprojecten (MPRSUB) waarbij alleen de subprojecten van projectgroep X worden getoond en waarbij het debiteurrecord (db01) is gekoppeld:


Figuur 1a: harde filterconditie in de weergave (oude situatie)

In dit voorbeeld ziet de uiteindelijke query van de weergave er dan als volgt uit:

each pr06 where pr06.pr-ba = “1000” and pr06.actief = “yes”,

first pr01 where pr01.pr-ba = pr06.pr-ba and pr01.pronr = pr06.pronr and pr06.prgrp = “X”,

first db01 where db01.bedr-cd = “” and db01.debnr = pr01.debnr

Wanneer er meerdere tabellen in de query zijn opgenomen is het in bepaalde situaties efficiënter om het filtercriterium op een specifieke plaats in de query neer te zetten. Hierdoor zal de weergave beter performen. In dit voorbeeld heeft het filtercriterium betrekking op een veld uit de tabel pr06. Deze tabel is standaard al opgenomen in de weergave. Daarom is het beter om het criterium in het eerste gedeelte van de query te laten opnemen.

Om dit in de weergave goed in te stellen gebruik je het veld ‘Extra conditie’. In dit veld kunnen de harde filtercondities worden vastgelegd, waarbij het mogelijk is om aan te geven op welke plek de conditie in de query moet worden opgenomen.

In het voorbeeld kan dit worden bereikt door onderstaande instelling te gebruiken:


Figuur 1b: harde filterconditie in de weergave (nieuwe situatie)

De uiteindelijke query van de weergave wordt dan in dit voorbeeld:

each pr06 where pr06.pr-ba = “1000” and pr06.actief = “yes” and (pr06.prgrp = “X”),

first pr01 where pr01.pr-ba = pr06.pr-ba and pr01.pronr = pr06.pronr,

first db01 where db01.bedr-cd = “” and db01.debnr = pr01.debnr