Mercator 7.2 of een latere versie biedt de mogelijkheid om tussen te komen in de uitgevoerde directe zoekopdrachten:
- klanten en artikels in de verkoopdocumenten,
- leveranciers en artikels in de aankoopdocumenten,
- klanten-, leveranciers-, algemene en analytische rekeningen in de boekhouding,
- de zones die overeenstemmen met gekruiste links tussen informatiebestanden.
(Dit soort module omvat geen zoekopdrachten waarin moet worden voldaan aan meerdere criteria.)
Een zoekmodule moet als volgt benoemd worden: sig_recherche en moet verplicht gecompileerd worden in fxp. (stock_recherche.fxp, cli_recherche.fxp, fou_recherche.fxp, gen_recherche.fxp, ...)
Deze module moet altijd een parameter aanvaarden voor de door de gebruiker ingevoerde waarde voor zijn zoekopdracht.
Vervolgens moet de module een zoekopdracht uitvoeren die moet leiden tot de productie van een alias genaamd recherche met dezelfde structuur als de hoofdtabel van het informatiebestand en die de gewenste registratie(s) omvat.
Deze alias wordt doorgaans, bijvoorbeeld voor artikels, gegenereerd met een commando van het volgende type:
- in DBF: select * from stock_x where ... into cursor recheche readwrite
- in SQL: zselect("select * from stock (NOLOCK) where ...","recherche")
Indien de gezochte alias bij het verlaten van de module niet werd gegenereerd, gaat Mercator door met de normale verwerking en dus met de gebruikelijke zoekopdracht.
Zie dit voorbeeld of dit voorbeeld.
Zie ook: Voorbeeld voor algemene rekeningen.
In het geval van een verkoop of een aankoop kan de artikelzoekmodule de
eenheidsprijs forceren. Daartoe volstaat het in de gezochte alias een numeriek veld FORCE_PRIX toe te voegen.
Voorbeeld: select *,1234.99 as force_prix from stock (NOLOCK) where ...
Zie dit voorbeeld.
In het geval van een verkoop of een aankoop kan de artikelzoekmodule de
hoeveelheid forceren. Daartoe volstaat het in de gezochte alias een numeriek veld FORCE_Q toe te voegen.
Voorbeeld: select *,12 as force_q from stock (NOLOCK) where ...
Zie dit voorbeeld.