AAIT#36710: Berekende waarde van velden in Facilitor.

svn path=/Database/trunk/; revision=31618
This commit is contained in:
Maykel Geerdink
2016-11-22 15:06:28 +00:00
parent 74bfa2637b
commit 57f2c7ff68
10 changed files with 22 additions and 26 deletions

View File

@@ -298,7 +298,7 @@ CREATE_TABLE(cnt_srtkenmerk, 0)
, CONSTRAINT cnt_c_cnt_srtkenmerk_omschr CHECK(cnt_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT cnt_srtkenmerk_omschrijving CHECK(cnt_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT cnt_u_cnt_srtkenmerk_upper UNIQUE(cnt_srtkenmerk_upper, cnt_srtkenmerk_verwijder)
, CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype CHECK(cnt_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
, CONSTRAINT cnt_c_cnt_srtkenmerk_kenmtype CHECK(cnt_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'))
, CONSTRAINT cnt_c_cnt_srtkenmerk_systeem CHECK(cnt_srtkenmerk_systeem IS NULL
OR cnt_srtkenmerk_systeem = 1)
, CONSTRAINT cnt_c_cnt_srtkenmerk_lengte CHECK(cnt_srtkenmerk_lengte >= 1

View File

@@ -139,20 +139,18 @@ BEGIN
raise_application_error(-20003, 'CNT_C_CNT_SRTKENMERK_SYSTEEM');
END IF;
--
IF (:new.cnt_srtkenmerk_kenmerktype = 'C'
OR :new.cnt_srtkenmerk_kenmerktype = 'N')
AND :new.cnt_srtkenmerk_lengte IS NULL
IF :new.cnt_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.cnt_srtkenmerk_lengte IS NULL
THEN
raise_application_error(-20000, 'CNT_C_CNT_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.cnt_srtkenmerk_kenmerktype = 'N'
IF :new.cnt_srtkenmerk_kenmerktype IN ('N', 'B')
AND :new.cnt_srtkenmerk_lengte > 20
THEN
:new.cnt_srtkenmerk_lengte := 20;
END IF;
--
IF :new.cnt_srtkenmerk_kenmerktype = 'N'
IF :new.cnt_srtkenmerk_kenmerktype IN ('N', 'B')
AND :old.cnt_srtkenmerk_key IS NOT NULL
THEN
IF :old.cnt_srtkenmerk_nmin <> :new.cnt_srtkenmerk_nmin
@@ -277,7 +275,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'cnt_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

@@ -612,7 +612,8 @@ AS
'N',
'R',
'S',
'X')
'X',
'B')
AND EXISTS
(SELECT 1
FROM cnt_kenmerk k
@@ -1234,6 +1235,7 @@ AS
waarde_c,
CASE
WHEN skm.cnt_srtkenmerk_kenmerktype = 'N'
OR skm.cnt_srtkenmerk_kenmerktype = 'B'
THEN
TO_NUMBER (km.cnt_kenmerkcontract_waarde)
ELSE

View File

@@ -176,7 +176,7 @@ CREATE_TABLE(fin_kenmerk,0)
VARCHAR2(10)
,fin_kenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT fin_c_fin_kenmerk_type1 CHECK(fin_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
CONSTRAINT fin_c_fin_kenmerk_type1 CHECK(fin_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'))
,fin_kenmerk_systeem
NUMBER(1)
,fin_kenmerk_toonbaar

View File

@@ -84,7 +84,7 @@ BEGIN
APPLICATION_ERROR(-20004, 'fin_M232,'|| KenmerkOmschr ||','
|| TO_CHAR(KenmerkLengte));
END IF;
ELSIF KenmerkType = 'N'
ELSIF KenmerkType IN ('N', 'B')
/*
** Number
*/
@@ -302,14 +302,12 @@ BEGIN
THEN
APPLICATION_ERROR(-20003, 'fin_M238');
END IF;
IF (:new.fin_kenmerk_kenmerktype IN ('C','N'))
AND :new.fin_kenmerk_lengte IS NULL
IF :new.fin_kenmerk_kenmerktype IN ('C','N', 'B') AND :new.fin_kenmerk_lengte IS NULL
THEN
APPLICATION_ERROR(-20000, 'fin_C_fin_KENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.fin_kenmerk_kenmerktype = 'N'
AND :new.fin_kenmerk_lengte > 20
IF :new.fin_kenmerk_kenmerktype IN ('N', 'B') AND :new.fin_kenmerk_lengte > 20
THEN
:new.fin_kenmerk_lengte := 20;
END IF;

View File

@@ -624,7 +624,7 @@ CREATE_TABLE(ins_srtkenmerk, 0)
VARCHAR2(10),
ins_srtkenmerk_kenmerktype
VARCHAR2(1)
CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN('C', 'N', 'D', 'R', 'X', 'L', 'Q','F','M','E','S', 'l')),
CONSTRAINT ins_c_ins_srtkenmerk_kenmtype CHECK(ins_srtkenmerk_kenmerktype IN('C', 'N', 'D', 'R', 'X', 'L', 'Q','F','M','E','S', 'l', 'B')),
ins_srtkenmerk_systeem
NUMBER(1)
CONSTRAINT ins_c_ins_srtkenmerk_systeem CHECK(ins_srtkenmerk_systeem IS NULL

View File

@@ -555,20 +555,17 @@ BEGIN
APPLICATION_ERROR(-20003, 'INS_M156');
END IF;
IF (:new.ins_srtkenmerk_kenmerktype = 'C'
OR :new.ins_srtkenmerk_kenmerktype = 'N')
AND :new.ins_srtkenmerk_lengte IS NULL
IF :new.ins_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.ins_srtkenmerk_lengte IS NULL
THEN
APPLICATION_ERROR(-20000, 'INS_C_INS_SRTKENMERK_LENGTE');
END IF;
-- Numeriek mag niet te lang zijn (numeric overflow)
IF :new.ins_srtkenmerk_kenmerktype = 'N'
AND :new.ins_srtkenmerk_lengte > 20
IF :new.ins_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.ins_srtkenmerk_lengte > 20
THEN
:new.ins_srtkenmerk_lengte := 20;
END IF;
IF :new.ins_srtkenmerk_kenmerktype = 'N' AND :old.ins_srtkenmerk_key IS NOT NULL
IF :new.ins_srtkenmerk_kenmerktype IN ('N', 'B') AND :old.ins_srtkenmerk_key IS NOT NULL
THEN
IF :old.ins_srtkenmerk_nmin <> :new.ins_srtkenmerk_nmin OR
(:old.ins_srtkenmerk_nmin IS NULL AND :new.ins_srtkenmerk_nmin IS NOT NULL)
@@ -683,7 +680,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'ins_m143,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType = 'N' /* Number */
ELSIF SrtKenmerkType IN ('N', 'B') /* Number */
THEN
/* Controleer of er een numerieke waarde ingevuld is */
IF SrtKenmerkDec IS NULL OR SrtKenmerkDec = 0
@@ -792,7 +789,7 @@ BEGIN
THEN
APPLICATION_ERROR_GOTO(-20004, 'ins_m143,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
END IF;
ELSIF SrtKenmerkType = 'N' /* Number */
ELSIF SrtKenmerkType IN ('N', 'B') /* Number */
THEN
/* Controleer of er een numerieke waarde ingevuld is */
IF SrtKenmerkDec IS NULL OR SrtKenmerkDec = 0

View File

@@ -2141,7 +2141,8 @@ AS
END
waarde_c,
CASE
WHEN skm.ins_srtkenmerk_kenmerktype = 'N' THEN TO_NUMBER (km.ins_kenmerkdeel_waarde)
WHEN skm.ins_srtkenmerk_kenmerktype = 'N' OR skm.ins_srtkenmerk_kenmerktype = 'B'
THEN TO_NUMBER (km.ins_kenmerkdeel_waarde)
ELSE TO_NUMBER (NULL)
END
waarde_n,

View File

@@ -2232,7 +2232,7 @@ BEGIN
IF waarde IS NOT NULL AND waarde <> '-1'
-- gevuld
THEN
IF r.mld_srtkenmerk_kenmerktype = 'N' AND r.nmin = 0 AND r.nmax = 1
IF r.mld_srtkenmerk_kenmerktype IN ('N', 'B') AND r.nmin = 0 AND r.nmax = 1
-- checkbox
THEN
IF waarde = '0'

View File

@@ -909,7 +909,7 @@ CREATE_TABLE(mld_srtkenmerk, 0)
, CONSTRAINT mld_c_mld_srtkenmerk_omschr CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_srtkenmerk_omschrijving CHECK(mld_srtkenmerk_omschrijving IS NOT NULL)
, CONSTRAINT mld_u_mld_srtkenmerk_upper UNIQUE(mld_srtkenmerk_upper, mld_srtkenmerk_verwijder)
, CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
, CONSTRAINT mld_c_mld_srtkenmerk_kenmtype CHECK(mld_srtkenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l', 'B'))
, CONSTRAINT mld_c_mld_srtkenmerk_systeem CHECK(mld_srtkenmerk_systeem IS NULL
OR mld_srtkenmerk_systeem = 1)
, CONSTRAINT mld_c_mld_srtkenmerk_lengte CHECK(mld_srtkenmerk_lengte >= 1