#ifdef INS /* $Revision$ * $Id$ */ CREATE_TABLE(ins_srtdiscipline,0) ( ins_srtdiscipline_key NUMBER(10) CONSTRAINT ins_k_ins_srtdiscipline_key PRIMARY KEY, ins_srtdiscipline_module VARCHAR2(3) DEFAULT 'INS' NOT_NULL(ins_srtdiscipline_module, ins_c_ins_srtdisc_module), ins_srtdiscipline_omschrijving VARCHAR2(30) NOT_NULL(ins_srtdiscipline_omschrijving, ins_c_ins_srtdisc_omschr), ins_srtdiscipline_opmerking VARCHAR(2000 CHAR), ins_srtdiscipline_prefix VARCHAR2(3), ins_srtdiscipline_kostenklant /* FE: 0x**00 = uit, 0x**01 = aan, 0x**10 = niet tonen, FO/BO: 0x00** = uit, 0x01** = aan, 0x10** = niet tonen */ NUMBER(2) DEFAULT (0) CONSTRAINT ins_c_ins_srtdiscipline_kk CHECK(ins_srtdiscipline_kostenklant IN (0,1,2,4,5,6,8,9,10)), ins_srtdiscipline_alg NUMBER(3) DEFAULT(1) CONSTRAINT ins_c_ins_srtdiscipline_alg CHECK(ins_srtdiscipline_alg IN (0,1,3,5,7)), ins_srtdiscipline_ins NUMBER(1) DEFAULT(1) CONSTRAINT ins_c_ins_srtdiscipline_ins CHECK(ins_srtdiscipline_ins IN (0,1)), ins_srtdiscipline_mld NUMBER(1) DEFAULT (0) CONSTRAINT ins_c_ins_srtdiscipline_mld CHECK(ins_srtdiscipline_mld IN (0,1)), ins_srtdiscipline_bes /* reserved for future use */ NUMBER(1) DEFAULT (0) CONSTRAINT ins_c_ins_srtdiscipline_bes CHECK(ins_srtdiscipline_bes IN (0,1)), ins_srtdiscipline_prs /* reserved for future use */ NUMBER(1) DEFAULT (0) CONSTRAINT ins_c_ins_srtdiscipline_prs CHECK(ins_srtdiscipline_prs IN (0,1)), ins_srtdiscipline_res /* reserved for future use */ NUMBER(1) DEFAULT (0) CONSTRAINT ins_c_ins_srtdiscipline_res CHECK(ins_srtdiscipline_res IN (0,1)), ins_srtdiscipline_cnt /* reserved for future use */ NUMBER(1) DEFAULT (0) CONSTRAINT ins_c_ins_srtdiscipline_cnt CHECK(ins_srtdiscipline_cnt IN (0,1)), ins_srtdiscipline_mldgroup NUMBER(3) DEFAULT 0 NOT NULL, ins_srtdiscipline_image VARCHAR2(255), ins_srtdiscipline_color VARCHAR2(60 CHAR), ins_srtdiscipline_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_srtdiscipline_aanmaak, ins_c_ins_srtdisc_aanmaak), ins_srtdiscipline_verwijder DATE DEFAULT NULLDATUM, ins_srtdiscipline_externnr VARCHAR2(256), ins_srtdiscipline_extsyncdate DATE, CONSTRAINT ins_u_ins_srtdisc_omschr UNIQUE (ins_srtdiscipline_omschrijving, ins_srtdiscipline_verwijder, ins_srtdiscipline_module) ); CREATE_TABLE(ins_tab_discipline,0) ( ins_discipline_key NUMBER(10) CONSTRAINT ins_k_ins_discipline_key PRIMARY KEY, ins_discipline_module VARCHAR2(3) DEFAULT 'INS' NOT_NULL(ins_discipline_module, ins_c_ins_discipline_module), ins_discipline_omschrijving VARCHAR2(60) NOT_NULL(ins_discipline_omschrijving, ins_c_ins_discipline_omschr), ins_discipline_opmerking VARCHAR(2000 CHAR), ins_discipline_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_discipline_aanmaak, ins_c_ins_discipline_aanmaak), ins_discipline_verwijder DATE DEFAULT NULLDATUM, ins_discipline_min_level /* 1; Reserveerbaar object; 2; Verbruiksartikel; 3; Ruimte 4; Personenresource; 5; Werkplek;*/ NUMBER(1), ins_discipline_kpnverplicht NUMBER(1) DEFAULT(0) NOT NULL CONSTRAINT ins_c_ins_discipline_kpn CHECK(ins_discipline_kpnverplicht IN (0,1,2)), -- Kostenplaats verplicht {0=niet verplicht (default), 1=verplicht, 2=niet zichtbaar (en niet verplicht)} ins_srtdiscipline_key NUMBER(10) //NOT_NULL(ins_srtdiscipline_key, ins_c_ins_srtdiscipline_key1) CONSTRAINT ins_r_ins_srtdiscipline_key1 REFERENCES ins_srtdiscipline, ins_discipline_email VARCHAR2(200), // Note: this column is defined in PRS_TAB.SRC // prs_kostensoort_key // NUMBER(10) // CONSTRAINT ins_r_prs_kostensoort_key1 REFERENCES prs_kostensoort(prs_kostensoort_key), ins_discipline_btw -- 1=Incl. BTW NUMBER(1) DEFAULT(1) CONSTRAINT ins_c_ins_discipline_btw CHECK(ins_discipline_btw IN (0,1)), ins_discipline_ktopercentage /* percentage dat evt. deelneemt aan KTO (klanttevredenheidsonderzoek), voor MLD, RES, BES */ NUMBER(3) CONSTRAINT ins_c_discipline_ktopercentage CHECK(ins_discipline_ktopercentage BETWEEN 0 AND 100), ins_discipline_ktodrempel /* minimum aantal dat evt. deelneemt aan KTO */ NUMBER(3), ins_discipline_volgnr NUMBER(4), ins_discipline_code VARCHAR2(60) CONSTRAINT ins_u_ins_discipline_code UNIQUE, ins_discipline_image VARCHAR2(255), ins_discipline_color VARCHAR2(60 CHAR), ins_discipline_externnr VARCHAR2(256), ins_discipline_externsyncdate DATE, CONSTRAINT ins_u_ins_discipline_omschr UNIQUE (ins_discipline_omschrijving, ins_srtdiscipline_key, ins_discipline_verwijder, ins_discipline_module) ); ALTER TABLE fac_menu ADD ( ins_discipline_key NUMBER(10) CONSTRAINT fac_r_menu3 REFERENCES ins_tab_discipline (ins_discipline_key) ); ALTER TABLE fac_menu ADD ( ins_srtdiscipline_key NUMBER(10) CONSTRAINT fac_r_menu4 REFERENCES ins_srtdiscipline (ins_srtdiscipline_key) ); ALTER TABLE fac_groeprechten ADD CONSTRAINT fac_r_groeprechten_disc FOREIGN KEY (ins_discipline_key) REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE; ALTER TABLE fac_profielwaarde ADD ( ins_discipline_key NUMBER(10) REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE ); ALTER TABLE fac_import_app ADD ( ins_discipline_key NUMBER(10) REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE ); ALTER TABLE fac_faq ADD faq_ins_discipline_key NUMBER(10) NOT_NULL(faq_ins_discipline_key, faq_c_ins_discipline_key) CONSTRAINT faq_r_ins_discipine_key REFERENCES ins_tab_discipline(ins_discipline_key); ALTER TABLE faq_kenmerk ADD CONSTRAINT faq_c_faq_kenmerk_discipline FOREIGN KEY(faq_discipline_key) REFERENCES ins_tab_discipline(ins_discipline_key); CREATE_TABLE(ins_srtgroep,0) ( ins_srtgroep_key NUMBER(10) CONSTRAINT ins_k_ins_srtgroep_key PRIMARY KEY, ins_discipline_key NUMBER(10) NOT_NULL(ins_discipline_key, ins_r_ins_discipline_key1) CONSTRAINT ins_r_ins_discipline_key2 REFERENCES ins_tab_discipline, ins_srtgroep_module VARCHAR2(3) DEFAULT 'INS' NOT_NULL(ins_srtgroep_module, ins_c_ins_srtgroep_module), ins_srtgroep_omschrijving VARCHAR2(60) NOT_NULL(ins_srtgroep_omschrijving, ins_c_ins_srtgroep_omschr), ins_srtgroep_upper VARCHAR2(60) NOT_NULL(ins_srtgroep_upper, ins_c_ins_srtgroep_upper), ins_srtgroep_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_srtgroep_aanmaak, ins_c_ins_srtgroep_aanmaak), ins_srtgroep_verwijder DATE DEFAULT NULLDATUM, ins_srtgroep_externnr VARCHAR2(256), ins_srtgroep_externsyncdate DATE, CONSTRAINT ins_u_ins_srtgroep_upper UNIQUE(ins_discipline_key, ins_srtgroep_upper, ins_srtgroep_verwijder, ins_srtgroep_module) ); CREATE_TABLE(ins_srtdeel,0) ( ins_srtdeel_key NUMBER(10) CONSTRAINT ins_k_ins_srtdeel_key PRIMARY KEY, ins_srtgroep_key NUMBER(10) NOT_NULL(ins_srtgroep_key, ins_r_ins_srtgroep_key1) CONSTRAINT ins_r_ins_srtgroep_key2 REFERENCES ins_srtgroep, ins_srtdeel_module VARCHAR2(3) DEFAULT 'INS' NOT_NULL(ins_srtdeel_module, ins_c_ins_srtdeel_module), ins_srtdeel_code VARCHAR2(10) NOT_NULL(ins_srtdeel_code, ins_c_ins_srtdeel_code), ins_srtdeel_code_upper VARCHAR2(10) NOT_NULL(ins_srtdeel_code_upper, ins_c_ins_srtdeel_upcode), ins_srtdeel_omschrijving VARCHAR2(100) NOT_NULL(ins_srtdeel_omschrijving, ins_c_ins_srtdeel_omschrijving), ins_srtdeel_upper VARCHAR2(100) NOT_NULL(ins_srtdeel_upper, ins_c_ins_srtdeel_upper), ins_srtdeel_opmerking VARCHAR(2000 CHAR), ins_srtdeel_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_srtdeel_aanmaak, ins_c_ins_srtdeel_aanmaak), ins_srtdeel_verwijder DATE DEFAULT NULLDATUM, ins_srtdeel_volgnr NUMBER(3), ins_srtdeel_prijs NUMBER(8,2), ins_srtdeel_inkprijs NUMBER(8,2), ins_srtdeel_btw NUMBER(3), ins_srtdeel_eenheid VARCHAR2(30), ins_srtdeel_dimensie NUMBER(1), ins_srtdeel_acadsymbol VARCHAR2(256), ins_srtdeel_acadsymbol_dwgx NUMBER(16,3), ins_srtdeel_acadsymbol_dwgy NUMBER(16,3), ins_srtdeel_acadlabelsize NUMBER(5), ins_srtdeel_acadlabelpos NUMBER(1), ins_srtdeel_acad_tagvalue /* TAGVALUE vanuit ACAD */ VARCHAR2(30), ins_srtdeel_cadlayer VARCHAR2(256), ins_srtdeel_cadlaylinetype VARCHAR2(256), ins_srtdeel_cadlaycolor NUMBER(3) CONSTRAINT ins_c_ins_srtdeel_cadlaycolor CHECK(ins_srtdeel_cadlaycolor > 0 AND ins_srtdeel_cadlaycolor < 256), ins_srtdeel_opmaat /* INS: niet(0)/wel(1) op maat getekend BES: wel(1)/geen(0) preview tonen voor bestellen */ NUMBER(1) DEFAULT 0, ins_srtdeel_binding /* 32=Kan als onderdeel,16=Kan persoonsgebonden,8=Kan afdelingsgebonden,4=Kan terreingebonden,2=Kan werkplekgebonden,1=Kan ruimtegebonden, 63=alles mag */ NUMBER(3), ins_srtdeel_nr VARCHAR2(32), -- In: PRS_TAB.SRC -- prs_bedrijf_key -- NUMBER(10) -- CONSTRAINT bes_r_prs_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key), ins_srtdeel_vervaldatum DATE, ins_srtdeel_image VARCHAR2(255), ins_srtdeel_veelvoud NUMBER(6), ins_srtdeel_minimum NUMBER(6), ins_srtdeel_prsflex /* kan wel(1) of geen (0)persoonsafhankelijke flexkenmerken bevatten */ NUMBER(1) DEFAULT 0, ins_srtdeel_uitleenbaar /* Objectsoort kan wel(1) of niet(0) uitgeleend worden */ NUMBER(1) DEFAULT 0, ins_srtdeel_voorraadmin NUMBER(6), ins_srtdeel_voorraadmax NUMBER(6), ins_srtdeel_mjb_grensscore1 NUMBER(6,2), ins_srtdeel_externnr VARCHAR2(256), ins_srtdeel_externsyncdate DATE, ins_srtdeel_sensortype /* bitwise: 0=no sensor, &1=discrete values sensor, &2=continuous values sensor, rest tbd */ NUMBER(3) DEFAULT 0 NOT NULL, CONSTRAINT ins_c_ins_srtdeel_binding CHECK ((ins_srtdeel_module ='INS' AND ins_srtdeel_binding > 0) OR ins_srtdeel_module <> 'INS') ); /* New table for relations between object types; designed for key management (formerly SLE)*/ CREATE_TABLE(ins_srtdeel_srtdeel, 0) ( ins_srtdeel_srtdeel_key NUMBER(10) primary key, ins_srtdeel_key_1 NUMBER(10) not null references ins_srtdeel, ins_srtdeel_key_2 NUMBER(10) not null references ins_srtdeel, ins_module VARCHAR2(3), CONSTRAINT ins_u_ins_srtdeel_srtdeel UNIQUE (ins_srtdeel_key_1, ins_srtdeel_key_2) ); CREATE_TABLE(ins_deel,0) ( ins_deel_key NUMBER(10) CONSTRAINT ins_k_ins_deel_key PRIMARY KEY, ins_deel_module VARCHAR2(3) DEFAULT 'INS' NOT_NULL(ins_deel_module, ins_c_ins_deel_module), ins_srtdeel_key NUMBER(10) NOT_NULL(ins_srtdeel_key, ins_r_deel_srtdeel_key1) CONSTRAINT ins_r_deel_srtdeel_key2 REFERENCES ins_srtdeel, ins_alg_ruimte_key NUMBER(10), ins_alg_ruimte_type VARCHAR2(1), /* * INS_ALG_RUIMTE_TYPE heeft de volgende waarden: * 'R' : als INS_ALG_RUIMTE_KEY een ruimte aanduidt. * 'T' : als INS_ALG_RUIMTE_KEY een terreinsector aanduidt. * 'W' : als INS_ALG_RUIMTE_KEY een werkplek aanduidt. * 'A' : als INS_ALG_RUIMTE_KEY een afdeling aanduidt. * 'P' : als INS_ALG_RUIMTE_KEY een persoon aanduidt. * Dit wordt in de B_IU-trigger gecontroleerd. */ ins_deel_aantal NUMBER(8,2) DEFAULT 1 CONSTRAINT ins_c_ins_deel_aantal2 CHECK (ins_deel_aantal is not null and ins_deel_aantal > 0), ins_deel_omschrijving VARCHAR2(60) NOT_NULL(ins_deel_omschrijving, ins_c_ins_deel_omschrijving), ins_deel_opmerking VARCHAR2(320), ins_deel_upper VARCHAR2(60), ins_deel_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_deel_aanmaak, ins_c_ins_deel_aanmaak), ins_deel_vervaldatum DATE, ins_deel_verwijder DATE DEFAULT NULLDATUM, ins_deel_getekend DATE DEFAULT NULLDATUM, ins_discipline_key NUMBER(10) CONSTRAINT ins_r_ins_deel_discipline2 REFERENCES ins_tab_discipline(ins_discipline_key), ins_alg_locatie_key NUMBER(10) CONSTRAINT ins_r_ins_deel_locatie2 REFERENCES alg_locatie(alg_locatie_key), ins_deel_parent_key NUMBER(10) CONSTRAINT ins_r_ins_deel_key REFERENCES ins_deel(ins_deel_key), ins_deel_omtrek NUMBER(8,2), ins_deel_oppervlak NUMBER(8,2), ins_deel_dwgx NUMBER(16,3), ins_deel_dwgy NUMBER(16,3), ins_deel_dwgz NUMBER(16,3), ins_deel_dwgrotatie NUMBER(5,1), ins_deel_dwgschaal NUMBER(5,2), ins_deel_x NUMBER(16,6), ins_deel_y NUMBER(16,6), ins_alg_ruimte_key_org NUMBER(10), ins_alg_ruimte_type_org VARCHAR2(1), -- In: RES_TAB.SRC -- res_rsv_deel_key -- NUMBER(10) -- CONSTRAINT ins_r_res_rsv_deel_key REFERENCES res_rsv_deel (res_rsv_deel_key), ins_deel_state VARCHAR2(128), ins_deel_statedate DATE, ins_deel_t_uitvoertijd MLD_T_UITVOERTIJD CONSTRAINT ins_c_ins_deel_uitvoertijd1 CHECK(ins_deel_t_uitvoertijd.tijdsduur >= 0), ins_deel_actief -- Object 0=Inactief, 1=Actief. NUMBER(1) DEFAULT 1 NOT NULL, ins_deel_image VARCHAR2(255), ins_deel_mjb_score1 NUMBER(6,2), /* nu: laatst gemeten conditiescore; numeriek omdat vergeleken moet worden met ins_srtdeel_mjb_grensscore1 */ ins_deel_mjb_score2 NUMBER(6,2), /* nu: laatst bepaalde prioriteit; */ ins_deel_externnr VARCHAR2(256), ins_deel_externsyncdate DATE, -- In: PRS_TAB.SRC -- prs_perslid_key_beh -- NUMBER(10) -- CONSTRAINT ins_r_prs_perslid_key_beh REFERENCES prs_perslid (prs_perslid_key), -- In: BES_TAB.SRC -- bes_bestelopdr_key -- NUMBER(10) -- CONSTRAINT bes_r_bes_bestelopdr_key3 REFERENCES bes_bestelopdr(bes_bestelopdr_key), CONSTRAINT ins_u_ins_deel_upper2 UNIQUE(ins_alg_locatie_key, ins_deel_parent_key, ins_srtdeel_key, ins_deel_upper, ins_deel_verwijder) ); ALTER TABLE ins_deel MODIFY ins_deel_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL); // Track history of ins_deel_states, in principe alleen wijzigende waarden CREATE_TABLE(ins_deel_state_history, 0) ( ins_deel_state_history_key NUMBER(10) CONSTRAINT ins_k_deel_state_history_key PRIMARY KEY, ins_deel_key NUMBER(10) CONSTRAINT ins_r_ins_deel_key2 REFERENCES ins_deel(ins_deel_key), ins_deel_state VARCHAR2(128), ins_deel_statedate DATE, ins_deel_state_history_opmerk /* je weet het niet he */ VARCHAR2(320) ); CREATE_TABLE(ins_deel_state_history_all, 0) ( ins_deel_state_history_all_key NUMBER(10) CONSTRAINT ins_k_deel_state_histall_key PRIMARY KEY, ins_deel_key NUMBER(10) CONSTRAINT ins_r_ins_deel_key3 REFERENCES ins_deel(ins_deel_key), ins_deel_statedate DATE, ins_deel_state VARCHAR2(128), ins_deel_statetime NUMBER ); CREATE_TABLE(ins_scenario, 0) ( ins_scenario_key NUMBER(10) CONSTRAINT insk_ins_scenario_key PRIMARY KEY, ins_scenario_omschrijving VARCHAR2(30), NOT_NULL(ins_scenario_omschrijving, ins_r_ins_scenario_omschr), ins_scenario_status NUMBER(3), /* not ietwat ongedefinieerd */ ins_scenario_opmerking VARCHAR2(4000), // Note: this column is defined in PRS_TAB.SRC // prs_perslid_key // NUMBER(10) // CONSTRAINT ins_r_prs_perslid_key0 REFERENCES prs_perslid(prs_perslid_key), ins_scenario_aanmaak DATE DEFAULT SYSDATE, ins_scenario_verwerkt DATE ); /* welke inspecties, controles etc gelden er voor objecten van deze soorten */ CREATE_TABLE(ins_srtcontrole, 0) ( ins_srtcontrole_key NUMBER(10) PRIMARY KEY, ins_srtinstallatie_key NUMBER(10), ins_srtcontrole_niveau VARCHAR2(1) CONSTRAINT ins_c_srtcontrole_niveau1 CHECK (ins_srtcontrole_niveau IS NOT NULL AND (ins_srtcontrole_niveau IN( 'D', 'G', 'S'))), ins_srtcontrole_omschrijving VARCHAR2(60) NOT_NULL(ins_srtcontrole_omschrijving, ins_c_srtcontrole_omschrijving), ctr_discipline_key NUMBER(10) CONSTRAINT ctr_c_ins_srtcontrole_dis_key CHECK(ctr_discipline_key IS NOT NULL) CONSTRAINT ctr_c_ins_srtctr_discipline REFERENCES ins_tab_discipline(ins_discipline_key), ins_srtcontrole_groep // vrijblijvende categorisering voor groepering in rapportages VARCHAR2(60), ins_srtcontrole_info VARCHAR2(4000), ins_srtcontrole_periode NUMBER(6,2) NOT_NULL(ins_srtcontrole_periode, ins_c_ins_srtcontrole_periode), ins_srtcontrole_eenheid // 0=uurlijks, 1=dagelijks, 2=wekelijk, 3=maandelijk, 4=jaarlijks, null=niet NUMBER(1) DEFAULT(1), ins_srtcontrole_bits // details, afhankelijk van de mode (mag best null zijn) NUMBER(4), ins_srtcontrole_mode // 0=moment-modus of 1=interval-modus NUMBER(1) DEFAULT(1) NOT_NULL(ins_srtcontrole_mode, ins_c_ins_srtcontrole_mode), ins_srtcontrole_level // hierarchy level (relative; lower = more important) NUMBER(3) DEFAULT(10) NOT_NULL(ins_srtcontrole_level, ins_c_ins_srtcontrole_level), ins_srtcontrole_uren // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal) per controle) bv tbv capaciteitsplanning NUMBER(8,2), ins_srtcontrole_materiaal // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal) per controle) NUMBER(9,2), ins_srtcontrole_kosten // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal) per controle) deel 1 (bv BTW hoog) NUMBER(11,2), ins_srtcontrole_kosten2 // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal) per controle) deel 2 (bv BTW laag) NUMBER(11,2), ins_srtcontrole_kosten3 // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal) per controle) deel 3 (spare) NUMBER(11,2), ins_srtcontrole_percentage // percentage van het aantal delen waarop dit betrekking heeft NUMBER(3) DEFAULT (100) CONSTRAINT ins_c_srtcontrole_percentage CHECK(ins_srtcontrole_percentage BETWEEN 0 AND 100), ins_srtcontrole_opmerking VARCHAR2(320), ins_srtcontrole_eind // hier eindigt deze DATE, ins_srtcontrole_options /* bitwise: 1=(kan)inplannen, 2=(kan)starten, 4=(kan)afmelden, 8=(kan)voltooien */ NUMBER(3) DEFAULT 15 NOT_NULL(ins_srtcontrole_options, ins_c_ins_srtcontr_options), ins_scenario_key NUMBER(10) DEFAULT 1 NOT NULL CONSTRAINT ins_r_ins_scenario_key1 REFERENCES ins_scenario(ins_scenario_key) ON DELETE CASCADE, /* na create table ins_controlemode ins_controlemode_key NUMBER(10) CONSTRAINT ins_c_ins_controlemode_key REFERENCES ins_controlemode(ins_controlemode_key), */ /* in fin_tab.src: fin_btwtabelwaarde_key NUMBER(10) CONSTRAINT ins_r_fin_btwtabelwaarde1 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key), */ ins_srtcontrole_afbouwtijd NUMBER(6,2) /* in mld_tab.src: mld_stdmelding_key NUMBER(10) CONSTRAINT mld_r_mld_stdmelding_key7 REFERENCES mld_stdmelding */ /* in prs_tab.src: ,prs_kostenplaats_key NUMBER(10) CONSTRAINT ins_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ,prs_dienst_key NUMBER(10) CONSTRAINT cnt_r_prs_dienst_key1 REFERENCES prs_dienst(prs_dienst_key) */ ); CREATE_TABLE(ins_controlemode, 0) ( ins_controlemode_key NUMBER(10) PRIMARY KEY, ins_controlemode_oms VARCHAR(30 CHAR) NOT_NULL(ins_controlemode_oms, ins_c_controlemode_oms), ins_controlemode_opmerking VARCHAR(2000 CHAR), ins_controlemode_success // 1=positive/neutral result, 0=negative result NUMBER(1) DEFAULT(1) NOT NULL CONSTRAINT ins_c_ins_controlemode_success CHECK (ins_controlemode_success IN (0,1)), ins_srtcontrole_type // 1=controle, 2=vervanging, 3=certificering, rest ntb NUMBER(1) DEFAULT(1), CONSTRAINT ins_u_ins_controlemode_oms UNIQUE (ins_srtcontrole_type,ins_controlemode_oms) ); ALTER TABLE ins_srtcontrole ADD ins_controlemode_key NUMBER(10) CONSTRAINT ins_c_ins_controlemode_key REFERENCES ins_controlemode(ins_controlemode_key); // Eventuele afwijkingen (xcp=exception) per specifiek deel // De methodiek (flags) en het level kunnen niet overruled worden; fungeert als COALESCE met ins_srtcontrole // Het kan ook voor alleen respijt bestaan CREATE_TABLE(ins_srtcontroledl_xcp, 0) ( ins_srtcontroledl_xcp_key NUMBER(10) PRIMARY KEY, ins_deel_key NUMBER(10) NOT NULL REFERENCES ins_deel ON DELETE CASCADE, ins_srtcontrole_key NUMBER(10) NOT NULL REFERENCES ins_srtcontrole ON DELETE CASCADE, ins_srtcontroledl_xcp_periode NUMBER(6,2), ins_srtcontroledl_xcp_eenheid // 0=uurlijks, 1=dagelijks, 2=wekelijk, 3=maandelijk, 4=jaarlijks NUMBER(3), ins_srtcontroledl_xcp_bits // details, afhankelijk van de mode (mag best null zijn) NUMBER(4), ins_srtcontroledl_xcp_aantal // optionele overrule van het ins_deel_aantal tbv deze controle NUMBER(8,2), ins_srtcontroledl_xcp_aanteh // optionele overrule van het ins_srtdeel_eenheid tbv deze controle (_eenheid bestond al) VARCHAR2(30), ins_srtcontroledl_xcp_uren // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal of ins_srtcontroledl_xcp_aantal) per controle) bv tbv capaciteitsplanning NUMBER(8,2), ins_srtcontroledl_xcp_materia // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal of ins_srtcontroledl_xcp_aantal) per controle) NUMBER(9,2), ins_srtcontroledl_xcp_kosten // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal of ins_srtcontroledl_xcp_aantal) per controle) NUMBER(11,2), ins_srtcontroledl_xcp_kosten2 // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal of ins_srtcontroledl_xcp_aantal) per controle) deel 2 (bv BTW laag) NUMBER(11,2), ins_srtcontroledl_xcp_kosten3 // vervangings- of controlekosten (geldt per stuk (ins_deel_aantal) per controle of ins_srtcontroledl_xcp_aantal) deel 3 (spare) NUMBER(11,2), ins_srtcontroledl_xcp_perc // percentage van het aantal delen waarop dit betrekking heeft NUMBER(3) CONSTRAINT ins_c_srtcontroledl_xcp_perc CHECK(ins_srtcontroledl_xcp_perc BETWEEN 0 AND 100), ins_srtcontroledl_xcp_groep // Vrijblijvende categorisering voor groepering in rapportages VARCHAR2(60), ins_srtcontroledl_xcp_startdat // Startdatum eerste inspectie. DATE, ins_srtcontroledl_xcp_eind // hier eindigt deze DATE, ins_srtcontroledl_xcp_prio NUMBER(1) DEFAULT(2) // normaal NOT NULL, ins_scenario_key NUMBER(10) DEFAULT 1 NOT NULL CONSTRAINT ins_r_ins_scenario_key2 REFERENCES ins_scenario(ins_scenario_key) ON DELETE CASCADE, ins_srtcontroledl_xcp_opmerk VARCHAR2(320), CONSTRAINT ins_u_ins_srtcontroledl_xcp UNIQUE (ins_deel_key, ins_srtcontrole_key, ins_scenario_key) ); /* de feitelijke inspecties */ CREATE_TABLE(ins_deelsrtcontrole, 0) ( ins_deelsrtcontrole_key NUMBER(10) PRIMARY KEY, ins_deel_key NUMBER(10) NOT NULL REFERENCES ins_deel ON DELETE CASCADE, ins_srtcontrole_key NUMBER(10) NOT NULL REFERENCES ins_srtcontrole ON DELETE CASCADE, ins_deelsrtcontrole_datum DATE, ins_deelsrtcontrole_datum_org DATE, ins_controlemode_key NUMBER(10) CONSTRAINT ins_r_ins_controlemode_key REFERENCES ins_controlemode, ins_deelsrtcontrole_opmerking VARCHAR(4000 CHAR), ins_deelsrtcontrole_plan_opm VARCHAR(4000 CHAR), ins_deelsrtcontrole_plandatum DATE, ins_deelsrtcontrole_status // (vooralsnog 0;Ingepland 2;Gestart/In behandeling 5;Afgemeld/Gereed gemeld; 6;Afgerond) NUMBER(1) DEFAULT (6) CONSTRAINT ins_c_deelsrtcontrole_status NOT NULL, ins_scenario_key NUMBER(10) DEFAULT 1 NOT NULL CONSTRAINT ins_r_ins_scenario_key3 REFERENCES ins_scenario(ins_scenario_key) ON DELETE CASCADE, ins_deelsrtcontrole_freezecost NUMBER(11,2), ins_deelsrtcontrole_freezedate DATE, // Note: this column is defined in PRS_TAB.SRC // prs_perslid_key // NUMBER(10) // CONSTRAINT ins_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL CONSTRAINT ins_u_ins_deelsrtcontrole UNIQUE (ins_deel_key, ins_srtcontrole_key, ins_scenario_key, ins_deelsrtcontrole_datum_org) ); CREATE_TABLE(ins_import,0) ( ins_import_key NUMBER(10) CONSTRAINT ins_k_ins_import_key PRIMARY KEY, alg_ruimte_acadkey VARCHAR2(10), ins_srtdeel_acadsymbol VARCHAR2(8), ins_srtdeel_acad_tagvalue VARCHAR2(30), ins_import_aanmaak DATE DEFAULT SYSDATE CONSTRAINT ins_c_ins_import_aanmaak NOT NULL, ins_import_verwijder DATE DEFAULT NULLDATUM ); /* Tabellen voor INS_KENMERK-zaken */ CREATE_TABLE(ins_srtkenmerk, 0) ( ins_srtkenmerk_key NUMBER(10) CONSTRAINT ins_k_ins_srtkenmerk_key PRIMARY KEY, ins_srtkenmerk_omschrijving VARCHAR2(50) NOT_NULL(ins_srtkenmerk_omschrijving, ins_c_ins_srtkenmerk_omschr), ins_srtkenmerk_upper VARCHAR2(50) NOT_NULL(ins_srtkenmerk_upper, ins_c_ins_srtkenmerk_upper), ins_srtkenmerk_dimensie VARCHAR2(10), ins_srtkenmerk_kenmerktype VARCHAR2(1) CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V')), ins_srtkenmerk_systeem -- &1 = systeemkm, &2 = primary, show in list NUMBER(2) DEFAULT 0 NOT NULL, ins_srtkenmerk_lengte NUMBER(4) CONSTRAINT ins_c_ins_srtkenmerk_lengte CHECK(ins_srtkenmerk_lengte >= 1 AND ins_srtkenmerk_lengte <= 4000), ins_srtkenmerk_dec NUMBER(3), ins_srtkenmerk_nmin NUMBER(10), ins_srtkenmerk_nmax NUMBER(10), fac_kenmerkdomein_key NUMBER(10) CONSTRAINT fac_r_kenmerkdomein_key1 REFERENCES fac_kenmerkdomein(fac_kenmerkdomein_key), ins_srtkenmerk_aanmaak DATE DEFAULT SYSDATE CONSTRAINT ins_c_ins_srtkenmerk_aanm NOT NULL, ins_srtkenmerk_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT ins_u_ins_srtkenmerk_upper UNIQUE (ins_srtkenmerk_upper, ins_srtkenmerk_verwijder), CONSTRAINT ins_c_ins_srtkenmerk_max_min CHECK(ins_srtkenmerk_nmax >= ins_srtkenmerk_nmin), CONSTRAINT ins_c_ins_srtkenmerk_dec CHECK(ins_srtkenmerk_dec >= 0 AND ins_srtkenmerk_dec <= ins_srtkenmerk_lengte) ); CREATE_TABLE(ins_kenmerk, 0) ( ins_kenmerk_key NUMBER(10) CONSTRAINT ins_k_ins_kenmerk_key PRIMARY KEY, ins_srtkenmerk_key NUMBER(10) NOT_NULL(ins_srtkenmerk_key, ins_r_ins_srtkenmerk_key1) CONSTRAINT ins_r_ins_srtkenmerk_key2 REFERENCES ins_srtkenmerk(ins_srtkenmerk_key), ins_srtinstallatie_key NUMBER(10), ins_kenmerk_niveau VARCHAR2(1) CONSTRAINT ins_c_ins_kenmerk_niveau2 CHECK (ins_kenmerk_niveau IS NOT NULL AND (ins_kenmerk_niveau IN('D', 'G', 'S', 'C'))), /* C=srtcontrole */ ins_kenmerk_bewerkniveau /* Kenmerk behoort bij individueel Deel of algemeen Srtdeel */ VARCHAR2(1) DEFAULT 'D' NOT NULL CONSTRAINT ins_c_ins_kenmerk_bewerk CHECK(ins_kenmerk_bewerkniveau IN ('D', 'S')), ins_kenmerk_omschrijving VARCHAR2(50), /* optionele overrule van srtkenmerk_omschrijving */ ins_kenmerk_verplicht NUMBER(1), ins_kenmerk_groep NUMBER(1) DEFAULT 0 NOT NULL, ins_kenmerk_toonbaar NUMBER(1) CONSTRAINT ins_c_ins_kenmerk_toonbaar CHECK(ins_kenmerk_toonbaar IS NULL OR ins_kenmerk_toonbaar = 1), ins_kenmerk_meetwaarde NUMBER(1) CONSTRAINT ins_c_ins_kenmerk_meetwaarde CHECK(ins_kenmerk_meetwaarde IS NULL OR ins_kenmerk_meetwaarde = 1), ins_kenmerk_wissen NUMBER(1) DEFAULT 0 NOT NULL CONSTRAINT ins_c_ins_kenmerk_wissen CHECK(ins_kenmerk_wissen IN (0,1,2)), ins_kenmerk_volgnummer NUMBER(3) NOT NULL, ins_kenmerk_locatiekolom VARCHAR2(30), ins_kenmerk_uniek NUMBER(1), ins_kenmerk_regexp VARCHAR2(255), ins_kenmerk_default VARCHAR2(4000), ins_kenmerk_show_expr VARCHAR2(4000), ins_kenmerk_hint VARCHAR2(255 CHAR), ins_kenmerk_aanmaak DATE DEFAULT SYSDATE CONSTRAINT ins_c_ins_kenmerk_aanmaak NOT NULL, ins_kenmerk_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT ins_r_ins_srtinstallatie_key1 CHECK(ins_srtinstallatie_key IS NOT NULL OR ins_kenmerk_niveau = 'D'), CONSTRAINT ins_u_ins_kenmerk UNIQUE(ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_omschrijving, ins_kenmerk_groep, ins_kenmerk_verwijder) ); /* De waarde mag in de tabel NULL zijn, maar om de database niet * overbodig te vullen worden de NULL-records after-statement weer verwijderd. */ CREATE_TABLE(ins_kenmerkdeel,0) ( ins_kenmerkdeel_key NUMBER(10) CONSTRAINT ins_k_ins_kenmerkdeel_key PRIMARY KEY, ins_deel_key // Kan ook naar ins_srtdeel wijzen NUMBER(10) NOT_NULL(ins_deel_key, ins_r_ins_kenmerk_deel_key1), ins_kenmerk_key NUMBER(10) NOT_NULL(ins_kenmerk_key, ins_r_ins_kenmerk_key1) CONSTRAINT ins_r_ins_kenmerk_key2 REFERENCES ins_kenmerk(ins_kenmerk_key), ins_kenmerkdeel_waarde VARCHAR2(4000), ins_kenmerkdeel_aanmaak DATE DEFAULT SYSDATE CONSTRAINT ins_c_ins_kenmerkdeel_aanmaak NOT NULL, ins_kenmerkdeel_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT ins_u_ins_kenmerkdeel UNIQUE(ins_kenmerk_key, ins_deel_key, ins_kenmerkdeel_verwijder) // Kan ook naar ins_srtdeel wijzen CONSTRAINT ins_r_kenmerk_deel FOREIGN KEY (ins_deel_key) REFERENCES ins_deel(ins_deel_key) ON DELETE CASCADE ); -- FSN#28732 // Kenmerken bij inspecties; gebruikt dezelfde kenmerkdefinities als ins, wel eigen waardentabel CREATE_TABLE(ins_kmdeelsrtcontr,0) ( ins_kmdeelsrtcontr_key NUMBER(10) CONSTRAINT ins_k_kmdeelsrtcontr_key PRIMARY KEY, ins_deelsrtcontrole_key NUMBER(10) NOT NULL REFERENCES ins_deelsrtcontrole (ins_deelsrtcontrole_key) ON DELETE CASCADE, ins_kenmerk_key NUMBER(10) NOT_NULL(ins_kenmerk_key, ins_c_ins_kenmerk_key1) CONSTRAINT ins_r_ins_kenmerk_key3 REFERENCES ins_kenmerk(ins_kenmerk_key), ins_kmdeelsrtcontr_waarde VARCHAR2(4000), ins_kmdeelsrtcontr_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_kmdeelsrtcontr_aanmaak,ins_c_kmdeelsrtcontr_aanmaak), ins_kmdeelsrtcontr_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT ins_u_ins_kmdeelsrtcontr UNIQUE(ins_kenmerk_key, ins_deelsrtcontrole_key, ins_kmdeelsrtcontr_verwijder) ); /* De velden aanmaak en verwijder zijn hier toegevoegd om het mechanisme van * CASCADE verwijderen in triggers op te kunnen lossen. In de after-statement-trigger * van INS_DEELKOPPELING worden de logisch-verwijderde deelkoppelingen echt verwijderd. */ CREATE_TABLE(ins_deelkoppeling,0) ( ins_deelkoppeling_key NUMBER(10) CONSTRAINT ins_k_ins_deelkoppeling_key PRIMARY KEY, ins_deelkoppeling_van_key NUMBER(10) NOT_NULL(ins_deelkoppeling_van_key, ins_r_deelkoppeling_van_key1) CONSTRAINT ins_r_deelkoppeling_van_key2 REFERENCES ins_deel(ins_deel_key), ins_deelkoppeling_naar_key NUMBER(10) NOT_NULL(ins_deelkoppeling_naar_key, ins_r_deelkoppeling_naar_key1) CONSTRAINT ins_r_deelkoppeling_naar_key2 REFERENCES ins_deel(ins_deel_key), ins_deelkoppeling_omschrijving VARCHAR2(50 CHAR), ins_deelkoppeling_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_deelkoppeling_aanmaak, ins_c_deelkoppeling_aanmaak), ins_deelkoppeling_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT ins_c_deelkoppeling_van_naar CHECK(ins_deelkoppeling_van_key <> ins_deelkoppeling_naar_key), CONSTRAINT ins_u_deelkoppeling_van_naar UNIQUE(ins_deelkoppeling_van_key, ins_deelkoppeling_naar_key) ); CREATE_TABLE(ins_compositie, 0) ( ins_compositie_key NUMBER(10) CONSTRAINT ins_k_ins_compositie_key PRIMARY KEY, ins_compositie_naam VARCHAR2(10) NOT_NULL(ins_compositie_naam, ins_c_ins_compositie_naam), ins_compositie_upper VARCHAR2(10) NOT_NULL(ins_compositie_upper, ins_c_ins_compositie_upper), ins_compositie_omschrijving VARCHAR2(255), ins_compositie_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_compositie_aanmaak, ins_c_ins_compositie_aanmaak), ins_compositie_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT ins_u_ins_compositie_upper UNIQUE(ins_compositie_upper, ins_compositie_verwijder) ); CREATE_TABLE(ins_srtdeel_compositie,0) ( ins_srtdeel_comp_key NUMBER(10) CONSTRAINT ins_k_ins_srtdeel_comp_key PRIMARY KEY, ins_srtdeel_key NUMBER(10) NOT_NULL(ins_srtdeel_key, ins_r_ins_srtdeel_key1) CONSTRAINT ins_r_ins_srtdeel_key2 REFERENCES ins_srtdeel(ins_srtdeel_key), ins_compositie_key NUMBER(10) NOT_NULL(ins_compositie_key, ins_r_ins_compositie_key) CONSTRAINT ins_r_ins_compositie_key2 REFERENCES ins_compositie(ins_compositie_key), ins_srtdeel_comp_offsetX NUMBER(6,2) DEFAULT 0, ins_srtdeel_comp_offsetY NUMBER(6,2) DEFAULT 0, ins_srtdeel_comp_offsetR NUMBER(6,2) DEFAULT 0, ins_srtdeel_comp_aanmaak DATE DEFAULT SYSDATE NOT_NULL(ins_srtdeel_comp_aanmaak, ins_c_ins_srtdeel_comp_aanmaak), ins_srtdeel_comp_verwijder DATE DEFAULT NULLDATUM ); CREATE_TABLE(ins_verbinding,0) ( ins_verbinding_sessionid NUMBER(10), ins_deel_key NUMBER(10), ins_verbinding_level NUMBER(3), CONSTRAINT ins_u_ins_verbinding_key UNIQUE(ins_verbinding_sessionid, ins_deel_key) ); CREATE_TABLE(ins_disc_params,0) ( ins_disc_params_key NUMBER(10), ins_discipline_key NUMBER(10), ins_disc_params_cadlayers VARCHAR2(500), ins_disc_params_type NUMBER(2) DEFAULT 0, /* bitwise: 1=binnen, 2=buiten 1+2=binnen en buiten, 4=?, 8=?, 16=hide label? */ ins_disc_params_autonum NUMBER(2) DEFAULT 3, /* bitwise: 0=niet automatisch, +1=automatisch, +2=wijzigbaar (1,2,3 zijn zinvol)*/ CONSTRAINT ins_c_ins_discipline_key CHECK (ins_discipline_key IS NOT NULL), CONSTRAINT ins_k_res_disc_params_key PRIMARY KEY (ins_disc_params_key), CONSTRAINT ins_r_ins_discipine_key FOREIGN KEY (ins_discipline_key) REFERENCES ins_tab_discipline (ins_discipline_key) ); CREATE_TABLE(ins_deel_note,0) ( ins_deel_note_key NUMBER(10) PRIMARY KEY, ins_deel_key NUMBER(10) NOT NULL REFERENCES ins_deel (ins_deel_key) ON DELETE CASCADE, ins_deel_note_aanmaak DATE DEFAULT SYSDATE, // Note: this column is defined in PRS_TAB.SRC // prs_perslid_key // NUMBER(10) // REFERENCES prs_perslid (prs_perslid_key) // ON DELETE SET NULL, ins_deel_note_omschrijving VARCHAR2(4000) ); REGISTERONCE('$Id$') #endif // INS