#ifdef PRS // 13-03-96 AH /* PRS_TAB.SRC * $Revision$ * $Id$ */ CREATE_TABLE(prs_relatietype, 0) ( prs_relatietype_key NUMBER (10) PRIMARY KEY, prs_relatietype_omschrijving VARCHAR2(100) NOT_NULL(prs_relatietype_omschrijving, prs_c_prs_relatietype_omschr), prs_relatietype_aanmaak DATE DEFAULT SYSDATE, prs_relatietype_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT prs_u_prs_relatietype_oms UNIQUE(prs_relatietype_omschrijving, prs_relatietype_verwijder) ); CREATE_TABLE(prs_bedrijf,0) ( prs_bedrijf_key NUMBER(10) CONSTRAINT prs_k_prs_bedrijf_key PRIMARY KEY, prs_bedrijf_naam VARCHAR2(60) NOT_NULL(prs_bedrijf_naam, prs_c_prs_bedrijf_naam), prs_bedrijf_naam_upper VARCHAR2(60) NOT_NULL(prs_bedrijf_naam_upper, prs_c_prs_bedrijf_naam_upper), prs_bedrijf_post_adres VARCHAR2(50), prs_bedrijf_post_postcode VARCHAR2(12), prs_bedrijf_post_plaats VARCHAR2(30), prs_bedrijf_post_land VARCHAR2(30), prs_bedrijf_bezoek_adres VARCHAR2(50), prs_bedrijf_bezoek_postcode VARCHAR2(12), prs_bedrijf_bezoek_plaats VARCHAR2(30), prs_bedrijf_bezoek_land VARCHAR2(30), prs_bedrijf_telefoon VARCHAR2(20), prs_bedrijf_fax VARCHAR2(20), prs_bedrijf_telefoon2 VARCHAR2(20), prs_bedrijf_contact_persoon VARCHAR2(30), prs_bedrijf_contact_telefoon VARCHAR2(20), prs_bedrijf_contact_fax VARCHAR2(20), prs_bedrijf_opmerking VARCHAR2(4000), prs_bedrijf_opmerking2 VARCHAR2(1000), prs_bedrijf_uurloon NUMBER(6,2), prs_leverancier_nr VARCHAR2(50), prs_overeenkomst_nr VARCHAR2(30), prs_overeenkomst_datum DATE, prs_bedrijf_email VARCHAR2(100), prs_bedrijf_order_confirm /* 1=leverancier bevestigt opdrachtontvangst expliciet, 0/null=veronderstelt bevestigd (non-SOAP only) */ NUMBER(1), prs_bedrijf_image_loc VARCHAR2(256), prs_bedrijf_details_loc VARCHAR2(256), prs_bedrijf_xmldetails_loc VARCHAR2(256), prs_bedrijf_xmlcatalogus_loc VARCHAR2(256), prs_bedrijf_bes_limiet NUMBER(8,2), prs_bedrijf_bes_kosten NUMBER(8,2), prs_bedrijf_mld_limiet NUMBER(8,2), -- fin_btwtabel_key -- NUMBER(10) -- CONSTRAINT prs_r_fin_btwtabel_key1 REFERENCES fin_btwtabel(fin_btwtabel_key), prs_bedrijf_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_bedrijf_aanmaak, prs_c_prs_bedrijf_aanmaak), prs_bedrijf_verwijder DATE DEFAULT NULLDATUM, prs_bedrijf_leverancier -- bedrijf is leverancier (o.a. voor LEV) NUMBER(1) CONSTRAINT prs_c_prs_bedrijf_leverancier CHECK(prs_bedrijf_leverancier IS NULL OR prs_bedrijf_leverancier = 1 ), prs_bedrijf_uitvoerende /* bedrijf is uitvoerende in opdrachten */ NUMBER(1) DEFAULT 1 /* LOG#1691 */ CONSTRAINT prs_c_prs_bedrijf_uitvoerende CHECK(prs_bedrijf_uitvoerende IS NULL OR prs_bedrijf_uitvoerende = 1 ), prs_bedrijf_contract /* een contract kan worden afgesloten met bedrijf */ NUMBER(1) CONSTRAINT prs_c_prs_bedrijf_contract CHECK(prs_bedrijf_contract IS NULL OR prs_bedrijf_contract = 1 ), prs_bedrijf_intern /* NULL=extern, 1=onderdeel van de eigen organisatie, 2=pseudo(systeem)bedrijf voor bedrijfadressen */ NUMBER(1), prs_bedrijf_huurder /* is huurder */ NUMBER(1) CONSTRAINT prs_c_prs_bedrijf_huurder CHECK(prs_bedrijf_huurder IS NULL OR prs_bedrijf_huurder = 1 ), prs_bedrijf_bezoeker /* kan als bezoekend bedrijf worden aangemerkt */ NUMBER(1) CONSTRAINT prs_c_prs_bedrijf_bezoeker CHECK(prs_bedrijf_bezoeker IS NULL OR prs_bedrijf_bezoeker = 1 ), prs_bedrijf_ingids /* is zichtbaar in telefoongids */ NUMBER(1) CONSTRAINT prs_c_prs_bedrijf_ingids CHECK(prs_bedrijf_ingids IS NULL OR prs_bedrijf_ingids = 1 ), prs_bedrijf_bes_factor /* FSN#19902, voor PRD, had bijna een flex kunnen zijn */ NUMBER(8,6) DEFAULT 1, prs_bedrijf_t_uitvoertijd MLD_T_UITVOERTIJD CONSTRAINT prs_c_prs_bedrijf_t_uitvtijd CHECK(prs_bedrijf_t_uitvoertijd.tijdsduur >= 0), /* of null */ prs_relatietype_key NUMBER(10) CONSTRAINT prs_r_prs_relatietype_key REFERENCES prs_relatietype(prs_relatietype_key), prs_bedrijf_x NUMBER(16,6), prs_bedrijf_y NUMBER(16,6), prs_bedrijf_url VARCHAR2(512), CONSTRAINT prs_u_prs_bedrijf_naam_upper UNIQUE(prs_bedrijf_naam_upper, prs_bedrijf_intern, prs_bedrijf_verwijder) ); ALTER TABLE prs_bedrijf MODIFY prs_bedrijf_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL); ALTER TABLE ins_srtdeel ADD ( prs_bedrijf_key NUMBER(10) CONSTRAINT ins_r_prs_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key) ); ALTER TABLE fac_import_app ADD ( prs_bedrijf_key NUMBER(10) CONSTRAINT fac_r_prs_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE ); /* Kruistabel met bedrijfsrelaties (use case Mareon): bedrijf 1 doet iets voor bedrijf 2 of andersom */ CREATE_TABLE(prs_bedrijf_bedrijf,0) ( prs_bedrijf_bedrijf_key NUMBER (10) PRIMARY KEY NOT NULL, prs_bedrijf_key1 NUMBER (10) CONSTRAINT prs_r_prs_bedrijf_bedrijf1 REFERENCES prs_bedrijf (prs_bedrijf_key) NOT NULL, prs_bedrijf_externid1 VARCHAR2(256), -- optional remote key of 1 prs_bedrijf_externsyncdate1 DATE, prs_bedrijf_key2 NUMBER (10) CONSTRAINT prs_r_prs_bedrijf_bedrijf2 REFERENCES prs_bedrijf (prs_bedrijf_key) NOT NULL, prs_bedrijf_externid2 VARCHAR2(256), -- optional remote key of 2 prs_bedrijf_externsyncdate2 DATE, prs_bedrijf_bedrijf_startdatum DATE DEFAULT SYSDATE, prs_bedrijf_bedrijf_einddatum DATE, prs_bedrijf_bedrijf_startdt2 DATE, prs_bedrijf_bedrijf_einddt2 DATE, prs_bedrijf_bedrijf_status NUMBER(1) -- voor mld_opdr_teverzenden: 0=niet te verzenden 1=te verzenden DEFAULT(0) NOT NULL, prs_bedrijf_bedrijf_charged NUMBER(1) -- 0=niemand, 1=opdrachtnemer, 2=opdrachtgever DEFAULT(0) NOT NULL, prs_bedrijf_bedrijf_chargemode NUMBER(4), -- een codering voor de "premiummode" waaruit afgeleid kan worden hoe de kosten worden berekend (per opdracht, per bestelling, enz), enigszins futureproof prs_bedrijf_bedrijf_fee1 NUMBER(6,2), -- bedrag in euro's tbv berekening icm chargemode prs_bedrijf_bedrijf_fee2 NUMBER(6,2), -- bedrag in euro's tbv berekening icm chargemode prs_bedrijf_bedrijf_fee3 NUMBER(6,2), -- bedrag in euro's tbv berekening icm chargemode prs_bedrijf_bedrijf_fee4 NUMBER(6,2), -- bedrag in euro's tbv berekening icm chargemode (voor aannemer) -- In FIN_TAB.SRC: -- fin_btwtabelwaarde_key -- default btw -- NUMBER(10) -- CONSTRAINT prs_r_fin_btwtabelwaarde_key2 REFERENCES fin_btwtabelwaarde(fin_btwtabelwaarde_key), prs_bedrijf_bedrijf_g_pct -- G-percentage NUMBER(3) CONSTRAINT prs_c_bedrijf_bedrijf_g_pct CHECK(prs_bedrijf_bedrijf_g_pct BETWEEN 0 AND 100), prs_bedrijf_bedrijf_account1 VARCHAR2(60), prs_bedrijf_bedrijf_account2 VARCHAR2(60) ); /* Kruistabel met elektronische adressen van een bedrijf, toegepast door PutOrders * voor Bestellingen, Contracten en Opdrachten enz, zie prs_bedrijfadres_type. * Bij Opdrachten kan er per opdrachttype een ander adres zijn, het record met mld_typeopdr_key NULL * is de fallback voor de niet benoemde opdrachttypes. * prs_bedrijf_key2 is optioneel het bedrijf van de opdrachtGEVER, in (pseudo-)multicompany omgevingen * Type E is voor Mareon (ERP), en is vooralsnog alleen voor interne bedrijven (opdrachtgevers) */ CREATE_TABLE(prs_bedrijfadres, 0) ( prs_bedrijfadres_key NUMBER(10) CONSTRAINT prs_k_prs_bedrijfadres_key PRIMARY KEY, prs_bedrijf_key -- opdrachtnemer NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_key6 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE, prs_bedrijf_key2 -- optioneel specifiek voor deze opdrachtgever NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_key8 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE, alg_district_key -- optioneel specifiek voor dit district NUMBER(10) CONSTRAINT prs_r_alg_district_key REFERENCES alg_district(alg_district_key) ON DELETE CASCADE, alg_locatie_key -- optioneel specifiek voor deze locatie NUMBER(10) CONSTRAINT prs_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE, ins_discipline_key -- optioneel specifiek voor deze discipline NUMBER(10) CONSTRAINT ins_r_ins_discipline_key REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE, prs_bedrijfadres_omschrijving /* voor identificatie, uitleg */ VARCHAR2(100), prs_bedrijfadres_type /* O=Order, B=Bestelling, V=Voorraadinfo, C=Contract, N=Notificatie, I=IOT, R=Catering, E=ERP (Mareon) */ VARCHAR2(3), /* OG=Order generiek, BOF BestelOrderGeneriek enz. */ -- In MLD_TAB.SRC: -- mld_typeopdr_key -- NUMBER(10) CONSTRAINT prs_r_mld_typeopdr_key REFERENCES mld_typeopdr(mld_typeopdr_key) ON DELETE CASCADE, prs_bedrijfadres_url /* voor digitale verzending */ VARCHAR2(512), prs_bedrijfadres_sender VARCHAR2(512), prs_bedrijfadres_replyaddress VARCHAR2(512), prs_bedrijfadres_ordermode /* bitwise, TBD */ NUMBER(3) DEFAULT 0, prs_bedrijfadres_soapversion /* future use, eg 1.1 or 1.2 */ VARCHAR2(10), prs_bedrijfadres_soapaction VARCHAR2(128), prs_bedrijfadres_certificate VARCHAR2(255), prs_bedrijfadres_xsl VARCHAR2(256), prs_bedrijfadres_charset VARCHAR2(32), prs_bedrijfadres_plugin VARCHAR2(320), prs_bedrijfadres_plugindata // naar eigen inzicht voor de plugin, bijvoorbeeld refreshtoken VARCHAR2(4000), prs_bedrijfadres_error_handler NUMBER(1) DEFAULT 0 NOT NULL, prs_bedrijfadres_ext VARCHAR2(10), prs_bedrijfadres_username VARCHAR2(128), prs_bedrijfadres_password VARCHAR2(320), prs_bedrijfadres_privkey VARCHAR2(4000), prs_bedrijfadres_authmethod /* 0=http.open, 1=Forces basic, 2=custom header, 3=add to xml, 4=oAuth basic >5=future use */ NUMBER(3) DEFAULT 0 NOT NULL, prs_bedrijfadres_oa_token_url -- oAuth parameter VARCHAR2(512), prs_bedrijfadres_oa_scope -- oAuth parameter VARCHAR2(512), prs_bedrijfadres_oa_resource -- oAuth parameter VARCHAR2(512), -- prs_bedrijfadres_lockuser_key -- NUMBER(10) -- CONSTRAINT prs_r_prs_bedrijfadres_lckusr REFERENCES prs_perslid(prs_perslid_key), prs_bedrijfadres_locksecret VARCHAR2(128), prs_bedrijfadres_lockexpire NUMBER(10), prs_bedrijfadres_attachfile VARCHAR2(256), prs_bedrijfadres_flexfiles /* 0=default (volgens S("puo_order_flexfiles")), 1=wel, 2=niet */ NUMBER(3) DEFAULT 0 NOT NULL, prs_bedrijfadres_encoding /* 0=text/xml, 1=multipart/form-data, 2=application/json, 3=text/html, 4=application/x-www-form-urlencoded */ NUMBER(3) DEFAULT 0 NOT NULL, prs_bedrijfadres_loglevel NUMBER(1) DEFAULT 0 NOT NULL, prs_bedrijfadres_startdatum DATE DEFAULT SYSDATE NOT NULL ); CREATE_TABLE(prs_bedrijfadres_srtnoti, 0) ( prs_bedrijfadres_srtnoti_key NUMBER(10) PRIMARY KEY, prs_bedrijfadres_key NUMBER(10) CONSTRAINT prs_r_bedrijfadres_key2 REFERENCES prs_bedrijfadres(prs_bedrijfadres_key) ON DELETE CASCADE, fac_srtnotificatie_key NUMBER(10) REFERENCES fac_srtnotificatie(fac_srtnotificatie_key) ON DELETE CASCADE, prs_bedrijfadres_method -- optionele overrule method VARCHAR2(16), prs_bedrijfadres_url -- optionele overrule endpoint VARCHAR2(512), prs_bedrijfadres_srtnoti_aanmaak DATE DEFAULT SYSDATE NOT NULL ); CREATE_TABLE(prs_kostenplaatsgrp,0) ( prs_kostenplaatsgrp_key NUMBER (10) PRIMARY KEY, prs_kostenplaatsgrp_nr VARCHAR2(30), prs_kostenplaatsgrp_oms VARCHAR2(60) NOT NULL, prs_kostenplaatsgrp_limiet NUMBER(8), prs_kostenplaatsgrp_limperiode /* 0(of NULL)=geen(oneindig), 1=maand, 2=jaar */ NUMBER(1), prs_kostenplaatsgrp_fin_limit1 NUMBER(8), prs_kostenplaatsgrp_fin_limit2 NUMBER(8), -- prs_perslid_key -- NUMBER(10) -- CONSTRAINT prs_r_prs_perslid_key11 REFERENCES prs_perslid(prs_perslid_key), prs_kostenplaatsgrp_aanmaak DATE DEFAULT SYSDATE ); CREATE_TABLE(prs_kostenplaats,0) ( prs_kostenplaats_key NUMBER (10) PRIMARY KEY, prs_kostenplaats_nr VARCHAR2(30) NOT NULL, prs_kostenplaats_upper VARCHAR2(30), prs_kostenplaats_omschrijving VARCHAR2(60), -- prs_perslid_key -- NUMBER(10) -- CONSTRAINT prs_r_prs_perslid_key9 REFERENCES prs_perslid(prs_perslid_key), prs_kostenplaats_module VARCHAR2(3) NOT NULL CONSTRAINT prs_c_prs_kostenplaats CHECK (prs_kostenplaats_module IN ('PRS', 'ALG', 'PRJ')), prs_kostenplaats_begin DATE DEFAULT SYSDATE, prs_kostenplaats_eind DATE, prs_kostenplaatsgrp_key NUMBER(10) CONSTRAINT prs_r_prs_kostenplaatsgrp_key REFERENCES prs_kostenplaatsgrp(prs_kostenplaatsgrp_key) ON DELETE SET NULL, prs_kostenplaats_aanmaak DATE DEFAULT SYSDATE, prs_kostenplaats_verwijder DATE, prs_kostenplaats_limiet --- Indien leeg, zie prs_kostenplaatsdisc NUMBER(8), prs_kostenplaats_limietperiode -- 0(of NULL)=geen(oneindig) (default), 1=maand, 2=jaar NUMBER(1), prs_kostenplaats_extern -- 0=intern, 1=extern (gebruikt bij prijsberekeningen) NUMBER(1) DEFAULT 0, prs_kostenplaats_externnr VARCHAR2(256), prs_kostenplaats_extsyncdate DATE, prs_kostenplaats_fiat -- 0=geen, 1=wel fiattering NUMBER(1) DEFAULT 1 CONSTRAINT prs_c_prs_kostenplaat_fiat CHECK(prs_kostenplaats_fiat IS NOT NULL) CONSTRAINT prs_c_prs_kostenplaat_fiat1 CHECK(prs_kostenplaats_fiat IN (0,1)), ins_discipline_key NUMBER(10) CONSTRAINT prs_r_ins_discipline_key2 REFERENCES ins_tab_discipline(ins_discipline_key), CONSTRAINT prs_u_prs_kostenplaats_upper UNIQUE(prs_kostenplaats_upper, prs_kostenplaats_verwijder, ins_discipline_key) ); ALTER TABLE alg_gebouw ADD ( prs_kostenplaats_key NUMBER(10) CONSTRAINT alg_r_prs_afdeling_kostenp1 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ); ALTER TABLE alg_terreinsector ADD ( prs_kostenplaats_key NUMBER(10) CONSTRAINT alg_r_prs_afdeling_kostenp2 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ); ALTER TABLE ins_srtcontrole ADD ( prs_kostenplaats_key NUMBER(10) CONSTRAINT ins_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ); ALTER TABLE ins_srtcontroledl_xcp ADD ( prs_kostenplaats_key NUMBER(10) CONSTRAINT ins_r_prs_kostenplaats_key2 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ); /* disciplineafhankelijke afdelingsbudgetten (=kostenplaatsbudgetten), * vergelijkbaar met fac_profielwaarde voor persoonlijke budgetten * als prs_kostenplaats_limiet gevuld is, dan wordt die gebruikt * als die leeg is wordt hier gekeken of er een limiet voor de catalogus is * en zo nee, dan is er dus geen limiet. * De periode is in alle gevallen prs_kostenplaats_limietperiode */ CREATE_TABLE(prs_kostenplaatsdisc, 0) ( prs_kostenplaatsdisc_key NUMBER(10) PRIMARY KEY, prs_kostenplaats_key NUMBER(10) CONSTRAINT prs_r_prs_kostenplaats_key4 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ON DELETE CASCADE, ins_discipline_key NUMBER(10) REFERENCES ins_tab_discipline(ins_discipline_key) ON DELETE CASCADE, prs_kostenplaatsdisc_limiet NUMBER(8) NOT NULL, prs_kostenplaatsdisc_aanmaak DATE DEFAULT SYSDATE ); CREATE_TABLE(prs_afdeling,0) ( prs_afdeling_key NUMBER(10) CONSTRAINT prs_k_prs_afdeling_key PRIMARY KEY, prs_bedrijf_key NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key), prs_afdeling_parentkey NUMBER(10) CONSTRAINT prs_r_prs_afdeling_parentkey REFERENCES prs_afdeling(prs_afdeling_key), prs_afdeling_naam VARCHAR2(15) NOT_NULL(prs_afdeling_naam, prs_c_prs_afdeling_naam), prs_afdeling_upper VARCHAR2(15) NOT_NULL(prs_afdeling_upper, prs_c_prs_afdeling_upper), prs_afdeling_omschrijving VARCHAR2(60), prs_kostenplaats_key NUMBER(10) CONSTRAINT alg_r_prs_afdeling_kostenp REFERENCES prs_kostenplaats(prs_kostenplaats_key), -- mld_adres_key -- NUMBER(10) -- CONSTRAINT alg_r_mld_adres_key2 REFERENCES mld_adres(mld_adres_key), prs_afdeling_externid /* voor koppelingen met externe systemen, bijvoorbeeld een externe GUID */ VARCHAR2(256), prs_afdeling_externsyncdate DATE, prs_afdeling_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_afdeling_aanmaak, prs_c_prs_afdeling_aanmaak), prs_afdeling_verwijder DATE DEFAULT NULLDATUM, -- prs_perslid_key_verantw -- afdelingsverantwoordelijke (irt o.a. meldingen-instemming) -- NUMBER(10) -- CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key), CONSTRAINT prs_u_prs_afdeling_upper UNIQUE(prs_afdeling_upper, prs_afdeling_parentkey, prs_bedrijf_key, prs_afdeling_verwijder), CONSTRAINT prs_c_prs_afdeling_parent CHECK ((prs_afdeling_parentkey IS NULL AND prs_bedrijf_key IS NOT NULL) OR (prs_afdeling_parentkey IS NOT NULL AND prs_bedrijf_key IS NULL)) ); ALTER TABLE alg_terreinsector ADD ( prs_afdeling_key NUMBER(10) CONSTRAINT alg_r_prs_afdeling1 REFERENCES prs_afdeling(prs_afdeling_key) ); CREATE_TABLE(prs_srtperslid,0) ( prs_srtperslid_key NUMBER(10) CONSTRAINT prs_k_prs_srtperslid_key PRIMARY KEY, prs_srtperslid_omschrijving VARCHAR2(100) NOT_NULL(prs_srtperslid_omschrijving, prs_c_prs_srtperslid_omschr), prs_srtperslid_upper VARCHAR2(100) NOT_NULL(prs_srtperslid_upper, prs_c_prs_srtperslid_upper), prs_bedrijf_key NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_key REFERENCES prs_bedrijf(prs_bedrijf_key), prs_srtperslid_uurloon NUMBER(6,2), prs_srtperslid_opp NUMBER(9,2) CONSTRAINT prs_c_prs_srtperslid_opp CHECK(prs_srtperslid_opp >= 0), prs_srtperslid_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_srtperslid_aanmaak, prs_c_prs_srtperslid_aanmaak), prs_srtperslid_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT prs_u_prs_srtperslid_upper UNIQUE(prs_srtperslid_upper, prs_srtperslid_verwijder) ); CREATE_TABLE(prs_werkplek,0) ( prs_werkplek_key NUMBER(10) CONSTRAINT prs_k_prs_werkplek_key PRIMARY KEY, prs_werkplek_module VARCHAR2(3), prs_werkplek_volgnr NUMBER(8) NOT_NULL(prs_werkplek_volgnr, prs_c_prs_werkplek_volgnr), prs_werkplek_omschrijving VARCHAR2(30), prs_werkplek_type NUMBER(1) DEFAULT 0 CONSTRAINT prs_c_prs_werkplek_type CHECK(prs_werkplek_type IN (0,1,2)), /* 0=vast, 1=flex, 2=tbd*/ prs_werkplek_vastopp NUMBER(1) CONSTRAINT prs_c_prs_werkplek_vastopp CHECK(prs_werkplek_vastopp IS NULL OR prs_werkplek_vastopp = 1), prs_werkplek_opp NUMBER(8,2) CONSTRAINT prs_c_prs_werkplek_opp CHECK(prs_werkplek_opp >= 0 OR prs_werkplek_opp IS NULL), prs_werkplek_virtueel NUMBER(1) DEFAULT 0 CONSTRAINT prs_c_werkplek_virtueel1 CHECK (prs_werkplek_virtueel=0 OR prs_werkplek_virtueel=1), prs_alg_ruimte_key NUMBER(10) NOT_NULL(prs_alg_ruimte_key, prs_r_prs_alg_ruimte_key1) CONSTRAINT prs_r_prs_alg_ruimte_key2 REFERENCES alg_ruimte(alg_ruimte_key), prs_werkplek_externnr VARCHAR2(256), prs_werkplek_externsyncdate DATE, prs_werkplek_dwgx NUMBER(16,3), prs_werkplek_dwgy NUMBER(16,3), prs_werkplek_dwgz NUMBER(16,3), prs_werkplek_dwgrotatie NUMBER(5,1), prs_werkplek_dwgschaal NUMBER(5,2), prs_werkplek_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_werkplek_aanmaak, prs_c_prs_werkplek_aanmaak), prs_werkplek_getekend DATE DEFAULT NULLDATUM, CONSTRAINT prs_u_prs_werkplek_volgnr UNIQUE(prs_alg_ruimte_key, prs_werkplek_volgnr) ); CREATE_TABLE(prs_perslid,0) ( prs_perslid_key NUMBER(10) CONSTRAINT prs_k_prs_perslid_key PRIMARY KEY, prs_perslid_module VARCHAR2(3), prs_srtperslid_key NUMBER(10) NOT_NULL(prs_srtperslid_key, prs_r_prs_srtperslid_key1) CONSTRAINT prs_r_prs_srtperslid_key2 REFERENCES prs_srtperslid(prs_srtperslid_key), prs_afdeling_key NUMBER(10) NOT_NULL(prs_afdeling_key, prs_c_prs_prs_afdeling_key) CONSTRAINT prs_r_prs_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key), prs_perslid_naam VARCHAR2(60) NOT_NULL(prs_perslid_naam, prs_c_prs_perslid_naam), prs_perslid_upper VARCHAR2(60) NOT_NULL(prs_perslid_upper, prs_c_prs_perslid_upper), prs_perslid_tussenvoegsel VARCHAR2(15), prs_perslid_voorletters VARCHAR2(15), prs_perslid_voornaam VARCHAR2(30), prs_perslid_titel VARCHAR2(15), prs_perslid_geslacht NUMBER(1), -- 1=man; 0=vrouw (others=others) prs_perslid_initialen VARCHAR2(10), prs_perslid_nr VARCHAR2(16), prs_perslid_oslogin VARCHAR2(256) CONSTRAINT prs_c_prs_perslid_oslogin UNIQUE, prs_perslid_oslogin2 VARCHAR2(256) CONSTRAINT prs_c_prs_perslid_oslogin2 UNIQUE, prs_perslid_salt VARCHAR2(32), prs_perslid_wachtwoord_hash VARCHAR2(128), prs_perslid_wachtwoord_exp DATE, prs_perslid_authenticatie VARCHAR2(128), prs_perslid_authenticatie_exp DATE, prs_perslid_otpsecret VARCHAR2(128), prs_perslid_otpcounter NUMBER(10), prs_perslid_apikey VARCHAR2(128), prs_perslid_flags -- documentatie in appl/shared/user.inc NUMBER(10) DEFAULT 0, prs_perslid_lang VARCHAR2(3), prs_perslid_dienstverband NUMBER(5,2) DEFAULT 100 CONSTRAINT prs_c_prs_perslid_dienstverb CHECK(prs_perslid_dienstverband BETWEEN 0 AND 100), prs_perslid_opp NUMBER(9,2) CONSTRAINT prs_c_prs_perslid_opp CHECK(prs_perslid_opp >= 0), prs_perslid_ingangsdatum DATE DEFAULT SYSDATE NOT_NULL(prs_perslid_ingangsdatum, prs_c_prs_perslid_ingangsdatum), prs_perslid_einddatum DATE, prs_perslid_uurloon NUMBER(6,2) CONSTRAINT prs_c_prs_perslid_uurloon CHECK(NVL(prs_perslid_uurloon, 0) >= 0), prs_perslid_telefoonnr VARCHAR2(20), prs_perslid_mobiel VARCHAR2(20), prs_perslid_email VARCHAR2(200), prs_perslid_ingids /* is zichtbaar in telefoongids */ NUMBER(1) DEFAULT 1 CONSTRAINT prs_c_prs_perslid_ingids CHECK(prs_perslid_ingids IS NULL OR prs_perslid_ingids = 1 ), prs_perslid_visibility NUMBER(3) /* levels coded, opt-in */ DEFAULT 0 NOT NULL, fac_profiel_key NUMBER (10) CONSTRAINT prs_r_fac_profiel_key REFERENCES fac_profiel(fac_profiel_key), // persoonlijke srtnotificatie-mode indien de fac_srtnotificatie.fac_srtnotificatie_usermode=1 // voor een notificatie die aan mij gericht is. prs_perslid_srtnoti_mode NUMBER(3), prs_perslid_systeemadres /* alleen voor systeembeheerders en voor SYSTEM-personen. Bevat de SOAP-url voor terugkoppeling (MAYF#20525)*/ VARCHAR2(200), -- mld_adres_key -- NUMBER(10) -- CONSTRAINT prs_r_mld_adres_key2 REFERENCES mld_adres(mld_adres_key), prs_perslid_login DATE, alg_onroerendgoed_keys /* de actueel geregistreerde plaats; key, type en bezetdatum horen bij elkaar */ NUMBER(10), alg_onroerendgoed_type VARCHAR2(1) CONSTRAINT prs_c_alg_onroerendgoed_type CHECK(alg_onroerendgoed_type IN ('E', 'D', 'L', 'G', 'T', 'V', 'R', 'W')), prs_perslid_bezetdatum DATE, prs_perslid_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_perslid_aanmaak, prs_c_prs_perslid_aanmaak), prs_perslid_verwijder DATE DEFAULT NULLDATUM, prs_perslid_inactief DATE, prs_perslid_options // JSON VARCHAR2(4000), prs_perslid_credentials_datum /* wanneer voor het laatst gewijzigd. Oudere sessie ongeldig */ DATE DEFAULT SYSDATE NOT NULL, prs_perslid_externid /* voor koppelingen met externe systemen, bijvoorbeeld een externe GUID */ VARCHAR2(256), prs_perslid_externsyncdate DATE, prs_perslid_externoslogin -- SCIM only, not uppercased or length-limited VARCHAR2(256), prs_perslid_terms_datum DATE, prs_perslid_terms_version /* filename of accepted terms of condition */ VARCHAR2(200), prs_perslid_timezone VARCHAR2(40), prs_perslid_lcid NUMBER(4), prs_perslid_opmerking VARCHAR2 (320), prs_perslid_loglevel NUMBER(1) DEFAULT 0 NOT NULL, prs_perslid_key_verantw -- fallback als elke structuur faalt (irt o.a. meldingen-instemming) NUMBER(10) CONSTRAINT prs_r_prs_perslid_key23 REFERENCES prs_perslid(prs_perslid_key), prs_kostenplaats_key -- optioneel een (default) persoonlijke kostenplaats NUMBER(10) CONSTRAINT prs_r_prs_kostenplaats_key5 REFERENCES prs_kostenplaats(prs_kostenplaats_key), CONSTRAINT prs_c_prs_perslid_datums CHECK(prs_perslid_einddatum >= prs_perslid_ingangsdatum) ); // Without this column, that table is useless, but we must define it here, after prs_perslid. ALTER TABLE fac_gebruikersgroep ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE CONSTRAINT fac_c_prs_perslid_key CHECK(prs_perslid_key IS NOT NULL) ); ALTER TABLE fac_perfmon_sample ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_notificatie_job ADD ( prs_perslid_key NUMBER(10) -- owner CONSTRAINT fac_r_prs_perslid_key12 REFERENCES prs_perslid(prs_perslid_key), prs_perslid_key_receiver NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_notificatie ADD( prs_perslid_key_sender NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_perslid_key_receiver NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_bedrijfadres_key NUMBER(10) CONSTRAINT prs_r_bedrijfadres_key1 REFERENCES prs_bedrijfadres(prs_bedrijfadres_key) ON DELETE CASCADE ); ALTER TABLE fac_activiteit ADD ( prs_perslid_key NUMBER (10) REFERENCES prs_perslid(prs_perslid_key), fac_activiteit_user_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE fac_tracking ADD ( prs_perslid_key NUMBER (10) REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE fac_nieuws ADD ( prs_perslid_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE fac_faq ADD ( prs_perslid_key NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE fac_session ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_widget_page ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key11 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_bookmark ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key3 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_bookmark ADD ( prs_perslid_key_auth NUMBER(10) CONSTRAINT fac_r_prs_perslid_key4 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE fac_menu ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key7 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_usrrap ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key6 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_gui_counter ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_guicnt_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); ALTER TABLE fac_gui_counter ADD CONSTRAINT fac_u_fac_gui_counter UNIQUE (fac_gui_counter_group, fac_gui_counter_date, fac_gui_counter_refkey, prs_perslid_key, fac_gui_counter_info); ALTER TABLE alg_gebouw ADD ( prs_perslid_key_verantw NUMBER(10) CONSTRAINT alg_r_prs_perslid_key1 REFERENCES prs_perslid(prs_perslid_key), prs_perslid_key_verantw2 NUMBER(10) CONSTRAINT alg_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE alg_terreinsector ADD ( prs_perslid_key_verantw NUMBER(10) CONSTRAINT alg_r_prs_perslid_key3 REFERENCES prs_perslid(prs_perslid_key), prs_perslid_key_verantw2 NUMBER(10) CONSTRAINT alg_r_prs_perslid_key4 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE alg_onroerendgoed_note ADD ( prs_perslid_key NUMBER (10) CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE prs_bedrijfadres ADD prs_bedrijfadres_lockuser_key NUMBER(10) CONSTRAINT prs_r_prs_bedrijfadres_lckser REFERENCES prs_perslid(prs_perslid_key); ALTER TABLE prs_kostenplaatsgrp ADD ( prs_perslid_key NUMBER(10) CONSTRAINT prs_r_prs_perslid_key11 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE prs_kostenplaats ADD ( prs_perslid_key NUMBER(10) CONSTRAINT prs_r_prs_perslid_key9 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE prs_afdeling ADD ( prs_perslid_key_verantw NUMBER(10) CONSTRAINT prs_r_prs_perslid_key22 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE fac_import ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key5 REFERENCES prs_perslid(prs_perslid_key) ); ALTER TABLE ins_deel ADD ( prs_perslid_key_beh NUMBER(10) CONSTRAINT ins_r_prs_perslid_key_beh REFERENCES prs_perslid (prs_perslid_key) ); ALTER TABLE ins_scenario ADD ( prs_perslid_key NUMBER(10) CONSTRAINT ins_r_prs_perslid_key0 REFERENCES prs_perslid(prs_perslid_key) ); /* Dat iemand ooit geinspecteerd heeft is geen reden om die niet te mogen verwijderen en de inspectie blijft evenzogoed als je niet meer weet wie het gedaan heeft, vandaar on delete set null */ ALTER TABLE ins_deelsrtcontrole ADD ( prs_perslid_key NUMBER(10) CONSTRAINT ins_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE fac_kenmwaarden ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key8 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, CONSTRAINT fac_c_prs_perslid_key1 CHECK(prs_perslid_key IS NOT NULL) ); ALTER TABLE imp_schedule ADD ( prs_perslid_key NUMBER(10) CONSTRAINT imp_r_perslid REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE fac_kenmwaarden ADD CONSTRAINT fac_u_fac_kenmwaarden UNIQUE(fac_kenmwaarden_module, fac_kenmwaarden_refkey, fac_kenmwaarden_kenmerk_key, prs_perslid_key); ALTER TABLE fac_email_setting ADD prs_perslid_key_auth NUMBER(10) CONSTRAINT fac_r_prs_perslid_key10 REFERENCES prs_perslid(prs_perslid_key); ALTER TABLE fac_setting ADD ( prs_perslid_key NUMBER(10) CONSTRAINT prs_perslid_key12 REFERENCES prs_perslid (prs_perslid_key) ); ALTER TABLE fac_audit ADD ( prs_perslid_key NUMBER(10) CONSTRAINT fac_r_prs_perslid_key9 REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE ins_deel_note ADD ( prs_perslid_key NUMBER(10) REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL ); ALTER TABLE prs_kostenplaatsgrp ADD prs_kostenplaatsgrp_fiat2_key NUMBER(10) CONSTRAINT prs_r_prs_perslid_key18 REFERENCES prs_perslid(prs_perslid_key); ALTER TABLE prs_kostenplaatsgrp ADD prs_kostenplaatsgrp_fiat3_key NUMBER(10) CONSTRAINT prs_r_prs_perslid_key19 REFERENCES prs_perslid(prs_perslid_key); COMMENT ON COLUMN prs_kostenplaats.prs_perslid_key IS 'Budgethouder'; // key_alt is een vervanger voor key als frontend // Dit is een operationele tabel, verwijderveld zinloos // CREATE_TABLE(prs_collega,0) ( prs_collega_key NUMBER(10) CONSTRAINT prs_k_prs_collega_key PRIMARY KEY, prs_perslid_key NUMBER(10) NOT_NULL(prs_perslid_key, prs_r_prs_perslid_key12) CONSTRAINT prs_r_prs_perslid_key13 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_perslid_key_alt NUMBER(10) NOT_NULL(prs_perslid_key_alt, prs_r_prs_perslid_key14) CONSTRAINT prs_r_prs_perslid_key15 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_collega_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_collega_aanmaak, prs_c_prs_collega_aanmaak), prs_collega_vervaldatum DATE ); CREATE_TABLE(prs_perslidkostenplaats,0) ( prs_perslidkostenplaats_key NUMBER(10) PRIMARY KEY, prs_perslid_key NUMBER(10) NOT NULL CONSTRAINT prs_r_prs_perslid_key10 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_kostenplaats_key NUMBER(10) CONSTRAINT prs_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats(prs_kostenplaats_key) ON DELETE CASCADE, prs_perslidkostenplaats_boeken NUMBER(1) DEFAULT 1 CONSTRAINT prs_c_prs_pkp_boeken CHECK(prs_perslidkostenplaats_boeken IN (0,1)), prs_perslidkostenplaats_inzage NUMBER(1) DEFAULT 1 CONSTRAINT prs_c_prs_pkp_inzage CHECK(prs_perslidkostenplaats_inzage IN (0,1)), prs_perslidkostenplaats_aanmk DATE DEFAULT SYSDATE ); // Had voor hetzelfde geld prs_afdelingruimte geheten CREATE_TABLE(prs_ruimteafdeling,0) ( prs_ruimteafdeling_key NUMBER(10) CONSTRAINT prs_k_prs_ruimteafdeling_key PRIMARY KEY, prs_afdeling_key NUMBER(10) NOT_NULL(prs_afdeling_key, prs_c_prs_afdeling_key3) CONSTRAINT prs_r_prs_ra_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key), alg_ruimte_key NUMBER(10) NOT_NULL(alg_ruimte_key, prs_c_alg_ruimte_key) CONSTRAINT prs_r_alg_ruimte_key1 REFERENCES alg_ruimte(alg_ruimte_key), prs_ruimteafdeling_bezetting NUMBER(8,5) DEFAULT 100 CONSTRAINT prs_c_prs_riumteafd_bezetting2 CHECK (prs_ruimteafdeling_bezetting is not null AND prs_ruimteafdeling_bezetting BETWEEN 0 AND 100), prs_ruimteafdeling_ingangsdatum DATE DEFAULT SYSDATE NOT NULL, prs_ruimteafdeling_einddatum DATE, prs_ruimteafdeling_aanmaak DATE DEFAULT SYSDATE, prs_ruimteafdeling_verwijder DATE DEFAULT NULLDATUM, CONSTRAINT prs_u_ruimteafdeling UNIQUE(prs_afdeling_key, alg_ruimte_key, prs_ruimteafdeling_ingangsdatum, prs_ruimteafdeling_verwijder), CONSTRAINT prs_c_ruimteafdeling_van_tot CHECK(prs_ruimteafdeling_einddatum IS NULL OR (prs_ruimteafdeling_einddatum IS NOT NULL AND prs_ruimteafdeling_einddatum > prs_ruimteafdeling_ingangsdatum)) ); CREATE_TABLE(prs_perslidwerkplek,0) ( prs_perslidwerkplek_key NUMBER(10) CONSTRAINT prs_k_prs_perslidwerkplek_key PRIMARY KEY, prs_perslid_key NUMBER(10) NOT_NULL(prs_perslid_key, prs_c_prs_perslid_key3) CONSTRAINT prs_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_werkplek_key NUMBER(10) NOT_NULL(prs_werkplek_key, prs_c_prs_perslidwp_key) CONSTRAINT prs_r_prs_werkplek_key REFERENCES prs_werkplek(prs_werkplek_key) ON DELETE CASCADE, prs_perslidwerkplek_bezetting NUMBER(3) DEFAULT 100 CONSTRAINT prs_c_prs_perslidwp_bezetting2 CHECK (prs_perslidwerkplek_bezetting is not null and prs_perslidwerkplek_bezetting BETWEEN 0 AND 100), prs_perslidwerkplek_volgnr -- UWVA#18996 NUMBER(2), prs_perslidwerkplek_externnr VARCHAR2(256), prs_perslidwerkplek_extsyncd DATE, prs_perslidwerkplek_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_perslidwerkplek_aanmaak, prs_c_prs_perslidwp_aanmaak), CONSTRAINT prs_u_perslidwerkplek UNIQUE(prs_perslid_key, prs_werkplek_key) ); CREATE_TABLE(prs_kenmerk,0) (prs_kenmerk_key NUMBER(10) CONSTRAINT prs_k_prs_kenmerk_key PRIMARY KEY ,prs_kenmerk_niveau VARCHAR2(1) CONSTRAINT prs_c_prs_kenmerk_niveau2 CHECK (prs_kenmerk_niveau IS NOT NULL and prs_kenmerk_niveau IN ('P','A','B','C')) ,prs_kenmerk_volgnr NUMBER(3) NOT NULL ,prs_kenmerk_rolcode NUMBER(4) DEFAULT 7 NOT NULL ,prs_kenmerk_omschrijving VARCHAR2(50) ,prs_kenmerk_upper VARCHAR2(50) ,prs_kenmerk_code VARCHAR2(60) ,prs_kenmerk_hint VARCHAR2(255) ,prs_kenmerk_default VARCHAR2(4000) ,prs_kenmerk_show_expr VARCHAR2(4000) ,prs_kenmerk_dimensie VARCHAR2(10) ,prs_kenmerk_kenmerktype VARCHAR2(1) ,prs_kenmerk_systeem -- &1 = systeemkm, &8 = anonimiseren NUMBER(2) DEFAULT 0 NOT NULL ,prs_kenmerk_toonbaar NUMBER(1) ,prs_kenmerk_inlijst NUMBER(1) DEFAULT 0 NOT NULL ,prs_kenmerk_uniek NUMBER(1) ,prs_kenmerk_regexp VARCHAR2(255) ,prs_kenmerk_verplicht NUMBER(1) ,prs_kenmerk_groep NUMBER(1) DEFAULT 0 NOT NULL ,prs_kenmerk_lengte NUMBER(4) ,prs_kenmerk_dec NUMBER(2) ,prs_kenmerk_nmin NUMBER(10) ,prs_kenmerk_nmax NUMBER(10) ,fac_kenmerkdomein_key NUMBER(10) CONSTRAINT prs_r_kenmerkdomein_key1 REFERENCES fac_kenmerkdomein(fac_kenmerkdomein_key) ,prs_kenmerk_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_kenmerk_aanmaak, prs_c_prs_kenmerk_aanmaak) ,prs_kenmerk_verwijder DATE DEFAULT NULLDATUM ,prs_srtperslid_key NUMBER(10) CONSTRAINT prs_r_prs_srtperslid_key3 REFERENCES prs_srtperslid(prs_srtperslid_key) ,fac_functie_key NUMBER(10) CONSTRAINT fac_r_prs_kenmerk_functie REFERENCES fac_functie (fac_functie_key) ); CREATE_TABLE(prs_kenmerklink,0) (prs_kenmerkLink_key NUMBER(10) CONSTRAINT prs_k_prs_kenmerklink_key PRIMARY KEY ,prs_link_key NUMBER(10) ,prs_kenmerklink_niveau VARCHAR2(1) ,prs_kenmerk_key NUMBER(10) ,prs_kenmerklink_waarde VARCHAR2(4000) ,prs_kenmerklink_aanmaak DATE DEFAULT SYSDATE NOT_NULL(prs_kenmerklink_aanmaak, prs_c_prs_kenmerklink_aanm) ,prs_kenmerklink_verwijder DATE DEFAULT NULLDATUM ,CONSTRAINT prs_u_prs_kenmerklink_key UNIQUE(prs_link_key, prs_kenmerk_key, prs_kenmerklink_verwijder) ); CREATE_TABLE(prs_contactpersoon, 0) ( prs_contactpersoon_key NUMBER(10) PRIMARY KEY, prs_contactpersoon_naam VARCHAR2(30) NOT_NULL(prs_contactpersoon_naam, prs_c_contactpersoon_naam), prs_contactpersoon_tussenv VARCHAR2(15), prs_contactpersoon_voorletters VARCHAR2(10), prs_contactpersoon_voornaam VARCHAR2(30), prs_contactpersoon_aanhef VARCHAR2(30), prs_contactpersoon_titel VARCHAR2(10), prs_contactpersoon_telefoon_1 VARCHAR2(30), prs_contactpersoon_telefoon_2 VARCHAR2(30), prs_contactpersoon_fax VARCHAR2(30), prs_contactpersoon_email VARCHAR2(200), prs_contactpersoon_functie VARCHAR2(60), prs_contactpersoon_opmerking VARCHAR2(255), prs_contactpersoon_uurloon NUMBER(6,2), prs_contactpersoon_systeem NUMBER(1) DEFAULT 0 NOT NULL, prs_bedrijf_key NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_key4 REFERENCES prs_bedrijf(prs_bedrijf_key), prs_perslid_key /* kan eventueel een Facilitor user zijn */ NUMBER(10) CONSTRAINT prs_r_prs_perslid_key16 REFERENCES prs_perslid(prs_perslid_key), prs_contactpersoon_externnr VARCHAR2(256), prs_contactpersoon_extsyncdate DATE, prs_contactpersoon_aanmaak DATE DEFAULT SYSDATE, prs_contactpersoon_verwijder DATE ); ALTER TABLE ins_deel_uitgifte ADD ( prs_perslid_key NUMBER(10) CONSTRAINT ins_r_prs_perslid_key1 REFERENCES prs_perslid (prs_perslid_key) ON DELETE CASCADE, prs_contactpersoon_key NUMBER (10) CONSTRAINT ins_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE ); CREATE_TABLE(prs_contactpersoon_locatie, 0) ( prs_contactpersoon_locatie_key NUMBER(10) PRIMARY KEY, prs_contactpersoon_key NUMBER(10) CONSTRAINT prs_r_prs_contactpersoon_key REFERENCES prs_contactpersoon(prs_contactpersoon_key) ON DELETE CASCADE, alg_locatie_key NUMBER(10) CONSTRAINT prs_r_alg_locatie_key3 REFERENCES alg_locatie(alg_locatie_key) ); CREATE_TABLE(prs_dienst, 0) ( prs_dienst_key NUMBER(10) PRIMARY KEY, prs_dienst_omschrijving VARCHAR2(60) NOT_NULL(prs_dienst_omschrijving, prs_c_prs_dienst_omschrijving) CONSTRAINT prs_c_prs_dienst_omschr UNIQUE, prs_dienst_hint VARCHAR2(1000) ); ALTER TABLE ins_srtcontrole ADD ( prs_dienst_key NUMBER(10) CONSTRAINT ins_r_prs_dienst_key1 REFERENCES prs_dienst(prs_dienst_key) ); CREATE_TABLE(prs_bedrijfdienstlocatie, 0) /* intussen feitelijk prs_bedrijfdienstgebouw_of_locatie */ ( prs_bedrijfdienstlocatie_key NUMBER(10) PRIMARY KEY, prs_bedrijf_key NUMBER(10) NOT_NULL(prs_bedrijf_key, prs_c_prs_bedrijf_key2) CONSTRAINT prs_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE, prs_perslid_key NUMBER(10) CONSTRAINT prs_r_prs_perslid_key21 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE, prs_dienst_key NUMBER(10) NOT_NULL(prs_dienst_key, prs_c_prs_dienst_key1) CONSTRAINT prs_r_prs_dienst_key1 REFERENCES prs_dienst(prs_dienst_key) ON DELETE CASCADE, alg_locatie_key NUMBER(10) CONSTRAINT prs_r_alg_locatie_key4 REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE, alg_gebouw_key NUMBER(10) CONSTRAINT prs_r_alg_gebouw_key1 REFERENCES alg_gebouw(alg_gebouw_key) ON DELETE CASCADE, prs_bedrijf_voor_key NUMBER(10) CONSTRAINT prs_r_prs_bedrijf_key7 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE, prs_bdl_t_uitvoertijd MLD_T_UITVOERTIJD CONSTRAINT prs_c_prs_bdl_t_uitvoertijd CHECK(prs_bdl_t_uitvoertijd.tijdsduur >= 0), /* of null */ mld_autoorder NUMBER(1) DEFAULT 1 NOT NULL, CONSTRAINT prs_u_prs_bedrijfdienstloc_key UNIQUE (prs_bedrijf_key, prs_perslid_key, prs_dienst_key, alg_locatie_key, alg_gebouw_key,prs_bedrijf_voor_key), CONSTRAINT prs_c_prs_bedrijfdienstloc CHECK (alg_locatie_key IS NULL OR alg_gebouw_key IS NULL), CONSTRAINT prs_c_prs_bdlbp1 CHECK ((prs_bedrijf_key IS NOT NULL AND prs_perslid_key IS NULL) OR (prs_bedrijf_key IS NULL AND prs_perslid_key IS NOT NULL)) ); ALTER TABLE prs_bedrijfdienstlocatie MODIFY prs_bdl_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL); /* * Om een kennisbankitem afhankelijk te kunnen maken van een afdeling/bedrijf * afdeling is optioneel. Toepassing is melder-afhankelijk maken van faqs * maar mogelijk is dit ooit ook nog wel anders bruikbaar (bv voor leveranciers) */ CREATE_TABLE(prs_prsfaq, 0) ( prs_prsfaq_key NUMBER(10) CONSTRAINT prs_k_prsfaq_key PRIMARY KEY, prs_bedrijf_key NUMBER(10) NOT NULL CONSTRAINT prs_r_prs_bedrijf_key9 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE, prs_afdeling_key /* optionele verbijzondering binnen dit bedrijf */ NUMBER(10) CONSTRAINT prs_r_prs_afdeling_key2 REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE, fac_faq_key NUMBER(10) NOT NULL CONSTRAINT prs_r_fac_faq_key REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE ); CREATE_TABLE(prs_project,0) ( prs_project_key NUMBER(10) PRIMARY KEY, prs_project_omschrijving VARCHAR2(60) NOT NULL, prs_kostenplaats_key NUMBER(10) CONSTRAINT prs_r_prs_kostenplaats_key2 REFERENCES prs_kostenplaats(prs_kostenplaats_key), prs_project_datum /* altijd handig */ DATE -- mld_adres_key -- NUMBER(10) -- CONSTRAINT prs_r_mld_adres_key3 REFERENCES mld_adres(mld_adres_key) ); CREATE_TABLE(prs_kostensoortgrp,0) ( prs_kostensoortgrp_key NUMBER (10) PRIMARY KEY, prs_kostensoortgrp_oms VARCHAR2(60) NOT NULL, prs_kostensoortgrp_altcode VARCHAR2(60), prs_kostensoortgrp_verwijder DATE ); CREATE_TABLE(prs_kostensoort,0) ( prs_kostensoort_key NUMBER (10) PRIMARY KEY, prs_kostensoort_oms -- code VARCHAR2(60) NOT NULL, prs_kostensoort_upper VARCHAR2(60), prs_kostensoort_opmerking -- omschrijving VARCHAR2(255), prs_kostensoort_refcode -- bv grootboeknr VARCHAR2(60), prs_kostensoort_doorbelasten -- 1=Ja NUMBER(1) DEFAULT(1) CONSTRAINT prs_c_prs_kostensoort_doorbel CHECK(prs_kostensoort_doorbelasten IN (0,1)), prs_kostensoort_btw -- BTW doorbelasten 1=Incl. NUMBER(1) DEFAULT(1) CONSTRAINT prs_c_prs_kostensoort_btw CHECK(prs_kostensoort_btw IN (0,1)), prs_kostenplaats_key NUMBER(10) CONSTRAINT prs_r_prs_kostenplaats_key3 REFERENCES prs_kostenplaats(prs_kostenplaats_key), prs_kostensoortgrp_key NUMBER(10) NOT NULL CONSTRAINT prs_r_prs_kostensoortgrp_key REFERENCES prs_kostensoortgrp(prs_kostensoortgrp_key), prs_kostensoort_aanmaak DATE DEFAULT SYSDATE, prs_kostensoort_altcode VARCHAR2(60), prs_kostensoort_eind DATE, prs_kostensoort_verwijder DATE -- fin_btwtabelwaarde_key -- NUMBER(10) -- CONSTRAINT prs_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key) ); ALTER TABLE ins_tab_discipline ADD ( prs_kostensoort_key NUMBER(10) CONSTRAINT ins_r_prs_kostensoort_key1 REFERENCES prs_kostensoort(prs_kostensoort_key) ); CREATE_TABLE(prs_kostencombinatie,0) ( prs_kostencombinatie_key NUMBER (10) PRIMARY KEY, prs_kostenplaatsgrp_key NUMBER(10) NOT NULL CONSTRAINT prs_r_prs_kostenplaatsgrp_key2 REFERENCES prs_kostenplaatsgrp(prs_kostenplaatsgrp_key) ON DELETE CASCADE, prs_kostensoort_key NUMBER(10) NOT NULL CONSTRAINT prs_r_prs_kostensoort_key1 REFERENCES prs_kostensoort(prs_kostensoort_key) ON DELETE CASCADE, prs_kostencombinatie_aanmaak DATE DEFAULT SYSDATE ); CREATE_TABLE(prs_perslid_inzetbaar, 0) ( prs_perslid_inzetbaar_key NUMBER(10) CONSTRAINT prs_k_prs_inzetbaar_key PRIMARY KEY, prs_perslid_key NUMBER(10) NOT_NULL(prs_perslid_key, prs_c_prs_perslid_key6) CONSTRAINT prs_r_prs_perslid_key17 REFERENCES prs_perslid(prs_perslid_key), prs_perslid_inzetbaar_van NUMBER(4) NOT_NULL(prs_perslid_inzetbaar_van, prs_c_prs_perslid_inzet_van) CONSTRAINT prs_c_prs_perslid_inzet_van2 CHECK(prs_perslid_inzetbaar_van>=0 AND prs_perslid_inzetbaar_van<1440), prs_perslid_inzetbaar_tot NUMBER(4) NOT_NULL(prs_perslid_inzetbaar_tot, prs_c_prs_perslid_inzet_tot) CONSTRAINT prs_c_prs_perslid_inzet_tot2 CHECK(prs_perslid_inzetbaar_tot>=0 AND prs_perslid_inzetbaar_tot<1440), prs_perslid_inzetbaar_dag -- 0=zondag, 1=maandag, 2=dinsdag, 3=woensdag, 4=donderdag, 5=vrijdag, 6=zaterdag NUMBER(1) NOT_NULL(prs_perslid_inzetbaar_dag, prs_c_prs_perslid_inzet_dag), alg_locatie_key /* future use */ NUMBER(10) CONSTRAINT prs_r_alg_locatie_key5 REFERENCES alg_locatie(alg_locatie_key), prs_perslid_inzetbaar_plaats /* unstructured variant of alg_locatie_key */ VARCHAR2 (200), prs_perslid_inzetbaar_plaats_x /* x of _plaats */ NUMBER(16,6), prs_perslid_inzetbaar_plaats_y /* y of _plaats */ NUMBER(16,6), prs_perslid_inzetbaar_radius NUMBER (6) ); CREATE_TABLE(prs_perslid_tabs, 0) ( prs_perslid_tabs_key NUMBER(10) CONSTRAINT prs_k_prs_perslid_tabs_key PRIMARY KEY, prs_perslid_tabs_code VARCHAR2(32) NOT NULL, prs_perslid_tabs_aanmaak DATE DEFAULT SYSDATE, prs_perslid_key NUMBER(10) CONSTRAINT prs_r_prs_perslid_key20 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE ); CREATE_TABLE(prs_perslid_cols, 0) ( prs_perslid_cols_key NUMBER(10) CONSTRAINT fac_k_prs_perslid_cols_key PRIMARY KEY, prs_perslid_tabs_key NUMBER(10) CONSTRAINT fac_r_perslid_cols_tabs_key REFERENCES prs_perslid_tabs(prs_perslid_tabs_key) ON DELETE CASCADE, prs_perslid_cols_volgnr NUMBER(10) NOT NULL, prs_perslid_cols_column_name VARCHAR2(128) NOT NULL, prs_perslid_cols_visible /* V;Visible; I;Invisible */ VARCHAR2(1) DEFAULT 'V' NOT NULL CONSTRAINT prs_c_perslid_cols_visible CHECK (prs_perslid_cols_visible IN ('V', 'I')), prs_perslid_cols_combine /* 0;False 1;True */ NUMBER(1) DEFAULT 0 NOT NULL CONSTRAINT prs_c_perslid_cols_combine CHECK (prs_perslid_cols_combine IN (0, 1)), CONSTRAINT prs_u_prs_perslid_cols1 UNIQUE(prs_perslid_tabs_key, prs_perslid_cols_column_name) ); REGISTERONCE('$Id$') #endif // PRS