diff --git a/BGT/BGT_TAB.SRC b/BGT/BGT_TAB.SRC index 745dac11..25f67203 100644 --- a/BGT/BGT_TAB.SRC +++ b/BGT/BGT_TAB.SRC @@ -103,11 +103,15 @@ CREATE_TABLE(bgt_budget,1) DATE DEFAULT SYSDATE, bgt_budget_vervaldatum DATE, -- of gewoon verwijderdatum? - CONSTRAINT bgt_c_bgt_budget1 CHECK (bgt_kostenrubriek_key IS NOT NULL - OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL) - OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL AND prs_kostensoort_key IS NOT NULL) - OR prs_kostenplaatsgrp_key IS NOT NULL - OR (prs_kostenplaatsgrp_key IS NOT NULL AND prs_kostenplaats_key IS NOT NULL) ) + CONSTRAINT bgt_c_bgt_budget1 CHECK ( (bgt_budget_isreserve = 0 AND ( bgt_kostenrubriek_key IS NOT NULL + OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL) + OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL AND prs_kostensoort_key IS NOT NULL) + OR prs_kostenplaatsgrp_key IS NOT NULL + OR (prs_kostenplaatsgrp_key IS NOT NULL AND prs_kostenplaats_key IS NOT NULL) + ) + ) + OR (bgt_budget_isreserve = 1 AND prs_kostensoortgrp_key IS NULL AND prs_kostenplaats_key IS NULL) + ) ); -- under construction diff --git a/FIN/FIN_TAB.SRC b/FIN/FIN_TAB.SRC index 1e29333a..933f96ac 100644 --- a/FIN/FIN_TAB.SRC +++ b/FIN/FIN_TAB.SRC @@ -76,12 +76,12 @@ CREATE_TABLE(fin_factuur,0) VARCHAR2(30) NOT_NULL(fin_factuur_nr, fin_c_fin_factuur0) , fin_factuur_totaal - NUMBER(8,2) + NUMBER(12,2) , fin_factuur_totaal_btw - NUMBER (10,4) + NUMBER (14,4) NOT_NULL(fin_factuur_totaal_btw, fin_c_fin_factuur1) , fin_factuur_gbedrag - NUMBER(10,2) + NUMBER(14,2) , mld_opdr_key NUMBER(10) CONSTRAINT fin_r_fin_factuur1 REFERENCES mld_opdr(mld_opdr_key) @@ -133,10 +133,10 @@ CREATE_TABLE(fin_factuurregel,0) , fin_factuurregel_nr NUMBER , fin_factuurregel_totaal - NUMBER(8,2) + NUMBER(12,2) NOT_NULL(fin_factuurregel_totaal, fin_c_fin_factuurregel2) , fin_factuurregel_btw - NUMBER(10,4) + NUMBER(14,4) NOT_NULL(fin_factuurregel_btw, fin_c_fin_factuurregel3) , fin_factuurregel_omschrijving VARCHAR2(250) diff --git a/PRS/PRS_IND.SRC b/PRS/PRS_IND.SRC index b1018460..5e0c33ad 100644 --- a/PRS/PRS_IND.SRC +++ b/PRS/PRS_IND.SRC @@ -29,7 +29,7 @@ create index prs_i_prs_perslidwerkplek1 on prs_perslidwerkplek(prs_perslid_key); create index prs_i_prs_perslidwerkplek2 on prs_perslidwerkplek(prs_werkplek_key); CREATE INDEX prs_i_prs_kostenplaats2 ON prs_kostenplaats(prs_perslid_key); -CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoort_upper); +CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper); CREATE UNIQUE INDEX prs_i_prs_kostencombinatie1 ON prs_kostencombinatie (prs_kostenplaatsgrp_key, prs_kostensoort_key); create index prs_i_prs_perslidkostenplaats1 ON prs_perslidkostenplaats(prs_perslid_key, prs_kostenplaats_key); diff --git a/_UP/DB30to31.src b/_UP/DB30to31.src index 5498c0a5..83fc324c 100644 --- a/_UP/DB30to31.src +++ b/_UP/DB30to31.src @@ -259,6 +259,16 @@ CREATE_TABLE(bgt_kostenrubriek,0) ALTER TABLE prs_kostensoortgrp ADD bgt_kostenrubriek_key CONSTRAINT prs_r_bgt_kostenrubriek_key1 REFERENCES bgt_kostenrubriek (bgt_kostenrubriek_key); +DROP INDEX prs_i_prs_kostensoort1; +CREATE UNIQUE INDEX prs_i_prs_kostensoort1 ON prs_kostensoort(prs_kostensoortgrp_key, prs_kostensoort_upper); + +ALTER TABLE fin_factuurregel MODIFY ( fin_factuurregel_totaal NUMBER(12,2) + , fin_factuurregel_btw NUMBER(14,4)); + +ALTER TABLE fin_factuur MODIFY ( fin_factuur_totaal NUMBER(12,2) + , fin_factuur_totaal_btw NUMBER(14,4) + , fin_factuur_gbedrag NUMBER(14,2) ); + CREATE_TABLE(bgt_budget,0) ( bgt_budget_key @@ -301,11 +311,15 @@ CREATE_TABLE(bgt_budget,0) DATE DEFAULT SYSDATE, bgt_budget_vervaldatum DATE, - CONSTRAINT bgt_c_bgt_budget1 CHECK (bgt_kostenrubriek_key IS NOT NULL - OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL) - OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL AND prs_kostensoort_key IS NOT NULL) - OR prs_kostenplaatsgrp_key IS NOT NULL - OR (prs_kostenplaatsgrp_key IS NOT NULL AND prs_kostenplaats_key IS NOT NULL) ) + CONSTRAINT bgt_c_bgt_budget1 CHECK ( (bgt_budget_isreserve = 0 AND ( bgt_kostenrubriek_key IS NOT NULL + OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL) + OR (bgt_kostenrubriek_key IS NOT NULL AND prs_kostensoortgrp_key IS NOT NULL AND prs_kostensoort_key IS NOT NULL) + OR prs_kostenplaatsgrp_key IS NOT NULL + OR (prs_kostenplaatsgrp_key IS NOT NULL AND prs_kostenplaats_key IS NOT NULL) + ) + ) + OR (bgt_budget_isreserve = 1 AND prs_kostensoortgrp_key IS NULL AND prs_kostenplaats_key IS NULL) + ) ); -- under construction TODO checken