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

Hiërarchische categorieën in de informatiebestanden

0000003060     -      17-01-2022

Mercator 10.10 of later maakt het mogelijk om het begrip hiërarchie toe te voegen aan de categorieën van de informatiebestanden. Zoals bij rayons, families en subfamilies kan een categorie 3 dus de child worden van een categorie 2 en een categorie 2 als parent een categorie 1. Dit geldt voor de categorieën van alle informatiebestanden (ook al zijn onze voorbeelden beperkt naar de artikelcategorieën).

Om deze functie te installeren, voegt u onderstaande kolom toe aan de gewenste categorieëntabel (CAT_CLI, CAT_FOU, CAT_STCK, ...)

alter table CAT_STCK add ID_PARENT char(10) not null default ''

en dan, na een herstart van Mercator, "Geavanceerde Tools / SQL Databank / Structuur Controleren" uitvoeren.

Zodra dit is gebeurd, zal Mercator automatisch een kolom "Parent" toevoegen in het categorieënscherm vanaf niveau 2.

cat_parent_nl

Het is niet verplicht om alle niveaus te laten deelnemen aan het nieuwe hiërarchisch gedrag. Het is mogelijk om het maximale niveau te definiëren. Mercator zal hier automatisch mee rekening houden.

  • Alle categorieën tussen 1 en dit maximale niveau zullen reageren op dit hiërarchisch gedrag.
  • Categorieën boven dit maximum blijven onafhankelijk van elkaar functioneren (alsof de functie niet geïnstalleerd is).

Dit maximale niveau wordt gedefinieerd via:

Zoom
int maxCatTypeWithParent = MercatorUi.Sig._SigsStatic.SigByModule(MercatorUi.Sig._SigEnum.STOCK).MaxCatTypeWithParent;

 

Dit gedrag is van toepassing op:

In het laatste geval, voor niveaus tussen 2 en het benoemde maximum, wordt de lijst met categorieën weergegeven in de vorm van een boomstructuur die het mogelijk maakt om de beschikbare categorieën en de bovenliggende categorieën te visualiseren.

cat_multi_parent_nl

Belangrijke opmerkingen:

  • Vanaf dat een child categorie wordt gebruikt in een informatiebestand is het niet meer mogelijk om de parent te wijzigen. Het is dus nodig om deze categorieën goed in te stellen.

  • Op dit moment is deze functie nog niet beschikbaar in MercatorPenguin.

  • Bij een import (Excel) van gegevens met de hiërarchische categorieën (gewone of multi), indien categorie n geïmporteerd wordt, is het verplicht om categorie 1 en de voorgaande categorieën tot 1 ook te importeren. Hierdoor kan Mercator controleren of de boomstructuur gerespecteerd wordt.

  • Hieronder vindt u enkele voorbeelden van SQL query's waarmee u een lijst kan trekken van artikels die de structuur van meerdere categorieën (hier van 1 tot 3) niet respecteren. Dit laat ons toe om deze gegevens te corrigeren en de integriteit te behouden.
select distinct s_id from STOCK 
inner join CAT_STCK_MULTI CAT_STCK_MULTI2 on (CAT_STCK_MULTI2.ID_SIG=STOCK.S_ID) and (CAT_STCK_MULTI2.TYPE=2)
inner join CAT_STCK CAT_STCK2 on (CAT_STCK2.TYPE=2) and (CAT_STCK_MULTI2.ID_CAT=CAT_STCK2.ID)
and not exists(select * from CAT_STCK_MULTI CAT_STCK_MULTI1 where (CAT_STCK_MULTI1.TYPE=1) and (CAT_STCK_MULTI1.ID_CAT=CAT_STCK2.ID_PARENT))

select distinct s_id from STOCK 
inner join CAT_STCK_MULTI CAT_STCK_MULTI3 on (CAT_STCK_MULTI3.ID_SIG=STOCK.S_ID) and (CAT_STCK_MULTI3.TYPE=3)
inner join CAT_STCK CAT_STCK3 on (CAT_STCK3.TYPE=3) and (CAT_STCK_MULTI3.ID_CAT=CAT_STCK3.ID)
and not exists(select * from CAT_STCK_MULTI CAT_STCK_MULTI2 where (CAT_STCK_MULTI2.TYPE=2) and (CAT_STCK_MULTI2.ID_CAT=CAT_STCK3.ID_PARENT))

 Deze query's geven een lijst met ID's van de foute artikels.