Massaal wijzigen standaardeenheid van artikelen in Exact Online via SQL

Binnen Exact Online administraties hebben artikelen een standaardeenheid. Deze eenheid wordt bepaald bij het aanmaken en kan niet gewijzigd worden na het eerste gebruik.

Soms is het echter nodig om de standaardeenheid te wijzigen. De gangbare procedure is om de bestaande artikelen waar nodig af te sluiten en nieuwe artikelen op te voeren. Dit kan door bijvoorbeeld de oude artikelcode het voorvoegsel ‘H’ te geven en als einddatum gisteren in te stellen.

Vervolgens kunnen de nieuwe artikelen toegevoegd worden. Dat kan via een vooraf gemaakte XML-export die handmatig is gecorrigeerd of via een interface of handmatige invoer.

Het massaal hernummeren en afsluiten van artikelen kan met de volgende SQL-statements:

--
-- Selecteer administraties om te wijzigen.
--
use all

--
-- Schakel caches uit.
--
set use-http-disk-cache false

set use-http-memory-cache false

--
-- Geef alle artikelen die nog niet als historisch gekenmerkt zijn 
-- een voorvoegsel 'H' en vandaag als einddatum.
--
update exactonlinerest..items
set    enddate = trunc(sysdate) - 1
,      code    = 'H' || code
where  code not like 'H%'
limit  3500 /* Eventuele beperking per dag om het aantal API-calls niet te overschrijden. */

Tenslotte nog een woord van waarschuwing: zorg er voor dat de procedure zorgvuldig getest is in een aparte omgeving inclusief boekhoudkundige impact en dat het mogelijk is om de oorspronkelijke situatie te herstellen. Het massaal aanpassen van artikekelen wijzigt massaal data en dit artikel garandeert niet dat de boven beschreven oplossing de juiste aanpak is in alle situaties.