-- Table structure for table `PakbonOrders`
--

CREATE TABLE `PakbonOrders` (
  `Pakbonid` int(11) NOT NULL,
  `Ordernummer` int(11) NOT NULL,
  PRIMARY KEY (`Pakbonid`,`Ordernummer`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Pakbonnen`
--

CREATE TABLE `Pakbonnen` (
  `Barcode` varchar(18) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL,
  `Pakbonid` int(11) NOT NULL AUTO_INCREMENT,
  `Batchid` int(11) NOT NULL,
  `Status` enum('ingediend','geprint','verzonden','gefactureerd','geretourneerd','gecrediteerd','ingetrokken') NOT NULL,
  `Kostenpost` int(11) DEFAULT NULL,
  PRIMARY KEY (`Pakbonid`),
  UNIQUE KEY `Barcode_Uniq` (`Barcode`),
  KEY `FK_Pakbonnen_Batches` (`Batchid`),
  CONSTRAINT `FK_Pakbonnen_Batches` FOREIGN KEY (`Batchid`) REFERENCES `Batches` (`Batchid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10040797 DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Periode`
--

CREATE TABLE `Periode` (
  `PeriodeID` int(11) NOT NULL AUTO_INCREMENT,
  `Van` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `Tot` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `Status` enum('inactief','actief') NOT NULL DEFAULT 'inactief',
  `Beschrijving` text NOT NULL,
  PRIMARY KEY (`PeriodeID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Personen`
--

CREATE TABLE `Personen` (
  `ExactID` int(11) NOT NULL,
  `BedrijfID` varchar(10) COLLATE latin1_general_ci NOT NULL,
  `Username` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL,
  `Password` varchar(64) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL,
  `Voornaam` varchar(64) COLLATE latin1_general_ci NOT NULL,
  `Tussenvoegsel` varchar(64) COLLATE latin1_general_ci NOT NULL,
  `Achternaam` varchar(64) COLLATE latin1_general_ci NOT NULL,
  `Status` enum('Forecast','Login','Geblokkeerd') COLLATE latin1_general_ci NOT NULL DEFAULT 'Login',
  PRIMARY KEY (`ExactID`),
  KEY `FK_Personen` (`BedrijfID`),
  CONSTRAINT `FK_Personen` FOREIGN KEY (`BedrijfID`) REFERENCES `Bedrijven` (`BedrijfID`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Retour`
--

CREATE TABLE `Retour` (
  `PakbonID` int(11) NOT NULL,
  `DTGeretourneerd` datetime NOT NULL,
  `DTGecrediteerd` datetime DEFAULT NULL,
  `Opmerkingen` text NOT NULL,
  PRIMARY KEY (`PakbonID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Settings`
--

CREATE TABLE `Settings` (
  `Key` char(5) NOT NULL,
  `Value` int(11) DEFAULT NULL,
  PRIMARY KEY (`Key`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Transacties`
--

CREATE TABLE `Transacties` (
  `Type` enum('forecast','voorraad') NOT NULL,
  `Ean` char(13) NOT NULL,
  `Kostenplaats` int(11) DEFAULT NULL,
  `Exactid` int(11) NOT NULL,
  `DT` datetime NOT NULL,
  `Delta` int(11) DEFAULT NULL,
  `Gebruiker` varchar(64) DEFAULT NULL,
  `Reden` mediumtext,
  `Commentaar` mediumtext,
  KEY `NewIndex1` (`Type`,`Ean`,`DT`,`Kostenplaats`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Voorraad`
--

CREATE TABLE `Voorraad` (
  `EAN` char(13) NOT NULL,
  `ExactID` int(11) NOT NULL,
  `Kostenplaats` int(11) NOT NULL,
  `Voorraad` int(11) NOT NULL,
  `Forecast` int(11) NOT NULL,
  `Afgesloten` enum('Neen','Ja') NOT NULL DEFAULT 'Neen',
  `LaatzienVanaf` timestamp NOT NULL DEFAULT '2008-07-31 22:00:00',
  PRIMARY KEY (`EAN`,`Kostenplaats`,`ExactID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Temporary table structure for view `VoorraadEnForecast`
--

/*!50001 DROP VIEW IF EXISTS `VoorraadEnForecast`*/;
/*!50001 CREATE TABLE `VoorraadEnForecast` (
  `EAN` tinyint NOT NULL,
  `Exactid` tinyint NOT NULL,
  `Kostenplaats` tinyint NOT NULL,
  `Voorraad` tinyint NOT NULL,
  `Forecast` tinyint NOT NULL,
  `LaatzienVanaf` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `VoorraadMutaties`
--

CREATE TABLE `VoorraadMutaties` (
  `EAN` char(13) CHARACTER SET latin1 NOT NULL,
  `Kostenplaats` int(11) DEFAULT NULL,
  `ExactID` int(11) NOT NULL,
  `PeriodeID` int(11) NOT NULL,
  `DT` datetime NOT NULL,
  `AantalOud` int(11) NOT NULL,
  `AantalNieuw` int(11) NOT NULL,
  `ForecastOud` int(11) NOT NULL,
  `ForecastNieuw` int(11) NOT NULL,
  `Reden` enum('Inklaren','Verkoop','Beschadigd','Telfout','Retour','forecast','Intrekken','Afsluiten') CHARACTER SET latin1 NOT NULL DEFAULT 'Inklaren',
  `Gebruiker` varchar(64) CHARACTER SET latin1 NOT NULL,
  KEY `NewIndex1` (`EAN`),
  KEY `FK_VoorraadMutaties` (`EAN`,`Kostenplaats`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `backup_mutaties`
--

CREATE TABLE `backup_mutaties` (
  `EAN` char(13) CHARACTER SET latin1 NOT NULL,
  `ExactID` int(11) NOT NULL,
  `PeriodeID` int(11) NOT NULL,
  `DT` datetime NOT NULL,
  `AantalOud` int(11) NOT NULL,
  `AantalNieuw` int(11) NOT NULL,
  `ForecastOud` int(11) NOT NULL,
  `ForecastNieuw` int(11) NOT NULL,
  `Reden` enum('Inklaren','Verkoop','Beschadigd','Telfout','Retour','forecast','Intrekken','Afsluiten') CHARACTER SET latin1 NOT NULL DEFAULT 'Inklaren',
  `Gebruiker` varchar(64) CHARACTER SET latin1 NOT NULL,
  KEY `NewIndex1` (`EAN`),
  KEY `FK_VoorraadMutaties` (`EAN`,`ExactID`,`PeriodeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `backup_voorraad`
--

CREATE TABLE `backup_voorraad` (
  `EAN` char(13) NOT NULL,
  `ExactID` int(11) NOT NULL,
  `PeriodeID` int(11) NOT NULL,
  `Voorraad` int(11) NOT NULL,
  `Forecast` int(11) NOT NULL,
  `Afgesloten` enum('Neen','Ja') NOT NULL DEFAULT 'Neen',
  `LaatzienVanaf` timestamp NOT NULL DEFAULT '1988-01-23 23:00:00',
  PRIMARY KEY (`EAN`,`ExactID`,`PeriodeID`),
  KEY `PeriodeID` (`PeriodeID`),
  KEY `FK_Voorraad_Personen` (`ExactID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `nog_een_backup`
--

CREATE TABLE `nog_een_backup` (
  `EAN` char(13) CHARACTER SET latin1 NOT NULL,
  `ExactID` int(11) NOT NULL,
  `PeriodeID` int(11) NOT NULL,
  `DT` datetime NOT NULL,
  `AantalOud` int(11) NOT NULL,
  `AantalNieuw` int(11) NOT NULL,
  `ForecastOud` int(11) NOT NULL,
  `ForecastNieuw` int(11) NOT NULL,
  `Reden` enum('Inklaren','Verkoop','Beschadigd','Telfout','Retour','forecast','Intrekken','Afsluiten') CHARACTER SET latin1 NOT NULL DEFAULT 'Inklaren',
  `Gebruiker` varchar(64) CHARACTER SET latin1 NOT NULL,
  KEY `NewIndex1` (`EAN`),
  KEY `FK_VoorraadMutaties` (`EAN`,`ExactID`,`PeriodeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `tmpMutaties`
--

CREATE TABLE `tmpMutaties` (
  `EAN` char(13) CHARACTER SET latin1 NOT NULL,
  `ExactID` int(11) NOT NULL,
  `PeriodeID` int(11) NOT NULL,
  `DT` datetime NOT NULL,
  `AantalOud` int(11) NOT NULL,
  `AantalNieuw` int(11) NOT NULL,
  `ForecastOud` int(11) NOT NULL,
  `ForecastNieuw` int(11) NOT NULL,
  `Reden` enum('Inklaren','Verkoop','Beschadigd','Telfout','Retour','forecast','Intrekken','Afsluiten') CHARACTER SET latin1 NOT NULL DEFAULT 'Inklaren',
  `Gebruiker` varchar(64) CHARACTER SET latin1 NOT NULL,
  KEY `NewIndex1` (`EAN`),
  KEY `FK_VoorraadMutaties` (`EAN`,`ExactID`,`PeriodeID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Dumping routines for database 'NCOIB'
--
/*!50003 DROP FUNCTION IF EXISTS `act_fc` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`main`@`%` FUNCTION `act_fc`( xEAN CHAR(13), xExactID INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
RETURN ( SELECT `Forecast` - IFNULL( 
   ( SELECT ForecastNieuw FROM NCOI.tmpMutaties as VM 
       WHERE VM.EAN = Voorraad.EAN 
       AND VM.ExactID = Voorraad.ExactID 
       AND Voorraad.PeriodeID = Voorraad.PeriodeID 
       AND DT <= Voorraad.LaatzienVanaf 
     ORDER BY DT DESC LIMIT 1 )
,0) AS `Forecast`
FROM NCOI.Voorraad
    WHERE EAN = xEAN
    AND ExactID = xExactID
    AND PeriodeID = 1) ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `ForecastVanaf` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `ForecastVanaf`( iEAN CHAR(13), iExact INT, Vanaf DATETIME ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT IFNULL( SUM( Delta ), 0 ) INTO rv FROM NCOI.Transacties WHERE `Type` = 'forecast' AND Ean = iEAN AND Exactid = iExact AND DT > Vanaf;
	RETURN rv;
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `ForecastVanafKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `ForecastVanafKP`( iEAN CHAR(13), iKostenplaats INT, Vanaf DATETIME ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT IFNULL( SUM( Delta ), 0 ) INTO rv FROM NCOI.Transacties WHERE `Type` = 'forecast' AND Ean = iEAN AND Kostenplaats = iKostenplaats AND DT > Vanaf;
	RETURN rv;
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Gecrediteerd` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `Gecrediteerd`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'gecrediteerd'
	AND Orderregels.Debiteur = iExact
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `GecrediteerdKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `GecrediteerdKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'gecrediteerd'
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Gefactureerd` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `Gefactureerd`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'gefactureerd'
	AND Orderregels.Debiteur = iExact
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `GefactureerdKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `GefactureerdKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'gefactureerd'
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Geprint` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `Geprint`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'geprint'
	AND Orderregels.Debiteur = iExact
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `GeprintKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `GeprintKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'geprint'
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Geretourneerd` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `Geretourneerd`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Retour LEFT JOIN NCOI.Pakbonnen USING ( PakbonID ) LEFT JOIN NCOI.Orderregels USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Orderregels.Debiteur = iExact
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `GeretourneerdKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `GeretourneerdKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Retour LEFT JOIN NCOI.Pakbonnen USING ( PakbonID ) LEFT JOIN NCOI.Orderregels USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Ingediend` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `Ingediend`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'ingediend'
	AND Orderregels.Debiteur = iExact
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `IngediendKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `IngediendKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Status = 'ingediend'
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Ouranos` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`main`@`%` FUNCTION `Ouranos`( xEAN CHAR(13), xEx INT ) RETURNS int(11)
    READS SQL DATA
BEGIN
  DECLARE done INT DEFAULT 0;
  DECLARE rv INT DEFAULT 0;
  DECLARE vorig INT DEFAULT 0;
  DECLARE oud,nieuw INT;

  DECLARE cur CURSOR FOR SELECT ForecastOud, ForecastNieuw FROM VoorraadMutaties WHERE ForecastOud != ForecastNieuw AND EAN = xEAN AND ExactID = xEx ORDER BY DT ASC;

  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

  OPEN cur;

  REPEAT
    FETCH cur INTO Oud, Nieuw;
    IF NOT done THEN
       IF Oud != vorig THEN
          SET rv = 1; SET done = 1;
       ELSE
          SET vorig = Nieuw;
       END IF;
    END IF;
  UNTIL done END REPEAT;

  CLOSE cur;

  RETURN rv;
END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `TotaalOrderregels` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `TotaalOrderregels`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Orderregels.Debiteur = iExact
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `TotaalOrderregelsKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `TotaalOrderregelsKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `Verzonden` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `Verzonden`( iEAN CHAR( 13 ), iExact INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Orderregels.Debiteur = Voorraad.ExactID )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Orderregels.Debiteur = iExact
	AND Pakbonnen.Status = 'verzonden'
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP FUNCTION IF EXISTS `VerzondenKP` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `VerzondenKP`( iEAN CHAR( 13 ), iKostenplaats INT ) RETURNS int(11)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv INT;
	SELECT SUM(Aantal) INTO rv FROM NCOI.Orderregels LEFT JOIN NCOI.Pakbonnen USING ( Pakbonid ) LEFT JOIN NCOI.Voorraad ON ( Orderregels.Ean = Voorraad.EAN AND Pakbonnen.Kostenpost = Voorraad.Kostenplaats )
	LEFT JOIN NCOI.Batches USING ( Batchid )
	WHERE Orderregels.Ean = iEAN
	AND Pakbonnen.Kostenpost = iKostenplaats
	AND Pakbonnen.Status = 'verzonden'
	AND Batches.DTIngediend >= IFNULL( Voorraad.LaatzienVanaf, '2008-01-01' );
	RETURN IFNULL(rv,0);
    END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP PROCEDURE IF EXISTS `dup` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`main`@`%` PROCEDURE `dup`( IN xEAN CHAR(13), IN Exact_from INT, IN Exact_to INT )
BEGIN
  DECLARE done, x INT DEFAULT 0;
  DECLARE fcoud,voorraadoud,fcnieuw,voorraadnieuw INT DEFAULT 0;
  
  DECLARE xDT TIMESTAMP;
  DECLARE voud, vnieuw, foud, fnieuw INT;
  DECLARE xreden, xgebruiker CHAR(30);
  
  DECLARE cur1 CURSOR FOR SELECT DT, AantalOud, AantalNieuw, ForecastOud, ForecastNieuw, Reden, Gebruiker FROM NCOI.VoorraadMutaties WHERE ExactID IN ( Exact_from, Exact_to ) AND EAN = xEAN ORDER BY DT;
  
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  
  OPEN cur1;
  
  REPEAT
    FETCH cur1 INTO xDT, voud, vnieuw, foud, fnieuw, xreden, xgebruiker;
    
    IF NOT done THEN
      SET fcoud = fcnieuw;
      SET fcnieuw = fcoud + fnieuw - foud;
      
      SET voorraadoud = voorraadnieuw;
      SET voorraadnieuw = voorraadoud + vnieuw - voud;
      
      INSERT INTO NCOI.tmpMutaties VALUES ( xEAN, Exact_to, 1, xDT, voorraadoud, voorraadnieuw, fcoud, fcnieuw, xreden, xgebruiker );
      
      SET x = x + 1;
      
    END IF;
  UNTIL done END REPEAT;
  
  CLOSE cur1;
END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;
/*!50003 DROP PROCEDURE IF EXISTS `move` */;
ALTER DATABASE `NCOIB` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
DELIMITER ;;
CREATE DEFINER=`main`@`%` PROCEDURE `move`( IN Exact_from INT, IN Exact_to INT )
BEGIN
  DECLARE done,x INT DEFAULT 0;
  DECLARE a CHAR(13);
  DECLARE cur1 CURSOR FOR SELECT EAN FROM NCOI.Voorraad WHERE ExactID = Exact_to;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

  DROP TABLE IF EXISTS tmpMutaties;
  CREATE TABLE tmpMutaties LIKE VoorraadMutaties;

  OPEN cur1;

  REPEAT
    FETCH cur1 INTO a;
    IF NOT done THEN
       CALL `NCOI`.`dup`( a, Exact_from, Exact_to );
       SET x = x+ 1;
    END IF;
  UNTIL done END REPEAT;

	SELECT * FROM (
		SELECT * FROM (
			SELECT 
				EAN, 
				Voorraad.LaatZienVanaf, 
				AantalNieuw, 
				Voorraad.Voorraad, 
				ForecastNieuw, 
				`Forecast` - IFNULL( ( SELECT ForecastNieuw FROM NCOI.tmpMutaties as VM WHERE VM.EAN = Voorraad.EAN AND VM.ExactID = Voorraad.ExactID AND Voorraad.PeriodeID = Voorraad.PeriodeID AND DT <= Voorraad.LaatzienVanaf ORDER BY DT DESC LIMIT 1 ),0) AS `Forecast`
			FROM tmpMutaties 
			JOIN NCOI.Voorraad USING ( EAN, ExactID, PeriodeID )
			ORDER BY DT DESC
		) x 
		GROUP BY x.EAN
	) y
	WHERE y.AantalNieuw != y.Voorraad OR y.ForecastNieuw != y.Forecast;

  CLOSE cur1;
END ;;
DELIMITER ;
ALTER DATABASE `NCOIB` CHARACTER SET utf8 COLLATE utf8_general_ci ;

--
-- Current Database: `PatchMaker`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `PatchMaker` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `PatchMaker`;

--
-- Table structure for table `GroupCoords`
--

CREATE TABLE `GroupCoords` (
  `GroupId` varchar(30) NOT NULL DEFAULT '',
  `SectionGUID` int(10) NOT NULL DEFAULT '0',
  `Top` varchar(10) NOT NULL DEFAULT '0',
  `Left` varchar(10) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Groups`
--

CREATE TABLE `Groups` (
  `GroupId` varchar(30) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Log`
--

CREATE TABLE `Log` (
  `Date` date DEFAULT NULL,
  `Time` time NOT NULL DEFAULT '00:00:00',
  `UID` varchar(30) NOT NULL DEFAULT '',
  `Event` varchar(255) NOT NULL DEFAULT '',
  `SectionGUID` varchar(30) NOT NULL DEFAULT '',
  `PortId` varchar(10) NOT NULL DEFAULT '',
  `PatchSectionGUID` varchar(10) NOT NULL DEFAULT '',
  `PatchPortId` varchar(10) NOT NULL DEFAULT '',
  `Value` varchar(255) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `MapCoords`
--

CREATE TABLE `MapCoords` (
  `MapId` varchar(30) NOT NULL DEFAULT '',
  `PortId` varchar(10) NOT NULL DEFAULT '',
  `Top` varchar(10) NOT NULL DEFAULT '',
  `Left` varchar(10) NOT NULL DEFAULT '',
  `Rotation` char(3) NOT NULL DEFAULT '',
  PRIMARY KEY (`MapId`,`PortId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Maps`
--

CREATE TABLE `Maps` (
  `MapId` varchar(30) NOT NULL DEFAULT '',
  `BackgroundPic` varchar(30) NOT NULL DEFAULT '',
  `PortPic` varchar(30) NOT NULL DEFAULT '',
  `PortUpPic` varchar(30) NOT NULL DEFAULT '',
  `PortDownPic` varchar(30) NOT NULL DEFAULT '',
  `PortUpXPic` varchar(30) NOT NULL DEFAULT '',
  `PatchMakePic` varchar(30) NOT NULL DEFAULT '',
  `PortNoDevicePic` varchar(30) NOT NULL DEFAULT '',
  `TextStyle` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`MapId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Ports`
--

CREATE TABLE `Ports` (
  `SectionGUID` int(10) NOT NULL DEFAULT '0',
  `PortId` int(10) NOT NULL DEFAULT '0',
  `PatchSectionGUID` int(10) NOT NULL DEFAULT '0',
  `PatchPortId` varchar(10) NOT NULL DEFAULT '0',
  `RoomId` varchar(30) NOT NULL DEFAULT '',
  `ClassId` varchar(30) NOT NULL DEFAULT '',
  `Comment` varchar(100) NOT NULL DEFAULT '',
  `LastSeen` longtext NOT NULL,
  PRIMARY KEY (`SectionGUID`,`PortId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Sections`
--

CREATE TABLE `Sections` (
  `GUID` int(10) NOT NULL AUTO_INCREMENT,
  `BuildingId` varchar(30) NOT NULL DEFAULT '',
  `RackId` varchar(30) NOT NULL DEFAULT '',
  `SectionId` varchar(30) NOT NULL DEFAULT '',
  `MapId` varchar(30) NOT NULL DEFAULT '',
  `DeviceId` varchar(30) NOT NULL DEFAULT '',
  `SlotId` varchar(10) NOT NULL DEFAULT '',
  `StartingInterfaceId` varchar(10) NOT NULL DEFAULT '',
  `PortCount` int(10) NOT NULL DEFAULT '0',
  `CommId_get` varchar(30) NOT NULL DEFAULT '',
  `CommId_set` varchar(30) NOT NULL DEFAULT '',
  `GetMacAddresses` varchar(30) NOT NULL DEFAULT '',
  `GetVlans` varchar(30) NOT NULL DEFAULT '',
  PRIMARY KEY (`GUID`)
) ENGINE=MyISAM AUTO_INCREMENT=167 DEFAULT CHARSET=latin1;

--
-- Table structure for table `Users`
--

CREATE TABLE `Users` (
  `UID` varchar(64) NOT NULL,
  `UMask` int(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping routines for database 'PatchMaker'
--

--
-- Current Database: `Postcode`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `Postcode` /*!40100 DEFAULT CHARACTER SET latin1 */;

USE `Postcode`;

--
-- Table structure for table `BE_Adres`
--

CREATE TABLE `BE_Adres` (
  `STRAATNMID` int(11) DEFAULT NULL,
  `HUISNR` int(11) DEFAULT NULL,
  `POSTCODE` decimal(4,0) DEFAULT NULL,
  KEY `STRAATNMID` (`STRAATNMID`),
  KEY `POSTCODE` (`POSTCODE`),
  CONSTRAINT `BE_Adres_ibfk_1` FOREIGN KEY (`STRAATNMID`) REFERENCES `BE_Straat` (`STRAATNMID`),
  CONSTRAINT `BE_Adres_ibfk_2` FOREIGN KEY (`POSTCODE`) REFERENCES `BE_Gemeente` (`POSTCODE`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BE_Gemeente`
--

CREATE TABLE `BE_Gemeente` (
  `POSTCODE` decimal(4,0) NOT NULL,
  `GEMEENTE` varchar(35) DEFAULT NULL,
  PRIMARY KEY (`POSTCODE`),
  KEY `GEMEENTE` (`GEMEENTE`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED;

--
-- Table structure for table `BE_Straat`
--

CREATE TABLE `BE_Straat` (
  `STRAATNMID` int(11) NOT NULL,
  `STRAATNM` varchar(35) DEFAULT NULL,
  PRIMARY KEY (`STRAATNMID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED;

--
-- Table structure for table `_oud_pcreeks`
--

CREATE TABLE `_oud_pcreeks` (
  `reeksid` int(6) DEFAULT NULL,
  `wijkcode` char(4) DEFAULT NULL,
  `lettercombinatie` char(2) DEFAULT NULL,
  `huisnr_van` int(5) DEFAULT NULL,
  `huisnr_tm` int(5) DEFAULT NULL,
  `reeksindicatie` int(1) DEFAULT NULL,
  `straatid` int(6) DEFAULT NULL,
  `plaatsid` int(6) DEFAULT NULL,
  `gemeenteid` int(6) DEFAULT NULL,
  `provinciecode` char(1) DEFAULT NULL,
  KEY `huisnr_van` (`huisnr_van`,`huisnr_tm`),
  KEY `plaatsid` (`plaatsid`),
  KEY `wijkcode` (`wijkcode`),
  KEY `straatid` (`straatid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `belgische_plaatsen`
--

CREATE TABLE `belgische_plaatsen` (
  `Plaatsnaam` varchar(100) NOT NULL,
  PRIMARY KEY (`Plaatsnaam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `gemeente`
--

CREATE TABLE `gemeente` (
  `gemeenteid` int(6) DEFAULT NULL,
  `gemeentenaam` char(24) DEFAULT NULL,
  `gemeentecode` int(4) DEFAULT NULL,
  `cebucocode` int(3) DEFAULT NULL,
  `provinciecode` char(1) DEFAULT NULL,
  UNIQUE KEY `gemeenteid` (`gemeenteid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `pcdata`
--

CREATE TABLE `pcdata` (
  `perceelid` mediumint(7) unsigned NOT NULL,
  `perceeltype` char(15) NOT NULL,
  `huisnr` mediumint(5) unsigned NOT NULL,
  `huisnr_bag_letter` char(1) NOT NULL,
  `huisnr_bag_toevoeging` varchar(4) NOT NULL,
  `bag_nummeraanduidingid` char(16) NOT NULL,
  `bag_adresseerbaarobjectid` char(16) NOT NULL,
  `breedtegraad` decimal(19,8) NOT NULL,
  `lengtegraad` decimal(19,8) NOT NULL,
  `rdx` decimal(15,4) NOT NULL,
  `rdy` decimal(15,4) NOT NULL,
  `oppervlakte` mediumint(6) unsigned NOT NULL,
  `gebruiksdoel` varchar(138) NOT NULL,
  `reeksid` mediumint(6) unsigned NOT NULL,
  `wijkcode` smallint(4) unsigned NOT NULL,
  `lettercombinatie` char(2) NOT NULL,
  `huisnr_van` mediumint(5) unsigned NOT NULL,
  `huisnr_tm` mediumint(5) unsigned NOT NULL,
  `reeksindicatie` char(1) NOT NULL,
  `straatid` mediumint(6) unsigned NOT NULL,
  `straatnaam` varchar(48) NOT NULL,
  `straatnaam_nen` varchar(26) NOT NULL,
  `plaatsid` smallint(4) unsigned NOT NULL,
  `plaatsnaam` varchar(28) NOT NULL,
  `plaatsnaam_nen` varchar(24) NOT NULL,
  `plaatscode` decimal(11,0) NOT NULL,
  `gemeenteid` smallint(3) unsigned NOT NULL,
  `gemeentenaam` varchar(30) NOT NULL,
  `gemeentenaam_nen` varchar(22) NOT NULL,
  `gemeentecode` smallint(4) unsigned NOT NULL,
  `cebucocode` smallint(3) unsigned NOT NULL,
  `provinciecode` char(1) NOT NULL,
  `provincienaam` varchar(13) NOT NULL,
  PRIMARY KEY (`perceelid`),
  KEY `huisnr` (`huisnr`),
  KEY `huisnr_van` (`huisnr_van`),
  KEY `huisnr_tm` (`huisnr_tm`),
  KEY `adres` (`plaatsnaam`,`straatnaam`,`huisnr`),
  KEY `wijkcode` (`wijkcode`,`lettercombinatie`,`huisnr`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 DELAY_KEY_WRITE=1 ROW_FORMAT=COMPRESSED;

--
-- Table structure for table `pcreeks`
--

CREATE TABLE `pcreeks` (
  `reeksid` int(6) DEFAULT NULL,
  `wijkcode` char(4) DEFAULT NULL,
  `lettercombinatie` char(2) DEFAULT NULL,
  `huisnr_van` int(5) DEFAULT NULL,
  `huisnr_tm` int(5) DEFAULT NULL,
  `reeksindicatie` int(1) DEFAULT NULL,
  `straatid` int(6) DEFAULT NULL,
  `plaatsid` int(6) DEFAULT NULL,
  `gemeenteid` int(6) DEFAULT NULL,
  `provinciecode` char(1) DEFAULT NULL,
  UNIQUE KEY `reeksid` (`reeksid`),
  KEY `huisnr_van` (`huisnr_van`,`huisnr_tm`),
  KEY `plaatsid` (`plaatsid`),
  KEY `wijkcode` (`wijkcode`),
  KEY `straatid` (`straatid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `plaats`
--

CREATE TABLE `plaats` (
  `plaatsid` mediumint(6) DEFAULT NULL,
  `plaatsnaam` char(24) DEFAULT NULL,
  `plaatsnaam_ptt` char(18) DEFAULT NULL,
  `plaatsnaam_extract` char(4) DEFAULT NULL,
  `gemeenteid` int(6) DEFAULT NULL,
  UNIQUE KEY `plaatsid` (`plaatsid`),
  KEY `plaatsnaam` (`plaatsnaam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `provincies`
--

CREATE TABLE `provincies` (
  `provinciecode` char(1) DEFAULT NULL,
  `provincienaam` char(20) DEFAULT NULL,
  UNIQUE KEY `provinciecode` (`provinciecode`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `straat`
--

CREATE TABLE `straat` (
  `straatid` int(6) DEFAULT NULL,
  `straatnaam` char(43) DEFAULT NULL,
  `straatnaam_ptt` char(17) DEFAULT NULL,
  `straatnaam_nen` char(24) DEFAULT NULL,
  `straatnaam_extract` char(5) DEFAULT NULL,
  `plaatsid` mediumint(6) DEFAULT NULL,
  UNIQUE KEY `straatid` (`straatid`),
  KEY `straatnaam` (`straatnaam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping routines for database 'Postcode'
--
/*!50003 DROP FUNCTION IF EXISTS `in_belgie` */;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `in_belgie`( pl VARCHAR(255) ) RETURNS tinyint(4)
    READS SQL DATA
BEGIN
	DECLARE rv TINYINT;
	
	SELECT COUNT(*) INTO rv FROM belgische_plaatsen WHERE Plaatsnaam = pl;
	RETURN rv;
    END ;;
DELIMITER ;

--
-- Current Database: `SSO`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `SSO` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `SSO`;

--
-- Table structure for table `AppAccess`
--

CREATE TABLE `AppAccess` (
  `user_id` int(11) unsigned NOT NULL,
  `app_id` int(11) unsigned NOT NULL,
  `external` tinyint(1) NOT NULL DEFAULT '0',
  `user_type` varchar(15) DEFAULT NULL,
  PRIMARY KEY (`user_id`,`app_id`),
  KEY `ibfk_app_access` (`app_id`),
  CONSTRAINT `ibfk_app_access` FOREIGN KEY (`app_id`) REFERENCES `Apps` (`app_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `ibfk_user_access` FOREIGN KEY (`user_id`) REFERENCES `Users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `AppUrls`
--

CREATE TABLE `AppUrls` (
  `app_id` int(11) unsigned NOT NULL,
  `default` tinyint(1) NOT NULL DEFAULT '0',
  `host` varchar(128) NOT NULL,
  `path` varchar(128) NOT NULL,
  PRIMARY KEY (`app_id`,`host`,`path`),
  CONSTRAINT `ibfk_apps` FOREIGN KEY (`app_id`) REFERENCES `Apps` (`app_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `Apps`
--

CREATE TABLE `Apps` (
  `app_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `app_name` varchar(50) NOT NULL,
  `app_icon` mediumblob,
  PRIMARY KEY (`app_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

--
-- Table structure for table `ExternalDatabase`
--

CREATE TABLE `ExternalDatabase` (
  `user_id` int(11) unsigned NOT NULL,
  `db_location` varchar(25) NOT NULL,
  `local_id` varchar(50) NOT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `unique_external_databases` (`db_location`,`local_id`),
  CONSTRAINT `ibfk_remote_users` FOREIGN KEY (`user_id`) REFERENCES `Users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `SessionLog`
--

CREATE TABLE `SessionLog` (
  `session_id` int(11) unsigned NOT NULL,
  `app_id` int(11) unsigned NOT NULL,
  `ticket_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`session_id`,`app_id`,`ticket_time`),
  KEY `ibfk_app_log` (`app_id`),
  CONSTRAINT `ibfk_app_log` FOREIGN KEY (`app_id`) REFERENCES `Apps` (`app_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `infk_session_log` FOREIGN KEY (`session_id`) REFERENCES `Sessions` (`session_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `Sessions`
--

CREATE TABLE `Sessions` (
  `session_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL,
  `started` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `last_touch` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`session_id`),
  KEY `ibfk_users` (`user_id`),
  CONSTRAINT `ibfk_users` FOREIGN KEY (`user_id`) REFERENCES `Users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8;

--
-- Table structure for table `Users`
--

CREATE TABLE `Users` (
  `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(64) NOT NULL,
  `email` varchar(128) DEFAULT NULL,
  `pw_length` int(11) unsigned DEFAULT '0',
  `pw_complexity` decimal(11,4) DEFAULT '0.0000',
  `pw_algo` char(16) CHARACTER SET ascii NOT NULL,
  `pw_count` int(11) unsigned NOT NULL DEFAULT '0',
  `pw_salt` char(50) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
  `pw_hash` char(100) CHARACTER SET ascii COLLATE ascii_bin NOT NULL,
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `unique_users` (`username`),
  UNIQUE KEY `unique_emails` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8;

--
-- Dumping routines for database 'SSO'
--

--
-- Current Database: `Slowmanagement`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `Slowmanagement` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `Slowmanagement`;

--
-- Table structure for table `ArtikelBoekAuteurs`
--

CREATE TABLE `ArtikelBoekAuteurs` (
  `ArtikelID` int(11) NOT NULL DEFAULT '0',
  `AuteurID` int(11) NOT NULL DEFAULT '0',
  `EersteAuteur` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`ArtikelID`,`AuteurID`),
  CONSTRAINT `FK_ArtikelBoekAuteurs` FOREIGN KEY (`ArtikelID`) REFERENCES `Artikelen` (`ArtikelId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `ArtikelData`
--

CREATE TABLE `ArtikelData` (
  `ArtikelId` int(11) NOT NULL,
  `DataKey` char(50) NOT NULL,
  `DataValue` mediumtext NOT NULL,
  PRIMARY KEY (`ArtikelId`,`DataKey`),
  CONSTRAINT `FK_ArtikelData` FOREIGN KEY (`ArtikelId`) REFERENCES `Artikelen` (`ArtikelId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `ArtikelEans`
--

CREATE TABLE `ArtikelEans` (
  `ArtikelID` int(11) NOT NULL,
  `Ean` char(13) CHARACTER SET latin1 NOT NULL DEFAULT '',
  `EersteBoek` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`ArtikelID`,`Ean`),
  KEY `Ean` (`Ean`),
  CONSTRAINT `FK_ArtikelEans` FOREIGN KEY (`ArtikelID`) REFERENCES `Artikelen` (`ArtikelId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `ArtikelTrefwoorden`
--

CREATE TABLE `ArtikelTrefwoorden` (
  `ArtikelId` int(11) NOT NULL,
  `Trefwoord` varchar(255) NOT NULL,
  PRIMARY KEY (`ArtikelId`,`Trefwoord`),
  CONSTRAINT `FK_ArtikelTrefwoorden` FOREIGN KEY (`ArtikelId`) REFERENCES `Artikelen` (`ArtikelId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Artikelen`
--

CREATE TABLE `Artikelen` (
  `ArtikelId` int(11) NOT NULL AUTO_INCREMENT,
  `ProjectId` int(11) NOT NULL,
  `UserName` varchar(200) NOT NULL,
  `AuteurName` varchar(200) NOT NULL,
  `Gepubliceerd` tinyint(1) NOT NULL DEFAULT '0',
  `Geautoriseerd` tinyint(1) NOT NULL DEFAULT '0',
  `DTWijziging` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `DTPublicatie` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `Titel` varchar(255) NOT NULL,
  `SEURL` varchar(255) NOT NULL,
  `Template` varchar(50) NOT NULL,
  `IsHoofdartikel` tinyint(1) NOT NULL,
  `SkipHomepage` tinyint(1) NOT NULL,
  `OpMgtboek` tinyint(1) NOT NULL DEFAULT '1',
  `MgtRubriek` varchar(50) NOT NULL,
  PRIMARY KEY (`ArtikelId`),
  UNIQUE KEY `SEURL` (`SEURL`,`ProjectId`),
  KEY `FK_Artikelen` (`UserName`),
  KEY `DTPublicatie` (`Geautoriseerd`,`Gepubliceerd`,`Template`,`DTPublicatie`),
  KEY `NewIndex1` (`Template`)
) ENGINE=InnoDB AUTO_INCREMENT=773 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Boeken`
--

CREATE TABLE `Boeken` (
  `Ean` varchar(13) NOT NULL COMMENT 'Ean',
  `Editie` varchar(13) NOT NULL COMMENT 'Slow editie',
  `tq` tinyint(1) DEFAULT '0' COMMENT 'Is tips and quotes',
  `Titel` varchar(100) NOT NULL,
  PRIMARY KEY (`Ean`,`Editie`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `Edities`
--

CREATE TABLE `Edities` (
  `Ean` varchar(13) NOT NULL,
  `Nummer` int(11) NOT NULL,
  `Jaar` year(4) NOT NULL,
  `Thema` varchar(50) NOT NULL,
  `HeaderImage` varchar(50) DEFAULT NULL,
  `Gepubliceerd` tinyint(1) DEFAULT '0',
  `Slug` varchar(25) DEFAULT NULL,
  `Verschijningsdatum` date NOT NULL,
  PRIMARY KEY (`Nummer`),
  UNIQUE KEY `Slug` (`Slug`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Opties`
--

CREATE TABLE `Opties` (
  `optieId` int(11) NOT NULL AUTO_INCREMENT,
  `naam` varchar(25) DEFAULT NULL,
  `waarde` text,
  PRIMARY KEY (`optieId`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

--
-- Table structure for table `Reacties`
--

CREATE TABLE `Reacties` (
  `ReactieId` int(11) NOT NULL AUTO_INCREMENT,
  `ArtikelId` int(11) NOT NULL,
  `Naam` varchar(25) NOT NULL,
  `Avatar` varchar(50) NOT NULL,
  `Plaats` varchar(50) NOT NULL,
  `Datum` datetime NOT NULL,
  `Reactie` text NOT NULL,
  `Gepubliceerd` tinyint(1) NOT NULL DEFAULT '0',
  `Email` varchar(50) DEFAULT NULL,
  `Gemodereerd` tinyint(1) NOT NULL DEFAULT '0',
  `ip` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`ReactieId`)
) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;

--
-- Table structure for table `Users`
--

CREATE TABLE `Users` (
  `UserName` varchar(255) NOT NULL,
  `Password` varchar(255) NOT NULL,
  `IsAdministrator` tinyint(4) NOT NULL,
  `IsAuteur` tinyint(4) NOT NULL,
  `LaatsteLogin` datetime NOT NULL,
  `ScreenName` varchar(255) NOT NULL,
  `InitieelGeautoriseerd` tinyint(4) NOT NULL,
  `LaatsteProjectId` int(11) NOT NULL DEFAULT '1',
  PRIMARY KEY (`UserName`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `view_artikel`
--

/*!50001 DROP VIEW IF EXISTS `view_artikel`*/;
/*!50001 CREATE TABLE `view_artikel` (
  `ArtikelId` tinyint NOT NULL,
  `ProjectId` tinyint NOT NULL,
  `UserName` tinyint NOT NULL,
  `AuteurName` tinyint NOT NULL,
  `Gepubliceerd` tinyint NOT NULL,
  `Geautoriseerd` tinyint NOT NULL,
  `DTWijziging` tinyint NOT NULL,
  `DTPublicatie` tinyint NOT NULL,
  `Titel` tinyint NOT NULL,
  `SEURL` tinyint NOT NULL,
  `Template` tinyint NOT NULL,
  `IsHoofdartikel` tinyint NOT NULL,
  `SkipHomepage` tinyint NOT NULL,
  `OpMgtboek` tinyint NOT NULL,
  `MgtRubriek` tinyint NOT NULL,
  `Textcontent` tinyint NOT NULL,
  `Youtubeurl` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `view_managementboek_nl_video`
--

/*!50001 DROP VIEW IF EXISTS `view_managementboek_nl_video`*/;
/*!50001 CREATE TABLE `view_managementboek_nl_video` (
  `ArtikelId` tinyint NOT NULL,
  `ProjectId` tinyint NOT NULL,
  `UserName` tinyint NOT NULL,
  `AuteurName` tinyint NOT NULL,
  `Gepubliceerd` tinyint NOT NULL,
  `Geautoriseerd` tinyint NOT NULL,
  `DTWijziging` tinyint NOT NULL,
  `DTPublicatie` tinyint NOT NULL,
  `Titel` tinyint NOT NULL,
  `SEURL` tinyint NOT NULL,
  `Template` tinyint NOT NULL,
  `IsHoofdartikel` tinyint NOT NULL,
  `SkipHomepage` tinyint NOT NULL,
  `OpMgtboek` tinyint NOT NULL,
  `MgtRubriek` tinyint NOT NULL,
  `Flashfile` tinyint NOT NULL,
  `Image` tinyint NOT NULL,
  `Covertext1` tinyint NOT NULL,
  `Covertext2` tinyint NOT NULL,
  `Youtubeurl` tinyint NOT NULL,
  `vimeourl` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `view_slow_management_artikel`
--

/*!50001 DROP VIEW IF EXISTS `view_slow_management_artikel`*/;
/*!50001 CREATE TABLE `view_slow_management_artikel` (
  `ArtikelId` tinyint NOT NULL,
  `ProjectId` tinyint NOT NULL,
  `UserName` tinyint NOT NULL,
  `AuteurName` tinyint NOT NULL,
  `Gepubliceerd` tinyint NOT NULL,
  `Geautoriseerd` tinyint NOT NULL,
  `DTWijziging` tinyint NOT NULL,
  `DTPublicatie` tinyint NOT NULL,
  `Titel` tinyint NOT NULL,
  `SEURL` tinyint NOT NULL,
  `Template` tinyint NOT NULL,
  `IsHoofdartikel` tinyint NOT NULL,
  `SkipHomepage` tinyint NOT NULL,
  `OpMgtboek` tinyint NOT NULL,
  `MgtRubriek` tinyint NOT NULL,
  `Textkortetitel` tinyint NOT NULL,
  `Editie` tinyint NOT NULL,
  `Artikeltype` tinyint NOT NULL,
  `Textintro` tinyint NOT NULL,
  `Textcontent` tinyint NOT NULL,
  `Textquote` tinyint NOT NULL,
  `Thumbnail` tinyint NOT NULL,
  `Afbeelding` tinyint NOT NULL,
  `HfdThumbnail` tinyint NOT NULL,
  `HfdThumbnail1` tinyint NOT NULL,
  `Auteur` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Dumping routines for database 'Slowmanagement'
--

--
-- Current Database: `Test_Boeken`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `Test_Boeken` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `Test_Boeken`;

--
-- Table structure for table `Artikelauteurs`
--

CREATE TABLE `Artikelauteurs` (
  `Id` int(11) DEFAULT NULL,
  `Artikelid` int(11) NOT NULL DEFAULT '0',
  `Recensentid` int(11) NOT NULL DEFAULT '0',
  KEY `i1` (`Id`),
  KEY `i2` (`Artikelid`),
  KEY `i3` (`Recensentid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Artikelen`
--

CREATE TABLE `Artikelen` (
  `Id` int(11) DEFAULT NULL,
  `Editieid` int(11) DEFAULT NULL,
  `Titel` varchar(120) NOT NULL DEFAULT '',
  `Ondertitel` varchar(255) DEFAULT NULL,
  `Bronvermelding` varchar(255) DEFAULT NULL,
  `Urlbron` blob,
  `Hoofdean` char(13) DEFAULT NULL,
  `Artikeltekst` blob,
  `Aanmaakdatum` date NOT NULL DEFAULT '0000-00-00',
  `Laatstgewijzigd` date NOT NULL DEFAULT '0000-00-00',
  `Hoofdisbn` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Editieid`),
  KEY `i3` (`Hoofdean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Artikelgroep`
--

CREATE TABLE `Artikelgroep` (
  `Id` int(11) NOT NULL,
  `Artgroep` char(4) NOT NULL,
  `Defaultbtwcode` char(1) DEFAULT NULL,
  `Omschrijving` char(50) DEFAULT NULL,
  `Rtikelgroep_grootboekrekening` int(11) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Artikelsubeans`
--

CREATE TABLE `Artikelsubeans` (
  `Id` int(11) DEFAULT NULL,
  `Artikelid` int(11) NOT NULL DEFAULT '0',
  `Subean` char(13) NOT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Artikelid`),
  KEY `i3` (`Subean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Auteurs`
--

CREATE TABLE `Auteurs` (
  `Auteurid` int(11) NOT NULL DEFAULT '0',
  `Achternaam` varchar(150) NOT NULL DEFAULT '',
  `Voorletters` varchar(50) DEFAULT NULL,
  `Voorvoegsels` varchar(20) DEFAULT NULL,
  `Voornaam` varchar(150) DEFAULT NULL,
  `Email` varchar(255) DEFAULT NULL,
  `Steltprijsopemail` smallint(6) DEFAULT NULL,
  `Omschrijving` text,
  `Website` text,
  `Websitelinken` smallint(6) DEFAULT NULL,
  PRIMARY KEY (`Auteurid`),
  KEY `i1` (`Auteurid`),
  KEY `i2` (`Achternaam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Auteurs_met_naam`
--

CREATE TABLE `Auteurs_met_naam` (
  `Auteurid` tinyint(4) NOT NULL,
  `Achternaam` tinyint(4) NOT NULL,
  `Voorletters` tinyint(4) NOT NULL,
  `Voorvoegsels` tinyint(4) NOT NULL,
  `Voornaam` tinyint(4) NOT NULL,
  `Email` tinyint(4) NOT NULL,
  `Steltprijsopemail` tinyint(4) NOT NULL,
  `Omschrijving` tinyint(4) NOT NULL,
  `Website` tinyint(4) NOT NULL,
  `Websitelinken` tinyint(4) NOT NULL,
  `VolledigeNaam` tinyint(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `Bindwijze`
--

CREATE TABLE `Bindwijze` (
  `Bindwijze` char(50) NOT NULL,
  `Btwcode` char(1) NOT NULL DEFAULT '4',
  `Artgroepid` int(11) NOT NULL,
  `Unspsc` char(50) DEFAULT NULL,
  `Productsoort` char(50) DEFAULT NULL,
  `IsGewist` int(11) DEFAULT NULL,
  `Porto` smallint(6) DEFAULT NULL,
  `Evenement` smallint(6) DEFAULT NULL,
  `Download` smallint(6) DEFAULT NULL,
  `Voorraadartikel` smallint(6) DEFAULT NULL,
  `Inpakken` smallint(6) DEFAULT NULL,
  `Ideal` smallint(6) DEFAULT NULL,
  `Socialdrm` smallint(6) DEFAULT NULL,
  `Bindwijze_unspsc` char(50) DEFAULT NULL,
  `Bindwijze_productsoort` char(50) DEFAULT NULL,
  `Bindwijze_porto` smallint(6) DEFAULT NULL,
  `Bindwijze_evenement` smallint(6) DEFAULT NULL,
  `Bindwijze_download` smallint(6) DEFAULT NULL,
  `Bindwijze_voorraadartikel` smallint(6) DEFAULT NULL,
  `Bindwijze_inpakken` smallint(6) DEFAULT NULL,
  `Bindwijze_ideal` smallint(6) DEFAULT NULL,
  `Bindwijze_socialdrm` smallint(6) DEFAULT NULL,
  `Bindwijze_url` char(50) DEFAULT NULL,
  `Bindwijze_producttype` char(100) DEFAULT NULL,
  `Bindwijze_lidwoord` char(20) DEFAULT NULL,
  `Bindwijze_enkelvoud` char(100) DEFAULT NULL,
  `Bindwijze_meervoud` char(100) DEFAULT NULL,
  `Bindwijze_grootboekrekening` int(11) DEFAULT NULL,
  PRIMARY KEY (`Bindwijze`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `BindwijzeVertaling`
--

CREATE TABLE `BindwijzeVertaling` (
  `Bindwijze` varchar(255) NOT NULL,
  `Vertaling` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Bindwijze`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekLocatie`
--

CREATE TABLE `BoekLocatie` (
  `Ean` decimal(13,0) NOT NULL,
  `Magazijnlocatie` char(4) DEFAULT NULL,
  `Magazijnpad` int(11) DEFAULT NULL,
  PRIMARY KEY (`Ean`),
  KEY `Magazijnlocatie` (`Magazijnlocatie`),
  KEY `Magazijnpad` (`Magazijnpad`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `BoekQuotes`
--

CREATE TABLE `BoekQuotes` (
  `quoteId` int(11) NOT NULL AUTO_INCREMENT,
  `Ean` char(13) DEFAULT NULL,
  `quote` text,
  PRIMARY KEY (`quoteId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekThemas`
--

CREATE TABLE `BoekThemas` (
  `Ean` char(13) NOT NULL,
  `Thema` char(20) NOT NULL,
  KEY `NewIndex1` (`Thema`),
  KEY `NewIndex2` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekanderebindwijzen`
--

CREATE TABLE `Boekanderebindwijzen` (
  `Ean` char(13) NOT NULL,
  `Eangekoppeld` char(13) NOT NULL,
  PRIMARY KEY (`Ean`,`Eangekoppeld`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekbrieven`
--

CREATE TABLE `Boekbrieven` (
  `Brief_id` int(11) NOT NULL DEFAULT '0',
  `Brieftitel` char(255) NOT NULL DEFAULT '',
  `Omschrijving` char(255) DEFAULT NULL,
  `Volgorde` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Brief_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Boeken`
--

CREATE TABLE `Boeken` (
  `Ean` char(13) NOT NULL,
  `Uitgever` int(11) DEFAULT NULL,
  `Auteur1` int(11) DEFAULT NULL,
  `Auteur2` int(11) DEFAULT NULL,
  `Auteur3` int(11) DEFAULT NULL,
  `Enanderen` tinyint(3) unsigned NOT NULL DEFAULT '0',
  `Titel` varchar(255) NOT NULL DEFAULT '',
  `Ondertitel` varchar(255) DEFAULT NULL,
  `Orgineletitel` varchar(255) DEFAULT NULL,
  `Naamserie` varchar(255) DEFAULT NULL,
  `Titelserie` varchar(255) DEFAULT NULL,
  `Editie` varchar(100) DEFAULT NULL,
  `Bindwijze` varchar(50) DEFAULT NULL,
  `Aantalblz` smallint(6) DEFAULT NULL,
  `Jaaruitgifte` smallint(6) DEFAULT NULL,
  `Valuta` varchar(4) NOT NULL DEFAULT 'NLG',
  `Prijs` double NOT NULL DEFAULT '0',
  `Aanbiedingsprijs` double DEFAULT NULL,
  `Befprijs` double DEFAULT NULL,
  `Boekstatus` smallint(6) NOT NULL DEFAULT '0',
  `Categorie` smallint(6) NOT NULL DEFAULT '0',
  `Rubriek` varchar(100) DEFAULT NULL,
  `Mlrubriek` varchar(100) DEFAULT NULL,
  `Bijzheden` varchar(255) DEFAULT NULL,
  `Inhoudsopgave` text,
  `Abstract` text,
  `Samenvatting` text,
  `Aanmaakdatum` date NOT NULL DEFAULT '0000-00-00',
  `Laatstgewijzigd` date NOT NULL DEFAULT '0000-00-00',
  `Isgewist` smallint(6) NOT NULL DEFAULT '0',
  `Extraaandacht` smallint(6) NOT NULL DEFAULT '0',
  `Random` smallint(6) NOT NULL DEFAULT '0',
  `Vink1` smallint(6) DEFAULT NULL,
  `Vink2` smallint(6) DEFAULT NULL,
  `Vink3` smallint(6) DEFAULT NULL,
  `Scope` smallint(6) DEFAULT NULL,
  `Vink5` smallint(6) DEFAULT NULL,
  `Vink6` smallint(6) DEFAULT NULL,
  `Vink7` smallint(6) DEFAULT NULL,
  `Vink8` smallint(6) DEFAULT NULL,
  `Vink9` smallint(6) DEFAULT NULL,
  `Vink10` smallint(6) DEFAULT NULL,
  `Vink11` smallint(6) DEFAULT NULL,
  `Vink12` smallint(6) DEFAULT NULL,
  `Vink13` smallint(6) DEFAULT NULL,
  `Vink14` smallint(6) DEFAULT NULL,
  `Vink15` smallint(6) DEFAULT NULL,
  `Vink16` smallint(6) DEFAULT NULL,
  `Vink17` smallint(6) DEFAULT NULL,
  `Vink18` smallint(6) DEFAULT NULL,
  `Vink19` smallint(6) DEFAULT NULL,
  `Vink20` smallint(6) DEFAULT NULL,
  `Uploadstatus` char(1) DEFAULT NULL,
  `Random1` smallint(6) DEFAULT NULL,
  `Random2` smallint(6) DEFAULT NULL,
  `Scoperandom` smallint(6) DEFAULT NULL,
  `Random4` smallint(6) DEFAULT NULL,
  `Random6` smallint(6) DEFAULT NULL,
  `Random7` smallint(6) DEFAULT NULL,
  `Random8` smallint(6) DEFAULT NULL,
  `Random9` smallint(6) DEFAULT NULL,
  `Random10` smallint(6) DEFAULT NULL,
  `Random11` smallint(6) DEFAULT NULL,
  `Random12` smallint(6) DEFAULT NULL,
  `Random13` smallint(6) DEFAULT NULL,
  `Random14` smallint(6) DEFAULT NULL,
  `Random15` smallint(6) DEFAULT NULL,
  `Taalvermelding` varchar(10) DEFAULT NULL,
  `Pw` smallint(6) DEFAULT NULL,
  `Fem` smallint(6) DEFAULT NULL,
  `Dga` smallint(6) DEFAULT NULL,
  `Nive` smallint(6) DEFAULT NULL,
  `Jobnewsrandom` smallint(6) DEFAULT NULL,
  `Niverandom` smallint(6) DEFAULT NULL,
  `Pwrandom` smallint(6) DEFAULT NULL,
  `Vink21` smallint(6) DEFAULT NULL,
  `Vink22` smallint(6) DEFAULT NULL,
  `Vink23` smallint(6) DEFAULT NULL,
  `Vink24` smallint(6) DEFAULT NULL,
  `Vink25` smallint(6) DEFAULT NULL,
  `Vink4` smallint(6) DEFAULT NULL,
  `Random3` smallint(6) DEFAULT NULL,
  `Vink26` smallint(6) DEFAULT NULL,
  `Vink27` smallint(6) DEFAULT NULL,
  `Vink28` smallint(6) DEFAULT NULL,
  `Vink29` smallint(6) DEFAULT NULL,
  `Vink30` smallint(6) DEFAULT NULL,
  `Vink31` smallint(6) DEFAULT NULL,
  `Vink32` smallint(6) DEFAULT NULL,
  `Vink33` smallint(6) DEFAULT NULL,
  `Vink34` smallint(6) DEFAULT NULL,
  `Vink35` smallint(6) DEFAULT NULL,
  `Vink36` smallint(6) DEFAULT NULL,
  `Vink37` smallint(6) DEFAULT NULL,
  `Vink38` smallint(6) DEFAULT NULL,
  `Vink39` smallint(6) DEFAULT NULL,
  `Vink40` smallint(6) DEFAULT NULL,
  `Random21` smallint(6) DEFAULT NULL,
  `Random22` smallint(6) DEFAULT NULL,
  `Random23` smallint(6) DEFAULT NULL,
  `Random24` smallint(6) DEFAULT NULL,
  `Random25` smallint(6) DEFAULT NULL,
  `Random26` smallint(6) DEFAULT NULL,
  `Random27` smallint(6) DEFAULT NULL,
  `Random28` smallint(6) DEFAULT NULL,
  `Random29` smallint(6) DEFAULT NULL,
  `Random30` smallint(6) DEFAULT NULL,
  `Random31` smallint(6) DEFAULT NULL,
  `Random32` smallint(6) DEFAULT NULL,
  `Random33` smallint(6) DEFAULT NULL,
  `Random34` smallint(6) DEFAULT NULL,
  `Random35` smallint(6) DEFAULT NULL,
  `Random36` smallint(6) DEFAULT NULL,
  `Random37` smallint(6) DEFAULT NULL,
  `Random38` smallint(6) DEFAULT NULL,
  `Random39` smallint(6) DEFAULT NULL,
  `Random40` smallint(6) DEFAULT NULL,
  `Artgroep` varchar(4) DEFAULT NULL,
  `Aanbiedingvanaf` date DEFAULT NULL,
  `Aanbiedingtotenmet` date DEFAULT NULL,
  `Cd` smallint(6) DEFAULT NULL,
  `Laatstemutatiecbart` date DEFAULT NULL,
  `Laatstemutatiecbbesch` date DEFAULT NULL,
  `Testimonials` text,
  `Cbstatus` smallint(6) DEFAULT NULL,
  `Druk` smallint(6) DEFAULT NULL,
  `Artgroepid` int(11) DEFAULT NULL,
  `Btwcode` char(1) DEFAULT NULL,
  `Boeksoort` char(1) DEFAULT NULL,
  `Korting_0_9` double DEFAULT NULL,
  `Korting_10_29` double DEFAULT NULL,
  `Korting_30_99` double DEFAULT NULL,
  `Korting_100_249` double DEFAULT NULL,
  `Korting_250_499` double DEFAULT NULL,
  `Korting_500_999` double DEFAULT NULL,
  `Aangepastekorting_0_9` double DEFAULT NULL,
  `Aangepastekorting_10_29` double DEFAULT NULL,
  `Aangepastekorting_30_99` double DEFAULT NULL,
  `Aangepastekorting_100_249` double DEFAULT NULL,
  `Aangepastekorting_250_499` double DEFAULT NULL,
  `Aangepastekorting_500_999` double DEFAULT NULL,
  `Kortingmp` double DEFAULT NULL,
  `Aangepastekortingmp` double DEFAULT NULL,
  `Brief` varchar(255) DEFAULT NULL,
  `Btwsplitsing` smallint(6) DEFAULT NULL,
  `Prijsbtwsplitsing_normaal_nul` double DEFAULT NULL,
  `Prijsbtwsplitsing_normaal_laag` double DEFAULT NULL,
  `Prijsbtwsplitsing_normaal_hoog` double DEFAULT NULL,
  `Prijsbtwsplitsing_aanbieding_nul` double DEFAULT NULL,
  `Prijsbtwsplitsing_aanbieding_laag` double DEFAULT NULL,
  `Prijsbtwsplitsing_aanbieding_hoog` double DEFAULT NULL,
  `Productid` int(11) DEFAULT NULL,
  `Clubprijs1` double DEFAULT NULL,
  `Clubprijs2` double DEFAULT NULL,
  `Btwcode_tbv_export` char(1) DEFAULT NULL,
  `Magazijnsoort` char(50) DEFAULT NULL,
  `Verschijningsdatum` date DEFAULT NULL,
  `Afwijkendbestelpuntid` int(11) DEFAULT NULL,
  `Afwijkendbestelwijzeid` int(11) DEFAULT NULL,
  `Isbn` char(10) DEFAULT NULL,
  `Afwijkendminimalebestelhoeveelheid` int(11) DEFAULT NULL,
  `Voorraadartikel` smallint(6) DEFAULT NULL,
  `Bestelpuntuitgeverid` int(11) DEFAULT NULL,
  `Bestelwijze` char(100) DEFAULT NULL,
  `Minimalebestelhoeveelheid` int(11) DEFAULT NULL,
  `Rubriekjuridisch` char(100) DEFAULT NULL,
  `Magazijnlocatienummer` char(20) CHARACTER SET ascii DEFAULT NULL,
  `Aangepastemagazijnlocatienummer` char(20) DEFAULT NULL,
  `Hoogte` double DEFAULT NULL,
  `Breedte` double DEFAULT NULL,
  `Dikte` double DEFAULT NULL,
  `Gewicht` double DEFAULT NULL,
  `Actiesoortid` int(11) DEFAULT NULL,
  `Geenprijsupdatecb` smallint(6) DEFAULT NULL,
  `Historieovernemen` smallint(6) DEFAULT NULL,
  `Herdrukdatum` date DEFAULT NULL,
  `Nieuw` smallint(6) DEFAULT NULL,
  `Inpakken` smallint(6) DEFAULT NULL,
  `Porto` smallint(6) DEFAULT NULL,
  `Evenement` smallint(6) DEFAULT NULL,
  `Download` smallint(6) DEFAULT NULL,
  `Ideal` smallint(6) DEFAULT NULL,
  `Socialdrm` smallint(6) DEFAULT NULL,
  `Boeken_inprijsopgeheven` smallint(6) DEFAULT NULL,
  `Boeken_cvdm_gemaild` smallint(6) DEFAULT NULL,
  `Boeken_cvdm_datum` date DEFAULT NULL,
  `Boeken_cvdm_aantal` int(11) DEFAULT NULL,
  `Boeken_minimalevoorraad` int(11) DEFAULT NULL,
  `Boeken_nietmeerbestellen` smallint(6) DEFAULT NULL,
  `Boeken_afbouwen` smallint(6) DEFAULT NULL,
  `Boeken_geenporto` smallint(6) DEFAULT NULL,
  `Boeken_verborgenboek` smallint(6) DEFAULT NULL,
  `Boeken_projectcode` int(11) DEFAULT NULL,
  `Boeken_levertijd` int(11) DEFAULT NULL,
  PRIMARY KEY (`Ean`),
  UNIQUE KEY `i1` (`Ean`),
  KEY `i2` (`Uitgever`),
  KEY `i3` (`Auteur1`),
  KEY `i4` (`Auteur2`),
  KEY `i5` (`Auteur3`),
  KEY `i6` (`Jaaruitgifte`),
  KEY `i7` (`Aanbiedingsprijs`),
  KEY `i8` (`Boekstatus`),
  KEY `i9` (`Rubriek`),
  KEY `i10` (`Aanmaakdatum`),
  KEY `i11` (`Laatstgewijzigd`),
  KEY `i12` (`Isgewist`),
  KEY `i13` (`Extraaandacht`),
  KEY `i14` (`Random`),
  KEY `i15` (`Naamserie`),
  KEY `i16` (`Titelserie`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=COMPRESSED;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_insert_boeken` AFTER INSERT ON `Boeken` 
    FOR EACH ROW BEGIN
	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_update_boeken` AFTER UPDATE ON `Boeken` 
    FOR EACH ROW BEGIN
	
    END */;;
DELIMITER ;

--
-- Table structure for table `BoekenExtra`
--

CREATE TABLE `BoekenExtra` (
  `Ean` char(13) DEFAULT NULL,
  `Extra` varchar(255) DEFAULT NULL,
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenPrijsBuckets`
--

CREATE TABLE `BoekenPrijsBuckets` (
  `Ean` char(13) DEFAULT NULL,
  `Extra` varchar(255) DEFAULT NULL,
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenSearch`
--

CREATE TABLE `BoekenSearch` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `Snelzoeken` text,
  `Titelzoeken` text,
  `Samenvatting` text,
  `Rubriek` varchar(100) DEFAULT NULL,
  `Serie` varchar(255) DEFAULT NULL,
  `Jaaruitgifte` int(11) DEFAULT NULL,
  `Aanmaakdatum` date DEFAULT NULL,
  `Recensiedatum` date DEFAULT NULL,
  `Prijs` float(8,2) DEFAULT NULL,
  `Boekstatus` int(11) DEFAULT NULL,
  `Productsoort` varchar(100) DEFAULT NULL,
  `Taal` varchar(6) DEFAULT NULL,
  `Auteur1` int(11) DEFAULT NULL,
  `Auteur2` int(11) DEFAULT NULL,
  `Auteur3` int(11) DEFAULT NULL,
  `Uitgeverid` int(11) DEFAULT NULL,
  `Achternaam` varchar(150) DEFAULT NULL,
  PRIMARY KEY (`Ean`),
  KEY `Boekstatus` (`Boekstatus`),
  KEY `Productsoort` (`Productsoort`),
  KEY `Prijs` (`Prijs`),
  KEY `Rubriek` (`Rubriek`),
  KEY `Serie` (`Serie`),
  KEY `Jaaruitgifte` (`Jaaruitgifte`),
  KEY `Aanmaakdatum` (`Aanmaakdatum`),
  KEY `Recensiedatum` (`Recensiedatum`),
  KEY `Taal` (`Taal`),
  KEY `Achternaam` (`Achternaam`),
  KEY `Auteur1` (`Auteur1`),
  KEY `Auteur2` (`Auteur2`),
  KEY `Auteur3` (`Auteur3`),
  KEY `Uitgeverid` (`Uitgeverid`),
  FULLTEXT KEY `Snelzoeken` (`Snelzoeken`),
  FULLTEXT KEY `Samenvatting` (`Samenvatting`),
  FULLTEXT KEY `Titelzoeken` (`Titelzoeken`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenSearchTmp`
--

CREATE TABLE `BoekenSearchTmp` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `Snelzoeken` text,
  `Titelzoeken` text,
  `Samenvatting` text,
  `Rubriek` varchar(100) DEFAULT NULL,
  `Serie` varchar(255) DEFAULT NULL,
  `Jaaruitgifte` int(11) DEFAULT NULL,
  `Aanmaakdatum` date DEFAULT NULL,
  `Recensiedatum` date DEFAULT NULL,
  `Prijs` float(8,2) DEFAULT NULL,
  `Boekstatus` int(11) DEFAULT NULL,
  `Productsoort` varchar(100) DEFAULT NULL,
  `Taal` varchar(6) DEFAULT NULL,
  `Auteur1` int(11) DEFAULT NULL,
  `Auteur2` int(11) DEFAULT NULL,
  `Auteur3` int(11) DEFAULT NULL,
  `Uitgeverid` int(11) DEFAULT NULL,
  `Achternaam` varchar(150) DEFAULT NULL,
  PRIMARY KEY (`Ean`),
  KEY `Boekstatus` (`Boekstatus`),
  KEY `Productsoort` (`Productsoort`),
  KEY `Prijs` (`Prijs`),
  KEY `Rubriek` (`Rubriek`),
  KEY `Serie` (`Serie`),
  KEY `Jaaruitgifte` (`Jaaruitgifte`),
  KEY `Aanmaakdatum` (`Aanmaakdatum`),
  KEY `Recensiedatum` (`Recensiedatum`),
  KEY `Taal` (`Taal`),
  KEY `Achternaam` (`Achternaam`),
  KEY `Auteur1` (`Auteur1`),
  KEY `Auteur2` (`Auteur2`),
  KEY `Auteur3` (`Auteur3`),
  KEY `Uitgeverid` (`Uitgeverid`),
  FULLTEXT KEY `Snelzoeken` (`Snelzoeken`),
  FULLTEXT KEY `Samenvatting` (`Samenvatting`),
  FULLTEXT KEY `Titelzoeken` (`Titelzoeken`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boeken_RecensieTelling`
--

CREATE TABLE `Boeken_RecensieTelling` (
  `Ean` char(13) DEFAULT NULL,
  `AantalRecensies` bigint(21) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boeken_met_aanbiedingsprijs`
--

CREATE TABLE `Boeken_met_aanbiedingsprijs` (
  `Ean` tinyint(4) NOT NULL,
  `EuroPrijs` tinyint(4) NOT NULL,
  `VastePrijs` tinyint(4) NOT NULL,
  `AanbiedingsPrijs` tinyint(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `Boeken_met_prijs`
--

CREATE TABLE `Boeken_met_prijs` (
  `Ean` tinyint(4) NOT NULL,
  `HuidigeEuroPrijs` tinyint(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `Boekgekoppeldean`
--

CREATE TABLE `Boekgekoppeldean` (
  `Ean` char(13) NOT NULL,
  `Eangekoppeld` char(13) NOT NULL,
  PRIMARY KEY (`Ean`,`Eangekoppeld`),
  KEY `i1` (`Ean`),
  KEY `i2` (`Eangekoppeld`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Boekstatus_Oud`
--

CREATE TABLE `Boekstatus_Oud` (
  `Ean` char(13) NOT NULL,
  `BoekstatusOud` int(11) DEFAULT NULL,
  `BoekstatusNieuw` int(11) DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boektrefwoorden`
--

CREATE TABLE `Boektrefwoorden` (
  `Ean` char(13) DEFAULT NULL,
  `Trefwid` int(11) DEFAULT NULL,
  `Isbn` char(10) DEFAULT NULL,
  UNIQUE KEY `Ean` (`Ean`,`Trefwid`),
  KEY `i1` (`Ean`),
  KEY `i2` (`Trefwid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Boekvervangtean`
--

CREATE TABLE `Boekvervangtean` (
  `Ean` char(13) NOT NULL,
  `Vervangtean` char(13) NOT NULL,
  PRIMARY KEY (`Ean`,`Vervangtean`),
  KEY `i1` (`Ean`),
  KEY `i2` (`Vervangtean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Btwcode`
--

CREATE TABLE `Btwcode` (
  `Omschrijving` char(50) DEFAULT NULL,
  `Btwcode` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `Btwcodeartikelgroep`
--

CREATE TABLE `Btwcodeartikelgroep` (
  `Artgroepid` int(11) NOT NULL,
  `Btwcode` char(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Editieeans`
--

CREATE TABLE `Editieeans` (
  `Id` int(11) DEFAULT NULL,
  `Editieid` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Editieid`),
  KEY `i3` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Edities`
--

CREATE TABLE `Edities` (
  `Id` int(11) DEFAULT NULL,
  `Naam` varchar(50) NOT NULL DEFAULT '',
  `Verschijningsdatum` date DEFAULT NULL,
  `Aanmaakdatum` date NOT NULL DEFAULT '0000-00-00',
  `Laatstgewijzigd` date NOT NULL DEFAULT '0000-00-00',
  KEY `i1` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementartikelen`
--

CREATE TABLE `Evenementartikelen` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Artikelid` int(11) NOT NULL DEFAULT '0',
  `Evenementnummer` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Artikelid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementauteurs`
--

CREATE TABLE `Evenementauteurs` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Auteurid` int(11) NOT NULL DEFAULT '0',
  `Evenementnummer` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Auteurid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementeans`
--

CREATE TABLE `Evenementeans` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Evenementean` char(13) NOT NULL,
  `Evenementnummer` char(13) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Evenementean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementedities`
--

CREATE TABLE `Evenementedities` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Editieid` int(11) NOT NULL DEFAULT '0',
  `Evenementnummer` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Editieid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementen`
--

CREATE TABLE `Evenementen` (
  `Ean` char(13) NOT NULL,
  `Titel` varchar(100) NOT NULL DEFAULT '',
  `Begindatum` date DEFAULT NULL,
  `Rekeningbegindatum` smallint(6) NOT NULL DEFAULT '0',
  `Einddatum` date DEFAULT NULL,
  `Rekeningeinddatum` smallint(6) NOT NULL DEFAULT '0',
  `Uitgeverid` int(11) DEFAULT NULL,
  `Type` varchar(100) NOT NULL DEFAULT '',
  `Prijs` double(8,4) DEFAULT NULL,
  `Aanbiedingsprijs` double(8,4) DEFAULT NULL,
  `Korteomschrijving` text,
  `Samenvatting` text,
  `Aanmaakdatum` date NOT NULL DEFAULT '0000-00-00',
  `Laatstgewijzigd` date NOT NULL DEFAULT '0000-00-00',
  `Nummer` char(10) DEFAULT NULL,
  KEY `i1` (`Ean`),
  KEY `i2` (`Uitgeverid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementprofielen`
--

CREATE TABLE `Evenementprofielen` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Profielid` int(11) NOT NULL DEFAULT '0',
  `Evenementnummer` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Profielid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementrubrieken`
--

CREATE TABLE `Evenementrubrieken` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Rubriek` char(100) NOT NULL DEFAULT '',
  `Evenementnummer` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Rubriek`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementtrefwoorden`
--

CREATE TABLE `Evenementtrefwoorden` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Ean` char(13) NOT NULL,
  `Trefwid` int(11) NOT NULL DEFAULT '0',
  `Evenementnummer` char(10) DEFAULT NULL,
  KEY `i1` (`Id`),
  KEY `i2` (`Ean`),
  KEY `i3` (`Trefwid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Evenementtypen`
--

CREATE TABLE `Evenementtypen` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Omschrijving` char(100) NOT NULL DEFAULT '',
  KEY `i1` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `EventAuteurs`
--

CREATE TABLE `EventAuteurs` (
  `Ean` char(13) NOT NULL,
  `AuteurId` int(11) NOT NULL,
  `Volgnummer` tinyint(2) NOT NULL,
  `Prijs` decimal(7,2) NOT NULL DEFAULT '0.00',
  PRIMARY KEY (`Ean`,`AuteurId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EventBoeken`
--

CREATE TABLE `EventBoeken` (
  `Ean` char(13) NOT NULL,
  `BoekEan` char(13) NOT NULL,
  `Volgnummer` tinyint(2) NOT NULL,
  PRIMARY KEY (`Ean`,`BoekEan`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EventKosten`
--

CREATE TABLE `EventKosten` (
  `KostenId` int(11) NOT NULL AUTO_INCREMENT,
  `Ean` char(13) CHARACTER SET latin1 NOT NULL,
  `Omschrijving` varchar(200) NOT NULL,
  `Prijs` decimal(7,2) NOT NULL,
  PRIMARY KEY (`KostenId`),
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `EventLocaties`
--

CREATE TABLE `EventLocaties` (
  `LocatieId` int(11) NOT NULL AUTO_INCREMENT,
  `Locatienaam` varchar(75) NOT NULL,
  `Locatieomschrijving` text NOT NULL,
  `Googlemaps` varchar(75) NOT NULL,
  `LocatieAfbeelding` varchar(100) NOT NULL,
  PRIMARY KEY (`LocatieId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Events`
--

CREATE TABLE `Events` (
  `Ean` char(13) CHARACTER SET latin1 NOT NULL,
  `Tijd` varchar(75) NOT NULL,
  `ProgrammaOmschrijving` text NOT NULL,
  `Programma` text NOT NULL,
  `Preview` varchar(75) NOT NULL COMMENT 'url naar preview',
  `Pakketwaarde` text NOT NULL,
  `Voorwaarden` text NOT NULL,
  `Impressie` varchar(75) NOT NULL COMMENT 'url naar impressie',
  `LocatieId` int(11) NOT NULL,
  `Afgesloten` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `ImageSizes`
--

CREATE TABLE `ImageSizes` (
  `Ean` char(13) NOT NULL,
  `ImageExists` tinyint(4) DEFAULT NULL,
  `Width` int(11) DEFAULT NULL,
  `Height` int(11) DEFAULT NULL,
  `Hash` char(64) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Leveringswijze`
--

CREATE TABLE `Leveringswijze` (
  `Id` int(11) NOT NULL,
  `Omschrijving` char(100) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `OnregelmatigeCovers`
--

CREATE TABLE `OnregelmatigeCovers` (
  `ean` char(13) NOT NULL,
  `is_onregelmatig` tinyint(1) DEFAULT NULL,
  `geen_schaduw` tinyint(1) DEFAULT NULL,
  `datum` datetime DEFAULT NULL,
  PRIMARY KEY (`ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Producttype`
--

CREATE TABLE `Producttype` (
  `Productsoort` varchar(50) NOT NULL,
  `Producttype` varchar(100) DEFAULT NULL,
  `URLPrefix` varchar(50) NOT NULL,
  `IsPakket` tinyint(4) NOT NULL DEFAULT '0',
  `IsDownload` tinyint(4) NOT NULL DEFAULT '0',
  `IsSeminar` tinyint(4) NOT NULL DEFAULT '0',
  `IsAbo` tinyint(4) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Profielen`
--

CREATE TABLE `Profielen` (
  `Id` int(11) NOT NULL DEFAULT '0',
  `Naam` char(80) NOT NULL DEFAULT '',
  `Aanmaakdatum` date NOT NULL DEFAULT '0000-00-00',
  `Laatstgewijzigd` date NOT NULL DEFAULT '0000-00-00',
  KEY `i1` (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Profieltrefwoorden`
--

CREATE TABLE `Profieltrefwoorden` (
  `Profielid` int(11) NOT NULL DEFAULT '0',
  `Trefwid` int(11) NOT NULL DEFAULT '0',
  KEY `i1` (`Profielid`),
  KEY `i2` (`Trefwid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `RankingTop_30d_Inc_Historie`
--

CREATE TABLE `RankingTop_30d_Inc_Historie` (
  `Historieovernemen` tinyint(4) NOT NULL,
  `Ean` tinyint(4) NOT NULL,
  `30d` tinyint(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Table structure for table `Recensenten`
--

CREATE TABLE `Recensenten` (
  `Recensentid` int(11) DEFAULT NULL,
  `Naam` varchar(150) NOT NULL DEFAULT '',
  `Voorvoegsels` varchar(20) DEFAULT NULL,
  `Voorletters` varchar(50) DEFAULT NULL,
  `Voornaam` varchar(150) DEFAULT NULL,
  `Bedrijfsnaam` varchar(255) DEFAULT NULL,
  `Titels` varchar(50) DEFAULT NULL,
  `Omschrijving` text,
  `Adres` varchar(255) NOT NULL DEFAULT '',
  `Postcode` varchar(7) DEFAULT NULL,
  `Woonplaats` varchar(255) DEFAULT NULL,
  `Telefoonwerk` varchar(25) DEFAULT NULL,
  `Telefoonprive` varchar(25) DEFAULT NULL,
  `Telefoonmobiel` varchar(25) DEFAULT NULL,
  `Fax` varchar(25) DEFAULT NULL,
  `Email` varchar(255) DEFAULT NULL,
  `Expemail` smallint(6) DEFAULT '0',
  `Bedrijfsurl` text,
  `Wwwadres` text,
  `Websitelinken` smallint(6) DEFAULT NULL,
  KEY `i1` (`Recensentid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Recensies`
--

CREATE TABLE `Recensies` (
  `Ean` char(13) DEFAULT NULL,
  `Recensentid` int(11) DEFAULT NULL,
  `Recensietekst` text NOT NULL,
  `Aanmaakdatum` date NOT NULL DEFAULT '0000-00-00',
  `Laatstgewijzigd` date NOT NULL DEFAULT '0000-00-00',
  `Bronvermelding` varchar(255) DEFAULT NULL,
  `Urlbron` text,
  `Takeitnow` smallint(6) DEFAULT NULL,
  `Pcm` smallint(6) DEFAULT NULL,
  `Idg` smallint(6) DEFAULT NULL,
  `Site4` smallint(6) DEFAULT NULL,
  `Site5` smallint(6) DEFAULT NULL,
  `Site6` smallint(6) DEFAULT NULL,
  `Site7` smallint(6) DEFAULT NULL,
  `Site8` smallint(6) DEFAULT NULL,
  `Site9` smallint(6) DEFAULT NULL,
  `Site10` smallint(6) DEFAULT NULL,
  `Site11` smallint(6) DEFAULT NULL,
  `Site12` smallint(6) DEFAULT NULL,
  `Site13` smallint(6) DEFAULT NULL,
  `Site14` smallint(6) DEFAULT NULL,
  `Site15` smallint(6) DEFAULT NULL,
  `Site16` smallint(6) DEFAULT NULL,
  `Site17` smallint(6) DEFAULT NULL,
  `Site18` smallint(6) DEFAULT NULL,
  `Site19` smallint(6) DEFAULT NULL,
  `Site20` smallint(6) DEFAULT NULL,
  `Editieid` int(11) DEFAULT NULL,
  `Infocus` smallint(6) DEFAULT NULL,
  `Site1` smallint(6) DEFAULT NULL,
  `Site2` smallint(6) DEFAULT NULL,
  `Site3` smallint(6) DEFAULT NULL,
  `Isbn` char(10) DEFAULT NULL,
  `Pw` smallint(6) DEFAULT NULL,
  `Fem` smallint(6) DEFAULT NULL,
  `Jobnews` smallint(6) DEFAULT NULL,
  `Scope` smallint(6) DEFAULT NULL,
  `Marketeer` smallint(6) DEFAULT NULL,
  `Managementcom` smallint(6) DEFAULT NULL,
  `Managementnl` smallint(6) DEFAULT NULL,
  `Nive` smallint(6) DEFAULT NULL,
  `Baak` smallint(6) DEFAULT NULL,
  `Management` smallint(6) DEFAULT NULL,
  `12know` smallint(6) DEFAULT NULL,
  `Beursplein5` smallint(6) DEFAULT NULL,
  `Fd` smallint(6) DEFAULT NULL,
  `Claessens` smallint(6) DEFAULT NULL,
  KEY `i1` (`Ean`),
  KEY `i2` (`Recensentid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Revisie`
--

CREATE TABLE `Revisie` (
  `CurrentRevision` char(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Rubrieken`
--

CREATE TABLE `Rubrieken` (
  `Omschrijving` varchar(100) NOT NULL DEFAULT '',
  KEY `i1` (`Omschrijving`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Titelserie`
--

CREATE TABLE `Titelserie` (
  `Omschrijving` varchar(100) NOT NULL DEFAULT '',
  `Uitgebreideomschrijving` text,
  PRIMARY KEY (`Omschrijving`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Trefwoorden`
--

CREATE TABLE `Trefwoorden` (
  `Id` int(11) DEFAULT NULL,
  `Omschrijving` varchar(100) NOT NULL DEFAULT '',
  KEY `i1` (`Id`),
  KEY `i2` (`Omschrijving`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `TwTemp`
--

CREATE TABLE `TwTemp` (
  `Ean` decimal(13,0) NOT NULL DEFAULT '0',
  `Tw` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Uitgevers`
--

CREATE TABLE `Uitgevers` (
  `Uitgeverid` int(11) DEFAULT NULL,
  `Klantnummer` varchar(50) DEFAULT NULL,
  `Naamuitgever` varchar(50) NOT NULL DEFAULT '',
  `Omschrijving` text,
  `Adres` varchar(255) DEFAULT NULL,
  `Postcode` varchar(7) DEFAULT NULL,
  `Woonplaats` varchar(255) DEFAULT NULL,
  `Telefoon` varchar(20) DEFAULT NULL,
  `Fax` varchar(20) DEFAULT NULL,
  `Email` varchar(255) DEFAULT NULL,
  `Contactpers` varchar(50) DEFAULT NULL,
  `Leveringswijze` varchar(50) DEFAULT NULL,
  `Leveringswijzeid` int(11) DEFAULT NULL,
  `Kortingmp_a` double DEFAULT NULL,
  `Kortingmp_s` double DEFAULT NULL,
  `Kortingmp_w` double DEFAULT NULL,
  `Kortingmp_o` double DEFAULT NULL,
  `Kortingmp_g` double DEFAULT NULL,
  `Magazijnlocatienummer` int(11) DEFAULT NULL,
  `Crediteurnummer` int(11) DEFAULT NULL,
  `Bestelwijzeid` int(11) DEFAULT NULL,
  `Bestelpuntid` int(11) DEFAULT NULL,
  `Aanhef` text,
  `Afsluiting` text,
  `Minimalebestelhoeveelheid` int(11) DEFAULT NULL,
  `Emailvoorvragen` char(50) DEFAULT NULL,
  `Afspraak` smallint(6) DEFAULT NULL,
  `Magazijnlocatienummerbulk` int(11) DEFAULT NULL,
  `Email_ebook` char(255) DEFAULT NULL,
  `Automatisch_rapporteren` smallint(6) DEFAULT NULL,
  `Kortingmp_e` double DEFAULT NULL,
  `Rapportageviacb` smallint(6) DEFAULT NULL,
  `Uitgevers_rapportagevanaf` date DEFAULT NULL,
  `Uitgevers_levertijd` int(11) DEFAULT NULL,
  KEY `i1` (`Uitgeverid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Uitgevers3`
--

CREATE TABLE `Uitgevers3` (
  `Uitgeverid` int(11) DEFAULT NULL,
  `Klantnummer` varchar(50) DEFAULT NULL,
  `Naamuitgever` varchar(50) NOT NULL DEFAULT '',
  `Omschrijving` text,
  `Adres` varchar(255) DEFAULT NULL,
  `Postcode` varchar(7) DEFAULT NULL,
  `Woonplaats` varchar(255) DEFAULT NULL,
  `Telefoon` varchar(20) DEFAULT NULL,
  `Fax` varchar(20) DEFAULT NULL,
  `Email` varchar(255) DEFAULT NULL,
  `Contactpers` varchar(50) DEFAULT NULL,
  `Leveringswijze` varchar(50) DEFAULT NULL,
  `Leveringswijzeid` int(11) DEFAULT NULL,
  `Kortingmp_a` double DEFAULT NULL,
  `Kortingmp_s` double DEFAULT NULL,
  `Kortingmp_w` double DEFAULT NULL,
  `Kortingmp_o` double DEFAULT NULL,
  `Kortingmp_g` double DEFAULT NULL,
  `Magazijnlocatienummer` int(11) DEFAULT NULL,
  `Crediteurnummer` int(11) DEFAULT NULL,
  `Bestelwijzeid` int(11) DEFAULT NULL,
  `Bestelpuntid` int(11) DEFAULT NULL,
  `Aanhef` text,
  `Afsluiting` text,
  `Minimalebestelhoeveelheid` int(11) DEFAULT NULL,
  `Emailvoorvragen` char(255) DEFAULT NULL,
  `Afspraak` smallint(6) DEFAULT NULL,
  `Magazijnlocatienummerbulk` int(11) DEFAULT NULL,
  `Email_ebook` char(255) DEFAULT NULL,
  `Automatisch_rapporteren` smallint(6) DEFAULT NULL,
  `Kortingmp_e` double DEFAULT NULL,
  `Rapportageviacb` smallint(6) DEFAULT NULL,
  `Uitgevers_rapportagevanaf` date DEFAULT NULL,
  `Uitgevers_levertijd` int(11) DEFAULT NULL,
  KEY `i1` (`Uitgeverid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Valuta`
--

CREATE TABLE `Valuta` (
  `Soort` varchar(4) NOT NULL DEFAULT '',
  `Omschrijving` varchar(100) NOT NULL DEFAULT '',
  `Formuleconstante` double NOT NULL DEFAULT '0',
  `Formulevariabele` double NOT NULL DEFAULT '0',
  PRIMARY KEY (`Soort`),
  KEY `i1` (`Soort`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

--
-- Table structure for table `Valuta_new`
--

CREATE TABLE `Valuta_new` (
  `Soort` varchar(4) NOT NULL DEFAULT '',
  `Omschrijving` varchar(100) NOT NULL DEFAULT '',
  `Formuleconstante` double NOT NULL DEFAULT '0',
  `Formulevariabele` double NOT NULL DEFAULT '0',
  `gewenstkortingsperc` double NOT NULL DEFAULT '0',
  KEY `i1` (`Soort`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `WinkelkarVervangingen`
--

CREATE TABLE `WinkelkarVervangingen` (
  `OrigineelEan` char(13) NOT NULL,
  `VervangendEan` char(13) NOT NULL,
  `Prijs` double(10,2) NOT NULL,
  PRIMARY KEY (`OrigineelEan`,`VervangendEan`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `event_sprekers`
--

/*!50001 DROP VIEW IF EXISTS `event_sprekers`*/;
/*!50001 CREATE TABLE `event_sprekers` (
  `ean` tinyint NOT NULL,
  `auteurid` tinyint NOT NULL,
  `vlg` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `koers`
--

CREATE TABLE `koers` (
  `munt` varchar(10) CHARACTER SET utf8 NOT NULL,
  `waarde` double NOT NULL,
  `datum` date NOT NULL,
  `timestamp` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`munt`,`datum`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping routines for database 'Test_Boeken'
--
/*!50003 DROP FUNCTION IF EXISTS `btw_deler` */;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `btw_deler`( inean CHAR(13) ) RETURNS double
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE rv DOUBLE;
	DECLARE c CHAR(1);
	SELECT Btwcode_tbv_export INTO c FROM Managementboek_Boeken.Boeken WHERE Ean = inean;
	
	IF c = 'I' THEN 
		SET rv = 1.19;
	ELSEIF rv = 'H' THEN 
		SET rv = 1;
	ELSEIF rv = '0' THEN
		SET rv = 1;
	ELSEIF rv = '4' THEN
		SET rv = 1.06;
	ELSE
		SET rv = 1;
	END IF;
	RETURN rv;
    END ;;
DELIMITER ;
/*!50003 DROP FUNCTION IF EXISTS `calc_prijs` */;
DELIMITER ;;
CREATE DEFINER=`rutger`@`%` FUNCTION `calc_prijs`( _prijs DECIMAL( 8, 3 ) , _valuta VARCHAR(4)  ) RETURNS decimal(8,2)
    READS SQL DATA
    DETERMINISTIC
BEGIN
	DECLARE prijs2 NUMERIC(8,3);
	SELECT ROUND( Formuleconstante + _prijs * Formulevariabele, 2) INTO prijs2 FROM Valuta WHERE Soort = _valuta;
	RETURN prijs2;
    END ;;
DELIMITER ;
/*!50003 DROP FUNCTION IF EXISTS `mpkorting_boek` */;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `mpkorting_boek`( boek_ean char(13) ) RETURNS double
    READS SQL DATA
BEGIN
	DECLARE rv DOUBLE;
	SELECT IF( Aangepastekortingmp > 0, Aangepastekortingmp, Kortingmp ) INTO rv FROM Managementboek_Boeken.Boeken WHERE Ean = boek_ean;
	RETURN rv;
    END ;;
DELIMITER ;
/*!50003 DROP FUNCTION IF EXISTS `VervangendeEans` */;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` FUNCTION `VervangendeEans`( _ean NUMERIC( 13 ) ) RETURNS varchar(255) CHARSET latin1
    READS SQL DATA
BEGIN
	DECLARE rv VARCHAR(255);
	SELECT IFNULL( GROUP_CONCAT( Vervangtean SEPARATOR ' ' ), '' ) INTO rv  FROM Managementboek_Boeken.Boekvervangtean WHERE VervangtEan <> Ean AND Ean = _ean;
	RETURN rv;
    END ;;
DELIMITER ;
/*!50003 DROP PROCEDURE IF EXISTS `create_boekenextra` */;
DELIMITER ;;
CREATE DEFINER=`sander`@`%` PROCEDURE `create_boekenextra`()
    MODIFIES SQL DATA
BEGIN
	DECLARE avg_rating FLOAT;
	DECLARE num_rating FLOAT;
	
	SELECT AVG( gemiddeld_stemmen ) INTO avg_rating FROM Managementboek_Klanten.BoekenTags WHERE aantal_stemmen > 0;
	SELECT 0.5*AVG( aantal_stemmen ) INTO num_rating FROM Managementboek_Klanten.BoekenTags WHERE aantal_stemmen > 0;
	UPDATE Managementboek_Klanten.BoekenTags SET stemmen_ranking = 0 WHERE aantal_stemmen = 0;	
	DROP TEMPORARY TABLE IF EXISTS Tmp.Stemmen;
	CREATE TEMPORARY TABLE Tmp.Stemmen ( Ean CHAR(13) PRIMARY KEY, Aantal INT, Gemiddeld DOUBLE, Ranking INT )
	SELECT 
	  Ean, SUM(Stemmen) AS Aantal, IFNULL( SUM( Stemmen * Gemiddeld ) / SUM( Stemmen ), 0 ) AS Gemiddeld, 0 AS Ranking
	FROM
	  Managementboek_Klanten.VogooAvg VA 
	  JOIN 
	    (SELECT V.Vervangtean AS Ean FROM Managementboek_Boeken.Boekanderebindwijzen A JOIN Managementboek_Boeken.Boekvervangtean V ON (V.Ean = A.Eangekoppeld) 
	    UNION
	    SELECT V.Vervangtean AS Ean FROM Managementboek_Boeken.Boekvervangtean V 
	    ) A USING (Ean)
	    GROUP BY Ean;
	SET @TotaalGemiddeld := ( SELECT AVG(Aantal*Gemiddeld) FROM Tmp.Stemmen );
	SET @TotaalAantal    := ( SELECT AVG(Aantal) FROM Tmp.Stemmen );
	UPDATE Tmp.Stemmen SET Ranking = 10000 * ( (Aantal / ( Aantal + @TotaalAantal )) * Gemiddeld + ( @TotaalAantal / ( Aantal + @TotaalAantal ) * @TotaalGemiddeld ) );
	UPDATE Managementboek_Klanten.BoekenTags JOIN Tmp.Stemmen USING ( Ean ) SET stemmen_ranking = Ranking WHERE aantal_stemmen > 0;
	
	CREATE TABLE IF NOT EXISTS Managementboek_Boeken.BoekenPrijsBuckets ( Ean CHAR(13), Extra VARCHAR( 255 ), KEY( Ean ) ) ENGINE=INNODB;
	DELETE FROM Managementboek_Boeken.BoekenPrijsBuckets;
	
	REPLACE INTO Managementboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €25' FROM Managementboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 25;
	REPLACE INTO Managementboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €50' FROM Managementboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 50;	
	REPLACE INTO Managementboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €75' FROM Managementboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 75;
	REPLACE INTO Managementboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Tot €100' FROM Managementboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) <= 100;	
	REPLACE INTO Managementboek_Boeken.BoekenPrijsBuckets SELECT Ean, 'Meer dan €100' FROM Managementboek_Boeken.Boeken B WHERE IF( B.Aanbiedingsprijs > 0 && NOW() > B.Aanbiedingvanaf && NOW() <= IF( B.Aanbiedingtotenmet = '0000-00-00', NOW(), B.Aanbiedingtotenmet ), Aanbiedingsprijs, calc_prijs( Prijs, Valuta ) ) >= 100;
	
	CREATE TABLE IF NOT EXISTS Managementboek_Boeken.BoekenExtra ( Ean CHAR(13), Extra VARCHAR( 255 ), KEY( Ean ) ) ENGINE=INNODB;
	DELETE FROM Managementboek_Boeken.BoekenExtra;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Bestseller top 100" FROM Managementboek_Klanten.Boekranking_Plat WHERE `30d` <= 100;
	-- REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Bestseller top 1000" FROM Managementboek_Klanten.Boekranking_Plat WHERE `30d` <= 1000;
	
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Aanbieding" FROM Managementboek_Klanten.BoekenTags WHERE aanbieding > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Nieuw" FROM Managementboek_Klanten.BoekenTags WHERE nieuw > 0;	
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Met recensies" FROM Managementboek_Klanten.BoekenTags WHERE aantal_recensies > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Met lezersrecensies" FROM Managementboek_Klanten.BoekenTags WHERE lezersrecensies > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Verwacht" FROM Managementboek_Klanten.BoekenTags WHERE verwacht > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Top 100 stemmen" FROM Managementboek_Klanten.BoekenTags WHERE top100 > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Top 100 waardering" FROM Managementboek_Klanten.BoekenTags WHERE stemmen_top_100 > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Evergreen" FROM Managementboek_Klanten.BoekenTags WHERE bestseller > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Voormalig nummer 1" FROM Managementboek_Klanten.BoekenTags WHERE nr1 > 0;
	REPLACE INTO Managementboek_Boeken.BoekenExtra SELECT Ean, "Met auteursbijdrage" FROM Managementboek_Klanten.BoekenTags WHERE auteursbijdragen > 0;
	
	DELETE FROM Managementboek_Boeken.BoekThemas;
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'Advisering' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'advisering' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'Coaching' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'coaching', 'coachen' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'Communicatie' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'communicatie' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'HRM' FROM Managementboek_Boeken.Boeken WHERE Rubriek IN ( 'personeelsmanagement' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'Leidinggeven' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'leidinggeven' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'Marketing' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'marketing' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'Training' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'trainen','training','werkvormen','workshop' );
	REPLACE INTO Managementboek_Boeken.BoekThemas SELECT Ean, 'ZZP' FROM Managementboek_Boeken.Trefwoorden T JOIN Managementboek_Boeken.Boektrefwoorden BT ON ( T.Id = BT.Trefwid ) WHERE Omschrijving IN ( 'freelancen','zzp','acquisitie','ondernemerschap' );
	
    END ;;
DELIMITER ;

--
-- Current Database: `Test_Klanten`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `Test_Klanten` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `Test_Klanten`;

--
-- Table structure for table `AangepastePrijzen`
--

CREATE TABLE `AangepastePrijzen` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Ean` char(13) CHARACTER SET latin1 NOT NULL,
  `Aangepasteprijs` double NOT NULL,
  `Code` char(20) NOT NULL DEFAULT '',
  `Partnersite` varchar(20) DEFAULT NULL,
  `Begin` datetime DEFAULT '2009-01-01 00:00:00',
  `Eind` datetime DEFAULT '2099-01-01 00:00:00',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `Code` (`Code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `Adres`
--

CREATE TABLE `Adres` (
  `Adresid` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `Voornaam` varchar(200) DEFAULT NULL,
  `Voornaam_oud` varchar(200) DEFAULT NULL,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Achternaam_oud` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam_oud` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam2` varchar(200) DEFAULT NULL,
  `Afdeling` varchar(200) DEFAULT NULL,
  `Afdeling_oud` varchar(200) DEFAULT NULL,
  `Functie` varchar(200) DEFAULT NULL,
  `Functie_oud` varchar(200) DEFAULT NULL,
  `Adres` varchar(200) DEFAULT NULL,
  `Adres_oud` varchar(200) DEFAULT NULL,
  `Postcode` varchar(200) DEFAULT NULL,
  `Postcode_oud` varchar(200) DEFAULT NULL,
  `Plaats` varchar(200) DEFAULT NULL,
  `Plaats_oud` varchar(200) DEFAULT NULL,
  `Telefoonnummer` varchar(200) DEFAULT NULL,
  `Telefoonnummer_oud` varchar(200) DEFAULT NULL,
  `Faxnummer` varchar(200) DEFAULT NULL,
  `Faxnummer_oud` varchar(200) DEFAULT NULL,
  `Geslacht` varchar(200) DEFAULT NULL,
  `Geslacht_oud` varchar(200) DEFAULT NULL,
  `DTaanmaak` datetime DEFAULT NULL,
  `DTadreswijziging` datetime DEFAULT NULL,
  `Adrestype` enum('Factuur','Aflever') DEFAULT 'Factuur',
  `Straatnaam` varchar(200) DEFAULT NULL,
  `Straatnaam_oud` varchar(200) DEFAULT NULL,
  `Huisnummer` varchar(200) DEFAULT NULL,
  `Huisnummer_oud` varchar(200) DEFAULT NULL,
  `Huisnummertoevoeging` varchar(200) DEFAULT NULL,
  `Huisnummertoevoeging_oud` varchar(200) DEFAULT NULL,
  `Mobielnummer` varchar(12) DEFAULT NULL,
  PRIMARY KEY (`Adresid`),
  KEY `Achternaam` (`Achternaam`),
  KEY `DTaanmaak` (`DTaanmaak`),
  KEY `DTadreswijziging` (`DTadreswijziging`),
  KEY `Klantid` (`Klantid`),
  KEY `Straatnaam` (`Straatnaam`),
  KEY `Huisnummer` (`Huisnummer`),
  CONSTRAINT `Adres_ibfk_1` FOREIGN KEY (`Klantid`) REFERENCES `Klanten` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `before_update_adres` BEFORE UPDATE ON `Adres` 
    FOR EACH ROW BEGIN
    
	CALL log_klanten_wijziging( NEW.Klantid, 'Voornaam', OLD.Voornaam, NEW.Voornaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Achternaam', OLD.Achternaam, NEW.Achternaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Bedrijfsnaam', OLD.Bedrijfsnaam, NEW.Bedrijfsnaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Postcode', OLD.Postcode, NEW.Postcode, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Plaats', OLD.Plaats, NEW.Plaats, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Huisnummer', OLD.Huisnummer, NEW.Huisnummer, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Huisnummertoevoeging', OLD.Huisnummertoevoeging, NEW.Huisnummertoevoeging, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Geslacht', OLD.Geslacht, NEW.Geslacht, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Straatnaam', OLD.Straatnaam, NEW.Straatnaam, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Telefoonnummer', OLD.Telefoonnummer, NEW.Telefoonnummer, @context, @initials );
	CALL log_klanten_wijziging( NEW.Klantid, 'Afdeling', OLD.Afdeling, NEW.Afdeling, @context, @initials );
	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `after_update_adres` AFTER UPDATE ON `Adres` 
    FOR EACH ROW BEGIN
        DECLARE SUB INT;
        DECLARE email CHAR(255);
        
        IF NEW.Klantid IS NOT NULL THEN    
            
            SELECT Emailadres INTO email FROM Klanten WHERE Klantid = NEW.Klantid;
            SELECT COUNT(*) INTO SUB FROM Klantmailinglist WHERE Klantid = NEW.Klantid AND Mailinglistid = 1;
            
            IF SUB > 0 THEN
                REPLACE INTO KlantMailinglistLog VALUES ( NOW(), NEW.Klantid, email, 1, 1, 0 );
            END IF;
            
        END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `Adressen`
--

CREATE TABLE `Adressen` (
  `Adresid` int(11) NOT NULL AUTO_INCREMENT,
  `Factuurid` int(11) NOT NULL DEFAULT '0',
  `Afleverid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Adresid`),
  KEY `i1` (`Factuurid`),
  KEY `i2` (`Afleverid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `AffiliatePartners`
--

CREATE TABLE `AffiliatePartners` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Siteid` int(11) NOT NULL DEFAULT '1',
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `__Autuerid` int(11) DEFAULT '0',
  `Percentage` int(3) DEFAULT NULL,
  `IsActive` tinyint(1) DEFAULT '1',
  `Periode` int(3) DEFAULT '1',
  `FeedbackActive` tinyint(1) DEFAULT '1',
  `LinkActive` tinyint(1) DEFAULT '0',
  `KlantidBestellingen` tinyint(1) DEFAULT '0',
  `AantalEmails` int(11) DEFAULT '0',
  `__klantid` int(11) DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `Siteid` (`Siteid`),
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Affiliates`
--

CREATE TABLE `Affiliates` (
  `Affiliateid` int(11) NOT NULL AUTO_INCREMENT,
  `Affiliatepartnerid` int(11) NOT NULL DEFAULT '0' COMMENT 'Todo: verwijderen',
  `KlantID` int(11) DEFAULT NULL,
  `ComAff` int(11) DEFAULT NULL COMMENT 'Equivalente affiliate-ID bij Computerboek',
  `JurAff` int(11) DEFAULT NULL COMMENT 'Equivalente affiliate-ID bij Juridischboek',
  `URL` varchar(200) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `GeenPorto` tinyint(1) NOT NULL DEFAULT '0',
  `GeenNKP` tinyint(1) NOT NULL DEFAULT '0',
  `GeenOFU` tinyint(1) NOT NULL DEFAULT '0',
  `EigenTemplate` tinyint(1) NOT NULL DEFAULT '0',
  `Header` longtext,
  `Footer` longtext,
  `Wachtwoord` varchar(255) DEFAULT NULL,
  `HeaderURL` mediumtext,
  `FooterURL` mediumtext,
  `LastFetched` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `voorLogin` text COMMENT 'Tekst boven loginform',
  `naLogin` text COMMENT 'tekst onder loginform',
  `voorBevestiging` text COMMENT 'Tekst boven bevestiging',
  `naBevestiging` text COMMENT 'Tekst onder bevestiging',
  `voorBedankt` text COMMENT 'Tekst voor de bedanktekst',
  `naBedankt` text COMMENT 'Tekst na de bedanktekst',
  `homepage` varchar(200) DEFAULT NULL COMMENT 'Alternatieve homepage',
  `commissie` tinyint(3) NOT NULL DEFAULT '10',
  `CommissieEigenBestellingen` tinyint(1) NOT NULL DEFAULT '0',
  `Periode` tinyint(1) NOT NULL DEFAULT '3',
  PRIMARY KEY (`Affiliateid`),
  KEY `Affiliatepartnerid` (`Affiliatepartnerid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `ArtikelGroepen`
--

CREATE TABLE `ArtikelGroepen` (
  `ArtikelGroep` char(4) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (`ArtikelGroep`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `AuteurKlanten`
--

CREATE TABLE `AuteurKlanten` (
  `Auteurid` int(11) NOT NULL,
  `Klantid` int(11) NOT NULL,
  PRIMARY KEY (`Klantid`),
  UNIQUE KEY `Auteurid` (`Auteurid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BTWCodes`
--

CREATE TABLE `BTWCodes` (
  `BTWCode` char(1) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (`BTWCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BTemp`
--

CREATE TABLE `BTemp` (
  `Ean` char(13) DEFAULT NULL,
  `BestellingId` int(11) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Backorders`
--

CREATE TABLE `Backorders` (
  `Id` int(11) NOT NULL,
  `DTAanmaak` datetime NOT NULL,
  `DTWijziging` datetime NOT NULL,
  `Geleverd` int(11) NOT NULL,
  `Backorder` int(11) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BannerLog`
--

CREATE TABLE `BannerLog` (
  `Datum` date DEFAULT NULL,
  `Naam` varchar(30) DEFAULT NULL,
  `Count` int(11) DEFAULT NULL,
  UNIQUE KEY `Datum` (`Datum`,`Naam`),
  KEY `Naam` (`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BatchBestellingenLog`
--

CREATE TABLE `BatchBestellingenLog` (
  `Id` int(11) NOT NULL,
  `Fout` tinyint(4) DEFAULT '0',
  `Reden` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BatchLog`
--

CREATE TABLE `BatchLog` (
  `BatchId` int(11) NOT NULL,
  `Generatie` int(11) NOT NULL,
  `Initialen` char(3) NOT NULL,
  `BestellingId` int(11) NOT NULL,
  `DT` datetime DEFAULT NULL,
  `Uitgevoerd` tinyint(4) NOT NULL,
  `Backorder` tinyint(4) NOT NULL,
  `Alinexact` tinyint(4) NOT NULL,
  `Fout` tinyint(4) NOT NULL,
  `Reden` mediumtext NOT NULL,
  KEY `BatchId` (`BatchId`),
  KEY `BestellingId` (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BatchOrders`
--

CREATE TABLE `BatchOrders` (
  `BatchId` int(11) NOT NULL DEFAULT '0',
  `OrderId` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`BatchId`,`OrderId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Batches`
--

CREATE TABLE `Batches` (
  `BatchID` int(11) NOT NULL AUTO_INCREMENT,
  `RowCount` int(11) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`BatchID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BelevenissenBlog`
--

CREATE TABLE `BelevenissenBlog` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `title` varchar(255) DEFAULT NULL,
  `id` int(11) NOT NULL,
  `publish_date` date DEFAULT NULL,
  PRIMARY KEY (`Ean`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BelevenissenBlogTmp`
--

CREATE TABLE `BelevenissenBlogTmp` (
  `Ean` char(13) NOT NULL DEFAULT '',
  `title` varchar(255) DEFAULT NULL,
  `id` int(11) NOT NULL,
  `publish_date` date DEFAULT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestelLijstEANs`
--

CREATE TABLE `BestelLijstEANs` (
  `naam` varchar(50) NOT NULL COMMENT 'N.B. dit is de Bestellijst-naam',
  `EAN` char(13) NOT NULL,
  `Volgorde` int(11) unsigned NOT NULL,
  PRIMARY KEY (`naam`,`Volgorde`),
  KEY `bestellijst_ean` (`EAN`),
  CONSTRAINT `ibfk_bestellijst_lijst` FOREIGN KEY (`naam`) REFERENCES `BestelLijsten` (`naam`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestelLijsten`
--

CREATE TABLE `BestelLijsten` (
  `naam` varchar(50) NOT NULL,
  `actief` tinyint(1) NOT NULL DEFAULT '1',
  `template` varchar(50) NOT NULL DEFAULT 'default',
  `titel` text,
  `inleiding` text,
  `headerplaatje` text,
  `eans` text,
  `promoid` int(11) DEFAULT NULL,
  `meerboekeninfo` tinyint(4) DEFAULT '0',
  `toonbestellijst` tinyint(1) DEFAULT '1',
  `uitleiding` text,
  `emails` text,
  `sorteeropauteur` tinyint(1) DEFAULT '1',
  `affiliateId` int(11) NOT NULL DEFAULT '0',
  `toonsorteeropties` tinyint(1) NOT NULL DEFAULT '1',
  `headerlink` varchar(50) NOT NULL,
  `mobheaderplaatje` text NOT NULL,
  `mobheaderlink` varchar(50) NOT NULL,
  `mobtemplate` varchar(50) NOT NULL DEFAULT 'default',
  `mobinleiding` text,
  `mobuitleiding` text,
  `mobtoonbestellijst` tinyint(1) DEFAULT NULL,
  `mobmeerboekeninfo` tinyint(1) DEFAULT '1',
  `gebruiker` varchar(50) DEFAULT NULL,
  `geldigtot` date DEFAULT NULL,
  `DTaanmaak` datetime DEFAULT NULL,
  `nietinramsj` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`naam`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestelLijsten_copy`
--

CREATE TABLE `BestelLijsten_copy` (
  `naam` varchar(50) NOT NULL,
  `titel` text,
  `inleiding` text,
  `eans` text,
  `meerboekeninfo` tinyint(4) DEFAULT '0',
  `toonbestellijst` tinyint(1) DEFAULT '1',
  `uitleiding` text,
  `emails` text,
  `sorteeropauteur` tinyint(1) DEFAULT '1',
  PRIMARY KEY (`naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `Bestelling`
--

/*!50001 DROP VIEW IF EXISTS `Bestelling`*/;
/*!50001 CREATE TABLE `Bestelling` (
  `Bestellingid` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `IsClubOrder` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Hash` tinyint NOT NULL,
  `MailedTracktrace` tinyint NOT NULL,
  `SessionId` tinyint NOT NULL,
  `EersteBestelling` tinyint NOT NULL,
  `StemMailVerzonden` tinyint NOT NULL,
  `DTStemMail` tinyint NOT NULL,
  `SamengevoegdMet` tinyint NOT NULL,
  `Factuurid` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `OpmerkingNegeren` tinyint NOT NULL,
  `AutoClassificatie` tinyint NOT NULL,
  `ClassificatieRedenKort` tinyint NOT NULL,
  `ClassificatieReden` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `OrigineelBestellingId` tinyint NOT NULL,
  `ProspectId` tinyint NOT NULL,
  `GeenPortoBerekenen` tinyint NOT NULL,
  `IdealOpen` tinyint NOT NULL,
  `IdealTimeout` tinyint NOT NULL,
  `BetalingsTermijn` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `UitBackorder` tinyint NOT NULL,
  `SiteBestelling` tinyint NOT NULL,
  `DeelLevering` tinyint NOT NULL,
  `DTFactuur` tinyint NOT NULL,
  `DTVerval` tinyint NOT NULL,
  `TeltAls` tinyint NOT NULL,
  `IsOmzet` tinyint NOT NULL,
  `IsCorrectie` tinyint NOT NULL,
  `IsCredit` tinyint NOT NULL,
  `IsOpnieuw` tinyint NOT NULL,
  `ToonBestelling` tinyint NOT NULL,
  `Herkomst` tinyint NOT NULL,
  `VerstuurCompleteOrder` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BestellingAdressen`
--

CREATE TABLE `BestellingAdressen` (
  `BestellingId` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) NOT NULL,
  `AfwijkendFactuurAdres` tinyint(4) NOT NULL,
  `FactuurKlantId` int(11) NOT NULL,
  `FactuurBedrijfsnaam` varchar(255) NOT NULL,
  `FactuurBedrijfsnaam2` varchar(255) NOT NULL,
  `FactuurAfdeling` varchar(255) NOT NULL,
  `FactuurGeslacht` varchar(5) NOT NULL,
  `FactuurInitialen` varchar(10) NOT NULL,
  `FactuurAchternaam` varchar(255) NOT NULL,
  `FactuurStraatnaam` varchar(255) NOT NULL,
  `FactuurHuisnummer` varchar(255) NOT NULL,
  `FactuurHuisnummerToevoeging` varchar(255) NOT NULL,
  `FactuurPostcode` varchar(255) NOT NULL,
  `FactuurPlaatsnaam` varchar(255) NOT NULL,
  `AfwijkendVerzendAdres` varchar(255) NOT NULL,
  `VerzendKlantId` int(11) NOT NULL,
  `VerzendBedrijfsnaam` varchar(255) NOT NULL,
  `VerzendBedrijfsnaam2` varchar(255) NOT NULL,
  `VerzendAfdeling` varchar(255) NOT NULL,
  `VerzendGeslacht` varchar(5) NOT NULL,
  `VerzendInitialen` varchar(10) NOT NULL,
  `VerzendAchternaam` varchar(255) NOT NULL,
  `VerzendStraatnaam` varchar(255) NOT NULL,
  `VerzendHuisnummer` varchar(255) NOT NULL,
  `VerzendHuisnummerToevoeging` varchar(255) NOT NULL,
  `VerzendPostcode` varchar(255) NOT NULL,
  `VerzendPlaatsnaam` varchar(255) NOT NULL,
  PRIMARY KEY (`BestellingId`),
  KEY `FactuurKlantId` (`FactuurKlantId`),
  KEY `VerzendKlantId` (`VerzendKlantId`),
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestellingAll`
--

CREATE TABLE `BestellingAll` (
  `Bestellingid` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `Siteid` int(11) DEFAULT '1005',
  `Opmerkingen` mediumblob,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Afleverid` int(11) DEFAULT NULL,
  `IP` varchar(15) DEFAULT NULL,
  `ProcessStatus` enum('nieuw','batch','email') NOT NULL DEFAULT 'nieuw',
  `BatchID` int(11) NOT NULL DEFAULT '0',
  `AffiliateId` int(11) DEFAULT '0',
  `ReferrerDomain` varchar(200) DEFAULT NULL,
  `IsClubOrder` tinyint(4) DEFAULT '0',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Rekeningnummer` char(18) DEFAULT NULL,
  `Uwreferentie` varchar(30) DEFAULT NULL,
  `Afgerond` tinyint(4) NOT NULL,
  `Herinnering` tinyint(4) NOT NULL,
  `Hash` char(64) DEFAULT NULL,
  `MailedTracktrace` tinyint(4) NOT NULL DEFAULT '0',
  `SessionId` int(11) DEFAULT NULL,
  `EersteBestelling` tinyint(1) NOT NULL DEFAULT '0',
  `StemMailVerzonden` tinyint(4) NOT NULL DEFAULT '0',
  `DTStemMail` datetime DEFAULT NULL,
  `SamengevoegdMet` int(11) NOT NULL,
  `Factuurid` bigint(20) NOT NULL,
  `Gebruiker` char(2) NOT NULL,
  `OpmerkingNegeren` tinyint(4) DEFAULT '0',
  `AutoClassificatie` enum('nieuw','automatisch','handmatig') NOT NULL,
  `ClassificatieRedenKort` varchar(255) NOT NULL,
  `ClassificatieReden` varchar(255) NOT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `OrigineelBestellingId` int(11) NOT NULL,
  `ProspectId` int(11) NOT NULL,
  `GeenPortoBerekenen` tinyint(4) NOT NULL,
  `IdealOpen` tinyint(4) NOT NULL,
  `IdealTimeout` datetime NOT NULL,
  `BetalingsTermijn` int(11) NOT NULL DEFAULT '14',
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `UitBackorder` tinyint(4) NOT NULL DEFAULT '0',
  `SiteBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `DeelLevering` tinyint(4) NOT NULL DEFAULT '0',
  `DTFactuur` date DEFAULT NULL,
  `DTVerval` date DEFAULT NULL,
  `TeltAls` tinyint(4) NOT NULL DEFAULT '1',
  `IsOmzet` tinyint(4) NOT NULL DEFAULT '0',
  `IsCorrectie` tinyint(4) NOT NULL DEFAULT '0',
  `IsCredit` tinyint(4) NOT NULL DEFAULT '0',
  `IsOpnieuw` tinyint(4) NOT NULL DEFAULT '0',
  `ToonBestelling` tinyint(4) NOT NULL DEFAULT '1',
  `Herkomst` enum('Website','MARI','Admin','iOS','Android','NCOI','ABO') NOT NULL DEFAULT 'Website',
  `VerstuurCompleteOrder` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Bestellingid`),
  KEY `Klantid` (`Klantid`),
  KEY `Afleverid` (`Afleverid`),
  KEY `ReferrerDomain` (`ReferrerDomain`),
  KEY `AffiliateId` (`AffiliateId`),
  KEY `BatchID` (`BatchID`,`Afgerond`),
  KEY `DT_Index` (`DT`,`Afgerond`,`BatchID`),
  KEY `NewIndex1` (`SessionId`),
  KEY `NewIndex2` (`Factuurid`),
  KEY `NewIndex3` (`OrigineelBestellingId`),
  KEY `NewIndex4` (`Herkomst`),
  KEY `NewIndex5` (`Afgerond`,`DT`),
  KEY `IP` (`IP`(11)),
  KEY `AutoClassificatie` (`AutoClassificatie`,`Geexporteerd`,`Bestellingid`),
  KEY `IdealOpen` (`IdealOpen`),
  KEY `OrigineelBestellingId` (`OrigineelBestellingId`),
  KEY `ProspectId` (`ProspectId`),
  KEY `ProcessStatus` (`Afgerond`,`ProcessStatus`,`Geexporteerd`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_insert_bestellingAll` BEFORE INSERT ON `BestellingAll` 
    FOR EACH ROW BEGIN
	
	 DECLARE myVerstuurCompleteOrderDefault INT(1) DEFAULT 0;
	 IF NEW.Klantid IS NOT NULL AND NEW.Klantid > 0 THEN
		SELECT 
			VerstuurCompleteOrderDefault 
			into myVerstuurCompleteOrderDefault 
			FROM Klanten WHERE Klantid=NEW.Klantid;
		SET NEW.VerstuurCompleteOrder = myVerstuurCompleteOrderDefault;	 				 			
	 EnD IF;
	
	 IF NEW.Herkomst = '' THEN 
		SET NEW.Herkomst = 'Website';
	 END IF;
	 
	 IF NEW.ProcessStatus = '' THEN
		SET NEW.ProcessStatus = 'nieuw';
	 END IF;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_bestellingAll` AFTER INSERT ON `BestellingAll` 
    FOR EACH ROW BEGIN
	
	INSERT IGNORE INTO BestellingStatus SET 
		BestellingId = NEW.Bestellingid,
		StatusId = 1,
		Resultaat = 'gelukt',
		Gebruiker = NEW.Gebruiker,
		DT = NOW();
	INSERT IGNORE INTO OrderkopStatusPlat ( BestellingId ) VALUES ( NEW.Bestellingid );
	
	CALL update_bestelling_herkomst( NEW.Bestellingid );
	
	INSERT INTO BestellingAllLog SET 
		DTLog = NOW(),
		LogGebruiker = @initials,
		Eerste = 1,
		Bestellingid = NEW.Bestellingid,
		Klantid = NEW.Klantid,
		Siteid = NEW.Siteid,
		Opmerkingen = NEW.Opmerkingen,
		Achternaam = NEW.Achternaam,
		Bedrijfsnaam = NEW.Bedrijfsnaam,
		DT = NEW.DT,
		Afleverid = NEW.Afleverid,
		IP = NEW.IP,
		ProcessStatus = NEW.ProcessStatus,
		BatchID = NEW.BatchID,
		AffiliateId = NEW.AffiliateId,
		ReferrerDomain = NEW.ReferrerDomain,
		IsClubOrder = NEW.IsClubOrder,
		Betaalmethode = NEW.Betaalmethode,
		Rekeningnummer = NEW.Rekeningnummer,
		Uwreferentie = NEW.Uwreferentie,
		Afgerond = NEW.Afgerond,
		Herinnering = NEW.Herinnering,
		`Hash` = NEW.Hash,
		MailedTracktrace = NEW.MailedTracktrace,
		SessionId = NEW.SessionId,
		EersteBestelling = NEW.EersteBestelling,
		StemMailVerzonden = NEW.StemMailVerzonden,
		DTStemMail = NEW.DTStemMail,
		SamengevoegdMet = NEW.SamengevoegdMet,
		Factuurid = NEW.Factuurid,
		Gebruiker = NEW.Gebruiker,
		OpmerkingNegeren = NEW.OpmerkingNegeren,
		AutoClassificatie = NEW.AutoClassificatie,
		ClassificatieRedenKort = NEW.ClassificatieRedenKort,
		ClassificatieReden = NEW.ClassificatieReden,
		Geexporteerd = NEW.Geexporteerd,
		OrigineelBestellingId = OrigineelBestellingId,
		ProspectId = NEW.ProspectId,
		GeenPortoBerekenen = NEW.GeenPortoBerekenen,
		IdealOpen = NEW.IdealOpen,
		IdealTimeout = NEW.IdealTimeout,
		BetalingsTermijn = NEW.BetalingsTermijn,
		Geannuleerd = NEW.Geannuleerd,
		UitBackorder = 	NEW.UitBackorder,
		SiteBestelling = NEW.SiteBestelling,
		DeelLevering = NEW.DeelLevering;
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_update_bestellingAll` BEFORE UPDATE ON `BestellingAll` 
    FOR EACH ROW BEGIN
	DECLARE t INT;
	
	IF OLD.Afgerond = 0 AND NEW.Afgerond = 1 THEN
		UPDATE Bestellingen JOIN BestellingenBelofte USING ( Id ) SET VoorraadBijBevestiging = Voorraadbeheer.`beschikbareVoorraad`( Ean ) WHERE Bestellingid = OLD.BestellingId;
		
		IF NEW.BetalingsTermijn = 0 THEN 
			SELECT Betalingsconditie INTO t FROM Klanten WHERE Klantid = NEW.Klantid;
			SET NEW.BetalingsTermijn = LEAST( 7, t );
			SET NEW.DTVerval = DATE_ADD( NEW.DTFactuur, INTERVAL NEW.BetalingsTermijn DAY );
		END IF;
	END IF;
	
	IF OLD.DTFactuur != NEW.DTFactuur OR OLD.DTFactuur IS NULL THEN
		SET NEW.DTVerval = DATE_ADD( NEW.DTFactuur, INTERVAL NEW.BetalingsTermijn DAY );
	END IF;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `after_update_bestellingAll` AFTER UPDATE ON `BestellingAll` 
    FOR EACH ROW BEGIN
	DECLARE MyId,MyAantal,MyGeexporteerd,MyPrijs,MyIsPromo,MyKortingMP,MyAantalBackorder,MyBackorderOrigineel,MyBackorderReden,MyLineNr,MyGeannuleerd,MyBackorderOrigineelBestellingid INT(11);
	DECLARE MyKortingPercentage,MyKostenMP,MyVastePrijs,MyActiePrijs,MyBTWTarief,MyKortingBedrag,MyKortingBedragExBtw,MyPrijsExBtwExKorting,MyPrijsExBtwIncKorting,MyBedragExBtwExKorting,MyBedragIncBtwExKorting,MyBedragIncBtwIncKorting,MyBedragExBtwIncKorting,MyBedragBTW DECIMAL(10,2);
	DECLARE MyDTOrderregel,MyDTExactExport DATETIME;
	DECLARE MyAuteurnaam,MyEan,MyOmschrijving,MyKortingReden,MyBTWCode,MyBriefCode VARCHAR(255);
	DECLARE huidigeVoorraad INT(11) DEFAULT 0;
	DECLARE myAantalTotaal INT(11) DEFAULT 0;
	DECLARE reserveringMutatie INT(11) DEFAULT 0;
	DECLARE reden VARCHAR(25) DEFAULT 'onbekend';
	DECLARE no_more_rows INT DEFAULT 0;
	DECLARE loop_cntr INT DEFAULT 0;
	DECLARE num_rows INT DEFAULT 0;	
	
	
	DECLARE cur CURSOR FOR SELECT 
		B.Id,B.Auteurnaam,B.Aantal,B.Prijs,B.Ean,B.Omschrijving,B.Geexporteerd,B.KortingPercentage,B.IsPromo,
		B.KortingReden,B.KortingMP,B.KostenMP,B.DTOrderregel,B.VastePrijs,B.ActiePrijs,B.BTWTarief,
		B.BTWCode,B.AantalBackorder,B.BackorderOrigineel,B.BackorderReden,B.BriefCode,B.DTExactExport,
		B.KortingBedrag,B.KortingBedragExBtw,B.PrijsExBtwExKorting,B.PrijsExBtwIncKorting,
		B.BedragExBtwExKorting,B.BedragIncBtwExKorting,B.BedragIncBtwIncKorting,B.BedragBTW,B.LineNr,
		B.Geannuleerd,B.AantalBackorder,B.AantalBackorder+B.Aantal
	FROM Bestellingen B
	WHERE B.Bestellingid = NEW.Bestellingid;	
	
	DECLARE CONTINUE HANDLER FOR NOT FOUND
		SET no_more_rows = 1;
		
	
	IF (OLD.Afgerond = 1 AND  NEW.Afgerond = 0) THEN
		DELETE FROM BestellingStatus WHERE BestellingId = NEW.Bestellingid AND StatusId = 2;
	END IF;
	
	
	IF (OLD.Afgerond = 0 AND  NEW.Afgerond = 1) THEN
		CALL update_kosten_mp( NEW.BestellingId );
		CALL update_bestelling_herkomst( NEW.BestellingId );
		
		UPDATE Klanten SET AutorisatieNodig = 1 WHERE Klantid = NEW.Klantid;
		UPDATE Managementboek_Nieuwsbrieven.`Nieuwsbrief_Vinkjes` SET SoftOptIn = 1 WHERE Klantid = NEW.Klantid;
		
		INSERT IGNORE INTO KlantAanbevolenBasis SELECT NEW.Klantid, Ean, NOW(), 'besteld' FROM Bestellingen WHERE BestellingId = NEW.Bestellingid;
		
		UPDATE Bestellingen BN JOIN BestellingenExtra XX USING ( Id ) JOIN Manpo.Boeken BK USING ( Ean ) JOIN BestellingAll B USING ( BestellingId ) 
			SET XX.`InRamsj` = BK.`Boeken_inramsj` WHERE B.BestellingId = NEW.Bestellingid;
		
		INSERT IGNORE INTO `BestellingAll_kopie` SET
			Bestellingid=NEW.Bestellingid,
			Klantid=NEW.Klantid,
			Siteid=NEW.Siteid,
			Opmerkingen=NEW.Opmerkingen,
			Achternaam=NEW.Achternaam,
			Bedrijfsnaam=NEW.Bedrijfsnaam,
			DT=NEW.DT,
			Afleverid=NEW.Afleverid,
			IP=NEW.IP,
			ProcessStatus=NEW.ProcessStatus,
			BatchID=NEW.BatchID,
			AffiliateId=NEW.AffiliateId,
			ReferrerDomain=NEW.ReferrerDomain,
			IsClubOrder=NEW.IsClubOrder,
			Betaalmethode=NEW.Betaalmethode,
			Rekeningnummer=NEW.Rekeningnummer,
			Uwreferentie=NEW.Uwreferentie,
			Afgerond=NEW.Afgerond,
			Herinnering=NEW.Herinnering,
			`Hash`=NEW.Hash,
			MailedTracktrace=NEW.MailedTracktrace,
			SessionId=NEW.SessionId,
			EersteBestelling=NEW.EersteBestelling,
			StemMailVerzonden=NEW.StemMailVerzonden,
			DTStemMail=NEW.DTStemMail,
			SamengevoegdMet=NEW.SamengevoegdMet,
			Factuurid=NEW.Factuurid,
			Gebruiker=NEW.Gebruiker,
			OpmerkingNegeren=NEW.OpmerkingNegeren,
			AutoClassificatie=NEW.AutoClassificatie,
			ClassificatieRedenKort=NEW.ClassificatieRedenKort,
			ClassificatieReden=NEW.ClassificatieReden,
			Geexporteerd=NEW.Geexporteerd,
			OrigineelBestellingId=NEW.OrigineelBestellingId,
			ProspectId=NEW.ProspectId,
			GeenPortoBerekenen=NEW.GeenPortoBerekenen,
			IdealOpen=NEW.IdealOpen,
			IdealTimeout=NEW.IdealTimeout,
			BetalingsTermijn=NEW.BetalingsTermijn,
			Geannuleerd=NEW.Geannuleerd,
			UitBackorder=NEW.UitBackorder,
			SiteBestelling=NEW.SiteBestelling,
			DeelLevering=NEW.DeelLevering;	
	
		
		CALL orderregel_status_op_orderid( 2, NEW.BestellingId, 'gelukt' );	
		REPLACE INTO `BestellingStatus` SET 
					BestellingId = NEW.Bestellingid,
					StatusId = 2,
					Resultaat = 'gelukt',
					Gebruiker = @initials,
					DT = NOW();		
			
		
		OPEN cur;
		
		SELECT FOUND_ROWS() INTO num_rows;
		
		
		
		
		
		the_loop: LOOP
			FETCH cur INTO
				MyId,MyAuteurnaam,MyAantal,MyPrijs,MyEan,MyOmschrijving,MyGeexporteerd,MyKortingPercentage,MyIsPromo,
				MyKortingReden,MyKortingMP,MyKostenMP,MyDTOrderregel,MyVastePrijs,MyActiePrijs,MyBTWTarief,
				MyBTWCode,MyAantalBackorder,MyBackorderOrigineel,MyBackorderReden,MyBriefCode,MyDTExactExport,
				MyKortingBedrag,MyKortingBedragExBtw,MyPrijsExBtwExKorting,MyPrijsExBtwIncKorting,
				MyBedragExBtwExKorting,MyBedragIncBtwExKorting,MyBedragIncBtwIncKorting,MyBedragBTW,MyLineNr,
				MyGeannuleerd,myAantalBackorder,myAantalTotaal;
			IF no_more_rows THEN
				CLOSE cur;
				LEAVE the_loop;
			END IF;	
			
			INSERT IGNORE INTO `BestellingenLog` SET 
				Id=MyId,
				DTLog=NOW(),
				LogGebruiker=@initials,
				Auteurnaam=MyAuteurnaam,
				Aantal=MyAantal,
				Prijs=MyPrijs,
				Bestellingid=NEW.Bestellingid,
				Ean=MyEan,
				Omschrijving = MyOmschrijving,
				Geexporteerd = MyGeexporteerd,
				KortingPercentage = MyKortingPercentage,
				IsPromo = MyIsPromo,
				KortingReden = MyKortingReden,
				KortingMP = MyKortingMP,
				KostenMP = MyKostenMP,
				DTOrderregel = MyDTOrderregel,
				VastePrijs = MyVastePrijs,
				ActiePrijs = MyActiePrijs,
				BTWTarief = MyBTWTarief,
				BTWCode = MyBTWCode,
				AantalBackorder = MyAantalBackorder,
				BackorderOrigineel = MyBackorderOrigineel,
				BackorderReden = MyBackorderReden,
				BriefCode = MyBriefCode,
				DTExactExport = MyDTExactExport,
				KortingBedrag = MyKortingBedrag,
				KortingBedragExBtw = MyKortingBedragExBtw,
				PrijsExBtwExKorting = MyPrijsExBtwExKorting,
				PrijsExBtwIncKorting = MyPrijsExBtwIncKorting,
				BedragExBtwExKorting = MyBedragExBtwExKorting,
				BedragIncBtwExKorting = MyBedragIncBtwExKorting,
				BedragIncBtwIncKorting = MyBedragIncBtwIncKorting,
				BedragBTW = MyBedragBTW,
				LineNr = MyLineNr,
				Geannuleerd = MyGeannuleerd,
				Bevestigd = 1;
			
			SET loop_cntr = loop_cntr + 1;			 				
		END LOOP the_loop;					
	END IF;
	
	IF (OLD.Factuurid = 0 AND NEW.Factuurid > 0) THEN
		CALL update_kosten_mp( NEW.BestellingId );	
	
		INSERT IGNORE INTO `BestellingStatus` SET
			BestellingId = NEW.Bestellingid,
			StatusId = 7,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
			
		CALL orderregel_status_op_orderid( 7, NEW.BestellingId, 'gelukt' );			
	END IF;
	
	
	IF (OLD.Geannuleerd = 0 AND NEW.Geannuleerd = 1) THEN
		
		INSERT IGNORE INTO `BestellingStatus` SET
			BestellingId = NEW.Bestellingid,
			StatusId = 24,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
		
		CALL orderregel_status_op_orderid( 24, NEW.BestellingId, 'gelukt' );
		
		INSERT IGNORE INTO `BestellingStatus` SET
			BestellingId = NEW.Bestellingid,
			StatusId = 33,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
			
		CALL orderregel_status_op_orderid( 33, NEW.BestellingId, 'gelukt' );			
	END IF;	
	
	
	
	
	IF 
		NEW.Opmerkingen <> OLD.Opmerkingen 
		OR NEW.DT <> OLD.DT 
		OR NEW.Afleverid <> OLD.Afleverid 
		OR NEW.Betaalmethode <> OLD.Betaalmethode
		OR NEW.Rekeningnummer <> OLD.Rekeningnummer
		OR NEW.Uwreferentie <> OLD.Uwreferentie
		OR NEW.Afgerond <> OLD.Afgerond		
		OR NEW.Herinnering <> OLD.Herinnering
		OR NEW.SamengevoegdMet <> OLD.SamengevoegdMet
		OR NEW.Factuurid <> OLD.Factuurid
		OR NEW.Gebruiker <> OLD.Gebruiker
		OR NEW.Geexporteerd <> OLD.Geexporteerd
		OR NEW.OrigineelBestellingId <> OLD.OrigineelBestellingId
		OR NEW.Geannuleerd <> OLD.Geannuleerd
		OR NEW.UitBackorder <> OLD.UitBackorder
		OR NEW.SiteBestelling <> OLD.SiteBestelling
		OR NEW.DeelLevering <> OLD.DeelLevering	
		OR NEW.IdealOpen <> NEW.IdealOpen
		OR NEW.IdealTimeout <> NEW.IdealTimeout
	THEN
		INSERT IGNORE INTO `BestellingAllLog` SET
		DTLog=NOW(),
		LogGebruiker=@initials,
		Bestellingid=NEW.Bestellingid,
		Klantid=NEW.Klantid,
		Siteid=NEW.Siteid,
		Opmerkingen=NEW.Opmerkingen,
		Achternaam=NEW.Achternaam,
		Bedrijfsnaam=NEW.Bedrijfsnaam,
		DT=NEW.DT,
		Afleverid=NEW.Afleverid,
		IP=NEW.IP,
		ProcessStatus=NEW.ProcessStatus,
		BatchID=NEW.BatchID,
		AffiliateId=NEW.AffiliateId,
		ReferrerDomain=NEW.ReferrerDomain,
		IsClubOrder=NEW.IsClubOrder,
		Betaalmethode=NEW.Betaalmethode,
		Rekeningnummer=NEW.Rekeningnummer,
		Uwreferentie=NEW.Uwreferentie,
		Afgerond=NEW.Afgerond,
		Herinnering=NEW.Herinnering,
		`Hash`=NEW.Hash,
		MailedTracktrace=NEW.MailedTracktrace,
		SessionId=NEW.SessionId,
		EersteBestelling=NEW.EersteBestelling,
		StemMailVerzonden=NEW.StemMailVerzonden,
		DTStemMail=NEW.DTStemMail,
		SamengevoegdMet=NEW.SamengevoegdMet,
		Factuurid=NEW.Factuurid,
		Gebruiker=NEW.Gebruiker,
		OpmerkingNegeren=NEW.OpmerkingNegeren,
		AutoClassificatie=NEW.AutoClassificatie,
		ClassificatieRedenKort=NEW.ClassificatieRedenKort,
		ClassificatieReden=NEW.ClassificatieReden,
		Geexporteerd=NEW.Geexporteerd,
		OrigineelBestellingId=OrigineelBestellingId,
		ProspectId=NEW.ProspectId,
		GeenPortoBerekenen=NEW.GeenPortoBerekenen,
		IdealOpen=NEW.IdealOpen,
		IdealTimeout=NEW.IdealTimeout,
		BetalingsTermijn=NEW.BetalingsTermijn,
		Geannuleerd = NEW.Geannuleerd,
		UitBackorder = 	NEW.UitBackorder,
		SiteBestelling = NEW.SiteBestelling,
		DeelLevering = NEW.DeelLevering,
		Bevestigd = IF (NEW.Afgerond = 1 AND OLD.Afgerond = 0,1,0);
	END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `BestellingAllLog`
--

CREATE TABLE `BestellingAllLog` (
  `logId` int(11) NOT NULL AUTO_INCREMENT,
  `LogGebruiker` char(5) DEFAULT NULL,
  `DTLog` datetime DEFAULT NULL,
  `Eerste` tinyint(1) DEFAULT '0',
  `Bestellingid` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) DEFAULT NULL,
  `Siteid` int(11) DEFAULT NULL,
  `Opmerkingen` mediumblob,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Afleverid` int(11) DEFAULT NULL,
  `IP` varchar(15) DEFAULT NULL,
  `ProcessStatus` varchar(5) DEFAULT NULL,
  `BatchID` int(11) NOT NULL DEFAULT '0',
  `AffiliateId` int(11) DEFAULT '0',
  `ReferrerDomain` varchar(200) DEFAULT NULL,
  `IsClubOrder` tinyint(4) DEFAULT '0',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Rekeningnummer` decimal(10,0) DEFAULT '0',
  `Uwreferentie` varchar(30) DEFAULT NULL,
  `Afgerond` tinyint(4) NOT NULL,
  `Herinnering` tinyint(4) NOT NULL,
  `Hash` char(64) DEFAULT NULL,
  `MailedTracktrace` tinyint(4) NOT NULL DEFAULT '0',
  `SessionId` int(11) DEFAULT NULL,
  `EersteBestelling` tinyint(1) NOT NULL DEFAULT '0',
  `StemMailVerzonden` tinyint(4) NOT NULL DEFAULT '0',
  `DTStemMail` datetime DEFAULT NULL,
  `SamengevoegdMet` int(11) NOT NULL,
  `Factuurid` bigint(20) NOT NULL,
  `Gebruiker` char(2) NOT NULL,
  `OpmerkingNegeren` tinyint(4) DEFAULT '0',
  `AutoClassificatie` enum('nieuw','automatisch','handmatig') NOT NULL,
  `ClassificatieRedenKort` varchar(255) NOT NULL,
  `ClassificatieReden` varchar(255) NOT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `OrigineelBestellingId` int(11) NOT NULL,
  `ProspectId` int(11) NOT NULL,
  `GeenPortoBerekenen` tinyint(4) NOT NULL DEFAULT '0',
  `IdealOpen` tinyint(4) NOT NULL,
  `IdealTimeout` datetime NOT NULL,
  `BetalingsTermijn` int(11) NOT NULL DEFAULT '14',
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `UitBackorder` tinyint(4) NOT NULL DEFAULT '0',
  `SiteBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `DeelLevering` tinyint(4) NOT NULL DEFAULT '0',
  `Bevestigd` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`logId`),
  KEY `Bestellingid` (`Bestellingid`),
  KEY `NewIndex1` (`DTLog`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingAllOpmerkingen`
--

CREATE TABLE `BestellingAllOpmerkingen` (
  `BestellingId` int(11) NOT NULL,
  `KlantenServiceOpmerking` mediumtext NOT NULL,
  `Initialen` char(3) NOT NULL,
  `DT` datetime NOT NULL,
  PRIMARY KEY (`BestellingId`),
  CONSTRAINT `BestellingAllOpmerkingen_ibfk_1` FOREIGN KEY (`BestellingId`) REFERENCES `BestellingAll` (`Bestellingid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingAll_kopie`
--

CREATE TABLE `BestellingAll_kopie` (
  `Bestellingid` int(11) NOT NULL AUTO_INCREMENT,
  `Klantid` int(11) DEFAULT NULL,
  `Siteid` int(11) DEFAULT NULL,
  `Opmerkingen` mediumblob,
  `Achternaam` varchar(200) DEFAULT NULL,
  `Bedrijfsnaam` varchar(200) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Afleverid` int(11) DEFAULT NULL,
  `IP` varchar(15) DEFAULT NULL,
  `ProcessStatus` varchar(5) DEFAULT NULL,
  `BatchID` int(11) NOT NULL DEFAULT '0',
  `AffiliateId` int(11) DEFAULT '0',
  `ReferrerDomain` varchar(200) DEFAULT NULL,
  `IsClubOrder` tinyint(4) DEFAULT '0',
  `Betaalmethode` char(1) DEFAULT 'A',
  `Rekeningnummer` decimal(10,0) DEFAULT '0',
  `Uwreferentie` varchar(30) DEFAULT NULL,
  `Afgerond` tinyint(4) NOT NULL,
  `Herinnering` tinyint(4) NOT NULL,
  `Hash` char(64) DEFAULT NULL,
  `MailedTracktrace` tinyint(4) NOT NULL DEFAULT '0',
  `SessionId` int(11) DEFAULT NULL,
  `EersteBestelling` tinyint(1) NOT NULL DEFAULT '0',
  `StemMailVerzonden` tinyint(4) NOT NULL DEFAULT '0',
  `DTStemMail` datetime DEFAULT NULL,
  `SamengevoegdMet` int(11) NOT NULL,
  `Factuurid` bigint(20) NOT NULL,
  `Gebruiker` char(2) NOT NULL,
  `OpmerkingNegeren` tinyint(4) DEFAULT '0',
  `AutoClassificatie` enum('nieuw','automatisch','handmatig') NOT NULL,
  `ClassificatieRedenKort` varchar(255) NOT NULL,
  `ClassificatieReden` varchar(255) NOT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `OrigineelBestellingId` int(11) NOT NULL,
  `ProspectId` int(11) NOT NULL,
  `GeenPortoBerekenen` tinyint(4) NOT NULL,
  `IdealOpen` tinyint(4) NOT NULL,
  `IdealTimeout` datetime NOT NULL,
  `BetalingsTermijn` int(11) NOT NULL DEFAULT '14',
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `UitBackorder` tinyint(4) NOT NULL DEFAULT '0',
  `SiteBestelling` tinyint(4) NOT NULL DEFAULT '0',
  `DeelLevering` tinyint(4) NOT NULL DEFAULT '0',
  `DTFactuur` date DEFAULT NULL,
  `DTVerval` date DEFAULT NULL,
  PRIMARY KEY (`Bestellingid`),
  KEY `Klantid` (`Klantid`),
  KEY `Siteid` (`Siteid`),
  KEY `Afleverid` (`Afleverid`),
  KEY `ReferrerDomain` (`ReferrerDomain`),
  KEY `AffiliateId` (`AffiliateId`),
  KEY `Afgerond` (`Afgerond`),
  KEY `ProcessStatus` (`ProcessStatus`,`Afgerond`),
  KEY `BatchID` (`BatchID`,`Afgerond`),
  KEY `DT_Index` (`DT`,`Afgerond`,`BatchID`),
  KEY `NewIndex1` (`SessionId`),
  KEY `NewIndex2` (`Factuurid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingControle`
--

CREATE TABLE `BestellingControle` (
  `BestellingId` int(11) NOT NULL,
  `Aangemaakt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAangemaakt` datetime DEFAULT NULL,
  `AutorisatieMislukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAutorisatieMislukt` datetime DEFAULT NULL,
  `AutorisatieGelukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAutorisatieGelukt` datetime DEFAULT NULL,
  `AutomatischVerwerkt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAutomatischVerwerkt` datetime DEFAULT NULL,
  `HandmatigeVerwerking` enum('gelukt','mislukt') DEFAULT NULL,
  `DTHandmatigeVerwerking` datetime DEFAULT NULL,
  `FactuurGemaakt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTFactuurGemaakt` datetime DEFAULT NULL,
  `ExactExport` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `ExactVerwerkt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactVerwerkt` datetime DEFAULT NULL,
  `ExactControleGelukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactControleGelukt` datetime DEFAULT NULL,
  `ExactControleMislukt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactControleMislukt` datetime DEFAULT NULL,
  `ExactFactuurVerwerkt` enum('gelukt','mislukt') DEFAULT NULL,
  `DTExactFactuurVerwerkt` datetime DEFAULT NULL,
  `InpakkenGestart` enum('gelukt','mislukt') DEFAULT NULL,
  `DTInpakkenGestart` datetime DEFAULT NULL,
  `InpakkenAfgerond` enum('gelukt','mislukt') DEFAULT NULL,
  `DTInpakkenAfgerond` datetime DEFAULT NULL,
  `TntOpgehaald` enum('gelukt','mislukt') DEFAULT NULL,
  `DTTntOpgehaald` datetime DEFAULT NULL,
  `Betaald` enum('gelukt','mislukt') DEFAULT NULL,
  `DTBetaald` datetime DEFAULT NULL,
  `Afgerond` enum('gelukt','mislukt') DEFAULT NULL,
  `DTAfgerond` datetime DEFAULT NULL,
  `RetourOntvangen` enum('gelukt','mislukt') DEFAULT NULL,
  `DTRetourOntvangen` datetime DEFAULT NULL,
  `Geannuleerd` enum('gelukt','mislukt') DEFAULT NULL,
  `DTGeannuleerd` datetime DEFAULT NULL,
  `Gekrediteerd` enum('gelukt','mislukt') DEFAULT NULL,
  `DTGekrediteerd` datetime DEFAULT NULL,
  PRIMARY KEY (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingHerkomst`
--

CREATE TABLE `BestellingHerkomst` (
  `BestellingId` int(11) NOT NULL,
  `BestellingHerkomst` enum('Organic','Adwords','Affiliate','Direct','Extern','Nieuwsbrief','Klantenservice','OrganicDirect','AdwordsDirect','EenOpEen') DEFAULT NULL,
  `Kanaal` enum('Website','Mobile','MARI','NCOI','ABO','Tablet','IOS App','Android App','Plaza') DEFAULT NULL,
  `Keyword` varchar(255) DEFAULT NULL,
  `Gclid` varchar(255) DEFAULT NULL,
  `Nieuwsbriefid` int(11) DEFAULT NULL,
  `UserAgent` varchar(255) DEFAULT NULL,
  `OrigineelSessionId` int(10) unsigned DEFAULT NULL,
  PRIMARY KEY (`BestellingId`),
  KEY `BestellingHerkomst` (`BestellingHerkomst`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Temporary table structure for view `BestellingInProgress`
--

/*!50001 DROP VIEW IF EXISTS `BestellingInProgress`*/;
/*!50001 CREATE TABLE `BestellingInProgress` (
  `Bestellingid` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Hash` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BestellingInterneOpmerkingen`
--

CREATE TABLE `BestellingInterneOpmerkingen` (
  `BestellingId` int(11) NOT NULL,
  `Gebruiker` char(3) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  `Opmerking` mediumtext,
  `Type` enum('opmerking','redenAnnulering') NOT NULL,
  PRIMARY KEY (`BestellingId`,`Type`),
  KEY `BestellingId` (`BestellingId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingStatus`
--

CREATE TABLE `BestellingStatus` (
  `StatusId` int(11) NOT NULL,
  `BestellingId` int(11) NOT NULL,
  `Resultaat` enum('gelukt','mislukt') DEFAULT 'gelukt',
  `Gebruiker` char(2) DEFAULT NULL,
  `DT` datetime DEFAULT NULL,
  KEY `NewIndex1` (`DT`),
  KEY `NewIndex2` (`BestellingId`,`StatusId`),
  KEY `NewIndex4` (`StatusId`,`DT`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`thijs`@`%`*/ /*!50003 TRIGGER `after_insert_bestellingStatus` AFTER INSERT ON `BestellingStatus` 
    FOR EACH ROW BEGIN
	
	IF IFNULL( @skip_orderkopstatus_update, 0 ) = 0
	THEN
		SET @skip_orderkopstatus_update = 1;
		IF NEW.StatusId =  2 THEN UPDATE OrderkopStatusPlat SET bevestigd = 1                        WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  5 THEN UPDATE OrderkopStatusPlat SET gefactureerd = 1                     WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  6 THEN UPDATE OrderkopStatusPlat SET is_geparkeerd = 1                    WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  8 THEN UPDATE OrderkopStatusPlat SET exact_export = 1                     WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId =  9 THEN UPDATE OrderkopStatusPlat SET exact_controle = 1                   WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 15 THEN UPDATE OrderkopStatusPlat SET ingepakt = 1                         WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 16
		OR NEW.StatusId = 24 THEN UPDATE OrderkopStatusPlat SET geannuleerd = 1                      WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 21 THEN UPDATE OrderkopStatusPlat SET betaald = 1                          WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 23 THEN UPDATE OrderkopStatusPlat SET openstaande_post_aangemaakt = 1      WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 25 THEN UPDATE OrderkopStatusPlat SET in_backorder_gezet = 1               WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 29 THEN UPDATE OrderkopStatusPlat SET gecrediteerd = 1                     WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 30 THEN UPDATE OrderkopStatusPlat SET volledig_geleverd_backorder = 1      WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 32 THEN UPDATE OrderkopStatusPlat SET niet_inpakken = 1                    WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 33 THEN UPDATE OrderkopStatusPlat SET afgesloten = 1                       WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 36 THEN UPDATE OrderkopStatusPlat SET voorgemeld_bij_postnl = 1            WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 37 THEN UPDATE OrderkopStatusPlat SET pakket_afgeleverd_volgens_postnl = 1 WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 41 THEN UPDATE OrderkopStatusPlat SET factuur_sturen_niet_nodig = 1        WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 45 THEN UPDATE OrderkopStatusPlat SET inpakbevestiging_verzonden = 1       WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 50 THEN UPDATE OrderkopStatusPlat SET enquete_verstuurd = 1                WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 52 THEN UPDATE OrderkopStatusPlat SET enquete_ingevuld = 1                 WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 53 THEN UPDATE OrderkopStatusPlat SET opmerking_ingevuld = 1               WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 54 THEN UPDATE OrderkopStatusPlat SET opmerking_gemaild = 1                WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 55 THEN UPDATE OrderkopStatusPlat SET opmerking_verwerkt = 1               WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 56 THEN UPDATE OrderkopStatusPlat SET contact_opnemen = 1                  WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 57 THEN UPDATE OrderkopStatusPlat SET contact_opgenomen = 1                WHERE BestellingId = NEW.BestellingId; END IF;
		IF NEW.StatusId = 61 THEN UPDATE OrderkopStatusPlat SET leveren_via_cb = 1                   WHERE BestellingId = NEW.BestellingId; END IF;
		
		SET @skip_orderkopstatus_update = 0;
	END IF;
	
END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`thijs`@`%`*/ /*!50003 TRIGGER `after_delete_bestellingStatus` AFTER DELETE ON `BestellingStatus` 
    FOR EACH ROW BEGIN
	
	IF IFNULL( @skip_orderkopstatus_update, 0 ) = 0
	THEN
		SET @skip_orderkopstatus_update = 1;
		IF OLD.StatusId =  2 THEN UPDATE OrderkopStatusPlat SET bevestigd = 0                        WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  5 THEN UPDATE OrderkopStatusPlat SET gefactureerd = 0                     WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  6 THEN UPDATE OrderkopStatusPlat SET is_geparkeerd = 0                    WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  8 THEN UPDATE OrderkopStatusPlat SET exact_export = 0                     WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId =  9 THEN UPDATE OrderkopStatusPlat SET exact_controle = 0                   WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 15 THEN UPDATE OrderkopStatusPlat SET ingepakt = 0                         WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 16
		OR OLD.StatusId = 24 THEN UPDATE OrderkopStatusPlat SET geannuleerd = 0                      WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 21 THEN UPDATE OrderkopStatusPlat SET betaald = 0                          WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 23 THEN UPDATE OrderkopStatusPlat SET openstaande_post_aangemaakt = 0      WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 25 THEN UPDATE OrderkopStatusPlat SET in_backorder_gezet = 0               WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 29 THEN UPDATE OrderkopStatusPlat SET gecrediteerd = 0                     WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 30 THEN UPDATE OrderkopStatusPlat SET volledig_geleverd_backorder = 0      WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 32 THEN UPDATE OrderkopStatusPlat SET niet_inpakken = 0                    WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 33 THEN UPDATE OrderkopStatusPlat SET afgesloten = 0                       WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 36 THEN UPDATE OrderkopStatusPlat SET voorgemeld_bij_postnl = 0            WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 37 THEN UPDATE OrderkopStatusPlat SET pakket_afgeleverd_volgens_postnl = 0 WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 41 THEN UPDATE OrderkopStatusPlat SET factuur_sturen_niet_nodig = 0        WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 45 THEN UPDATE OrderkopStatusPlat SET inpakbevestiging_verzonden = 0       WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 50 THEN UPDATE OrderkopStatusPlat SET enquete_verstuurd = 0                WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 52 THEN UPDATE OrderkopStatusPlat SET enquete_ingevuld = 0                 WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 53 THEN UPDATE OrderkopStatusPlat SET opmerking_ingevuld = 0               WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 54 THEN UPDATE OrderkopStatusPlat SET opmerking_gemaild = 0                WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 55 THEN UPDATE OrderkopStatusPlat SET opmerking_verwerkt = 0               WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 56 THEN UPDATE OrderkopStatusPlat SET contact_opnemen = 0                  WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 57 THEN UPDATE OrderkopStatusPlat SET contact_opgenomen = 0                WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 61 THEN UPDATE OrderkopStatusPlat SET leveren_via_cb = 0                   WHERE BestellingId = OLD.BestellingId; END IF;		
		IF OLD.StatusId = 63 THEN UPDATE OrderkopStatusPlat SET achteraf_factureren = 0              WHERE BestellingId = OLD.BestellingId; END IF;
		IF OLD.StatusId = 64 THEN UPDATE OrderkopStatusPlat SET achteraf_gefactureerd = 0            WHERE BestellingId = OLD.BestellingId; END IF;
		
		SET @skip_orderkopstatus_update = 0;
	END IF;
	
END */;;
DELIMITER ;

--
-- Temporary table structure for view `BestellingStatusPlat`
--

/*!50001 DROP VIEW IF EXISTS `BestellingStatusPlat`*/;
/*!50001 CREATE TABLE `BestellingStatusPlat` (
  `BestellingId` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `gefactureerd` tinyint NOT NULL,
  `dt_gefactureerd` tinyint NOT NULL,
  `is_geparkeerd` tinyint NOT NULL,
  `dt_is_geparkeerd` tinyint NOT NULL,
  `factuurnummer_toegewezen` tinyint NOT NULL,
  `dt_factuurnummer_toegewezen` tinyint NOT NULL,
  `etiket_geprint` tinyint NOT NULL,
  `dt_etiket_geprint` tinyint NOT NULL,
  `ingepakt` tinyint NOT NULL,
  `dt_ingepakt` tinyint NOT NULL,
  `factuur_geprint` tinyint NOT NULL,
  `dt_factuur_geprint` tinyint NOT NULL,
  `pakketlabel_geprint` tinyint NOT NULL,
  `dt_pakketlabel_geprint` tinyint NOT NULL,
  `brieflabel_geprint` tinyint NOT NULL,
  `dt_brieflabel_geprint` tinyint NOT NULL,
  `betaald_via_ideal` tinyint NOT NULL,
  `dt_betaald_via_ideal` tinyint NOT NULL,
  `betaald` tinyint NOT NULL,
  `dt_betaald` tinyint NOT NULL,
  `in_backorder_gezet` tinyint NOT NULL,
  `dt_in_backorder_gezet` tinyint NOT NULL,
  `gecrediteerd` tinyint NOT NULL,
  `dt_gecrediteerd` tinyint NOT NULL,
  `volledig_geleverd_backorder` tinyint NOT NULL,
  `dt_volledig_geleverd_backorder` tinyint NOT NULL,
  `samengevoegd_met_eerdere_order` tinyint NOT NULL,
  `dt_samengevoegd_met_eerdere_order` tinyint NOT NULL,
  `niet_inpakken` tinyint NOT NULL,
  `dt_niet_inpakken` tinyint NOT NULL,
  `afgesloten` tinyint NOT NULL,
  `dt_afgesloten` tinyint NOT NULL,
  `factuur_per_mail_verzonden` tinyint NOT NULL,
  `dt_factuur_per_mail_verzonden` tinyint NOT NULL,
  `voorgemeld_bij_postnl` tinyint NOT NULL,
  `dt_voorgemeld_bij_postnl` tinyint NOT NULL,
  `pakket_afgeleverd_volgens_postnl` tinyint NOT NULL,
  `dt_pakket_afgeleverd_volgens_postnl` tinyint NOT NULL,
  `pakbon_geprint` tinyint NOT NULL,
  `dt_pakbon_geprint` tinyint NOT NULL,
  `uit_backorder_gehaald` tinyint NOT NULL,
  `dt_uit_backorder_gehaald` tinyint NOT NULL,
  `factuur_sturen_niet_nodig` tinyint NOT NULL,
  `dt_factuur_sturen_niet_nodig` tinyint NOT NULL,
  `wacht_op_compleet` tinyint NOT NULL,
  `dt_wacht_op_compleet` tinyint NOT NULL,
  `inpakbevestiging_verzonden` tinyint NOT NULL,
  `dt_inpakbevestiging_verzonden` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BestellingStatussen`
--

CREATE TABLE `BestellingStatussen` (
  `StatusId` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(50) DEFAULT NULL,
  `Omschrijving` varchar(255) DEFAULT NULL,
  `Volgorde` int(11) NOT NULL DEFAULT '0',
  `ToonAlsOpenOrder` int(1) DEFAULT '0',
  `VanKlantenservice` tinyint(4) DEFAULT '0',
  `VanWacht` tinyint(4) DEFAULT '0',
  `VanMagazijn` tinyint(4) DEFAULT '0',
  `VanBoekhouding` tinyint(4) DEFAULT '0',
  `VanControl` tinyint(4) DEFAULT '0',
  `MariTab1` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`StatusId`),
  KEY `NewIndex1` (`Volgorde`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingTracking`
--

CREATE TABLE `BestellingTracking` (
  `BestellingId` int(11) NOT NULL,
  `NieuweKlant` tinyint(4) NOT NULL DEFAULT '0',
  `Groep` enum('A','B') NOT NULL DEFAULT 'A',
  `DTGestart` datetime DEFAULT NULL,
  `DTAfgerond` datetime DEFAULT NULL,
  `UserAgent` varchar(255) NOT NULL,
  PRIMARY KEY (`BestellingId`),
  KEY `DTGestart` (`DTGestart`),
  KEY `DTAfgerond` (`DTAfgerond`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Temporary table structure for view `Bestelling_met_totaal`
--

/*!50001 DROP VIEW IF EXISTS `Bestelling_met_totaal`*/;
/*!50001 CREATE TABLE `Bestelling_met_totaal` (
  `Bestellingid` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `IsClubOrder` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Hash` tinyint NOT NULL,
  `MailedTracktrace` tinyint NOT NULL,
  `SessionId` tinyint NOT NULL,
  `EersteBestelling` tinyint NOT NULL,
  `StemMailVerzonden` tinyint NOT NULL,
  `DTStemMail` tinyint NOT NULL,
  `SamengevoegdMet` tinyint NOT NULL,
  `Factuurid` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `OpmerkingNegeren` tinyint NOT NULL,
  `AutoClassificatie` tinyint NOT NULL,
  `ClassificatieRedenKort` tinyint NOT NULL,
  `ClassificatieReden` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `OrigineelBestellingId` tinyint NOT NULL,
  `ProspectId` tinyint NOT NULL,
  `GeenPortoBerekenen` tinyint NOT NULL,
  `IdealOpen` tinyint NOT NULL,
  `IdealTimeout` tinyint NOT NULL,
  `BetalingsTermijn` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Herkomst` tinyint NOT NULL,
  `bestelling_totaal` tinyint NOT NULL,
  `bestelling_aantal` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `Bestellingen`
--

CREATE TABLE `Bestellingen` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Auteurnaam` varchar(200) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `Prijs` int(11) DEFAULT NULL,
  `Bestellingid` int(11) DEFAULT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `Geexporteerd` tinyint(4) NOT NULL DEFAULT '0',
  `KortingPercentage` decimal(4,2) NOT NULL,
  `IsPromo` int(11) NOT NULL,
  `KortingReden` char(3) DEFAULT NULL,
  `KortingMP` int(11) DEFAULT '0',
  `KostenMP` decimal(4,2) DEFAULT '0.00',
  `DTOrderregel` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `VastePrijs` decimal(6,2) DEFAULT '0.00',
  `ActiePrijs` decimal(6,2) DEFAULT '0.00',
  `BTWTarief` decimal(3,1) DEFAULT NULL,
  `BTWCode` char(1) DEFAULT '0',
  `AantalBackorder` int(11) DEFAULT '0',
  `BackorderOrigineel` int(11) DEFAULT NULL,
  `BackorderReden` int(11) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `KortingBedrag` decimal(10,2) NOT NULL DEFAULT '0.00',
  `KortingBedragExBtw` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragBTW` decimal(10,2) DEFAULT '0.00',
  `LineNr` int(11) NOT NULL,
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `Bijdrage` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetExBtwExKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetExBtwIncKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetIncBtwExKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `OmzetIncBtwIncKorting` decimal(10,2) NOT NULL DEFAULT '0.00',
  `StatusId` tinyint(4) DEFAULT '0',
  `FactuurId` int(11) DEFAULT NULL,
  `RegelReferentie` varchar(10) DEFAULT NULL,
  `BoekStatusBijBestelling` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`Id`),
  KEY `Bestellingid` (`Bestellingid`),
  KEY `Artikelcode` (`Ean`),
  KEY `NewIndex1` (`Id`,`BackorderOrigineel`),
  KEY `NewIndex2` (`AantalBackorder`),
  KEY `backorder` (`BackorderOrigineel`),
  KEY `NewIndex3` (`StatusId`),
  KEY `FactuurId` (`FactuurId`),
  CONSTRAINT `FK_Bestellingen2` FOREIGN KEY (`Ean`) REFERENCES `ExactArtikelen` (`Code`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_bestellingen` AFTER INSERT ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE isAfgerond INT(1);    
	DECLARE orderKlantid INT(11);    
	DECLARE myIsCredit INT(1);
	DECLARE origineelOrderid INT(11);
    
	INSERT IGNORE INTO `BestellingenInpakstatus` SET BestellingenId = NEW.Id;
	INSERT IGNORE INTO `BestellingenHerkomst` SET Id = NEW.Id;
	INSERT IGNORE INTO `BestellingenStatus` SET Id = NEW.Id;
	INSERT IGNORE INTO `OrderregelStatusPlat` SET Id = NEW.Id;	
	INSERT IGNORE INTO `OrderregelStatus` SET StatusId = 1, Id = NEW.Id, Resultaat = 'gelukt', Gebruiker = @initials, DT = NOW();
	INSERT IGNORE INTO `BestellingenBelofte` SET Id = NEW.Id;
	INSERT IGNORE INTO `BestellingenExtra` SET Id = NEW.Id, PrijsHerkomst = IF( NEW.Ean = 'BONG', 'bong', IF( NEW.IsPromo > 0, 'promo', 'boekendb' ));
	INSERT INTO `BestellingenLog` SET 
	Eerste=1,
	DTLog=NOW(),
	LogGebruiker=@initials,
	Auteurnaam=NEW.Auteurnaam,	
	Id=NEW.Id,
	Aantal=New.Aantal,
	Prijs=new.Prijs,
	Bestellingid=new.Bestellingid,
	Ean=new.Ean,
	Omschrijving = new.Omschrijving,
	Geexporteerd = new.Geexporteerd,
	KortingPercentage = new.KortingPercentage,
	IsPromo = new.IsPromo,
	KortingReden = new.KortingReden,
	KortingMP = new.KortingMP,
	KostenMP = new.KostenMP,
	DTOrderregel = new.DTOrderregel,
	VastePrijs = new.VastePrijs,
	ActiePrijs = new.ActiePrijs,
	BTWTarief = new.BTWTarief,
	BTWCode = new.BTWCode,
	AantalBackorder = new.AantalBackorder,
	BackorderOrigineel = new.BackorderOrigineel,
	BackorderReden = new.BackorderReden,
	BriefCode = new.BriefCode,
	DTExactExport = new.DTExactExport,
	KortingBedrag = new.KortingBedrag,
	KortingBedragExBtw = new.KortingBedragExBtw,
	PrijsExBtwExKorting = new.PrijsExBtwExKorting,
	PrijsExBtwIncKorting = new.PrijsExBtwIncKorting,
	BedragExBtwExKorting = new.BedragExBtwExKorting,
	BedragIncBtwExKorting = new.BedragIncBtwExKorting,
	BedragIncBtwIncKorting = new.BedragIncBtwIncKorting,
	BedragBTW = new.BedragBTW,
	LineNr = new.LineNr,
	Geannuleerd = new.Geannuleerd;
	
	
	SELECT Afgerond,Klantid,IsCredit,OrigineelBestellingId INTO isAfgerond,orderKlantid,myIsCredit,origineelOrderid FROM BestellingAll WHERE Bestellingid=NEW.Bestellingid;
	IF isAfgerond = 1 THEN
		INSERT IGNORE INTO `OrderregelStatus` SET StatusId = 2, Id = NEW.Id, Resultaat = 'gelukt', Gebruiker = @initials, DT = NOW();	
		UPDATE Bestellingen JOIN BestellingenBelofte USING ( Id ) SET VoorraadBijBevestiging = Voorraadbeheer.`beschikbareVoorraad`( Ean ) WHERE Id = NEW.Id;
	END IF;
	
		
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_update_bestellingen` AFTER UPDATE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE aantal INT;
	DECLARE gebruiker CHAR(2);
	DECLARE isAfgerond INT(1);
	DECLARE orderKlantid INT(11);
	DECLARE isCreditOrder tinyint(4);
	DECLARE isIngepakt INT(1);
	DECLARE origineelOrderid INT(11);
	
	
	IF IFNULL( OLD.FactuurId, 0 ) = 0  AND IFNULL( NEW.FactuurId, 0) > 0 THEN
		DELETE FROM OrderregelStatus WHERE StatusId = 7 AND Id = NEW.Id;
		INSERT INTO OrderregelStatus SET Id = NEW.Id, StatusId = 7, Resultaat = 'gelukt', DT = NOW(), Gebruiker = @initials;
	END IF;
	
	
	
	SELECT COUNT(*) INTO aantal FROM `Bestellingen` WHERE Bestellingid = NEW.Bestellingid AND Geexporteerd = 0;
	IF (aantal = 0) THEN 
		
		REPLACE INTO `BestellingStatus` SET 
			BestellingId = NEW.Bestellingid,
			StatusId = 8,
			Resultaat = 'gelukt',
			Gebruiker = @initials,
			DT = NOW();		
	END IF;
	
	IF 
		OLD.Aantal <> NEW.Aantal OR
		OLD.Prijs <> NEW.Prijs OR
		OLD.Ean <> NEW.Ean OR
		OLD.Omschrijving <> NEW.Omschrijving OR
		OLD.Geexporteerd <> NEW.Geexporteerd OR
		OLD.KortingPercentage <> NEW.KortingPercentage OR
		OLD.DTOrderregel <> NEW.DTOrderregel OR
		OLD.BTWCode <> NEW.BTWCode OR
		OLD.AantalBackorder <> NEW.AantalBackorder OR
		OLD.BackorderReden <> NEW.BackorderReden OR
		OLD.LineNr <> NEW.LineNr OR
		OLD.Geannuleerd <> NEW.Geannuleerd OR
		OLD.KostenMP <> NEW.KostenMP OR
		OLD.Auteurnaam <> NEW.Auteurnaam
	THEN
		INSERT INTO `BestellingenLog` SET 
		Id=NEW.Id,
		DTLog=NOW(),
		LogGebruiker=@initials,
		Auteurnaam=NEW.Auteurnaam,
		Aantal=NEW.Aantal,
		Prijs=NEW.Prijs,
		Bestellingid=NEW.Bestellingid,
		Ean=NEW.Ean,
		Omschrijving = NEW.Omschrijving,
		Geexporteerd = NEW.Geexporteerd,
		KortingPercentage = NEW.KortingPercentage,
		IsPromo = NEW.IsPromo,
		KortingReden = NEW.KortingReden,
		KortingMP = NEW.KortingMP,
		KostenMP = NEW.KostenMP,
		DTOrderregel = NEW.DTOrderregel,
		VastePrijs = NEW.VastePrijs,
		ActiePrijs = NEW.ActiePrijs,
		BTWTarief = NEW.BTWTarief,
		BTWCode = NEW.BTWCode,
		AantalBackorder = NEW.AantalBackorder,
		BackorderOrigineel = NEW.BackorderOrigineel,
		BackorderReden = NEW.BackorderReden,
		BriefCode = NEW.BriefCode,
		DTExactExport = NEW.DTExactExport,
		KortingBedrag = NEW.KortingBedrag,
		KortingBedragExBtw = NEW.KortingBedragExBtw,
		PrijsExBtwExKorting = NEW.PrijsExBtwExKorting,
		PrijsExBtwIncKorting = NEW.PrijsExBtwIncKorting,
		BedragExBtwExKorting = NEW.BedragExBtwExKorting,
		BedragIncBtwExKorting = NEW.BedragIncBtwExKorting,
		BedragIncBtwIncKorting = NEW.BedragIncBtwIncKorting,
		BedragBTW = NEW.BedragBTW,
		LineNr = NEW.LineNr,
		Geannuleerd = NEW.Geannuleerd
		;
	END IF;
	
	
	
	
	
	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_delete_bestellingen` BEFORE DELETE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DElETE FROM BestellingenInpakstatus WHERE BestellingenId = OLD.Id;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`sander`@`%`*/ /*!50003 TRIGGER `before_update_bestellingen` BEFORE UPDATE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE ActiePrijs DOUBLE;
	DECLARE VastePrijs DOUBLE;
	DECLARE Korting DOUBLE;
	DECLARE Porto DECIMAL( 10, 2 );
	DECLARE Aantal INT;
	DECLARE Btw CHAR(1);
	DECLARE AantalTBVOmzet INT;
	DECLARE IsOmzet INT;
	DECLARE IsManBoek INT;	
	DECLARE IsCbBoek INT;
	
	SELECT IsOmzet INTO IsOmzet FROM BestellingAll WHERE BestellingId = OLD.BestellingId;
	
	SET AantalTBVOmzet = IF( ( IFNULL( NEW.BackorderOrigineel, 0 ) > 0 ) OR ( IsOmzet = 0 ), 0, NEW.Aantal + NEW.AantalBackorder );	
	
	IF NEW.Ean <> 'porto' THEN
		SELECT COUNT(*) INTO IsManBoek FROM Managementboek_Boeken.Boeken WHERE Uitgever > 0 AND Boeken_verborgenboek = 0 AND Ean = NEW.Ean;
	
		IF IsManBoek = 1 THEN
			SELECT IFNULL( Managementboek_Boeken.calc_prijs( Prijs, Valuta ) ,0), 
			       IFNULL(IF(((`Aanbiedingsprijs` > 0) AND (CURDATE() >= `Aanbiedingvanaf`) AND (CURDATE() <= IF((IFNULL(`Aanbiedingtotenmet`,0) = 0),CURDATE(),`Aanbiedingtotenmet`))),`Aanbiedingsprijs`,0 ),0), 
			       IF( Aangepastekortingmp > 0, Aangepastekortingmp, Kortingmp ),
			       Btwcode_tbv_export INTO VastePrijs,ActiePrijs,Korting,Btw
			FROM Managementboek_Boeken.Boeken WHERE Ean = NEW.Ean;			
		ELSE
			SELECT COUNT(*) INTO IsCbBoek FROM CbBoeken.`Boeken_gefilterd` WHERE Ean = NEW.Ean;			
			
			IF IsCbBoek = 1 THEN			
				SELECT F.`VastePrijs`,F.`AanbiedingsPrijs`, F.KortingMP, F.`BTWCode`
				   INTO VastePrijs,ActiePrijs,Korting,Btw
				   FROM CbBoeken.`Boeken_gefilterd` F JOIN CbBoeken.`DagPrijzen` DP USING ( Ean ) WHERE F.Ean = NEW.Ean;
			END IF; 
		END IF;
	END IF;
	
	
	IF Btw = '' OR BTW IS NULL THEN
		SELECT IFNULL( BTWCode, '' ) INTO Btw FROM ExactArtikelen WHERE `Code` = NEW.Ean;
	END IF;
	
	
	IF Btw = '' OR BTW IS NULL THEN
		SELECT IFNULL( BW.BTWCode, '' ) INTO Btw FROM ExactArtikelen JOIN Managementboek_Boeken.`Bindwijze` BW USING ( Bindwijze ) WHERE `Code` = NEW.Ean;		
	END IF;	
	
	IF Btw = '' OR BTW IS NULL THEN	
		SET Btw = 4;
	END IF;	
	
	SET NEW.BTWCode    	= Btw;	
	SET NEW.ActiePrijs 	= IFNULL(ActiePrijs,0);
	SET NEW.VastePrijs 	= IFNULL(VastePrijs,0);
	SET NEW.KortingMP 	= IFNULL(Korting,0);
	SET NEW.KortingReden 	= IFNULL(NEW.KortingReden,'');
	SET NEW.KostenMP 	= IFNULL(NEW.KostenMP,0);
	SET NEW.BTWTarief 	= 6;
	
	IF( Btw = '4' ) THEN
		SET NEW.BTWTarief = 6;
	ELSEIF( Btw = '0' OR Btw = 'B' OR Btw = 'C' ) THEN
		SET NEW.BTWTarief = 0;
	ELSEIF( Btw = '7') THEN
		SET NEW.BTWTarief = 21;
	ELSEIF( Btw = '8') THEN
		SET NEW.BTWTarief = 21;		
	ELSEIF( Btw = 'H') THEN
		SET NEW.BTWTarief = 19;
	ELSEIF( Btw = 'I') THEN
		SET NEW.BTWTarief = 19;		
	END IF;
	
	IF( NEW.Ean = 'porto' ) THEN
		SET NEW.BTWTarief = 6;
		SET NEW.BTWCode   = '4';
	END IF;
	
	IF( NEW.Ean = 'BONG' OR NEW.Ean = 'IDEAL' ) THEN
		SET NEW.BTWTarief = 0;
		SET NEW.BTWCode   = '0';
	END IF;
	
	IF( Btw = 'H' OR Btw = '7' ) THEN 
		SET NEW.PrijsExBtwExKorting    = ROUND( NEW.Prijs * 0.01, 2 );
		SET NEW.PrijsExBtwIncKorting   = ROUND( NEW.Prijs * 0.01 * ((100-NEW.KortingPercentage) * 0.01) , 2 );		
		SET NEW.KortingBedragExBTW     = ROUND( NEW.Aantal * ( NEW.Prijs * 0.01 ) * (NEW.KortingPercentage * 0.01) ,2 );
		SET NEW.BedragExBtwExKorting   = ROUND( NEW.Aantal * NEW.Prijs / 100, 2 );		
		SET NEW.BedragExBtwIncKorting  = NEW.BedragExBtwExKorting - NEW.KortingBedragExBTW;
		SET NEW.BedragIncBtwExKorting  = ROUND( NEW.BedragExBtwExKorting  * (1 + NEW.BTWTarief/100), 2 );
		SET NEW.KortingBedrag 	       = ROUND( NEW.BedragIncBtwExKorting * (NEW.KortingPercentage * 0.01), 2 );	
		SET NEW.BedragIncBtwIncKorting = NEW.BedragIncBtwExKorting - NEW.KortingBedrag;
		SET NEW.BedragBTW 	       = NEW.BedragIncBtwIncKorting - NEW.BedragExBtwIncKorting;			
		
		SET NEW.OmzetExBtwExKorting   = ROUND( AantalTBVOmzet * NEW.Prijs / 100, 2 );		
		SET NEW.OmzetExBtwIncKorting  = NEW.OmzetExBtwExKorting - ROUND( AantalTBVOmzet * ( NEW.Prijs * 0.01 ) * (NEW.KortingPercentage * 0.01) ,2 );
		SET NEW.OmzetIncBtwExKorting  = ROUND( NEW.OmzetExBtwExKorting  * (1 + NEW.BTWTarief/100), 2 );
		SET NEW.OmzetIncBtwIncKorting = NEW.OmzetIncBtwExKorting - ROUND( NEW.BedragIncBtwExKorting * (NEW.KortingPercentage * 0.01), 2 );
		
	ELSE
		SET NEW.KortingBedrag 		= ROUND( NEW.Aantal * (NEW.Prijs/100) * NEW.KortingPercentage / 100,2 );
		SET NEW.PrijsExBtwExKorting 	= ROUND( ( NEW.Prijs / 100 ) / ( 1 + NEW.BTWTarief/100) , 2 );
		SET NEW.PrijsExBtwIncKorting 	= ROUND( ( ( 100 - NEW.KortingPercentage ) / 100 ) * ( NEW.Prijs / 100 ) / ( 1 + NEW.BTWTarief/100) , 2 );	
		SET NEW.BedragIncBtwExKorting 	= NEW.Prijs * NEW.Aantal / 100;
		SET NEW.BedragExBtwExKorting  	= ROUND( NEW.BedragIncBtwExKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.BedragIncBtwIncKorting 	= NEW.BedragIncBtwExKorting - NEW.KortingBedrag;
		SET NEW.BedragExBtwIncKorting 	= ROUND( NEW.BedragIncBtwIncKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.BedragBTW 		= NEW.BedragIncBtwIncKorting - NEW.BedragExBtwIncKorting;	
		
		SET NEW.OmzetIncBtwExKorting 	= NEW.Prijs * AantalTBVOmzet / 100;
		SET NEW.OmzetExBtwExKorting  	= ROUND( NEW.OmzetIncBtwExKorting / ( 1 + NEW.BTWTarief/100), 2 );
		SET NEW.OmzetIncBtwIncKorting 	= NEW.OmzetIncBtwExKorting - ROUND( AantalTBVOmzet * (NEW.Prijs/100) * NEW.KortingPercentage / 100,2 );
		SET NEW.OmzetExBtwIncKorting 	= ROUND( NEW.OmzetIncBtwIncKorting / ( 1 + NEW.BTWTarief/100), 2 );	  
	END IF;
	
	SET NEW.Bijdrage = IF( AantalTBVOmzet > 0, NEW.OmzetExBTWIncKorting - ROUND( ( NEW.OmzetExBTWExKorting * ( 100 - NEW.KortingMP ) / 100 ), 2 ) - NEW.KostenMP, 0 );
	
	IF OLD.Geannuleerd = 0 AND NEW.Geannuleerd = 1 THEN
		INSERT IGNORE INTO OrderregelStatus SET Id = NEW.Id, StatusId = 24, Resultaat = 'gelukt', DT = NOW(), Gebruiker = @initials;	
		SET NEW.StatusId=24;
	END IF;
	
	
	IF NEW.Geannuleerd = 1 THEN
		SET NEW.OmzetIncBtwExKorting   = 0;
		SET NEW.OmzetExBtwExKorting    = 0;
		SET NEW.OmzetIncBtwIncKorting  = 0;
		SET NEW.OmzetExBtwIncKorting   = 0;
		SET NEW.KortingBedrag          = 0;
		SET NEW.Bijdrage               = 0;
	END IF;
	
	
	IF NEW.Ean = 'bong' THEN
		SET NEW.Bijdrage                = NEW.Prijs / 100;
		SET NEW.KortingMP               = 0;
		SET NEW.KostenMP                = 0;
	END IF;
	
	
	IF LCASE( NEW.Ean ) = 'porto' OR LCASE( NEW.Ean ) = 'spoed' OR LCASE( NEW.Ean ) = 'voucher' THEN
		SET NEW.OmzetIncBtwExKorting    = 0;
		SET NEW.OmzetExBtwExKorting     = 0;
		SET NEW.OmzetIncBtwIncKorting  = 0;
		SET NEW.OmzetExBtwIncKorting   = 0;
	END IF;	
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_delete_bestellingen` AFTER DELETE ON `Bestellingen` 
    FOR EACH ROW BEGIN
	DECLARE isAfgerond INT(1);
	DECLARE orderKlantid INT(11);
	DECLARE origineelOrderid INT(11);
	SELECT Afgerond,Klantid,OrigineelBestellingId INTO isAfgerond,orderKlantid,origineelOrderid FROM BestellingAll WHERE Bestellingid=OLD.Bestellingid;
	
	
	IF isAfgerond = 1 THEN
		IF OLD.Ean NOT IN (SELECT geen_voorraad_artikelen()) THEN
			SELECT Voorraadbeheer.maakVoorraadreservering(get_administratie(),
									OLD.Ean,
									-1* ( Voorraadbeheer.`regelReserveringen`( get_administratie(), OLD.Id ) ),
									OLD.Bestellingid,
									OLD.id,
									orderKlantid,
									'verwijderd',
									origineelOrderid,
									OLD.Omschrijving) 
								INTO @myResevering;		
		END IF;
	END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `BestellingenBelofte`
--

CREATE TABLE `BestellingenBelofte` (
  `Id` int(11) NOT NULL,
  `TekstBelofte` char(60) DEFAULT NULL,
  `DTBelofte` datetime DEFAULT NULL,
  `DTIngepakt` datetime DEFAULT NULL,
  `DTGeplandeLevering` date DEFAULT NULL,
  `WordtWaargemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `IsWaargemaakt` tinyint(4) NOT NULL DEFAULT '0',
  `Werkdagen` tinyint(4) NOT NULL DEFAULT '0',
  `VoorraadBijBevestiging` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Id`),
  CONSTRAINT `BestellingenBelofte_ibfk_1` FOREIGN KEY (`Id`) REFERENCES `Bestellingen` (`Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestellingenExtra`
--

CREATE TABLE `BestellingenExtra` (
  `Id` int(10) unsigned NOT NULL,
  `Tag` char(20) NOT NULL,
  `PrijsHerkomst` enum('boekendb','mari','apcode','bong','voucher','promo','cb') NOT NULL,
  `AangepastePrijsCode` varchar(255) NOT NULL,
  `InRamsj` tinyint(4) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `NewIndex1` (`Tag`),
  KEY `InRamsj` (`InRamsj`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingenHerkomst`
--

CREATE TABLE `BestellingenHerkomst` (
  `Id` int(11) NOT NULL,
  `BestellingenHerkomst` enum('Organic','Adwords','Affiliate','Direct','Extern','Nieuwsbrief','Klantenservice') DEFAULT NULL,
  `SessionId` int(11) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BestellingenInpakstatus`
--

CREATE TABLE `BestellingenInpakstatus` (
  `BestellingenId` int(11) NOT NULL,
  `AantalIngepakt` int(11) DEFAULT '0',
  `DT` datetime DEFAULT NULL,
  `Gebruiker` char(2) DEFAULT NULL,
  PRIMARY KEY (`BestellingenId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_update_bestellingenInpakstatus` AFTER UPDATE ON `BestellingenInpakstatus` 
    FOR EACH ROW BEGIN
	DECLARE totaalAantalInOrder INT;    
	DECLARE totaalAantalIngepakt INT;
	DECLARE bid INT;
	SELECT Bestellingid INTO bid FROM Bestellingen WHERE Id = NEW.BestellingenId;
	SELECT SUM(Aantal) INTO totaalAantalInOrder FROM Bestellingen WHERE Bestellingid = bid;
	SELECT SUM(AantalIngepakt) INTO totaalAantalIngepakt 
		FROM BestellingenInpakstatus 
		WHERE BestellingenId IN (SELECT Id FROM Bestellingen WHERE Bestellingid = bid);
	
	IF (totaalAantalInOrder = totaalAantalIngepakt) THEN
		INSERT INTO BestellingStatus SET 
			BestellingId = bid,	
			StatusId = 13,
			Resultaat = 'gelukt',
			Gebruiker = NEW.Gebruiker,
			DT = NOW();
	END IF;
    END */;;
DELIMITER ;

--
-- Table structure for table `BestellingenLog`
--

CREATE TABLE `BestellingenLog` (
  `logId` int(11) NOT NULL AUTO_INCREMENT,
  `DTLog` datetime DEFAULT NULL,
  `LogGebruiker` char(5) DEFAULT NULL,
  `Eerste` tinyint(1) DEFAULT '0',
  `Id` int(11) DEFAULT NULL COMMENT 'Bestellingregel Id (Bestellingen)',
  `Auteurnaam` varchar(200) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `Prijs` int(11) DEFAULT NULL,
  `Bestellingid` int(11) DEFAULT NULL COMMENT 'Bestelling Id (BestellingAll)',
  `Ean` varchar(13) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `Geexporteerd` tinyint(4) DEFAULT '0',
  `KortingPercentage` decimal(4,2) DEFAULT NULL,
  `IsPromo` tinyint(4) DEFAULT NULL,
  `KortingReden` char(3) DEFAULT NULL,
  `KortingMP` int(11) DEFAULT '0',
  `KostenMP` decimal(4,2) DEFAULT '0.00',
  `DTOrderregel` datetime DEFAULT NULL,
  `VastePrijs` decimal(6,2) DEFAULT '0.00',
  `ActiePrijs` decimal(6,2) DEFAULT '0.00',
  `BTWTarief` decimal(3,1) DEFAULT NULL,
  `BTWCode` char(1) DEFAULT '0',
  `AantalBackorder` int(11) DEFAULT '0',
  `BackorderOrigineel` int(11) DEFAULT NULL,
  `BackorderReden` int(11) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `KortingBedrag` decimal(10,2) DEFAULT '0.00',
  `KortingBedragExBtw` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragBTW` decimal(10,2) DEFAULT '0.00',
  `LineNr` int(11) DEFAULT NULL,
  `Geannuleerd` tinyint(4) DEFAULT '0',
  `Bevestigd` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`logId`),
  KEY `Artikelcode` (`Ean`),
  KEY `BackorderOrigineel` (`BackorderOrigineel`),
  KEY `NewIndex1` (`AantalBackorder`),
  KEY `Id` (`Id`),
  KEY `Bestellingid` (`Bestellingid`,`Eerste`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BestellingenStatus`
--

CREATE TABLE `BestellingenStatus` (
  `Id` int(11) NOT NULL,
  `InBehandelingOp` datetime DEFAULT NULL,
  `GereedOp` datetime DEFAULT NULL,
  `IngepaktOp` datetime DEFAULT NULL,
  `NageleverdOp` date DEFAULT NULL,
  `VerzondenOp` date DEFAULT NULL,
  `BetaaldOp` date DEFAULT NULL,
  `GeannuleerdOp` datetime DEFAULT NULL,
  PRIMARY KEY (`Id`),
  CONSTRAINT `FK_BestellingenStatus` FOREIGN KEY (`Id`) REFERENCES `Bestellingen` (`Id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Bestellingen_kopie`
--

CREATE TABLE `Bestellingen_kopie` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Auteurnaam` varchar(200) DEFAULT NULL,
  `Aantal` int(11) DEFAULT NULL,
  `Prijs` int(11) DEFAULT NULL,
  `Bestellingid` int(11) DEFAULT NULL,
  `Ean` varchar(13) DEFAULT NULL,
  `Omschrijving` varchar(200) DEFAULT NULL,
  `Geexporteerd` tinyint(4) NOT NULL DEFAULT '0',
  `KortingPercentage` decimal(4,2) NOT NULL,
  `IsPromo` tinyint(4) NOT NULL,
  `KortingReden` char(3) DEFAULT NULL,
  `KortingMP` int(11) DEFAULT '0',
  `KostenMP` decimal(4,2) DEFAULT '0.00',
  `DTOrderregel` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `VastePrijs` decimal(6,2) DEFAULT '0.00',
  `ActiePrijs` decimal(6,2) DEFAULT '0.00',
  `BTWTarief` decimal(3,1) DEFAULT NULL,
  `BTWCode` char(1) DEFAULT '0',
  `AantalBackorder` int(11) DEFAULT '0',
  `BackorderOrigineel` int(11) DEFAULT NULL,
  `BackorderReden` int(11) DEFAULT NULL,
  `BriefCode` varchar(20) DEFAULT NULL,
  `DTExactExport` datetime DEFAULT NULL,
  `KortingBedrag` decimal(10,2) NOT NULL DEFAULT '0.00',
  `KortingBedragExBtw` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `PrijsExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwExKorting` decimal(10,2) DEFAULT '0.00',
  `BedragIncBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragExBtwIncKorting` decimal(10,2) DEFAULT '0.00',
  `BedragBTW` decimal(10,2) DEFAULT '0.00',
  `LineNr` int(11) NOT NULL,
  `Geannuleerd` tinyint(4) DEFAULT '0',
  PRIMARY KEY (`Id`),
  KEY `Bestellingid` (`Bestellingid`),
  KEY `Artikelcode` (`Ean`),
  KEY `NewIndex1` (`Id`,`BackorderOrigineel`),
  KEY `NewIndex2` (`AantalBackorder`),
  KEY `backorder` (`BackorderOrigineel`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Temporary table structure for view `Bestellingen_met_backorders`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_backorders`*/;
/*!50001 CREATE TABLE `Bestellingen_met_backorders` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Geleverd` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_btwgegevens`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_btwgegevens`*/;
/*!50001 CREATE TABLE `Bestellingen_met_btwgegevens` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `BtwCode` tinyint NOT NULL,
  `Magazijnsoort` tinyint NOT NULL,
  `Magazijnlocatie` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `SubtotaalVoorKorting` tinyint NOT NULL,
  `SubtotaalNaKorting` tinyint NOT NULL,
  `Korting` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_extra`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_extra`*/;
/*!50001 CREATE TABLE `Bestellingen_met_extra` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `FactuurId` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `Tag` tinyint NOT NULL,
  `PrijsHerkomst` tinyint NOT NULL,
  `AangepastePrijsCode` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_met_reserveringen`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_met_reserveringen`*/;
/*!50001 CREATE TABLE `Bestellingen_met_reserveringen` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `FactuurId` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `Reserveringen` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_voor_omzet`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_voor_omzet`*/;
/*!50001 CREATE TABLE `Bestellingen_voor_omzet` (
  `Aantal` tinyint NOT NULL,
  `AantalBackorder` tinyint NOT NULL,
  `AantalVoorOmzet` tinyint NOT NULL,
  `Achternaam` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `AffiliateId` tinyint NOT NULL,
  `Afgerond` tinyint NOT NULL,
  `Afleverid` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `AutoClassificatie` tinyint NOT NULL,
  `BackorderOrigineel` tinyint NOT NULL,
  `BackorderReden` tinyint NOT NULL,
  `BatchID` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `Bedrijfsnaam` tinyint NOT NULL,
  `BestellingHerkomst` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Betaalmethode` tinyint NOT NULL,
  `BetalingsTermijn` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `BoekStatusBijBestelling` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `ClassificatieReden` tinyint NOT NULL,
  `ClassificatieRedenKort` tinyint NOT NULL,
  `DeelLevering` tinyint NOT NULL,
  `DT` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `DTFactuur` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `DTStemMail` tinyint NOT NULL,
  `DTVerval` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `EersteBestelling` tinyint NOT NULL,
  `Factuurid` tinyint NOT NULL,
  `Gclid` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Gebruiker` tinyint NOT NULL,
  `GeenPortoBerekenen` tinyint NOT NULL,
  `Hash` tinyint NOT NULL,
  `Herinnering` tinyint NOT NULL,
  `Herkomst` tinyint NOT NULL,
  `Id` tinyint NOT NULL,
  `IdealOpen` tinyint NOT NULL,
  `IdealTimeout` tinyint NOT NULL,
  `IP` tinyint NOT NULL,
  `IsClubOrder` tinyint NOT NULL,
  `IsCorrectie` tinyint NOT NULL,
  `IsCredit` tinyint NOT NULL,
  `IsOmzet` tinyint NOT NULL,
  `IsOpnieuw` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `Kanaal` tinyint NOT NULL,
  `Keyword` tinyint NOT NULL,
  `Klantid` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `MailedTracktrace` tinyint NOT NULL,
  `Nieuwsbriefid` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL,
  `Opmerkingen` tinyint NOT NULL,
  `OpmerkingNegeren` tinyint NOT NULL,
  `OrigineelBestellingId` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `ProcessStatus` tinyint NOT NULL,
  `ProspectId` tinyint NOT NULL,
  `ReferrerDomain` tinyint NOT NULL,
  `RegelReferentie` tinyint NOT NULL,
  `Rekeningnummer` tinyint NOT NULL,
  `SamengevoegdMet` tinyint NOT NULL,
  `SessionId` tinyint NOT NULL,
  `SiteBestelling` tinyint NOT NULL,
  `Siteid` tinyint NOT NULL,
  `StatusId` tinyint NOT NULL,
  `StemMailVerzonden` tinyint NOT NULL,
  `TeltAls` tinyint NOT NULL,
  `ToonBestelling` tinyint NOT NULL,
  `UitBackorder` tinyint NOT NULL,
  `UserAgent` tinyint NOT NULL,
  `Uwreferentie` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `VerstuurCompleteOrder` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Temporary table structure for view `Bestellingen_zonder_backorders`
--

/*!50001 DROP VIEW IF EXISTS `Bestellingen_zonder_backorders`*/;
/*!50001 CREATE TABLE `Bestellingen_zonder_backorders` (
  `Id` tinyint NOT NULL,
  `Auteurnaam` tinyint NOT NULL,
  `Aantal` tinyint NOT NULL,
  `Prijs` tinyint NOT NULL,
  `Bestellingid` tinyint NOT NULL,
  `Ean` tinyint NOT NULL,
  `Omschrijving` tinyint NOT NULL,
  `Geexporteerd` tinyint NOT NULL,
  `KortingPercentage` tinyint NOT NULL,
  `IsPromo` tinyint NOT NULL,
  `KortingReden` tinyint NOT NULL,
  `KortingMP` tinyint NOT NULL,
  `KostenMP` tinyint NOT NULL,
  `DTOrderregel` tinyint NOT NULL,
  `VastePrijs` tinyint NOT NULL,
  `ActiePrijs` tinyint NOT NULL,
  `BTWTarief` tinyint NOT NULL,
  `BTWCode` tinyint NOT NULL,
  `BriefCode` tinyint NOT NULL,
  `DTExactExport` tinyint NOT NULL,
  `KortingBedrag` tinyint NOT NULL,
  `KortingBedragExBtw` tinyint NOT NULL,
  `PrijsExBtwExKorting` tinyint NOT NULL,
  `PrijsExBtwIncKorting` tinyint NOT NULL,
  `BedragIncBtwExKorting` tinyint NOT NULL,
  `BedragExBtwExKorting` tinyint NOT NULL,
  `BedragIncBtwIncKorting` tinyint NOT NULL,
  `BedragExBtwIncKorting` tinyint NOT NULL,
  `BedragBTW` tinyint NOT NULL,
  `LineNr` tinyint NOT NULL,
  `Geannuleerd` tinyint NOT NULL,
  `Bijdrage` tinyint NOT NULL,
  `OmzetExBtwIncKorting` tinyint NOT NULL,
  `OmzetExBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwExKorting` tinyint NOT NULL,
  `OmzetIncBtwIncKorting` tinyint NOT NULL
) ENGINE=MyISAM */;

--
-- Table structure for table `BoekBrieven`
--

CREATE TABLE `BoekBrieven` (
  `naam` varchar(20) NOT NULL,
  `bestellingbarcode` tinyint(1) NOT NULL DEFAULT '0',
  `inhoud` mediumtext NOT NULL,
  `onderwerp` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`naam`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BoekBrievenEans`
--

CREATE TABLE `BoekBrievenEans` (
  `Naam` char(100) NOT NULL DEFAULT '',
  `Ean` char(13) NOT NULL DEFAULT '',
  PRIMARY KEY (`Ean`,`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekBrieven_copy`
--

CREATE TABLE `BoekBrieven_copy` (
  `naam` varchar(20) NOT NULL,
  `bestellingbarcode` tinyint(1) NOT NULL DEFAULT '0',
  `inhoud` mediumtext NOT NULL,
  `onderwerp` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`naam`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `BoekGecombineerdeActieEans`
--

CREATE TABLE `BoekGecombineerdeActieEans` (
  `ActieID` int(11) NOT NULL,
  `Ean` char(13) NOT NULL,
  PRIMARY KEY (`ActieID`,`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekGecombineerdeActies`
--

CREATE TABLE `BoekGecombineerdeActies` (
  `ActieID` int(11) NOT NULL AUTO_INCREMENT,
  `Start` date NOT NULL,
  `Eind` date NOT NULL,
  `AantalNodig` int(11) NOT NULL,
  `ActiePrijs` decimal(6,2) NOT NULL,
  `KortingTekst` varchar(255) NOT NULL,
  PRIMARY KEY (`ActieID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekMetVolledigAbstract`
--

CREATE TABLE `BoekMetVolledigAbstract` (
  `Ean` char(13) NOT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenProductvorm`
--

CREATE TABLE `BoekenProductvorm` (
  `Bindwijze` varchar(255) DEFAULT NULL,
  `Productvorm` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `BoekenTags`
--

CREATE TABLE `BoekenTags` (
  `EAN` char(13) NOT NULL,
  `verkoop_top_100` tinyint(4) NOT NULL DEFAULT '0',
  `verkoop_top_1000` tinyint(4) NOT NULL DEFAULT '0',
  `aanbieding` tinyint(1) NOT NULL DEFAULT '0',
  `nieuw` tinyint(1) NOT NULL DEFAULT '0',
  `aantal_recensies` tinyint(4) NOT NULL DEFAULT '0',
  `nieuwe_recensie` tinyint(1) NOT NULL DEFAULT '0',
  `last_recensie_dt` date DEFAULT NULL,
  `auteursbijdragen` tinyint(4) NOT NULL DEFAULT '0',
  `last_auteurs_dt` date DEFAULT NULL,
  `lezersrecensies` tinyint(4) NOT NULL DEFAULT '0',
  `last_lezers_dt` date DEFAULT NULL,
  `aantal_stemmen` tinyint(4) NOT NULL DEFAULT '0',
  `gemiddeld_stemmen` float(6,5) NOT NULL DEFAULT '0.00000',
  `stemmen_top_100` tinyint(4) NOT NULL DEFAULT '0',
  `gemiddeld_stemmen_top_100` tinyint(4) NOT NULL DEFAULT '0',
  `mp3recensie` tinyint(4) NOT NULL DEFAULT '0',
  `bestseller` tinyint(4) NOT NULL DEFAULT '0',
  `nr1` tinyint(4) NOT NULL DEFAULT '0',
  `nr2` tinyint(4) NOT NULL DEFAULT '0',
  `nr3` tinyint(4) NOT NULL DEFAULT '0',
  `top10` tinyint(4) NOT NULL DEFAULT '0',
  `top50` tinyint(4) NOT NULL DEFAULT '0',
  `top100` tinyint(4) NOT NULL DEFAULT '0',
  `evergreen` tinyint(4) NOT NULL DEFAULT '0',
  `verwacht` tinyint(1) NOT NULL DEFAULT '0',
  `stemmen_ranking` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`EAN`),
  KEY `verkoop_top_100` (`verkoop_top_100`),
  KEY `verkoop_top_1000` (`verkoop_top_1000`),
  KEY `aanbieding` (`aanbieding`),
  KEY `nieuw` (`nieuw`),
  KEY `aantal_recensies` (`aantal_recensies`),
  KEY `nieuwe_recensie` (`nieuwe_recensie`),
  KEY `last_recensie_dt` (`last_recensie_dt`),
  KEY `auteursbijdragen` (`auteursbijdragen`),
  KEY `lezersrecensies` (`lezersrecensies`),
  KEY `aantal_stemmen` (`aantal_stemmen`),
  KEY `gemiddeld_stemmen` (`gemiddeld_stemmen`),
  KEY `stemmen_top_100` (`stemmen_top_100`),
  KEY `gemiddeld_stemmen_top_100` (`gemiddeld_stemmen_top_100`),
  KEY `mp3recensie` (`mp3recensie`),
  KEY `nr1` (`nr1`),
  KEY `nr2` (`nr2`),
  KEY `nr3` (`nr3`),
  KEY `top10` (`top10`),
  KEY `top50` (`top50`),
  KEY `top100` (`top100`),
  KEY `evergreen` (`evergreen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekranking_Correctie`
--

CREATE TABLE `Boekranking_Correctie` (
  `Ean` char(13) NOT NULL,
  `DagenInTop100` int(11) NOT NULL,
  `DagenInTop10` int(11) NOT NULL,
  `HoogstePositie` int(11) NOT NULL,
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekranking_Datum`
--

CREATE TABLE `Boekranking_Datum` (
  `Ean` char(13) NOT NULL,
  `DT` date NOT NULL,
  `Ranking` int(11) DEFAULT NULL,
  PRIMARY KEY (`Ean`,`DT`),
  KEY `NewIndex1` (`DT`),
  KEY `Ranking` (`Ranking`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Boekranking_Plat`
--

CREATE TABLE `Boekranking_Plat` (
  `Ean` char(13) NOT NULL,
  `1d` int(11) NOT NULL,
  `5d` int(11) NOT NULL,
  `7d` int(11) NOT NULL,
  `10d` int(11) NOT NULL,
  `14d` int(11) NOT NULL,
  `30d` int(11) NOT NULL,
  `60d` int(11) NOT NULL,
  `90d` int(11) NOT NULL,
  `lastweek` int(11) NOT NULL,
  `beforelastweek` int(11) NOT NULL,
  PRIMARY KEY (`Ean`),
  KEY `1d` (`1d`),
  KEY `5d` (`5d`),
  KEY `7d` (`7d`),
  KEY `10d` (`10d`),
  KEY `14d` (`14d`),
  KEY `30d` (`30d`),
  KEY `60d` (`60d`),
  KEY `90d` (`90d`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Bonverstrekkers`
--

CREATE TABLE `Bonverstrekkers` (
  `Bonverstrekkerid` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(75) DEFAULT NULL,
  PRIMARY KEY (`Bonverstrekkerid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Carousel`
--

CREATE TABLE `Carousel` (
  `Naam` char(20) NOT NULL,
  `EAN` char(13) NOT NULL,
  `Gewicht` decimal(3,2) NOT NULL DEFAULT '0.00',
  PRIMARY KEY (`Naam`,`EAN`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `CarouselBronnen`
--

CREATE TABLE `CarouselBronnen` (
  `Naam` char(20) NOT NULL DEFAULT '',
  `NieuweBoekenVink` tinyint(4) DEFAULT NULL,
  `NieuweBoekenFactor` decimal(3,2) DEFAULT NULL,
  `NieuweBoekenAantal` int(11) DEFAULT NULL,
  `NieuweBoekenSinds` int(11) DEFAULT NULL,
  `ExtraAandachtVink` tinyint(4) DEFAULT NULL,
  `ExtraAandachtFactor` decimal(3,2) DEFAULT NULL,
  `ExtraAandachtAantal` int(11) DEFAULT NULL,
  `HandmatigVink` tinyint(4) DEFAULT NULL,
  `HandmatigFactor` decimal(3,2) DEFAULT NULL,
  `HandmatigLijst` text,
  `ViewLogVink` tinyint(4) DEFAULT NULL,
  `ViewLogFactor` decimal(3,2) DEFAULT NULL,
  `ViewLogAantal` int(11) DEFAULT NULL,
  `ViewLogFields` blob,
  `ViewLogSinds` int(11) DEFAULT NULL,
  `ViewLogType` int(11) DEFAULT NULL,
  `ViewLogFirst` tinyint(4) DEFAULT NULL,
  `TopVink` tinyint(4) DEFAULT NULL,
  `TopAantal` int(11) DEFAULT NULL,
  `TopTraject` char(10) DEFAULT NULL,
  `TopFactor` decimal(3,2) DEFAULT NULL,
  PRIMARY KEY (`Naam`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DagDealFallback`
--

CREATE TABLE `DagDealFallback` (
  `Ean` char(13) NOT NULL,
  `Actieprijs` decimal(10,2) NOT NULL,
  `LaatstGebruikt` date NOT NULL DEFAULT '0000-00-00',
  PRIMARY KEY (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DagDeals`
--

CREATE TABLE `DagDeals` (
  `Datum` date NOT NULL,
  `Ean` char(13) NOT NULL,
  `Actieprijs` decimal(10,2) NOT NULL,
  PRIMARY KEY (`Datum`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_Debiteuren`
--

CREATE TABLE `Debiteurenset_Debiteuren` (
  `DebiteurensetID` int(11) NOT NULL DEFAULT '0',
  `Exactid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`DebiteurensetID`,`Exactid`),
  CONSTRAINT `FK_Debiteurenset_Debiteuren` FOREIGN KEY (`DebiteurensetID`) REFERENCES `Debiteurenset_Description` (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_Description`
--

CREATE TABLE `Debiteurenset_Description` (
  `DebiteurensetID` int(11) NOT NULL AUTO_INCREMENT,
  `Naam` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_IPRestrictie`
--

CREATE TABLE `Debiteurenset_IPRestrictie` (
  `DebiteurensetID` int(11) NOT NULL DEFAULT '0',
  `IP` char(16) NOT NULL DEFAULT '0',
  PRIMARY KEY (`DebiteurensetID`,`IP`),
  CONSTRAINT `FK_Debiteurenset_IPRestrictie` FOREIGN KEY (`DebiteurensetID`) REFERENCES `Debiteurenset_Description` (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `Debiteurenset_Toegang`
--

CREATE TABLE `Debiteurenset_Toegang` (
  `DebiteurensetID` int(11) NOT NULL DEFAULT '0',
  `Klantid` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`DebiteurensetID`,`Klantid`),
  CONSTRAINT `FK_Debiteurenset_Toegang` FOREIGN KEY (`DebiteurensetID`) REFERENCES `Debiteurenset_Description` (`DebiteurensetID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DevLog`
--

CREATE TABLE `DevLog` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Log` text,
  `DT` datetime DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlCounter`
--

CREATE TABLE `DlCounter` (
  `Klantid` int(11) NOT NULL,
  `Fid` int(11) NOT NULL,
  `Aantaldownloads` int(11) NOT NULL,
  `AltLimiet` int(11) DEFAULT NULL,
  PRIMARY KEY (`Klantid`,`Fid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlEan`
--

CREATE TABLE `DlEan` (
  `Did` int(11) NOT NULL,
  `Ean` char(13) NOT NULL DEFAULT '0',
  PRIMARY KEY (`Did`,`Ean`),
  KEY `Ean` (`Ean`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `DlFile`
--

CREATE TABLE `DlFile` (
  `Did` int(11) NOT NULL,
  `Fid` int(11) NOT NULL AUTO_INCREMENT,
  `File` varchar(255) DEFAULT NULL,
  `Titel` varchar(255) NOT NULL,
  PRIMARY KEY (`Fid`),
  UNIQUE KEY `Did2` (`Did`,`File`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `DlLog`
--

CREATE TABLE `DlLog` (
  `Klantid` int(11) NOT NULL DEFAULT '0',
  `Fid` int(11) NOT NULL DEFAULT '0',
  `FIle` varchar(255) DEFAULT NULL,
  `DT` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`Klantid`,`Fid`,`DT`),
  KEY `DT` (`DT`),
  KEY `Fid` (`Fid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `DlSet`
--

CREATE TABLE `DlSet` (
  `Did` int(11) NOT NULL AUTO_INCREMENT,
  `Titel` text,
  `Omschrijving` text,
  `Limit` int(11) DEFAULT NULL,
  `Zip` tinyint(4) DEFAULT NULL,
  `Betaald` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`Did`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Table structure for table `EbookRapportageOpties`
--

CREATE TABLE `EbookRapportageOpties` (
  `Klantid` int(11) NOT NULL,
  `mailRapport` tinyint(1) NOT NULL DEFAULT '0',
  `ebookTab` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EreaderEanInstellingen`
--

CREATE TABLE `EreaderEanInstellingen` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Ean` varchar(13) NOT NULL,
  `Type` enum('pakket','gratis') NOT NULL,
  `AanmaakDatum` datetime NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Table structure for table `EreaderLocaties`
--

CREATE TABLE `EreaderLocaties` (
  `Klantid` int(11) NOT NULL,
  `Ean` varchar(13) NOT NULL,
  `Bestandsnaam` varchar(255) NOT NULL,
  `Locatie` enum('Nieuw','Archief','Kast') DEFAULT 'Archief',
  `AanvraagStatus` enum('Aangevraagd','Bevestigd') DEFAULT NULL,
  `AanvraagLocatie` enum('Nieuw','Archief','Kast') DEFAULT NULL,
  `DTclient` datetime DEFAULT NULL,
  `DTserver` datetime DEFAULT NULL,
  `Clientid` varchar(100) DEFAULT NULL,
  `DTarchief` datetime DEFAULT NULL,
  `DTdownload` datetime DEFAULT NULL,
  `DTrecent` datetime DEFAULT NULL,
  `Nieuw` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`Klantid`,`Ean`,`Bestandsnaam`),
  KEY `Klantid` (`Klantid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_insert_ereaderLocaties` BEFORE INSERT ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	
	
	
	
	 
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_insert_ereaderLocaties` AFTER INSERT ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	INSERT INTO `EreaderLocatiesLog` SET 
	DTLog=NOW(),
	LogGebruiker=@initials,
	Klantid=NEW.Klantid,
	Ean = NEW.Ean,
	Bestandsnaam=NEW.Bestandsnaam,
	Locatie=NEW.Locatie,
	AanvraagStatus=NEW.AanvraagStatus,	
	AanvraagLocatie=NEW.AanvraagLocatie,
	DTclient=NEW.DTclient,
	DTserver=NEW.DTserver,
	Clientid=NEW.Clientid,
	DTarchief=NEW.DTarchief,
	DTdownload=NEW.DTdownload,
	DTrecent=NEW.DTrecent,
	Nieuw=NEW.Nieuw;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `before_update_ereaderLocaties` BEFORE UPDATE ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	IF OLD.Locatie = 'Archief' AND NEW.Locatie = 'Kast' THEN
		SET NEW.Nieuw = 0;
	END IF;
    END */;;
DELIMITER ;
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`pieter`@`%`*/ /*!50003 TRIGGER `after_update_ereaderLocaties` AFTER UPDATE ON `EreaderLocaties` 
    FOR EACH ROW BEGIN
	INSERT INTO `EreaderLocatiesLog` SET 
	DTLog=NOW(),
	LogGebruiker=@initials,
	Bestandsnaam=NEW.Bestandsnaam,
	Klantid=NEW.Klantid,
	Locatie=NEW.Locatie,
	AanvraagLocatie=NEW.AanvraagLocatie,
	AanvraagStatus=NEW.AanvraagStatus,
	DTclient=NEW.DTclient,
	DTserver=NEW.DTserver,
	Clientid=NEW.Clientid;
    END */;;
DELIMITER ;

--
