AAIT#36710: Berekende waarde van velden in Facilitor.

svn path=/Database/trunk/; revision=31616
This commit is contained in:
Maykel Geerdink
2016-11-22 15:02:23 +00:00
parent 0d93ae3c64
commit f374b3e87e
10 changed files with 58 additions and 33 deletions

View File

@@ -560,7 +560,7 @@ CREATE_TABLE(alg_kenmerk,0)
VARCHAR2(10)
,alg_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT alg_c_alg_kenmerk_type1 CHECK(alg_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
CONSTRAINT alg_c_alg_kenmerk_type1 CHECK(alg_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'))
,alg_kenmerk_systeem
NUMBER(1)
,alg_kenmerk_toonbaar

View File

@@ -448,18 +448,16 @@ BEGIN
THEN
APPLICATION_ERROR(-20003, 'ALG_M238');
END IF;
IF (:new.alg_kenmerk_kenmerktype IN ('C','N'))
AND :new.alg_kenmerk_lengte IS NULL
IF :new.alg_kenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.alg_kenmerk_lengte IS NULL
THEN
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.alg_kenmerk_kenmerktype = 'N'
AND :new.alg_kenmerk_lengte > 20
IF :new.alg_kenmerk_kenmerktype IN ('N', 'B') AND :new.alg_kenmerk_lengte > 20
THEN
:new.alg_kenmerk_lengte := 20;
END IF;
IF :new.alg_kenmerk_kenmerktype = 'N' AND :old.alg_kenmerk_key IS NOT NULL
IF :new.alg_kenmerk_kenmerktype IN ('N', 'B') AND :old.alg_kenmerk_key IS NOT NULL
THEN
IF :old.alg_kenmerk_nmin <> :new.alg_kenmerk_nmin OR
:old.alg_kenmerk_nmin IS NULL AND :new.alg_kenmerk_nmin IS NOT NULL
@@ -614,7 +612,7 @@ BEGIN
APPLICATION_ERROR(-20004, 'ALG_M232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType = 'N'
ELSIF KenmerkType IN ('N', 'B')
/*
** Number
*/

View File

@@ -545,7 +545,7 @@ CREATE_TABLE(bes_srtkenmerk, 0)
, 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','R','X','L','Q','F','M','E','S', 'l'))
, CONSTRAINT bes_c_bes_srtkenmerk_kenmtype CHECK(bes_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'))
, CONSTRAINT bes_c_bes_srtkenmerk_systeem CHECK(bes_srtkenmerk_systeem IS NULL
OR bes_srtkenmerk_systeem = 1)
, CONSTRAINT bes_c_bes_srtkenmerk_lengte CHECK(bes_srtkenmerk_lengte >= 1

View File

@@ -169,19 +169,17 @@ BEGIN
raise_application_error(-20003, 'bes_C_bes_SRTKENMERK_SYSTEEM');
END IF;
IF (:NEW.bes_srtkenmerk_kenmerktype = 'C' OR :NEW.bes_srtkenmerk_kenmerktype = 'N')
AND :NEW.bes_srtkenmerk_lengte IS NULL
IF :NEW.bes_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :NEW.bes_srtkenmerk_lengte IS NULL
THEN
raise_application_error (-20000, 'bes_C_bes_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.bes_srtkenmerk_kenmerktype = 'N'
AND :new.bes_srtkenmerk_lengte > 20
IF :new.bes_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.bes_srtkenmerk_lengte > 20
THEN
:new.bes_srtkenmerk_lengte := 20;
END IF;
IF :NEW.bes_srtkenmerk_kenmerktype = 'N' AND :OLD.bes_srtkenmerk_key IS NOT NULL
IF :NEW.bes_srtkenmerk_kenmerktype IN ('N', 'B') AND :OLD.bes_srtkenmerk_key IS NOT NULL
THEN
IF :OLD.bes_srtkenmerk_nmin <> :NEW.bes_srtkenmerk_nmin
OR (:OLD.bes_srtkenmerk_nmin IS NULL AND :NEW.bes_srtkenmerk_nmin IS NOT NULL)
@@ -318,7 +316,7 @@ BEGIN
THEN
raise_application_error (-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
END IF;
ELSIF srtkenmerktype = 'N'
ELSIF srtkenmerktype IN ('N', 'B')
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.
@@ -433,7 +431,7 @@ BEGIN
THEN
raise_application_error (-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
END IF;
ELSIF srtkenmerktype = 'N'
ELSIF srtkenmerktype IN ('N', 'B')
THEN
-- NUMBER
-- Controleer of er een numerieke waarde ingevuld is.

View File

@@ -128,7 +128,7 @@ CREATE_TABLE(bez_kenmerk,0)
,bez_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT bez_c_bez_kenmerk_type2 CHECK
(bez_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
(bez_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'))
,bez_kenmerk_systeem
NUMBER(1)
,bez_kenmerk_toonbaar

View File

@@ -1773,7 +1773,7 @@ AS
WHERE alg_kenmerk_verwijder IS NULL
AND alg_kenmerk_niveau IN ('L', 'G')
AND alg_kenmerk_upper = UPPER (ok)
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
ELSE -- Kenmerkwaarde is numeriek (dus key)!
SELECT alg_kenmerk_key
INTO v_kenmerk_key
@@ -1781,7 +1781,7 @@ AS
WHERE alg_kenmerk_verwijder IS NULL
AND alg_kenmerk_niveau IN ('L', 'G')
AND alg_kenmerk_key = fac.safe_to_number (ok)
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
END IF;
RETURN v_kenmerk_key;
@@ -3232,7 +3232,7 @@ AS
WHERE alg_kenmerk_upper = UPPER (kw)
AND alg_kenmerk_verwijder IS NULL
AND alg_kenmerk_niveau = 'R'
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
ELSE -- kenmerkwaarde is numeriek (dus key)!
SELECT alg_kenmerk_key
INTO v_kenmerk_key
@@ -3240,7 +3240,7 @@ AS
WHERE alg_kenmerk_key = fac.safe_to_number (kw)
AND alg_kenmerk_verwijder IS NULL
AND alg_kenmerk_niveau = 'R'
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
END IF;
RETURN v_kenmerk_key;
@@ -6881,13 +6881,13 @@ IS
INTO v_srtkenmerk_key
FROM ins_v_aanwezigsrtkenmerk
WHERE ins_srtkenmerk_upper = UPPER (kw)
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
ELSE -- kenmerkwaarde is numeriek (dus key)!
SELECT ins_srtkenmerk_key
INTO v_srtkenmerk_key
FROM ins_v_aanwezigsrtkenmerk
WHERE ins_srtkenmerk_key = fac.safe_to_number (kw)
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND ins_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
END IF;
RETURN v_srtkenmerk_key;
@@ -17588,14 +17588,14 @@ AS
FROM cnt_srtkenmerk
WHERE cnt_srtkenmerk_verwijder IS NULL
AND cnt_srtkenmerk_upper = UPPER (kw)
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
ELSE -- kenmerkwaarde is numeriek (dus key)!
SELECT cnt_srtkenmerk_key
INTO v_srtkenmerk_key
FROM cnt_srtkenmerk
WHERE cnt_srtkenmerk_verwijder IS NULL
AND cnt_srtkenmerk_key = fac.safe_to_number (kw)
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X');
AND cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B');
END IF;
RETURN v_srtkenmerk_key;

View File

@@ -707,13 +707,13 @@ AS
IF (p_kenmerk_type = 'R' OR p_kenmerk_type = 'S')
THEN
RETURN fac.getdomeinwaarde (p_kenmerkdomein_key, p_kenmerk_waarde, CASE WHEN xmlnode_depth = 0 THEN 1 ELSE 0 END);
ELSIF ( p_kenmerk_type = 'N'
ELSIF ( p_kenmerk_type IN ('N', 'B')
AND srtkenmerk_nmin = 0
AND srtkenmerk_nmax = 1
AND p_kenmerk_waarde = 0)
THEN
RETURN lcl.L ('lcl_check_xml_0');
ELSIF ( p_kenmerk_type = 'N'
ELSIF ( p_kenmerk_type IN ('N', 'B')
AND srtkenmerk_nmin = 0
AND srtkenmerk_nmax = 1
AND p_kenmerk_waarde = 1)

View File

@@ -1776,7 +1776,7 @@ CREATE_TABLE(faq_kenmerk,0)
faq_kenmerk_dimensie VARCHAR2(10),
faq_kenmerk_kenmerktype VARCHAR2(1)
CONSTRAINT faq_c_faq_kenmerk_type1
CHECK(faq_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l')),
CHECK(faq_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B')),
faq_kenmerk_systeem NUMBER(1),
faq_kenmerk_toonbaar NUMBER(1),
faq_kenmerk_uniek NUMBER(1),

View File

@@ -717,7 +717,7 @@ BEGIN
APPLICATION_ERROR(-20004, 'faq_m232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType = 'N'
ELSIF KenmerkType IN ('N', 'B')
/*
** Number
*/
@@ -801,17 +801,15 @@ BEGIN
THEN
APPLICATION_ERROR(-20003, 'faq_m238');
END IF;
IF (:new.faq_kenmerk_kenmerktype IN ('C','N'))
AND :new.faq_kenmerk_lengte IS NULL
IF :new.faq_kenmerk_kenmerktype IN ('C','N', 'B') AND :new.faq_kenmerk_lengte IS NULL
THEN
APPLICATION_ERROR(-20000, 'FAQ_C_FAQ_KENMERK_LENGTE');
END IF;
IF :new.faq_kenmerk_kenmerktype = 'N'
AND :new.faq_kenmerk_lengte > 20
IF :new.faq_kenmerk_kenmerktype IN ('N', 'B') AND :new.faq_kenmerk_lengte > 20
THEN
:new.faq_kenmerk_lengte := 20;
END IF;
IF :new.faq_kenmerk_kenmerktype = 'N' AND :old.faq_kenmerk_key IS NOT NULL
IF :new.faq_kenmerk_kenmerktype IN ('N', 'B') AND :old.faq_kenmerk_key IS NOT NULL
THEN
IF :old.faq_kenmerk_nmin <> :new.faq_kenmerk_nmin OR
:old.faq_kenmerk_nmin IS NULL AND :new.faq_kenmerk_nmin IS NOT NULL

View File

@@ -155,6 +155,37 @@ ALTER TABLE res_ruimte
ADD res_ruimte_min_duur
NUMBER(5,2);
/////////////////////////////////////////////////////////////////////////////////////////// AAIT#36710
ALTER TABLE alg_kenmerk DROP CONSTRAINT alg_c_alg_kenmerk_type1;
ALTER TABLE bes_srtkenmerk DROP CONSTRAINT bes_c_bes_srtkenmerk_kenmtype;
ALTER TABLE bez_kenmerk DROP CONSTRAINT bez_c_bez_kenmerk_type2;
ALTER TABLE cnt_srtkenmerk DROP CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype;
ALTER TABLE fin_kenmerk DROP CONSTRAINT fin_c_fin_kenmerk_type1;
ALTER TABLE ins_srtkenmerk DROP CONSTRAINT ins_c_ins_srtkenmerk_kenmtype;
ALTER TABLE mld_srtkenmerk DROP CONSTRAINT mld_c_mld_srtkenmerk_kenmtype;
ALTER TABLE prs_kenmerk DROP CONSTRAINT prs_c_prs_kenmerk_type2;
ALTER TABLE res_srtkenmerk DROP CONSTRAINT res_c_res_srtkenmerk_kenmtype;
ALTER TABLE alg_kenmerk MODIFY alg_kenmerk_kenmerktype
CONSTRAINT alg_c_alg_kenmerk_type1 CHECK(alg_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE bes_srtkenmerk MODIFY bes_srtkenmerk_kenmerktype
CONSTRAINT bes_c_bes_srtkenmerk_kenmtype CHECK(bes_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE bez_kenmerk MODIFY bez_kenmerk_kenmerktype
CONSTRAINT bez_c_bez_kenmerk_type2 CHECK(bez_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE cnt_srtkenmerk MODIFY cnt_srtkenmerk_kenmerktype
CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype CHECK(cnt_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE fin_kenmerk MODIFY fin_kenmerk_kenmerktype
CONSTRAINT fin_c_fin_kenmerk_type1 CHECK(fin_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE ins_srtkenmerk MODIFY ins_srtkenmerk_kenmerktype
CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN('C', 'N', 'D', 'R', 'X', 'L', 'Q','F','M','E','S', 'l', 'B'));
ALTER TABLE mld_srtkenmerk MODIFY mld_srtkenmerk_kenmerktype
CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE prs_kenmerk MODIFY prs_kenmerk_kenmerktype
CONSTRAINT prs_c_prs_kenmerk_type2 CHECK (prs_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
ALTER TABLE res_srtkenmerk MODIFY res_srtkenmerk_kenmerktype
CONSTRAINT res_c_res_srtkenmerk_kenmtype CHECK(res_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'));
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////