SQL-Updater
© <2006-2012> TML bvba
19/03/2012
Certified add-ons © <2006-2012> TML bvba All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. Printed: maart 2012 in Ternat
Nog even het volgende... We doen ons uiterste best deze manual up-to-date te houden maar gezien de snelle aanpassingen en verbeteringen van het programma DBFACTw is dit niet altijd mogelijk . Wij raden u dan ook aan om op regelmatige basis de online helpfile te consulteren voor de laatste informatie. Door de continue evolutie van DBFACTw raden wij u tenslotte nog aan om minimaal 1 k eer per jaar een update cursus te volgen zodanig dat u van de vele uitbreidingen op de hoogte blijft en via DBFACTw de werk ing van uw bedrijf k an blijven optimaliseren. Veel succes met DBFACTw.
Contents
3
Table of Contents Foreword
Certified Add-Ons
0
4
1 SQL-Updater ................................................................................................................................... 4 Configuratie ......................................................................................................................................................... in DBFACT 4 Installatie SQL ......................................................................................................................................................... Updater 7 Installatie ......................................................................................................................................................... MySQL ODBC Driver 10 SQL Updater ......................................................................................................................................................... 13 Technisch......................................................................................................................................................... 15 Structuur .................................................................................................................................................. 15 SQL Script.................................................................................................................................................. 20
Index
© <2006-2012> TML bvba
0
4
Certified add-ons
1
Certified Add-Ons
1.1
SQL-Updater U werkt met DBFACT en wenst de informatie over uw artikelen ter beschikking te stellen van uw website? Met onze Module DBFACT2SQL-updater is dat snel geregeld. Deze module stelt u namelijk in de mogelijkheid om uit een lijst van velden te kiezen welke informatie u periodiek wenst ter beschikking te stellen van de database van uw website. Wanneer u de juiste velden heeft aangeduid, bewaart u deze selectie en wordt er door DBFACT volautomatisch een script aangemaakt dat de data exporteert. Dit script wordt door de Windows Taakplanner uitgevoerd wanneer en met een periodiciteit die u zelf kan kiezen. Wenst u een tweede of meerdere scripts aan te maken, ook dat is een mogelijkheid. Zo kan je de stamgegevens van een artikel dagelijks en de voorraad om het uur laten updaten. Wie echter met real-time en berekende informatie wenst te werken, kan kiezen uit de vele beschikbare webservices die zowat alle mogelijke informatie uit DBFACT kunnen aanbieden aan uw e-business site. Verder meer over het gebruik van deze module...
1.1.1
Configuratie in DBFACT Licentie / Rechten Om een SQL Updater script te kunnen genereren dient u over de module “SQL-updater” te beschikken die u kan aanvinken in de licentie op het tabblad “DBFACTw Certified Add-Ons”.
© <2006-2012> TML bvba
Certified Add-Ons
5
Alsook dient de gebruiker over het juiste recht te beschikken. Dit kan aangevinkt worden in het Rechtenbeheer scherm op het tabblad “Systeem” en daar de optie “Beheer SQL-updater configuratie”.
© <2006-2012> TML bvba
6
Certified add-ons
© <2006-2012> TML bvba
Certified Add-Ons
1.1.2
7
Installatie SQL Updater Om deze applicatie te bekomen dien je contact op te nemen met onze helpdesk. Zij bezorgen u de installer alsook de bijhorende licentie.
© <2006-2012> TML bvba
8
Certified add-ons
© <2006-2012> TML bvba
Certified Add-Ons
9
Meerdere instanties Wanneer u meerdere instanties wilt installeren kan u de map “sqlupdater” in het dossier gewoon kopieren naar het andere dossier (binnen dezelfde DBFACT map). Hou er wel rekening mee dat het configuratiebestand (website_sql_settings.xml) van de sql updater ook in deze map zit (indien je dit al gegenereerd hebt). Werkwijze Vanuit DBFACTw hebt u de mogelijkheid om een script te laten genereren. Deze zal door DBFACTw voorgedefinieerde tabellen opvullen. Deze configuratie kan u beheren via het menupunt 1.G.5 SQL Updater (direct menu 1319). De DBFACTw-licentie dient hiervoor wel goedgekeurd te zijn.
In het “Database” gedeelte dien je de verbindingsgegevens in te voeren. Bij driver dien je er wel rekening mee te houden dat je de driver effectief geinstalleerd hebt op de server. Het is handig om de connectie al eens te testen alvorens het script aangemaakt wordt.
© <2006-2012> TML bvba
10
Certified add-ons
Onderaan vind je een overzicht van de soorten gegevens die doorgestuurd kunnen worden. Bij artikels kun je selecteren welke velden specifiek dienen opgenomen te worden en dit door ze te markeren. Via het zoekvak rechts kan je op een eenvoudige en snelle manier velden opzoeken in de lijst. Vooraleer het script te laten genereren laat je de verbinding alsook de database best eens testen, om zeker te zijn dat de database compatibel is met wat DBFACTw verwacht. Wanneer je op de knop “Genereer script” klikt dan wordt er een configuratie bestand (website_sql_settings.xml) aangemaakt in de submap “sqlupdater” van het dossier waarin je op dit moment aan het werken bent. In dien deze map niet bestaat dan zal deze aangemaakt worden. Wanneer u eenmaal een script gegenereerd hebt dan zullen de instellingen van deze configuratie opgelaan worden zodat u bovenstaande gegevens niet telkens opnieuw moet invoeren.
1.1.3
Installatie MySQL ODBC Driver Ongeacht of u over een 32 of een 64-bit Windows systeem beschikt dient u de 32 bit ODBC driver van MySQL te downloaden. Deze kan u terugvindin in de downloadsectie van onze website.
© <2006-2012> TML bvba
Certified Add-Ons
© <2006-2012> TML bvba
11
12
Certified add-ons
© <2006-2012> TML bvba
Certified Add-Ons
1.1.4
13
SQL Updater Het zogenaamde opvullen van de SQL-tabel kan uiteraard manueel maar het lijkt ons logisch dat dit via een getimed event gebeurt. Indien u deze actie getimed wenst uit te voeren dan dient u dit in te plannen via de taakplanner in Windows. Manueel starten Wanneer u de SQL updater opstart zal deze automatisch gegevens beginnen door te sturen. Belangrijk om te weten is dat de SQL Updater enkel de gegevens zal updaten die gewijzigd zijn (met uitzondering van de keywords).
© <2006-2012> TML bvba
14
Certified add-ons
Logs Elke keer u deze applicatie opstart zal er een logfile worden weggeschreven naar de submap "logs". Taakplanner U kan de SQL updater in de taakplanner plaatsen zodat deze op geregelde tijdstippen(elke week/dag/uur) uitgevoerd wordt. Belangrijk is dat u "Beginnen in"-map instelt op de sql updater map (met voldoende rechten op de sql updater map en de dossier map) Protip
U dient de UNC padnamen te gebruiken. (vb: geen "N:\dbfact\" maar "\ \server-data\dbfact\").
© <2006-2012> TML bvba
Certified Add-Ons
1.1.5
Technisch
1.1.5.1
Structuur
De structuur van de tabellen die nodig zijn zien er als volgt uit: Artikel
Veldnaam
Datatype
Verplicht veld
artcode
INT
Ja
artnummer
VARCHAR(20)
volgnummer
VARCHAR(20)
groep
VARCHAR(5)
soort
VARCHAR(5)
omschrijving
VARCHAR(60)
omschrijving2
VARCHAR(60)
omschrijving3
VARCHAR(60)
omschrijving4
VARCHAR(60)
specificaties
TEXT
detailspecificaties
TEXT
type
VARCHAR(20)
merkid
INT
merk
VARCHAR(25)
stuknummer
VARCHAR(30)
opmerking
VARCHAR(35)
status
VARCHAR(20)
creatiedat
VARCHAR(8)
verwachtdat
VARCHAR(8)
stock
DECIMAL(14,5)
minimumstock
DECIMAL(14,5)
nominalestock
DECIMAL(14,5)
stockcontrole
VARCHAR(1)
© <2006-2012> TML bvba
15
16
Certified add-ons
stockplaats
VARCHAR(20)
veldc1
VARCHAR(40)
veldc2
VARCHAR(40)
veldc3
VARCHAR(40)
veldc4
VARCHAR(40)
veldc5
VARCHAR(40)
veldc6
VARCHAR(40)
veldn1
DECIMAL(14,5)
veldn2
DECIMAL(14,5)
veldn3
DECIMAL(14,5)
veldn4
DECIMAL(14,5)
veldn5
DECIMAL(14,5)
website
VARCHAR(1)
topseller
VARCHAR(1)
veldl3
VARCHAR(1)
veldl4
VARCHAR(1)
veldl5
VARCHAR(1)
boklant
DECIMAL(14,5)
boleverancier
DECIMAL(14,5)
btwpercentage
DECIMAL(4,1)
statist
VARCHAR(6)
kleur
VARCHAR(10)
maat
VARCHAR(10)
weblink
VARCHAR(150)
typeartikel
INT
typeartikelomsc
VARCHAR(20)
referentie
VARCHAR(30)
verkoopsverpakking
DECIMAL(14,5)
verkoopsaantal
DECIMAL(14,5)
minimumafname
DECIMAL(14,5)
fabrikant
VARCHAR(80)
inhoud
DECIMAL(14,5)
verpakkingsgewicht
DECIMAL(14,5)
verpakkingslengte
DECIMAL(14,5)
verpakkingsbreedte
DECIMAL(14,5)
© <2006-2012> TML bvba
Certified Add-Ons
verpakkingshoogte
DECIMAL(14,5)
artikellengte
DECIMAL(14,5)
artikelbreedte
DECIMAL(14,5)
artikelhoogte
DECIMAL(14,5)
lotnummerartikel
VARCHAR(1)
m3
DECIMAL(14,5)
veldd1
VARCHAR(8)
veldd2
VARCHAR(8)
veldd3
VARCHAR(8)
veldd4
VARCHAR(8)
veldd5
VARCHAR(8)
extrateksttaal2
TEXT
extrateksttaal3
TEXT
extrateksttaal4
TEXT
extratekstleverancier
TEXT
brutogewichtinkg
DECIMAL(14,5)
nettogewichtinkg
DECIMAL(14,5)
veldm1
TEXT
veldm2
TEXT
veldm3
TEXT
winkelincl
DECIMAL(14,5)
winkelexcl
DECIMAL(14,5)
dealer
DECIMAL(14,5)
promoactief
VARCHAR(1)
promoprijsexcl
DECIMAL(14,5)
promoprijsincl
DECIMAL(14,5)
promoprijsdealerexcl
DECIMAL(14,5)
promoprijsdealerincl
DECIMAL(14,5)
promoprijsminverkexcl DECIMAL(14,5) promoprijsminverkincl DECIMAL(14,5) promoprijsvan
VARCHAR(8)
promoprijstot
VARCHAR(8)
aanbevolenincl
DECIMAL(14,5)
basisexcl
DECIMAL(14,5)
minimumverkoopexcl
DECIMAL(14,5)
© <2006-2012> TML bvba
17
18
Certified add-ons
valutanetto
DECIMAL(14,5)
valuta
VARCHAR(5)
prijs1
DECIMAL(14,5)
prijs2
DECIMAL(14,5)
prijs3
DECIMAL(14,5)
prijs4
DECIMAL(14,5)
prijs5
DECIMAL(14,5)
bebat
DECIMAL(14,5)
recupel
DECIMAL(14,5)
auteur
DECIMAL(14,5)
reprobel
DECIMAL(14,5)
fostplus
DECIMAL(14,5)
leeggoed
DECIMAL(14,5)
anderekost
DECIMAL(14,5)
bebatinclbtw
DECIMAL(14,5)
recupelinclbtw
DECIMAL(14,5)
auteurinclbtw
DECIMAL(14,5)
reprobelinclbtw
DECIMAL(14,5)
fostplusinclbtw
DECIMAL(14,5)
leeggoedinclbtw
DECIMAL(14,5)
anderekostinclbtw
DECIMAL(14,5)
webarticle
VARCHAR(1)
webpromo
VARCHAR(1)
webpromostartdate
VARCHAR(8)
webpromoenddate
VARCHAR(8)
webidentitynumber
INT
webcategoryoms1
VARCHAR(30)
webcategoryoms2
VARCHAR(30)
webcategoryoms3
VARCHAR(30)
webcategoryoms4
VARCHAR(30)
webcolor
VARCHAR(10)
websize
VARCHAR(10)
webweblink
VARCHAR(150)
webmemo1
TEXT
webmemo2
TEXT
© <2006-2012> TML bvba
Certified Add-Ons
webmemo3
TEXT
webmemo4
TEXT
webhtmlmemo1
TEXT
webhtmlmemo2
TEXT
webhtmlmemo3
TEXT
webhtmlmemo4
TEXT
webicecatlink
VARCHAR(200)
garomschr1
VARCHAR(60)
garomschr1
VARCHAR(60)
garomschr1
VARCHAR(60)
garomschr1
VARCHAR(60)
garbasis
VARCHAR(30)
gardag
INT
garmaand
INT
garjaar
INT
Keywords Veldnaam
Datatype
artcode
INT
positie
INT
keyword
VARCHAR(30)
keyword2
VARCHAR(30)
keyword3
VARCHAR(30)
keyword4
VARCHAR(30)
Verplicht veld
Groepen Veldnaam
Datatype
Verplicht veld
code
VARCHAR(5)
Ja
desc1
VARCHAR(25)
desc2
VARCHAR(25)
desc3
VARCHAR(25)
desc4
VARCHAR(25)
verdich1
VARCHAR(20)
verdich2
VARCHAR(20)
© <2006-2012> TML bvba
19
20
Certified add-ons
visible
VARCHAR(1)
Soorten
1.1.5.2
Veldnaam
Datatype
Verplicht veld
code
VARCHAR(5)
Ja
desc1
VARCHAR(25)
desc2
VARCHAR(25)
desc3
VARCHAR(25)
desc4
VARCHAR(25)
visible
VARCHAR(1)
SQL Script
De structuur van de tabellen die nodig zijn zien er als volgt uit: Artikel CREATE TABLE `dbfact_artikel` ( `artcode` INT NOT NULL , `artnummer` VARCHAR(20) NULL , `volgnummer` VARCHAR(20) NULL , `groep` VARCHAR(5) NULL , `soort` VARCHAR(5) NULL , `omschrijving` VARCHAR(60) NULL , `omschrijving2` VARCHAR(60) NULL , `omschrijving3` VARCHAR(60) NULL , `omschrijving4` VARCHAR(60) NULL , `specificaties` TEXT NULL , `detailspecificaties` TEXT NULL , `type` VARCHAR(20) NULL , `merkid` INT NULL , `merk` VARCHAR(25) NULL , `stuknummer` VARCHAR(30) NULL , `opmerking` VARCHAR(35) NULL , `status` VARCHAR(20) NULL , `creatiedat` VARCHAR(8) NULL , `verwachtdat` VARCHAR(8) NULL , `stock` DECIMAL(14,5) NULL , `minimumstock` DECIMAL(14,5) NULL , `nominalestock` DECIMAL(14,5) NULL , `stockcontrole` VARCHAR(1) NULL , `stockplaats` VARCHAR(20) NULL , `veldc1` VARCHAR(40) NULL ,
© <2006-2012> TML bvba
Certified Add-Ons
`veldc2` VARCHAR(40) NULL , `veldc3` VARCHAR(40) NULL , `veldc4` VARCHAR(40) NULL , `veldc5` VARCHAR(40) NULL , `veldc6` VARCHAR(40) NULL , `veldn1` DECIMAL(14,5) NULL , `veldn2` DECIMAL(14,5) NULL , `veldn3` DECIMAL(14,5) NULL , `veldn4` DECIMAL(14,5) NULL , `veldn5` DECIMAL(14,5) NULL , `website` VARCHAR(1) NULL , `topseller` VARCHAR(1) NULL , `veldl3` VARCHAR(1) NULL , `veldl4` VARCHAR(1) NULL , `veldl5` VARCHAR(1) NULL , `boklant` DECIMAL(14,5) NULL , `boleverancier` DECIMAL(14,5) NULL , `btwpercentage` DECIMAL(4,1) NULL , `statist` VARCHAR(6) NULL , `kleur` VARCHAR(10) NULL , `maat` VARCHAR(10) NULL , `weblink` VARCHAR(150) NULL , `typeartikel` INT NULL , `typeartikelomsc` VARCHAR(20) NULL , `referentie` VARCHAR(30) NULL , `verkoopsverpakking` DECIMAL(14,5) NULL , `verkoopsaantal` DECIMAL(14,5) NULL , `minimumafname` DECIMAL(14,5) NULL , `fabrikant` VARCHAR(80) NULL , `inhoud` DECIMAL(14,5) NULL , `verpakkingsgewicht` DECIMAL(14,5) NULL , `verpakkingslengte` DECIMAL(14,5) NULL , `verpakkingsbreedte` DECIMAL(14,5) NULL , `verpakkingshoogte` DECIMAL(14,5) NULL , `artikellengte` DECIMAL(14,5) NULL , `artikelbreedte` DECIMAL(14,5) NULL , `artikelhoogte` DECIMAL(14,5) NULL , `lotnummerartikel` VARCHAR(1) NULL , `m3` DECIMAL(14,5) NULL , `veldd1` VARCHAR(8) NULL , `veldd2` VARCHAR(8) NULL , `veldd3` VARCHAR(8) NULL , `veldd4` VARCHAR(8) NULL , `veldd5` VARCHAR(8) NULL , `extrateksttaal2` TEXT NULL , `extrateksttaal3` TEXT NULL , `extrateksttaal4` TEXT NULL ,
© <2006-2012> TML bvba
21
22
Certified add-ons
`extratekstleverancier` TEXT NULL , `brutogewichtinkg` DECIMAL(14,5) NULL , `nettogewichtinkg` DECIMAL(14,5) NULL , `veldm1` TEXT NULL , `veldm2` TEXT NULL , `veldm3` TEXT NULL , `winkelincl` DECIMAL(14,5) NULL , `winkelexcl` DECIMAL(14,5) NULL , `dealer` DECIMAL(14,5) NULL , `promoactief` VARCHAR(1) NULL , `promoprijsexcl` DECIMAL(14,5) NULL , `promoprijsincl` DECIMAL(14,5) NULL , `promoprijsdealerexcl` DECIMAL(14,5) NULL , `promoprijsdealerincl` DECIMAL(14,5) NULL , `promoprijsminverkexcl` DECIMAL(14,5) NULL , `promoprijsminverkincl` DECIMAL(14,5) NULL , `promoprijsvan` VARCHAR(8) NULL , `promoprijstot` VARCHAR(8) NULL , `aanbevolenincl` DECIMAL(14,5) NULL , `basisexcl` DECIMAL(14,5) NULL , `minimumverkoopexcl` DECIMAL(14,5) NULL , `valutanetto` DECIMAL(14,5) NULL , `valuta` VARCHAR(5) NULL , `prijs1` DECIMAL(14,5) NULL , `prijs2` DECIMAL(14,5) NULL , `prijs3` DECIMAL(14,5) NULL , `prijs4` DECIMAL(14,5) NULL , `prijs5` DECIMAL(14,5) NULL , `bebat` DECIMAL(14,5) NULL , `recupel` DECIMAL(14,5) NULL , `auteur` DECIMAL(14,5) NULL , `reprobel` DECIMAL(14,5) NULL , `fostplus` DECIMAL(14,5) NULL , `leeggoed` DECIMAL(14,5) NULL , `anderekost` DECIMAL(14,5) NULL , `bebatinclbtw` DECIMAL(14,5) NULL , `recupelinclbtw` DECIMAL(14,5) NULL , `auteurinclbtw` DECIMAL(14,5) NULL , `reprobelinclbtw` DECIMAL(14,5) NULL , `fostplusinclbtw` DECIMAL(14,5) NULL , `leeggoedinclbtw` DECIMAL(14,5) NULL , `anderekostinclbtw` DECIMAL(14,5) NULL , `webarticle` VARCHAR(1) NULL , `webpromo` VARCHAR(1) NULL , `webpromostartdate` VARCHAR(8) NULL , `webpromoenddate` VARCHAR(8) NULL , `webidentitynumber` INT NULL ,
© <2006-2012> TML bvba
Certified Add-Ons
`webcategoryoms1` VARCHAR(30) NULL , `webcategoryoms2` VARCHAR(30) NULL , `webcategoryoms3` VARCHAR(30) NULL , `webcategoryoms4` VARCHAR(30) NULL , `webcolor` VARCHAR(10) NULL , `websize` VARCHAR(10) NULL , `webweblink` VARCHAR(150) NULL , `webmemo1` TEXT NULL , `webmemo2` TEXT NULL , `webmemo3` TEXT NULL , `webmemo4` TEXT NULL , `webhtmlmemo1` TEXT NULL , `webhtmlmemo2` TEXT NULL , `webhtmlmemo3` TEXT NULL , `webhtmlmemo4` TEXT NULL , `webicecatlink` VARCHAR(200) NULL , `garomschr1` VARCHAR(60) NULL , `garomschr2` VARCHAR(60) NULL , `garomschr3` VARCHAR(60) NULL , `garomschr4` VARCHAR(60) NULL , `garbasis` VARCHAR(30) NULL , `gardag` INT NULL , `garmaand` INT NULL , `garjaar` INT NULL , PRIMARY KEY (`artcode`) ) ENGINE = InnoDB Keywords CREATE TABLE IF NOT EXISTS `dbfact_keyword` ( `artcode` INT NULL , `positie` INT NULL , `keyword` VARCHAR(30) NULL , `keyword2` VARCHAR(30) NULL , `keyword3` VARCHAR(30) NULL , `keyword4` VARCHAR(30) NULL ) ENGINE = InnoDB; Groepen CREATE TABLE IF NOT EXISTS `dbfact_groep` ( `code` VARCHAR(5) NOT NULL , `desc1` VARCHAR(25) NULL , `desc2` VARCHAR(25) NULL , `desc3` VARCHAR(25) NULL , `desc4` VARCHAR(25) NULL , `verdich1` VARCHAR(20) NULL ,
© <2006-2012> TML bvba
23
24
Certified add-ons
`verdich2` VARCHAR(20) NULL , `visible` VARCHAR(1) NULL , PRIMARY KEY (`code`) ) ENGINE = InnoDB; Soorten CREATE TABLE IF NOT EXISTS `dbfact_soort` ( `code` VARCHAR(5) NOT NULL , `desc1` VARCHAR(25) NULL , `desc2` VARCHAR(25) NULL , `desc3` VARCHAR(25) NULL , `desc4` VARCHAR(25) NULL , `visible` VARCHAR(1) NULL , PRIMARY KEY (`code`) ) ENGINE = InnoDB;
© <2006-2012> TML bvba