#ifdef BES // 03-11-2000 PF /* BES_TAB.SRC * $Revision$ * $Id$ */ CREATE_TABLE (bes_staffeltabel, 0) ( bes_staffeltabel_key NUMBER (10) PRIMARY KEY, bes_staffeltabel_naam VARCHAR2 (30 CHAR) NOT NULL, fac_typestaffel_key NUMBER(10) REFERENCES fac_typestaffel(fac_typestaffel_key) NOT NULL, bes_staffeltabel_groep NUMBER (1) /* null/0 of 1 */ ); CREATE_TABLE(bes_srtgroep,0) ( bes_srtgroep_key NUMBER(10) CONSTRAINT bes_k_bes_srtgroep_key PRIMARY KEY, ins_discipline_key NUMBER(10) NOT_NULL(ins_discipline_key, bes_r_ins_discipline_key1) CONSTRAINT bes_r_ins_discipline_key2 REFERENCES ins_tab_discipline, bes_srtgroep_omschrijving VARCHAR2(60) NOT_NULL(bes_srtgroep_omschrijving, bes_c_bes_srtgroep_omschr), bes_srtgroep_volgnr NUMBER(3), prs_kostensoort_key NUMBER(10) CONSTRAINT bes_r_prs_kostensoort_key1 REFERENCES prs_kostensoort(prs_kostensoort_key), bes_srtgroep_aanmaak DATE DEFAULT SYSDATE NOT_NULL(bes_srtgroep_aanmaak, bes_c_bes_srtgroep_aanmaak), bes_srtgroep_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT bes_u_bes_srtgroep_oms UNIQUE(ins_discipline_key, bes_srtgroep_omschrijving, bes_srtgroep_verwijder) ); -- Gewicht/volume/aantal van een artikel CREATE_TABLE(bes_grootheid,0) ( bes_grootheid_key NUMBER(10) CONSTRAINT bes_k_bes_grootheid_key PRIMARY KEY, /* Naam is b.v. kilogram, liter, aantal (of gram, milliliter, aantal, ...)*/ bes_grootheid_naam VARCHAR2(25), bes_grootheid_verwijder DATE DEFAULT NULLDATUM ); -- Assortiment van producent/fabrikant (genormaliseerde producten) CREATE_TABLE(bes_srtprod,0) ( bes_srtprod_key NUMBER(10) CONSTRAINT bes_k_bes_srtprod_key PRIMARY KEY, bes_srtgroep_key NUMBER(10) NOT_NULL(bes_srtgroep_key, bes_c_bes_srtgroep_key3) // echt? CONSTRAINT bes_r_bes_srtgroep_key4 REFERENCES bes_srtgroep, bes_srtprod_omschrijving VARCHAR2(100) NOT_NULL(bes_srtprod_omschrijving, bes_c_bes_srtprod_omschrijving), bes_srtprod_opmerking VARCHAR2(2000 CHAR), bes_srtprod_aanmaak DATE DEFAULT SYSDATE NOT_NULL(bes_srtprod_aanmaak, bes_c_bes_srtprod_aanmaak), bes_srtprod_verwijder DATE DEFAULT NULLDATUM, bes_srtprod_volgnr NUMBER(3), bes_srtprod_btw NUMBER(3), bes_srtprod_eenheid VARCHAR2(30), bes_srtprod_nr VARCHAR2(32), /* MB: Optionele referentie naar producent/fabrikant */ prs_bedrijf_key NUMBER(10) CONSTRAINT bes_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key), /* MB: artikel wordt door producent gemaakt tot aan deze datum, mag leeg zijn (= geen maak-limiet) */ bes_srtprod_vervaldatum DATE, bes_srtprod_image VARCHAR2(255), bes_srtprod_veelvoud NUMBER(6), /* MB: Verwijzing naar eenheid van een grootheid (gram / milliliter / aantal) */ bes_grootheid_key NUMBER(10) CONSTRAINT bes_r_bes_grootheid REFERENCES bes_grootheid(bes_grootheid_key) ON DELETE CASCADE, /* MB Hier het getal aan gewicht, inhoud of aantal in te vullen : */ /* b.v. 1000 (en betekent in combi met bes_grootheid_key b.v. 1000 gram) */ bes_grootheid_getal NUMBER(10), bes_srtprod_margebedrag /* bedrag van de fee per 1 grootheid van dit product */ NUMBER(12,6), bes_srtprod_margebedragpct /* percentage van de producentfee dat voor ons is, de rest is voor whoever */ NUMBER(3) ); CREATE_TABLE(bes_srtdeel,0) ( bes_srtdeel_key NUMBER(10) CONSTRAINT bes_k_bes_srtdeel_key PRIMARY KEY, bes_srtgroep_key NUMBER(10) NOT_NULL(bes_srtgroep_key, bes_r_bes_srtgroep_key1) CONSTRAINT bes_r_bes_srtgroep_key2 REFERENCES bes_srtgroep, bes_srtdeel_omschrijving VARCHAR2(100) NOT_NULL(bes_srtdeel_omschrijving, bes_c_bes_srtdeel_omschrijving), bes_srtdeel_opmerking VARCHAR2(2000 CHAR), bes_srtdeel_aanmaak DATE DEFAULT SYSDATE NOT_NULL(bes_srtdeel_aanmaak, bes_c_bes_srtdeel_aanmaak), bes_srtdeel_verwijder DATE DEFAULT NULLDATUM, bes_srtdeel_volgnr NUMBER(3), bes_srtdeel_btw NUMBER(3), bes_srtdeel_eenheid VARCHAR2(30), bes_srtdeel_dimensie NUMBER(1), bes_srtdeel_preview /* BES: wel(1)/geen(0) preview tonen voor bestellen */ NUMBER(1) DEFAULT 0, bes_srtdeel_nr VARCHAR2(32) NOT_NULL(bes_srtdeel_nr, bes_c_bes_srtdeel_nr), prs_bedrijf_key NUMBER(10) CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key), bes_srtprod_key NUMBER(10) CONSTRAINT bes_r_bes_srtprod_key2 REFERENCES bes_srtprod(bes_srtprod_key), bes_srtdeel_vervaldatum DATE, bes_srtdeel_image VARCHAR2(255), bes_srtdeel_details_loc VARCHAR2(255), bes_srtdeel_veelvoud NUMBER(9,3), bes_srtdeel_minimum NUMBER(6), bes_srtdeel_maximum NUMBER(6), bes_staffeltabel_key NUMBER(10) CONSTRAINT bes_r_staffeltabel2 REFERENCES bes_staffeltabel(bes_staffeltabel_key), bes_srtdeel_prsflex /* kan wel(1) of geen (0)persoonsafhankelijke flexkenmerken bevatten */ NUMBER(1) DEFAULT 0, bes_srtdeel_voorraadmin NUMBER(6), bes_srtdeel_voorraadmax NUMBER(6), bes_srtdeel_voorraadfactor NUMBER(6) DEFAULT 1, /* factor tussen inkoop- en verkoopenheden van zelfde artikelnr tbv voorraadbepaling */ bes_srtdeel_margepct /* percentage van de leveranciersmarge (verkoop-inkoop) dat voor ons is, de rest is voor whoever */ NUMBER(3), bes_srtdeel_wijzigdagen /* zoveel dagen voor leverdatum nog te wijzigen */ NUMBER(3), bes_srtdeel_annuleerdagen /* zoveel dagen voor leverdatum nog te annuleren */ NUMBER(3), bes_srtdeel_depotverdeelpct NUMBER(3), bes_srtdeel_notitie /* magazijnlocatie */ VARCHAR2(50), bes_srtdeel_maxbestel /* De voorrraad is het maximum aantal dat ik mag bestellen {0=nee (default), 1=ja} */ NUMBER(1) DEFAULT 0 NOT NULL, ins_srtdeel_key /* objectrelatie */ NUMBER(10) CONSTRAINT ins_r_ins_srtdeel_key4 REFERENCES ins_srtdeel(ins_srtdeel_key) ); CREATE_TABLE(bes_bestelling, 0) ( bes_bestelling_key NUMBER(10) CONSTRAINT bes_k_bes_bestelling_key PRIMARY KEY, bes_bestelling_parentkey /* indien revisie van bestaande bestelling */ NUMBER(10) CONSTRAINT bes_r_bes_bestelling_parent REFERENCES bes_bestelling(bes_bestelling_key), bes_bestelling_retourvan_key NUMBER(10) CONSTRAINT bes_r_bes_bestelling_retourvan REFERENCES bes_bestelling(bes_bestelling_key), bes_bestelling_module VARCHAR2(3) NOT_NULL(bes_bestelling_module, bes_c_bes_bestelling_module), bes_bestelling_status NUMBER(10) default 2 NOT_NULL(bes_bestelling_status, bes_c_bes_bestelling_status), bes_bestelling_datum /* besteldatum */ DATE DEFAULT SYSDATE, bes_bestelling_leverdatum /* geplande leverdatum */ DATE, prs_perslid_key NUMBER(10) CONSTRAINT bes_r_prs_user_key1 REFERENCES prs_perslid(prs_perslid_key), prs_perslid_key_voor NUMBER(10) CONSTRAINT bes_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key), bes_bestelling_opmerking VARCHAR2(320), prs_kostenplaats_key NUMBER(10) CONSTRAINT bes_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats(prs_kostenplaats_key), bes_bestelling_kosten_klant NUMBER(1) CONSTRAINT bes_c_bes_kosten_klant CHECK(bes_bestelling_kosten_klant IS NULL OR bes_bestelling_kosten_klant = 1), bes_bestelling_ordernr VARCHAR2(30), bes_bestelling_plaats VARCHAR2(30), bes_bestelling_fiat_user NUMBER(10) CONSTRAINT bes_r_bes_bestelling_fiat REFERENCES prs_perslid(prs_perslid_key), bes_bestelling_fiatbedrag /* Tot zover gefiatteerd */ NUMBER(11,2), mld_adres_key_lev NUMBER(10) CONSTRAINT bes_r_mld_adres_key_lev REFERENCES mld_adres(mld_adres_key), bes_bestelling_levkosten NUMBER(8,2), bes_bestelling_korting NUMBER(8,2), fac_activiteit_key NUMBER(10) CONSTRAINT fac_r_fac_activiteit3 REFERENCES fac_activiteit(fac_activiteit_key) ON DELETE CASCADE, mld_melding_key /* optionele verwijzing naar veroorzakende melding */ NUMBER(10) CONSTRAINT bes_r_mld_melding1 REFERENCES mld_melding(mld_melding_key) ON DELETE SET NULL, bes_bestelling_kto_verstuurd DATE, bes_bestelling_satisfaction NUMBER(2), bes_bestelling_satisfaction_op VARCHAR2(2000), bes_bestelling_approved NUMBER(11,2), bes_bestelling_lev_opm VARCHAR2(320), bes_bestelling_externnr VARCHAR2(256), bes_bestelling_externsyncdate DATE ); CREATE_TABLE(bes_bestelopdr, 0) ( bes_bestelopdr_key NUMBER(10) CONSTRAINT bes_k_bes_bestelopdr_key PRIMARY KEY, bes_bestelopdr_id VARCHAR2(30), bes_bestelopdr_module VARCHAR2(3), bes_bestelopdr_status NUMBER(10), prs_bedrijf_key NUMBER(10) CONSTRAINT bes_r_prs_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key), bes_bestelopdr_datum DATE DEFAULT SYSDATE, mld_adres_key_lev NUMBER(10) CONSTRAINT bes_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key), mld_adres_key_fac NUMBER(10) CONSTRAINT bes_r_mld_adres_key_fac1 REFERENCES mld_adres(mld_adres_key), bes_bestelopdr_leverdatum DATE, bes_bestelopdr_levkosten NUMBER(8,2), bes_bestelopdr_korting NUMBER(8,2), bes_bestelopdr_opmerking VARCHAR2(320), cnt_contract_key NUMBER(10), prs_perslid_key NUMBER(10) CONSTRAINT bes_r_opdr_prs_user_key1 REFERENCES prs_perslid(prs_perslid_key), bes_bestelopdr_delivery_opmerk VARCHAR2(320), bes_bestelopdr_flag NUMBER(1), bes_bestelopdr_externnr VARCHAR2(256), bes_bestelopdr_externsyncdate DATE ); ALTER TABLE cnt_contract ADD bes_bestelopdr_key NUMBER(10) CONSTRAINT cnt_r_bes_bestelopdr_key REFERENCES bes_bestelopdr(bes_bestelopdr_key); ALTER TABLE ins_deel ADD bes_bestelopdr_key NUMBER(10) CONSTRAINT bes_r_bes_bestelopdr_key3 REFERENCES bes_bestelopdr(bes_bestelopdr_key); CREATE_TABLE(bes_bestelopdr_item, 0) ( bes_bestelopdr_item_key NUMBER(10) CONSTRAINT bes_k_bes_bestelopdr_item_key PRIMARY KEY, bes_bestelopdr_key NUMBER(10) CONSTRAINT bes_r_bes_bestelopdr_key2 REFERENCES bes_bestelopdr(bes_bestelopdr_key) ON DELETE CASCADE NOT_NULL(bes_bestelopdr_key, bes_c_bes_bestelopdr_key), bes_bestelopdr_item_posnr NUMBER(5), bes_bestelopdr_item_aantal NUMBER(15,3) CONSTRAINT bes_c_bes_bestelopdr_i_aantal CHECK(bes_bestelopdr_item_aantal IS NOT NULL), bes_bestelopdr_item_aantalontv NUMBER(15,3), bes_bestelopdr_item_aantalexp NUMBER(15,3), bes_bestelopdr_item_omschrijv VARCHAR2(320), bes_bestelopdr_item_opmerking VARCHAR2(100), bes_bestelopdr_item_prijs NUMBER(12,6), bes_bestelopdr_item_inkprijs NUMBER(8,2), bes_bestelopdr_item_brutoprijs NUMBER(8,2), bes_bestelopdr_item_ontvangen DATE, bes_bestelopdr_item_status NUMBER(10), bes_bestelopdr_item_verwerkt DATE, CONSTRAINT bes_c_bes_bestelopdr_item CHECK ((bes_bestelopdr_item_aantal>=0 AND bes_bestelopdr_item_aantalontv<=bes_bestelopdr_item_aantal) OR (bes_bestelopdr_item_aantal<0 AND bes_bestelopdr_item_aantalontv>=bes_bestelopdr_item_aantal)) ); CREATE_TABLE(bes_bestelling_item, 0) ( bes_bestelling_item_key NUMBER(10) CONSTRAINT bes_k_bes_bestelling_item_key PRIMARY KEY, bes_bestelling_key NUMBER(10) CONSTRAINT bes_c_bes_bestelling_key CHECK(bes_bestelling_key IS NOT NULL) CONSTRAINT bes_r_bes_bestelling_key1 REFERENCES bes_bestelling(bes_bestelling_key) ON DELETE CASCADE, bes_srtdeel_key NUMBER(10) CONSTRAINT bes_c_bes_srtdeel_key1 CHECK(bes_srtdeel_key IS NOT NULL) CONSTRAINT bes_r_bes_srtdeel_key REFERENCES bes_srtdeel(bes_srtdeel_key), bes_bestelling_item_aantal NUMBER(15,3) CONSTRAINT bes_c_bes_bestelling_i_aantal CHECK(bes_bestelling_item_aantal IS NOT NULL), bes_bestelling_item_brutoprijs /* verkoopprijs ten tijde van bestelling */ NUMBER(8,2), bes_bestelling_item_prijs /* incl. kortingen */ NUMBER(12,6), bes_bestelling_item_inkprijs /* inkoopprijs ten tijde van bestelling */ NUMBER(12,6), bes_bestelopdr_item_key NUMBER(10) CONSTRAINT bes_r_bes_bestelopdr_i_key1 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key), bes_bestelling_item_aantalontv NUMBER(15,3), bes_bestelling_item_status NUMBER(10), CONSTRAINT bes_c_bes_bestelling_item CHECK ((bes_bestelling_item_aantal>=0 AND bes_bestelling_item_aantalontv<=bes_bestelling_item_aantal) OR (bes_bestelling_item_aantal<0 AND bes_bestelling_item_aantalontv>=bes_bestelling_item_aantal)) ); --CREATE_TABLE(bes_bestellingstatuses, 0) --( -- bes_bestellingstatuses_key -- NUMBER(10) -- CONSTRAINT bes_k_bes_bestellingstat_key PRIMARY KEY, -- bes_bestellingstatuses_omschr -- VARCHAR2(30) --); -- --CREATE_TABLE(bes_bestelopdrstatuses, 0) --( -- bes_bestelopdrstatuses_key -- NUMBER(10) -- CONSTRAINT bes_k_bes_bestelopdrstat_key PRIMARY KEY, -- bes_bestelopdrstatuses_omschr -- VARCHAR2(30) --); CREATE_TABLE(bes_disc_params, 0) ( bes_disc_params_key NUMBER(10) CONSTRAINT bes_k_bes_disc_params_key PRIMARY KEY, bes_ins_discipline_key NUMBER(10) NOT_NULL(bes_ins_discipline_key, bes_c_ins_discipline_key) CONSTRAINT bes_r_ins_discipine_key REFERENCES ins_tab_discipline(ins_discipline_key), bes_disc_params_fiatflow /* Fiatterings flow 0=fiatteur->besbof 1=besbof->fiatteur */ NUMBER(1) DEFAULT 0 CONSTRAINT bes_c_disc_params_fiatflow CHECK(bes_disc_params_fiatflow IN (0,1)), bes_disc_params_bestellimiet NUMBER(8,2) DEFAULT 100000, bes_disc_params_min_bedrag NUMBER(8,2) DEFAULT 0, bes_disc_params_auto_order NUMBER(1) DEFAULT 0, bes_disc_params_autoacceptrfo NUMBER(1) DEFAULT 0, bes_disc_params_factuurpct NUMBER DEFAULT 0, bes_disc_params_factuurmarge NUMBER DEFAULT 0, bes_disc_params_factuurgrens NUMBER(8), bes_disc_params_factuurappr NUMBER(1) DEFAULT 0, bes_disc_params_factmatchmode /* 2-weg of 3-weg matching? */ NUMBER(1) CONSTRAINT bes_c_disc_params1 CHECK(bes_disc_params_factmatchmode IN (2,3)), /* leeg mag ook */ bes_disc_params_leverdagen /* default levertijd */ NUMBER, bes_disc_params_expire_tijd NUMBER(5,2), /* grenstijdstip van de dag voor die freeze (bv 16.5) */ bes_disc_params_punchouturl VARCHAR2(1024), bes_disc_params_punch_bedr_key NUMBER(10) CONSTRAINT bes_r_prs_bedrijf_key4 REFERENCES prs_bedrijf(prs_bedrijf_key), bes_disc_params_remoteconfirm /* de levering wordt door de leverancier zelf bevestigt */ NUMBER(1) DEFAULT 0, bes_disc_params_module VARCHAR2(3) DEFAULT 'BES', bes_disc_params_noti_dagen NUMBER(2), bes_disc_params_logo_url VARCHAR2(255), bes_disc_params_retour NUMBER(1), bes_disc_params_retour_url VARCHAR2(255), bes_disc_params_levopm_url VARCHAR2(255), bes_ins_discipline_key_inkoop /* optionele corresponderende inkoopcatalogus tbv voorraad */ NUMBER(10) CONSTRAINT bes_r_ins_discipine_key2 REFERENCES ins_tab_discipline(ins_discipline_key), bes_disc_params_pgb /* 0=Geen van beiden, 1=Alleen pgb, 2=Alleen agb, 3=Beiden, pgb en agb */ NUMBER(1), bes_disc_params_singlegroep /* 1=een bestelling mag alleen artikelen van 1 srtgroep bevatten */ NUMBER(1), bes_disc_params_noti_opdr /* 1=notificeer besteller over bestelopdracht(en) */ NUMBER(1), bes_disc_params_bonotify /* 1=notificeer BO als er een bestelling is */ NUMBER(1) NOT NULL, bes_disc_params_herfiat /* 0=nooit, 1=zie criteria, 2=altijd */ NUMBER(1), bes_disc_params_herfiatpct NUMBER, bes_disc_params_herfiatmarge NUMBER, bes_disc_params_maxartikel /* het aantal artikelregels dat een bestelling mag bevatten */ NUMBER(3), bes_disc_params_kpautorisatie /* 1=gebruik kostenplaats autorisatie i.p.v. 3D (prs/alg) autorisatie */ NUMBER(1), bes_disc_params_contract /* artikelcatalogus is een abonnement type (contract moet aangemaakt worden)*/ NUMBER(1), bes_disc_params_cnt_disckey NUMBER(10) CONSTRAINT bes_r_ins_discipline_key3 REFERENCES ins_tab_discipline, bes_disc_params_cnt_termijn /* de looptijd */ NUMBER(10) CONSTRAINT bes_r_cnt_termijn_key REFERENCES cnt_termijn(cnt_termijn_key), bes_disc_params_cnt_opzegterm /* de opzegtermijn */ NUMBER(10) CONSTRAINT bes_r_cnt_termijn_key2 REFERENCES cnt_termijn(cnt_termijn_key), bes_disc_params_for_others /* Kan ik als FE een bestelling voor een ander plaatsen? {0=no | 1=yes} */ NUMBER(1) DEFAULT 0, bes_disc_params_bestellimiet2 NUMBER(11,2) DEFAULT 1000000, bes_disc_params_bestellimiet3 NUMBER(11,2) DEFAULT 1000000, bes_disc_params_bestellimiet4 NUMBER(11,2) DEFAULT 1000000, bes_disc_params_bestellimiet5 NUMBER(11,2) DEFAULT 1000000, bes_disc_params_freeartikel /* Deprecated, gaat van 2017.3 via bes_disc_params_bestelmode */ NUMBER(1) DEFAULT 0 NOT NULL, bes_disc_params_bestelmode /* 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst */ NUMBER(1) DEFAULT 0 NOT NULL, bes_disc_params_fotomode /* 0=alleen bij kiezen artikel, 1=ook in bestellijst */ NUMBER(1) DEFAULT 0 NOT NULL, bes_disc_params_ins_mode /* bestelcatalogusinstellingen {0=Niet van toepassing, 1=Aanmaken en koppelen (Nog niet ondersteund), 2=Koppelen} */ NUMBER(1) DEFAULT 0 NOT NULL, bes_disc_params_fe_confirm /* Besteller bevestigt ontvangst {0=Nee (default), 1=Ja} */ NUMBER(1) DEFAULT 0 NOT NULL, bes_disc_params_hide_cost_fe /* Onderdruk kosten in bestellijst voor FE {0=Nee (default), 1=Ja} */ NUMBER(1) DEFAULT 0 NOT NULL ); //// flexprops CREATE_TABLE(bes_srtkenmerk, 0) ( bes_srtkenmerk_key NUMBER(10) CONSTRAINT bes_k_bes_srtkenmerk_key PRIMARY KEY , bes_srtkenmerk_omschrijving VARCHAR2(50) , bes_srtkenmerk_upper VARCHAR2(50) , bes_srtkenmerk_dimensie VARCHAR2(10) , bes_srtkenmerk_kenmerktype VARCHAR2(1) , bes_srtkenmerk_systeem NUMBER(2) DEFAULT 0 NOT NULL , bes_srtkenmerk_lengte NUMBER(4) , bes_srtkenmerk_dec NUMBER(3) , bes_srtkenmerk_nmin NUMBER(10) , bes_srtkenmerk_nmax NUMBER(10) , fac_kenmerkdomein_key NUMBER(10) CONSTRAINT bes_r_kenmerkdomein_key1 REFERENCES fac_kenmerkdomein(fac_kenmerkdomein_key) , bes_srtkenmerk_aanmaak DATE DEFAULT SYSDATE , bes_srtkenmerk_verwijder DATE DEFAULT NULLDATUM , CONSTRAINT bes_c_bes_srtkenmerk_omschr CHECK(bes_srtkenmerk_omschrijving IS NOT NULL) , CONSTRAINT bes_srtkenmerk_omschrijving CHECK(bes_srtkenmerk_omschrijving IS NOT NULL) , CONSTRAINT bes_u_bes_srtkenmerk_upper UNIQUE(bes_srtkenmerk_upper, bes_srtkenmerk_verwijder) , CONSTRAINT bes_c_bes_srtkenmerk_kenmtype CHECK(bes_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V')) , CONSTRAINT bes_c_bes_srtkenmerk_lengte CHECK(bes_srtkenmerk_lengte >= 1 AND bes_srtkenmerk_lengte <= 4000) , CONSTRAINT bes_c_bes_srtkenmerk_max_min CHECK(bes_srtkenmerk_nmax >= bes_srtkenmerk_nmin) , CONSTRAINT bes_c_bes_srtkenmerk_dec CHECK(bes_srtkenmerk_dec >= 0 AND bes_srtkenmerk_dec <= bes_srtkenmerk_lengte) , CONSTRAINT bes_c_bes_srtkenmerk_aanm CHECK(bes_srtkenmerk_aanmaak IS NOT NULL) ); CREATE_TABLE(bes_kenmerk, 0) ( bes_kenmerk_key NUMBER(10) CONSTRAINT bes_k_bes_kenmerk_key PRIMARY KEY , bes_srtkenmerk_key NUMBER(10) , bes_srtinstallatie_key NUMBER(10) , bes_kenmerk_type VARCHAR2(1) CONSTRAINT bes_c_ins_kenmerk_type CHECK (bes_kenmerk_type is not null and (bes_kenmerk_type IN( 'B', 'I'))) , bes_kenmerk_niveau VARCHAR2(1) CONSTRAINT bes_c_ins_kenmerk_niveau2 CHECK (bes_kenmerk_niveau is not null and (bes_kenmerk_niveau IN( 'D', 'G', 'S'))) , bes_kenmerk_omschrijving VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */ , bes_kenmerk_verplicht NUMBER(1) , bes_kenmerk_groep NUMBER(1) DEFAULT 0 NOT NULL , bes_kenmerk_toonbaar NUMBER(1) , bes_kenmerk_volgnummer NUMBER(3) NOT NULL , bes_kenmerk_uniek NUMBER(1) , bes_kenmerk_regexp VARCHAR2(255) , bes_kenmerk_hint VARCHAR2(255 CHAR) , bes_kenmerk_aanmaak DATE DEFAULT SYSDATE , bes_kenmerk_default VARCHAR2(4000) , bes_kenmerk_show_expr VARCHAR2(4000) , bes_kenmerk_verwijder DATE DEFAULT NULLDATUM , CONSTRAINT bes_c_bes_srtkenmerk_key1 CHECK(bes_srtkenmerk_key IS NOT NULL) , CONSTRAINT bes_r_bes_srtkenmerk_key2 FOREIGN KEY(bes_srtkenmerk_key) REFERENCES bes_srtkenmerk(bes_srtkenmerk_key) , CONSTRAINT bes_c_bes_kenmerk_niveau1 CHECK(bes_kenmerk_niveau IS NOT NULL) , CONSTRAINT bes_c_bes_kenmerk_toonbaar CHECK(bes_kenmerk_toonbaar IS NULL OR bes_kenmerk_toonbaar = 1) , CONSTRAINT bes_c_bes_kenmerk_aanmaak CHECK(bes_kenmerk_aanmaak IS NOT NULL) , CONSTRAINT bes_u_bes_kenmerk UNIQUE(bes_srtkenmerk_key, bes_srtinstallatie_key, bes_kenmerk_type, bes_kenmerk_niveau, bes_kenmerk_omschrijving, bes_kenmerk_groep, bes_kenmerk_verwijder) ); CREATE_TABLE(bes_kenmerkbestell, 0) ( bes_kenmerkbestell_key NUMBER(10) CONSTRAINT bes_k_bes_kenmerkbestell_key PRIMARY KEY , bes_bestelling_key NUMBER(10) , bes_kenmerk_key NUMBER(10) , bes_kenmerkbestell_waarde VARCHAR2(4000) , bes_kenmerkbestell_aanmaak DATE DEFAULT SYSDATE , bes_kenmerkbestell_verwijder DATE DEFAULT NULLDATUM , CONSTRAINT bes_c_bes_bestelling_key2 CHECK(bes_bestelling_key IS NOT NULL) , CONSTRAINT bes_r_bes_bestelling_key3 FOREIGN KEY(bes_bestelling_key) REFERENCES bes_bestelling(bes_bestelling_key) ON DELETE CASCADE , CONSTRAINT bes_c_bes_kenmerk_key1 CHECK(bes_kenmerk_key IS NOT NULL) , CONSTRAINT bes_r_bes_kenmerk_key2 FOREIGN KEY(bes_kenmerk_key) REFERENCES bes_kenmerk(bes_kenmerk_key) , CONSTRAINT bes_c_bes_kenmerkbestell_aanm CHECK(bes_kenmerkbestell_aanmaak IS NOT NULL) , CONSTRAINT bes_u_bes_kenmerkbestell UNIQUE(bes_kenmerk_key, bes_bestelling_key, bes_kenmerkbestell_verwijder) ); CREATE_TABLE(bes_kenmerkbesteli, 0) ( bes_kenmerkbesteli_key NUMBER(10) CONSTRAINT bes_k_bes_kenmerkbesteli_key PRIMARY KEY , bes_bestelling_item_key NUMBER(10) , bes_kenmerk_key NUMBER(10) , bes_kenmerkbesteli_waarde VARCHAR2(4000) , bes_kenmerkbesteli_aanmaak DATE DEFAULT SYSDATE , bes_kenmerkbesteli_verwijder DATE DEFAULT NULLDATUM , CONSTRAINT bes_c_bes_bestelling_item_key2 CHECK(bes_bestelling_item_key IS NOT NULL) , CONSTRAINT bes_r_bes_bestelling_item_key3 FOREIGN KEY(bes_bestelling_item_key) REFERENCES bes_bestelling_item(bes_bestelling_item_key) ON DELETE CASCADE , CONSTRAINT bes_c_bes_kenmerk_key3 CHECK(bes_kenmerk_key IS NOT NULL) , CONSTRAINT bes_r_bes_kenmerk_key4 FOREIGN KEY(bes_kenmerk_key) REFERENCES bes_kenmerk(bes_kenmerk_key) , CONSTRAINT bes_c_bes_kenmerkbesteli_aanm CHECK(bes_kenmerkbesteli_aanmaak IS NOT NULL) , CONSTRAINT bes_u_bes_kenmerkbesteli UNIQUE(bes_kenmerk_key, bes_bestelling_item_key, bes_kenmerkbesteli_verwijder) ); CREATE_TABLE(bes_favoriet, 0) ( bes_favoriet_key NUMBER(10) PRIMARY KEY, bes_favoriet_naam VARCHAR2(50), prs_perslid_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, bes_srtdeel_key NUMBER(10) REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE ); CREATE_TABLE (bes_staffel, 0) ( bes_staffel_key NUMBER (10) PRIMARY KEY, bes_staffeltabel_key NUMBER (10) REFERENCES bes_staffeltabel(bes_staffeltabel_key) ON DELETE CASCADE NOT NULL, bes_staffel_grenswaarde NUMBER (12), bes_staffel_korting NUMBER (12, 6) NOT NULL ); -- Prijsverloop van artikel leverancier CREATE_TABLE(bes_srtdeel_prijs,0) ( bes_srtdeel_prijs_key NUMBER(10) CONSTRAINT bes_k_bes_srtdeel_prijs_key PRIMARY KEY, bes_srtdeel_key NUMBER(10) CONSTRAINT bes_r_bes_srtdeel_key1 REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE, bes_srtdeel_prijs_prijs NUMBER(8,2), bes_srtdeel_prijs_inkprijs NUMBER(8,2), /* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig (Farmers wilde dit ook). */ bes_srtdeel_prijs_vervaldatum DATE, /* MB: Prioriteit/prijspakker instelling op leverancierartikelprijs-nivo, schaal van 1 (=lage prio) - 4 (=hoogste prio), mag leeg zijn (= 0: laagste prio) */ bes_srtdeel_prijs_prio NUMBER(1) ); -- Prijsverloop van producten van fabriaknt CREATE_TABLE(bes_srtprod_prijs,0) ( bes_srtprod_prijs_key NUMBER(10) CONSTRAINT bes_k_bes_srtprod_prijs_key PRIMARY KEY, bes_srtprod_key NUMBER(10) CONSTRAINT bes_r_bes_srtprod_key REFERENCES bes_srtprod(bes_srtprod_key), bes_srtprod_prijs_prijs NUMBER(8,2), bes_srtprod_prijs_inkprijs NUMBER(8,2), /* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig */ bes_srtprod_prijs_vervaldatum DATE, /* MB: Prioriteit/prijspakker instelling op producentartikelprijs-nivo, schaal van 1 (=lage prio) - 4 (=hoogste prio), mag leeg zijn (= 0: laagste prio) */ bes_srtprod_prijs_prio NUMBER(1) ); -- Een productsample voor een klant CREATE_TABLE(bes_bedrijf_srtprod, 0) ( bes_bedrijf_srtprod_key NUMBER(10) CONSTRAINT bes_k_bedrijf_srtprod_key PRIMARY KEY, prs_bedrijf_key NUMBER(10) CONSTRAINT bes_r_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE, bes_srtprod_key NUMBER(10) CONSTRAINT bes_r_srtprod_key1 REFERENCES bes_srtprod(bes_srtprod_key) ON DELETE CASCADE, bes_bedrijf_srtprod_weging NUMBER(12,2), bes_bedrijf_srtprod_opmerking VARCHAR2(320), bes_bedrijf_srtprod_prijs NUMBER(8,2) ); /* MB: Voorkeursleveranciers ---------------------------------------------------------------------------*/ CREATE_TABLE(bes_bedrijf_bedrijf,0) ( bes_bedrijf_bedrijf_key NUMBER(10) CONSTRAINT bes_k_bes_bedrijf_bedrijf_key PRIMARY KEY, /* Klant: interne bedrijf */ prs_bedrijf_key_klant NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key), /* Leverancier: externe bedrijf */ prs_bedrijf_key_lev NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key) ); REGISTERONCE('$Id$') #endif // BES