#ifdef FIN /* $Revision$ * $Id$ */ CREATE_TABLE(fin_btwtabel, 0) ( fin_btwtabel_key NUMBER(10) CONSTRAINT fin_k_btwtabel_key PRIMARY KEY, fin_btwtabel_omschrijving VARCHAR(30) NOT_NULL(fin_btwtabel_omschrijving, fin_c_btwtabel_omschr), fin_btwtabel_default NUMBER(1), fin_btwtabel_aanmaak DATE DEFAULT SYSDATE, fin_btwtabel_verwijder DATE DEFAULT NULLDATUM ); CREATE_TABLE(fin_btwtabelwaarde, 0) ( fin_btwtabelwaarde_key NUMBER(10) CONSTRAINT fin_k_btwtabelwaarde_key PRIMARY KEY, fin_btwtabel_key NUMBER(10) CONSTRAINT fin_r_btwtabel_key1 REFERENCES fin_btwtabel(fin_btwtabel_key) ON DELETE CASCADE NOT_NULL(fin_btwtabel_key, fin_c_btwtabel_key1), fin_btwtabelwaarde_code VARCHAR(10) NOT_NULL(fin_btwtabelwaarde_code, fin_c_btwtabelwaarde_code), fin_btwtabelwaarde_oms VARCHAR(30), fin_btwtabelwaarde_perc NUMBER(5,3) NOT_NULL(fin_btwtabelwaarde_perc, fin_c_btwtabelwaarde_perc), fin_btwtabelwaarde_verlegd NUMBER(1), fin_btwtabelwaarde_van -- yet unused DATE, fin_btwtabelwaarde_tot -- yet unused DATE, fin_btwtabelwaarde_aanmaak DATE DEFAULT SYSDATE, fin_btwtabelwaarde_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT fin_u_fin_btwtabelwaarde UNIQUE(fin_btwtabel_key, fin_btwtabelwaarde_code, fin_btwtabelwaarde_verwijder) ); ALTER TABLE prs_kostensoort ADD fin_btwtabelwaarde_key NUMBER(10) CONSTRAINT prs_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key); ALTER TABLE prs_bedrijf ADD fin_btwtabel_key NUMBER(10) CONSTRAINT prs_r_fin_btwtabel_key1 REFERENCES fin_btwtabel(fin_btwtabel_key); ALTER TABLE mld_opdr_materiaal ADD fin_btwtabelwaarde_key NUMBER(10) CONSTRAINT mld_r_fin_btwtabelwaarde1 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key); // FSN#37318 ALTER TABLE ins_srtcontrole ADD fin_btwtabelwaarde_key NUMBER(10) CONSTRAINT ins_r_fin_btwtabelwaarde1 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key); ALTER TABLE prs_bedrijf_bedrijf ADD fin_btwtabelwaarde_key NUMBER(10) -- default btw CONSTRAINT prs_r_fin_btwtabelwaarde_key2 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key); CREATE_TABLE(fin_factuur,0) ( fin_factuur_key NUMBER(10) CONSTRAINT fin_k_fin_factuur PRIMARY KEY , fin_factuur_nr VARCHAR2(30) NOT_NULL(fin_factuur_nr, fin_c_fin_factuur0) , fin_factuur_totaal NUMBER(12,2) , fin_factuur_totaal_btw NUMBER (14,4) NOT_NULL(fin_factuur_totaal_btw, fin_c_fin_factuur1) , fin_factuur_gbedrag NUMBER(14,2) , mld_opdr_key NUMBER(10) CONSTRAINT fin_r_fin_factuur1 REFERENCES mld_opdr(mld_opdr_key) , cnt_contract_key NUMBER(10) CONSTRAINT fin_r_fin_factuur2 REFERENCES cnt_contract(cnt_contract_key) , bes_bestelopdr_key NUMBER(10) CONSTRAINT fin_r_fin_factuur3 REFERENCES bes_bestelopdr(bes_bestelopdr_key) , bes_bestellevr_key NUMBER(10) CONSTRAINT fin_r_fin_factuur9 REFERENCES bes_bestellevr(bes_bestellevr_key) , prs_perslid_key_user NUMBER(10) CONSTRAINT fin_r_fin_factuur4 REFERENCES prs_perslid(prs_perslid_key) , prs_perslid_key_goedkeur NUMBER(10) CONSTRAINT fin_r_fin_factuur6 REFERENCES prs_perslid(prs_perslid_key) , fin_factuur_datum DATE NOT_NULL(fin_factuur_datum, fin_c_fin_factuur3) , fin_factuur_advies DATE , fin_factuur_boekmaand VARCHAR2(7) , fin_factuur_debiteur_nr VARCHAR2(30) , prs_kostensoort_key NUMBER(10) CONSTRAINT fin_r_fin_factuur7 REFERENCES prs_kostensoort(prs_kostensoort_key) , fin_factuur_opmerking VARCHAR2(250) , fin_factuur_opmerking_afw VARCHAR2(4000) , fin_factuur_statuses_key NUMBER(10) CONSTRAINT fin_c_fin_status1 CHECK(fin_factuur_statuses_key IN (1,2,3,5,6,7)) NOT_NULL(fin_factuur_statuses_key, fin_c_fin_factuur5) , fin_factuur_bron NUMBER(3) DEFAULT 0 NOT NULL , fin_factuur_verwijder DATE , fin_factuur_flag NUMBER(1) , cnt_contract_plaats_key NUMBER(10) CONSTRAINT fin_r_fin_factuur8 REFERENCES cnt_contract_plaats(cnt_contract_plaats_key) , fin_factuur_externnr VARCHAR2(256) , fin_factuur_externsyncdate DATE ); CREATE_TABLE(fin_factuurregel,0) ( fin_factuurregel_key NUMBER(10) CONSTRAINT fin_k_fin_regel PRIMARY KEY , fin_factuur_key NUMBER(10) CONSTRAINT fin_r_fin_factuurregel1 REFERENCES fin_factuur(fin_factuur_key) ON DELETE CASCADE NOT_NULL(fin_factuur_key, fin_c_fin_factuurregel1) , fin_factuurregel_nr NUMBER , fin_factuurregel_totaal NUMBER(12,2) NOT_NULL(fin_factuurregel_totaal, fin_c_fin_factuurregel2) , fin_factuurregel_btw NUMBER(14,4) NOT_NULL(fin_factuurregel_btw, fin_c_fin_factuurregel3) , fin_factuurregel_omschrijving VARCHAR2(250) , fin_factuurregel_referentie VARCHAR2(30) , fin_btwtabelwaarde_key NUMBER(10) CONSTRAINT fin_r_btwtabelwaarde_key1 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key) , prs_kostensoort_key NUMBER(10) CONSTRAINT fin_r_fin_factuur5 REFERENCES prs_kostensoort(prs_kostensoort_key) , fin_factuurregel_code VARCHAR2(30) , fin_factuurregel_aantal NUMBER(8,2) , fin_factuurregel_eenheid VARCHAR2(30) , fin_factuurregel_id NUMBER(10) ); /* flexkenmerken zijn hier isomorf aan alg en prs, alleen hebben we geen niveau en gebruiken we de juiste naam voor de waarden (niet: fin_kenmerklink) */ CREATE_TABLE(fin_kenmerk,0) (fin_kenmerk_key NUMBER(10) CONSTRAINT fin_k_fin_kenmerk_key PRIMARY KEY ,fin_kenmerk_volgnr NUMBER(3) NOT NULL ,fin_kenmerk_omschrijving VARCHAR2(50) ,fin_kenmerk_upper VARCHAR2(50) ,fin_kenmerk_code VARCHAR2(60) ,fin_kenmerk_type -- Factuur of factuurRegel VARCHAR2(1) CONSTRAINT fin_c_fin_kenmerk_type CHECK (fin_kenmerk_type is not null and (fin_kenmerk_type IN( 'F', 'R'))) ,fin_kenmerk_hint VARCHAR2(255) ,fin_kenmerk_default VARCHAR2(4000) ,fin_kenmerk_show_expr VARCHAR2(4000) ,fin_kenmerk_dimensie VARCHAR2(10) ,fin_kenmerk_kenmerktype VARCHAR2(1) ,fin_kenmerk_systeem NUMBER(2) ,fin_kenmerk_toonbaar NUMBER(1) ,fin_kenmerk_inlijst NUMBER(1) DEFAULT 0 NOT NULL ,fin_kenmerk_uniek NUMBER(1) ,fin_kenmerk_regexp VARCHAR2(255) ,fin_kenmerk_verplicht NUMBER(1) ,fin_kenmerk_groep NUMBER(1) DEFAULT 0 NOT NULL ,fin_kenmerk_lengte NUMBER(4) ,fin_kenmerk_dec NUMBER(2) ,fin_kenmerk_nmin NUMBER(10) ,fin_kenmerk_nmax NUMBER(10) ,fac_kenmerkdomein_key NUMBER(10) CONSTRAINT fin_r_kenmerkdomein_key1 REFERENCES fac_kenmerkdomein(fac_kenmerkdomein_key) ,fin_kenmerk_aanmaak DATE DEFAULT SYSDATE NOT_NULL(fin_kenmerk_aanmaak, fin_c_fin_kenmerk_aanmaak) ,fin_kenmerk_verwijder DATE DEFAULT NULLDATUM ,fac_functie_key NUMBER(10) CONSTRAINT fac_r_fin_kenmerk_functie REFERENCES fac_functie (fac_functie_key) ); CREATE_TABLE(fin_kenmerkfactuur,0) (fin_kenmerkfactuur_key NUMBER(10) CONSTRAINT fin_k_fin_kenmerkfactuur_key PRIMARY KEY ,fin_factuur_key NUMBER(10) CONSTRAINT fin_r_fin_factuur_key REFERENCES fin_factuur(fin_factuur_key) ON DELETE CASCADE ,fin_kenmerk_key NUMBER(10) ,fin_kenmerkfactuur_waarde VARCHAR2(4000) ,fin_kenmerkfactuur_aanmaak DATE DEFAULT SYSDATE NOT_NULL(fin_kenmerkfactuur_aanmaak, fin_c_fin_kenmerkfactuur_aanm) ,fin_kenmerkfactuur_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT fin_u_fin_kenmerkfactuur_key UNIQUE(fin_factuur_key, fin_kenmerk_key, fin_kenmerkfactuur_verwijder) ); CREATE_TABLE(fin_kenmerkfactregel,0) (fin_kenmerkfactregel_key NUMBER(10) CONSTRAINT fin_k_kenmerkfactregel_key PRIMARY KEY ,fin_factuurregel_key NUMBER(10) CONSTRAINT fin_r_fin_factuurregel_key REFERENCES fin_factuurregel(fin_factuurregel_key) ON DELETE CASCADE ,fin_kenmerk_key NUMBER(10) CONSTRAINT fin_r_fin_kenmerk_key2 REFERENCES fin_kenmerk(fin_kenmerk_key) ,fin_kenmerkfactregel_waarde VARCHAR2(4000) ,fin_kenmerkfactregel_aanmaak DATE DEFAULT SYSDATE NOT_NULL(fin_kenmerkfactregel_aanmaak, fin_c_kenmerkfactregel_aanm) ,fin_kenmerkfactregel_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT fin_u_kenmerkfactregel_key UNIQUE(fin_factuurregel_key, fin_kenmerk_key, fin_kenmerkfactregel_verwijder) ); CREATE_TABLE(fin_factuur_note, 0) ( fin_factuur_note_key NUMBER (10) PRIMARY KEY, fin_factuur_key NUMBER (10) NOT NULL REFERENCES fin_factuur (fin_factuur_key) ON DELETE CASCADE, fin_factuur_note_aanmaak DATE DEFAULT SYSDATE, prs_perslid_key NUMBER (10) REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL, fin_factuur_note_omschrijving VARCHAR2 (4000 CHAR) ); // Met name om er een model (scaffolding) op te kunnen baseren is een kop-tabel erg wenselijk. CREATE_TABLE(fin_verkoopfactuurkop, 0) ( fin_verkoopfactuurkop_key NUMBER(10) PRIMARY KEY, fin_verkoopfactuurkop_aanmaak DATE DEFAULT SYSDATE, fin_verkoopfactuurkop_id VARCHAR2(30), /* het (externe) factuurnummer, vaak wel numeriek */ CONSTRAINT fin_u_verkoopfactuurkop_id UNIQUE(fin_verkoopfactuurkop_id) ); // Een basistabel waarin verkoopfactuurREGELS kunnen worden bewaard als een soort hardcopy // Deze tabel wordt (vooralsnog) niet door de core-programmatuur gevuld maar is wel een // uniforme opslag voor latere referentie; vervangt de diverse cust-tabellen die ontstonden // Voor verschillende waarden (van bv kostenplaats of btwpercentage) zijn er verschillende regels // Stamgegevens kunnen later wijzigen en worden hier bevroren, overige gegevens kunnen worden // teruggevonden via de bijbehorende referentie // Tevens zijn er plenty extra kolommen voor gebruik naar eigen inzicht // LET OP: dit is bewust de rand van ons datamodel, hierin verder gaan opent de beerput van de financiele wereld // waar we niet vrijwillig in willen vallen. // LET OP: de verwijzing fin_verkoopfactuurkop_key is optioneel. // Indien een cust dit via de GUI wil gebruiken is deze vereist. CREATE_TABLE(fin_verkoopfactuur, 0) ( fin_verkoopfactuur_key NUMBER(10) PRIMARY KEY, fin_verkoopfactuurkop_key NUMBER(10) REFERENCES fin_verkoopfactuurkop(fin_verkoopfactuurkop_key) ON DELETE CASCADE, fin_verkoopfactuur_aanmaak DATE DEFAULT SYSDATE, fin_verkoopfactuur_id VARCHAR2(30), /* het (externe) factuurnummer, vaak wel numeriek */ fin_verkoopfactuur_datum DATE, /* de factuurdatum */ fin_verkoopfactuur_omschr VARCHAR2(1000), fin_verkoopfactuur_xmlnode VARCHAR2(60), /* type van waarover deze factuur gaat */ fin_verkoopfactuur_refkey NUMBER(10), /* key van de bijbehorende entiteit van type xmlnode */ prs_kostenplaats_key NUMBER(10), prs_kostenplaats_nr VARCHAR2(30), prs_kostenplaats_omschrijving VARCHAR2(60), prs_kostenplaatsgrp_oms VARCHAR2(60), prs_kostensoort_oms VARCHAR2(60), prs_kostensoort_opmerking VARCHAR2(255), prs_kostensoort_refcode VARCHAR2(60), prs_bedrijf_key NUMBER(10), prs_debiteur_naam VARCHAR2(60), /* kan prs_bedrijf_naam zijn maar hoeft niet */ prs_kostensoortgrp_oms VARCHAR2(60), fin_verkoopfactuur_bedrag NUMBER(12,2), fin_verkoopfactuur_btw NUMBER(12,2), fin_btwtabelwaarde_code VARCHAR2(10), fin_btwtabelwaarde_oms VARCHAR2(30), fin_btwtabelwaarde_perc NUMBER(5,3), fin_btwtabelwaarde_verlegd NUMBER(1), fin_verkoopfactuur_maand VARCHAR2(6), /* boekmaand, bv 201409 */ fin_verkoopfactuur_n1 NUMBER(14,4), fin_verkoopfactuur_n2 NUMBER(14,4), fin_verkoopfactuur_n3 NUMBER(14,4), fin_verkoopfactuur_n4 NUMBER(14,4), fin_verkoopfactuur_n5 NUMBER(14,4), fin_verkoopfactuur_c1 VARCHAR2(200), fin_verkoopfactuur_c2 VARCHAR2(200), fin_verkoopfactuur_c3 VARCHAR2(200), fin_verkoopfactuur_c4 VARCHAR2(200), fin_verkoopfactuur_c5 VARCHAR2(200), fin_verkoopfactuur_c6 VARCHAR2(500), fin_verkoopfactuur_c7 VARCHAR2(1000), fin_verkoopfactuur_c8 VARCHAR2(4000), fin_verkoopfactuur_d1 DATE, fin_verkoopfactuur_d2 DATE, fin_verkoopfactuur_d3 DATE, fin_verkoopfactuur_d4 DATE, fin_verkoopfactuur_d5 DATE ); REGISTERONCE('$Id$') #endif // FIN