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

Wijzigingen bewaren in verschillende grids vertrekkende vanuit versie 10.1

0000002723     -      28-07-2017

Mercator 10.1 bevat een functionaliteit om wijzigingen in de informatiebestanden op te volgen, waaronder enkele grids. Dit is een belangrijke verandering in de manier waarop Mercator de gegevens uit de rasters bewaard.

  • ARTFOU = SigGrids.ArtFou
  • TARCLI = SigGrids.TarCli
  • TARPREST = SigGrids.TarPrest
  • ARTLIENS = SigGrids.ArtLiens
  • ANALIENS = SigGrids.AnaLiens
  • IMMDATA = SigGrids.ImmData

Vroeger verwijderde Mercator alle data uit de grid en bouwde deze grid die opnieuw op bij het bewaren van een informatiebestand. Nu gaat Mercator via de sequentie « delete / update / insert », veel dichter bij de realiteit, na een bulk gaat de inhoud naar een tijdelijke SQL-tabel.

Bijvoorbeeld voor het tabblad Leveranciers uit de artikelfiche.

delete ARTFOU where (id_art=@id) and not exists(select * from #artfou_tmp where (artfou.id_art=#artfou_tmp.id_art) and (artfou.id_artfou=#artfou_tmp.id_artfou)) 

update ARTFOU set ID_FOU=#artfou_tmp.ID_FOU,REF_FOU=#artfou_tmp.REF_FOU,PRIX=#artfou_tmp.PRIX,REMISE=#artfou_tmp.REMISE,ID_DEV=#artfou_tmp.ID_DEV,N_DEC=#artfou_tmp.N_DEC,PRINCIPAL=#artfou_tmp.PRINCIPAL,condit_v=#artfou_tmp.condit_v,condit_a=#artfou_tmp.condit_a,COL_TARI=#artfou_tmp.COL_TARI,Q_EGAL=#artfou_tmp.Q_EGAL,Q1=#artfou_tmp.Q1,Q2=#artfou_tmp.Q2,PRIX1=#artfou_tmp.PRIX1,PRIX2=#artfou_tmp.PRIX2,REM1=#artfou_tmp.REM1,REM2=#artfou_tmp.REM2 from #artfou_tmp where (artfou.id_art=#artfou_tmp.id_art) and (artfou.id_artfou=#artfou_tmp.id_artfou) 

insert into ARTFOU (ID_ART,ID_FOU,REF_FOU,PRIX,REMISE,ID_DEV,N_DEC,ID_ARTFOU,PRINCIPAL,condit_v,condit_a,COL_TARI,Q_EGAL,Q1,Q2,PRIX1,PRIX2,REM1,REM2) 
                select ID_ART,ID_FOU,REF_FOU,PRIX,REMISE,ID_DEV,N_DEC,ID_ARTFOU,PRINCIPAL,condit_v,condit_a,COL_TARI,Q_EGAL,Q1,Q2,PRIX1,PRIX2,REM1,REM2 from #artfou_tmp where not exists(select * from ARTFOU where (artfou.id_art=#artfou_tmp.id_art) and (artfou.id_artfou=#artfou_tmp.id_artfou)) 

 

Daarom: Indien de triggers ON INSERT et ON DELETE geïnstalleerd zijn op deze tabellen, is het misschien noodzakelijk om ON UPDATE te voorzien.

We herinneren u eraan dat een goed ON  UPDATE-trigger niet altijd afgaat, maar na meerdere tests van dit type:

if update(macolonne)

Het is misschien noodzakelijk om verschilende instellingen in dit opzicht te bekijken.

Dit geldt voor alle 10.1 Mercator-assemblies, zelfs indien de voucher niet versie 10.1 bevat.