Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5762b2056c | ||
|
|
822fa77928 | ||
|
|
3df1e86ef5 | ||
|
|
3f989f3ef9 | ||
|
|
658bbfd5f9 | ||
|
|
41e70542a5 | ||
|
|
85859e890e | ||
|
|
cfb4c9284f | ||
|
|
3faaab5ff7 |
164
ADM/ADM_PAC.SRC
164
ADM/ADM_PAC.SRC
@@ -4,36 +4,34 @@
|
||||
|
||||
CREATE OR REPLACE PACKAGE adm
|
||||
AS
|
||||
FUNCTION systeminfo RETURN VARCHAR2;
|
||||
PROCEDURE systrackscriptId (svnid IN VARCHAR2, force IN NUMBER DEFAULT 1);
|
||||
PROCEDURE systrackscript (n IN VARCHAR2, r IN VARCHAR2, force IN NUMBER);
|
||||
PROCEDURE trydrop (n IN VARCHAR2);
|
||||
PROCEDURE tryalter (n IN VARCHAR2);
|
||||
FUNCTION scriptspoolfile(custpattern IN VARCHAR2, scriptname IN VARCHAR2) RETURN VARCHAR2;
|
||||
FUNCTION getscriptspoolfile(scriptname IN VARCHAR2) RETURN VARCHAR2;
|
||||
FUNCTION checkscriptcust(custpattern IN VARCHAR2) RETURN VARCHAR2;
|
||||
END adm;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY adm
|
||||
AS
|
||||
-- Voor SVN is dit handiger, vereist alleen de svn-id string
|
||||
-- ($Id$)
|
||||
PROCEDURE systrackscriptId (svnid IN VARCHAR2, force IN NUMBER DEFAULT 1)
|
||||
PROCEDURE systrackscript (n IN VARCHAR2, r IN VARCHAR2, force IN NUMBER)
|
||||
AS
|
||||
revisionnr adm_tracking.adm_tracking_revision%TYPE;
|
||||
scriptname adm_tracking.adm_tracking_name%TYPE;
|
||||
tempstr VARCHAR2 (100);
|
||||
revisionnr VARCHAR2 (60);
|
||||
scriptname VARCHAR2 (60);
|
||||
d1 adm_tracking.adm_tracking_name%TYPE;
|
||||
d2 adm_tracking.adm_tracking_revision%TYPE;
|
||||
BEGIN
|
||||
-- op het gemakje ontleden
|
||||
tempstr := REPLACE (svnid, '$Id: ', '');
|
||||
tempstr := RTRIM(SUBSTR(tempstr, 1, instr(tempstr, ' ', 1, 2)));
|
||||
-- is nu: ADM_PAC.SRC 19151
|
||||
scriptname := RTRIM(SUBSTR(tempstr, 1, instr(tempstr, ' ', 1, 1))); -- ADM_PAC
|
||||
revisionnr := SUBSTR(tempstr, instr(tempstr, ' ', 1, 1) + 1); -- 19151
|
||||
-- Als force = 1 dan wordt onvoorwaardelijk getrackt, anders
|
||||
-- wordt niet getrackt als deze (n,r) al eerder werd getrackt
|
||||
revisionnr := REPLACE (r, '$', '');
|
||||
revisionnr := RTRIM (REPLACE (revisionnr, 'Revision: ', ''));
|
||||
scriptname := REPLACE (n, '$', '');
|
||||
scriptname := RTRIM (REPLACE (scriptname, 'Workfile: ', ''));
|
||||
|
||||
IF force = 1
|
||||
THEN
|
||||
INSERT INTO adm_tracking (adm_tracking_name, adm_tracking_revision)
|
||||
VALUES (scriptname, revisionnr);
|
||||
INSERT INTO adm_tracking (adm_tracking_name, adm_tracking_revision
|
||||
)
|
||||
VALUES (scriptname, revisionnr
|
||||
);
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE adm_tracking
|
||||
@@ -43,11 +41,13 @@ AS
|
||||
|
||||
IF SQL%ROWCOUNT = 0
|
||||
THEN
|
||||
INSERT INTO adm_tracking (adm_tracking_name, adm_tracking_revision)
|
||||
VALUES (scriptname, revisionnr);
|
||||
INSERT INTO adm_tracking (adm_tracking_name, adm_tracking_revision
|
||||
)
|
||||
VALUES (scriptname, revisionnr
|
||||
);
|
||||
END IF;
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- DDL. Probeert een object (TABLE, INDEX e.d.) te droppen, maar moppert niet als die niet bestond
|
||||
@@ -69,7 +69,7 @@ AS
|
||||
DBMS_OUTPUT.put_line ('Not found, no need to drop: ' || n);
|
||||
NULL;
|
||||
ELSE
|
||||
raise_application_error(-20001, 'Error trying to DROP ' || n || ': ' || SQLERRM);
|
||||
raise_application_error (-20001, 'Error trying to DROP ' || n || ': ' || SQLERRM);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
@@ -86,126 +86,22 @@ AS
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
IF SQLCODE IN (-904, -942, -1418, -2289, -4043, -4080, -2443)
|
||||
IF SQLCODE IN (-942, -1418, -2289, -4043, -4080, -2443)
|
||||
THEN
|
||||
-- did not exist, voor identifier (column) table, view, index, sequence, object and trigger, constraint
|
||||
-- did not exist, voor table, view, index, sequence, object and trigger, constraint
|
||||
DBMS_OUTPUT.put_line ('Not found, not altered: ' || n);
|
||||
NULL;
|
||||
ELSIF SQLCODE IN (-955, -1442)
|
||||
ELSIF SQLCODE IN (-955)
|
||||
THEN
|
||||
-- object or not-null property already exist
|
||||
-- object already exist
|
||||
DBMS_OUTPUT.put_line ('Already exists, not altered: ' || n);
|
||||
NULL;
|
||||
ELSE
|
||||
raise_application_error(-20001, 'Error trying to ALTER ' || n || ': ' || SQLERRM);
|
||||
raise_application_error (-20001, 'Error trying to ALTER ' || n || ': ' || SQLERRM);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
FUNCTION scriptspoolfile (custpattern IN VARCHAR2, -- eg ^SGGR for 'start with SGGR', ATCH|BONS for two schema
|
||||
scriptname IN VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
IS
|
||||
lstname VARCHAR2(4000);
|
||||
tekst VARCHAR2(4000);
|
||||
BEGIN
|
||||
tekst := adm.checkscriptcust(custpattern);
|
||||
lstname := adm.getscriptspoolfile(scriptname);
|
||||
RETURN lstname;
|
||||
END;
|
||||
|
||||
FUNCTION getscriptspoolfile(scriptname IN VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
IS
|
||||
lstname VARCHAR2 (255);
|
||||
BEGIN
|
||||
lstname := scriptname
|
||||
|| '_' || USER || '_' || SYS_CONTEXT ('USERENV', 'SERVICE_NAME')
|
||||
|| '_' || SYS_CONTEXT ('USERENV', 'SERVER_HOST')
|
||||
|| '_' || TO_CHAR (SYSDATE, 'YYYYMMDD_HH24MISS')
|
||||
|| '.lst';
|
||||
RETURN UPPER(lstname);
|
||||
END;
|
||||
|
||||
FUNCTION systeminfo
|
||||
RETURN VARCHAR2
|
||||
IS
|
||||
tekst VARCHAR2 (4000);
|
||||
TYPE table_varchar IS TABLE OF VARCHAR2 (32);
|
||||
var_table_varchar table_varchar;
|
||||
BEGIN
|
||||
var_table_varchar :=
|
||||
table_varchar ('TERMINAL',
|
||||
'HOST',
|
||||
'LANGUAGE',
|
||||
'CURRENT_USER',
|
||||
'SESSION_USER',
|
||||
'DB_DOMAIN',
|
||||
'DB_NAME',
|
||||
'SERVER_HOST',
|
||||
'SERVICE_NAME',
|
||||
'IP_ADDRESS');
|
||||
|
||||
SELECT banner_full
|
||||
INTO tekst
|
||||
FROM v$version;
|
||||
tekst := tekst || CHR(10) ||'Time: ' || TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS');
|
||||
tekst := tekst || CHR(10) ||'OS-user: ' || SYS_CONTEXT('USERENV','OS_USER');
|
||||
FOR elem IN 1 .. var_table_varchar.COUNT
|
||||
LOOP
|
||||
tekst := tekst ||
|
||||
CHR(10) ||
|
||||
var_table_varchar (elem) || ': ' ||
|
||||
SYS_CONTEXT ('USERENV', var_table_varchar (elem));
|
||||
END LOOP;
|
||||
return tekst;
|
||||
END;
|
||||
|
||||
FUNCTION checkscriptcust(custpattern IN VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
IS
|
||||
klant VARCHAR2(4);
|
||||
groep VARCHAR2(4);
|
||||
fout NUMBER(1) := 0;
|
||||
qry VARCHAR2(4000);
|
||||
tekst VARCHAR2 (4000);
|
||||
BEGIN
|
||||
-- Wat handige info voor in de SPOOL-file (vooral bij licentieklanten waar we het niet altijd weten)
|
||||
tekst := adm.systeminfo;
|
||||
|
||||
BEGIN
|
||||
-- EXECUTE IMMEDIATE oplossing omdat in het CREA-script de fac_version_tabel er niet op tijd
|
||||
-- is, daardoor deze hele package invalid is en aan het eind de REGISTERRUN faalt
|
||||
-- (ook al gebruikt REGISTERRUN deze checkscriptcust niet)
|
||||
qry := 'SELECT fac_version_cust'
|
||||
|| ' , fac_version_group'
|
||||
|| ' FROM fac_version';
|
||||
EXECUTE IMMEDIATE qry INTO klant, groep;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
klant := USER;
|
||||
groep := USER;
|
||||
fout := 1;
|
||||
END;
|
||||
IF NOT (custpattern = klant OR (custpattern = groep AND groep IS NOT NULL) OR REGEXP_LIKE(USER, custpattern, 'i'))
|
||||
THEN
|
||||
IF (INSTR(custpattern,'^') = 0 OR fout = 0)
|
||||
THEN
|
||||
tekst := 'User should be ' || custpattern || ' but is ' || USER;
|
||||
ELSE
|
||||
tekst := 'User should match ' || custpattern || ' but is ' || USER;
|
||||
END IF;
|
||||
tekst := CHR(10)
|
||||
|| '============================================' || CHR(10)
|
||||
|| 'Wrong user!!!!!!!!!' || CHR(10)
|
||||
|| tekst || CHR(10)
|
||||
|| '============================================' || CHR(10);
|
||||
raise_application_error(-20001, tekst);
|
||||
END IF;
|
||||
|
||||
RETURN tekst;
|
||||
END;
|
||||
|
||||
END adm;
|
||||
END adm;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: ADM_PAC.SRC $','$Revision$')
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE adm_s_adm_tracking_key MINVALUE 1;
|
||||
|
||||
// De package is er nog niet bij de CREA dus uitgeschakeld
|
||||
// REGISTERONCE('$Id$')
|
||||
@@ -5,14 +5,8 @@
|
||||
|
||||
CREATE_TABLE(adm_tracking, 0)
|
||||
(
|
||||
adm_tracking_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT adm_k_adm_tracking_key PRIMARY KEY,
|
||||
adm_tracking_name VARCHAR2 (60),
|
||||
adm_tracking_revision VARCHAR2 (60),
|
||||
adm_tracking_date DATE DEFAULT SYSDATE,
|
||||
adm_tracking_osuser VARCHAR2 (60) DEFAULT SYS_CONTEXT('USERENV','OS_USER')
|
||||
);
|
||||
|
||||
// De package is er nog niet bij de CREA dus uitgeschakeld
|
||||
// REGISTERONCE('$Id$')
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
CREATE_TRIGGER(adm_t_adm_tracking_B_I)
|
||||
BEFORE INSERT ON adm_tracking
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(adm_tracking_key, adm_s_adm_tracking_key);
|
||||
END;
|
||||
/
|
||||
|
||||
//
|
||||
// Deze triggers zijn om access buiten de applicatie om te tracken,
|
||||
// bijvoorbeeld met SQLPlus of Toad maar dat kan van alles zijn
|
||||
// Ten behoeve van extra auditing. Standaard doen we dat niet, omdat
|
||||
// - het vereist niet-default privileges voor het SCHEMA (of niet?)
|
||||
// - we weten niet altijd hoe we de webserver zelf uit kunnen sluiten
|
||||
// Als we meer weten kunnen we deze misschien wel standaard aanzetten
|
||||
//
|
||||
|
||||
/*
|
||||
CREATE_TRIGGER(fclt_t_schema_session_on)
|
||||
AFTER
|
||||
LOGON
|
||||
ON SCHEMA
|
||||
WHEN ( SYS_CONTEXT ('USERENV', 'OS_USER') <> 'IUSR'
|
||||
AND SYS_CONTEXT ('USERENV', 'OS_USER') NOT LIKE 'OracleService%')
|
||||
BEGIN
|
||||
INSERT INTO adm_tracking (adm_tracking_name)
|
||||
SELECT 'Login using '
|
||||
|| SYS_CONTEXT ('USERENV', 'MODULE')
|
||||
|| ' from '
|
||||
|| SYS_CONTEXT ('USERENV', 'HOST')
|
||||
FROM DUAL;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fclt_t_schema_session_off)
|
||||
BEFORE
|
||||
LOGOFF
|
||||
ON SCHEMA
|
||||
WHEN ( SYS_CONTEXT ('USERENV', 'OS_USER') <> 'IUSR'
|
||||
AND SYS_CONTEXT ('USERENV', 'OS_USER') NOT LIKE 'OracleService%')
|
||||
BEGIN
|
||||
INSERT INTO adm_tracking (adm_tracking_name)
|
||||
SELECT 'Logoff using '
|
||||
|| SYS_CONTEXT ('USERENV', 'MODULE')
|
||||
|| ' from '
|
||||
|| SYS_CONTEXT ('USERENV', 'HOST')
|
||||
FROM DUAL;
|
||||
END;
|
||||
/
|
||||
|
||||
-- Wel definieren en uitzetten is riskant, want een disabled trigger lijkt fout
|
||||
ALTER TRIGGER fclt_t_schema_session_on DISABLE;
|
||||
ALTER TRIGGER fclt_t_schema_session_off DISABLE;
|
||||
*/
|
||||
|
||||
// De package is er nog niet bij de CREA dus uitgeschakeld
|
||||
// REGISTERRUN('$Id$')
|
||||
31
ALG/ALGSQL.H
31
ALG/ALGSQL.H
@@ -5,6 +5,35 @@
|
||||
*
|
||||
* History:
|
||||
*/
|
||||
#ifdef MS_SQL
|
||||
|
||||
#define SET_VERWIJDER_CHILDREN_DEEL(child_table, parent_key, parent_verwijder, \
|
||||
dummy1, child_verwijder, child_key, dummy2) \
|
||||
BEGIN \
|
||||
UPDATE child_table \
|
||||
SET child_verwijder = i.parent_verwijder \
|
||||
FROM inserted i left join deleted d \
|
||||
on i.parent_key = d.parent_key \
|
||||
WHERE child_table.child_key = i.parent_key \
|
||||
AND (i.parent_verwijder IS NOT NULL OR \
|
||||
(i.parent_verwijder IS NULL AND d.parent_verwijder IS NOT NULL)) \
|
||||
AND ins_alg_ruimte_type NOT IN ('W','T'); \
|
||||
END
|
||||
|
||||
#define SET_VERWIJDER_CHILDREN_DEELT(child_table, parent_key, parent_verwijder, \
|
||||
dummy1, child_verwijder, child_key, dummy2) \
|
||||
BEGIN \
|
||||
UPDATE child_table \
|
||||
SET child_verwijder = i.parent_verwijder \
|
||||
FROM inserted i left join deleted d \
|
||||
on i.parent_key = d.parent_key \
|
||||
WHERE child_table.child_key = i.parent_key \
|
||||
AND (i.parent_verwijder IS NOT NULL OR \
|
||||
(i.parent_verwijder IS NULL AND d.parent_verwijder IS NOT NULL)) \
|
||||
AND ins_alg_ruimte_type = 'T'; \
|
||||
END
|
||||
|
||||
#else
|
||||
|
||||
#define SET_VERWIJDER_CHILDREN_DEEL(child_table, parent_key, parent_verwijder, \
|
||||
dummy1, child_verwijder, child_key, dummy2) \
|
||||
@@ -32,6 +61,8 @@
|
||||
END IF; \
|
||||
END
|
||||
|
||||
#endif
|
||||
|
||||
#define SET_VERWIJDER_CHILDREN_DEELWP(child_table, parent_key, parent_verwijder, \
|
||||
dummy1, child_verwijder, child_key, dummy2) \
|
||||
BEGIN \
|
||||
|
||||
@@ -17,12 +17,7 @@ create index alg_i_alg_verdieping1 on alg_verdieping(alg_gebouw_key);
|
||||
create index alg_i_alg_ruimte1 on alg_ruimte(alg_verdieping_key);
|
||||
create index alg_i_alg_ruimte2 on alg_ruimte(alg_srtruimte_key);
|
||||
create index alg_i_alg_ruimte3 on alg_ruimte(alg_ruimte_key, alg_ruimte_nr);
|
||||
|
||||
create index alg_i_alg_kenmerk1 on alg_kenmerk(alg_kenmerk_code);
|
||||
|
||||
create index alg_i_alg_onroerendgoed_note1 on alg_onroerendgoed_note(alg_onroerendgoed_key, alg_onroerendgoed_typ);
|
||||
|
||||
// speciaal tbv ins_v_alg_overzicht:
|
||||
CREATE INDEX alg_i_alg_ruimte4 on alg_ruimte(alg_verdieping_key,alg_ruimte_key, alg_ruimte_upper_nr, alg_ruimte_nr);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: ALG_IND.SRC $','$Revision$')
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('ALG','lcl_module_ALG')
|
||||
_FAC_MODULE('ALG','Vastgoedbeheer')
|
||||
|
||||
DEF_FAC_MESSAGE ('ALG_OPENST_MELDING', 'heeft openstaande melding', '');
|
||||
DEF_FAC_MESSAGE ('ALG_BEVAT_OBJECT', 'bevat object', '');
|
||||
@@ -12,4 +12,4 @@ DEF_FAC_MESSAGE ('ALG_OPENST_RES_V', 'heeft niet-verwerkte voorzieningsreserveri
|
||||
DEF_FAC_MESSAGE ('ALG_TOEK_AFSPRAAK', 'heeft toekomstige afspraak', '');
|
||||
DEF_FAC_MESSAGE ('ALG_OPEN_CONTRACT', 'heeft lopend contract', '');
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: ALG_INI.SRC $','$Revision$')
|
||||
|
||||
@@ -70,5 +70,5 @@ AS
|
||||
END;
|
||||
END alg;
|
||||
/
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: PRS_PAC.SRC $','$Revision$')
|
||||
#endif // ALG
|
||||
|
||||
@@ -3,22 +3,20 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_import_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_regio_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_district_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_locatie_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_onroerendgoed_keys MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtgebouw_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtruimte_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtruimte_lg_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_objectdeel_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_systeemcluster_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_bouwdeel_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtterrein_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_srtverdieping_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE alg_s_alg_kenmerk_key MINVALUE 1000;
|
||||
CREATE SEQUENCE alg_s_alg_onrgoedkenmerk_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_algfaq_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_onroerendgoed_note_key MINVALUE 1;
|
||||
CREATE SEQUENCE alg_s_alg_kenmerk_key MINVALUE 1000;
|
||||
CREATE SEQUENCE alg_s_alg_onrgoedkenmerk_key MINVALUE 1;
|
||||
|
||||
273
ALG/ALG_TAB.SRC
273
ALG/ALG_TAB.SRC
@@ -21,10 +21,6 @@ CREATE_TABLE(alg_regio,0)
|
||||
alg_regio_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
alg_regio_externnr
|
||||
VARCHAR2(256),
|
||||
alg_regio_externsyncdate
|
||||
DATE,
|
||||
CONSTRAINT alg_u_alg_regio_upper UNIQUE(alg_regio_upper, alg_regio_verwijder)
|
||||
);
|
||||
|
||||
@@ -49,10 +45,6 @@ CREATE_TABLE(alg_district,0)
|
||||
alg_district_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
alg_district_externnr
|
||||
VARCHAR2(256),
|
||||
alg_district_externsyncdate
|
||||
DATE,
|
||||
CONSTRAINT alg_u_alg_district_upper UNIQUE(alg_regio_key, alg_district_upper,alg_district_verwijder)
|
||||
);
|
||||
|
||||
@@ -81,7 +73,7 @@ CREATE_TABLE(alg_locatie,0)
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
alg_locatie_adres
|
||||
VARCHAR2(50),
|
||||
VARCHAR2(35),
|
||||
alg_locatie_postcode
|
||||
VARCHAR2(12),
|
||||
alg_locatie_plaats
|
||||
@@ -89,7 +81,7 @@ CREATE_TABLE(alg_locatie,0)
|
||||
alg_locatie_land
|
||||
VARCHAR2(30),
|
||||
alg_locatie_post_adres
|
||||
VARCHAR2(50),
|
||||
VARCHAR2(35),
|
||||
alg_locatie_post_postcode
|
||||
VARCHAR2(12),
|
||||
alg_locatie_post_plaats
|
||||
@@ -101,30 +93,18 @@ CREATE_TABLE(alg_locatie,0)
|
||||
alg_locatie_verantw
|
||||
VARCHAR2(30),
|
||||
alg_locatie_verantw_tel
|
||||
VARCHAR2(20),
|
||||
VARCHAR2(15),
|
||||
alg_locatie_email /* might be used as sender */
|
||||
VARCHAR2(200),
|
||||
alg_locatie_x
|
||||
NUMBER(16,6),
|
||||
alg_locatie_y
|
||||
NUMBER(16,6),
|
||||
alg_locatie_mjb_score1
|
||||
NUMBER(6,2),
|
||||
alg_locatie_vervaldatum
|
||||
DATE,
|
||||
alg_locatie_image
|
||||
VARCHAR2(255),
|
||||
alg_locatie_externnr
|
||||
VARCHAR2(256),
|
||||
alg_locatie_externsyncdate
|
||||
DATE,
|
||||
alg_locatie_volgnr
|
||||
NUMBER(3),
|
||||
-- in MLD_TAB.SRC:
|
||||
-- mld_dienstniveau_key
|
||||
-- NUMBER(10)
|
||||
-- REFERENCES mld_dienstniveau(mld_dienstniveau_key) ON DELETE SET NULL,
|
||||
CONSTRAINT alg_u_alg_locatie_code UNIQUE(alg_district_key, alg_locatie_code, alg_locatie_verwijder),
|
||||
CONSTRAINT alg_u_alg_locatie_code UNIQUE(alg_locatie_code, alg_locatie_verwijder),
|
||||
CONSTRAINT alg_u_alg_locatie_upper UNIQUE(alg_district_key, alg_locatie_upper, alg_locatie_verwijder)
|
||||
);
|
||||
|
||||
@@ -156,28 +136,10 @@ CREATE_TABLE(alg_srtterreinsector,0)
|
||||
alg_srtterreinsector_verwijder
|
||||
DATE
|
||||
DEFAULT NULL,
|
||||
prs_verhuurbaar
|
||||
NUMBER(1),
|
||||
alg_srtterreinsector_code
|
||||
VARCHAR2(10),
|
||||
alg_srtterreinsec_t_uitvtijd /* pr3 */
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtterrein_t_uitvt CHECK(alg_srtterreinsec_t_uitvtijd.tijdsduur >= 0),
|
||||
alg_srtterreinsec_t_uitv_pr1
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtterrein_t_uitv1 CHECK(alg_srtterreinsec_t_uitv_pr1.tijdsduur >= 0),
|
||||
alg_srtterreinsec_t_uitv_pr2
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtterrein_t_uitv2 CHECK(alg_srtterreinsec_t_uitv_pr2.tijdsduur >= 0),
|
||||
alg_srtterreinsec_t_uitv_pr4
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtterrein_t_uitv4 CHECK(alg_srtterreinsec_t_uitv_pr4.tijdsduur >= 0),
|
||||
CONSTRAINT alg_u_alg_srtterreinsec_upper UNIQUE(alg_srtterreinsector_upper, alg_srtterreinsector_verwijder)
|
||||
CONSTRAINT alg_u_alg_srtterreinsec_upper UNIQUE(alg_srtterreinsector_upper, alg_srtterreinsector_verwijder),
|
||||
prs_verhuurbaar NUMBER(1),
|
||||
alg_srtterreinsector_code VARCHAR2(10)
|
||||
);
|
||||
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitvtijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtterreinsector MODIFY alg_srtterreinsec_t_uitv_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
|
||||
CREATE_TABLE(alg_terreinsector,0)
|
||||
(
|
||||
@@ -189,12 +151,13 @@ CREATE_TABLE(alg_terreinsector,0)
|
||||
NOT_NULL(alg_locatie_key, alg_r_alg_locatie_key1)
|
||||
CONSTRAINT alg_r_alg_locatie_key2 REFERENCES alg_locatie(alg_locatie_key),
|
||||
alg_terreinsector_omschrijving
|
||||
VARCHAR2(60),
|
||||
VARCHAR2(50)
|
||||
NOT_NULL(alg_terreinsector_omschrijving, alg_c_alg_terreinsector_omschr),
|
||||
alg_terreinsector_code
|
||||
VARCHAR2(12)
|
||||
NOT_NULL(alg_terreinsector_code, alg_c_alg_terreinsector_code),
|
||||
alg_terreinsector_naam
|
||||
VARCHAR2(60)
|
||||
VARCHAR2(30)
|
||||
NOT_NULL(alg_terreinsector_naam, alg_c_alg_terreinsector_naam),
|
||||
alg_terreinsector_upper
|
||||
VARCHAR2(30)
|
||||
@@ -215,28 +178,11 @@ CREATE_TABLE(alg_terreinsector,0)
|
||||
alg_terreinsector_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
alg_terreinsector_vervaldatum
|
||||
DATE,
|
||||
alg_terreinsector_ordernr
|
||||
VARCHAR2(30),
|
||||
alg_terreinsector_image
|
||||
VARCHAR2(255),
|
||||
alg_terreinsector_getekend
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
alg_terreinsector_toon_telef
|
||||
NUMBER(3) DEFAULT(0) NOT NULL
|
||||
CONSTRAINT alg_c_alg_terreinsector_telf CHECK(alg_terreinsector_toon_telef IN (0,1,2,3)), /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
|
||||
alg_terreinsector_toon_email
|
||||
NUMBER(3) DEFAULT(0) NOT NULL
|
||||
CONSTRAINT alg_c_alg_terreinsector_mail CHECK(alg_terreinsector_toon_email IN (0,1,2,3)), /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
|
||||
alg_terreinsector_toon_kentk
|
||||
NUMBER(3) DEFAULT(0) NOT NULL
|
||||
CONSTRAINT alg_c_alg_terreinsector_kent CHECK(alg_terreinsector_toon_kentk IN (0,1,2,3)), /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
|
||||
alg_terreinsector_externnr
|
||||
VARCHAR2(256),
|
||||
alg_terreinsector_extsyncdate
|
||||
DATE,
|
||||
-- in PRS_TAB.SRC:
|
||||
-- prs_kostenplaats_key
|
||||
-- NUMBER(10)
|
||||
@@ -244,12 +190,6 @@ CREATE_TABLE(alg_terreinsector,0)
|
||||
-- prs_afdeling_key
|
||||
-- NUMBER(10)
|
||||
-- CONSTRAINT alg_r_prs_afdeling1 REFERENCES prs_afdeling(prs_afdeling_key),
|
||||
-- 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),
|
||||
CONSTRAINT alg_u_alg_terreinsector_upper UNIQUE(alg_locatie_key, alg_terreinsector_upper, alg_terreinsector_verwijder)
|
||||
);
|
||||
|
||||
@@ -275,52 +215,8 @@ CREATE_TABLE(alg_srtgebouw,0)
|
||||
alg_srtgebouw_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
alg_srtgebouw_aspect_max_vg /* Veiligheid - Gezondheid */
|
||||
NUMBER(2)
|
||||
DEFAULT 1
|
||||
NOT NULL,
|
||||
alg_srtgebouw_aspect_max_ch /* Cultuur Historische waarde */
|
||||
NUMBER(2)
|
||||
DEFAULT 2
|
||||
NOT NULL,
|
||||
alg_srtgebouw_aspect_max_gb /* Gebruik en Bedrijfsproces */
|
||||
NUMBER(2)
|
||||
DEFAULT 3
|
||||
NOT NULL,
|
||||
alg_srtgebouw_aspect_max_tv /* Technische Vervolgschade */
|
||||
NUMBER(2)
|
||||
DEFAULT 5
|
||||
NOT NULL,
|
||||
alg_srtgebouw_aspect_max_tk /* Toename Klachtenonderhoud */
|
||||
NUMBER(2)
|
||||
DEFAULT 5
|
||||
NOT NULL,
|
||||
alg_srtgebouw_aspect_max_be /* Beleving - Esthetica */
|
||||
NUMBER(2)
|
||||
DEFAULT 7
|
||||
NOT NULL,
|
||||
alg_srtgebouw_aspect_max_en /* Energie (aanvulling) */
|
||||
NUMBER(2)
|
||||
DEFAULT 4
|
||||
NOT NULL,
|
||||
alg_srtgebouw_t_uitvoertijd /* pr3 */
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtgebouw_t_uitvtijd CHECK(alg_srtgebouw_t_uitvoertijd.tijdsduur >= 0),
|
||||
alg_srtgebouw_t_uitvoer_pr1
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr1 CHECK(alg_srtgebouw_t_uitvoer_pr1.tijdsduur >= 0),
|
||||
alg_srtgebouw_t_uitvoer_pr2
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr2 CHECK(alg_srtgebouw_t_uitvoer_pr2.tijdsduur >= 0),
|
||||
alg_srtgebouw_t_uitvoer_pr4
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtgebouw_t_uitv_pr4 CHECK(alg_srtgebouw_t_uitvoer_pr4.tijdsduur >= 0),
|
||||
CONSTRAINT alg_u_alg_srtgebouw_upper UNIQUE(alg_srtgebouw_upper, alg_srtgebouw_verwijder)
|
||||
);
|
||||
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtgebouw MODIFY alg_srtgebouw_t_uitvoer_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
|
||||
CREATE_TABLE(alg_gebouw,0)
|
||||
(
|
||||
@@ -335,20 +231,17 @@ CREATE_TABLE(alg_gebouw,0)
|
||||
NUMBER(10)
|
||||
CONSTRAINT alg_r_alg_srtgebouw_key REFERENCES alg_srtgebouw(alg_srtgebouw_key),
|
||||
alg_gebouw_naam
|
||||
VARCHAR2(60)
|
||||
VARCHAR2(30)
|
||||
NOT_NULL(alg_gebouw_naam, alg_c_alg_gebouw_naam),
|
||||
alg_gebouw_code
|
||||
VARCHAR2(12)
|
||||
NOT_NULL(alg_gebouw_code, alg_c_alg_gebouw_code),
|
||||
alg_gebouw_omschrijving
|
||||
VARCHAR2(60),
|
||||
VARCHAR2(60)
|
||||
NOT_NULL(alg_gebouw_omschrijving, alg_c_alg_gebouw_omschrijving),
|
||||
alg_gebouw_upper
|
||||
VARCHAR2(30) /* 12 ware genoeg geweest */
|
||||
NOT_NULL(alg_gebouw_upper, alg_c_alg_gebouw_upper),
|
||||
alg_gebouw_adres
|
||||
VARCHAR2(50),
|
||||
alg_gebouw_postcode
|
||||
VARCHAR2(12),
|
||||
alg_gebouw_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
@@ -379,17 +272,10 @@ CREATE_TABLE(alg_gebouw,0)
|
||||
-- CONSTRAINT alg_r_mld_adres_key1 REFERENCES mld_adres(mld_adres_key),
|
||||
alg_gebouw_opmerking
|
||||
VARCHAR2(50),
|
||||
-- in PRS_TAB.SRC: de gebouwverantwoordelijke (1 en 2)
|
||||
-- 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),
|
||||
alg_gebouw_dwgx
|
||||
NUMBER(16,3),
|
||||
NUMBER(10,3),
|
||||
alg_gebouw_dwgy
|
||||
NUMBER(16,3),
|
||||
NUMBER(10,3),
|
||||
alg_gebouw_x
|
||||
NUMBER(16,6),
|
||||
alg_gebouw_y
|
||||
@@ -408,38 +294,6 @@ CREATE_TABLE(alg_gebouw,0)
|
||||
DEFAULT 1
|
||||
CONSTRAINT alg_c_alg_gebouw_bez CHECK(alg_gebouw_bez IS NULL
|
||||
OR alg_gebouw_bez = 1),
|
||||
alg_gebouw_mld
|
||||
NUMBER(1)
|
||||
DEFAULT(1)
|
||||
CONSTRAINT alg_c_alg_gebouw_mld CHECK(alg_gebouw_mld IS NULL
|
||||
OR alg_gebouw_mld = 1),
|
||||
alg_gebouw_email
|
||||
VARCHAR2(200),
|
||||
alg_gebouw_vervaldatum
|
||||
DATE,
|
||||
alg_gebouw_image
|
||||
VARCHAR2(255),
|
||||
alg_gebouw_mjb_score1
|
||||
NUMBER(6,2),
|
||||
alg_gebouw_toon_telefoon
|
||||
NUMBER(3) DEFAULT(0) NOT NULL
|
||||
CONSTRAINT alg_c_alg_gebouw_toon_telf CHECK(alg_gebouw_toon_telefoon IN (0,1,2,3)), /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
|
||||
alg_gebouw_toon_email
|
||||
NUMBER(3) DEFAULT(0) NOT NULL
|
||||
CONSTRAINT alg_c_alg_gebouw_toon_mail CHECK(alg_gebouw_toon_email IN (0,1,2,3)), /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
|
||||
alg_gebouw_toon_kenteken
|
||||
NUMBER(3) DEFAULT(0) NOT NULL
|
||||
CONSTRAINT alg_c_alg_gebouw_toon_kent CHECK(alg_gebouw_toon_kenteken IN (0,1,2,3)), /* 0=Onzichtbaar; 1=Niet verplicht; 2=Verplicht bij parkeerplaats. 3=Altijd verplicht */
|
||||
alg_gebouw_groep
|
||||
VARCHAR2(60),
|
||||
alg_gebouw_externnr
|
||||
VARCHAR2(256),
|
||||
alg_gebouw_externsyncdate
|
||||
DATE,
|
||||
-- in MLD_TAB.SRC:
|
||||
-- mld_dienstniveau_key
|
||||
-- NUMBER(10)
|
||||
-- REFERENCES mld_dienstniveau(mld_dienstniveau_key) ON DELETE SET NULL,
|
||||
CONSTRAINT alg_u_alg_gebouw_upper UNIQUE(alg_locatie_key, alg_gebouw_upper, alg_gebouw_verwijder)
|
||||
);
|
||||
|
||||
@@ -470,11 +324,6 @@ CREATE_TABLE(alg_verdieping,0)
|
||||
NOT_NULL(alg_verdieping_volgnr, alg_c_alg_verdieping_volgnr),
|
||||
alg_verdieping_tekening /* references the drawingfile */
|
||||
VARCHAR2(32),
|
||||
alg_verdieping_dwgz
|
||||
NUMBER(16,3),
|
||||
alg_verdieping_bruto_vloeropp
|
||||
NUMBER(12,2)
|
||||
CONSTRAINT alg_c_alg_verdieping_vloeropp CHECK(alg_verdieping_bruto_vloeropp >= 0),
|
||||
alg_verdieping_in_bewerking
|
||||
NUMBER(1)
|
||||
CONSTRAINT alg_c_alg_verdieping_in_bewerk CHECK(alg_verdieping_in_bewerking IS NULL
|
||||
@@ -482,10 +331,6 @@ CREATE_TABLE(alg_verdieping,0)
|
||||
alg_verdieping_code
|
||||
VARCHAR2(10)
|
||||
NOT_NULL(alg_verdieping_code, alg_c_alg_verdieping_code),
|
||||
alg_verdieping_externnr
|
||||
VARCHAR2(256),
|
||||
alg_verdieping_externsyncdate
|
||||
DATE,
|
||||
-- in MLD_TAB.SRC:
|
||||
-- mld_dienstniveau_key
|
||||
-- NUMBER(10)
|
||||
@@ -533,26 +378,13 @@ CREATE_TABLE(alg_srtruimte,0)
|
||||
NUMBER(1)
|
||||
CONSTRAINT alg_c_prs_verhuurbaar CHECK(prs_verhuurbaar IS NULL
|
||||
OR prs_verhuurbaar = 1 ),
|
||||
alg_srtruimte_t_uitvoertijd
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtruimt_t_uitvtijd CHECK(alg_srtruimte_t_uitvoertijd.tijdsduur >= 0),
|
||||
alg_srtruimte_t_uitvoer_pr1
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr1 CHECK(alg_srtruimte_t_uitvoer_pr1.tijdsduur >= 0),
|
||||
alg_srtruimte_t_uitvoer_pr2
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr2 CHECK(alg_srtruimte_t_uitvoer_pr2.tijdsduur >= 0),
|
||||
alg_srtruimte_t_uitvoer_pr4
|
||||
MLD_T_UITVOERTIJD
|
||||
CONSTRAINT alg_c_alg_srtruimt_t_uitv_pr4 CHECK(alg_srtruimte_t_uitvoer_pr4.tijdsduur >= 0),
|
||||
CONSTRAINT alg_c_prs_werkplek_verhuurbaar CHECK(NOT(prs_bevat_werkplek = 1
|
||||
alg_srtruimte_uitvoertijd
|
||||
NUMBER(8,5)
|
||||
CONSTRAINT alg_c_alg_srtruimt_uitvoertijd CHECK(alg_srtruimte_uitvoertijd >= 0),
|
||||
CONSTRAINT alg_c_prs_werkplek_verhuurbaar CHECK(NOT(prs_bevat_werkplek = 1
|
||||
AND prs_verhuurbaar IS NULL)),
|
||||
CONSTRAINT alg_u_alg_srtruimte_upper UNIQUE(alg_srtruimte_upper, alg_srtruimte_verwijder)
|
||||
);
|
||||
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoertijd DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr1 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr2 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
ALTER TABLE alg_srtruimte MODIFY alg_srtruimte_t_uitvoer_pr4 DEFAULT MLD_T_UITVOERTIJD(NULL, NULL);
|
||||
|
||||
CREATE_TABLE(alg_srtruimte_locatiegebouw,0)
|
||||
(
|
||||
@@ -597,10 +429,10 @@ CREATE_TABLE(alg_ruimte,0)
|
||||
NUMBER(10)
|
||||
CONSTRAINT alg_r_alg_srtruimte_key REFERENCES alg_srtruimte(alg_srtruimte_key),
|
||||
alg_ruimte_nr
|
||||
VARCHAR2(20)
|
||||
VARCHAR2(10)
|
||||
NOT_NULL(alg_ruimte_nr, alg_c_alg_ruimte_nr),
|
||||
alg_ruimte_upper_nr /* references into the drawing */
|
||||
VARCHAR2(20)
|
||||
VARCHAR2(10)
|
||||
NOT_NULL(alg_ruimte_upper_nr, alg_c_alg_ruimte_upper_nr),
|
||||
alg_ruimte_acadkey
|
||||
VARCHAR2(10),
|
||||
@@ -647,10 +479,6 @@ CREATE_TABLE(alg_ruimte,0)
|
||||
NUMBER(1)
|
||||
-- DEFAULT NULL op gebouw terugvallen
|
||||
CONSTRAINT alg_c_alg_ruimte_werk CHECK(alg_ruimte_werkdagen IN (0,1)),
|
||||
alg_ruimte_externnr
|
||||
VARCHAR2(256),
|
||||
alg_ruimte_externsyncdate
|
||||
DATE,
|
||||
-- in MLD_TAB.SRC:
|
||||
-- mld_dienstniveau_key
|
||||
-- NUMBER(10)
|
||||
@@ -712,35 +540,25 @@ CREATE_TABLE(alg_kenmerk,0)
|
||||
VARCHAR2(50)
|
||||
,alg_kenmerk_upper
|
||||
VARCHAR2(50)
|
||||
,alg_kenmerk_code
|
||||
VARCHAR2(60)
|
||||
,alg_kenmerk_hint
|
||||
VARCHAR2(255)
|
||||
,alg_kenmerk_default
|
||||
VARCHAR2(4000)
|
||||
,alg_kenmerk_show_expr
|
||||
VARCHAR2(4000)
|
||||
,alg_kenmerk_dimensie
|
||||
VARCHAR2(10)
|
||||
,alg_kenmerk_kenmerktype
|
||||
VARCHAR2(1)
|
||||
CONSTRAINT alg_c_alg_kenmerk_type1 CHECK(alg_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
|
||||
CONSTRAINT alg_c_alg_kenmerk_type1 CHECK(alg_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
|
||||
,alg_kenmerk_systeem
|
||||
NUMBER(2)
|
||||
NUMBER(1)
|
||||
,alg_kenmerk_toonbaar
|
||||
NUMBER(1)
|
||||
,alg_kenmerk_inlijst
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
,alg_kenmerk_uniek
|
||||
NUMBER(1)
|
||||
,alg_kenmerk_regexp
|
||||
VARCHAR2(255)
|
||||
,alg_kenmerk_verplicht
|
||||
NUMBER(1)
|
||||
,alg_kenmerk_groep
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
,alg_kenmerk_lengte
|
||||
NUMBER(4)
|
||||
,alg_kenmerk_dec
|
||||
@@ -759,49 +577,6 @@ CREATE_TABLE(alg_kenmerk,0)
|
||||
,alg_kenmerk_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM
|
||||
,fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT fac_r_alg_kenmerk_functie REFERENCES fac_functie (fac_functie_key)
|
||||
);
|
||||
|
||||
-- Koppeltabel tussen de Kennisbank (FAQ) en plaats (alg_v_allonroerendgoed)
|
||||
CREATE_TABLE(alg_algfaq, 0)
|
||||
(
|
||||
alg_algfaq_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT alg_k_algfaq_key PRIMARY KEY,
|
||||
alg_locatie_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(alg_locatie_key, mld_c_alg_locatie_key)
|
||||
CONSTRAINT mld_r_mld_locatie_key1 REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
|
||||
alg_onroerendgoed_keys
|
||||
NUMBER(10),
|
||||
fac_faq_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(fac_faq_key, alg_c_fac_faq_key)
|
||||
CONSTRAINT alg_r_fac_faq_key1 REFERENCES fac_faq(fac_faq_key) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE_TABLE(alg_onroerendgoed_note, 0)
|
||||
( alg_onroerendgoed_note_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT alg_k_alg_onroerendgoed_note_key PRIMARY KEY
|
||||
, alg_onroerendgoed_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT alg_c_alg_onroerendgoed_key1 CHECK(alg_onroerendgoed_key IS NOT NULL)
|
||||
, alg_onroerendgoed_typ
|
||||
VARCHAR (1)
|
||||
CONSTRAINT alg_c_alg_onroerendgoed_typ1 CHECK(alg_onroerendgoed_typ IS NOT NULL)
|
||||
CONSTRAINT alg_c_alg_onroerendgoed_typ2 CHECK(alg_onroerendgoed_typ IN ('R','V','G','L'))
|
||||
, alg_onroerendgoed_note_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
--, prs_perslid_key
|
||||
-- NUMBER (10)
|
||||
-- CONSTRAINT alg_r_prs_perslid_key5 REFERENCES prs_perslid (prs_perslid_key) ON DELETE SET NULL
|
||||
, alg_onroerendgoed_note_omschrijving
|
||||
VARCHAR2 (4000 CHAR)
|
||||
);
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: ALG_TAB.SRC $','$Revision$')
|
||||
|
||||
154
ALG/ALG_TRI.SRC
154
ALG/ALG_TRI.SRC
@@ -77,10 +77,10 @@ BEGIN
|
||||
WHERE mld_alg_locatie_key=:old.alg_locatie_key
|
||||
AND fac_activiteit_key IS NULL
|
||||
AND mld_melding_status IN (0,2,3,4,7);
|
||||
raise_application_error(-20001, 'alg_m999 Locatie kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
APPLICATION_ERROR(-20000, 'alg_m999 Locatie kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20001,'alg_m999 Locatie kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'alg_m999 Locatie kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
END;
|
||||
|
||||
DELETE FROM cad_tekening WHERE alg_locatie_key=:old.alg_locatie_key;
|
||||
@@ -94,6 +94,9 @@ BEFORE INSERT OR UPDATE ON alg_terreinsector
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_terreinsector_key, alg_s_alg_onroerendgoed_keys);
|
||||
|
||||
:new.alg_terreinsector_omschrijving := SUBSTRB(:new.alg_terreinsector_code ||' - '|| :new.alg_terreinsector_naam,1,50);
|
||||
|
||||
UPDATE_UPPER(alg_terreinsector_code,alg_terreinsector_upper,alg_terreinsector);
|
||||
UPDATE_AANMAAKDATUM(alg_terreinsector, alg_terreinsector_aanmaak);
|
||||
SET_VERWIJDER_CHILDREN_DEELT(ins_deel, alg_terreinsector_key, alg_terreinsector_verwijder, NULL,
|
||||
@@ -114,6 +117,20 @@ BEGIN
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'cnt_m027');
|
||||
END;
|
||||
/* CONN#465 */
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
SELECT 'x'
|
||||
INTO dummy
|
||||
FROM cnt_contract_onrgoed co
|
||||
WHERE co.ALG_ONRGOED_KEY = :old.alg_terreinsector_key
|
||||
AND co.ALG_ONRGOED_NIVEAU = 'T';
|
||||
APPLICATION_ERROR_GOTO(-20000,'alg_m999 Terrein heeft nog huurcontract');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000,'alg_m999 Terrein heeft nog huurcontract');
|
||||
END;
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
@@ -123,10 +140,10 @@ BEGIN
|
||||
WHERE mld_alg_onroerendgoed_keys=:old.alg_terreinsector_key
|
||||
AND fac_activiteit_key IS NULL
|
||||
AND mld_melding_status IN (0,2,3,4,7);
|
||||
raise_application_error(-20001, 'alg_m999 Terrein kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
APPLICATION_ERROR(-20000, 'alg_m999 Terrein kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20001, 'alg_m999 Terrein kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'alg_m999 Terrein kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
END;
|
||||
/* Terrein kent geen bezoekers */
|
||||
END IF;
|
||||
@@ -152,6 +169,7 @@ BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_gebouw_key, alg_s_alg_onroerendgoed_keys);
|
||||
UPDATE_UPPER(alg_gebouw_code, alg_gebouw_upper,alg_gebouw);
|
||||
UPDATE_AANMAAKDATUM(alg_gebouw, alg_gebouw_aanmaak);
|
||||
:new.alg_gebouw_omschrijving := SUBSTRB(:new.alg_gebouw_code ||' - '|| :new.alg_gebouw_naam,1,60);
|
||||
LAAT_VERDIEPING_VERVALLEN_VOOR_GEBOUW('alg_m54');
|
||||
IF :new.alg_gebouw_verwijder IS NOT NULL AND :old.alg_gebouw_verwijder IS NULL THEN
|
||||
DECLARE
|
||||
@@ -164,10 +182,10 @@ BEGIN
|
||||
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
|
||||
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_gebouw_key
|
||||
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'G';
|
||||
raise_application_error(-20000,'cnt_m026');
|
||||
APPLICATION_ERROR_GOTO(-20000,'cnt_m026');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'cnt_m026');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000,'cnt_m026');
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
@@ -179,10 +197,10 @@ BEGIN
|
||||
WHERE mld_alg_onroerendgoed_keys = :OLD.alg_gebouw_key
|
||||
AND fac_activiteit_key IS NULL
|
||||
AND mld_melding_status IN (0,2,3,4,7);
|
||||
raise_application_error(-20001, 'alg_m999 Gebouw kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
APPLICATION_ERROR(-20000, 'alg_m999 Gebouw kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20001, 'alg_m999 Gebouw kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'alg_m999 Gebouw kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
END;
|
||||
|
||||
/* Wissen laat een ingevulde locatie_key over, wat goed is */
|
||||
@@ -214,10 +232,10 @@ BEGIN
|
||||
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
|
||||
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_verdieping_key
|
||||
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'V';
|
||||
raise_application_error(-20000,'cnt_m025');
|
||||
APPLICATION_ERROR_GOTO(-20000,'cnt_m025');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'cnt_m025');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000,'cnt_m025');
|
||||
END;
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
@@ -228,10 +246,10 @@ BEGIN
|
||||
WHERE mld_alg_onroerendgoed_keys=:old.alg_verdieping_key
|
||||
AND fac_activiteit_key IS NULL
|
||||
AND mld_melding_status IN (0,2,3,4,7);
|
||||
raise_application_error(-20001, 'alg_m999 Verdieping kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
APPLICATION_ERROR(-20000, 'alg_m999 Verdieping kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20001, 'alg_m999 Verdieping kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'alg_m999 Verdieping kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
END;
|
||||
DELETE FROM cad_tekening WHERE alg_verdieping_key=:old.alg_verdieping_key;
|
||||
|
||||
@@ -292,10 +310,10 @@ BEGIN
|
||||
AND ALG_SR_2.alg_srtruimte_key = :new.alg_srtruimte_key
|
||||
AND ALG_SR_2.prs_bevat_werkplek IS NULL
|
||||
AND PRS_W.prs_alg_ruimte_key = :new.alg_ruimte_key;
|
||||
raise_application_error(-20000, 'prs_m034');
|
||||
APPLICATION_ERROR_GOTO(-20000, 'prs_m034');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000, 'prs_m034');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000, 'prs_m034');
|
||||
END;
|
||||
END IF;
|
||||
IF :new.alg_ruimte_verwijder IS NOT NULL AND :old.alg_ruimte_verwijder IS NULL THEN
|
||||
@@ -309,10 +327,24 @@ BEGIN
|
||||
AND cnt_v_aanwezigcontract.cnt_contract_looptijd_tot > sysdate
|
||||
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_key = :old.alg_ruimte_key
|
||||
AND cnt_v_aanwezigcontract_plaats.cnt_alg_plaats_code = 'R';
|
||||
raise_application_error(-20000,'cnt_m024');
|
||||
APPLICATION_ERROR_GOTO(-20000,'cnt_m024');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'cnt_m024');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000,'cnt_m024');
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
dummy CHAR;
|
||||
BEGIN
|
||||
SELECT 'x'
|
||||
INTO dummy
|
||||
FROM cnt_contract_onrgoed co
|
||||
WHERE co.alg_onrgoed_key = :old.alg_ruimte_key
|
||||
AND co.alg_onrgoed_niveau = 'R';
|
||||
APPLICATION_ERROR_GOTO(-20000,'alg_m999 Ruimte heeft nog huurcontract');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR_GOTO(-20000,'alg_m999 Ruimte heeft nog huurcontract');
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
@@ -348,10 +380,10 @@ BEGIN
|
||||
AND rd.res_rsv_deel_verwijder IS NULL
|
||||
AND res_rsv_ruimte_tot > SYSDATE-14
|
||||
AND rd.res_status_bo_key < 5);
|
||||
raise_application_error(-20000, 'res_m039');
|
||||
APPLICATION_ERROR(-20000, 'res_m039');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000, 'res_m039');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'res_m039');
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
@@ -363,10 +395,10 @@ BEGIN
|
||||
WHERE mld_alg_onroerendgoed_keys=:old.alg_ruimte_key
|
||||
AND fac_activiteit_key IS NULL
|
||||
AND mld_melding_status IN (0,2,3,4,7);
|
||||
raise_application_error(-20001, 'Ruimte kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
APPLICATION_ERROR(-20000, 'Ruimte kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20001, 'alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog lopende meldingen');
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
@@ -378,10 +410,10 @@ BEGIN
|
||||
WHERE ins_alg_ruimte_key=:old.alg_ruimte_key
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND ins_alg_ruimte_type = 'R';
|
||||
raise_application_error(-20001, 'alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog objecten');
|
||||
APPLICATION_ERROR(-20000, 'alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog objecten');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN raise_application_error(-20001, 'alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog objecten');
|
||||
WHEN TOO_MANY_ROWS THEN APPLICATION_ERROR(-20000, 'alg_m999 Ruimte kan nog niet verwijderd worden. Er zijn nog objecten');
|
||||
END;
|
||||
|
||||
UPDATE res_alg_ruimte
|
||||
@@ -410,23 +442,24 @@ BEFORE INSERT OR UPDATE ON alg_kenmerk
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_kenmerk_key, alg_s_alg_kenmerk_key);
|
||||
UPDATE_UPPER(alg_kenmerk_omschrijving, alg_kenmerk_upper, alg_kenmerk);
|
||||
UPDATE_UPPER(alg_kenmerk_code, alg_kenmerk_code, alg_kenmerk);
|
||||
UPDATE_UPPER(alg_kenmerk_omschrijving, alg_kenmerk_upper,alg_kenmerk);
|
||||
IF (:new.alg_kenmerk_verwijder IS NOT NULL AND :old.alg_kenmerk_verwijder IS NULL AND
|
||||
:new.alg_kenmerk_systeem = 1)
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_M238');
|
||||
APPLICATION_ERROR(-20003, 'ALG_M238');
|
||||
END IF;
|
||||
IF :new.alg_kenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.alg_kenmerk_lengte IS NULL
|
||||
IF (:new.alg_kenmerk_kenmerktype IN ('C','N'))
|
||||
AND :new.alg_kenmerk_lengte IS NULL
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
|
||||
END IF;
|
||||
-- Numeriek mag niet te lang zijn (numeric overflow)
|
||||
IF :new.alg_kenmerk_kenmerktype IN ('N', 'B') AND :new.alg_kenmerk_lengte > 20
|
||||
IF :new.alg_kenmerk_kenmerktype = 'N'
|
||||
AND :new.alg_kenmerk_lengte > 20
|
||||
THEN
|
||||
:new.alg_kenmerk_lengte := 20;
|
||||
END IF;
|
||||
IF :new.alg_kenmerk_kenmerktype IN ('N', 'B') AND :old.alg_kenmerk_key IS NOT NULL
|
||||
IF :new.alg_kenmerk_kenmerktype = 'N' 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
|
||||
@@ -444,9 +477,9 @@ BEGIN
|
||||
AND FAC.SAFE_TO_NUMBER(alg_onrgoedkenmerk_waarde) < :new.alg_kenmerk_nmin
|
||||
AND rownum=1);
|
||||
IF :new.alg_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
@@ -454,9 +487,9 @@ BEGIN
|
||||
WHEN TOO_MANY_ROWS THEN
|
||||
BEGIN
|
||||
IF :new.alg_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MIN_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MIN_R');
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
@@ -477,9 +510,9 @@ BEGIN
|
||||
AND FAC.SAFE_TO_NUMBER(alg_onrgoedkenmerk_waarde) > :new.alg_kenmerk_nmax
|
||||
AND rownum=1);
|
||||
IF :new.alg_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
@@ -487,9 +520,9 @@ BEGIN
|
||||
WHEN TOO_MANY_ROWS THEN
|
||||
BEGIN
|
||||
IF :new.alg_kenmerk_niveau = 'G' THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MAX_G');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_MAX_R');
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
@@ -544,7 +577,7 @@ BEGIN
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN raise_application_error(-20000, 'ALG_M015');
|
||||
THEN APPLICATION_ERROR_GOTO(-20000, 'ALG_M015');
|
||||
END;
|
||||
SELECT alg_kenmerk_omschrijving
|
||||
, alg_kenmerk_kenmerktype
|
||||
@@ -562,7 +595,7 @@ BEGIN
|
||||
WHERE alg_kenmerk_key = :new.alg_kenmerk_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN raise_application_error(-20000,'INS_R_INS_KENMERK_KEY1');
|
||||
THEN APPLICATION_ERROR_GOTO(-20000,'INS_R_INS_KENMERK_KEY1');
|
||||
END;
|
||||
|
||||
/* Kijk welk KenmerkType gebruikt wordt.
|
||||
@@ -578,10 +611,10 @@ BEGIN
|
||||
*/
|
||||
IF LENGTH(KenmerkWaarde) > KenmerkLengte
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'ALG_M232,'|| KenmerkOmschr ||','
|
||||
|| TO_CHAR(KenmerkLengte));
|
||||
APPLICATION_ERROR(-20004, 'ALG_M232,'|| KenmerkOmschr ||','
|
||||
|| TO_CHAR(KenmerkLengte));
|
||||
END IF;
|
||||
ELSIF KenmerkType IN ('N', 'B')
|
||||
ELSIF KenmerkType = 'N'
|
||||
/*
|
||||
** Number
|
||||
*/
|
||||
@@ -606,8 +639,8 @@ BEGIN
|
||||
THEN FormatMask := REPLACE(FormatMask, '9', '#');
|
||||
FormatMask := REPLACE(FormatMask, '0', '#');
|
||||
FormatMask := REPLACE(FormatMask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004,'ALG_M233,'|| KenmerkOmschr ||','
|
||||
|| FormatMask);
|
||||
RAISE_APPLICATION_ERROR(-20004,'ALG_M233,'|| KenmerkOmschr ||','
|
||||
|| FormatMask);
|
||||
END;
|
||||
/*
|
||||
** Controleer of de waarde binnen NMin en NMax ligt
|
||||
@@ -657,40 +690,13 @@ CREATE_TRIGGER(alg_t_alg_srtterreinsec_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON alg_srtterreinsector
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_srtterreinsector_key, alg_s_alg_srtterrein_key);
|
||||
UPDATE_PRIMARY_KEY(alg_srtterreinsector_key, alg_s_alg_srtruimte_key);
|
||||
UPDATE_UPPER(alg_srtterreinsec_omschrijving, alg_srtterreinsector_upper,alg_srtterreinsector);
|
||||
UPDATE_AANMAAKDATUM(alg_srtterreinsector, alg_srtterreinsector_aanmaak);
|
||||
|
||||
CHECK_NOG_REFERENCES(alg_srtterreinsector, alg_srtterreinsector_verwijder,
|
||||
alg_v_aanwezigterreinsector, alg_srtterreinsector_key, 'alg_m041');
|
||||
alg_v_aanwezigsrtterreinsector, alg_srtterreinsector_key, 'alg_m041');
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(alg_t_alg_algfaq_B_I)
|
||||
BEFORE INSERT ON alg_algfaq
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_algfaq_key, alg_s_alg_algfaq_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(alg_t_alg_algfaq_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON alg_algfaq
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF :new.alg_onroerendgoed_keys IS NOT NULL
|
||||
THEN
|
||||
CHECK_REFERENCE_ONROERENDGOED(alg_onroerendgoed_keys, 'alg_m239 alg_onroerendgoed_keys ('|| :new.alg_onroerendgoed_keys ||') bestaat niet');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(alg_t_alg_onroerendgoed_note_B_I)
|
||||
BEFORE INSERT ON alg_onroerendgoed_note
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(alg_onroerendgoed_note_key, alg_s_alg_onroerendgoed_note_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: ALG_TRI.SRC $','$Revision$')
|
||||
|
||||
1021
ALG/ALG_VIE.SRC
1021
ALG/ALG_VIE.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,13 +0,0 @@
|
||||
/* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE UNIQUE INDEX aut_i_idp_code ON aut_idp(aut_idp_code);
|
||||
CREATE UNIQUE INDEX aut_i_idp2 ON aut_idp(aut_idp_issuer, aut_idp_audience, aut_idp_type);
|
||||
|
||||
CREATE UNIQUE INDEX aut_i_sp_code ON aut_sp(aut_sp_code);
|
||||
|
||||
CREATE UNIQUE INDEX aut_i_cp_refreshtkn ON aut_client_perslid(aut_client_perslid_refreshtkn);
|
||||
CREATE UNIQUE INDEX aut_i_cp_accesstoken ON aut_client_perslid(aut_client_perslid_accesstoken);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('AUT','lcl_module_AUT')
|
||||
|
||||
INSERT INTO aut_idp
|
||||
(aut_idp_code, aut_idp_type, aut_idp_algorithm,
|
||||
aut_idp_omschrijving, aut_idp_opmerking,
|
||||
aut_idp_secret, aut_idp_audience, aut_idp_issuer, aut_idp_clockskew)
|
||||
VALUES ('_INTERNAL', 4, 'HS256',
|
||||
'Internal use', 'Internal use only. Do not modify',
|
||||
DBMS_RANDOM.string('a', 32), 'internal.facilitor.nl', 'internal.facilitor.nl', 30
|
||||
);
|
||||
|
||||
INSERT INTO aut_idp_map
|
||||
(aut_idp_key, aut_idp_map_from, aut_idp_map_to, aut_idp_map_identify)
|
||||
SELECT aut_idp_key, 'perslid_key', 99, 1
|
||||
FROM aut_idp
|
||||
WHERE aut_idp_code = '_INTERNAL';
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE aut_s_aut_idp_key MINVALUE 1;
|
||||
CREATE SEQUENCE aut_s_aut_idp_map_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE aut_s_aut_sp_key MINVALUE 1;
|
||||
CREATE SEQUENCE aut_s_aut_sp_map_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE aut_s_aut_client_key MINVALUE 1;
|
||||
CREATE SEQUENCE aut_s_aut_client_perslid_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
220
AUT/AUT_TAB.SRC
220
AUT/AUT_TAB.SRC
@@ -1,220 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
// Documentatie in de wiki onder Authenticeren
|
||||
CREATE TABLE aut_idp
|
||||
(
|
||||
aut_idp_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_k_idp_key PRIMARY KEY,
|
||||
aut_idp_code -- Voor &sso=<code>
|
||||
VARCHAR2(30),
|
||||
aut_idp_type -- 1=Internal (login.asp, future use), 2=UID_DEC (deprecated),
|
||||
NUMBER(3), -- 3=GUID-encrypted (deprecated), 4=JWT, 5=SAML (future use)
|
||||
aut_idp_algorithm -- HS256 is HMAC-SHA256
|
||||
VARCHAR2(30),
|
||||
aut_idp_omschrijving
|
||||
VARCHAR2(30),
|
||||
aut_idp_opmerking
|
||||
VARCHAR2(320),
|
||||
aut_idp_secret
|
||||
VARCHAR2(128),
|
||||
aut_idp_audience
|
||||
VARCHAR2(128),
|
||||
aut_idp_issuer
|
||||
VARCHAR2(128),
|
||||
aut_idp_remote_loginurl
|
||||
VARCHAR2(128),
|
||||
aut_idp_remote_logouturl
|
||||
VARCHAR2(128),
|
||||
aut_idp_saml_metaurl
|
||||
VARCHAR2(128),
|
||||
aut_idp_clockskew
|
||||
NUMBER(10),
|
||||
aut_idp_duration
|
||||
NUMBER(10),
|
||||
aut_idp_autocreate
|
||||
NUMBER(1)
|
||||
DEFAULT 0 -- +1: create; +2: update
|
||||
NOT NULL,
|
||||
prs_afdeling_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_idp_prs_afdeling REFERENCES prs_afdeling(prs_afdeling_key) ON DELETE CASCADE,
|
||||
prs_bedrijf_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_idp_prs_bedrijf REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
|
||||
fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_idp_functie REFERENCES fac_functie(fac_functie_key),
|
||||
aut_idp_internal -- can be used for FACFAC
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL,
|
||||
aut_idp_ipfilter
|
||||
VARCHAR2(320),
|
||||
aut_idp_ipauto
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL,
|
||||
aut_idp_loglevel
|
||||
NUMBER(1) DEFAULT 0 NOT NULL,
|
||||
aut_idp_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
CREATE TABLE aut_idp_map
|
||||
(
|
||||
aut_idp_map_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_k_idp_map_key PRIMARY KEY,
|
||||
aut_idp_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_idp_map_id REFERENCES aut_idp(aut_idp_key) ON DELETE CASCADE,
|
||||
aut_idp_map_from -- as sent in JWT
|
||||
VARCHAR(100)
|
||||
NOT NULL,
|
||||
aut_idp_map_to -- FACILITOR column of 1000+kenmerk_key
|
||||
NUMBER(10)
|
||||
NOT NULL,
|
||||
aut_idp_map_identify
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
aut_idp_map_autocreate -- unused/future use
|
||||
NUMBER(1)
|
||||
DEFAULT 0 -- +1: create; +2: update
|
||||
NOT NULL,
|
||||
aut_idp_map_default
|
||||
VARCHAR(256),
|
||||
aut_idp_map_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
CREATE TABLE aut_sp
|
||||
(
|
||||
aut_sp_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_k_sp_key PRIMARY KEY,
|
||||
aut_sp_code -- Nodig?
|
||||
VARCHAR2(30),
|
||||
aut_sp_type -- 1=Internal (login.asp, future use), 2=UID_DEC (deprecated),
|
||||
NUMBER(3), -- 3=GUID-encrypted (deprecated), 4=JWT, 5=SAML (future use)
|
||||
aut_sp_algorithm -- HS256 is HMAC-SHA256
|
||||
VARCHAR2(30),
|
||||
aut_sp_omschrijving
|
||||
VARCHAR2(30),
|
||||
aut_sp_opmerking
|
||||
VARCHAR2(320),
|
||||
aut_sp_secret
|
||||
VARCHAR2(128),
|
||||
aut_sp_audience
|
||||
VARCHAR2(128),
|
||||
aut_idp_duration
|
||||
NUMBER(10),
|
||||
aut_sp_issuer
|
||||
VARCHAR2(128),
|
||||
aut_sp_redirect_uri
|
||||
VARCHAR2(320),
|
||||
fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_sp_functie REFERENCES fac_functie(fac_functie_key),
|
||||
aut_sp_internal
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL,
|
||||
aut_sp_loglevel
|
||||
NUMBER(1) DEFAULT 0 NOT NULL,
|
||||
aut_sp_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
-- Mapping attributen
|
||||
CREATE TABLE aut_sp_map
|
||||
(
|
||||
aut_sp_map_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_k_sp_map_key PRIMARY KEY,
|
||||
aut_sp_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_sp_map_id REFERENCES aut_sp(aut_sp_key),
|
||||
aut_sp_map_from
|
||||
NUMBER(3)
|
||||
NOT NULL,
|
||||
aut_sp_map_to -- as sent in JWT
|
||||
VARCHAR(100)
|
||||
NOT NULL,
|
||||
aut_sp_map_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
-- Clients (zoals al dan niet native App's)
|
||||
CREATE TABLE aut_client
|
||||
(
|
||||
aut_client_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_k_aut_client_key PRIMARY KEY,
|
||||
aut_client_id
|
||||
VARCHAR2(64),
|
||||
aut_client_type -- 1=Internal (login.asp, future use), 2=UID_DEC (deprecated),
|
||||
NUMBER(3), -- 3=GUID-encrypted (deprecated), 4=JWT, 5=SAML (future use)
|
||||
aut_client_omschrijving
|
||||
VARCHAR2(30),
|
||||
aut_client_opmerking
|
||||
VARCHAR2(320),
|
||||
aut_client_secret
|
||||
VARCHAR2(128),
|
||||
prs_bedrijf_key -- reference to find tech-adres (bedrijfadres of type N) for notifications
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_prs_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
|
||||
aut_client_customuri -- future use
|
||||
VARCHAR2(128),
|
||||
aut_client_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
-- Koppeling client en (toestemming gegeven door) perslid
|
||||
CREATE TABLE aut_client_perslid
|
||||
(
|
||||
aut_client_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_k_client_perslid PRIMARY KEY,
|
||||
aut_client_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_aut_client_id REFERENCES aut_client(aut_client_key) ON DELETE CASCADE,
|
||||
aut_client_perslid_device_id
|
||||
VARCHAR(320),
|
||||
aut_client_perslid_device_name
|
||||
VARCHAR(320),
|
||||
aut_client_perslid_appbuild
|
||||
NUMBER(10),
|
||||
aut_client_perslid_appversion
|
||||
VARCHAR2(20),
|
||||
aut_client_perslid_scope
|
||||
VARCHAR(320)
|
||||
DEFAULT NULL,
|
||||
aut_client_perslid_pushtoken
|
||||
VARCHAR(320),
|
||||
aut_client_perslid_refreshtkn -- unused yet
|
||||
VARCHAR(320),
|
||||
aut_client_perslid_refreshdate
|
||||
DATE,
|
||||
aut_client_perslid_accesstoken
|
||||
VARCHAR(320),
|
||||
aut_client_perslid_accessdate
|
||||
DATE,
|
||||
aut_client_perslid_login -- wanneer voor het laatst de app gebruikt
|
||||
DATE,
|
||||
prs_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT aut_r_aut_client_perslid REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
|
||||
CONSTRAINT aut_c_aut_client_perslid CHECK(prs_perslid_key IS NOT NULL),
|
||||
aut_client_perslid_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
CREATE_TRIGGER(aut_t_aut_idp_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON aut_idp
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(aut_idp_key, aut_s_aut_idp_key);
|
||||
:new.aut_idp_code := UPPER(:new.aut_idp_code);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(aut_t_aut_idp_map_B_I)
|
||||
BEFORE INSERT ON aut_idp_map
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(aut_idp_map_key, aut_s_aut_idp_map_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(aut_t_aut_sp_B_IU)
|
||||
BEFORE INSERT ON aut_sp
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(aut_sp_key, aut_s_aut_sp_key);
|
||||
:new.aut_sp_code := UPPER(:new.aut_sp_code);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(aut_t_aut_sp_map_B_I)
|
||||
BEFORE INSERT ON aut_sp_map
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(aut_sp_map_key, aut_s_aut_sp_map_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(aut_t_aut_client_B_I)
|
||||
BEFORE INSERT ON aut_client
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(aut_client_key, aut_s_aut_client_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(aut_t_aut_client_perslid_B_I)
|
||||
BEFORE INSERT ON aut_client_perslid
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(aut_client_perslid_key, aut_s_aut_client_perslid_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
@@ -29,9 +29,6 @@ create index bes_i_bes_bestelopdr_p_prs_key on bes_bestelopdr (prs_perslid_key);
|
||||
create index bes_i_bes_bestelopdr_datum on bes_bestelopdr(bes_bestelopdr_datum);
|
||||
create index bes_i_bes_bestelopdr_item on bes_bestelopdr_item(bes_bestelopdr_item_verwerkt);
|
||||
|
||||
create index bes_i_bes_bestellever_prs_key on bes_bestellevr (prs_perslid_key);
|
||||
create index bes_i_bes_bestellevr_item1 ON bes_bestellevr_item(bes_bestellevr_key);
|
||||
|
||||
create index bes_i_bes_srtdeel1 on bes_srtdeel(bes_srtgroep_key);
|
||||
CREATE UNIQUE INDEX bes_i_bes_srtdeel2 ON bes_srtdeel(bes_srtdeel_nr, prs_bedrijf_key, bes_srtgroep_key, bes_srtdeel_verwijder);
|
||||
CREATE INDEX bes_i_bes_srtdeel_prs_bdr_key on bes_srtdeel (prs_bedrijf_key);
|
||||
@@ -43,14 +40,18 @@ create index prs_i_prs_afdeling_p_bdr_key on prs_afdeling (prs_bedrijf_key);
|
||||
create unique index bes_i_bes_disc_params1 on bes_disc_params(bes_ins_discipline_key);
|
||||
|
||||
CREATE INDEX bes_i_bes_kenmerkbestell1 ON bes_kenmerkbestell(bes_bestelling_key);
|
||||
CREATE INDEX bes_i_bes_kenmerkbestell2 ON bes_kenmerkbestell(bes_kenmerk_key);
|
||||
CREATE INDEX bes_i_bes_kenmerkbestell3 ON bes_kenmerkbestell(bes_kenmerkbestell_waarde);
|
||||
|
||||
CREATE INDEX bes_i_bes_kenmerkbesteli1 ON bes_kenmerkbesteli(bes_bestelling_item_key);
|
||||
CREATE INDEX bes_i_bes_srtkenmerk1 ON bes_srtkenmerk(bes_srtkenmerk_code);
|
||||
CREATE INDEX bes_i_bes_kenmerk1 ON bes_kenmerk(bes_kenmerk_code);
|
||||
CREATE INDEX bes_i_bes_kenmerkbesteli2 ON bes_kenmerkbesteli(bes_kenmerk_key);
|
||||
CREATE INDEX bes_i_bes_kenmerkbesteli3 ON bes_kenmerkbesteli(bes_kenmerkbesteli_waarde);
|
||||
|
||||
CREATE INDEX bes_i_bes_favoriet1 ON bes_favoriet(prs_perslid_key);
|
||||
|
||||
CREATE INDEX bes_i_bes_srtdeel_prijs1 ON bes_srtdeel_prijs (bes_srtdeel_key);
|
||||
CREATE INDEX bes_i_bes_srtprod_prijs1 ON bes_srtprod_prijs (bes_srtprod_key);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BES_IND.SRC $','$Revision$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('BES','lcl_module_BES')
|
||||
_FAC_MODULE('BES','Bestellingenmodule')
|
||||
|
||||
DEF_STATUS('bestelling', 1, 'lcl_bes_afgewezen');
|
||||
DEF_STATUS('bestelling', 2, 'lcl_bes_new');
|
||||
@@ -14,7 +14,6 @@ DEF_STATUS('bestelling', 5, 'lcl_bes_besteld');
|
||||
DEF_STATUS('bestelling', 6, 'lcl_bes_geleverd');
|
||||
DEF_STATUS('bestelling', 7, 'lcl_bes_verwerkt');
|
||||
DEF_STATUS('bestelling', 8, 'lcl_bes_is_bescan');
|
||||
DEF_STATUS('bestelling', 9, 'lcl_bes_ontvangen');
|
||||
|
||||
DEF_STATUS('bestelopdr', 1, 'lcl_bes_ord_afgewezen');
|
||||
DEF_STATUS('bestelopdr', 2, 'lcl_bes_ord_new');
|
||||
@@ -25,6 +24,6 @@ DEF_STATUS('bestelopdr', 6, 'lcl_bes_ord_geleverd');
|
||||
DEF_STATUS('bestelopdr', 7, 'lcl_bes_ord_verwerkt');
|
||||
DEF_STATUS('bestelopdr', 8, 'lcl_bes_ord_geannuleerd');
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BES_INI.SRC $','$Revision$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
1037
BES/BES_PAC.SRC
1037
BES/BES_PAC.SRC
File diff suppressed because it is too large
Load Diff
@@ -10,8 +10,6 @@ CREATE SEQUENCE bes_s_bes_bestelling_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE bes_s_bes_bestelling_item_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_bestelopdr_key MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE bes_s_bes_bestelopdr_item_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_bestellevr_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_bestellevr_item_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_cXMLparams_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_disc_params_key MINVALUE 1;
|
||||
|
||||
@@ -25,9 +23,13 @@ CREATE SEQUENCE bes_s_bes_favoriet_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_staffeltabel_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_staffel_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE bes_s_bes_srtprod_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_grootheid_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_srtdeel_prijs_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_srtprod_prijs_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_bedrijf_srtprod_key MINVALUE 1;
|
||||
CREATE SEQUENCE bes_s_bes_bedrijf_bedrijf_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BES_SEQ.SRC $','$Revision$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
334
BES/BES_TAB.SRC
334
BES/BES_TAB.SRC
@@ -30,9 +30,6 @@ CREATE_TABLE(bes_srtgroep,0)
|
||||
NOT_NULL(bes_srtgroep_omschrijving, bes_c_bes_srtgroep_omschr),
|
||||
bes_srtgroep_volgnr
|
||||
NUMBER(3),
|
||||
prs_kostensoort_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_prs_kostensoort_key1 REFERENCES prs_kostensoort(prs_kostensoort_key),
|
||||
bes_srtgroep_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
@@ -58,6 +55,59 @@ CREATE_TABLE(bes_grootheid,0)
|
||||
);
|
||||
|
||||
-- Assortiment van producent/fabrikant (genormaliseerde producten)
|
||||
CREATE_TABLE(bes_srtprod,0)
|
||||
(
|
||||
bes_srtprod_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_k_bes_srtprod_key PRIMARY KEY,
|
||||
bes_srtgroep_key
|
||||
NUMBER(10)
|
||||
NOT_NULL(bes_srtgroep_key, bes_c_bes_srtgroep_key3) // echt?
|
||||
CONSTRAINT bes_r_bes_srtgroep_key4 REFERENCES bes_srtgroep,
|
||||
bes_srtprod_omschrijving
|
||||
VARCHAR2(100)
|
||||
NOT_NULL(bes_srtprod_omschrijving, bes_c_bes_srtprod_omschrijving),
|
||||
bes_srtprod_opmerking
|
||||
VARCHAR2(2000 CHAR),
|
||||
bes_srtprod_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
NOT_NULL(bes_srtprod_aanmaak, bes_c_bes_srtprod_aanmaak),
|
||||
bes_srtprod_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM,
|
||||
bes_srtprod_volgnr
|
||||
NUMBER(3),
|
||||
bes_srtprod_btw
|
||||
NUMBER(3),
|
||||
bes_srtprod_eenheid
|
||||
VARCHAR2(30),
|
||||
bes_srtprod_nr
|
||||
VARCHAR2(32),
|
||||
/* MB: Optionele referentie naar producent/fabrikant */
|
||||
prs_bedrijf_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_prs_bedrijf_key5 REFERENCES prs_bedrijf(prs_bedrijf_key),
|
||||
/* MB: artikel wordt door producent gemaakt tot aan deze datum, mag leeg zijn (= geen maak-limiet) */
|
||||
bes_srtprod_vervaldatum
|
||||
DATE,
|
||||
bes_srtprod_image
|
||||
VARCHAR2(255),
|
||||
bes_srtprod_veelvoud
|
||||
NUMBER(6),
|
||||
/* MB: Verwijzing naar eenheid van een grootheid (gram / milliliter / aantal) */
|
||||
bes_grootheid_key
|
||||
NUMBER(10) CONSTRAINT bes_r_bes_grootheid REFERENCES bes_grootheid(bes_grootheid_key) ON DELETE CASCADE,
|
||||
/* MB Hier het getal aan gewicht, inhoud of aantal in te vullen : */
|
||||
/* b.v. 1000 (en betekent in combi met bes_grootheid_key b.v. 1000 gram) */
|
||||
bes_grootheid_getal
|
||||
NUMBER(10),
|
||||
bes_srtprod_margebedrag /* bedrag van de fee per 1 grootheid van dit product */
|
||||
NUMBER(12,6),
|
||||
bes_srtprod_margebedragpct /* percentage van de producentfee dat voor ons is, de rest is voor whoever */
|
||||
NUMBER(3)
|
||||
);
|
||||
|
||||
|
||||
CREATE_TABLE(bes_srtdeel,0)
|
||||
(
|
||||
@@ -97,17 +147,16 @@ CREATE_TABLE(bes_srtdeel,0)
|
||||
prs_bedrijf_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_prs_bedrijf_key3 REFERENCES prs_bedrijf(prs_bedrijf_key),
|
||||
bes_srtprod_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_srtprod_key2 REFERENCES bes_srtprod(bes_srtprod_key),
|
||||
bes_srtdeel_vervaldatum
|
||||
DATE,
|
||||
bes_srtdeel_image
|
||||
VARCHAR2(255),
|
||||
bes_srtdeel_details_loc
|
||||
VARCHAR2(255),
|
||||
bes_srtdeel_veelvoud
|
||||
NUMBER(9,3),
|
||||
bes_srtdeel_minimum
|
||||
NUMBER(6),
|
||||
bes_srtdeel_maximum
|
||||
bes_srtdeel_minimum
|
||||
NUMBER(6),
|
||||
bes_staffeltabel_key
|
||||
NUMBER(10)
|
||||
@@ -119,9 +168,6 @@ CREATE_TABLE(bes_srtdeel,0)
|
||||
NUMBER(6),
|
||||
bes_srtdeel_voorraadmax
|
||||
NUMBER(6),
|
||||
bes_srtdeel_voorraadfactor
|
||||
NUMBER(6)
|
||||
DEFAULT 1, /* factor tussen inkoop- en verkoopenheden van zelfde artikelnr tbv voorraadbepaling */
|
||||
bes_srtdeel_margepct /* percentage van de leveranciersmarge (verkoop-inkoop) dat voor ons is, de rest is voor whoever */
|
||||
NUMBER(3),
|
||||
bes_srtdeel_wijzigdagen /* zoveel dagen voor leverdatum nog te wijzigen */
|
||||
@@ -131,14 +177,7 @@ CREATE_TABLE(bes_srtdeel,0)
|
||||
bes_srtdeel_depotverdeelpct
|
||||
NUMBER(3),
|
||||
bes_srtdeel_notitie /* magazijnlocatie */
|
||||
VARCHAR2(50),
|
||||
bes_srtdeel_maxbestel /* De voorrraad is het maximum aantal dat ik mag bestellen {0=nee (default), 1=ja} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
ins_srtdeel_key /* objectrelatie */
|
||||
NUMBER(10)
|
||||
CONSTRAINT ins_r_ins_srtdeel_key4 REFERENCES ins_srtdeel(ins_srtdeel_key)
|
||||
VARCHAR2(50)
|
||||
);
|
||||
|
||||
|
||||
@@ -187,35 +226,23 @@ CREATE_TABLE(bes_bestelling, 0)
|
||||
bes_bestelling_fiat_user
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_bestelling_fiat REFERENCES prs_perslid(prs_perslid_key),
|
||||
bes_bestelling_fiatbedrag /* Tot zover gefiatteerd */
|
||||
NUMBER(11,2),
|
||||
mld_adres_key_lev
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_mld_adres_key_lev REFERENCES mld_adres(mld_adres_key),
|
||||
bes_bestelling_levkosten
|
||||
NUMBER(11,2),
|
||||
NUMBER(8,2),
|
||||
bes_bestelling_korting
|
||||
NUMBER(11,2),
|
||||
NUMBER(8,2),
|
||||
fac_activiteit_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT fac_r_fac_activiteit3 REFERENCES fac_activiteit(fac_activiteit_key) ON DELETE CASCADE,
|
||||
mld_melding_key /* optionele verwijzing naar veroorzakende melding */
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_mld_melding1 REFERENCES mld_melding(mld_melding_key) ON DELETE SET NULL,
|
||||
CONSTRAINT bes_r_mld_melding1 REFERENCES mld_melding(mld_melding_key),
|
||||
bes_bestelling_kto_verstuurd
|
||||
DATE,
|
||||
bes_bestelling_satisfaction
|
||||
NUMBER(2),
|
||||
bes_bestelling_satisfaction_op
|
||||
VARCHAR2(2000),
|
||||
bes_bestelling_approved
|
||||
NUMBER(11,2),
|
||||
bes_bestelling_lev_opm
|
||||
VARCHAR2(320),
|
||||
bes_bestelling_externnr
|
||||
VARCHAR2(256),
|
||||
bes_bestelling_externsyncdate
|
||||
DATE
|
||||
NUMBER(2)
|
||||
);
|
||||
|
||||
CREATE_TABLE(bes_bestelopdr, 0)
|
||||
@@ -244,9 +271,9 @@ CREATE_TABLE(bes_bestelopdr, 0)
|
||||
bes_bestelopdr_leverdatum
|
||||
DATE,
|
||||
bes_bestelopdr_levkosten
|
||||
NUMBER(11,2),
|
||||
NUMBER(8,2),
|
||||
bes_bestelopdr_korting
|
||||
NUMBER(11,2),
|
||||
NUMBER(8,2),
|
||||
bes_bestelopdr_opmerking
|
||||
VARCHAR2(320),
|
||||
cnt_contract_key
|
||||
@@ -255,22 +282,12 @@ CREATE_TABLE(bes_bestelopdr, 0)
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_opdr_prs_user_key1 REFERENCES prs_perslid(prs_perslid_key),
|
||||
bes_bestelopdr_delivery_opmerk
|
||||
VARCHAR2(320),
|
||||
bes_bestelopdr_flag
|
||||
NUMBER(1),
|
||||
bes_bestelopdr_externnr
|
||||
VARCHAR2(256),
|
||||
bes_bestelopdr_externsyncdate
|
||||
DATE
|
||||
VARCHAR2(320)
|
||||
);
|
||||
|
||||
ALTER TABLE cnt_contract ADD bes_bestelopdr_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_bes_bestelopdr_key REFERENCES bes_bestelopdr(bes_bestelopdr_key);
|
||||
ALTER TABLE ins_deel
|
||||
ADD bes_bestelopdr_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_bestelopdr_key3 REFERENCES bes_bestelopdr(bes_bestelopdr_key);
|
||||
|
||||
CREATE_TABLE(bes_bestelopdr_item, 0)
|
||||
(
|
||||
@@ -284,22 +301,20 @@ CREATE_TABLE(bes_bestelopdr_item, 0)
|
||||
bes_bestelopdr_item_posnr
|
||||
NUMBER(5),
|
||||
bes_bestelopdr_item_aantal
|
||||
NUMBER(15,3)
|
||||
NUMBER(5)
|
||||
CONSTRAINT bes_c_bes_bestelopdr_i_aantal CHECK(bes_bestelopdr_item_aantal IS NOT NULL),
|
||||
bes_bestelopdr_item_aantalontv
|
||||
NUMBER(15,3),
|
||||
NUMBER(5),
|
||||
bes_bestelopdr_item_aantalexp
|
||||
NUMBER(15,3),
|
||||
NUMBER(5),
|
||||
bes_bestelopdr_item_omschrijv
|
||||
VARCHAR2(320),
|
||||
bes_bestelopdr_item_opmerking
|
||||
VARCHAR2(100),
|
||||
bes_bestelopdr_item_prijs
|
||||
NUMBER(15,6),
|
||||
NUMBER(12,6),
|
||||
bes_bestelopdr_item_inkprijs
|
||||
NUMBER(14,5),
|
||||
NUMBER(8,2),
|
||||
bes_bestelopdr_item_brutoprijs
|
||||
NUMBER(14,5),
|
||||
NUMBER(8,2),
|
||||
bes_bestelopdr_item_ontvangen
|
||||
DATE,
|
||||
bes_bestelopdr_item_status
|
||||
@@ -311,38 +326,6 @@ CREATE_TABLE(bes_bestelopdr_item, 0)
|
||||
OR (bes_bestelopdr_item_aantal<0 AND bes_bestelopdr_item_aantalontv>=bes_bestelopdr_item_aantal))
|
||||
);
|
||||
|
||||
CREATE_TABLE(bes_bestellevr, 0)
|
||||
(
|
||||
bes_bestellevr_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_k_bes_bestellevr_key PRIMARY KEY,
|
||||
bes_bestellevr_pakbon
|
||||
VARCHAR(50),
|
||||
bes_bestellevr_datum
|
||||
DATE
|
||||
DEFAULT SYSDATE,
|
||||
prs_perslid_key
|
||||
NUMBER(10) REFERENCES prs_perslid(prs_perslid_key) ON DELETE SET NULL,
|
||||
bes_bestellevr_opmerk
|
||||
VARCHAR2(320),
|
||||
bes_bestellevr_externsyncdate
|
||||
DATE
|
||||
);
|
||||
|
||||
CREATE_TABLE(bes_bestellevr_item, 0)
|
||||
(
|
||||
bes_bestellevr_item_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_k_bestel_lev_item_key PRIMARY KEY,
|
||||
bes_bestellevr_key
|
||||
NUMBER(10) REFERENCES bes_bestellevr(bes_bestellevr_key) ON DELETE CASCADE,
|
||||
bes_bestelopdr_item_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_bestelopdr_i_key2 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key) ON DELETE CASCADE,
|
||||
bes_bestellevr_item_aantal
|
||||
NUMBER(15,3)
|
||||
);
|
||||
|
||||
CREATE_TABLE(bes_bestelling_item, 0)
|
||||
(
|
||||
bes_bestelling_item_key
|
||||
@@ -357,24 +340,22 @@ CREATE_TABLE(bes_bestelling_item, 0)
|
||||
CONSTRAINT bes_c_bes_srtdeel_key1 CHECK(bes_srtdeel_key IS NOT NULL)
|
||||
CONSTRAINT bes_r_bes_srtdeel_key REFERENCES bes_srtdeel(bes_srtdeel_key),
|
||||
bes_bestelling_item_aantal
|
||||
NUMBER(15,3)
|
||||
NUMBER(5)
|
||||
CONSTRAINT bes_c_bes_bestelling_i_aantal CHECK(bes_bestelling_item_aantal IS NOT NULL),
|
||||
bes_bestelling_item_brutoprijs /* verkoopprijs ten tijde van bestelling */
|
||||
NUMBER(14,5),
|
||||
NUMBER(8,2),
|
||||
bes_bestelling_item_prijs /* incl. kortingen */
|
||||
NUMBER(15,6),
|
||||
NUMBER(12,6),
|
||||
bes_bestelling_item_inkprijs /* inkoopprijs ten tijde van bestelling */
|
||||
NUMBER(15,6),
|
||||
NUMBER(12,6),
|
||||
bes_bestelopdr_item_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_bestelopdr_i_key1 REFERENCES bes_bestelopdr_item(bes_bestelopdr_item_key),
|
||||
bes_bestelling_item_aantalontv
|
||||
NUMBER(15,3),
|
||||
NUMBER(5),
|
||||
bes_bestelling_item_status
|
||||
NUMBER(10),
|
||||
CONSTRAINT bes_c_bes_bestelling_item
|
||||
CHECK ((bes_bestelling_item_aantal>=0 AND bes_bestelling_item_aantalontv<=bes_bestelling_item_aantal)
|
||||
OR (bes_bestelling_item_aantal<0 AND bes_bestelling_item_aantalontv>=bes_bestelling_item_aantal))
|
||||
CONSTRAINT bes_c_bes_bestelling_item CHECK (bes_bestelling_item_aantalontv<=bes_bestelling_item_aantal)
|
||||
);
|
||||
|
||||
--CREATE_TABLE(bes_bestellingstatuses, 0)
|
||||
@@ -404,15 +385,11 @@ CREATE_TABLE(bes_disc_params, 0)
|
||||
NUMBER(10)
|
||||
NOT_NULL(bes_ins_discipline_key, bes_c_ins_discipline_key)
|
||||
CONSTRAINT bes_r_ins_discipine_key REFERENCES ins_tab_discipline(ins_discipline_key),
|
||||
bes_disc_params_fiatflow /* Fiatterings flow 0=fiatteur->besbof 1=besbof->fiatteur */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
CONSTRAINT bes_c_disc_params_fiatflow CHECK(bes_disc_params_fiatflow IN (0,1)),
|
||||
bes_disc_params_bestellimiet
|
||||
NUMBER(11,2)
|
||||
NUMBER(8,2)
|
||||
DEFAULT 100000,
|
||||
bes_disc_params_min_bedrag
|
||||
NUMBER(11,2)
|
||||
NUMBER(8,2)
|
||||
DEFAULT 0,
|
||||
bes_disc_params_auto_order
|
||||
NUMBER(1)
|
||||
@@ -436,10 +413,8 @@ CREATE_TABLE(bes_disc_params, 0)
|
||||
CONSTRAINT bes_c_disc_params1 CHECK(bes_disc_params_factmatchmode IN (2,3)), /* leeg mag ook */
|
||||
bes_disc_params_leverdagen /* default levertijd */
|
||||
NUMBER,
|
||||
bes_disc_params_expire_tijd
|
||||
NUMBER(5,2), /* grenstijdstip van de dag voor die freeze (bv 16.5) */
|
||||
bes_disc_params_punchouturl
|
||||
VARCHAR2(1024),
|
||||
VARCHAR2(255),
|
||||
bes_disc_params_punch_bedr_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_prs_bedrijf_key4 REFERENCES prs_bedrijf(prs_bedrijf_key),
|
||||
@@ -462,15 +437,12 @@ CREATE_TABLE(bes_disc_params, 0)
|
||||
bes_ins_discipline_key_inkoop /* optionele corresponderende inkoopcatalogus tbv voorraad */
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_ins_discipine_key2 REFERENCES ins_tab_discipline(ins_discipline_key),
|
||||
bes_disc_params_pgb /* 0=Geen van beiden, 1=Alleen pgb, 2=Alleen agb, 3=Beiden, pgb en agb */
|
||||
bes_disc_params_pgb /* 1=moet worden gecontroleerd tegen persoonsgebonden jaarbudget */
|
||||
NUMBER(1),
|
||||
bes_disc_params_singlegroep /* 1=een bestelling mag alleen artikelen van 1 srtgroep bevatten */
|
||||
NUMBER(1),
|
||||
bes_disc_params_noti_opdr /* 1=notificeer besteller over bestelopdracht(en) */
|
||||
NUMBER(1),
|
||||
bes_disc_params_bonotify /* 1=notificeer BO als er een bestelling is */
|
||||
NUMBER(1)
|
||||
NOT NULL,
|
||||
bes_disc_params_herfiat /* 0=nooit, 1=zie criteria, 2=altijd */
|
||||
NUMBER(1),
|
||||
bes_disc_params_herfiatpct
|
||||
@@ -493,48 +465,8 @@ CREATE_TABLE(bes_disc_params, 0)
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_cnt_termijn_key2 REFERENCES cnt_termijn(cnt_termijn_key),
|
||||
bes_disc_params_for_others /* Kan ik als FE een bestelling voor een ander plaatsen? {0=no | 1=yes} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0,
|
||||
bes_disc_params_bestellimiet2
|
||||
NUMBER(11,2)
|
||||
DEFAULT 1000000,
|
||||
bes_disc_params_bestellimiet3
|
||||
NUMBER(11,2)
|
||||
DEFAULT 1000000,
|
||||
bes_disc_params_bestellimiet4
|
||||
NUMBER(11,2)
|
||||
DEFAULT 1000000,
|
||||
bes_disc_params_bestellimiet5
|
||||
NUMBER(11,2)
|
||||
DEFAULT 1000000,
|
||||
bes_disc_params_freeartikel /* Deprecated, gaat van 2017.3 via bes_disc_params_bestelmode */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_bestelmode /* 0=ouderwets artikelselector, 1=vrij artikelen, 2=bestellijst */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_fotomode /* 0=alleen bij kiezen artikel, 1=ook in bestellijst */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_ins_mode /* bestelcatalogusinstellingen {0=Niet van toepassing, 1=Aanmaken en koppelen (Nog niet ondersteund), 2=Koppelen} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_fe_confirm /* Besteller bevestigt ontvangst {0=Nee (default), 1=Ja} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_hide_cost_fe /* Onderdruk kosten in bestellijst voor FE {0=Nee (default), 1=Ja} */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
bes_disc_params_deliver_fe
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL
|
||||
);
|
||||
|
||||
//// flexprops
|
||||
@@ -548,16 +480,12 @@ CREATE_TABLE(bes_srtkenmerk, 0)
|
||||
VARCHAR2(50)
|
||||
, bes_srtkenmerk_upper
|
||||
VARCHAR2(50)
|
||||
, bes_srtkenmerk_code
|
||||
VARCHAR2(60)
|
||||
, bes_srtkenmerk_dimensie
|
||||
VARCHAR2(10)
|
||||
, bes_srtkenmerk_kenmerktype
|
||||
VARCHAR2(1)
|
||||
, bes_srtkenmerk_systeem -- &1=systeemkemerk, &2=tonen in bestelaanvraag overzicht, &16=tonen in bestelopdracht overzicht.
|
||||
NUMBER(2) -- &4=vertrouwelijk en &8=anonimiseren blijven dan gereserveerd voor toekomstig gebruik.
|
||||
DEFAULT 0
|
||||
NOT NULL
|
||||
, bes_srtkenmerk_systeem
|
||||
NUMBER(1)
|
||||
, bes_srtkenmerk_lengte
|
||||
NUMBER(4)
|
||||
, bes_srtkenmerk_dec
|
||||
@@ -578,7 +506,9 @@ 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','T','R','X','L','Q','F','M','E','S','l','B','V'))
|
||||
, 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_systeem CHECK(bes_srtkenmerk_systeem IS NULL
|
||||
OR bes_srtkenmerk_systeem = 1)
|
||||
, CONSTRAINT bes_c_bes_srtkenmerk_lengte CHECK(bes_srtkenmerk_lengte >= 1
|
||||
AND bes_srtkenmerk_lengte <= 4000)
|
||||
, CONSTRAINT bes_c_bes_srtkenmerk_max_min CHECK(bes_srtkenmerk_nmax >= bes_srtkenmerk_nmin)
|
||||
@@ -603,20 +533,10 @@ CREATE_TABLE(bes_kenmerk, 0)
|
||||
VARCHAR2(1)
|
||||
CONSTRAINT bes_c_ins_kenmerk_niveau2 CHECK
|
||||
(bes_kenmerk_niveau is not null and (bes_kenmerk_niveau IN( 'D', 'G', 'S')))
|
||||
, bes_kenmerk_omschrijving
|
||||
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
|
||||
, bes_kenmerk_code
|
||||
VARCHAR2(60)
|
||||
, bes_kenmerk_verplicht
|
||||
NUMBER(1)
|
||||
, bes_kenmerk_groep
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
, bes_kenmerk_toonbaar
|
||||
NUMBER(1)
|
||||
, bes_kenmerk_inlijst
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
, bes_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
@@ -631,21 +551,16 @@ CREATE_TABLE(bes_kenmerk, 0)
|
||||
DEFAULT SYSDATE
|
||||
, bes_kenmerk_default
|
||||
VARCHAR2(4000)
|
||||
, bes_kenmerk_show_expr
|
||||
VARCHAR2(4000)
|
||||
, bes_kenmerk_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM
|
||||
, fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT fac_r_bes_kenmerk_functie REFERENCES fac_functie (fac_functie_key)
|
||||
, CONSTRAINT bes_c_bes_srtkenmerk_key1 CHECK(bes_srtkenmerk_key IS NOT NULL)
|
||||
, CONSTRAINT bes_r_bes_srtkenmerk_key2 FOREIGN KEY(bes_srtkenmerk_key) REFERENCES bes_srtkenmerk(bes_srtkenmerk_key)
|
||||
, CONSTRAINT bes_c_bes_kenmerk_niveau1 CHECK(bes_kenmerk_niveau IS NOT NULL)
|
||||
, CONSTRAINT bes_c_bes_kenmerk_toonbaar CHECK(bes_kenmerk_toonbaar IS NULL
|
||||
OR bes_kenmerk_toonbaar = 1)
|
||||
, CONSTRAINT bes_c_bes_kenmerk_aanmaak CHECK(bes_kenmerk_aanmaak IS NOT NULL)
|
||||
, CONSTRAINT bes_u_bes_kenmerk UNIQUE(bes_srtkenmerk_key, bes_srtinstallatie_key, bes_kenmerk_type, bes_kenmerk_niveau, bes_kenmerk_omschrijving, bes_kenmerk_groep, bes_kenmerk_verwijder)
|
||||
, CONSTRAINT bes_c_bes_srtkenmerk_key1 CHECK(bes_srtkenmerk_key IS NOT NULL)
|
||||
, CONSTRAINT bes_r_bes_srtkenmerk_key2 FOREIGN KEY(bes_srtkenmerk_key) REFERENCES bes_srtkenmerk(bes_srtkenmerk_key)
|
||||
, CONSTRAINT bes_c_bes_kenmerk_niveau1 CHECK(bes_kenmerk_niveau IS NOT NULL)
|
||||
, CONSTRAINT bes_c_bes_kenmerk_toonbaar CHECK(bes_kenmerk_toonbaar IS NULL
|
||||
OR bes_kenmerk_toonbaar = 1)
|
||||
, CONSTRAINT bes_c_bes_kenmerk_aanmaak CHECK(bes_kenmerk_aanmaak IS NOT NULL)
|
||||
, CONSTRAINT bes_u_bes_kenmerk UNIQUE(bes_srtkenmerk_key, bes_srtinstallatie_key, bes_kenmerk_type, bes_kenmerk_niveau, bes_kenmerk_verwijder)
|
||||
);
|
||||
|
||||
CREATE_TABLE(bes_kenmerkbestell, 0)
|
||||
@@ -729,9 +644,9 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_srtdeel_key1 REFERENCES bes_srtdeel(bes_srtdeel_key) ON DELETE CASCADE,
|
||||
bes_srtdeel_prijs_prijs
|
||||
NUMBER(14,5),
|
||||
NUMBER(8,2),
|
||||
bes_srtdeel_prijs_inkprijs
|
||||
NUMBER(14,5),
|
||||
NUMBER(8,2),
|
||||
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig (Farmers wilde dit ook). */
|
||||
bes_srtdeel_prijs_vervaldatum
|
||||
DATE,
|
||||
@@ -740,9 +655,64 @@ CREATE_TABLE(bes_srtdeel_prijs,0)
|
||||
NUMBER(1)
|
||||
);
|
||||
|
||||
-- Prijsverloop van producten van fabriaknt
|
||||
CREATE_TABLE(bes_srtprod_prijs,0)
|
||||
(
|
||||
bes_srtprod_prijs_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_k_bes_srtprod_prijs_key PRIMARY KEY,
|
||||
bes_srtprod_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bes_srtprod_key REFERENCES bes_srtprod(bes_srtprod_key),
|
||||
bes_srtprod_prijs_prijs
|
||||
NUMBER(8,2),
|
||||
bes_srtprod_prijs_inkprijs
|
||||
NUMBER(8,2),
|
||||
/* MB: Tot aan deze datum geldt deze prijs, daarna is deze prijs niet meer geldig */
|
||||
bes_srtprod_prijs_vervaldatum
|
||||
DATE,
|
||||
/* MB: Prioriteit/prijspakker instelling op producentartikelprijs-nivo, schaal van 1 (=lage prio) - 4 (=hoogste prio), mag leeg zijn (= 0: laagste prio) */
|
||||
bes_srtprod_prijs_prio
|
||||
NUMBER(1)
|
||||
);
|
||||
|
||||
-- Een productsample voor een klant
|
||||
CREATE_TABLE(bes_bedrijf_srtprod, 0)
|
||||
(
|
||||
bes_bedrijf_srtprod_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_k_bedrijf_srtprod_key PRIMARY KEY,
|
||||
prs_bedrijf_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
|
||||
bes_srtprod_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_r_srtprod_key1 REFERENCES bes_srtprod(bes_srtprod_key) ON DELETE CASCADE,
|
||||
bes_bedrijf_srtprod_weging
|
||||
NUMBER(12,2),
|
||||
bes_bedrijf_srtprod_opmerking
|
||||
VARCHAR2(320),
|
||||
bes_bedrijf_srtprod_prijs
|
||||
NUMBER(8,2)
|
||||
);
|
||||
|
||||
/* MB: Voorkeursleveranciers ---------------------------------------------------------------------------*/
|
||||
CREATE_TABLE(bes_bedrijf_bedrijf,0)
|
||||
(
|
||||
bes_bedrijf_bedrijf_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bes_k_bes_bedrijf_bedrijf_key PRIMARY KEY,
|
||||
/* Klant: interne bedrijf */
|
||||
prs_bedrijf_key_klant
|
||||
NUMBER(10)
|
||||
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key1 REFERENCES prs_bedrijf(prs_bedrijf_key),
|
||||
/* Leverancier: externe bedrijf */
|
||||
prs_bedrijf_key_lev
|
||||
NUMBER(10)
|
||||
CONSTRAINT prs_r_prs_bedrijf_bedrijf_key2 REFERENCES prs_bedrijf(prs_bedrijf_key)
|
||||
);
|
||||
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BES_TAB.SRC $','$Revision$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
176
BES/BES_TRI.SRC
176
BES/BES_TRI.SRC
@@ -33,20 +33,13 @@ BEGIN
|
||||
* Dit is vervallen. Elke trigger bemoeit zich alleen met zichzelf, en er zijn
|
||||
* een tweetal functies bes.updatebestellingstatus en bes.updatebestelopdrstatus
|
||||
* die desgevraagd tellen wat de stand is en daarop zonodig de parent aanpassen
|
||||
* Daarvan wordt dan ook tracking bijgehouden.
|
||||
* Daarvan wordt dan ook tracjking bijgehouden.
|
||||
*/
|
||||
CREATE_TRIGGER(bes_t_bes_bestelling_B_I)
|
||||
BEFORE INSERT ON bes_bestelling
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bestelling_key,bes_s_bes_bestelling_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelling_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bes_bestelling
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bestelling_key,bes_s_bes_bestelling_key);
|
||||
IF :old.bes_bestelling_status IS NULL
|
||||
THEN
|
||||
-- weet niet of dit (nog)nodig is, om de status op 2 te zetten
|
||||
@@ -59,13 +52,6 @@ BEGIN
|
||||
THEN
|
||||
fac.clrnotifications ('BESAP1', :new.bes_bestelling_key);
|
||||
END IF;
|
||||
|
||||
-- Beoordeling van de bestelling
|
||||
IF (:new.bes_bestelling_satisfaction IS NOT NULL
|
||||
AND (:old.bes_bestelling_satisfaction IS NULL OR :old.bes_bestelling_satisfaction <> :new.bes_bestelling_satisfaction))
|
||||
THEN
|
||||
fac.trackaction('BESLIK', :old.bes_bestelling_key, NULL , SYSDATE, REPLACE(lcl.l('lcl_faclike_changed'), '{0}', :new.bes_bestelling_satisfaction));
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -79,8 +65,8 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelling_item_B_I)
|
||||
BEFORE INSERT
|
||||
CREATE_TRIGGER(bes_t_bes_bestelling_item_B_IU)
|
||||
BEFORE INSERT OR UPDATE
|
||||
ON bes_bestelling_item
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
@@ -88,20 +74,12 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelopdr_B_I)
|
||||
BEFORE INSERT
|
||||
ON bes_bestelopdr
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bestelopdr_key,bes_s_bes_bestelopdr_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelopdr_B_IU)
|
||||
BEFORE INSERT OR UPDATE
|
||||
ON bes_bestelopdr
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bestelopdr_key,bes_s_bes_bestelopdr_key);
|
||||
IF :OLD.bes_bestelopdr_datum IS NULL
|
||||
THEN
|
||||
:NEW.bes_bestelopdr_datum := SYSDATE;
|
||||
@@ -116,8 +94,8 @@ END;
|
||||
/
|
||||
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_I)
|
||||
BEFORE INSERT
|
||||
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_B_IU)
|
||||
BEFORE INSERT OR UPDATE
|
||||
ON bes_bestelopdr_item
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
@@ -125,24 +103,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestellevr_B_I)
|
||||
BEFORE INSERT
|
||||
ON bes_bestellevr
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bestellevr_key,bes_s_bes_bestellevr_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestellevr_item_B_I)
|
||||
BEFORE INSERT
|
||||
ON bes_bestellevr_item
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bestellevr_item_key,bes_s_bes_bestellevr_item_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bestelopdr_item_b_u)
|
||||
BEFORE UPDATE
|
||||
ON bes_bestelopdr_item
|
||||
@@ -187,47 +147,6 @@ END;
|
||||
/
|
||||
|
||||
|
||||
AUDIT_BEGIN(bes_disc_params)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_bestellimiet)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_bestellimiet2)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_bestellimiet3)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_bestellimiet4)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_bestellimiet5)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_min_bedrag)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_auto_order)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_autoacceptrfo)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_herfiat)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_herfiatpct)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_herfiatmarge)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_factuurpct)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_factuurmarge)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_factmatchmode)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_factuurappr)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_factuurgrens)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_pgb)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_leverdagen)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_remoteconfirm)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_freeartikel)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_punchouturl)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_punch_bedr_key)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_logo_url)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_noti_dagen)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_noti_opdr)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_bonotify)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_retour)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_retour_url)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_levopm_url)
|
||||
AUDIT_VALUE(bes_disc_params, bes_ins_discipline_key_inkoop)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_singlegroep)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_kpautorisatie)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_maxartikel)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_contract)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_cnt_disckey)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_cnt_termijn)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_cnt_opzegterm)
|
||||
AUDIT_VALUE(bes_disc_params, bes_disc_params_for_others)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(BES_T_BES_DISC_PARAMS_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bes_disc_params
|
||||
FOR EACH ROW
|
||||
@@ -243,26 +162,26 @@ CREATE_TRIGGER(bes_t_bes_srtkenmerk_b_iu)
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_srtkenmerk_key, bes_s_bes_srtkenmerk_key);
|
||||
UPDATE_UPPER(bes_srtkenmerk_omschrijving, bes_srtkenmerk_upper,bes_srtkenmerk);
|
||||
UPDATE_UPPER(bes_srtkenmerk_code, bes_srtkenmerk_code, bes_srtkenmerk);
|
||||
|
||||
UPDATE_AANMAAKDATUM(bes_srtkenmerk,bes_srtkenmerk_aanmaak);
|
||||
IF (:new.bes_srtkenmerk_verwijder IS NOT NULL AND :old.bes_srtkenmerk_verwijder IS NULL AND
|
||||
:new.bes_srtkenmerk_systeem = 1)
|
||||
THEN
|
||||
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_SYSTEEM');
|
||||
raise_application_error(-20003, 'bes_C_bes_SRTKENMERK_SYSTEEM');
|
||||
END IF;
|
||||
|
||||
IF :NEW.bes_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :NEW.bes_srtkenmerk_lengte IS NULL
|
||||
IF (:NEW.bes_srtkenmerk_kenmerktype = 'C' OR :NEW.bes_srtkenmerk_kenmerktype = 'N')
|
||||
AND :NEW.bes_srtkenmerk_lengte IS NULL
|
||||
THEN
|
||||
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_LENGTE');
|
||||
raise_application_error (-20000, 'bes_C_bes_SRTKENMERK_LENGTE');
|
||||
END IF;
|
||||
-- Numeriek mag niet te lang zijn (numeric overflow)
|
||||
IF :new.bes_srtkenmerk_kenmerktype IN ('N', 'B') AND :new.bes_srtkenmerk_lengte > 20
|
||||
IF :new.bes_srtkenmerk_kenmerktype = 'N'
|
||||
AND :new.bes_srtkenmerk_lengte > 20
|
||||
THEN
|
||||
:new.bes_srtkenmerk_lengte := 20;
|
||||
END IF;
|
||||
|
||||
IF :NEW.bes_srtkenmerk_kenmerktype IN ('N', 'B') AND :OLD.bes_srtkenmerk_key IS NOT NULL
|
||||
IF :NEW.bes_srtkenmerk_kenmerktype = 'N' 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)
|
||||
@@ -286,14 +205,14 @@ BEGIN
|
||||
FROM bes_kenmerk
|
||||
WHERE bes_srtkenmerk_key = :OLD.bes_srtkenmerk_key));
|
||||
|
||||
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_MIN');
|
||||
raise_application_error (-20000, 'bes_C_bes_SRTKENMERK_MIN');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
NULL;
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN
|
||||
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_MIN');
|
||||
raise_application_error (-20000, 'bes_C_bes_SRTKENMERK_MIN');
|
||||
END;
|
||||
END IF;
|
||||
|
||||
@@ -319,14 +238,14 @@ BEGIN
|
||||
FROM bes_kenmerk
|
||||
WHERE bes_srtkenmerk_key = :OLD.bes_srtkenmerk_key));
|
||||
|
||||
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_MAX');
|
||||
raise_application_error (-20000, 'bes_C_bes_SRTKENMERK_MAX');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
NULL;
|
||||
WHEN TOO_MANY_ROWS
|
||||
THEN
|
||||
raise_application_error(-20000, 'bes_C_bes_SRTKENMERK_MAX');
|
||||
raise_application_error (-20000, 'bes_C_bes_SRTKENMERK_MAX');
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
@@ -342,7 +261,6 @@ BEGIN
|
||||
-- FSN#13902: we tolereren het achteraf verplicht maken
|
||||
UPDATE_PRIMARY_KEY(bes_kenmerk_key, bes_s_bes_kenmerk_key);
|
||||
UPDATE_AANMAAKDATUM(bes_kenmerk, bes_kenmerk_aanmaak);
|
||||
UPDATE_UPPER(bes_kenmerk_code, bes_kenmerk_code, bes_kenmerk);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -387,7 +305,7 @@ BEGIN
|
||||
--
|
||||
IF kenmerkverplicht IS NOT NULL AND kenmerkbestellingwaarde IS NULL
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m240,' || srtkenmerkomschr);
|
||||
raise_application_error (-20004, 'bes_m240,' || srtkenmerkomschr);
|
||||
--
|
||||
-- Kijk welk KenmerkType gebruikt wordt.
|
||||
-- Aan de hand daarvan moet een controle uitgevoerd worden.
|
||||
@@ -398,9 +316,9 @@ BEGIN
|
||||
-- Controleer of de lengte te groot of goed is.
|
||||
IF LENGTH (kenmerkbestellingwaarde) > srtkenmerklengte
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
|
||||
raise_application_error (-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
|
||||
END IF;
|
||||
ELSIF srtkenmerktype IN ('N', 'B')
|
||||
ELSIF srtkenmerktype = 'N'
|
||||
THEN
|
||||
-- NUMBER
|
||||
-- Controleer of er een numerieke waarde ingevuld is.
|
||||
@@ -420,13 +338,13 @@ BEGIN
|
||||
formatmask := REPLACE (formatmask, '9', '#');
|
||||
formatmask := REPLACE (formatmask, '0', '#');
|
||||
formatmask := REPLACE (formatmask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
raise_application_error (-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
END;
|
||||
-- Controleer of de waarde binnen NMin en NMax ligt.
|
||||
IF (srtkenmerknmin IS NOT NULL AND numberwaarde < srtkenmerknmin)
|
||||
OR (srtkenmerknmax IS NOT NULL AND numberwaarde > srtkenmerknmax)
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004,
|
||||
raise_application_error (-20004,
|
||||
'bes_m243,'
|
||||
|| srtkenmerkomschr
|
||||
|| ','
|
||||
@@ -443,7 +361,7 @@ BEGIN
|
||||
formatmask := REPLACE (formatmask, '9', '#');
|
||||
formatmask := REPLACE (formatmask, '0', '#');
|
||||
formatmask := REPLACE (formatmask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
raise_application_error (-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -502,7 +420,7 @@ BEGIN
|
||||
--
|
||||
IF kenmerkverplicht IS NOT NULL AND kenmerkbestelitemwaarde IS NULL
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m240,' || srtkenmerkomschr);
|
||||
raise_application_error (-20004, 'bes_m240,' || srtkenmerkomschr);
|
||||
--
|
||||
-- Kijk welk KenmerkType gebruikt wordt.
|
||||
-- Aan de hand daarvan moet een controle uitgevoerd worden.
|
||||
@@ -513,9 +431,9 @@ BEGIN
|
||||
-- Controleer of de lengte te groot of goed is.
|
||||
IF LENGTH (kenmerkbestelitemwaarde) > srtkenmerklengte
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
|
||||
raise_application_error (-20004, 'bes_m241,' || srtkenmerkomschr || ',' || TO_CHAR (srtkenmerklengte));
|
||||
END IF;
|
||||
ELSIF srtkenmerktype IN ('N', 'B')
|
||||
ELSIF srtkenmerktype = 'N'
|
||||
THEN
|
||||
-- NUMBER
|
||||
-- Controleer of er een numerieke waarde ingevuld is.
|
||||
@@ -535,13 +453,13 @@ BEGIN
|
||||
formatmask := REPLACE (formatmask, '9', '#');
|
||||
formatmask := REPLACE (formatmask, '0', '#');
|
||||
formatmask := REPLACE (formatmask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
raise_application_error (-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
END;
|
||||
-- Controleer of de waarde binnen NMin en NMax ligt.
|
||||
IF (srtkenmerknmin IS NOT NULL AND numberwaarde < srtkenmerknmin)
|
||||
OR (srtkenmerknmax IS NOT NULL AND numberwaarde > srtkenmerknmax)
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004,
|
||||
raise_application_error (-20004,
|
||||
'bes_m243,'
|
||||
|| srtkenmerkomschr
|
||||
|| ','
|
||||
@@ -558,7 +476,7 @@ BEGIN
|
||||
formatmask := REPLACE (formatmask, '9', '#');
|
||||
formatmask := REPLACE (formatmask, '0', '#');
|
||||
formatmask := REPLACE (formatmask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
raise_application_error (-20004, 'bes_m242,' || srtkenmerkomschr || ',' || formatmask);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -600,6 +518,14 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_srtprod_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bes_srtprod
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_srtprod_key, bes_s_bes_srtprod_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_grootheid_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bes_grootheid
|
||||
FOR EACH ROW
|
||||
@@ -616,6 +542,30 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
CREATE_TRIGGER(bes_t_bes_srtprod_prijs_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bes_srtprod_prijs
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_srtprod_prijs_key, bes_s_bes_srtprod_prijs_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bedrijf_srtprod_BIU)
|
||||
BEFORE INSERT OR UPDATE ON bes_bedrijf_srtprod
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bedrijf_srtprod_key, bes_s_bes_bedrijf_srtprod_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bes_t_bes_bedrijf_bedrijf_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bes_bedrijf_bedrijf
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bes_bedrijf_bedrijf_key, bes_s_bes_bedrijf_bedrijf_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Workfile: BES_TRI.SRC $','$Revision$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
445
BES/BES_VIE.SRC
445
BES/BES_VIE.SRC
@@ -27,195 +27,127 @@ AS
|
||||
*/
|
||||
CREATE_VIEW(bes_bestellingstatuses, 0)
|
||||
AS
|
||||
SELECT fac_code2label_code bes_bestellingstatuses_key,
|
||||
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) bes_bestellingstatuses_omschr
|
||||
FROM fac_locale_xsl fl, fac_code2label fs
|
||||
WHERE fl.fac_locale_xsl_label = fac_code2label_label
|
||||
AND fac_code2label_domein = 'bestelling'
|
||||
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
|
||||
SELECT fac_code2label_code bes_bestellingstatuses_key,
|
||||
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) bes_bestellingstatuses_omschr
|
||||
FROM fac_locale_xsl fl, fac_code2label fs
|
||||
WHERE fl.fac_locale_xsl_label = fac_code2label_label
|
||||
AND fac_code2label_domein = 'bestelling'
|
||||
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
|
||||
|
||||
CREATE_VIEW(bes_bestelopdrstatuses, 0)
|
||||
AS
|
||||
SELECT fac_code2label_code bes_bestelopdrstatuses_key,
|
||||
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) bes_bestelopdrstatuses_omschr
|
||||
FROM fac_locale_xsl fl, fac_code2label fs
|
||||
WHERE fl.fac_locale_xsl_label = fac_code2label_label
|
||||
AND fac_code2label_domein = 'bestelopdr'
|
||||
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
|
||||
SELECT fac_code2label_code bes_bestelopdrstatuses_key,
|
||||
COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst) bes_bestelopdrstatuses_omschr
|
||||
FROM fac_locale_xsl fl, fac_code2label fs
|
||||
WHERE fl.fac_locale_xsl_label = fac_code2label_label
|
||||
AND fac_code2label_domein = 'bestelopdr'
|
||||
AND fac_locale_xsl_lang = lcl.getuserlanguage ();
|
||||
|
||||
/* ROOT VIEWS for User defined Reports (UDR) */
|
||||
CREATE_VIEW(bes_v_udr_bestelling, 1)
|
||||
(
|
||||
bestelling_key,
|
||||
bestelaanvraagnr,
|
||||
besteldatum,
|
||||
leverancier,
|
||||
besteller,
|
||||
invoerder,
|
||||
kostensoortgroep,
|
||||
kostensoort,
|
||||
kpn,
|
||||
kpn_omschrijving,
|
||||
fclt_3d_afdeling_key,
|
||||
afdeling_code,
|
||||
afdeling_omschrijving,
|
||||
fclt_3d_locatie_key,
|
||||
locatie_code,
|
||||
regio_omschrijving,
|
||||
district_omschrijving,
|
||||
afleveradres,
|
||||
afleverplaats,
|
||||
mandaat,
|
||||
fclt_3d_discipline_key,
|
||||
catalogus,
|
||||
groep,
|
||||
productomschrijving,
|
||||
productcode,
|
||||
afleverdatum,
|
||||
doorlooptijd_werkdgn,
|
||||
sla_tijd,
|
||||
prijs,
|
||||
inkoopprijs,
|
||||
status,
|
||||
gefiatteerddoor,
|
||||
bestelopdrachtnummer,
|
||||
aantal,
|
||||
itemprijs,
|
||||
iteminkoopprijs,
|
||||
itemposnr
|
||||
)
|
||||
CREATE_VIEW(bes_v_qvw_algemeen, 0) (bes_bestelling_key,
|
||||
bestelaanvraagnr,
|
||||
besteldatum,
|
||||
besteller,
|
||||
invoerder,
|
||||
kostensoortgroep,
|
||||
kostensoort,
|
||||
kpn,
|
||||
kpn_omschrijving,
|
||||
prs_bedrijf_key,
|
||||
afdeling_code,
|
||||
afdeling_omschrijving,
|
||||
alg_locatie_key,
|
||||
locatie_code,
|
||||
district_omschijving,
|
||||
afleveradres,
|
||||
mandaat,
|
||||
personeelsnr,
|
||||
werkplek,
|
||||
ins_discipline_key,
|
||||
catalogus,
|
||||
bes_srtgroep_key,
|
||||
groep,
|
||||
afleverdatum,
|
||||
doorlooptijd_werkdgn,
|
||||
sla_tijd,
|
||||
productcode,
|
||||
prijs,
|
||||
inkoopprijs,
|
||||
status,
|
||||
gefiatteerddoor,
|
||||
bestelopdrachtnummer,
|
||||
aantal,
|
||||
itemprijs,
|
||||
iteminkoopprijs,
|
||||
bes_srtdeel_key,
|
||||
productomschrijving,
|
||||
itemposnr
|
||||
)
|
||||
AS
|
||||
SELECT bes_bestelling_key,
|
||||
bestelaanvraagnr,
|
||||
besteldatum,
|
||||
bedrijf_naam,
|
||||
besteller,
|
||||
invoerder,
|
||||
kostensoortgroep,
|
||||
kostensoort,
|
||||
kpn,
|
||||
kpn_omschrijving,
|
||||
prs_afdeling_key,
|
||||
afdeling_code,
|
||||
afdeling_omschrijving,
|
||||
alg_locatie_key,
|
||||
locatie_code,
|
||||
regio_omschrijving,
|
||||
district_omschijving,
|
||||
afleveradres,
|
||||
afleverplaats,
|
||||
mandaat,
|
||||
ins_discipline_key,
|
||||
catalogus,
|
||||
groep,
|
||||
productomschrijving,
|
||||
productcode,
|
||||
afleverdatum,
|
||||
doorlooptijd_werkdgn,
|
||||
sla_tijd,
|
||||
prijs,
|
||||
inkoopprijs,
|
||||
status,
|
||||
gefiatteerddoor,
|
||||
bestelopdrachtnummer,
|
||||
aantal,
|
||||
itemprijs,
|
||||
iteminkoopprijs,
|
||||
itemposnr
|
||||
FROM (SELECT b.bes_bestelling_key bes_bestelling_key,
|
||||
'A-' || b.bes_bestelling_key bestelaanvraagnr,
|
||||
b.bes_bestelling_datum besteldatum,
|
||||
SELECT bes_bestelling_key, bestelaanvraagnr, besteldatum, besteller, invoerder, kostensoortgroep,kostensoort, kpn, kpn_omschrijving, prs_bedrijf_key,
|
||||
afdeling_code, afdeling_omschrijving, alg_locatie_key, locatie_code, district_omschijving, afleveradres, mandaat,
|
||||
personeelsnr, werkplek, ins_discipline_key, catalogus, bes_srtgroep_key, groep, afleverdatum, doorlooptijd_werkdgn, sla_tijd,
|
||||
productcode, prijs, inkoopprijs, status, gefiatteerddoor, bestelopdrachtnummer, aantal, itemprijs, iteminkoopprijs, bes_srtdeel_key, productomschrijving, itemposnr
|
||||
FROM (SELECT b.bes_bestelling_key bes_bestelling_key, 'A-' || b.bes_bestelling_key bestelaanvraagnr,
|
||||
TO_CHAR (b.bes_bestelling_datum, 'YYYY-MM-DD') besteldatum,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
||||
besteller,
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key) besteller,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key =
|
||||
COALESCE (fac.gettrackinguserkey ('BESNEW', b.bes_bestelling_key),
|
||||
fac.gettrackinguserkey ('BESAP2', b.bes_bestelling_key)))
|
||||
invoerder,
|
||||
(SELECT ksg.prs_kostensoortgrp_oms
|
||||
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
||||
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
|
||||
AND ks.prs_kostensoort_key =
|
||||
(SELECT MAX(COALESCE (bsg.prs_kostensoort_key,
|
||||
disc.prs_kostensoort_key))
|
||||
FROM bes_discipline disc, bes_srtgroep bsg
|
||||
WHERE disc.ins_discipline_key = d.ins_discipline_key))
|
||||
kostensoortgroep,
|
||||
(SELECT ks.prs_kostensoort_oms
|
||||
FROM prs_kostensoort ks
|
||||
WHERE ks.prs_kostensoort_key =
|
||||
(SELECT MAX(COALESCE (bsg.prs_kostensoort_key,
|
||||
disc.prs_kostensoort_key))
|
||||
FROM bes_discipline disc, bes_srtgroep bsg
|
||||
WHERE disc.ins_discipline_key = bsg.ins_discipline_key
|
||||
AND disc.ins_discipline_key = d.ins_discipline_key))
|
||||
kostensoort,
|
||||
WHERE pf.prs_perslid_key = fac.gettrackinguserkey ('BESAP2', b.bes_bestelling_key)) invoerder,
|
||||
(select ksg.prs_kostensoortgrp_oms
|
||||
from prs_kostensoortgrp ksg, prs_kostensoort ks
|
||||
where ksg.PRS_KOSTENSOORTGRP_KEY = ks.PRS_KOSTENSOORTGRP_KEY
|
||||
and ks.PRS_KOSTENSOORT_KEY = (select disc.PRS_KOSTENSOORT_KEY
|
||||
from bes_discipline disc
|
||||
where disc.ins_DISCIPLINE_KEY = d.ins_discipline_key)) kostensoortgroep,
|
||||
(select ks.prs_kostensoort_oms
|
||||
from prs_kostensoort ks
|
||||
where ks.PRS_KOSTENSOORT_KEY = (select disc.PRS_KOSTENSOORT_KEY
|
||||
from bes_discipline disc
|
||||
where disc.ins_DISCIPLINE_KEY = d.ins_discipline_key)) kostensoort,
|
||||
k.prs_kostenplaats_nr kpn,
|
||||
k.prs_kostenplaats_omschrijving kpn_omschrijving,
|
||||
(SELECT b.prs_bedrijf_naam
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key = sd.prs_bedrijf_key)
|
||||
bedrijf_naam,
|
||||
a.prs_afdeling_key,
|
||||
(SELECT prs_bedrijf_key
|
||||
FROM prs_v_afdeling pva
|
||||
WHERE pva.prs_afdeling_key = a.prs_afdeling_key) prs_bedrijf_key,
|
||||
a.prs_afdeling_naam afdeling_code,
|
||||
a.prs_afdeling_omschrijving afdeling_omschrijving,
|
||||
ma.alg_locatie_key alg_locatie_key,
|
||||
(SELECT alg_locatie_code
|
||||
FROM alg_locatie l
|
||||
WHERE l.alg_locatie_key = ma.alg_locatie_key)
|
||||
locatie_code,
|
||||
(SELECT alg_regio_omschrijving
|
||||
FROM alg_locatie l, alg_district d, alg_regio r
|
||||
WHERE r.alg_regio_key = d.alg_regio_key
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND l.alg_locatie_key = ma.alg_locatie_key)
|
||||
regio_omschrijving,
|
||||
WHERE l.alg_locatie_key = ma.alg_locatie_key) locatie_code,
|
||||
(SELECT alg_district_omschrijving
|
||||
FROM alg_locatie l, alg_district d
|
||||
WHERE l.alg_district_key = d.alg_district_key
|
||||
AND l.alg_locatie_key = ma.alg_locatie_key)
|
||||
district_omschijving,
|
||||
ma.mld_adres_naam afleveradres,
|
||||
b.bes_bestelling_plaats afleverplaats,
|
||||
NVL ( (SELECT pr.fac_profiel_limiet
|
||||
FROM fac_profiel pr
|
||||
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0)
|
||||
mandaat,
|
||||
AND l.alg_locatie_key = ma.alg_locatie_key) district_omschijving,
|
||||
ma.mld_adres_naam afleveradres, NVL ((SELECT pr.fac_profiel_limiet
|
||||
FROM fac_profiel pr
|
||||
WHERE p.fac_profiel_key = pr.fac_profiel_key), 0) mandaat,
|
||||
prs_perslid_nr personeelsnr, wp2.prs_werkplek_aanduiding werkplek,
|
||||
d.ins_discipline_key ins_discipline_key,
|
||||
d.ins_discipline_omschrijving catalogus,
|
||||
sg.bes_srtgroep_key bes_srtgroep_key,
|
||||
sg.bes_srtgroep_omschrijving groep,
|
||||
b.bes_bestelling_leverdatum afleverdatum,
|
||||
fac.count_work_days (
|
||||
b.bes_bestelling_datum,
|
||||
NVL (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key), SYSDATE))
|
||||
doorlooptijd_werkdgn,
|
||||
NVL ( (SELECT bdp.bes_disc_params_leverdagen
|
||||
FROM bes_disc_params bdp
|
||||
WHERE d.ins_discipline_key = bdp.bes_ins_discipline_key), 0)
|
||||
sla_tijd,
|
||||
TO_CHAR (b.bes_bestelling_leverdatum, 'YYYY-MM-DD') afleverdatum,
|
||||
TO_CHAR (fac.count_work_days (b.bes_bestelling_datum, NVL (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key), SYSDATE))
|
||||
) doorlooptijd_werkdgn,
|
||||
NVL ((SELECT bdp.bes_disc_params_leverdagen
|
||||
FROM bes_disc_params bdp
|
||||
WHERE d.ins_discipline_key = bdp.bes_ins_discipline_key), 0) sla_tijd,
|
||||
sd.bes_srtdeel_nr productcode,
|
||||
bi.bes_bestelling_item_prijs * bi.bes_bestelling_item_aantal prijs,
|
||||
NVL (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, bes_bestelling_datum),
|
||||
bi.bes_bestelling_item_prijs)
|
||||
* bi.bes_bestelling_item_aantal
|
||||
inkoopprijs,
|
||||
REPLACE (TO_CHAR (bi.bes_bestelling_item_prijs * bi.bes_bestelling_item_aantal, '9999990.99'), '.', ',') prijs,
|
||||
REPLACE (TO_CHAR (NVL(bes.getsrtdeelinkprijs(sd.bes_srtdeel_key, bes_bestelling_datum), bi.bes_bestelling_item_prijs) * bi.bes_bestelling_item_aantal, '9999990.99'), '.', ',') inkoopprijs,
|
||||
(SELECT bes_bestellingstatuses_omschr
|
||||
FROM bes_bestellingstatuses bs
|
||||
WHERE bs.bes_bestellingstatuses_key = b.bes_bestelling_status)
|
||||
status,
|
||||
WHERE bs.bes_bestellingstatuses_key = b.bes_bestelling_status) status,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all pf
|
||||
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user)
|
||||
gefiatteerddoor,
|
||||
'O-' || bo.bes_bestelopdr_id bestelopdrachtnummer,
|
||||
bi.bes_bestelling_item_aantal aantal,
|
||||
bi.bes_bestelling_item_prijs itemprijs,
|
||||
NVL (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, bes_bestelling_datum),
|
||||
bi.bes_bestelling_item_prijs)
|
||||
iteminkoopprijs,
|
||||
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user) gefiatteerddoor,
|
||||
'O-' || bo.bes_bestelopdr_id bestelopdrachtnummer, bi.bes_bestelling_item_aantal aantal,
|
||||
REPLACE (TO_CHAR (bi.bes_bestelling_item_prijs, '9999990.99'), '.', ',') itemprijs,
|
||||
REPLACE (TO_CHAR (NVL(bes.getsrtdeelinkprijs(sd.bes_srtdeel_key, bes_bestelling_datum), bi.bes_bestelling_item_prijs), '9999990.99'), '.', ',') iteminkoopprijs,
|
||||
sd.bes_srtdeel_key bes_srtdeel_key,
|
||||
sd.bes_srtdeel_omschrijving productomschrijving,
|
||||
boi.bes_bestelopdr_item_posnr itemposnr
|
||||
FROM bes_bestelling b,
|
||||
@@ -223,6 +155,11 @@ AS
|
||||
prs_kostenplaats k,
|
||||
prs_afdeling a,
|
||||
mld_adres ma,
|
||||
(SELECT pw.prs_perslid_key,
|
||||
MIN (prs_werkplek_aanduiding) || DECODE (COUNT (*), 1, '', '...') prs_werkplek_aanduiding
|
||||
FROM prs_v_werkplek_gegevens wp, prs_perslidwerkplek pw
|
||||
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
||||
GROUP BY pw.prs_perslid_key) wp2,
|
||||
bes_bestelling_item bi,
|
||||
bes_bestelopdr_item boi,
|
||||
bes_bestelopdr bo,
|
||||
@@ -230,9 +167,10 @@ AS
|
||||
bes_srtgroep sg,
|
||||
ins_tab_discipline d
|
||||
WHERE b.prs_perslid_key = p.prs_perslid_key
|
||||
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND b.mld_adres_key_lev = ma.mld_adres_key
|
||||
AND wp2.prs_perslid_key(+) = p.prs_perslid_key
|
||||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key(+)
|
||||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
||||
@@ -240,117 +178,80 @@ AS
|
||||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||||
AND sg.ins_discipline_key = d.ins_discipline_key);
|
||||
|
||||
CREATE_VIEW(bes_v_allsrtinstallatie, 0)
|
||||
(
|
||||
NIVEAU,
|
||||
BES_SRTINSTALLATIE_KEY,
|
||||
DISCIPLINE_OMS,
|
||||
SRTGROEP_OMS,
|
||||
SRTDEEL_OMS,
|
||||
BES_DISCIPLINE_KEY,
|
||||
BES_SRTGROEP_KEY,
|
||||
BES_SRTDEEL_KEY,
|
||||
BES_DISCIPLINE_VERWIJDER,
|
||||
BES_SRTGROEP_VERWIJDER,
|
||||
BES_SRTDEEL_VERWIJDER
|
||||
)
|
||||
CREATE_VIEW(bes_v_qvw_locale, 0)
|
||||
(fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst_nl, fac_locale_tekst_en, fac_locale_tekst_de, fac_locale_tekst_fr)
|
||||
AS
|
||||
SELECT 'D',
|
||||
bes_ID.ins_discipline_key,
|
||||
bes_ID.ins_discipline_omschrijving discipline_oms,
|
||||
NULL srtgroep_oms,
|
||||
NULL srtdeel_oms,
|
||||
bes_ID.ins_discipline_key,
|
||||
NULL bes_srtgroep_key,
|
||||
NULL bes_srtdeel_key,
|
||||
bes_ID.ins_discipline_verwijder bes_discipline_verwijder,
|
||||
NULL bes_srtgroep_verwijder,
|
||||
NULL bes_srtdeel_verwijder
|
||||
FROM bes_discipline bes_ID
|
||||
UNION
|
||||
SELECT 'G',
|
||||
bes_SG.bes_srtgroep_key,
|
||||
bes_ID.ins_discipline_omschrijving,
|
||||
bes_SG.bes_srtgroep_omschrijving,
|
||||
NULL srtdeel_oms,
|
||||
bes_ID.ins_discipline_key,
|
||||
bes_SG.bes_srtgroep_key,
|
||||
NULL bes_srtdeel_key,
|
||||
bes_ID.ins_discipline_verwijder bes_discipline_verwijder,
|
||||
bes_SG.bes_srtgroep_verwijder,
|
||||
NULL bes_srtdeel_verwijder
|
||||
FROM bes_discipline bes_ID, bes_srtgroep bes_SG
|
||||
WHERE bes_ID.ins_discipline_key = bes_SG.ins_discipline_key
|
||||
UNION
|
||||
SELECT 'S',
|
||||
bes_SD.bes_srtdeel_key,
|
||||
bes_ID.ins_discipline_omschrijving,
|
||||
bes_SG.bes_srtgroep_omschrijving,
|
||||
bes_SD.bes_srtdeel_omschrijving,
|
||||
bes_ID.ins_discipline_key,
|
||||
bes_SG.bes_srtgroep_key,
|
||||
bes_SD.bes_srtdeel_key,
|
||||
bes_ID.ins_discipline_verwijder bes_discipline_verwijder,
|
||||
bes_SG.bes_srtgroep_verwijder,
|
||||
bes_SD.bes_srtdeel_verwijder
|
||||
FROM bes_discipline bes_ID, bes_srtgroep bes_SG, bes_srtdeel bes_SD
|
||||
WHERE bes_SG.bes_srtgroep_key = bes_SD.bes_srtgroep_key
|
||||
AND bes_ID.ins_discipline_key = bes_SG.ins_discipline_key;
|
||||
WITH bqa AS (SELECT DISTINCT ins_discipline_key,
|
||||
catalogus,
|
||||
bes_srtgroep_key,
|
||||
groep,
|
||||
bes_srtdeel_key,
|
||||
productomschrijving
|
||||
FROM bes_v_qvw_algemeen)
|
||||
SELECT DISTINCT bqa.ins_discipline_key,
|
||||
'INS_DISCIPLINE_OMSCHRIJVING',
|
||||
bqa.catalogus,
|
||||
COALESCE (en.fac_locale_tekst, bqa.catalogus),
|
||||
COALESCE (de.fac_locale_tekst, bqa.catalogus),
|
||||
COALESCE (fr.fac_locale_tekst, bqa.catalogus)
|
||||
FROM fac_locale en,
|
||||
fac_locale de,
|
||||
fac_locale fr,
|
||||
bqa
|
||||
WHERE bqa.ins_discipline_key = en.fac_locale_kolomkeyval(+)
|
||||
AND en.fac_locale_kolomnaam(+) = 'INS_DISCIPLINE_OMSCHRIJVING'
|
||||
AND en.fac_locale_lang(+) = 'EN'
|
||||
AND bqa.ins_discipline_key = de.fac_locale_kolomkeyval(+)
|
||||
AND de.fac_locale_kolomnaam(+) = 'INS_DISCIPLINE_OMSCHRIJVING'
|
||||
AND de.fac_locale_lang(+) = 'DE'
|
||||
AND bqa.ins_discipline_key = fr.fac_locale_kolomkeyval(+)
|
||||
AND fr.fac_locale_kolomnaam(+) = 'INS_DISCIPLINE_OMSCHRIJVING'
|
||||
AND fr.fac_locale_lang(+) = 'FR'
|
||||
UNION ALL
|
||||
SELECT DISTINCT bqa.bes_srtgroep_key,
|
||||
'BES_SRTGROEP_OMSCHRIJVING',
|
||||
bqa.groep,
|
||||
COALESCE (en.fac_locale_tekst, bqa.groep),
|
||||
COALESCE (de.fac_locale_tekst, bqa.groep),
|
||||
COALESCE (fr.fac_locale_tekst, bqa.groep)
|
||||
FROM fac_locale en,
|
||||
fac_locale de,
|
||||
fac_locale fr,
|
||||
bqa
|
||||
WHERE bqa.bes_srtgroep_key = en.fac_locale_kolomkeyval(+)
|
||||
AND en.fac_locale_kolomnaam(+) = 'BES_SRTGROEP_OMSCHRIJVING'
|
||||
AND en.fac_locale_lang(+) = 'EN'
|
||||
AND bqa.bes_srtgroep_key = de.fac_locale_kolomkeyval(+)
|
||||
AND de.fac_locale_kolomnaam(+) = 'BES_SRTGROEP_OMSCHRIJVING'
|
||||
AND de.fac_locale_lang(+) = 'DE'
|
||||
AND bqa.bes_srtgroep_key = fr.fac_locale_kolomkeyval(+)
|
||||
AND fr.fac_locale_kolomnaam(+) = 'BES_SRTGROEP_OMSCHRIJVING'
|
||||
AND fr.fac_locale_lang(+) = 'FR'
|
||||
UNION ALL
|
||||
SELECT DISTINCT bqa.bes_srtdeel_key,
|
||||
'BES_SRTDEEL_OMSCHRIJVING',
|
||||
bqa.productomschrijving,
|
||||
COALESCE (en.fac_locale_tekst, bqa.productomschrijving),
|
||||
COALESCE (de.fac_locale_tekst, bqa.productomschrijving),
|
||||
COALESCE (fr.fac_locale_tekst, bqa.productomschrijving)
|
||||
FROM fac_locale en,
|
||||
fac_locale de,
|
||||
fac_locale fr,
|
||||
bqa
|
||||
WHERE bqa.bes_srtdeel_key = en.fac_locale_kolomkeyval(+)
|
||||
AND en.fac_locale_kolomnaam(+) = 'BES_SRTDEEL_OMSCHRIJVING'
|
||||
AND en.fac_locale_lang(+) = 'EN'
|
||||
AND bqa.bes_srtdeel_key = de.fac_locale_kolomkeyval(+)
|
||||
AND de.fac_locale_kolomnaam(+) = 'BES_SRTDEEL_OMSCHRIJVING'
|
||||
AND de.fac_locale_lang(+) = 'DE'
|
||||
AND bqa.bes_srtdeel_key = fr.fac_locale_kolomkeyval(+)
|
||||
AND fr.fac_locale_kolomnaam(+) = 'BES_SRTDEEL_OMSCHRIJVING'
|
||||
AND fr.fac_locale_lang(+) = 'FR';
|
||||
|
||||
CREATE_VIEW(bes_v_rap_sync_catalogus, 0)
|
||||
(
|
||||
CATALOGUS_NAAM,
|
||||
LEVERANCIER,
|
||||
CAT_DATUM,
|
||||
ARTIKELNR,
|
||||
GROEP,
|
||||
OMSCHRIJVING,
|
||||
PRIJS,
|
||||
EENHEID,
|
||||
PICTURE,
|
||||
ORDERAANTAL,
|
||||
TAX,
|
||||
DUEDATE,
|
||||
INKOOPPRIJS,
|
||||
MINIMUM,
|
||||
STAFFELTABEL,
|
||||
WIJZIGDAGEN,
|
||||
ANNULEERDAGEN,
|
||||
OPMERKING
|
||||
)
|
||||
AS
|
||||
SELECT bd.ins_discipline_omschrijving,
|
||||
b.prs_bedrijf_naam,
|
||||
NULL,
|
||||
sd.bes_srtdeel_nr,
|
||||
sg.bes_srtgroep_omschrijving,
|
||||
sd.bes_srtdeel_omschrijving,
|
||||
REPLACE (TO_CHAR (bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)), ',', '.'),
|
||||
sd.bes_srtdeel_eenheid,
|
||||
sd.bes_srtdeel_image,
|
||||
TO_CHAR (sd.bes_srtdeel_veelvoud),
|
||||
TO_CHAR (sd.bes_srtdeel_btw),
|
||||
TO_CHAR (sd.bes_srtdeel_vervaldatum, 'yyyymmdd'),
|
||||
REPLACE (TO_CHAR (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, NULL)), ',', '.'),
|
||||
TO_CHAR (sd.bes_srtdeel_minimum),
|
||||
bs.bes_staffeltabel_naam,
|
||||
TO_CHAR (sd.bes_srtdeel_wijzigdagen),
|
||||
TO_CHAR (sd.bes_srtdeel_annuleerdagen),
|
||||
sd.bes_srtdeel_opmerking
|
||||
FROM bes_discipline bd,
|
||||
bes_srtgroep sg,
|
||||
bes_srtdeel sd,
|
||||
prs_bedrijf b,
|
||||
bes_staffeltabel bs
|
||||
WHERE bd.ins_discipline_module = 'BES'
|
||||
AND bd.ins_discipline_verwijder IS NULL
|
||||
AND bd.ins_discipline_key = sg.ins_discipline_key
|
||||
AND sg.bes_srtgroep_verwijder IS NULL
|
||||
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
|
||||
AND sd.bes_srtdeel_verwijder IS NULL
|
||||
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND sd.bes_staffeltabel_key = bs.bes_staffeltabel_key;
|
||||
-- Vooralsnog placeholders, moeten aangepast worden
|
||||
CREATE_VIEW(bes_v_api_bestellingen, 1) AS SELECT * from bes_bestelling;
|
||||
CREATE_VIEW(bes_v_api_bestelopdrachten, 1) AS SELECT * from bes_bestelopdr;
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: BES_VIE.SRC $','$Revision$')
|
||||
|
||||
#endif // BES
|
||||
|
||||
@@ -9,15 +9,9 @@ create index bez_i_bez_afspraak_bez3 on bez_afspraak (prs_perslid_key);
|
||||
create index bez_i_bez_afspraak_bez4 on bez_afspraak (bez_afspraak_datum);
|
||||
CREATE INDEX bez_i_bez_afspraak_bez5 ON bez_afspraak(bez_afspraak_contact_key, bez_afspraak_datum);
|
||||
CREATE INDEX bez_i_bez_afspraak_bez6 ON bez_afspraak(bez_afspraak_host_key, bez_afspraak_datum);
|
||||
CREATE INDEX bez_i_bez_afspraak_bez7 ON bez_afspraak(alg_locatie_key);
|
||||
CREATE INDEX bez_i_bez_afspraak_bez8 ON bez_afspraak(mld_opdr_key);
|
||||
|
||||
create index bez_i_bez_bezoeker_afsp on bez_bezoekers (bez_afspraak_key);
|
||||
CREATE INDEX bez_i_bez_bezoekers1 ON bez_bezoekers(prs_perslid_key);
|
||||
CREATE INDEX bez_i_bez_bezoekers2 ON bez_bezoekers(prs_contactpersoon_key);
|
||||
|
||||
CREATE INDEX bez_i_bez_kenmerk1 ON bez_kenmerk(bez_kenmerk_code);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BEZ_IND.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
@@ -3,15 +3,14 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('BEZ','lcl_module_BEZ')
|
||||
_FAC_MODULE('BEZ','Bezoekersregistratie')
|
||||
|
||||
INSERT INTO bez_actie_groep (bez_actie_groep_omschrijving, bez_actie_groep_default) VALUES ('Default', 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Onbekend' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_default = 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Ontvanger bellen' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_default = 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Begeleiden naar ontvanger', bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_default = 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Verwijzen naar ontvanger' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_default = 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving, bez_actie_groep_key) (SELECT 'Op laten halen (bellen)' , bez_actie_groep_key FROM bez_actie_groep WHERE bez_actie_groep_default = 1);
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving) VALUES ('Onbekend');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving) VALUES ('Ontvanger bellen');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving) VALUES ('Begeleiden naar ontvanger');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving) VALUES ('Verwijzen naar ontvanger');
|
||||
INSERT INTO bez_actie (bez_actie_omschrijving) VALUES ('Op laten halen (bellen)');
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BEZ_INI.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
336
BEZ/BEZ_PAC.SRC
336
BEZ/BEZ_PAC.SRC
@@ -6,13 +6,11 @@
|
||||
*/
|
||||
CREATE OR REPLACE PACKAGE bez AS
|
||||
PROCEDURE copy_afspraak (pkey IN NUMBER, newdate IN DATE, puserkey IN NUMBER, prsvkey_to IN NUMBER);
|
||||
PROCEDURE copy_afspraak (pkey IN NUMBER, newdate IN DATE, puserkey IN NUMBER, prsvkey_to IN NUMBER, newafspraakkey OUT NUMBER);
|
||||
PROCEDURE sync_resafspraak (presvruimtevan IN NUMBER, presvruimtenaar IN NUMBER);
|
||||
PROCEDURE claim_parking (pbez_bezoekers_key IN NUMBER, palg_gebter_key IN NUMBER);
|
||||
FUNCTION hasparking (pbez_bezoekers_key IN NUMBER) RETURN NUMBER;
|
||||
FUNCTION afssprintf (ps IN VARCHAR2 , p_afspraak_key IN NUMBER) RETURN VARCHAR2 ;
|
||||
FUNCTION bzksprintf (ps IN VARCHAR2 , p_bezoekers_key IN NUMBER) RETURN VARCHAR2 ;
|
||||
PROCEDURE remove (p_afspraak_key IN NUMBER);
|
||||
END bez;
|
||||
/
|
||||
|
||||
@@ -21,30 +19,18 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
PROCEDURE copy_afspraak (pkey IN NUMBER, newdate IN DATE, puserkey IN NUMBER, prsvkey_to IN NUMBER)
|
||||
AS
|
||||
newafspraakkey bez_afspraak.bez_afspraak_key%TYPE;
|
||||
BEGIN
|
||||
copy_afspraak (pkey, newdate, puserkey, prsvkey_to, newafspraakkey);
|
||||
END;
|
||||
|
||||
-- Variant waarbij je newafspraakkey terug krijgt
|
||||
PROCEDURE copy_afspraak (pkey IN NUMBER, newdate IN DATE, puserkey IN NUMBER, prsvkey_to IN NUMBER, newafspraakkey OUT NUMBER)
|
||||
AS
|
||||
newbezoekerskey bez_bezoekers.bez_bezoekers_key%TYPE;
|
||||
hasparking NUMBER;
|
||||
nieuwvan DATE;
|
||||
nieuwtot DATE;
|
||||
alg_gebter_key ins_deel.ins_alg_ruimte_key%TYPE;
|
||||
|
||||
CURSOR bezoekers
|
||||
IS
|
||||
SELECT bez_bezoekers_key,
|
||||
bez_afspraak_naam,
|
||||
bez_afspraak_bedrijf,
|
||||
bez_bezoekers_opmerking,
|
||||
bez_bezoekers_telefoon,
|
||||
bez_bezoekers_email,
|
||||
bez_bezoekers_kenteken,
|
||||
prs_contactpersoon_key,
|
||||
prs_perslid_key
|
||||
bez_afspraak_opmerking,
|
||||
prs_contactpersoon_key
|
||||
FROM bez_bezoekers
|
||||
WHERE bez_afspraak_key = pkey;
|
||||
BEGIN
|
||||
@@ -68,29 +54,17 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
|
||||
SELECT bez_s_bez_afspraak_key.NEXTVAL INTO newafspraakkey FROM DUAL;
|
||||
|
||||
INSERT INTO bez_afspraak (bez_afspraak_key,
|
||||
prs_perslid_key,
|
||||
bez_afspraak_host_key,
|
||||
bez_afspraak_contact_key,
|
||||
bez_afspraak_gastheer,
|
||||
bez_afspraak_telefoonnr,
|
||||
bez_afspraak_datum, bez_actie_key,
|
||||
alg_locatie_key, res_rsv_ruimte_key,
|
||||
mld_opdr_key,
|
||||
alg_onrgoed_keys, bez_afspraak_ruimte,
|
||||
bez_afspraak_opmerking, bez_afspraak_eind
|
||||
INSERT INTO bez_afspraak (bez_afspraak_key, prs_perslid_key, bez_afspraak_host_key, bez_afspraak_contact_key, bez_afspraak_gastheer, bez_afspraak_datum, bez_actie_key, alg_locatie_key, res_rsv_ruimte_key, alg_onrgoed_keys, bez_afspraak_ruimte, bez_afspraak_opmerking, bez_afspraak_eind
|
||||
)
|
||||
SELECT newafspraakkey,
|
||||
puserkey,
|
||||
a.bez_afspraak_host_key,
|
||||
a.bez_afspraak_contact_key,
|
||||
a.bez_afspraak_gastheer,
|
||||
a.bez_afspraak_telefoonnr,
|
||||
nieuwvan,
|
||||
a.bez_actie_key,
|
||||
a.alg_locatie_key,
|
||||
prsvkey_to,
|
||||
mld_opdr_key,
|
||||
a.alg_onrgoed_keys,
|
||||
a.bez_afspraak_ruimte,
|
||||
a.bez_afspraak_opmerking,
|
||||
@@ -98,7 +72,7 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
FROM bez_afspraak a
|
||||
WHERE a.bez_afspraak_key = pkey;
|
||||
|
||||
-- Er zijn geen flexkenmerken in het spel voor afspraak
|
||||
-- Er zijn geen flexkenmerken in het spel
|
||||
FOR b IN bezoekers
|
||||
LOOP
|
||||
SELECT bez_s_bez_bezoekers_key.NEXTVAL INTO newbezoekerskey FROM DUAL;
|
||||
@@ -108,24 +82,16 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
bez_afspraak_key,
|
||||
bez_afspraak_naam,
|
||||
bez_afspraak_bedrijf,
|
||||
bez_bezoekers_opmerking,
|
||||
bez_bezoekers_telefoon,
|
||||
bez_bezoekers_email,
|
||||
bez_bezoekers_kenteken,
|
||||
prs_contactpersoon_key,
|
||||
prs_perslid_key
|
||||
bez_afspraak_opmerking,
|
||||
prs_contactpersoon_key
|
||||
)
|
||||
VALUES (
|
||||
newbezoekerskey,
|
||||
newafspraakkey,
|
||||
b.bez_afspraak_naam,
|
||||
b.bez_afspraak_bedrijf,
|
||||
b.bez_bezoekers_opmerking,
|
||||
b.bez_bezoekers_telefoon,
|
||||
b.bez_bezoekers_email,
|
||||
b.bez_bezoekers_kenteken,
|
||||
b.prs_contactpersoon_key,
|
||||
b.prs_perslid_key
|
||||
b.bez_afspraak_opmerking,
|
||||
b.prs_contactpersoon_key
|
||||
);
|
||||
|
||||
-- Als de bron een P had, dan de bestemming ook
|
||||
@@ -133,52 +99,10 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
|
||||
IF (hasparking > 0)
|
||||
THEN
|
||||
-- Probeer in/op het/dezelfde gebouw/terreinsector een lege parkeerplaats te vinden.
|
||||
-- Lukt dit niet dan probeer op dezelfde locatie een lege parkeerplaats te vinden.
|
||||
SELECT CASE WHEN ins_alg_ruimte_type = 'T'
|
||||
THEN id.ins_alg_ruimte_key
|
||||
ELSE og.alg_gebouw_key
|
||||
END
|
||||
INTO alg_gebter_key
|
||||
FROM res_rsv_deel rrd,
|
||||
res_deel rd,
|
||||
ins_deel id,
|
||||
alg_v_allonroerendgoed og
|
||||
WHERE rrd.res_deel_key = rd.res_deel_key
|
||||
AND rd.res_ins_deel_key = id.ins_deel_key
|
||||
AND (id.ins_alg_ruimte_key = og.alg_ruimte_key
|
||||
OR id.ins_alg_ruimte_key = og.alg_terreinsector_key)
|
||||
AND rrd.bez_bezoekers_key = b.bez_bezoekers_key;
|
||||
|
||||
claim_parking (newbezoekerskey, alg_gebter_key);
|
||||
|
||||
hasparking := bez.hasparking (newbezoekerskey);
|
||||
IF hasparking = 0
|
||||
THEN
|
||||
-- dan maar de oude methode: overal zoeken
|
||||
claim_parking (newbezoekerskey, null);
|
||||
END IF;
|
||||
claim_parking (newbezoekerskey, null);
|
||||
-- Eventueel: controleren of de nieuwe nu ook een P heeft,
|
||||
-- en zo niet dat dan tracken; goed doordenken!
|
||||
END IF;
|
||||
|
||||
-- Kopieer de flexkenmerken van de bezoekers
|
||||
-- Do not copy backoffice characteristics (> 900)
|
||||
INSERT INTO bez_kenmerkwaarde
|
||||
( bez_bezoekers_key,
|
||||
bez_kenmerk_key,
|
||||
bez_kenmerkwaarde_waarde
|
||||
)
|
||||
SELECT newbezoekerskey,
|
||||
w.bez_kenmerk_key,
|
||||
w.bez_kenmerkwaarde_waarde
|
||||
FROM bez_kenmerkwaarde w,
|
||||
bez_kenmerk k
|
||||
WHERE w.bez_kenmerk_key = k.bez_kenmerk_key
|
||||
AND w.bez_bezoekers_key = b.bez_bezoekers_key
|
||||
AND k.bez_kenmerk_volgnr <= 900
|
||||
AND w.bez_kenmerkwaarde_verwijder IS NULL;
|
||||
|
||||
END LOOP;
|
||||
|
||||
fac.trackaction ('BEZMUT', newafspraakkey, puserkey, NULL, NULL);
|
||||
@@ -230,10 +154,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Pas op met testen van deze PROCEDURE. De user voor autorisatie wordt bepaald
|
||||
-- via sys_context('USERENV', 'CLIENT_IDENTIFIER')
|
||||
-- ASP-code zet die indirect via fac.initsession
|
||||
-- Compacter kun je dat doen via DBMS_SESSION.SET_IDENTIFIER(3); (met 3=key van de user)
|
||||
PROCEDURE claim_parking (pbez_bezoekers_key IN NUMBER, palg_gebter_key IN NUMBER)
|
||||
AS
|
||||
lafspraakkey bez_afspraak.bez_afspraak_key%TYPE;
|
||||
@@ -245,8 +165,6 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
talgruimte res_rsv_ruimte.alg_ruimte_key%TYPE;
|
||||
lparkeerkey res_deel.res_deel_key%TYPE;
|
||||
bez_parkingdiscipline_key NUMBER;
|
||||
lpreposttime NUMBER(5,4); -- we gaan nog delen door 24, res_disc_params.res_disc_params_preposttime%TYPE is dan te klein;
|
||||
lautlevel fac_v_webgebruiker.fac_gebruiker_prs_level_write%TYPE;
|
||||
BEGIN
|
||||
-- Claim een (nieuwe) parkeerplaats voor de gegeven bezoeker
|
||||
-- Reserveer voor de tijden van de bijbehorende afspraak cq. res_rsv_ruimte
|
||||
@@ -275,21 +193,11 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
IF ldeelreskey IS NOT NULL
|
||||
THEN
|
||||
-- Zoek de noodzakelijke gegevens op
|
||||
SELECT r.res_ruimte_opstel_key, r.alg_ruimte_key
|
||||
INTO topstel, talgruimte
|
||||
SELECT r.res_rsv_ruimte_van, r.res_rsv_ruimte_tot, r.res_ruimte_opstel_key, r.alg_ruimte_key
|
||||
INTO lbegin, leinde, topstel, talgruimte
|
||||
FROM res_rsv_ruimte r
|
||||
WHERE res_rsv_ruimte_key = ldeelreskey;
|
||||
|
||||
-- Begin- en eindtijd zouden al bekend moeten zijn via afspraak (zal eigenlijk altijd gevuld zijn)
|
||||
-- Zo niet, dan nog ophalen uit rsv_ruimte
|
||||
IF lbegin IS NULL OR leinde IS NULL
|
||||
THEN
|
||||
SELECT r.res_rsv_ruimte_van, r.res_rsv_ruimte_tot
|
||||
INTO lbegin, leinde
|
||||
FROM res_rsv_ruimte r
|
||||
WHERE res_rsv_ruimte_key = ldeelreskey;
|
||||
END IF;
|
||||
|
||||
IF talgruimte IS NOT NULL
|
||||
THEN
|
||||
SELECT g.alg_locatie_key
|
||||
@@ -304,162 +212,66 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
FROM res_ruimte_opstelling ro, res_alg_ruimte rag, alg_ruimte r, alg_verdieping v, alg_gebouw g
|
||||
WHERE ro.res_ruimte_key = rag.res_ruimte_key
|
||||
AND rag.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND res_alg_ruimte_verwijder IS NULL
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND ro.res_ruimte_opstel_key = topstel;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- ik weet genoeg, behalve: de discipline_key van parkeerplaatsen en de pre/post tijden van deze discipline!
|
||||
bez_parkingdiscipline_key := fac.safe_to_number (fac.getsetting ('vis_parking_key'));
|
||||
-- ik weet genoeg, behalve: de discipline_key van parkeerplaatsen!
|
||||
bez_parkingdiscipline_key := fac.safe_to_number (fac.getsetting ('vis_parking_key'));
|
||||
|
||||
SELECT COALESCE(rdp.res_disc_params_preposttime, 0) / 24
|
||||
INTO lpreposttime
|
||||
FROM res_disc_params rdp
|
||||
WHERE rdp.res_ins_discipline_key = bez_parkingdiscipline_key;
|
||||
|
||||
SELECT COALESCE((SELECT w.fac_gebruiker_prs_level_write
|
||||
FROM fac_v_webgebruiker w,
|
||||
fac_functie f
|
||||
WHERE w.fac_functie_key = f.fac_functie_key
|
||||
AND w.prs_perslid_key = TO_NUMBER(SYS_CONTEXT('USERENV', 'CLIENT_IDENTIFIER'))
|
||||
AND f.fac_functie_code = 'WEB_BEZPAF'),
|
||||
9) lautlevel
|
||||
INTO lautlevel
|
||||
FROM DUAL;
|
||||
|
||||
-- lpreposttime is nu in dagen (in uren / 24 = in dagen).
|
||||
-- In de query wordt rekening gehouden met 1 minuut marge voor afrondfouten (+/- 1 / 1440).
|
||||
-- Heb ik een gebouwkey of terreinkey meegekregen?
|
||||
IF palg_gebter_key IS NULL
|
||||
THEN
|
||||
-- Wat is een vrije parkeerplaats
|
||||
SELECT MIN (res_deel_key) -- logischer maken?
|
||||
INTO lparkeerkey
|
||||
FROM (SELECT d.res_deel_key,
|
||||
(SELECT MIN (rd.res_deel_key)
|
||||
FROM res_v_aanwezigrsv_deel rd
|
||||
WHERE d.res_deel_key = rd.res_deel_key
|
||||
AND rd.res_rsv_deel_van BETWEEN TRUNC (lbegin) AND leinde - 1 / 1440 + lpreposttime
|
||||
AND rd.res_rsv_deel_tot BETWEEN lbegin + 1 / 1440 - lpreposttime AND TRUNC (lbegin) + 1
|
||||
AND rd.res_rsv_deel_van < leinde - 1 / 1440 + lpreposttime
|
||||
AND rd.res_rsv_deel_tot > lbegin + 1 / 1440 - lpreposttime
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key) aantal
|
||||
FROM res_v_aanwezigdeel d,
|
||||
ins_deel id,
|
||||
alg_v_aanwezigterreinsector t,
|
||||
alg_locatie l
|
||||
WHERE d.res_ins_deel_key = id.ins_deel_key
|
||||
AND id.ins_alg_locatie_key = llocatiekey
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key
|
||||
AND id.ins_alg_ruimte_key = t.alg_terreinsector_key(+)
|
||||
AND id.ins_alg_locatie_key = l.alg_locatie_key
|
||||
-- outer join mag hier niet en dit filter is niet nodig? AND id.ins_alg_ruimte_type = 'T'(+)
|
||||
AND t.alg_terreinsector_key IN
|
||||
(SELECT alg_terreinsector_key
|
||||
FROM alg_v_aanwezigterreinsector t2
|
||||
WHERE (lautlevel < 0
|
||||
OR (lautlevel = 9 AND t2.prs_afdeling_key IS NULL)
|
||||
OR (lautlevel > 0
|
||||
AND (t2.prs_afdeling_key IS NULL
|
||||
OR t2.prs_afdeling_key IN
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_v_afdeling_familie a
|
||||
WHERE a.prs_afdeling_elder_key IN
|
||||
(SELECT aa.prs_afdeling_elder_key
|
||||
FROM prs_v_afdeling_familie aa
|
||||
WHERE aa.prs_afdeling_key = (SELECT prs_afdeling_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_key = TO_NUMBER(sys_context('USERENV', 'CLIENT_IDENTIFIER')))
|
||||
AND aa.niveau = lautlevel))))
|
||||
OR (lautlevel = 0
|
||||
AND (t2.prs_afdeling_key IS NULL
|
||||
OR t2.prs_afdeling_key IN
|
||||
(SELECT a.prs_afdeling_key
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_bedrijf_key = (SELECT a.prs_bedrijf_key
|
||||
FROM prs_perslid p,
|
||||
prs_v_afdeling a
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND p.prs_perslid_key = TO_NUMBER(sys_context('USERENV', 'CLIENT_IDENTIFIER'))))))))
|
||||
-- Is de parkeerplaats reserveerbaar op de begindag. Meerdaagse parkeerplaatsen worden niet ondersteund.
|
||||
-- (bits & (2^(dow-1))) = (2^(dow-1))
|
||||
AND BITAND(d.res_deel_beschikbaar_bits, POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))) =
|
||||
POWER(2, (fac.getweekdaynum(TRUNC (lbegin)) - 1))
|
||||
AND (d.res_deel_vervaldatum IS NULL OR d.res_deel_vervaldatum > lbegin)
|
||||
AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > lbegin)
|
||||
AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(lbegin))
|
||||
AND (t.alg_terreinsector_vervaldatum IS NULL OR t.alg_terreinsector_vervaldatum > TRUNC(lbegin))
|
||||
ORDER BY id.ins_deel_upper)
|
||||
WHERE aantal IS NULL;
|
||||
SELECT MIN (res_deel_key) -- logischer maken?
|
||||
INTO lparkeerkey
|
||||
FROM ( SELECT d.res_deel_key,
|
||||
(SELECT MIN (rd.res_deel_key)
|
||||
FROM res_v_aanwezigrsv_deel rd
|
||||
WHERE d.res_deel_key = rd.res_deel_key
|
||||
AND rd.res_rsv_deel_van BETWEEN TRUNC (lbegin) AND leinde - 1 / 1440
|
||||
AND rd.res_rsv_deel_tot BETWEEN lbegin + 1 / 1440 AND TRUNC (lbegin) + 1
|
||||
AND rd.res_rsv_deel_van < leinde - 1 / 1440
|
||||
AND rd.res_rsv_deel_tot > lbegin + 1 / 1440
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key)
|
||||
aantal
|
||||
FROM res_v_aanwezigdeel d, ins_deel id, alg_v_aanwezigterreinsector t
|
||||
WHERE d.res_ins_deel_key = id.ins_deel_key
|
||||
AND id.ins_alg_locatie_key = llocatiekey
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key
|
||||
AND id.ins_alg_ruimte_key = t.alg_terreinsector_key(+)
|
||||
-- outer join mag hier niet en dit filter is niet nodig? AND id.ins_alg_ruimte_type = 'T'(+)
|
||||
AND t.prs_afdeling_key IS NULL -- Alleen 'gewone' parkeerplaatsen
|
||||
ORDER BY id.ins_deel_upper)
|
||||
WHERE aantal IS NULL;
|
||||
ELSE
|
||||
-- Wat is een vrije parkeerplaats
|
||||
-- Er is een gebouwkey of terreinkey meegegeven. Hierbinnen moet de parkeerplaats gereserveerd worden.
|
||||
SELECT MIN (res_deel_key) -- logischer maken?
|
||||
INTO lparkeerkey
|
||||
FROM (SELECT d.res_deel_key,
|
||||
(SELECT MIN (rd.res_deel_key)
|
||||
FROM res_v_aanwezigrsv_deel rd
|
||||
WHERE d.res_deel_key = rd.res_deel_key
|
||||
AND rd.res_rsv_deel_van BETWEEN TRUNC (lbegin) AND leinde - 1 / 1440 + lpreposttime
|
||||
AND rd.res_rsv_deel_tot BETWEEN lbegin + 1 / 1440 - lpreposttime AND TRUNC (lbegin) + 1
|
||||
AND rd.res_rsv_deel_van < leinde - 1 / 1440 + lpreposttime
|
||||
AND rd.res_rsv_deel_tot > lbegin + 1 / 1440 - lpreposttime
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key)
|
||||
aantal
|
||||
FROM res_v_aanwezigdeel d,
|
||||
ins_deel id,
|
||||
alg_v_allonroerendgoed og,
|
||||
alg_v_aanwezigterreinsector t,
|
||||
alg_locatie l
|
||||
WHERE d.res_ins_deel_key = id.ins_deel_key
|
||||
AND id.ins_alg_locatie_key = llocatiekey
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key
|
||||
AND id.ins_alg_ruimte_key = t.alg_terreinsector_key(+)
|
||||
AND id.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND (id.ins_alg_ruimte_key = og.alg_ruimte_key
|
||||
OR id.ins_alg_ruimte_key = og.alg_terreinsector_key)
|
||||
AND (og.alg_gebouw_key = palg_gebter_key -- De tabel alg_gebouw heeft geen referentie naar de afdelingen tabel (geen prs_afdeling_key kolom).
|
||||
OR (og.alg_terreinsector_key = palg_gebter_key
|
||||
AND og.alg_terreinsector_key IN
|
||||
(SELECT alg_terreinsector_key
|
||||
FROM alg_v_aanwezigterreinsector t2
|
||||
WHERE (lautlevel < 0
|
||||
OR (lautlevel = 9 AND t2.prs_afdeling_key IS NULL)
|
||||
OR (lautlevel > 0
|
||||
AND (t2.prs_afdeling_key IS NULL
|
||||
OR t2.prs_afdeling_key IN
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_v_afdeling_familie a
|
||||
WHERE a.prs_afdeling_elder_key IN
|
||||
(SELECT aa.prs_afdeling_elder_key
|
||||
FROM prs_v_afdeling_familie aa
|
||||
WHERE aa.prs_afdeling_key = (SELECT prs_afdeling_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_key = TO_NUMBER(sys_context('USERENV', 'CLIENT_IDENTIFIER')))
|
||||
AND aa.niveau = lautlevel))))
|
||||
OR (lautlevel = 0
|
||||
AND (t2.prs_afdeling_key IS NULL
|
||||
OR t2.prs_afdeling_key IN
|
||||
(SELECT a.prs_afdeling_key
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_bedrijf_key = (SELECT a.prs_bedrijf_key
|
||||
FROM prs_perslid p,
|
||||
prs_v_afdeling a
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND p.prs_perslid_key = TO_NUMBER(sys_context('USERENV', 'CLIENT_IDENTIFIER'))))))))))
|
||||
AND id.ins_alg_ruimte_type IN ('R', 'T')
|
||||
-- Is de parkeerplaats reserveerbaar op de begindag. Meerdaagse parkeerplaatsen worden niet ondersteund.
|
||||
-- (bits & (2^(dow-1))) = (2^(dow-1))
|
||||
AND BITAND(d.res_deel_beschikbaar_bits, POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))) =
|
||||
POWER(2, (fac.getweekdaynum(TRUNC(lbegin)) - 1))
|
||||
AND (d.res_deel_vervaldatum IS NULL OR d.res_deel_vervaldatum > lbegin)
|
||||
AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > lbegin)
|
||||
AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(lbegin))
|
||||
AND (t.alg_terreinsector_vervaldatum IS NULL OR t.alg_terreinsector_vervaldatum > TRUNC(lbegin))
|
||||
ORDER BY id.ins_deel_upper)
|
||||
WHERE aantal IS NULL;
|
||||
SELECT MIN (res_deel_key) -- logischer maken?
|
||||
INTO lparkeerkey
|
||||
FROM ( SELECT d.res_deel_key,
|
||||
(SELECT MIN (rd.res_deel_key)
|
||||
FROM res_v_aanwezigrsv_deel rd
|
||||
WHERE d.res_deel_key = rd.res_deel_key
|
||||
AND rd.res_rsv_deel_van BETWEEN TRUNC (lbegin) AND leinde - 1 / 1440
|
||||
AND rd.res_rsv_deel_tot BETWEEN lbegin + 1 / 1440 AND TRUNC (lbegin) + 1
|
||||
AND rd.res_rsv_deel_van < leinde - 1 / 1440
|
||||
AND rd.res_rsv_deel_tot > lbegin + 1 / 1440
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key)
|
||||
aantal
|
||||
FROM res_v_aanwezigdeel d, ins_deel id, alg_v_allonroerendgoed og
|
||||
WHERE d.res_ins_deel_key = id.ins_deel_key
|
||||
AND id.ins_alg_locatie_key = llocatiekey
|
||||
AND d.res_discipline_key = bez_parkingdiscipline_key
|
||||
AND (id.ins_alg_ruimte_key = og.alg_ruimte_key
|
||||
OR id.ins_alg_ruimte_key = og.alg_terreinsector_key)
|
||||
AND (og.alg_gebouw_key = palg_gebter_key
|
||||
OR og.alg_terreinsector_key = palg_gebter_key)
|
||||
AND id.ins_alg_ruimte_type IN ('R', 'T')
|
||||
ORDER BY id.ins_deel_upper)
|
||||
WHERE aantal IS NULL;
|
||||
END IF;
|
||||
|
||||
IF lparkeerkey IS NOT NULL
|
||||
@@ -494,6 +306,7 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
RETURN aantal;
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION afssprintf (ps IN VARCHAR2, p_afspraak_key IN NUMBER) RETURN VARCHAR2 IS
|
||||
lafspraak_datum bez_afspraak.bez_afspraak_datum%TYPE;
|
||||
lbezoek VARCHAR2 (200);
|
||||
@@ -517,9 +330,9 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
GROUP BY bez_afspraak_key;
|
||||
|
||||
s :=
|
||||
REPLACE (REPLACE (REPLACE (s, '##NAAM##', lbezoek), '##KEY##', TO_CHAR (p_afspraak_key)),
|
||||
REPLACE (REPLACE (REPLACE (s, '##NAAM##', lbezoek), '##KEY##', NUMBER_TO_CHAR (p_afspraak_key)),
|
||||
'##DATUM##',
|
||||
TO_CHAR (lafspraak_datum, 'DD-MM-YY HH24:MI')
|
||||
DATE_TO_CHAR (lafspraak_datum, 'DD-MM-YY HH24:MI')
|
||||
);
|
||||
END IF;
|
||||
RETURN s;
|
||||
@@ -549,43 +362,20 @@ CREATE OR REPLACE PACKAGE BODY bez AS
|
||||
AND bez_bezoekers_key = p_bezoekers_key;
|
||||
|
||||
s :=
|
||||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (s, '##NAAM##', lbezoek), '##KEY##', TO_CHAR (lafspraak_key)),
|
||||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (s, '##NAAM##', lbezoek), '##KEY##', NUMBER_TO_CHAR (lafspraak_key)),
|
||||
'##DATUM##',
|
||||
TO_CHAR (lafspraak_datum, 'DD-MM-YY HH24:MI')
|
||||
DATE_TO_CHAR (lafspraak_datum, 'DD-MM-YY HH24:MI')
|
||||
), '##BEDRIJF##', lbedrijf), '##PASNR##', lbadgenr);
|
||||
END IF;
|
||||
RETURN s;
|
||||
|
||||
END;
|
||||
|
||||
PROCEDURE remove(p_afspraak_key IN NUMBER)
|
||||
IS
|
||||
CURSOR c_bezoekers IS
|
||||
SELECT bez_bezoekers_key
|
||||
FROM bez_bezoekers
|
||||
WHERE bez_afspraak_key = p_afspraak_key;
|
||||
BEGIN
|
||||
FOR ref_bezoekers IN c_bezoekers
|
||||
LOOP
|
||||
DELETE FROM bez_bezoekers
|
||||
WHERE bez_bezoekers_key = ref_bezoekers.bez_bezoekers_key;
|
||||
-- Van de volgende tabel worden de records die naar deze bez_bezoekers_key
|
||||
-- verwijzen met ON DELETE CASCADE verwijderd;
|
||||
-- bez_kenmerkwaarde
|
||||
-- In de volgende tabel wordt bez_bezoekers_key leeg gemaakt bij het verwijderen van bez_bezoekers:
|
||||
-- res_rsv_deel
|
||||
fac.remove_tracking('bezoeker', ref_bezoekers.bez_bezoekers_key);
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM bez_afspraak
|
||||
WHERE bez_afspraak_key = p_afspraak_key;
|
||||
|
||||
fac.remove_tracking('afspraak', p_afspraak_key);
|
||||
END;
|
||||
|
||||
END bez;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: BEZ_PAC.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
@@ -3,14 +3,13 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE bez_s_bez_afspraak_key MINVALUE 1;
|
||||
CREATE SEQUENCE bez_s_bez_bezoekers_key MINVALUE 1;
|
||||
CREATE SEQUENCE bez_s_bez_actie_groep_key MINVALUE 1;
|
||||
CREATE SEQUENCE bez_s_bez_actie_key MINVALUE 1;
|
||||
CREATE SEQUENCE bez_s_bez_afspraak_key MINVALUE 1;
|
||||
CREATE SEQUENCE bez_s_bez_bezoekers_key MINVALUE 1;
|
||||
CREATE SEQUENCE bez_s_bez_actie_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE bez_s_bez_kenmerk_key MINVALUE 1000;
|
||||
CREATE SEQUENCE bez_s_bez_kenmerkwaarde_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BEZ_SEQ.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
@@ -4,24 +4,6 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE_TABLE(bez_actie_groep, 0)
|
||||
( bez_actie_groep_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bez_k_bez_actie_groep_key PRIMARY KEY,
|
||||
bez_actie_groep_omschrijving
|
||||
VARCHAR2(64),
|
||||
bez_actie_groep_default
|
||||
NUMBER(1) DEFAULT 0 NOT NULL,
|
||||
bez_actie_groep_verwijder
|
||||
DATE,
|
||||
CONSTRAINT BEZ_U_BEZ_ACTIE_GROEP UNIQUE(bez_actie_groep_omschrijving, bez_actie_groep_verwijder)
|
||||
);
|
||||
|
||||
ALTER TABLE alg_gebouw
|
||||
ADD bez_actie_groep_key
|
||||
NUMBER(10)
|
||||
REFERENCES bez_actie_groep(bez_actie_groep_key);
|
||||
|
||||
CREATE_TABLE(bez_actie,0)
|
||||
(
|
||||
bez_actie_key
|
||||
@@ -29,23 +11,10 @@ CREATE_TABLE(bez_actie,0)
|
||||
PRIMARY KEY,
|
||||
bez_actie_omschrijving
|
||||
VARCHAR2(64),
|
||||
bez_actie_default
|
||||
NUMBER(1),
|
||||
bez_actie_flags
|
||||
NUMBER(3) DEFAULT 0 NOT NULL, -- 0x001=oproepen, 0x002=autobadge
|
||||
bez_actie_groep_key
|
||||
NUMBER(10) NOT NULL
|
||||
REFERENCES bez_actie_groep,
|
||||
bez_actie_verwijder
|
||||
DATE,
|
||||
CONSTRAINT BEZ_U_BEZ_ACTIE UNIQUE(bez_actie_groep_key, bez_actie_omschrijving, bez_actie_verwijder)
|
||||
DATE
|
||||
);
|
||||
|
||||
ALTER TABLE res_ruimte
|
||||
ADD bez_actie_key
|
||||
NUMBER(10)
|
||||
REFERENCES bez_actie(bez_actie_key);
|
||||
|
||||
CREATE_TABLE(bez_afspraak,0)
|
||||
(
|
||||
bez_afspraak_key
|
||||
@@ -61,9 +30,9 @@ CREATE_TABLE(bez_afspraak,0)
|
||||
NUMBER(10)
|
||||
REFERENCES prs_perslid(prs_perslid_key),
|
||||
bez_afspraak_gastheer
|
||||
VARCHAR2(120),
|
||||
VARCHAR2(50),
|
||||
bez_afspraak_telefoonnr
|
||||
VARCHAR2(20),
|
||||
VARCHAR2(15),
|
||||
bez_afspraak_datum
|
||||
DATE
|
||||
DEFAULT NULL,
|
||||
@@ -76,9 +45,6 @@ CREATE_TABLE(bez_afspraak,0)
|
||||
res_rsv_ruimte_key
|
||||
NUMBER(10)
|
||||
REFERENCES res_rsv_ruimte(res_rsv_ruimte_key),
|
||||
mld_opdr_key
|
||||
NUMBER(10)
|
||||
REFERENCES mld_opdr(mld_opdr_key),
|
||||
alg_onrgoed_keys
|
||||
NUMBER(10),
|
||||
bez_afspraak_ruimte
|
||||
@@ -86,13 +52,6 @@ CREATE_TABLE(bez_afspraak,0)
|
||||
bez_afspraak_opmerking
|
||||
VARCHAR2(320),
|
||||
bez_afspraak_eind
|
||||
DATE,
|
||||
bez_afspraak_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE NOT NULL,
|
||||
bez_afspraak_externnr
|
||||
VARCHAR2(256),
|
||||
bez_afspraak_externsyncdate
|
||||
DATE
|
||||
);
|
||||
|
||||
@@ -105,7 +64,7 @@ CREATE_TABLE(bez_bezoekers,0)
|
||||
NUMBER(10)
|
||||
REFERENCES bez_afspraak,
|
||||
bez_afspraak_naam -- naam bezoeker
|
||||
VARCHAR2(60),
|
||||
VARCHAR2(30),
|
||||
bez_afspraak_bedrijf -- naam bedrijf bezoeker
|
||||
VARCHAR2(60),
|
||||
prs_contactpersoon_key -- optioneel
|
||||
@@ -116,33 +75,12 @@ CREATE_TABLE(bez_bezoekers,0)
|
||||
CONSTRAINT bez_r_prs_perslid REFERENCES prs_perslid(prs_perslid_key),
|
||||
bez_bezoekers_pasnr
|
||||
VARCHAR2(30),
|
||||
bez_bezoekers_opmerking
|
||||
VARCHAR2(50),
|
||||
bez_afspraak_opmerking
|
||||
VARCHAR2(50),
|
||||
bez_bezoekers_done
|
||||
DATE,
|
||||
bez_bezoekers_out
|
||||
DATE,
|
||||
bez_bezoekers_done_actual
|
||||
DATE,
|
||||
bez_bezoekers_out_actual
|
||||
DATE,
|
||||
bez_bezoekers_oproep
|
||||
DATE,
|
||||
bez_bezoekers_flags -- documentatie in appl/bez/xxx.inc
|
||||
NUMBER(10)
|
||||
DEFAULT 0 NOT NULL,
|
||||
bez_bezoekers_flag
|
||||
NUMBER(1),
|
||||
bez_bezoekers_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE NOT NULL,
|
||||
bez_bezoekers_telefoon VARCHAR2(20),
|
||||
bez_bezoekers_email VARCHAR2(200),
|
||||
bez_bezoekers_kenteken VARCHAR2(10),
|
||||
bez_bezoekers_externnr VARCHAR2(256),
|
||||
bez_bezoekers_externsyncdate DATE
|
||||
);
|
||||
|
||||
|
||||
@@ -165,37 +103,26 @@ CREATE_TABLE(bez_kenmerk,0)
|
||||
VARCHAR2(50)
|
||||
,bez_kenmerk_upper
|
||||
VARCHAR2(50)
|
||||
,bez_kenmerk_code
|
||||
VARCHAR2(60)
|
||||
,bez_kenmerk_hint
|
||||
VARCHAR2(255)
|
||||
,bez_kenmerk_default
|
||||
VARCHAR2(4000)
|
||||
,bez_kenmerk_show_expr
|
||||
VARCHAR2(4000)
|
||||
,bez_kenmerk_dimensie
|
||||
VARCHAR2(10)
|
||||
,bez_kenmerk_kenmerktype
|
||||
VARCHAR2(1)
|
||||
CONSTRAINT bez_c_bez_kenmerk_type2 CHECK
|
||||
(bez_kenmerk_kenmerktype IN ('C','N','D','T','R','X','L','Q','F','M','E','S','l','B','V'))
|
||||
,bez_kenmerk_systeem -- &1 = systeemkm, &8 = anonimiseren
|
||||
NUMBER(2)
|
||||
DEFAULT 0 NOT NULL
|
||||
(bez_kenmerk_kenmerktype IN ('C','N','D','R','X','L','Q','F','M','E','S', 'l'))
|
||||
,bez_kenmerk_systeem
|
||||
NUMBER(1)
|
||||
,bez_kenmerk_toonbaar
|
||||
NUMBER(1)
|
||||
,bez_kenmerk_inlijst
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
,bez_kenmerk_uniek
|
||||
NUMBER(1)
|
||||
,bez_kenmerk_regexp
|
||||
VARCHAR2(255)
|
||||
,bez_kenmerk_verplicht
|
||||
NUMBER(1)
|
||||
,bez_kenmerk_groep
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
,bez_kenmerk_lengte
|
||||
NUMBER(4)
|
||||
,bez_kenmerk_dec
|
||||
@@ -214,9 +141,6 @@ CREATE_TABLE(bez_kenmerk,0)
|
||||
,bez_kenmerk_verwijder
|
||||
DATE
|
||||
DEFAULT NULLDATUM
|
||||
,fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT fac_r_bez_kenmerk_functie REFERENCES fac_functie (fac_functie_key)
|
||||
);
|
||||
|
||||
CREATE_TABLE(bez_kenmerkwaarde,0)
|
||||
@@ -243,6 +167,6 @@ CREATE_TABLE(bez_kenmerkwaarde,0)
|
||||
CONSTRAINT bez_u_bez_kenmerkwaarde_key UNIQUE(bez_bezoekers_key, bez_kenmerk_key)
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: BEZ_TAB.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
@@ -17,21 +17,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF :new.bez_afspraak_host_key IS NULL AND :new.bez_afspraak_gastheer IS NULL THEN
|
||||
BEGIN
|
||||
IF fac.getsetting ('vis_afspraak_host_uses_keys') = 1 THEN
|
||||
:new.bez_afspraak_host_key := :new.bez_afspraak_contact_key;
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT SUBSTR(prs_perslid_naam_full,1,50)
|
||||
INTO :new.bez_afspraak_gastheer
|
||||
FROM prs_v_perslid_fullnames_all
|
||||
WHERE prs_perslid_key=:new.bez_afspraak_contact_key;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
:new.bez_afspraak_gastheer := '*';
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
:new.bez_afspraak_host_key := :new.bez_afspraak_contact_key;
|
||||
END IF;
|
||||
IF :new.bez_afspraak_host_key IS NOT NULL THEN
|
||||
SELECT SUBSTR(prs_perslid_naam_full,1,50)
|
||||
@@ -58,7 +44,7 @@ CREATE_TRIGGER(bez_t_bez_afspraak_d)
|
||||
ON bez_afspraak
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM bez_bezoekers WHERE bez_afspraak_key = :OLD.bez_afspraak_key;
|
||||
DELETE FROM bez_bezoekers WHERE bez_afspraak_key=:OLD.bez_afspraak_key;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -70,14 +56,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bez_t_bez_actie_groep_B_I)
|
||||
BEFORE INSERT ON bez_actie_groep
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bez_actie_groep_key, bez_s_bez_actie_groep_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bez_t_bez_actie_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bez_actie
|
||||
FOR EACH ROW
|
||||
@@ -91,43 +69,41 @@ CREATE_TRIGGER(bez_t_notificatie_afspraak_d)
|
||||
ON bez_afspraak
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
-- Alle notificaties verwijderen van de "afspraak" xmlnode die behoren bij de verwijderde afspraak.
|
||||
fac.clrnotifications_xmlnode('afspraak', :OLD.bez_afspraak_key);
|
||||
-- Tracking verwijderen die niet weg gaat als de afspraak wordt verwijderd.
|
||||
fac.clrtracking_xmlnode('afspraak', :OLD.bez_afspraak_key);
|
||||
fac.clrnotifications('BEZMUT', :OLD.bez_afspraak_key);
|
||||
fac.clrnotifications('BEZUPD', :OLD.bez_afspraak_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bez_t_notificatie_bezoekers_d)
|
||||
AFTER DELETE
|
||||
ON bez_bezoekers
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
-- Alle notificaties verwijderen van de "bezoeker" xmlnode die behoren bij de verwijderde bezoeker.
|
||||
fac.clrnotifications_xmlnode('bezoeker', :OLD.bez_bezoekers_key);
|
||||
-- Tracking verwijderen die niet weg gaat als de bezoeker wordt verwijderd.
|
||||
fac.clrtracking_xmlnode('bezoeker', :OLD.bez_bezoekers_key);
|
||||
fac.clrnotifications('BEZDO%', :OLD.bez_bezoekers_key);
|
||||
fac.clrnotifications('BEZOU%', :OLD.bez_bezoekers_key);
|
||||
fac.clrnotifications('BEZBAD', :OLD.bez_bezoekers_key);
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE_TRIGGER(bez_t_bez_kenmerk_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON bez_kenmerk
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bez_kenmerk_key, bez_s_bez_kenmerk_key);
|
||||
UPDATE_UPPER(bez_kenmerk_omschrijving, bez_kenmerk_upper, bez_kenmerk);
|
||||
UPDATE_UPPER(bez_kenmerk_code, bez_kenmerk_code, bez_kenmerk);
|
||||
|
||||
UPDATE_UPPER(bez_kenmerk_omschrijving, bez_kenmerk_upper,bez_kenmerk);
|
||||
IF (:new.bez_kenmerk_verwijder IS NOT NULL AND :old.bez_kenmerk_verwijder IS NULL AND
|
||||
:new.bez_kenmerk_systeem = 1)
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_M238');
|
||||
APPLICATION_ERROR(-20003, 'ALG_M238');
|
||||
END IF;
|
||||
|
||||
IF (:new.bez_kenmerk_kenmerktype IN ('C','N'))
|
||||
AND :new.bez_kenmerk_lengte IS NULL
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
|
||||
APPLICATION_ERROR(-20000, 'ALG_C_ALG_KENMERK_LENGTE');
|
||||
END IF;
|
||||
IF :new.bez_kenmerk_kenmerktype = 'N'
|
||||
AND :new.bez_kenmerk_lengte > 20
|
||||
@@ -228,7 +204,7 @@ BEGIN
|
||||
WHERE bez_kenmerk_key = :new.bez_kenmerk_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN raise_application_error(-20000,'INS_R_INS_KENMERK_KEY1');
|
||||
THEN APPLICATION_ERROR_GOTO(-20000,'INS_R_INS_KENMERK_KEY1');
|
||||
END;
|
||||
|
||||
/* Kijk welk KenmerkType gebruikt wordt.
|
||||
@@ -272,7 +248,7 @@ BEGIN
|
||||
THEN FormatMask := REPLACE(FormatMask, '9', '#');
|
||||
FormatMask := REPLACE(FormatMask, '0', '#');
|
||||
FormatMask := REPLACE(FormatMask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004,'ALG_M233,'|| KenmerkOmschr ||','
|
||||
RAISE_APPLICATION_ERROR(-20004,'ALG_M233,'|| KenmerkOmschr ||','
|
||||
|| FormatMask);
|
||||
END;
|
||||
/*
|
||||
@@ -319,6 +295,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: BEZ_TRI.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
304
BEZ/BEZ_VIE.SRC
304
BEZ/BEZ_VIE.SRC
@@ -4,281 +4,35 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* ROOT VIEWS for User defined Reports (UDR) */
|
||||
CREATE_VIEW(bez_v_udr_bezoeker, 1)
|
||||
(
|
||||
key,
|
||||
afspraak_key,
|
||||
reservering_key,
|
||||
host,
|
||||
contact,
|
||||
invoerder,
|
||||
plaats_code,
|
||||
plaats_omschrijving,
|
||||
regio,
|
||||
district,
|
||||
locatie_code,
|
||||
locatie_naam,
|
||||
locatie_plaats,
|
||||
gebouw_key,
|
||||
gebouw_code,
|
||||
gebouw_naam,
|
||||
verdieping_code,
|
||||
verdieping_naam,
|
||||
ruimte_code,
|
||||
ruimte_naam,
|
||||
afspraak_ruimte,
|
||||
afspraak_opmerking,
|
||||
bezoeker_naam,
|
||||
bezoeker_bedrijf,
|
||||
bezoek_van,
|
||||
weekdag_bezoek_van,
|
||||
bezoek_tot,
|
||||
actie,
|
||||
bezoeker_opmerking,
|
||||
bezoeker_binnen,
|
||||
bezoeker_buiten,
|
||||
pasnr,
|
||||
parkeerplaats,
|
||||
fclt_3d_locatie_key,
|
||||
fclt_3d_divisie_key,
|
||||
divisie_naam,
|
||||
divisie_omschrijving,
|
||||
fclt_3d_afdeling_key,
|
||||
selfservice
|
||||
)
|
||||
AS
|
||||
SELECT b.bez_bezoekers_key,
|
||||
a.bez_afspraak_key,
|
||||
a.res_rsv_ruimte_key,
|
||||
COALESCE (p1.prs_perslid_naam_full, a.bez_afspraak_gastheer) bez_afspraak_host,
|
||||
p2.prs_perslid_naam_full bez_afspraak_contact,
|
||||
p3.prs_perslid_naam_full bez_afspraak_invoerder,
|
||||
og.alg_onroerendgoed_code,
|
||||
og.alg_onroerendgoed_omschrijving,
|
||||
r.alg_regio_omschrijving,
|
||||
d.alg_district_omschrijving,
|
||||
l.alg_locatie_code,
|
||||
l.alg_locatie_omschrijving,
|
||||
l.alg_locatie_plaats,
|
||||
COALESCE(og.alg_gebouw_code, og.alg_terreinsector_code) alg_gebouw_code,
|
||||
COALESCE(og.alg_gebouw_naam, og.alg_terreinsector_naam) alg_gebouw_naam,
|
||||
og.alg_gebouw_key,
|
||||
og.alg_verdieping_code,
|
||||
og.alg_verdieping_omschrijving,
|
||||
og.alg_ruimte_nr,
|
||||
og.alg_ruimte_omschrijving,
|
||||
a.bez_afspraak_ruimte,
|
||||
a.bez_afspraak_opmerking,
|
||||
b.bez_afspraak_naam bezoeker_naam,
|
||||
b.bez_afspraak_bedrijf bezoeker_bedrijf,
|
||||
a.bez_afspraak_datum,
|
||||
TO_CHAR(a.bez_afspraak_datum, 'D') weekdag_bezoek_van,
|
||||
a.bez_afspraak_eind,
|
||||
ba.bez_actie_omschrijving,
|
||||
b.bez_bezoekers_opmerking bezoeker_opmerking,
|
||||
b.bez_bezoekers_done,
|
||||
b.bez_bezoekers_out,
|
||||
b.bez_bezoekers_pasnr,
|
||||
rd.res_deel_omschrijving,
|
||||
a.alg_locatie_key,
|
||||
an.prs_afdeling_key,
|
||||
an.prs_afdeling_naam,
|
||||
an.prs_afdeling_omschrijving,
|
||||
pp1.prs_afdeling_key,
|
||||
DECODE (p2.prs_perslid_naam_full, p3.prs_perslid_naam_full, lcl.l ('lcl_yes'), lcl.l ('lcl_no')) selfservice
|
||||
FROM bez_afspraak a,
|
||||
bez_bezoekers b,
|
||||
prs_v_perslid_fullnames_all p1,
|
||||
prs_v_perslid_fullnames_all p2,
|
||||
prs_v_perslid_fullnames_all p3,
|
||||
alg_v_allonrgoed_gegevens og,
|
||||
alg_locatie l,
|
||||
alg_district d,
|
||||
alg_regio r,
|
||||
bez_actie ba,
|
||||
prs_perslid pp1,
|
||||
prs_v_afdeling_boom ab,
|
||||
prs_v_afdeling an,
|
||||
res_rsv_deel rrd,
|
||||
res_deel rd
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND pp1.prs_perslid_key(+) = a.bez_afspraak_host_key
|
||||
AND p1.prs_perslid_key(+) = a.bez_afspraak_host_key
|
||||
AND p2.prs_perslid_key = a.bez_afspraak_contact_key
|
||||
AND p3.prs_perslid_key(+) = a.prs_perslid_key
|
||||
AND a.bez_actie_key = ba.bez_actie_key
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND d.alg_regio_key = r.alg_regio_key
|
||||
AND l.alg_locatie_key = a.alg_locatie_key
|
||||
AND a.alg_onrgoed_keys = og.alg_onroerendgoed_keys(+)
|
||||
AND b.bez_bezoekers_key = rrd.bez_bezoekers_key(+)
|
||||
AND rrd.res_deel_key = rd.res_deel_key(+)
|
||||
AND ab.prs_afdeling_key1 = an.prs_afdeling_key(+)
|
||||
AND ab.prs_afdeling_key(+) = pp1.prs_afdeling_key
|
||||
AND a.bez_afspraak_datum >= TO_DATE ('01-01-2010', 'DD-MM-YYYY');
|
||||
CREATE_VIEW(bez_v_api_afspraken, 1) AS
|
||||
SELECT a.bez_afspraak_key,
|
||||
a.prs_perslid_key,
|
||||
p1.prs_perslid_naam_full bez_afspraak_host,
|
||||
p2.prs_perslid_naam_full bez_afspraak_contact,
|
||||
a.bez_afspraak_datum,
|
||||
a.bez_actie_key,
|
||||
og.alg_onroerendgoed_code,
|
||||
og.alg_onroerendgoed_omschrijving,
|
||||
a.bez_afspraak_ruimte,
|
||||
a.bez_afspraak_opmerking,
|
||||
a.bez_afspraak_eind,
|
||||
b.bez_bezoekers_key,
|
||||
b.bez_afspraak_naam bezoeker_naam,
|
||||
b.bez_afspraak_bedrijf bezoeker_bedrijf,
|
||||
b.bez_afspraak_opmerking bezoeker_opmerking,
|
||||
b.bez_bezoekers_done,
|
||||
b.bez_bezoekers_out,
|
||||
b.bez_bezoekers_pasnr
|
||||
FROM bez_afspraak a,
|
||||
bez_bezoekers b,
|
||||
prs_v_perslid_fullnames_all p1,
|
||||
prs_v_perslid_fullnames_all p2,
|
||||
alg_v_allonrgoed_gegevens og
|
||||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||||
AND p1.prs_perslid_key = a.bez_afspraak_host_key
|
||||
AND p2.prs_perslid_key = a.bez_afspraak_contact_key
|
||||
AND a.alg_onrgoed_keys = og.alg_onroerendgoed_keys;
|
||||
|
||||
CREATE_VIEW(bez_v_udr_reserveringbezoeker, 1)
|
||||
(
|
||||
bezoeker_key,
|
||||
afspraak_key,
|
||||
reservering_key,
|
||||
host,
|
||||
plaats_code,
|
||||
plaats_omschrijving,
|
||||
regio,
|
||||
district,
|
||||
locatie_code,
|
||||
locatie_naam,
|
||||
gebouw_key,
|
||||
gebouw_code,
|
||||
gebouw_naam,
|
||||
verdieping_code,
|
||||
verdieping_naam,
|
||||
ruimte_code,
|
||||
ruimte_naam,
|
||||
afspraak_ruimte,
|
||||
afspraak_opmerking,
|
||||
bezoeker_naam,
|
||||
bezoeker_bedrijf,
|
||||
bezoek_van,
|
||||
bezoek_tot,
|
||||
actie,
|
||||
bezoeker_opmerking,
|
||||
bezoeker_binnen,
|
||||
bezoeker_buiten,
|
||||
pasnr,
|
||||
parkeerplaats,
|
||||
nummer,
|
||||
res_omschrijving,
|
||||
invoerdatum,
|
||||
datum,
|
||||
gastheer,
|
||||
invoerder,
|
||||
kostensoortgroep,
|
||||
kostensoort,
|
||||
kpn,
|
||||
kpn_omschrijving,
|
||||
fclt_3d_divisie_key,
|
||||
divisie_naam,
|
||||
divisie_omschrijving,
|
||||
fclt_3d_afdeling_key,
|
||||
afdeling_code,
|
||||
afdeling_omschrijving,
|
||||
regio_omschrijving,
|
||||
district_omschijving,
|
||||
fclt_3d_locatie_key,
|
||||
locatie,
|
||||
locatie_omschrijving,
|
||||
locatie_plaats,
|
||||
gebouw,
|
||||
verdieping,
|
||||
ruimte,
|
||||
opstelling,
|
||||
capaciteit,
|
||||
no_show,
|
||||
mandaat,
|
||||
personeelsnr,
|
||||
fclt_3d_discipline_key,
|
||||
catalogus_key,
|
||||
catalogus,
|
||||
reserveerbare_ruimte,
|
||||
bezoekers,
|
||||
van,
|
||||
tot,
|
||||
duur,
|
||||
status,
|
||||
bostatus,
|
||||
activiteit,
|
||||
srtactiviteit_key,
|
||||
activiteitsoort
|
||||
)
|
||||
AS
|
||||
SELECT
|
||||
b.key bezoeker_key,
|
||||
b.afspraak_key,
|
||||
b.reservering_key,
|
||||
b.host,
|
||||
--b.contact,
|
||||
--b.invoerder,
|
||||
b.plaats_code,
|
||||
b.plaats_omschrijving,
|
||||
b.regio,
|
||||
b.district,
|
||||
b.locatie_code,
|
||||
b.locatie_naam,
|
||||
--b.locatie_plaats,
|
||||
b.gebouw_key,
|
||||
b.gebouw_code,
|
||||
b.gebouw_naam,
|
||||
b.verdieping_code,
|
||||
b.verdieping_naam,
|
||||
b.ruimte_code,
|
||||
b.ruimte_naam,
|
||||
b.afspraak_ruimte,
|
||||
b.afspraak_opmerking,
|
||||
b.bezoeker_naam,
|
||||
b.bezoeker_bedrijf,
|
||||
b.bezoek_van,
|
||||
b.bezoek_tot,
|
||||
b.actie,
|
||||
b.bezoeker_opmerking,
|
||||
b.bezoeker_binnen,
|
||||
b.bezoeker_buiten,
|
||||
b.pasnr,
|
||||
b.parkeerplaats,
|
||||
--b.fclt_3d_locatie_key,
|
||||
--b.fclt_3d_afdeling_key,
|
||||
--b.selfservice,
|
||||
--r.key,
|
||||
r.nummer,
|
||||
r.res_omschrijving,
|
||||
r.invoerdatum,
|
||||
r.datum,
|
||||
r.gastheer,
|
||||
--r.contact,
|
||||
r.invoerder,
|
||||
r.kostensoortgroep,
|
||||
r.kostensoort,
|
||||
r.kpn,
|
||||
r.kpn_omschrijving,
|
||||
r.fclt_3d_divisie_key,
|
||||
r.divisie_naam,
|
||||
r.divisie_omschrijving,
|
||||
r.fclt_3d_afdeling_key,
|
||||
r.afdeling_code,
|
||||
r.afdeling_omschrijving,
|
||||
r.regio_omschrijving,
|
||||
r.district_omschijving,
|
||||
r.fclt_3d_locatie_key,
|
||||
r.locatie,
|
||||
r.locatie_omschrijving,
|
||||
r.locatie_plaats,
|
||||
r.gebouw,
|
||||
r.verdieping,
|
||||
r.ruimte,
|
||||
r.opstelling,
|
||||
r.capaciteit,
|
||||
r.no_show,
|
||||
r.mandaat,
|
||||
r.personeelsnr,
|
||||
r.fclt_3d_discipline_key,
|
||||
r.catalogus_key,
|
||||
r.catalogus,
|
||||
r.reserveerbare_ruimte,
|
||||
r.bezoekers,
|
||||
r.van,
|
||||
r.tot,
|
||||
r.duur,
|
||||
r.status,
|
||||
r.bostatus,
|
||||
r.activiteit,
|
||||
r.srtactiviteit_key,
|
||||
r.activiteitsoort
|
||||
FROM res_v_udr_reservering r, bez_v_udr_bezoeker b
|
||||
WHERE b.reservering_key = r.key;
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: BEZ_VIE.SRC $','$Revision$')
|
||||
|
||||
#endif // BEZ
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE INDEX bgt_i_bgt_budget_key_naar ON bgt_budgetmutatie(bgt_budget_key_naar);
|
||||
CREATE INDEX bgt_i_bgt_budget_key_van ON bgt_budgetmutatie(bgt_budget_key_van);
|
||||
CREATE INDEX bgt_i_bgt_disc_params ON bgt_disc_params(bgt_ins_discipline_key);
|
||||
CREATE INDEX bgt_i_bgt_budget ON bgt_budget(ins_discipline_key, bgt_project_key, bgt_kostenrubriek_key, prs_kostensoortgrp_key, prs_kostensoort_key);
|
||||
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
@@ -1,16 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('BGT','lcl_module_BGT')
|
||||
|
||||
/*
|
||||
** De MESSAGES van de BGT module.
|
||||
*/
|
||||
DEF_FAC_MESSAGE ('BGT_U_BUDGET' ,'Dit budget bestaat al.');
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
460
BGT/BGT_PAC.SRC
460
BGT/BGT_PAC.SRC
@@ -1,460 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
CREATE OR REPLACE PACKAGE bgt
|
||||
AS
|
||||
FUNCTION getMutatieOpBudget( p_budget_key IN NUMBER
|
||||
, p_mutatie_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getBudgetOpDatum ( p_budget_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getBudgetSoortMutatie ( p_kostenrubriek_key IN NUMBER
|
||||
, p_kostensoortgrp_key IN NUMBER
|
||||
, p_kostensoort_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_soortmutatie IN VARCHAR2
|
||||
, p_datum IN DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getSoortMutatie ( p_mutatie_key IN NUMBER
|
||||
) RETURN VARCHAR2;
|
||||
FUNCTION getContractwaarde( p_srtkey IN VARCHAR2
|
||||
, p_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_status NUMBER DEFAULT 3
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getRaming ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getGecontracteerd ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getGefactureerdSoort( p_kostensoort_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getGefactureerd ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
FUNCTION getTefactureren ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER;
|
||||
END bgt;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY bgt
|
||||
AS
|
||||
FUNCTION getMutatieOpBudget( p_budget_key IN NUMBER
|
||||
, p_mutatie_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag_mut NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
BEGIN
|
||||
SELECT COALESCE(SUM(bedrag_mutatie), 0)
|
||||
INTO v_bedrag_mut
|
||||
FROM (SELECT bgt_budgetmutatie_key
|
||||
, bgt_budget_key_van budget_key
|
||||
, CASE WHEN p_btw=0 THEN COALESCE(bgt_budget_bedrag_van, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(bgt_budget_btwbedrag_van, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(bgt_budget_bedrag_van, 0) + COALESCE(bgt_budget_btwbedrag_van, 0)
|
||||
END bedrag_mutatie
|
||||
FROM bgt_budgetmutatie
|
||||
UNION
|
||||
SELECT bgt_budgetmutatie_key
|
||||
, bgt_budget_key_naar budget_key
|
||||
, CASE WHEN p_btw=0 THEN COALESCE(bgt_budget_bedrag_naar, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(bgt_budget_btwbedrag_naar, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(bgt_budget_bedrag_naar, 0) + COALESCE(bgt_budget_btwbedrag_naar, 0)
|
||||
END bedrag_mutatie
|
||||
FROM bgt_budgetmutatie
|
||||
) mut
|
||||
WHERE mut.budget_key = p_budget_key
|
||||
AND mut.bgt_budgetmutatie_key = DECODE(p_mutatie_key , NULL, mut.bgt_budgetmutatie_key, p_mutatie_key);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag_mut := NULL;
|
||||
END;
|
||||
RETURN v_bedrag_mut;
|
||||
END getMutatieOpBudget;
|
||||
|
||||
FUNCTION getBudgetMutaties ( p_budget_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL -- eigenlijk: tot-en-met
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag_mut NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
-- NB: dit zijn zowel onderlinge mutaties als van-naar reserve mutaties!!
|
||||
BEGIN
|
||||
SELECT COALESCE(SUM(mut.bedrag_mutaties), 0)
|
||||
INTO v_bedrag_mut
|
||||
FROM (SELECT CASE WHEN p_btw=0 THEN COALESCE(SUM(bgt_budget_bedrag_van), 0)
|
||||
WHEN p_btw=1 THEN COALESCE(SUM(bgt_budget_btwbedrag_van), 0)
|
||||
WHEN p_btw=2 THEN COALESCE(SUM(bgt_budget_bedrag_van), 0) + COALESCE(SUM(bgt_budget_btwbedrag_van), 0)
|
||||
END bedrag_mutaties
|
||||
FROM bgt_budgetmutatie
|
||||
WHERE bgt_budget_key_van = p_budget_key
|
||||
AND ((p_datum_van IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
UNION
|
||||
SELECT CASE WHEN p_btw=0 THEN COALESCE(SUM(bgt_budget_bedrag_naar), 0)
|
||||
WHEN p_btw=1 THEN COALESCE(SUM(bgt_budget_btwbedrag_naar), 0)
|
||||
WHEN p_btw=2 THEN COALESCE(SUM(bgt_budget_bedrag_naar), 0) + COALESCE(SUM(bgt_budget_btwbedrag_naar), 0)
|
||||
END bedrag_mutaties
|
||||
FROM bgt_budgetmutatie
|
||||
WHERE bgt_budget_key_naar = p_budget_key
|
||||
AND ((p_datum_van IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(bgt_budgetmutatie_datum) <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
) mut;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag_mut := NULL;
|
||||
END;
|
||||
RETURN v_bedrag_mut;
|
||||
END getBudgetMutaties;
|
||||
|
||||
FUNCTION getBudgetOpDatum ( p_budget_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_huidig_budget NUMBER;
|
||||
v_mutatie NUMBER;
|
||||
v_datum_budget NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
BEGIN
|
||||
SELECT CASE WHEN p_btw=0 THEN COALESCE(bgt_budget_bedrag, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(bgt_budget_btwbedrag, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(bgt_budget_bedrag, 0) + COALESCE(bgt_budget_btwbedrag, 0)
|
||||
END huidig_budget
|
||||
, CASE WHEN p_btw=0 THEN BGT.getBudgetMutaties(bgt_budget_key, 0, p_datum+1, NULL)
|
||||
WHEN p_btw=1 THEN BGT.getBudgetMutaties(bgt_budget_key, 1, p_datum+1, NULL)
|
||||
WHEN p_btw=2 THEN BGT.getBudgetMutaties(bgt_budget_key, 0, p_datum+1, NULL) + BGT.getBudgetMutaties(bgt_budget_key, 1, p_datum+1, NULL)
|
||||
END mutaties
|
||||
INTO v_huidig_budget
|
||||
, v_mutatie
|
||||
FROM bgt_budget
|
||||
WHERE bgt_budget_key = p_budget_key;
|
||||
--
|
||||
v_datum_budget := v_huidig_budget - v_mutatie;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_datum_budget := NULL;
|
||||
END;
|
||||
RETURN v_datum_budget;
|
||||
END getBudgetOpDatum;
|
||||
|
||||
FUNCTION getBudgetSoortMutatie ( p_kostenrubriek_key IN NUMBER
|
||||
, p_kostensoortgrp_key IN NUMBER
|
||||
, p_kostensoort_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_soortmutatie IN VARCHAR2
|
||||
, p_datum IN DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
BEGIN
|
||||
SELECT COALESCE(SUM(bgt_mutatie_bedrag), 0) bgt_mutatie_bedrag
|
||||
INTO v_bedrag
|
||||
FROM ( SELECT b.bgt_kostenrubriek_key
|
||||
, b.prs_kostensoortgrp_key
|
||||
, b.prs_kostensoort_key
|
||||
, b.bgt_budget_isreserve
|
||||
, TRUNC(m.bgt_budgetmutatie_datum) bgt_budgetmutatie_datum
|
||||
, CASE WHEN p_btw=0 THEN COALESCE(m.bgt_budget_bedrag_van, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(m.bgt_budget_btwbedrag_van, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(m.bgt_budget_bedrag_van, 0) + COALESCE(m.bgt_budget_btwbedrag_van, 0)
|
||||
END bgt_mutatie_bedrag
|
||||
, BGT.getSoortMutatie (m.bgt_budgetmutatie_key) bgt_mutatie_soort
|
||||
FROM bgt_budget b
|
||||
, bgt_budgetmutatie m
|
||||
WHERE b.bgt_budget_key = m.bgt_budget_key_van
|
||||
UNION ALL
|
||||
SELECT b.bgt_kostenrubriek_key
|
||||
, b.prs_kostensoortgrp_key
|
||||
, b.prs_kostensoort_key
|
||||
, b.bgt_budget_isreserve
|
||||
, TRUNC(m.bgt_budgetmutatie_datum) bgt_budgetmutatie_datum
|
||||
, CASE WHEN p_btw=0 THEN COALESCE(m.bgt_budget_bedrag_naar, 0)
|
||||
WHEN p_btw=1 THEN COALESCE(m.bgt_budget_btwbedrag_naar, 0)
|
||||
WHEN p_btw=2 THEN COALESCE(m.bgt_budget_bedrag_naar, 0) + COALESCE(m.bgt_budget_btwbedrag_naar, 0)
|
||||
END bgt_mutatie_bedrag
|
||||
, BGT.getSoortMutatie (m.bgt_budgetmutatie_key) bgt_mutatie_soort
|
||||
FROM bgt_budget b
|
||||
, bgt_budgetmutatie m
|
||||
WHERE b.bgt_budget_key = m.bgt_budget_key_naar
|
||||
) single_mutatie
|
||||
WHERE INSTR(p_soortmutatie, bgt_mutatie_soort) > 0
|
||||
AND ( (p_kostenrubriek_key IS NOT NULL AND p_kostensoortgrp_key = -1 AND p_kostensoort_key = -1 AND bgt_kostenrubriek_key = p_kostenrubriek_key)
|
||||
OR (p_kostenrubriek_key IS NOT NULL AND p_kostensoortgrp_key IS NULL AND p_kostensoort_key IS NULL AND bgt_kostenrubriek_key = p_kostenrubriek_key AND prs_kostensoortgrp_key IS NULL AND prs_kostensoort_key IS NULL)
|
||||
OR (p_kostenrubriek_key IS NOT NULL AND p_kostensoortgrp_key IS NOT NULL AND p_kostensoort_key IS NOT NULL AND prs_kostensoort_key = p_kostensoort_key)
|
||||
OR (p_kostenrubriek_key IS NULL AND p_kostensoortgrp_key IS NOT NULL AND p_kostensoort_key = -1 AND prs_kostensoortgrp_key = p_kostensoortgrp_key)
|
||||
OR (p_kostenrubriek_key IS NULL AND p_kostensoortgrp_key IS NOT NULL AND p_kostensoort_key IS NULL AND prs_kostensoortgrp_key = p_kostensoortgrp_key AND prs_kostensoort_key IS NULL)
|
||||
OR (p_kostenrubriek_key IS NULL AND p_kostensoortgrp_key IS NULL AND p_kostensoort_key IS NOT NULL AND prs_kostensoort_key = p_kostensoort_key)
|
||||
)
|
||||
AND (TRUNC(bgt_budgetmutatie_datum) <= p_datum OR p_datum IS NULL);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := NULL;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getBudgetSoortMutatie;
|
||||
|
||||
FUNCTION getSoortMutatie( p_mutatie_key IN NUMBER
|
||||
) RETURN VARCHAR2
|
||||
IS
|
||||
v_budget_van bgt_budgetmutatie.bgt_budget_key_van%TYPE;
|
||||
v_budget_naar bgt_budgetmutatie.bgt_budget_key_naar%TYPE;
|
||||
v_mutatie_omschrijving bgt_budgetmutatie.bgt_budgetmutatie_omschrijving%TYPE;
|
||||
v_mutatie_reserve bgt_budgetmutatie.bgt_budgetmutatie_reserve%TYPE;
|
||||
v_mutatie_code bgt_budgetmutatie.bgt_budgetmutatie_code%TYPE;
|
||||
v_mutatie_level_van VARCHAR2(1);
|
||||
v_mutatie_level_naar VARCHAR2(1);
|
||||
v_soort_mutatie VARCHAR2(1);
|
||||
v_budget_isreserve bgt_budget.bgt_budget_isreserve%TYPE;
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT m.bgt_budget_key_van
|
||||
, m.bgt_budget_key_naar
|
||||
, m.bgt_budgetmutatie_omschrijving
|
||||
, m.bgt_budgetmutatie_reserve
|
||||
, m.bgt_budgetmutatie_code
|
||||
, CASE WHEN bv.prs_kostensoort_key IS NOT NULL
|
||||
THEN 'S'
|
||||
ELSE CASE WHEN bv.prs_kostensoortgrp_key IS NOT NULL
|
||||
THEN 'G'
|
||||
ELSE CASE WHEN bv.bgt_kostenrubriek_key IS NOT NULL
|
||||
THEN 'R'
|
||||
ELSE 'P'
|
||||
END
|
||||
END
|
||||
END mutatie_level_van
|
||||
, CASE WHEN bn.prs_kostensoort_key IS NOT NULL
|
||||
THEN 'S'
|
||||
ELSE CASE WHEN bn.prs_kostensoortgrp_key IS NOT NULL
|
||||
THEN 'G'
|
||||
ELSE CASE WHEN bn.bgt_kostenrubriek_key IS NOT NULL
|
||||
THEN 'R'
|
||||
ELSE 'P'
|
||||
END
|
||||
END
|
||||
END mutatie_level_naar
|
||||
, bv.bgt_budget_isreserve
|
||||
INTO v_budget_van
|
||||
, v_budget_naar
|
||||
, v_mutatie_omschrijving
|
||||
, v_mutatie_reserve
|
||||
, v_mutatie_code
|
||||
, v_mutatie_level_van
|
||||
, v_mutatie_level_naar
|
||||
, v_budget_isreserve
|
||||
FROM bgt_budget bv
|
||||
, bgt_budget bn
|
||||
, bgt_budgetmutatie m
|
||||
WHERE m.bgt_budget_key_van = bv.bgt_budget_key(+)
|
||||
AND m.bgt_budget_key_naar = bn.bgt_budget_key(+)
|
||||
AND m.bgt_budgetmutatie_key = p_mutatie_key;
|
||||
--
|
||||
-- Mutatie van-naar reserve (tussen algemeenreserve en kostensoort of kostenrubriek en kostensoort)
|
||||
-- (Is dus allebei tussen kostenrubriek en kostensoort).
|
||||
-- Maak nog onderscheid tussen automatische overboeking A (correctie van budget tgv meer gecontracteerd dan budget)
|
||||
-- overboeking wegens meer-minderwerk W
|
||||
-- en een gewone mutatie van/naar reserve.
|
||||
IF ( (v_mutatie_level_van = 'R')
|
||||
OR (v_mutatie_level_naar = 'R')
|
||||
) THEN
|
||||
IF (v_mutatie_reserve = 1) THEN -- 'AO Automatische overboeking'
|
||||
IF (v_mutatie_code = 'W') THEN
|
||||
v_soort_mutatie := 'W';
|
||||
ELSE
|
||||
v_soort_mutatie := 'A';
|
||||
END IF;
|
||||
ELSE
|
||||
v_soort_mutatie := 'R';
|
||||
END IF;
|
||||
END IF;
|
||||
--
|
||||
-- Mutatie extra budget (er wordt geld aan algemeenreserve, kostenrubriek of kostensoort toegevoegd OF onttrokken.
|
||||
IF ((v_budget_van = v_budget_naar) OR (v_budget_van IS NULL) OR (v_budget_naar IS NULL) ) THEN
|
||||
v_soort_mutatie := 'E';
|
||||
END IF;
|
||||
--
|
||||
-- Onderlinge mutatie (mutaties tussen kostensoorten)
|
||||
IF ( (v_budget_van <> v_budget_naar)
|
||||
AND (v_mutatie_level_van = 'S')
|
||||
AND (v_mutatie_level_naar = 'S')
|
||||
) THEN
|
||||
v_soort_mutatie := 'M';
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_soort_mutatie := NULL;
|
||||
END;
|
||||
--
|
||||
RETURN v_soort_mutatie;
|
||||
END getSoortMutatie;
|
||||
|
||||
FUNCTION getContractwaarde( p_srtkey IN VARCHAR2
|
||||
, p_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_status NUMBER DEFAULT 3
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL -- eigenlijk: tot-en-met
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
-- p_srtkey: SRT=prs_kostensoort_key, OPDR=mld_opdr_key.
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
-- p_status: 1=raming, 2=gecontracteerd, 3=alles.
|
||||
BEGIN
|
||||
SELECT CASE WHEN p_btw=0 THEN SUM(COALESCE(mld_opdr_kosten, 0))
|
||||
WHEN p_btw=1 THEN SUM(COALESCE(mld_opdr_kosten_btw, 0))
|
||||
WHEN p_btw=2 THEN SUM(COALESCE(mld_opdr_kosten, 0)) + SUM(COALESCE(mld_opdr_kosten_btw, 0))
|
||||
END contracten
|
||||
INTO v_bedrag
|
||||
FROM mld_opdr
|
||||
WHERE p_key = DECODE(p_srtkey, 'SRT', prs_kostensoort_key, 'OPDR', mld_opdr_key)
|
||||
AND ( (p_status = 1 AND mld_statusopdr_key = 10)
|
||||
OR (p_status = 2 AND mld_statusopdr_key <> 10)
|
||||
OR (p_status = 3 AND mld_statusopdr_key = mld_statusopdr_key)
|
||||
)
|
||||
AND ((p_datum_van IS NOT NULL AND TRUNC(mld_opdr_datumbegin) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(mld_opdr_datumbegin) <= p_datum_tot) OR p_datum_tot IS NULL);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := NULL;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getContractwaarde;
|
||||
|
||||
FUNCTION getRaming( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
v_bedrag := BGT.getContractwaarde('OPDR', p_mld_opdr_key, p_btw, 1, p_datum_van, p_datum_tot);
|
||||
RETURN v_bedrag;
|
||||
END getRaming;
|
||||
|
||||
FUNCTION getGecontracteerd( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
v_bedrag := BGT.getContractwaarde('OPDR', p_mld_opdr_key, p_btw, 2, p_datum_van, p_datum_tot);
|
||||
RETURN v_bedrag;
|
||||
END getGecontracteerd;
|
||||
|
||||
FUNCTION getGefactureerdSoort( p_kostensoort_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT SUM(BGT.getGefactureerd(mld_opdr_key, p_btw, NULL, NULL))
|
||||
INTO v_bedrag
|
||||
FROM mld_opdr
|
||||
WHERE prs_kostensoort_key = p_kostensoort_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := NULL;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getGefactureerdSoort;
|
||||
|
||||
FUNCTION getGefactureerd ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL -- eigenlijk: tot-en-met
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
v_bedrag := 0;
|
||||
BEGIN
|
||||
SELECT CASE WHEN p_btw=0 THEN SUM(COALESCE(fin_factuur_totaal, 0))
|
||||
WHEN p_btw=1 THEN SUM(COALESCE(fin_factuur_totaal_btw, 0))
|
||||
WHEN p_btw=2 THEN SUM(COALESCE(fin_factuur_totaal, 0)) + SUM(COALESCE(fin_factuur_totaal_btw, 0))
|
||||
END facturen
|
||||
INTO v_bedrag
|
||||
FROM fin_factuur
|
||||
WHERE ((p_datum_van IS NOT NULL AND TRUNC(fin_factuur_advies) >= p_datum_van) OR p_datum_van IS NULL)
|
||||
AND ((p_datum_tot IS NOT NULL AND TRUNC(fin_factuur_advies) <= p_datum_tot) OR p_datum_tot IS NULL)
|
||||
AND mld_opdr_key = p_mld_opdr_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_bedrag := 0;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getGefactureerd;
|
||||
|
||||
FUNCTION getTefactureren ( p_mld_opdr_key IN NUMBER
|
||||
, p_btw IN NUMBER
|
||||
, p_datum_van DATE DEFAULT NULL
|
||||
, p_datum_tot DATE DEFAULT NULL
|
||||
) RETURN NUMBER
|
||||
IS
|
||||
v_statusopdr NUMBER;
|
||||
v_cont NUMBER;
|
||||
v_fact NUMBER;
|
||||
v_bedrag NUMBER;
|
||||
BEGIN
|
||||
-- p_btw: 0=excl.btw, 1=btw, 2=incl.btw.
|
||||
v_bedrag := 0;
|
||||
BEGIN
|
||||
SELECT NVL(mld_statusopdr_key, 0)
|
||||
INTO v_statusopdr
|
||||
FROM mld_opdr
|
||||
WHERE mld_opdr_key = p_mld_opdr_key;
|
||||
--
|
||||
IF (v_statusopdr <> 10) THEN
|
||||
v_cont := getGecontracteerd(p_mld_opdr_key, p_btw, p_datum_van, p_datum_tot);
|
||||
v_fact := getGefactureerd(p_mld_opdr_key, p_btw, p_datum_van, p_datum_tot);
|
||||
v_bedrag := COALESCE(v_cont, 0) - COALESCE(v_fact, 0);
|
||||
END IF;
|
||||
END;
|
||||
RETURN v_bedrag;
|
||||
END getTefactureren;
|
||||
|
||||
|
||||
END bgt;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
@@ -1,16 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE bgt_s_bgt_disc_params_key MINVALUE 1;
|
||||
CREATE SEQUENCE bgt_s_bgt_project_key MINVALUE 1;
|
||||
CREATE SEQUENCE bgt_s_bgt_kostenrubriek_key MINVALUE 1;
|
||||
CREATE SEQUENCE bgt_s_bgt_budget_key MINVALUE 1;
|
||||
CREATE SEQUENCE bgt_s_bgt_budgetmutatie_key MINVALUE 1;
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
166
BGT/BGT_TAB.SRC
166
BGT/BGT_TAB.SRC
@@ -1,166 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* discipline=project */
|
||||
CREATE_TABLE(bgt_disc_params,0)
|
||||
(
|
||||
bgt_disc_params_key
|
||||
NUMBER (10) PRIMARY KEY NOT NULL,
|
||||
bgt_ins_discipline_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_ins_discipine_key REFERENCES ins_tab_discipline (ins_discipline_key),
|
||||
bgt_disc_params_code -- projectcode
|
||||
VARCHAR2 (20 BYTE),
|
||||
bgt_disc_params_opdrachtgever
|
||||
VARCHAR2 (200 BYTE),
|
||||
bgt_disc_params_startdatum
|
||||
DATE
|
||||
);
|
||||
/* deelproject */
|
||||
CREATE_TABLE(bgt_project, 0)
|
||||
(
|
||||
bgt_project_key
|
||||
NUMBER (10) PRIMARY KEY NOT NULL,
|
||||
ins_discipline_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_ins_discipline_key1 REFERENCES ins_tab_discipline (ins_discipline_key),
|
||||
bgt_project_code
|
||||
VARCHAR2 (20 BYTE)
|
||||
CONSTRAINT bgt_c_bgt_project_code NOT NULL,
|
||||
bgt_project_omschrijving
|
||||
VARCHAR2 (60 BYTE),
|
||||
bgt_project_volgnr
|
||||
NUMBER (3),
|
||||
bgt_project_prijspeildatum
|
||||
DATE,
|
||||
bgt_project_info
|
||||
VARCHAR2 (4000 BYTE),
|
||||
bgt_project_notes
|
||||
VARCHAR2 (4000 BYTE),
|
||||
bgt_project_aanmaak
|
||||
DATE DEFAULT SYSDATE,
|
||||
bgt_project_verwijder
|
||||
DATE,
|
||||
prs_kostenplaats_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_prs_kostenplaats_key1 REFERENCES prs_kostenplaats (prs_kostenplaats_key),
|
||||
CONSTRAINT bgt_u_bgt_project UNIQUE(ins_discipline_key, bgt_project_code, bgt_project_verwijder)
|
||||
);
|
||||
|
||||
CREATE_TABLE(bgt_kostenrubriek,0)
|
||||
(
|
||||
bgt_kostenrubriek_key
|
||||
NUMBER (10) PRIMARY KEY NOT NULL,
|
||||
bgt_project_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_c_bgt_kostenrubriek1 NOT NULL
|
||||
CONSTRAINT bgt_r_bgt_project_key1 REFERENCES bgt_project (bgt_project_key),
|
||||
bgt_kostenrubriek_code
|
||||
VARCHAR2 (20 BYTE),
|
||||
bgt_kostenrubriek_oms
|
||||
VARCHAR2 (60 BYTE) NOT NULL,
|
||||
fin_btwtabelwaarde_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT bgt_r_fin_btwtabelwaarde_key REFERENCES fin_btwtabelwaarde (fin_btwtabelwaarde_key)
|
||||
);
|
||||
|
||||
ALTER TABLE prs_kostensoortgrp ADD bgt_kostenrubriek_key NUMBER(10) CONSTRAINT prs_r_bgt_kostenrubriek_key1 REFERENCES bgt_kostenrubriek (bgt_kostenrubriek_key);
|
||||
|
||||
CREATE_TABLE(bgt_budget,1)
|
||||
(
|
||||
bgt_budget_key
|
||||
NUMBER (10) PRIMARY KEY NOT NULL,
|
||||
ins_discipline_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_ins_discipline_key1 REFERENCES ins_tab_discipline (ins_discipline_key), /* ik denk nog not null?*/
|
||||
bgt_project_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_bgt_project_key1 REFERENCES bgt_project (bgt_project_key), /* ik denk nog not null?*/
|
||||
bgt_kostenrubriek_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_bgt_kostenrubriek_key2 REFERENCES bgt_kostenrubriek (bgt_kostenrubriek_key),
|
||||
prs_kostensoortgrp_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_kostensoortgrp_key2 REFERENCES prs_kostensoortgrp (prs_kostensoortgrp_key),
|
||||
prs_kostensoort_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_kostensoort_key2 REFERENCES prs_kostensoort (prs_kostensoort_key),
|
||||
prs_kostenplaatsgrp_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_kostenplaatsgrp_key3 REFERENCES prs_kostenplaatsgrp (prs_kostenplaatsgrp_key),
|
||||
prs_kostenplaats_key
|
||||
NUMBER (10)
|
||||
CONSTRAINT prs_r_kostenplaats_key5 REFERENCES prs_kostenplaats (prs_kostenplaats_key),
|
||||
bgt_budget_bedrag
|
||||
NUMBER (12,2),
|
||||
bgt_budget_btwbedrag
|
||||
NUMBER (12,2),
|
||||
bgt_budget_isreserve
|
||||
NUMBER(1)
|
||||
DEFAULT (0)
|
||||
NOT NULL
|
||||
CONSTRAINT bgt_c_bgt_budget_isreserve CHECK(bgt_budget_isreserve IN (0,1)),
|
||||
bgt_budget_begin
|
||||
DATE,
|
||||
bgt_budget_eind
|
||||
DATE,
|
||||
bgt_budget_aanmaak
|
||||
DATE DEFAULT SYSDATE,
|
||||
bgt_budget_vervaldatum
|
||||
DATE, -- of gewoon verwijderdatum?
|
||||
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)
|
||||
),
|
||||
CONSTRAINT bgt_u_budget UNIQUE (bgt_kostenrubriek_key, prs_kostensoortgrp_key, prs_kostensoort_key)
|
||||
);
|
||||
|
||||
-- under construction
|
||||
CREATE_TABLE(bgt_budgetmutatie, 1)
|
||||
(
|
||||
bgt_budgetmutatie_key
|
||||
NUMBER (10) PRIMARY KEY,
|
||||
bgt_budgetmutatie_datum
|
||||
DATE NOT NULL,
|
||||
bgt_budgetmutatie_omschrijving
|
||||
VARCHAR2 (100) NOT NULL,
|
||||
prs_perslid_key
|
||||
NUMBER (10)
|
||||
NOT NULL
|
||||
CONSTRAINT bgt_r_prs_perslid_key2 REFERENCES prs_perslid (prs_perslid_key),
|
||||
bgt_budget_key_van
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_bgt_budget1 REFERENCES bgt_budget (bgt_budget_key),
|
||||
bgt_budget_bedrag_van
|
||||
NUMBER (12, 2),
|
||||
bgt_budget_btwbedrag_van
|
||||
NUMBER (12, 2),
|
||||
bgt_budget_key_naar
|
||||
NUMBER (10)
|
||||
CONSTRAINT bgt_r_bgt_budget2 REFERENCES bgt_budget (bgt_budget_key),
|
||||
bgt_budget_bedrag_naar
|
||||
NUMBER (12, 2),
|
||||
bgt_budget_btwbedrag_naar
|
||||
NUMBER (12, 2),
|
||||
bgt_budgetmutatie_reserve
|
||||
NUMBER (1)
|
||||
DEFAULT (0)
|
||||
NOT NULL,
|
||||
bgt_budgetmutatie_code
|
||||
VARCHAR2 (2),
|
||||
bgt_budgetmutatie_volgnr
|
||||
NUMBER (3),
|
||||
CONSTRAINT bgt_c_bgt_budget_key1 CHECK(bgt_budget_key_van IS NOT NULL OR bgt_budget_key_naar IS NOT NULL)
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
@@ -1,94 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
AUDIT_BEGIN(bgt_disc_params)
|
||||
AUDIT_VALUE(bgt_disc_params, bgt_ins_discipline_key)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_disc_params_b_i)
|
||||
BEFORE INSERT ON bgt_disc_params
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bgt_disc_params_key, bgt_s_bgt_disc_params_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_project_B_I)
|
||||
BEFORE INSERT ON bgt_project
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bgt_project_key,bgt_s_bgt_project_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_kostenrubriek_B_I)
|
||||
BEFORE INSERT ON bgt_kostenrubriek
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bgt_kostenrubriek_key,bgt_s_bgt_kostenrubriek_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_budget_B_I)
|
||||
BEFORE INSERT ON bgt_budget
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bgt_budget_key,bgt_s_bgt_budget_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_budgetmutatie_B_I)
|
||||
BEFORE INSERT ON bgt_budgetmutatie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(bgt_budgetmutatie_key,bgt_s_bgt_budgetmutatie_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_budgetmutatie_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON bgt_budgetmutatie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
-- Bij insert moet het nieuwe mutatiebedrag bij het budgetbedrag worden opgeteld.
|
||||
-- Bij update moet het VERSCHIL tussen het oude- en nieuwe mutatiebedrag bij het budgetbedrag worden opgeteld.
|
||||
IF (:new.bgt_budget_key_van IS NOT NULL) THEN
|
||||
UPDATE bgt_budget
|
||||
SET bgt_budget_bedrag = NVL(bgt_budget_bedrag, 0) + (NVL(:new.bgt_budget_bedrag_van, 0) - NVL(:old.bgt_budget_bedrag_van, 0))
|
||||
, bgt_budget_btwbedrag = NVL(bgt_budget_btwbedrag, 0) + (NVL(:new.bgt_budget_btwbedrag_van, 0) - NVL(:old.bgt_budget_btwbedrag_van, 0))
|
||||
WHERE bgt_budget_key = :new.bgt_budget_key_van;
|
||||
END IF;
|
||||
IF (:new.bgt_budget_key_naar IS NOT NULL) THEN
|
||||
UPDATE bgt_budget
|
||||
SET bgt_budget_bedrag = NVL(bgt_budget_bedrag, 0) + (NVL(:new.bgt_budget_bedrag_naar, 0) - NVL(:old.bgt_budget_bedrag_naar, 0))
|
||||
, bgt_budget_btwbedrag = NVL(bgt_budget_btwbedrag, 0) + (NVL(:new.bgt_budget_btwbedrag_naar, 0) - NVL(:old.bgt_budget_btwbedrag_naar, 0))
|
||||
WHERE bgt_budget_key = :new.bgt_budget_key_naar;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(bgt_t_bgt_budgetmutatie_B_D)
|
||||
BEFORE DELETE ON bgt_budgetmutatie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF (:old.bgt_budget_key_van IS NOT NULL) THEN
|
||||
UPDATE bgt_budget
|
||||
SET bgt_budget_bedrag = NVL(bgt_budget_bedrag, 0) - NVL(:old.bgt_budget_bedrag_van, 0)
|
||||
, bgt_budget_btwbedrag = NVL(bgt_budget_btwbedrag, 0) - NVL(:old.bgt_budget_btwbedrag_van, 0)
|
||||
WHERE bgt_budget_key = :old.bgt_budget_key_van;
|
||||
END IF;
|
||||
IF (:old.bgt_budget_key_naar IS NOT NULL) THEN
|
||||
UPDATE bgt_budget
|
||||
SET bgt_budget_bedrag = NVL(bgt_budget_bedrag, 0) - NVL(:old.bgt_budget_bedrag_naar, 0)
|
||||
, bgt_budget_btwbedrag = NVL(bgt_budget_btwbedrag, 0) - NVL(:old.bgt_budget_btwbedrag_naar, 0)
|
||||
WHERE bgt_budget_key = :old.bgt_budget_key_naar;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
125
BGT/BGT_VIE.SRC
125
BGT/BGT_VIE.SRC
@@ -1,125 +0,0 @@
|
||||
#ifdef BGT
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE_VIEW(ctr_discipline, 0)
|
||||
AS
|
||||
SELECT * FROM ins_tab_discipline WHERE ins_discipline_module = 'BGT';
|
||||
|
||||
DEFINIEER_VIEW_AANWEZIG(ctr_discipline, ins_discipline_verwijder,
|
||||
bgt_v_aanwezigdiscipline, 0);
|
||||
|
||||
CREATE OR REPLACE VIEW bgt_v_project_gegevens
|
||||
AS
|
||||
SELECT pr.ins_discipline_key
|
||||
, pr.bgt_project_key
|
||||
, dp.bgt_disc_params_opdrachtgever opdrachtgever
|
||||
, dp.bgt_disc_params_code pcode
|
||||
, dp.bgt_disc_params_code || ' ' || id.ins_discipline_omschrijving project
|
||||
, id.ins_discipline_omschrijving projectnaam
|
||||
, pr.bgt_project_code dcode
|
||||
, pr.bgt_project_code || ' - ' || pr.bgt_project_omschrijving subproject
|
||||
, pr.bgt_project_omschrijving subprojectnaam
|
||||
, id.ins_discipline_verwijder
|
||||
, pr.bgt_project_verwijder
|
||||
FROM ins_tab_discipline id
|
||||
, bgt_disc_params dp
|
||||
, bgt_project pr
|
||||
WHERE id.ins_discipline_module = 'BGT'
|
||||
AND id.ins_discipline_key = dp.bgt_ins_discipline_key
|
||||
AND id.ins_discipline_key = pr.ins_discipline_key;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW bgt_v_project_full
|
||||
AS
|
||||
SELECT pr.ins_discipline_key
|
||||
, pr.bgt_project_key
|
||||
, pr.opdrachtgever
|
||||
, pr.pcode
|
||||
, pr.project
|
||||
, pr.projectnaam
|
||||
, pr.dcode
|
||||
, pr.subproject
|
||||
, pr.subprojectnaam
|
||||
, pr.ins_discipline_verwijder
|
||||
, pr.bgt_project_verwijder
|
||||
, kr.bgt_kostenrubriek_key
|
||||
, kr.bgt_kostenrubriek_code rcode
|
||||
, kr.bgt_kostenrubriek_oms kostenrubriek
|
||||
, NULL prs_kostensoortgrp_key
|
||||
, NULL gcode
|
||||
, NULL kostengroep
|
||||
, NULL prs_kostensoort_key
|
||||
, NULL scode
|
||||
, NULL kostensoort
|
||||
, kr.bgt_kostenrubriek_code kostencode
|
||||
, SUBSTR(kr.bgt_kostenrubriek_oms, INSTR(kr.bgt_kostenrubriek_oms, ' ',1,1)+1) kostennaam
|
||||
FROM bgt_v_project_gegevens pr
|
||||
, bgt_kostenrubriek kr
|
||||
WHERE pr.bgt_project_key = kr.bgt_project_key
|
||||
UNION
|
||||
SELECT pr.ins_discipline_key
|
||||
, pr.bgt_project_key
|
||||
, pr.opdrachtgever
|
||||
, pr.pcode
|
||||
, pr.project
|
||||
, pr.projectnaam
|
||||
, pr.dcode
|
||||
, pr.subproject
|
||||
, pr.subprojectnaam
|
||||
, pr.ins_discipline_verwijder
|
||||
, pr.bgt_project_verwijder
|
||||
, kr.bgt_kostenrubriek_key
|
||||
, kr.bgt_kostenrubriek_code rcode
|
||||
, kr.bgt_kostenrubriek_oms kostenrubriek
|
||||
, kg.prs_kostensoortgrp_key
|
||||
, kg.prs_kostensoortgrp_altcode gcode
|
||||
, kg.prs_kostensoortgrp_oms kostengroep
|
||||
, NULL
|
||||
, NULL
|
||||
, NULL
|
||||
, kg.prs_kostensoortgrp_altcode kostencode
|
||||
, SUBSTR(kg.prs_kostensoortgrp_oms, INSTR(kg.prs_kostensoortgrp_oms, ' ',1,1)+1) kostennaam
|
||||
FROM bgt_v_project_gegevens pr
|
||||
, bgt_kostenrubriek kr
|
||||
, prs_kostensoortgrp kg
|
||||
WHERE pr.bgt_project_key = kr.bgt_project_key
|
||||
AND kr.bgt_kostenrubriek_key = kg.bgt_kostenrubriek_key
|
||||
UNION
|
||||
SELECT pr.ins_discipline_key
|
||||
, pr.bgt_project_key
|
||||
, pr.opdrachtgever
|
||||
, pr.pcode
|
||||
, pr.project
|
||||
, pr.projectnaam
|
||||
, pr.dcode
|
||||
, pr.subproject
|
||||
, pr.subprojectnaam
|
||||
, pr.ins_discipline_verwijder
|
||||
, pr.bgt_project_verwijder
|
||||
, kr.bgt_kostenrubriek_key
|
||||
, kr.bgt_kostenrubriek_code rcode
|
||||
, kr.bgt_kostenrubriek_oms kostenrubriek
|
||||
, kg.prs_kostensoortgrp_key
|
||||
, kg.prs_kostensoortgrp_altcode gcode
|
||||
, kg.prs_kostensoortgrp_oms kostengroep
|
||||
, ks.prs_kostensoort_key
|
||||
, ks.prs_kostensoort_altcode scode
|
||||
, ks.prs_kostensoort_oms kostensoort
|
||||
, ks.prs_kostensoort_altcode kostencode
|
||||
, SUBSTR(ks.prs_kostensoort_oms, INSTR(ks.prs_kostensoort_oms, ' ',1,1)+1) kostennaam
|
||||
FROM bgt_v_project_gegevens pr
|
||||
, bgt_kostenrubriek kr
|
||||
, prs_kostensoortgrp kg
|
||||
, prs_kostensoort ks
|
||||
WHERE pr.bgt_project_key = kr.bgt_project_key
|
||||
AND kr.bgt_kostenrubriek_key = kg.bgt_kostenrubriek_key
|
||||
AND kg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key;
|
||||
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // BGT
|
||||
@@ -10,6 +10,6 @@ CREATE INDEX cad_i_cad_tekening3 ON cad_tekening(alg_verdieping_key);
|
||||
CREATE INDEX cad_i_cad_contour1 ON cad_imp_contour(cad_tekening_key);
|
||||
CREATE UNIQUE INDEX cad_i_cad_legendaw1 ON cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CAD_IND.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('CAD','lcl_module_CAD')
|
||||
_FAC_MODULE('CAD','Facilitor Graphics')
|
||||
|
||||
|
||||
INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (1, 'Default legenda', 1);
|
||||
INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (2, 'Aantallen', 0);
|
||||
// IN prj_ini: INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (3, 'Default project legenda', 1);
|
||||
INSERT INTO cad_legenda (cad_legenda_key, cad_legenda_omschrijving, cad_legenda_discreet) VALUES (4, 'Bezetting', 1);
|
||||
INSERT INTO cad_legenda (cad_legenda_omschrijving, cad_legenda_discreet) VALUES ('Default legenda', 1);
|
||||
INSERT INTO cad_legenda (cad_legenda_omschrijving, cad_legenda_discreet) VALUES ('Aantallen', 0);
|
||||
|
||||
UPDATE cad_legenda SET cad_legenda_key=1 WHERE cad_legenda_omschrijving='Default legenda';
|
||||
UPDATE cad_legenda SET cad_legenda_key=2 WHERE cad_legenda_omschrijving='Aantallen';
|
||||
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
|
||||
VALUES (2,'0','FFFFFF','0');
|
||||
@@ -35,14 +36,6 @@ VALUES (2,'50','FF5A09','50');
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
|
||||
VALUES (2,'99','FF0000','99');
|
||||
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
|
||||
VALUES (4,'0','33CC33','hele dag beschikbaar');
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
|
||||
VALUES (4,'1','FF9900','''s middags beschikbaar');
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
|
||||
VALUES (4,'2','FFFF00','''s ochtends beschikbaar');
|
||||
INSERT INTO cad_legendawaarde (cad_legenda_key, cad_legendawaarde_value, cad_legendawaarde_rgb, cad_legendawaarde_omschr)
|
||||
VALUES (4,'3','FF0000','hele dag bezet');
|
||||
|
||||
INSERT INTO cad_thema (cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key)
|
||||
SELECT 'Ruimtefunctie', 1, 'cad_v_thema_srtruimte', 1, fac_functie_key
|
||||
@@ -71,19 +64,12 @@ INSERT INTO CAD_THEMA
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_PRSBOF';
|
||||
|
||||
-- NB: deze gaan met vaste keys 12,13 harde defaults voor infobord.
|
||||
-- NB: deze gaat met vaste key 12, een harde default voor infobord.
|
||||
INSERT INTO cad_thema
|
||||
( cad_thema_key, cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key )
|
||||
SELECT 12, 'Actuele bezetting', 1, 'cad_v_thema_srtruimtesensor', '1', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_RESFOF';
|
||||
|
||||
INSERT INTO cad_thema
|
||||
( cad_thema_key, cad_thema_omschrijving, cad_legenda_key, cad_thema_view, cad_thema_type, fac_functie_key )
|
||||
SELECT 13, 'Werkplekbezetting', 4, 'cad_v_thema_deel_res_datum', '17', fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_RESUSE';
|
||||
|
||||
-- De cad_thema_key sequence gaat later vanzelf wel verder met 21.
|
||||
|
||||
|
||||
@@ -116,17 +102,12 @@ INSERT INTO CAD_LABEL
|
||||
|
||||
-- NB: deze gaat met vaste key 12, een harde default voor infobord.
|
||||
INSERT INTO cad_label
|
||||
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, cad_label_visible, fac_functie_key )
|
||||
SELECT 12, 'Flexibele ruimtes', 'cad_v_label_bezetbareruimtes', '1', 500, 0, fac_functie_key
|
||||
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, fac_functie_key )
|
||||
SELECT 12, 'Flexibele ruimtes', 'cad_v_label_bezetbareruimtes', '1', -500, fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_RESFOF';
|
||||
INSERT INTO cad_label
|
||||
( cad_label_key, cad_label_omschrijving, cad_label_view, cad_label_type, cad_label_size, cad_label_visible, fac_functie_key )
|
||||
SELECT 13, 'Werkplekbezetting', 'cad_v_label_deel_res_datum', '17', 700, 0, fac_functie_key
|
||||
from fac_functie
|
||||
where fac_functie_code = 'WEB_RESUSE';
|
||||
-- De cad_label_key sequence gaat later vanzelf wel verder met 21.
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CAD_INI.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
@@ -74,7 +74,7 @@ AS
|
||||
END;
|
||||
END cad;
|
||||
/
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: CAD_PAC.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
|
||||
CREATE SEQUENCE cad_s_cad_tekening_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE cad_s_cad_legenda_key MINVALUE 21;
|
||||
CREATE SEQUENCE cad_s_cad_legenda_key MINVALUE 1;
|
||||
CREATE SEQUENCE cad_s_cad_legendawaarde_key MINVALUE 1;
|
||||
CREATE SEQUENCE cad_s_cad_thema_key MINVALUE 1;
|
||||
CREATE SEQUENCE cad_s_cad_label_key MINVALUE 1;
|
||||
CREATE SEQUENCE cad_s_cad_imp_contour_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CAD_SEQ.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
@@ -15,7 +15,7 @@ CREATE_TABLE(cad_tekening, 0)
|
||||
NUMBER(10)
|
||||
NOT_NULL(alg_locatie_key, cad_c_alg_locatie_key)
|
||||
CONSTRAINT cad_r_alg_locatie_key REFERENCES alg_locatie(alg_locatie_key) ON DELETE CASCADE,
|
||||
alg_verdieping_key
|
||||
alg_verdieping_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cad_r_alg_verdieping_key REFERENCES alg_verdieping(alg_verdieping_key) ON DELETE CASCADE,
|
||||
cad_tekening_filenaam
|
||||
@@ -64,7 +64,7 @@ CREATE_TABLE(cad_legendawaarde,0)
|
||||
|
||||
|
||||
/* Welke thema's -kleur of label- zijn gedefinieerd?
|
||||
* _type: bitwise codering:
|
||||
* _type: bitwise codering:
|
||||
* bit 0 (1) is gezet voor 'binnen'
|
||||
* bit 1 (2) is gezet voor 'buiten'. (bit 0 en 1 mogen niet beide gezet zijn en ook niet beide leeg zijn)
|
||||
* bit 2 (4) is gezet voor projectomgeving (0 is actuele situatie)
|
||||
@@ -75,56 +75,35 @@ CREATE_TABLE(cad_legendawaarde,0)
|
||||
* bit 5 (32) is gereserveerd
|
||||
* bit 6 (64) is gereserveerd
|
||||
* bit 7 (128) is gezet voor 'draggable', dan kan dit thema worden gebruikt om te muteren (FSN#14942).
|
||||
* De optionele onclick_url wordt (vooralsnog) gebruikt in de touch-omgevingen (FSN#31594), aangevuld met de key (afh type)
|
||||
*/
|
||||
|
||||
CREATE_TABLE(cad_thema,0)
|
||||
(
|
||||
cad_thema_key
|
||||
NUMBER(10) PRIMARY KEY,
|
||||
cad_thema_omschrijving /* de naam */
|
||||
cad_thema_omschrijving
|
||||
VARCHAR2(60)
|
||||
NOT_NULL(cad_thema_omschrijving, cad_c_cad_thema_omschr),
|
||||
cad_thema_opmerking /* de uitleg */
|
||||
VARCHAR2(4000),
|
||||
cad_legenda_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cad_r_cad_legenda_key REFERENCES cad_legenda(cad_legenda_key),
|
||||
cad_thema_view
|
||||
VARCHAR2(1000)
|
||||
NOT_NULL(cad_thema_view, cad_c_cad_thema_view),
|
||||
cad_thema_type
|
||||
NUMBER(3)
|
||||
cad_thema_type VARCHAR2(3)
|
||||
CONSTRAINT cad_c_cad_thema_type CHECK (cad_thema_type BETWEEN 1 AND 255),
|
||||
fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cad_fac_functie_key1 REFERENCES fac_functie(fac_functie_key),
|
||||
cad_thema_onclick_url
|
||||
VARCHAR2(512),
|
||||
cad_thema_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
CONSTRAINT cad_c_cad_thema_aanmaak NOT NULL
|
||||
CONSTRAINT cad_fac_functie_key1 REFERENCES fac_functie(fac_functie_key)
|
||||
);
|
||||
|
||||
ALTER TABLE mld_stdmelding
|
||||
ADD
|
||||
(
|
||||
cad_thema_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_r_cad_thema_key1 REFERENCES cad_thema(cad_thema_key)
|
||||
);
|
||||
|
||||
|
||||
CREATE_TABLE(cad_label,0)
|
||||
(
|
||||
cad_label_key
|
||||
NUMBER(10) PRIMARY KEY,
|
||||
cad_label_omschrijving /* de naam */
|
||||
cad_label_omschrijving
|
||||
VARCHAR2(60)
|
||||
NOT_NULL(cad_label_omschrijving, cad_c_cad_label_omschr),
|
||||
cad_label_opmerking /* de uitleg */
|
||||
VARCHAR2(4000),
|
||||
cad_label_view
|
||||
VARCHAR2(1000)
|
||||
NOT_NULL(cad_label_view, cad_c_cad_label_view),
|
||||
@@ -133,20 +112,9 @@ CREATE_TABLE(cad_label,0)
|
||||
CONSTRAINT cad_c_cad_label_type CHECK (cad_label_type BETWEEN 1 AND 31),
|
||||
cad_label_size
|
||||
NUMBER,
|
||||
cad_label_rotation
|
||||
NUMBER(3), /* (0-360) */
|
||||
fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cad_fac_functie_key2 REFERENCES fac_functie(fac_functie_key),
|
||||
cad_label_visible /* eigenlijk zou cad_label_label_visible beter zijn, of het id-label erbij getoond moet worden */
|
||||
NUMBER(1)
|
||||
DEFAULT 1
|
||||
NOT NULL
|
||||
CONSTRAINT cad_c_cad_label_visible CHECK (cad_label_visible IN (0,1)),
|
||||
cad_label_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
CONSTRAINT cad_c_cad_label_aanmaak NOT NULL
|
||||
CONSTRAINT cad_fac_functie_key2 REFERENCES fac_functie(fac_functie_key)
|
||||
);
|
||||
|
||||
CREATE_TABLE(cad_imp_contour,0)
|
||||
@@ -170,11 +138,11 @@ CREATE_TABLE(cad_imp_contour,0)
|
||||
cad_imp_contour_concept
|
||||
NUMBER(1) -- valid are 0, 1
|
||||
DEFAULT 0
|
||||
-- in PRJ_TAB.SRC:
|
||||
-- prj_scenario_key
|
||||
-- in PRJ_TAB.SRC:
|
||||
-- prj_scenario_key
|
||||
-- NUMBER(10) REFERENCES prj_scenario(prj_scenario_key) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CAD_TAB.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
@@ -64,6 +64,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: CAD_TRI.SRC $','$Revision$')
|
||||
|
||||
#endif
|
||||
|
||||
691
CAD/CAD_VIE.SRC
691
CAD/CAD_VIE.SRC
@@ -11,6 +11,51 @@ CREATE_VIEW(cad_v_cad_aanwezigtekening,0) AS
|
||||
FROM ins_discipline)
|
||||
OR C_T.ins_discipline_key IS NULL);
|
||||
|
||||
CREATE_VIEW(cad_v_cad_tekening_gegevens,0)
|
||||
(cad_tekening_key,
|
||||
alg_locatie_key,
|
||||
alg_locatie_code,
|
||||
alg_gebouw_key,
|
||||
alg_gebouw_code,
|
||||
alg_verdieping_key,
|
||||
alg_verdieping_omschrijving,
|
||||
ins_discipline_key,
|
||||
ins_discipline_omschrijving) AS
|
||||
SELECT C_T.cad_tekening_key,
|
||||
C_T.alg_locatie_key,
|
||||
ALG_L.alg_locatie_code,
|
||||
ALG_G.alg_gebouw_key,
|
||||
ALG_G.alg_gebouw_code,
|
||||
C_T.alg_verdieping_key,
|
||||
ALG_V.alg_verdieping_omschrijving,
|
||||
C_T.ins_discipline_key,
|
||||
INS_D.ins_discipline_omschrijving
|
||||
FROM alg_locatie ALG_L,
|
||||
alg_verdieping ALG_V,
|
||||
alg_gebouw ALG_G,
|
||||
ins_discipline INS_D,
|
||||
cad_v_cad_aanwezigtekening C_T
|
||||
WHERE C_T.alg_locatie_key = ALG_L.alg_locatie_key
|
||||
AND C_T.alg_verdieping_key = ALG_V.alg_verdieping_key (+)
|
||||
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key (+)
|
||||
AND C_T.ins_discipline_key = INS_D.ins_discipline_key (+);
|
||||
|
||||
CREATE_VIEW(cad_v_plattegrond,0) AS
|
||||
SELECT * FROM cad_tekening
|
||||
WHERE cad_tekening_verwijder IS NULL
|
||||
AND UPPER(cad_tekening_type) = 'P';
|
||||
|
||||
CREATE_VIEW(cad_v_contour,0) AS
|
||||
SELECT * FROM cad_tekening
|
||||
WHERE cad_tekening_verwijder IS NULL
|
||||
AND UPPER(cad_tekening_type) = 'C';
|
||||
|
||||
CREATE_VIEW(cad_v_discipline,0) AS
|
||||
SELECT * FROM cad_tekening
|
||||
WHERE cad_tekening_verwijder IS NULL
|
||||
AND UPPER(cad_tekening_type) = 'D';
|
||||
|
||||
|
||||
/* mapping van labels in tekening met ruimtenr in database
|
||||
* let op: de applicatie kan van een specifieke variant gebruikmaken
|
||||
* deze heet dan XXXX_V_SYNC..
|
||||
@@ -36,6 +81,84 @@ SELECT
|
||||
t.alg_terreinsector_code
|
||||
FROM alg_v_aanwezigterreinsector t;
|
||||
|
||||
|
||||
|
||||
/* View met ALLE tekeningen, ongeacht de autorisatie; minimale kolommen, gebruikt in CAD_PAC.SRC */
|
||||
CREATE_VIEW(cad_v_cad_tekening,0) AS
|
||||
SELECT ins_discipline_key,
|
||||
alg_locatie_key,
|
||||
alg_verdieping_key,
|
||||
cad_tekening_type,
|
||||
cad_tekening_filenaam
|
||||
FROM cad_tekening C_T
|
||||
WHERE cad_tekening_verwijder IS NULL;
|
||||
|
||||
/* 29-06-1998 KTH LOG#1905
|
||||
* View CAD_V_INS_DEEL wordt door de AutoCAD Map-user FCLTCAD geraadpleegd.
|
||||
* Bij die user heet de SYNONYM ernaar toe anders (zie CAD_ROL).
|
||||
*/
|
||||
CREATE_VIEW(cad_v_ins_deel,0)
|
||||
(ins_deel_key,
|
||||
ins_deel_cadlabel,
|
||||
ins_srtdeel_omschrijving,
|
||||
ins_deel_oppervlak,
|
||||
ins_deel_omtrek
|
||||
) AS
|
||||
SELECT D.ins_deel_key,
|
||||
D.ins_deel_omschrijving,
|
||||
SD.ins_srtdeel_omschrijving,
|
||||
NVL(TO_CHAR(D.ins_deel_oppervlak),'-')||' m2',
|
||||
NVL(TO_CHAR(D.ins_deel_omtrek),'-')||' m'
|
||||
FROM all_v_aanwezigdeel D, ins_srtdeel SD
|
||||
WHERE SD.ins_srtdeel_key=D.ins_srtdeel_key;
|
||||
|
||||
CREATE_VIEW(cad_v_lpn_ins_deel_2,0) AS
|
||||
SELECT
|
||||
D.ins_deel_key,
|
||||
ins_srtkenmerk_omschrijving,
|
||||
KD.ins_kenmerkdeel_waarde ||' '|| SK.ins_srtkenmerk_dimensie INS_KENMERKDEEL_WAARDE2
|
||||
FROM
|
||||
ins_srtkenmerk SK,
|
||||
ins_kenmerk K,
|
||||
ins_kenmerkdeel KD,
|
||||
ins_deel D
|
||||
WHERE SK.ins_srtkenmerk_key=K.ins_srtkenmerk_key
|
||||
AND K.ins_kenmerk_key=KD.ins_kenmerk_key
|
||||
AND KD.ins_deel_key=D.ins_deel_key
|
||||
AND KD.ins_kenmerkdeel_verwijder IS NULL;
|
||||
|
||||
CREATE_VIEW(cad_v_lpn_ins_deel_1,0) AS
|
||||
SELECT
|
||||
D.ins_deel_key,
|
||||
SD.ins_srtdeel_omschrijving,
|
||||
D.ins_deel_omschrijving
|
||||
FROM
|
||||
ins_srtdeel SD,
|
||||
ins_deel D
|
||||
WHERE D.ins_srtdeel_key = SD.ins_srtdeel_key;
|
||||
|
||||
|
||||
CREATE_VIEW(cad_v_prs_werkplek,0)
|
||||
(prs_werkplek_key,
|
||||
prs_werkplek_cadlabel,
|
||||
prs_werkplek_volgnr,
|
||||
prs_werkplek_omschrijving,
|
||||
prs_werkplek_opp
|
||||
) AS
|
||||
SELECT W.prs_werkplek_key,
|
||||
W.prs_werkplek_volgnr,
|
||||
W.prs_werkplek_volgnr,
|
||||
W.prs_werkplek_omschrijving,
|
||||
W.prs_werkplek_opp /* Alleen een waarde indien prs_werkplek_vastopp 1 is, anders te traag? */
|
||||
FROM prs_werkplek W;
|
||||
|
||||
CREATE_VIEW(cad_v_lpn_prs_werkplek_1,0) AS
|
||||
SELECT W.prs_werkplek_key,
|
||||
W.prs_werkplek_volgnr,
|
||||
W.prs_werkplek_omschrijving
|
||||
FROM prs_werkplek W;
|
||||
|
||||
|
||||
/* Standard thema/label views */
|
||||
// Zowel label-views als thema-views hebben de kolommen alg_ruimte_key en waarde
|
||||
// Feature: Sommige thema views kunnen updatable zijn!
|
||||
@@ -50,19 +173,22 @@ SELECT
|
||||
CREATE_VIEW(cad_v_label_bewoner, 0)
|
||||
(alg_ruimte_key, waarde)
|
||||
AS
|
||||
SELECT prs_w.prs_alg_ruimte_key,
|
||||
prs_p.prs_perslid_naam_friendly
|
||||
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_v_perslid_fullnames prs_p
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||||
AND prs_w.prs_werkplek_virtueel = 0
|
||||
UNION
|
||||
SELECT prs_w.prs_alg_ruimte_key, '['||lcl.l('lcl_free')||']'
|
||||
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
|
||||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
|
||||
AND prs_w.prs_werkplek_virtueel = 0
|
||||
AND prs_wb.prs_werkplek_bezetting < 100;
|
||||
SELECT prs_w.prs_alg_ruimte_key,
|
||||
prs_p.prs_perslid_naam
|
||||
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters)
|
||||
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')')
|
||||
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_perslid prs_p
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||||
AND prs_w.prs_werkplek_virtueel = 0
|
||||
UNION
|
||||
SELECT prs_w.prs_alg_ruimte_key, '[Vrij]'
|
||||
FROM prs_werkplek prs_w, prs_v_werkplek_bezetting prs_wb
|
||||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key
|
||||
AND prs_w.prs_werkplek_virtueel = 0
|
||||
AND prs_wb.prs_werkplek_bezetting < 100;
|
||||
|
||||
|
||||
-- Toont alle afdelingen die aan een ruimte gekoppeld zijn
|
||||
CREATE_VIEW(cad_v_label_afdelingen, 0)
|
||||
@@ -125,31 +251,37 @@ SELECT wp.prs_alg_ruimte_key, d.prs_afdeling_naam
|
||||
|
||||
CREATE_VIEW(cad_v_label_bewonerwp, 0) (alg_ruimte_key,waarde)
|
||||
AS
|
||||
SELECT DISTINCT prs_alg_ruimte_key, waarde
|
||||
FROM (SELECT prs_w.prs_alg_ruimte_key,
|
||||
CHR (1)
|
||||
|| prs_w.prs_werkplek_volgnr
|
||||
|| ' '
|
||||
|| prs_p.prs_perslid_naam_friendly
|
||||
|| ' '
|
||||
|| TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0))
|
||||
|| '%'
|
||||
waarde
|
||||
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_v_perslid_fullnames prs_p
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||||
UNION
|
||||
SELECT prs_w.prs_alg_ruimte_key,
|
||||
CHR (1)
|
||||
|| prs_w.prs_werkplek_volgnr
|
||||
|| ' '|| initcap(lcl.l('lcl_free'))||' '
|
||||
|| TO_CHAR (100 - NVL (SUM (prs_wb.prs_perslidwerkplek_bezetting), 0))
|
||||
|| '%'
|
||||
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_wb
|
||||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+)
|
||||
GROUP BY prs_w.prs_alg_ruimte_key, prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr
|
||||
HAVING SUM (NVL (prs_wb.prs_perslidwerkplek_bezetting, 0)) < 100) data;
|
||||
SELECT DISTINCT prs_alg_ruimte_key, waarde
|
||||
FROM (SELECT prs_w.prs_alg_ruimte_key,
|
||||
CHR (1)
|
||||
|| prs_w.prs_werkplek_volgnr
|
||||
|| ' '
|
||||
|| prs_p.prs_perslid_naam
|
||||
|| DECODE (prs_p.prs_perslid_voorletters, NULL, '', ', ' || prs_p.prs_perslid_voorletters)
|
||||
|| DECODE (prs_p.prs_perslid_voornaam, NULL, '', ' (' || prs_p.prs_perslid_voornaam || ')')
|
||||
|| ': '
|
||||
|| TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0))
|
||||
|| '%' waarde
|
||||
FROM prs_werkplek prs_w,
|
||||
prs_perslidwerkplek prs_pw,
|
||||
prs_perslid prs_p
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||||
UNION
|
||||
SELECT prs_w.prs_alg_ruimte_key,
|
||||
CHR (1)
|
||||
|| prs_w.prs_werkplek_volgnr
|
||||
|| ' Vrij: '
|
||||
|| TO_CHAR (100 - NVL (SUM (prs_wb.prs_perslidwerkplek_bezetting), 0))
|
||||
|| '%'
|
||||
FROM prs_werkplek prs_w,
|
||||
prs_perslidwerkplek prs_wb
|
||||
WHERE prs_w.prs_werkplek_key = prs_wb.prs_werkplek_key(+)
|
||||
GROUP BY prs_w.prs_alg_ruimte_key, prs_w.prs_werkplek_key, prs_w.prs_werkplek_volgnr
|
||||
HAVING SUM (NVL (prs_wb.prs_perslidwerkplek_bezetting, 0)) < 100) DATA
|
||||
/
|
||||
|
||||
|
||||
CREATE_VIEW(CAD_V_THEMA_AANTALWP, 0) (ALG_RUIMTE_KEY, WAARDE)
|
||||
AS
|
||||
@@ -208,25 +340,18 @@ SELECT ra.alg_ruimte_key, 'mismatch'
|
||||
CREATE_VIEW(cad_v_label_srtruimteopp,0)
|
||||
(alg_ruimte_key, waarde)
|
||||
AS
|
||||
SELECT r.alg_ruimte_key,
|
||||
lcl.x ('alg_srtruimte_omschrijving',
|
||||
sr.alg_srtruimte_key,
|
||||
sr.alg_srtruimte_omschrijving)
|
||||
|| DECODE (r.alg_ruimte_bruto_vloeropp,
|
||||
NULL, '',
|
||||
' (' || r.alg_ruimte_bruto_vloeropp || ' m2)')
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key;
|
||||
SELECT r.alg_ruimte_key,
|
||||
sr.alg_srtruimte_omschrijving || ' (' || r.alg_ruimte_bruto_vloeropp || ' m2)'
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key;
|
||||
|
||||
-- Ruimtesoort
|
||||
CREATE_VIEW(cad_v_thema_srtruimte, 0)
|
||||
(alg_ruimte_key, waarde, waarde_key)
|
||||
AS
|
||||
SELECT r.alg_ruimte_key,
|
||||
sr.alg_srtruimte_omschrijving, // deze moet niet vertaald worden, dat regelt de programmatuur
|
||||
r.alg_srtruimte_key
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+);
|
||||
SELECT r.alg_ruimte_key, sr.alg_srtruimte_omschrijving, r.alg_srtruimte_key
|
||||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+);
|
||||
|
||||
CREATE_TRIGGER(cad_t_thema_srtruimte_i_iu)
|
||||
INSTEAD OF INSERT OR UPDATE ON cad_v_thema_srtruimte
|
||||
@@ -272,24 +397,26 @@ AS
|
||||
|
||||
CREATE_VIEW(cad_v_label_bewoner2,0) (alg_ruimte_key, waarde)
|
||||
AS
|
||||
SELECT alg_ruimte_key,
|
||||
pf.prs_perslid_naam_friendly
|
||||
|| '-'
|
||||
|| CASE
|
||||
WHEN aantalwp > 1 AND norm_verband IS NOT NULL THEN norm_verband || '/'
|
||||
ELSE ''
|
||||
END
|
||||
|| CASE
|
||||
WHEN p.prs_perslid_dienstverband IS NOT NULL
|
||||
THEN
|
||||
p.prs_perslid_dienstverband || '%'
|
||||
ELSE
|
||||
''
|
||||
END
|
||||
FROM prs_v_perslid_fullnames pf, prs_perslid p, prs_v_norm_verband pnv
|
||||
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
||||
AND pnv.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_verwijder IS NULL;
|
||||
SELECT alg_ruimte_key,
|
||||
prs_p.prs_perslid_naam
|
||||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||||
NULL, '',
|
||||
', ' || prs_p.prs_perslid_voorletters
|
||||
)
|
||||
|| DECODE (prs_p.prs_perslid_voornaam,
|
||||
NULL, '',
|
||||
' (' || prs_p.prs_perslid_voornaam || ')'
|
||||
)
|
||||
|| '-'
|
||||
|| CASE
|
||||
WHEN aantalwp > 1
|
||||
THEN norm_verband || '/'
|
||||
ELSE ''
|
||||
END
|
||||
|| prs_p.prs_perslid_dienstverband
|
||||
|| ' FTE'
|
||||
FROM prs_perslid prs_p, prs_v_norm_verband pnv
|
||||
WHERE pnv.prs_perslid_key = prs_p.prs_perslid_key;
|
||||
|
||||
CREATE OR REPLACE FORCE VIEW PRJ_V_CAD_LABEL_BEWONERWPE
|
||||
(
|
||||
@@ -298,48 +425,59 @@ CREATE OR REPLACE FORCE VIEW PRJ_V_CAD_LABEL_BEWONERWPE
|
||||
HIGHLIGHT
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT prj_werkplek_key, waarde, DECODE (prj_selectie_key, NULL, 0, 1)
|
||||
FROM (SELECT prj_r.prj_scenario_key,
|
||||
prs_w.prj_werkplek_key,
|
||||
prs_p.prs_perslid_naam_friendly
|
||||
|| ': '
|
||||
|| TO_CHAR (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0))
|
||||
|| '%'
|
||||
waarde,
|
||||
'PRJ_WERKPLEK'
|
||||
label_soort,
|
||||
prs_pw.prj_werkplek_key
|
||||
label_key
|
||||
FROM prj_ruimte prj_r,
|
||||
prj_werkplek prs_w,
|
||||
(SELECT *
|
||||
FROM prj_perslidwerkplek
|
||||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
|
||||
prs_v_perslid_fullnames prs_p
|
||||
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||||
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
||||
UNION
|
||||
SELECT -1,
|
||||
prs_w.prj_werkplek_key,
|
||||
' Vrij: '
|
||||
|| TO_CHAR (100 - NVL (SUM (prs_wb.prj_perslidwerkplek_bezetting), 0))
|
||||
|| '%',
|
||||
'PRJ_WERKPLEK',
|
||||
prs_w.prj_werkplek_key
|
||||
FROM prj_werkplek prs_w,
|
||||
(SELECT *
|
||||
FROM prj_perslidwerkplek
|
||||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb
|
||||
WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+)
|
||||
AND prj_werkplek_verwijder IS NULL
|
||||
GROUP BY prs_w.prj_werkplek_key, prs_w.prj_werkplek_key, prs_w.prj_werkplek_volgnr
|
||||
HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting, 0)) < 100) data,
|
||||
prj_selectie ps
|
||||
WHERE ps.prj_scenario_key(+) = data.prj_scenario_key
|
||||
AND ps.prj_selectie_tabelnaam(+) = label_soort
|
||||
AND ps.prj_selectie_tabelkey(+) = label_key;
|
||||
SELECT DISTINCT
|
||||
prj_werkplek_key, waarde, DECODE (prj_selectie_key, NULL, 0, 1)
|
||||
FROM (SELECT prj_r.prj_scenario_key,
|
||||
prs_w.prj_werkplek_key,
|
||||
prs_p.prs_perslid_naam
|
||||
|| DECODE (prs_p.prs_perslid_voorletters,
|
||||
NULL, '',
|
||||
', ' || prs_p.prs_perslid_voorletters)
|
||||
|| DECODE (prs_p.prs_perslid_voornaam,
|
||||
NULL, '',
|
||||
' (' || prs_p.prs_perslid_voornaam || ')')
|
||||
|| ': '
|
||||
|| TO_CHAR (NVL (prs_pw.prj_perslidwerkplek_bezetting, 0))
|
||||
|| '%'
|
||||
waarde,
|
||||
'PRJ_WERKPLEK' label_soort,
|
||||
prs_pw.prj_werkplek_key label_key
|
||||
FROM PRJ_RUIMTE prj_r,
|
||||
PRJ_WERKPLEK prs_w,
|
||||
(SELECT *
|
||||
FROM PRJ_PERSLIDWERKPLEK
|
||||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_pw,
|
||||
PRS_PERSLID prs_p
|
||||
WHERE prs_w.prj_werkplek_key = prs_pw.prj_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||||
AND prs_w.prj_ruimte_key = prj_r.prj_ruimte_key
|
||||
UNION
|
||||
SELECT -1,
|
||||
prs_w.prj_werkplek_key,
|
||||
' Vrij: '
|
||||
|| TO_CHAR(100
|
||||
- NVL (
|
||||
SUM (prs_wb.prj_perslidwerkplek_bezetting),
|
||||
0))
|
||||
|| '%',
|
||||
'PRJ_WERKPLEK',
|
||||
prs_w.prj_werkplek_key
|
||||
FROM PRJ_WERKPLEK prs_w,
|
||||
(SELECT *
|
||||
FROM PRJ_PERSLIDWERKPLEK
|
||||
WHERE prj_perslidwerkplek_verwijder IS NULL) prs_wb
|
||||
WHERE prs_w.prj_werkplek_key = prs_wb.prj_werkplek_key(+)
|
||||
AND prj_werkplek_verwijder IS NULL
|
||||
GROUP BY prs_w.prj_werkplek_key,
|
||||
prs_w.prj_werkplek_key,
|
||||
prs_w.prj_werkplek_volgnr
|
||||
HAVING SUM (NVL (prs_wb.prj_perslidwerkplek_bezetting, 0)) < 100)
|
||||
DATA,
|
||||
PRJ_SELECTIE ps
|
||||
WHERE ps.prj_scenario_key(+) = DATA.prj_scenario_key
|
||||
AND ps.prj_selectie_tabelnaam(+) = label_soort
|
||||
AND ps.prj_selectie_tabelkey(+) = label_key;
|
||||
|
||||
/* Lijstje met (ALGCAD) wijzigingen op een ruimte
|
||||
Kolom FAC_TRACKING_DATUM om een klantspecifieke beperking mogelijk te maken
|
||||
@@ -428,14 +566,26 @@ CREATE_VIEW(cad_v_label_wp_bewoner, 0)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
prs_w.prs_werkplek_key,
|
||||
prs_p.prs_perslid_naam_friendly
|
||||
DECODE (
|
||||
prs_p.prs_perslid_voornaam,
|
||||
NULL,
|
||||
DECODE (prs_p.prs_perslid_voorletters,
|
||||
NULL, '',
|
||||
prs_p.prs_perslid_voorletters || ' '),
|
||||
prs_p.prs_perslid_voornaam || ' ')
|
||||
|| DECODE (prs_p.prs_perslid_tussenvoegsel,
|
||||
NULL, '',
|
||||
prs_p.prs_perslid_tussenvoegsel || ' ')
|
||||
|| prs_p.prs_perslid_naam
|
||||
|| CASE
|
||||
WHEN prs_pw.prs_perslidwerkplek_bezetting < 100
|
||||
THEN
|
||||
' (' || TO_CHAR (NVL (prs_pw.prs_perslidwerkplek_bezetting, 0)) || '%)'
|
||||
END
|
||||
waarde
|
||||
FROM prs_werkplek prs_w, prs_perslidwerkplek prs_pw, prs_v_perslid_fullnames prs_p
|
||||
FROM prs_werkplek prs_w,
|
||||
prs_perslidwerkplek prs_pw,
|
||||
prs_perslid prs_p
|
||||
WHERE prs_w.prs_werkplek_key = prs_pw.prs_werkplek_key
|
||||
AND prs_pw.prs_perslid_key IS NOT NULL
|
||||
AND prs_pw.prs_perslid_key = prs_p.prs_perslid_key;
|
||||
@@ -473,7 +623,7 @@ CREATE_VIEW(cad_v_label_bezetbareruimtes, 0)
|
||||
waarde
|
||||
)
|
||||
AS
|
||||
SELECT rar.alg_ruimte_key, MIN (COALESCE(res_ruimte_friendlyname, res_ruimte_nr)) waarde
|
||||
SELECT rar.alg_ruimte_key, MIN (res_ruimte_nr) waarde
|
||||
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rar
|
||||
WHERE rro.res_ruimte_key = rr.res_ruimte_key
|
||||
AND rar.res_ruimte_key = rr.res_ruimte_key
|
||||
@@ -481,12 +631,10 @@ AS
|
||||
GROUP BY rar.alg_ruimte_key
|
||||
UNION
|
||||
SELECT alg_ruimte_key, alg_ruimte_nr
|
||||
FROM alg_ruimte r, ins_deel d, ins_srtdeel sd
|
||||
WHERE d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_deel_state IS NOT NULL
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key')
|
||||
FROM alg_ruimte r, ins_deel
|
||||
WHERE ins_alg_ruimte_key = alg_ruimte_key
|
||||
AND ins_alg_ruimte_type = 'R'
|
||||
AND ins_deel_state IS NOT NULL
|
||||
AND NOT EXISTS (SELECT ''
|
||||
FROM res_alg_ruimte
|
||||
WHERE alg_ruimte_key = r.alg_ruimte_key);
|
||||
@@ -496,7 +644,7 @@ AS
|
||||
CREATE_VIEW(cad_v_label_ruimte_reservering,0)
|
||||
(ALG_RUIMTE_KEY, WAARDE)
|
||||
AS
|
||||
SELECT rar.alg_ruimte_key, MAX (COALESCE(res_ruimte_friendlyname, res_ruimte_nr) || res_info.tekst) waarde
|
||||
SELECT rar.alg_ruimte_key, MAX (res_ruimte_nr || res_info.tekst) waarde
|
||||
FROM res_ruimte_opstelling rro,
|
||||
res_ruimte rr,
|
||||
res_alg_ruimte rar,
|
||||
@@ -563,114 +711,6 @@ AS
|
||||
AND res_rsv_deel_tot - 1 / 24 / 60) res -- NU bezig
|
||||
WHERE isd.ins_deel_key = res.res_ins_deel_key(+);
|
||||
|
||||
-- Deze core-view wordt direct als label-thema (13) gebruikt, maar kan ook als basis voor een alternatief via
|
||||
-- create view myview (fclt_f_datum, ins_deel_key, waarde) as select fclt_f_datum, ins_deel_key, waarde3 from cad_v_label_deel_res_datum.
|
||||
-- Kijkt nu hard maximaal 42 dagen tov van nu vooruit, wat hopelijk even genoeg is voor alle situaties
|
||||
-- De verschillende waardevarianten zijn presentatie alternatieven, evt meerdere regels onder elkaar
|
||||
-- Merk op dat waarde_html ook een class meeneemt, waarmee in CSS gestyld kan worden
|
||||
-- Voor 2d
|
||||
-- waarde1: Naam (van-tot)
|
||||
-- waarde: van Naam [default]
|
||||
-- waarde3: Naam
|
||||
-- Voor 3d
|
||||
-- waarde_html: van Naam [default]
|
||||
-- waarde_html2: Naam
|
||||
|
||||
CREATE_VIEW(cad_v_label_deel_res_datum, 0)
|
||||
(
|
||||
fclt_f_datum,
|
||||
ins_deel_key,
|
||||
res_deel_omschrijving,
|
||||
waarde1,
|
||||
waarde,
|
||||
waarde3,
|
||||
waarde_html,
|
||||
waarde_html2
|
||||
)
|
||||
AS
|
||||
WITH
|
||||
datums
|
||||
AS
|
||||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 42)
|
||||
SELECT datums.datum
|
||||
fclt_f_datum,
|
||||
isd.res_ins_deel_key
|
||||
ins_deel_key,
|
||||
res_deel_omschrijving,
|
||||
CHR (10)
|
||||
|| LISTAGG (
|
||||
DECODE (
|
||||
naam,
|
||||
NULL, '',
|
||||
'[s40]'
|
||||
|| naam
|
||||
|| ' ('
|
||||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||||
|| '-'
|
||||
|| DECODE (TRUNC (res_rsv_deel_tot),
|
||||
TRUNC (res_rsv_deel_van), TO_CHAR (res_rsv_deel_tot, 'HH24:MI'),
|
||||
TO_CHAR (res_rsv_deel_tot, 'DD-MM-YYYY HH24:MI'))
|
||||
|| ')'),
|
||||
CHR (10))
|
||||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||||
waarde1,
|
||||
CHR (10)
|
||||
|| LISTAGG (
|
||||
DECODE (naam,
|
||||
NULL, '',
|
||||
'[s40]' || TO_CHAR (res_rsv_deel_van, 'HH24:MI') || ' ' || naam),
|
||||
CHR (10))
|
||||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||||
waarde2,
|
||||
CHR (10)
|
||||
|| LISTAGG (DECODE (naam, NULL, '', '[s40]' || naam), CHR (10))
|
||||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||||
waarde3,
|
||||
LISTAGG (
|
||||
DECODE (
|
||||
naam,
|
||||
NULL, '',
|
||||
'<span class="body">'
|
||||
|| TO_CHAR (res_rsv_deel_van, 'HH24:MI')
|
||||
|| ' '
|
||||
|| naam
|
||||
|| '</span>'),
|
||||
'<br>')
|
||||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||||
waarde_html,
|
||||
LISTAGG (DECODE (naam, NULL, '', '<span class="body">' || naam || '</span>'), '<br>')
|
||||
WITHIN GROUP (ORDER BY res_rsv_deel_van)
|
||||
waarde_html2
|
||||
FROM res_v_aanwezigdeel isd,
|
||||
datums,
|
||||
(SELECT datum,
|
||||
res_ins_deel_key,
|
||||
DECODE (p.prs_perslid_visibility,
|
||||
1, pf.prs_perslid_naam_friendly,
|
||||
a.prs_afdeling_omschrijving)
|
||||
naam,
|
||||
res_rsv_deel_van,
|
||||
res_rsv_deel_tot
|
||||
FROM res_v_aanwezigdeel r,
|
||||
res_v_aanwezigrsv_deel rrd,
|
||||
res_rsv_ruimte rrr,
|
||||
prs_v_perslid_fullnames pf,
|
||||
prs_perslid p,
|
||||
prs_afdeling a,
|
||||
datums
|
||||
WHERE r.res_deel_key = rrd.res_deel_key
|
||||
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||||
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND datum + 1 >= res_rsv_deel_van
|
||||
AND datum < res_rsv_deel_tot ) res -- Bezet
|
||||
WHERE isd.res_ins_deel_key = res.res_ins_deel_key(+) AND datums.datum = res.datum(+)
|
||||
GROUP BY datums.datum, isd.res_ins_deel_key, res_deel_omschrijving;
|
||||
|
||||
|
||||
--
|
||||
-- Thema's gebaseerd op objectstatus van objecten binnen ruimte/werkplek (typisch sensoren)
|
||||
--
|
||||
@@ -681,13 +721,11 @@ CREATE_VIEW(cad_v_thema_ruimtesensor,0)
|
||||
)
|
||||
AS
|
||||
SELECT r.alg_ruimte_key alg_ruimte_key, initcap(d.ins_deel_state) status
|
||||
FROM alg_ruimte r, ins_deel d, ins_srtdeel sd
|
||||
FROM alg_ruimte r, ins_deel d
|
||||
WHERE r.alg_ruimte_verwijder IS NULL
|
||||
AND d.ins_deel_verwijder IS NULL
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key')
|
||||
AND d.ins_deel_state IS NOT NULL;
|
||||
|
||||
-- Kleurenthema dat reserveringen en actuele bezetting weergeeft
|
||||
@@ -700,52 +738,47 @@ CREATE_VIEW(cad_v_thema_srtruimtesensor, 0)
|
||||
)
|
||||
AS
|
||||
-- zalen met een sensor
|
||||
SELECT alg_ruimte_key, DECODE (MAX (status), 0, 'Uit', 2, 'Aan', 'NoShow')
|
||||
FROM ( SELECT r.alg_ruimte_key,
|
||||
DECODE (
|
||||
INITCAP (d.ins_deel_state),
|
||||
'0', -- als de sensor uit is kijken we naar de reservering
|
||||
DECODE (r2a.res_reservering_key,
|
||||
NULL, 0, -- als er geen reservering gescheduled staat is de status uit
|
||||
DECODE (eerste10min, 1, 2, 1)), -- in de eerste 10 minuten v/d reservering melden we nog geen noshow(1) aan(2)
|
||||
2)
|
||||
status
|
||||
FROM alg_ruimte r,
|
||||
ins_deel d,
|
||||
ins_srtdeel sd,
|
||||
(SELECT rr2a.res_reservering_key,
|
||||
rr2a.alg_ruimte_key,
|
||||
CASE WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440)
|
||||
THEN 0
|
||||
ELSE 1
|
||||
END eerste10min
|
||||
FROM res_v_rsv_ruimte_2_alg_ruimte rr2a
|
||||
WHERE res_rsv_ruimte_dirtlevel = 0
|
||||
AND rr2a.res_alg_ruimte_verwijder IS NULL
|
||||
AND rr2a.res_rsv_ruimte_van BETWEEN TRUNC(SYSDATE) AND SYSDATE -- Voorkennis: geen meerdaagse ruimtereserveringen
|
||||
AND rr2a.res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC(SYSDATE + 1)) r2a
|
||||
WHERE r.alg_ruimte_verwijder IS NULL
|
||||
AND d.ins_deel_verwijder IS NULL
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key')
|
||||
AND d.ins_deel_state IS NOT NULL
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+))
|
||||
GROUP BY alg_ruimte_key
|
||||
SELECT r.alg_ruimte_key,
|
||||
DECODE (
|
||||
INITCAP (d.ins_deel_state),
|
||||
'Uit', -- als de sensor uit is kijken we naar de reservering
|
||||
DECODE (r2a.res_reservering_key,
|
||||
NULL, 'Uit', -- als er geen reservering gescheduled staat is de status uit
|
||||
DECODE (eerste10min, 1, 'Aan', 'NoShow')), -- in de eerste 10 minuten v/d reservering melden we nog geen noshow
|
||||
'Aan')
|
||||
status
|
||||
FROM alg_ruimte r,
|
||||
ins_deel d,
|
||||
(SELECT rr2a.res_reservering_key,
|
||||
rr2a.alg_ruimte_key,
|
||||
CASE WHEN (SYSDATE - res_rsv_ruimte_van > 10 / 1440)
|
||||
THEN 0
|
||||
ELSE 1
|
||||
END eerste10min
|
||||
FROM res_v_rsv_ruimte_2_alg_ruimte rr2a
|
||||
WHERE res_rsv_ruimte_dirtlevel = 0
|
||||
AND rr2a.res_alg_ruimte_verwijder IS NULL
|
||||
AND rr2a.res_rsv_ruimte_van < SYSDATE
|
||||
AND rr2a.res_rsv_ruimte_tot > SYSDATE) r2a
|
||||
WHERE r.alg_ruimte_verwijder IS NULL
|
||||
AND d.ins_deel_verwijder IS NULL
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND d.ins_deel_state IS NOT NULL
|
||||
AND r.alg_ruimte_key = r2a.alg_ruimte_key(+)
|
||||
UNION ALL -- en dan de ruimten zonder sensor
|
||||
SELECT r.alg_ruimte_key,
|
||||
DECODE (rr.res_ruimte_key, -- is dit een vergaderruimte?
|
||||
NULL, '*' || sr.alg_srtruimte_omschrijving,
|
||||
DECODE (r2a.res_reservering_key, NULL, 'Uit', 'Aan')) -- 0 uit / 1 noshow / 2 aan
|
||||
DECODE (r2a.res_reservering_key, NULL, 'Uit', 'Aan'))
|
||||
FROM alg_v_aanwezigruimte r,
|
||||
alg_srtruimte sr,
|
||||
(SELECT rr2a.res_reservering_key, rr2a.alg_ruimte_key
|
||||
FROM res_v_rsv_ruimte_2_alg_ruimte rr2a
|
||||
WHERE res_rsv_ruimte_dirtlevel = 0
|
||||
AND rr2a.res_alg_ruimte_verwijder IS NULL
|
||||
AND rr2a.res_rsv_ruimte_van BETWEEN TRUNC(SYSDATE) AND SYSDATE
|
||||
AND rr2a.res_rsv_ruimte_tot BETWEEN SYSDATE AND TRUNC(SYSDATE + 1)) r2a,
|
||||
AND rr2a.res_rsv_ruimte_van < SYSDATE
|
||||
AND rr2a.res_rsv_ruimte_tot > SYSDATE) r2a,
|
||||
( SELECT alg_ruimte_key, MAX (res_ruimte_key) res_ruimte_key
|
||||
FROM res_alg_ruimte
|
||||
WHERE res_alg_ruimte_verwijder IS NULL
|
||||
@@ -755,12 +788,10 @@ AS
|
||||
AND r.alg_ruimte_key = rr.alg_ruimte_key(+)
|
||||
AND NOT EXISTS
|
||||
(SELECT r.alg_ruimte_key
|
||||
FROM ins_deel d, ins_srtdeel sd
|
||||
FROM ins_deel d
|
||||
WHERE d.ins_deel_verwijder IS NULL
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key')
|
||||
AND d.ins_deel_state IS NOT NULL);
|
||||
|
||||
CREATE_VIEW(cad_v_thema_wpsensor,0)
|
||||
@@ -770,125 +801,13 @@ CREATE_VIEW(cad_v_thema_wpsensor,0)
|
||||
)
|
||||
AS
|
||||
SELECT wp.prs_werkplek_key prs_werkplek_key, initcap(d.ins_deel_state) status
|
||||
FROM prs_werkplek wp, ins_deel d, ins_srtdeel sd
|
||||
FROM prs_werkplek wp, ins_deel d
|
||||
WHERE d.ins_deel_verwijder IS NULL
|
||||
AND wp.prs_werkplek_virtueel = 0
|
||||
AND d.ins_alg_ruimte_type = 'W'
|
||||
AND d.ins_alg_ruimte_key = wp.prs_werkplek_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = fac.getSetting('ins_occupationsensors_srtgroep_key')
|
||||
AND d.ins_deel_state IS NOT NULL;
|
||||
|
||||
-- View voor reserveerbare (werkplek)OBJECTEN, het default thema met key 13
|
||||
-- Deze core-view wordt direct als kleur-objecten-thema gebruikt, maar kan ook als basis voor een alternatief via worden gebruikt
|
||||
-- Kijkt nu hard maximaal 42 dagen tov van nu vooruit, wat hopelijk even genoeg is voor alle situaties
|
||||
-- De verschillende waardevarianten zijn presentatie alternatieven, evt meerdere regels onder elkaar
|
||||
-- waarde1: Voor hele dagen: Vrij(0) of Bezet (3)
|
||||
-- waarde: Voor halve dagen: Vrij(0), Ochtendbezet(1), MiddagBezet(2), Helemaalbezet(3)
|
||||
-- waarde3: Voor tellen: Het aantal reservering op de dag, met 0 is dus Vrij
|
||||
|
||||
CREATE_VIEW(cad_v_thema_deel_res_datum,0)
|
||||
(
|
||||
fclt_f_datum,
|
||||
ins_deel_key,
|
||||
min_van,
|
||||
max_tot,
|
||||
waarde1,
|
||||
waarde,
|
||||
waarde3
|
||||
)
|
||||
AS
|
||||
WITH
|
||||
datums
|
||||
AS
|
||||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 42)
|
||||
SELECT datum
|
||||
fclt_f_datum,
|
||||
ins_deel_key,
|
||||
MIN (res_rsv_deel_van)
|
||||
min_van,
|
||||
MAX (res_rsv_deel_tot)
|
||||
max_tot,
|
||||
CASE WHEN MAX (res_rsv_deel_tot) IS NULL THEN 0 ELSE 3 -- hele dag
|
||||
END
|
||||
waarde1,
|
||||
CASE
|
||||
WHEN MAX (res_rsv_deel_tot) IS NULL THEN 0
|
||||
WHEN TO_CHAR (MAX (res_rsv_deel_tot), 'HH24') <= 13 THEN 1 -- ochtend
|
||||
WHEN TO_CHAR (MIN (res_rsv_deel_van), 'HH24') >= 12 THEN 2 -- middag
|
||||
ELSE 3 -- hele dag
|
||||
END
|
||||
waarde,
|
||||
COUNT (res_rsv_deel_tot) -- aantal reservering deze dag
|
||||
waarde3
|
||||
FROM (SELECT datums.datum,
|
||||
res_ins_deel_key ins_deel_key,
|
||||
res_rsv_deel_van,
|
||||
res_rsv_deel_tot
|
||||
FROM res_v_aanwezigdeel r,
|
||||
ins_deel d,
|
||||
datums,
|
||||
(SELECT datum,
|
||||
res_deel_key,
|
||||
res_rsv_deel_van,
|
||||
res_rsv_deel_tot
|
||||
FROM datums, res_v_aanwezigrsv_deel rrd
|
||||
WHERE res_rsv_deel_van > TRUNC(SYSDATE) - 1 -- negeer alle irrelevante historie sowieso
|
||||
AND datum + 1 >= res_rsv_deel_van
|
||||
AND datum < res_rsv_deel_tot) blokkerend -- vandaag en nog niet afgelopen
|
||||
WHERE r.res_deel_key = blokkerend.res_deel_key(+)
|
||||
AND datums.datum = blokkerend.datum(+)
|
||||
AND (r.res_deel_vervaldatum IS NULL or r.res_deel_vervaldatum > datums.datum)
|
||||
AND d.ins_deel_key = r.res_ins_deel_key)
|
||||
GROUP BY datum, ins_deel_key
|
||||
ORDER BY datum, ins_deel_key;
|
||||
|
||||
|
||||
-- Paar views om de populariteit van reserveerbare objecten te kunnen illustreren
|
||||
-- Basisview, met aantal per datum
|
||||
CREATE_VIEW(cad_v_thema_deel_gereserveerd,0)
|
||||
AS
|
||||
SELECT TRUNC (rrd.res_rsv_deel_van) datum,
|
||||
rd.res_ins_deel_key ins_deel_key,
|
||||
rd.res_deel_omschrijving,
|
||||
COUNT (*) aantal
|
||||
FROM res_rsv_deel rrd, res_deel rd
|
||||
WHERE rrd.res_deel_key = rd.res_deel_key
|
||||
GROUP BY TRUNC (rrd.res_rsv_deel_van), rd.res_ins_deel_key, rd.res_deel_omschrijving;
|
||||
|
||||
-- Totaal gereserveerde dagen of delen daarvan in de afgelopen 1, 4 resp 8 wkn
|
||||
CREATE_VIEW(cad_v_thema_deel_populair_1wkn,0)
|
||||
AS
|
||||
SELECT ins_deel_key, res_deel_omschrijving, COUNT (*) waarde
|
||||
FROM cad_v_thema_deel_gereserveerd
|
||||
WHERE datum BETWEEN SYSDATE - 8 AND SYSDATE
|
||||
GROUP BY ins_deel_key, res_deel_omschrijving;
|
||||
|
||||
CREATE_VIEW(cad_v_thema_deel_populair_4wkn,0)
|
||||
AS
|
||||
SELECT ins_deel_key, res_deel_omschrijving, COUNT (*) waarde
|
||||
FROM cad_v_thema_deel_gereserveerd
|
||||
WHERE datum BETWEEN SYSDATE - 29 AND SYSDATE
|
||||
GROUP BY ins_deel_key, res_deel_omschrijving;
|
||||
|
||||
CREATE_VIEW(cad_v_thema_deel_populair_8wkn,0)
|
||||
AS
|
||||
SELECT ins_deel_key, res_deel_omschrijving, COUNT (*) waarde
|
||||
FROM cad_v_thema_deel_gereserveerd
|
||||
WHERE datum BETWEEN SYSDATE - 57 AND SYSDATE
|
||||
GROUP BY ins_deel_key, res_deel_omschrijving;
|
||||
|
||||
-- Toekomstig populair
|
||||
CREATE_VIEW(cad_v_thema_deel_populair_futu,0)
|
||||
AS
|
||||
SELECT ins_deel_key, res_deel_omschrijving, COUNT (*) waarde
|
||||
FROM cad_v_thema_deel_gereserveerd
|
||||
WHERE datum > SYSDATE
|
||||
GROUP BY ins_deel_key, res_deel_omschrijving;
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: CAD_VIE.SRC $','$Revision$')
|
||||
|
||||
#endif // CAD
|
||||
|
||||
10
CARE.SRC
10
CARE.SRC
@@ -1,7 +1,7 @@
|
||||
-- [CARE*.SQL]
|
||||
--
|
||||
-- Script tbv het initialiseren van de Facilitor Care-Webb omgeving in Oracle
|
||||
-- Copyright Aareon Nederland B.V.
|
||||
-- Copyright 2010 SG|facilitor bv.
|
||||
-- All rights reserved!
|
||||
/*
|
||||
* $Revision$
|
||||
@@ -15,7 +15,7 @@ SET DEFINE OFF
|
||||
SPOOL xcarewebb
|
||||
PROMPT [carewebb.lst]
|
||||
PROMPT
|
||||
PROMPT Copyright Aareon Nederland B.V. ALL RIGHTS RESERVED.
|
||||
PROMPT Copyright 2010 SG|facilitor bv. ALL RIGHTS RESERVED.
|
||||
PROMPT
|
||||
PROMPT Dit is de gegenereerde list-file van CARExxxx.sql welke
|
||||
PROMPT is gebruikt om de Facilitor(r) Care-Webb _VERSION omgeving in Oracle aan te
|
||||
@@ -26,7 +26,7 @@ SHOW USER
|
||||
PROMPT
|
||||
PROMPT
|
||||
|
||||
SET LINESIZE 1000
|
||||
SET LINESIZE 500
|
||||
SET ECHO ON
|
||||
#include "care\care_tab.src"
|
||||
#include "care\care_ind.src"
|
||||
@@ -39,12 +39,12 @@ COMMIT;
|
||||
///////////////////////////// finally compile all views, triggers etc acc to the latest state ///////
|
||||
BEGIN DBMS_UTILITY.COMPILE_SCHEMA(USER, FALSE); END;
|
||||
/
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CARE.SRC $','$Revision$')
|
||||
|
||||
COMMIT;
|
||||
///////////////////////////// Report invalid objects, if any ///////
|
||||
SET ECHO OFF
|
||||
SET LINESIZE 132
|
||||
SET LINESIZE 120
|
||||
PROMPT List of all invalid objects after Facilitor Care-Webb upgrade:
|
||||
SELECT _VERSION||' Warning: ' || object_type || ' ' || object_name || ' is ' || status
|
||||
FROM user_objects
|
||||
|
||||
@@ -5,4 +5,4 @@
|
||||
|
||||
CREATE INDEX care_i_periode ON care_periode(jaar, periode, week, maandag);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CARE_IND.SRC $','$Revision$')
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('CARE','lcl_module_CARE')
|
||||
_FAC_MODULE('CARE','Care-Webb')
|
||||
|
||||
|
||||
------------ De eenvoudige bedrijfsstructuur vormgeven via 3 nivo's: bedrijf, afdeling en subafdeling ------------
|
||||
@@ -142,32 +142,18 @@ INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,a
|
||||
alg_kenmerk_kenmerktype, alg_kenmerk_lengte,alg_kenmerk_nmin, alg_kenmerk_nmax)
|
||||
VALUES (1006, 'L', 33, 'Veiling tarieven', 'N', 1, 0, 1);
|
||||
|
||||
|
||||
-- BONS#31596: Gemeente is een budgetgemeente, van invloed op:
|
||||
-- kolom T+U+V van het Iwmo facturen rapport en,
|
||||
-- de clienten worden niet naar het CAK gestuurd.
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,
|
||||
alg_kenmerk_kenmerktype, alg_kenmerk_lengte,alg_kenmerk_nmin, alg_kenmerk_nmax)
|
||||
VALUES (1007, 'L', 34, 'Budgetgemeente', 'N', 1, 0, 1);
|
||||
|
||||
-- BONS#32746: OB code in het CAK rapport
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,
|
||||
alg_kenmerk_kenmerktype, alg_kenmerk_lengte,alg_kenmerk_nmin, alg_kenmerk_nmax)
|
||||
VALUES (1008, 'L', 31, 'Ondersteunende Begeleiding', 'N', 1, 0, 1);
|
||||
|
||||
|
||||
-- Label factuur-infix en factuur-postfix
|
||||
INSERT INTO alg_kenmerk
|
||||
(alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving, alg_kenmerk_default,alg_kenmerk_kenmerktype)
|
||||
VALUES (1003, 'L', 40, 'Factuurnr specificatie','<span style="color:red">Gemeente afhankelijke factuurnummers (afwijkend van standaard) </span>','L');
|
||||
VALUES (1003, 'L', 35, 'Factuurnr specificatie','<span style="color:red">Gemeente afhankelijke factuurnummers (afwijkend van standaard) </span>','L');
|
||||
|
||||
-- Factnr infix (ATCH#21599)
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving, alg_kenmerk_kenmerktype, alg_kenmerk_lengte)
|
||||
VALUES (1004, 'L', 42, 'Factuurnr. infix', 'C', 10);
|
||||
VALUES (1004, 'L', 37, 'Factuurnr. infix', 'C', 10);
|
||||
|
||||
-- Factnr suffix (ATCH#21599)
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving, alg_kenmerk_kenmerktype, alg_kenmerk_lengte)
|
||||
VALUES (1005, 'L', 44, 'Factuurnr. postfix', 'C', 10);
|
||||
VALUES (1005, 'L', 39, 'Factuurnr. postfix', 'C', 10);
|
||||
|
||||
|
||||
-- Label archief
|
||||
@@ -179,31 +165,9 @@ VALUES (1020, 'L', 50, 'Documenten archief','<span style="color:red">Archivering
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype)
|
||||
VALUES (1021, 'L', 60, 'Archief','M');
|
||||
|
||||
-- ALT HV CODES CAK
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype, alg_kenmerk_verplicht, alg_kenmerk_groep, alg_kenmerk_lengte)
|
||||
VALUES (2000, 'L', 70, 'Alt HV1','C', 2, 1, 3);
|
||||
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype, alg_kenmerk_verplicht, alg_kenmerk_groep, alg_kenmerk_lengte)
|
||||
VALUES (2001, 'L', 75, 'Alt HV2','C', 2, 2, 3);
|
||||
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype, alg_kenmerk_verplicht, alg_kenmerk_groep, alg_kenmerk_lengte)
|
||||
VALUES (2002, 'L', 80, 'Alt HV3','C', 2, 3, 3);
|
||||
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype, alg_kenmerk_verplicht, alg_kenmerk_groep)
|
||||
VALUES (2003, 'L', 72, 'Alt HV1 startdatum','D', 2, 1);
|
||||
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype, alg_kenmerk_verplicht, alg_kenmerk_groep)
|
||||
VALUES (2004, 'L', 77, 'Alt HV2 startdatum','D', 2, 2);
|
||||
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype, alg_kenmerk_verplicht, alg_kenmerk_groep)
|
||||
VALUES (2005, 'L', 82, 'Alt HV3 startdatum','D', 2, 3);
|
||||
|
||||
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype)
|
||||
VALUES (2006, 'L', 65, 'Alternatieve HV codes tbv CAK','L');
|
||||
|
||||
-- Sequence bijstellen
|
||||
DROP SEQUENCE alg_s_alg_kenmerk_key;
|
||||
CREATE SEQUENCE alg_s_alg_kenmerk_key START WITH 3000 NOCACHE;
|
||||
CREATE SEQUENCE alg_s_alg_kenmerk_key START WITH 2000 NOCACHE;
|
||||
|
||||
|
||||
------------------- Voor elke persoon (= client en verzorger) de volgende kenmerken -------------------
|
||||
@@ -365,10 +329,7 @@ CREATE SEQUENCE ins_s_ins_srtdiscipline_key START WITH 2000 NOCACHE;
|
||||
UPDATE mld_typeopdr
|
||||
SET mld_typeopdr_omschrijving = 'Verzorgen/huishoudelijke hulp',
|
||||
mld_typeopdr_sluitmelding = 0,
|
||||
mld_typeopdr_uren = 5,
|
||||
mld_typeopdr_materiaal = 0,
|
||||
mld_typeopdr_totaal = 0,
|
||||
mld_typeopdr_factuur = 0
|
||||
mld_typeopdr_matchtype = 3
|
||||
WHERE mld_typeopdr_key = 5;
|
||||
|
||||
INSERT INTO mld_typeopdr_srtdiscipline (mld_typeopdr_key, ins_srtdiscipline_key) VALUES (5, 1);
|
||||
@@ -546,20 +507,20 @@ INSERT INTO mld_disc_params(mld_ins_discipline_key, mld_disc_params_notify)
|
||||
SELECT ins_discipline_key,0 FROM ins_tab_discipline WHERE ins_discipline_omschrijving = 'Klachten over verzorger';
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Slechte kwaliteit geleverd',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Slechte kwaliteit geleverd',4,2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Niet komen opdagen',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Niet komen opdagen',4,2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Schade',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Schade',4,2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Houding en/of communicatie',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Houding en/of communicatie',4,2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO ins_tab_discipline
|
||||
(ins_discipline_module, ins_discipline_omschrijving, ins_srtdiscipline_key)
|
||||
@@ -569,16 +530,16 @@ INSERT INTO mld_disc_params(mld_ins_discipline_key, mld_disc_params_notify)
|
||||
SELECT ins_discipline_key,0 FROM ins_tab_discipline WHERE ins_discipline_omschrijving = 'Klachten over zorgaanbieder';
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Afspraak niet nagekomen',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Afspraak niet nagekomen',4,2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Houding en/of communicatie',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Houding en/of communicatie',4,2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO mld_stdmelding
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_t_accepttijd, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Onduidelijke informatie',MLD_T_UITVOERTIJD(4, 'U'),2 FROM ins_tab_discipline;
|
||||
(mld_ins_discipline_key, mld_stdmelding_omschrijving, mld_stdmelding_urgentie, mld_stdmelding_freetext)
|
||||
SELECT max(ins_discipline_key),'Onduidelijke informatie',4,2 FROM ins_tab_discipline;
|
||||
|
||||
|
||||
-- Autorisatiegroepen met rechten voor klachten: FO, BO en MI.
|
||||
@@ -877,7 +838,6 @@ AND UPPER(FAC_LOCALEITEMS_LCL) = 'LCL_MLD_BEHANDELAAR';
|
||||
-- FAC-TABELLEN FAC_USRRAP
|
||||
|
||||
-- Rapportages
|
||||
-- Rapport IWMO) voor de BACKOFFICE/ADMINISTRATIE: Iwmo factuur rapport (BONS#31596)
|
||||
-- Rapport A) voor de BACKOFFICE/ADMINISTRATIE: NIET ingeleverde weekbrieven (UUR_BOF).
|
||||
-- Rapport B) voor de FRONTOFFICE/TEAMLEIDER: NIET ingeleverde weekbrieven van de teamleden (UUR_FOF).
|
||||
-- Rapport C) voor de FRONTEND/VERZORGER,medewerker: Overzichtslijst van je teamgenoten (WEB_MLDORD).
|
||||
@@ -890,36 +850,6 @@ AND UPPER(FAC_LOCALEITEMS_LCL) = 'LCL_MLD_BEHANDELAAR';
|
||||
-- Rapport J) voor de MANINFO/FACTUURADMIN: Factuurrapport voor de gemaakte uren binnen 1 PERIODE, per week, per verzorger - variant C: (MLDBAC).
|
||||
|
||||
|
||||
|
||||
-- BONS#31596: Iwmo factuurrapport via XSL
|
||||
-- Rapport Iwmo) FACTUURrapport voor Iwmo:
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_in_huidige_locatie,
|
||||
fac_usrrap_template,
|
||||
fac_usrrap_macro,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Factuur Iwmo) Per beschikking in periode, per week',
|
||||
'care_v_rap2_factuur_uren_iwmo',
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Factuurrapportage Iwmo',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
@@ -1544,26 +1474,6 @@ INSERT INTO fac_usrrap
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
-- Rapport R) FACTUURrapport met detailgegevens client per beschikking - variant R:
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Factuur R) Details Client per beschikking',
|
||||
'care_v_rap2_factuur_uren_R',
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Factuurrapportage per beschikking met detailgegevens clienten',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
-- Rapport Q) FACTUURrapport voor de gemaakte uren per datum - variant Q (Bernisse):
|
||||
INSERT INTO fac_usrrap
|
||||
@@ -1592,67 +1502,7 @@ INSERT INTO fac_usrrap
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
-- BONS#36043: Totaallijst clienten in zorg (outerjoin uren):
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Totaal lijst cli<6C>nten in zorg',
|
||||
'care_v_rap_tot_clientzorg',
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Totaal lijst cli<6C>nten in zorg (ook zonder uren)',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
-- BONS#40385: Totaallijst clienten in zorg met medewerker (outerjoin uren):
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Totaal lijst cli<6C>nten in zorg MDW',
|
||||
'care_v_rap_tot_clientzorg_mdw',
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Totaal lijst cli<6C>nten in zorg met gekoppelde medewerker',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Totaal lijst cli<6C>nten in zorg - zonder uren',
|
||||
'care_v_rap_tot_clientzorg_all',
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
'Totaal lijst cli<6C>nten in zorg met gekoppelde medewerker',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -2170,31 +2020,9 @@ INSERT INTO fac_usrrap
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_in_huidige_locatie,
|
||||
fac_usrrap_template,
|
||||
fac_usrrap_macro,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Instroom en Uitstroom per Client',
|
||||
'care_v_rap_in_uitstroom',
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
'Instroom en uitstroomdatum per Client',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------- Alle overbodige menuitem (module BES, BEZ, CAD, etc uit het menu halen)
|
||||
@@ -2228,6 +2056,12 @@ UPDATE prs_bedrijf SET prs_bedrijf_uitvoerende = NULL WHERE prs_bedrijf_key = 2;
|
||||
UPDATE prs_afdeling SET prs_afdeling_naam = 'Adm', prs_afdeling_omschrijving = 'Administratie'
|
||||
WHERE prs_afdeling_key = 1;
|
||||
|
||||
-- Een insert in fac_qlikview t.b.v. de Analyzer-autorisatie in Qlikview-file 'fclt_care'
|
||||
INSERT INTO fac_qlikview (fac_qlikview_omschrijving, fac_qlikview_qvw_name, fac_functie_key)
|
||||
SELECT 'Beschikkingen', 'fclt_care', fac_functie_key
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_MLDBAC';
|
||||
|
||||
-- Een insert in de periodetabel van alle weken tot en met 1 jaar terug.
|
||||
INSERT INTO care_periode (jaar, periode, week, maandag)
|
||||
SELECT
|
||||
@@ -2239,7 +2073,7 @@ FROM DUAL
|
||||
CONNECT BY LEVEL <= 1*52+1;
|
||||
|
||||
INSERT INTO care_t_qvw_periodeweektabel
|
||||
SELECT
|
||||
SELECT
|
||||
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
|
||||
DECODE(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 14, 13,FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1) periode,
|
||||
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
|
||||
@@ -2247,7 +2081,7 @@ SELECT
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 1*52+1
|
||||
UNION
|
||||
SELECT
|
||||
SELECT
|
||||
TO_CHAR (SYSDATE + 7*(LEVEL), 'IYYY') jaar,
|
||||
DECODE(FLOOR((TO_CHAR (SYSDATE + 7*(LEVEL),'IW') - 1) /4) + 1, 14, 13,FLOOR((TO_CHAR (SYSDATE + 7*(LEVEL),'IW') - 1) /4) + 1) periode,
|
||||
TO_CHAR (SYSDATE + 7*(LEVEL), 'IW') week,
|
||||
@@ -2256,6 +2090,6 @@ FROM DUAL
|
||||
CONNECT BY LEVEL <= 20*52+1;
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CARE_INI.SRC $','$Revision$')
|
||||
|
||||
#endif // CARE
|
||||
|
||||
@@ -13,32 +13,32 @@ AS
|
||||
RETURN DATE;
|
||||
FUNCTION goodmonday_end (p_mld_key IN NUMBER)
|
||||
RETURN DATE;
|
||||
PROCEDURE care_v_rap2_factuur_uren_a (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor, p_where IN VARCHAR2 DEFAULT NULL);
|
||||
PROCEDURE care_v_rap2_factuur_uren_e (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor, p_where IN VARCHAR2 DEFAULT NULL);
|
||||
PROCEDURE care_v_rap2_factuur_uren_a (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor, p_where IN VARCHAR2);
|
||||
PROCEDURE care_v_rap2_factuur_uren_e (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor, p_where IN VARCHAR2);
|
||||
END care;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY care
|
||||
AS
|
||||
|
||||
|
||||
FUNCTION goodmonday_start (p_mld_key IN NUMBER)
|
||||
RETURN DATE
|
||||
IS
|
||||
-- Herindicaties/vorige indicaties van dezelfde client die in dezelfde week start/eindigt.
|
||||
|
||||
|
||||
l_mld_key NUMBER(10);
|
||||
l_good_monday DATE;
|
||||
|
||||
|
||||
BEGIN
|
||||
--- Vorige beschikking: bij herindicatie midden in de week is 1 van beide beschikkingen geldig
|
||||
--- Herindicatie midden in de week wordt gekenmerkt door:
|
||||
--- dezelfde client, dezelfde gemeente, eindweek van de vorige is gelijk aan beginweek van herindicatie,
|
||||
--- Herindicatie midden in de week wordt gekenmerkt door:
|
||||
--- dezelfde client, dezelfde gemeente, eindweek van de vorige is gelijk aan beginweek van herindicatie,
|
||||
--- en het maakt niet uit wat de product is/wordt.
|
||||
--- Baas' van dubbele beschikking is diegene met de meeste aantal uren, ongeacht HV1->HV2 overgang.
|
||||
--- Bij gelijke aantal uren is de nieuwe beschikking de baas.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- Selecteer de vorige beschikking b1 van de beschikking b2 die meer uren heeft.
|
||||
SELECT MAX(b1.mld_melding_key)
|
||||
INTO l_mld_key
|
||||
@@ -51,14 +51,14 @@ AS
|
||||
AND b1.prs_client_key = b2.prs_client_key
|
||||
AND b1.gemeente_code = b2.gemeente_code
|
||||
AND b1.uren_beschikking > b2.uren_beschikking;
|
||||
|
||||
|
||||
|
||||
|
||||
IF l_mld_key IS NOT NULL
|
||||
THEN
|
||||
-- Er is een vorige indicatie met meer uren, die is de 'baas'.
|
||||
-- Dat betekent dat de goede maandag van de beschikking b2 verder, naar de volgende week wordt gezet
|
||||
-- Dat betekent dat de goede maandag van de beschikking b2 verder, naar de volgende week wordt gezet
|
||||
-- (ipv standaard op maandag deze week)
|
||||
|
||||
|
||||
SELECT ( TRUNC (mld_melding_datum) + 7
|
||||
- DECODE (TO_CHAR (mld_melding_datum, 'D'), '1', 8, TO_CHAR (mld_melding_datum, 'D'))
|
||||
+ 2)
|
||||
@@ -75,7 +75,7 @@ AS
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = p_mld_key;
|
||||
END IF;
|
||||
|
||||
|
||||
RETURN l_good_monday;
|
||||
END;
|
||||
|
||||
@@ -83,19 +83,19 @@ FUNCTION goodmonday_end (p_mld_key IN NUMBER)
|
||||
RETURN DATE
|
||||
IS
|
||||
-- Herindicaties/vorige indicaties van dezelfde client die in dezelfde week start/eindigt.
|
||||
|
||||
|
||||
l_mld_key NUMBER(10);
|
||||
l_good_monday DATE;
|
||||
|
||||
|
||||
BEGIN
|
||||
--- Volgende beschikking: bij herindicatie midden in de week is 1 van beide beschikkingen geldig
|
||||
--- Herindicatie midden in de week wordt gekenmerkt door:
|
||||
--- dezelfde client, dezelfde gemeente, eindjaar/week van de vorige is gelijk aan beginjaar/week van herindicatie,
|
||||
--- Herindicatie midden in de week wordt gekenmerkt door:
|
||||
--- dezelfde client, dezelfde gemeente, eindjaar/week van de vorige is gelijk aan beginjaar/week van herindicatie,
|
||||
--- en het maakt niet uit wat de product is/wordt.
|
||||
--- Baas' van dubbele beschikking is diegene met de meeste aantal uren, ongeacht HV1->HV2 overgang.
|
||||
--- Bij gelijke aantal uren is de nieuwe beschikking de baas.
|
||||
|
||||
-- Controleer of die er is, en zo ja, selecteer de volgende beschikking b2 van de beschikking b1 die MEER
|
||||
--- Bij gelijke aantal uren is de nieuwe beschikking de baas.
|
||||
|
||||
-- Controleer of die er is, en zo ja, selecteer de volgende beschikking b2 van de beschikking b1 die MEER
|
||||
-- of GELIJK AANTAL uren heeft.
|
||||
SELECT MAX(b2.mld_melding_key)
|
||||
INTO l_mld_key
|
||||
@@ -108,63 +108,63 @@ FUNCTION goodmonday_end (p_mld_key IN NUMBER)
|
||||
AND b1.prs_client_key = b2.prs_client_key
|
||||
AND b1.gemeente_code = b2.gemeente_code
|
||||
AND b2.uren_beschikking >= b1.uren_beschikking;
|
||||
|
||||
|
||||
|
||||
|
||||
IF l_mld_key IS NOT NULL
|
||||
THEN
|
||||
-- Er is een volgende indicatie b2 met MEER of GELIJK AANTAL uren, die is de 'baas' is.
|
||||
-- Dat betekent dat de goede maandag van de beschikking b2 op de maandag van deze week wordt gezet
|
||||
-- Dat betekent dat de goede maandag van de beschikking b2 op de maandag van deze week wordt gezet
|
||||
-- (ipv standaard op maandag de volgende week)
|
||||
|
||||
|
||||
SELECT ( TRUNC (mld_melding_einddatum)
|
||||
- DECODE (TO_CHAR (mld_melding_einddatum, 'D'), '1', 8, TO_CHAR (mld_melding_einddatum, 'D'))
|
||||
+ 2)
|
||||
INTO l_good_monday
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = p_mld_key;
|
||||
|
||||
|
||||
|
||||
|
||||
ELSE
|
||||
-- Er is GEEN volgende indicatie is of GEEN volgende indicatie met MEER of GELIJK AANTAL uren, dus deze is de 'baas'.
|
||||
-- Dat betekent dat de goede maandag van de beschikking b2 standaard op maandag van de volgende week komt te staan.
|
||||
|
||||
|
||||
SELECT ( TRUNC (mld_melding_einddatum) + 7
|
||||
- DECODE (TO_CHAR (mld_melding_einddatum, 'D'), '1', 8, TO_CHAR (mld_melding_einddatum, 'D'))
|
||||
+ 2)
|
||||
INTO l_good_monday
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = p_mld_key;
|
||||
WHERE mld_melding_key = p_mld_key;
|
||||
END IF;
|
||||
|
||||
|
||||
RETURN l_good_monday;
|
||||
END;
|
||||
|
||||
PROCEDURE care_v_rap2_factuur_uren_a
|
||||
( user_key IN NUMBER,
|
||||
(user_key IN NUMBER,
|
||||
p_datum_van IN VARCHAR2,
|
||||
p_datum_tot IN VARCHAR2,
|
||||
p_cursor OUT t_cursor,
|
||||
p_where IN VARCHAR2 DEFAULT NULL
|
||||
p_cursor OUT t_cursor,
|
||||
p_where IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
v_datum_tot DATE;
|
||||
BEGIN
|
||||
|
||||
|
||||
DELETE FROM care_periode;
|
||||
|
||||
|
||||
INSERT INTO care_periode (jaar, periode, week, maandag)
|
||||
SELECT
|
||||
SELECT
|
||||
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
|
||||
LEAST(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 13) periode,
|
||||
FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1 periode,
|
||||
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
|
||||
TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 1*52+1;
|
||||
|
||||
|
||||
DELETE FROM CARE_T_BESCHIKK_X_PERIODETABEL;
|
||||
|
||||
|
||||
INSERT INTO CARE_T_BESCHIKK_X_PERIODETABEL(JAAR, PERIODE,WEEK_VAN,WEEK_TM,BSN,PRODUCT,UREN_BESCHIKKING)
|
||||
SELECT pw.jaar, pw.periode, MIN(week), MAX(week), b.client_bsn, b.product, SUM(b.uren_beschikking)
|
||||
FROM care_periode pw, care_v_beschikking_all b
|
||||
@@ -174,7 +174,7 @@ PROCEDURE care_v_rap2_factuur_uren_a
|
||||
GROUP BY pw.jaar, pw.periode, b.client_bsn, b.product;
|
||||
|
||||
OPEN p_cursor FOR
|
||||
'SELECT
|
||||
'SELECT
|
||||
fclt_f_periode,
|
||||
factuurdatum,
|
||||
wzacode,
|
||||
@@ -192,35 +192,35 @@ PROCEDURE care_v_rap2_factuur_uren_a
|
||||
bedrag_euro,
|
||||
bedrag_centen
|
||||
FROM care_v_rap2_factuur_uren_a' || p_where;
|
||||
|
||||
|
||||
END care_v_rap2_factuur_uren_a;
|
||||
|
||||
|
||||
PROCEDURE care_v_rap2_factuur_uren_e
|
||||
( user_key IN NUMBER,
|
||||
PROCEDURE care_v_rap2_factuur_uren_e
|
||||
(user_key IN NUMBER,
|
||||
p_datum_van IN VARCHAR2,
|
||||
p_datum_tot IN VARCHAR2,
|
||||
p_cursor OUT t_cursor,
|
||||
p_where IN VARCHAR2 DEFAULT NULL
|
||||
p_cursor OUT t_cursor,
|
||||
p_where IN VARCHAR2
|
||||
)
|
||||
AS
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
v_datum_tot DATE;
|
||||
BEGIN
|
||||
|
||||
DELETE FROM care_periode;
|
||||
|
||||
|
||||
INSERT INTO care_periode (jaar, periode, week, maandag)
|
||||
SELECT
|
||||
SELECT
|
||||
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
|
||||
LEAST(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 13) periode,
|
||||
FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1 periode,
|
||||
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
|
||||
TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 1*52+1;
|
||||
|
||||
|
||||
DELETE FROM CARE_T_BESCHIKK_X_PERIODETABEL;
|
||||
|
||||
|
||||
INSERT INTO CARE_T_BESCHIKK_X_PERIODETABEL(JAAR, PERIODE,WEEK_VAN,WEEK_TM,BSN,PRODUCT,UREN_BESCHIKKING)
|
||||
SELECT pw.jaar, pw.periode, MIN(week), MAX(week), b.client_bsn, b.product, SUM(b.uren_beschikking)
|
||||
FROM care_periode pw, care_v_beschikking_all b
|
||||
@@ -229,8 +229,8 @@ PROCEDURE care_v_rap2_factuur_uren_e
|
||||
AND b.beschikking_datum_tot >= sysdate - 53*7
|
||||
GROUP BY pw.jaar, pw.periode, b.client_bsn, b.product;
|
||||
|
||||
OPEN p_cursor FOR
|
||||
'SELECT
|
||||
OPEN p_cursor FOR
|
||||
'SELECT
|
||||
fclt_x_periode,
|
||||
periode,
|
||||
weeknrs,
|
||||
@@ -247,12 +247,12 @@ PROCEDURE care_v_rap2_factuur_uren_e
|
||||
uren,
|
||||
bedrag_euro
|
||||
FROM care_v_rap2_factuur_uren_e' || p_where;
|
||||
|
||||
|
||||
END care_v_rap2_factuur_uren_e;
|
||||
|
||||
END care;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: CARE_PAC.SRC $','$Revision$')
|
||||
|
||||
#endif // CARE
|
||||
|
||||
@@ -31,4 +31,4 @@ CREATE_TABLE(CARE_T_QVW_PERIODEWEEKTABEL, 0)
|
||||
);
|
||||
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CARE_TAB.SRC $','$Revision$')
|
||||
|
||||
2047
CARE/CARE_VIE.SRC
2047
CARE/CARE_VIE.SRC
File diff suppressed because it is too large
Load Diff
43
CND/CND.sql
43
CND/CND.sql
@@ -1,43 +0,0 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Script for (re)initializing the "CND-module" for conditiemetingen according to NEN2767-standard
|
||||
-- It can be run repeatedly after a initial initialisation in an existing Facilitor database
|
||||
-- to upgrade CND the to the latest version.
|
||||
-- First time the CND_INI must be run as well, once, first
|
||||
|
||||
--
|
||||
|
||||
|
||||
DEFINE thisfile = 'CND.SQL'
|
||||
DEFINE dbuser = ''
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SPOOL &fcltlogfile
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
5680
CND/CND_INI.sql
5680
CND/CND_INI.sql
File diff suppressed because it is too large
Load Diff
3334
CND/CND_PAC.SRC
3334
CND/CND_PAC.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,57 +0,0 @@
|
||||
#ifdef CND
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
-- Tabel tbv importfunctie 'Verwerken van NEN2767 gebreken/resultaten'
|
||||
CREATE_TABLE(cnd_imp_nen2767_results,0)
|
||||
(
|
||||
fac_import_key NUMBER (10),
|
||||
alg_gebouw_code VARCHAR2 (12),
|
||||
ins_deel_omschrijving VARCHAR2 (60),
|
||||
mld_melding_datum VARCHAR2 (20),
|
||||
mld_melding_omschrijving VARCHAR2 (2000),
|
||||
prs_perslid_email VARCHAR2 (200),
|
||||
gebrekcode VARCHAR2 (20),
|
||||
ernst VARCHAR2 (50),
|
||||
omvang VARCHAR2 (50),
|
||||
intensiteit VARCHAR2 (50),
|
||||
aspect1 VARCHAR2 (20),
|
||||
aspect2 VARCHAR2 (20),
|
||||
aspect3 VARCHAR2 (20),
|
||||
aspect4 VARCHAR2 (20),
|
||||
aspect5 VARCHAR2 (20),
|
||||
aspect6 VARCHAR2 (20),
|
||||
aspect7 VARCHAR2 (20),
|
||||
foto VARCHAR2 (50),
|
||||
condscore NUMBER (6, 2),
|
||||
prioscore NUMBER (6, 2),
|
||||
kosten NUMBER (10, 2),
|
||||
plandatum DATE,
|
||||
flex1 VARCHAR2 (255),
|
||||
flex2 VARCHAR2 (255),
|
||||
flex3 VARCHAR2 (255),
|
||||
flex4 VARCHAR2 (255),
|
||||
flex5 VARCHAR2 (255),
|
||||
flex6 VARCHAR2 (255),
|
||||
flex7 VARCHAR2 (255),
|
||||
flex8 VARCHAR2 (255),
|
||||
flex9 VARCHAR2 (255),
|
||||
flex10 VARCHAR2 (255)
|
||||
);
|
||||
|
||||
-- Tabel tbv importfunctie 'Aanvullen van combinaties objectsoorten x standaard melding'
|
||||
CREATE_TABLE(cnd_imp_srtdeel_mlddiscipline,0)
|
||||
(
|
||||
fac_import_key NUMBER (10),
|
||||
ins_srtdeel_code VARCHAR2 (10),
|
||||
ins_srtgroep_omschrijving VARCHAR2 (60),
|
||||
ins_discipline_omschrijving VARCHAR2 (60),
|
||||
mld_discipline_omschrijving VARCHAR2 (60)
|
||||
);
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CND
|
||||
@@ -1,13 +0,0 @@
|
||||
#ifdef CND
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
-- Additional triggers for tables that are related to CND. AFTER-update, ze mogen de normale flow niet beinvloeden
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CND
|
||||
452
CND/CND_VIE.SRC
452
CND/CND_VIE.SRC
@@ -1,452 +0,0 @@
|
||||
#ifdef CND
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
-- CND_V_NEN2767_ALLE_GEBREKEN: hierin zitten alle meldingen (gebreken) die nu relevant voor de berekening kunnen zijn
|
||||
-- dus gebreken die erkend zijn maar nog niet verwerkt of afgewezen.
|
||||
-- Niet uit te sluiten valt dat er dubbele registraties zijn, dat wordt ontdubbeld in cnd_v_nen2767_per_srtgebrek
|
||||
-- Het is daarmee niet aannemelijk dat je deze view nodig hebt, gebruik cnd_v_nen2767_per_srtgebrek.
|
||||
-- Merk op: op alle 3 de aspecten in mld_kenmerkmelding zit geen outer join, omdat ze overal verplicht zijn;
|
||||
-- zonder deze waarden is de conditiescore ook niet te berekenen overigens.
|
||||
|
||||
-- Full version, met ernst, intensiteit en omvang
|
||||
CREATE_VIEW(cnd_v_nen2767_alle_gebreken_fl,0)
|
||||
(
|
||||
ins_deel_key,
|
||||
mld_melding_key,
|
||||
mld_stdmelding_key,
|
||||
mld_melding_status,
|
||||
ernst,
|
||||
intensiteit,
|
||||
omvang
|
||||
)
|
||||
AS
|
||||
WITH
|
||||
w_srtdisc_key AS (SELECT fac.getsetting ('cnd_gebreken_srtdisc_key') sdk FROM DUAL)
|
||||
SELECT d.ins_deel_key,
|
||||
m.mld_melding_key,
|
||||
m.mld_stdmelding_key,
|
||||
m.mld_melding_status,
|
||||
km_ernst.mld_kenmerkmelding_waarde,
|
||||
km_intensiteit.mld_kenmerkmelding_waarde,
|
||||
ud_omvang.fac_usrdata_prijs
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline disc,
|
||||
mld_melding_object mo,
|
||||
ins_deel d,
|
||||
mld_kenmerkmelding km_ernst,
|
||||
mld_kenmerk k_ernst,
|
||||
mld_srtkenmerk sk_ernst,
|
||||
mld_kenmerkmelding km_intensiteit,
|
||||
mld_kenmerk k_intensiteit,
|
||||
mld_srtkenmerk sk_intensiteit,
|
||||
mld_kenmerkmelding km_omvang,
|
||||
mld_kenmerk k_omvang,
|
||||
mld_srtkenmerk sk_omvang,
|
||||
fac_usrdata ud_omvang,
|
||||
w_srtdisc_key
|
||||
WHERE disc.ins_srtdiscipline_key = w_srtdisc_key.sdk
|
||||
AND sm.mld_stdmelding_code <> 'GEEN'
|
||||
AND disc.ins_discipline_verwijder IS NULL
|
||||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND mo.mld_melding_key = m.mld_melding_key
|
||||
AND mo.mld_melding_object_verwijder IS NULL
|
||||
AND d.ins_deel_key = mo.ins_deel_key
|
||||
AND km_ernst.mld_melding_key = m.mld_melding_key
|
||||
AND k_ernst.mld_kenmerk_key = km_ernst.mld_kenmerk_key
|
||||
AND k_ernst.mld_srtkenmerk_key = sk_ernst.mld_srtkenmerk_key
|
||||
AND sk_ernst.mld_srtkenmerk_code = 'ERNST'
|
||||
AND km_intensiteit.mld_melding_key = m.mld_melding_key
|
||||
AND k_intensiteit.mld_kenmerk_key = km_intensiteit.mld_kenmerk_key
|
||||
AND k_intensiteit.mld_srtkenmerk_key = sk_intensiteit.mld_srtkenmerk_key
|
||||
AND sk_intensiteit.mld_srtkenmerk_code = 'INTENSITEIT'
|
||||
AND km_omvang.mld_melding_key = m.mld_melding_key
|
||||
AND k_omvang.mld_kenmerk_key = km_omvang.mld_kenmerk_key
|
||||
AND k_omvang.mld_srtkenmerk_key = sk_omvang.mld_srtkenmerk_key
|
||||
AND sk_omvang.mld_srtkenmerk_code = 'OMVANG'
|
||||
AND ud_omvang.fac_usrdata_key = fac.safe_to_number (km_omvang.mld_kenmerkmelding_waarde)
|
||||
AND m.mld_melding_status NOT IN (1, 6);
|
||||
|
||||
-- Smaller/faster version, zonder ernst, intensiteit en omvang
|
||||
CREATE_VIEW(cnd_v_nen2767_alle_gebreken,0)
|
||||
(
|
||||
ins_deel_key,
|
||||
mld_melding_key,
|
||||
mld_stdmelding_key
|
||||
)
|
||||
AS
|
||||
WITH
|
||||
w_srtdisc_key AS (SELECT fac.getsetting ('cnd_gebreken_srtdisc_key') sdk FROM DUAL)
|
||||
SELECT d.ins_deel_key,
|
||||
m.mld_melding_key,
|
||||
m.mld_stdmelding_key
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline disc,
|
||||
mld_melding_object mo,
|
||||
ins_deel d,
|
||||
w_srtdisc_key
|
||||
WHERE disc.ins_srtdiscipline_key = w_srtdisc_key.sdk
|
||||
AND sm.mld_stdmelding_code <> 'GEEN'
|
||||
AND disc.ins_discipline_verwijder IS NULL
|
||||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND mo.mld_melding_key = m.mld_melding_key
|
||||
AND mo.mld_melding_object_verwijder IS NULL
|
||||
AND d.ins_deel_key = mo.ins_deel_key
|
||||
AND m.mld_melding_status NOT IN (1, 6);
|
||||
|
||||
-- Ontdubbel eventuele zelfde gebreken die op hetzelfde object zijn gemaakt, dus wanneer na elkaar
|
||||
-- hetzelfde gebrek (stdmelding) is ingelegd, dan geldt de laatste (=hoogste melding_key)
|
||||
CREATE_VIEW(cnd_v_nen2767_per_srtgebrek,0)
|
||||
(
|
||||
ins_deel_key,
|
||||
mld_melding_key,
|
||||
mld_stdmelding_key,
|
||||
mld_melding_status,
|
||||
ernst,
|
||||
intensiteit,
|
||||
omvang
|
||||
)
|
||||
AS
|
||||
SELECT a.ins_deel_key,
|
||||
a.mld_melding_key,
|
||||
a.mld_stdmelding_key,
|
||||
a.mld_melding_status,
|
||||
a.ernst,
|
||||
a.intensiteit,
|
||||
a.omvang
|
||||
FROM cnd_v_nen2767_alle_gebreken_fl a,
|
||||
( SELECT a2.mld_stdmelding_key,
|
||||
a2.ins_deel_key,
|
||||
MAX (a2.mld_melding_key) AS mld_melding_key
|
||||
FROM cnd_v_nen2767_alle_gebreken a2
|
||||
GROUP BY a2.mld_stdmelding_key, a2.ins_deel_key) b
|
||||
WHERE a.mld_melding_key = b.mld_melding_key
|
||||
AND a.ins_deel_key = b.ins_deel_key;
|
||||
|
||||
|
||||
CREATE_VIEW(cnd_v_nen2767_gebrek,0)
|
||||
AS
|
||||
WITH
|
||||
w_srtdisc_key AS (SELECT fac.getsetting ('cnd_gebreken_srtdisc_key') sdk FROM DUAL)
|
||||
SELECT mo.ins_deel_key,
|
||||
m.mld_melding_key,
|
||||
m.mld_stdmelding_key,
|
||||
m.mld_melding_status,
|
||||
m.mld_melding_datum
|
||||
FROM mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline disc,
|
||||
mld_melding_object mo,
|
||||
w_srtdisc_key
|
||||
WHERE disc.ins_srtdiscipline_key = w_srtdisc_key.sdk
|
||||
AND disc.ins_discipline_verwijder IS NULL
|
||||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND mo.mld_melding_key = m.mld_melding_key
|
||||
AND mo.mld_melding_object_verwijder IS NULL
|
||||
AND m.mld_melding_status NOT IN (1,6);
|
||||
|
||||
|
||||
CREATE_VIEW(cnd_v_nen2767_srtgebrek,0)
|
||||
AS
|
||||
SELECT a.ins_deel_key,
|
||||
a.mld_melding_key,
|
||||
a.mld_stdmelding_key,
|
||||
a.mld_melding_status,
|
||||
a.mld_melding_datum
|
||||
FROM cnd_v_nen2767_gebrek a,
|
||||
( SELECT a2.mld_stdmelding_key,
|
||||
a2.ins_deel_key,
|
||||
MAX (a2.mld_melding_key) AS mld_melding_key
|
||||
FROM cnd_v_nen2767_gebrek a2
|
||||
GROUP BY a2.mld_stdmelding_key, a2.ins_deel_key) b
|
||||
WHERE a.mld_melding_key = b.mld_melding_key
|
||||
AND a.ins_deel_key = b.ins_deel_key;
|
||||
|
||||
CREATE_VIEW(cnd_v_aggr_cond_score,0)
|
||||
(
|
||||
alg_locatie_key,
|
||||
alg_gebouw_key,
|
||||
ins_deel_key,
|
||||
ins_deel_aantal,
|
||||
ins_deel_mjb_score1,
|
||||
kosten,
|
||||
correctiefactor,
|
||||
totale_vervangingswaarde,
|
||||
correctie_vervangingswaarde
|
||||
)
|
||||
AS
|
||||
SELECT l.alg_locatie_key,
|
||||
g.alg_gebouw_key,
|
||||
d.ins_deel_key,
|
||||
MAX (d.ins_deel_aantal),
|
||||
MAX (d.ins_deel_mjb_score1),
|
||||
MAX (
|
||||
COALESCE (sc.INS_SRTCONTROLE_KOSTEN, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN2, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN3, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_MATERIAAL, 0))
|
||||
kosten,
|
||||
cnd.nen2767_corr_cond_score (MAX (d.ins_deel_mjb_score1))
|
||||
correctiefactor,
|
||||
MAX (d.ins_deel_aantal)
|
||||
* MAX (
|
||||
COALESCE (sc.INS_SRTCONTROLE_KOSTEN, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN2, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN3, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_MATERIAAL, 0))
|
||||
totale_vervangingswaarde,
|
||||
MAX (d.ins_deel_aantal)
|
||||
* MAX (
|
||||
COALESCE (sc.INS_SRTCONTROLE_KOSTEN, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN2, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_KOSTEN3, 0)
|
||||
+ COALESCE (sc.INS_SRTCONTROLE_MATERIAAL, 0))
|
||||
* cnd.nen2767_corr_cond_score (MAX (d.ins_deel_mjb_score1))
|
||||
correctie_vervangingswaarde
|
||||
FROM ins_deel d,
|
||||
ins_v_defined_inspect_xcp sc,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v,
|
||||
alg_gebouw g,
|
||||
alg_locatie l
|
||||
WHERE d.ins_deel_verwijder IS NULL
|
||||
AND ins_deel_mjb_score1 IS NOT NULL
|
||||
AND sc.ins_deel_key = d.ins_deel_key
|
||||
AND d.ins_alg_ruimte_type = 'R'
|
||||
AND d.ins_alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND ins_scenario_key = 1
|
||||
AND ctr_ismjob = 1
|
||||
GROUP BY d.ins_deel_key, l.alg_locatie_key, g.alg_gebouw_key;
|
||||
|
||||
CREATE_VIEW(cnd_v_rap_conditiemetingen, 0)
|
||||
(
|
||||
mld_melding_key,
|
||||
complexnummer,
|
||||
complexnaam,
|
||||
clusternummer,
|
||||
clusternaam,
|
||||
gebouwgroep,
|
||||
hoofdrecept,
|
||||
groeprecept,
|
||||
subrecept,
|
||||
identificatie,
|
||||
gebreknr,
|
||||
datum_tijd,
|
||||
datum,
|
||||
inspecteur,
|
||||
status,
|
||||
gebrek,
|
||||
omschrijving,
|
||||
ernst,
|
||||
omvang,
|
||||
intensiteit,
|
||||
veiligheid_gezondheid,
|
||||
cultuurhistorische_waarde,
|
||||
gebruik_en_bedrijfsproces,
|
||||
technische_vervolgschade,
|
||||
toename_klachtenonderhoud,
|
||||
beleving_esthetica,
|
||||
foto
|
||||
)
|
||||
AS
|
||||
SELECT m.mld_melding_key,
|
||||
l.alg_locatie_code complexnummer,
|
||||
l.alg_locatie_omschrijving complexnaam,
|
||||
aog.alg_gebouw_code clusternummer,
|
||||
aog.alg_gebouw_naam clusternaam,
|
||||
aog.alg_gebouw_groep groep,
|
||||
id.ins_discipline_omschrijving hoofdrecept,
|
||||
isg.ins_srtgroep_omschrijving groeprecept,
|
||||
isd.ins_srtdeel_omschrijving || ' (' || isd.ins_srtdeel_code || ')'
|
||||
subrecept,
|
||||
d.ins_deel_omschrijving identificatie,
|
||||
m.mld_melding_key gebreknummer,
|
||||
m.mld_melding_datum datum_tijd,
|
||||
TO_CHAR (mld_melding_datum, 'DD-MM-YYYY') datum,
|
||||
pf.prs_perslid_naam_full inspecteur,
|
||||
s.mld_statuses_omschrijving status,
|
||||
std.mld_stdmelding_omschrijving gebrek,
|
||||
m.mld_melding_omschrijving omschrijving,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ERNST'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
ernst,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'OMVANG'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
omvang,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'INTENSITEIT'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
intensiteit,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ASPECT1'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
veiligheid_gezondheid,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ASPECT2'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
cultuurhistorische_waarde,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ASPECT3'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
gebruik_en_bedrijfsproces,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ASPECT4'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
technische_vervolgschade,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ASPECT5'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
toename_klachtenonderhoud,
|
||||
(SELECT fac_usrdata_omschr
|
||||
FROM mld_kenmerkmelding mk,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk,
|
||||
fac_kenmerkdomein kd,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE sk.mld_srtkenmerk_code = 'ASPECT6'
|
||||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||||
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
|
||||
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
|
||||
AND ut.fac_usrtab_key = kd.fac_usrtab_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
|
||||
AND mk.mld_melding_key = m.mld_melding_key)
|
||||
beleving_esthetica,
|
||||
(SELECT k.mld_kenmerk_key
|
||||
FROM mld_kenmerk k, mld_srtkenmerk sk
|
||||
WHERE sk.mld_srtkenmerk_code = 'FOTO' AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key)
|
||||
foto
|
||||
FROM mld_melding m,
|
||||
mld_melding_object mo,
|
||||
ins_deel d,
|
||||
ins_srtdeel isd,
|
||||
ins_srtgroep isg,
|
||||
ins_discipline id,
|
||||
alg_v_allonrgoed_gegevens aog,
|
||||
alg_locatie l,
|
||||
mld_statuses s,
|
||||
prs_v_perslid_fullnames_all pf,
|
||||
mld_stdmelding std
|
||||
WHERE m.mld_melding_key = mo.mld_melding_key
|
||||
AND d.ins_deel_key = mo.ins_deel_key
|
||||
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
|
||||
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key
|
||||
AND isg.ins_discipline_key = id.ins_discipline_key
|
||||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
||||
AND l.alg_locatie_key = aog.alg_locatie_key
|
||||
AND s.mld_statuses_key = m.mld_melding_status
|
||||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
AND m.mld_stdmelding_key = std.mld_stdmelding_key;
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CND
|
||||
@@ -19,14 +19,12 @@ create index cnt_i_cnt_contract_plaats1 on cnt_contract_plaats(cnt_alg_plaats_ke
|
||||
create index cnt_i_cnt_contract_plaats2 on cnt_contract_plaats(cnt_contract_key);
|
||||
|
||||
create index cnt_i_cnt_contract_object1 on cnt_contract_object(cnt_contract_key);
|
||||
CREATE INDEX cnt_i_cnt_contract_object2 ON cnt_contract_object(cnt_ins_deel_key);
|
||||
|
||||
CREATE INDEX cnt_i_cnt_contract_onrg1 ON cnt_contract_onrgoed(cnt_contract_key);
|
||||
CREATE INDEX cnt_i_cnt_contract_onrg2 ON cnt_contract_onrgoed(alg_onrgoed_key);
|
||||
|
||||
CREATE INDEX cnt_i_cnt_contract_note1 ON cnt_contract_note(cnt_contract_key);
|
||||
CREATE UNIQUE INDEX cnt_i_cnt_factuurschema1 ON cnt_factuurschema(cnt_contract_key, cnt_factuurschema_boekmaand);
|
||||
|
||||
CREATE INDEX cnt_i_cnt_srtkenmerk1 ON cnt_srtkenmerk(cnt_srtkenmerk_code);
|
||||
CREATE INDEX cnt_i_cnt_kenmerk1 ON cnt_kenmerk(cnt_kenmerk_code);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CNT_IND.SRC $','$Revision$')
|
||||
|
||||
#endif // CNT
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
/*
|
||||
** Bij installatie van modules moet de tabel FAC_MODULE gevuld of ge-update worden.
|
||||
*/
|
||||
_FAC_MODULE('CNT','lcl_module_CNT')
|
||||
_FAC_MODULE('CNT','Contractbeheer')
|
||||
|
||||
/*
|
||||
** De MESSAGES van de CNT module.
|
||||
*/
|
||||
DEF_FAC_MESSAGE ('CNT_M001','Verwijderen contract','Delete contract');
|
||||
DEF_FAC_MESSAGE ('CNT_M002','Er moet of een bedrijf of een afdeling of een persoon ingevuld worden.','Either a company or a department or a person must be entered.');
|
||||
DEF_FAC_MESSAGE ('CNT_M002','Er moet of een bedrijf of een afdeling ingevuld worden.','Either a company or a department must be entered.');
|
||||
DEF_FAC_MESSAGE ('CNT_M003','Locatie bestaat niet.','Location does not exist.');
|
||||
DEF_FAC_MESSAGE ('CNT_M004','Terreinsector bestaat niet.','Sublocation does not exist.');
|
||||
DEF_FAC_MESSAGE ('CNT_M005','Gebouw bestaat niet.','Building does not exist.');
|
||||
@@ -63,11 +63,20 @@ DEF_FAC_MESSAGE ('cnt_r_cnt_contract_stdmld' ,'De aangegeven dienst bestaat n
|
||||
DEF_FAC_MESSAGE ('cnt_r_cnt_contract_bedrijf' ,'Het aangegeven bedrijf bestaat niet.' ,'That company does not exist.');
|
||||
DEF_FAC_MESSAGE ('cnt_r_cnt_contractint' ,'De aangegeven interne contactpersoon bestaat niet.' ,'That internal contact person does not exist');
|
||||
|
||||
INSERT INTO cnt_typecontract VALUES (1, 'lcl_cnt_typecontract1'); //Objecten
|
||||
INSERT INTO cnt_typecontract VALUES (3, 'lcl_cnt_typecontract3'); //Plaats/Objectsoort
|
||||
INSERT INTO cnt_typecontract VALUES (4, 'lcl_cnt_typecontract4'); //Geen
|
||||
INSERT INTO cnt_typecontract VALUES (5, 'lcl_cnt_typecontract5'); //Plaats
|
||||
INSERT INTO cnt_typecontract VALUES (6, 'lcl_cnt_typecontract6'); //Mantel
|
||||
INSERT INTO cnt_mutatie_status VALUES (0, 'Vervallen');
|
||||
INSERT INTO cnt_mutatie_status VALUES (1, 'Open');
|
||||
INSERT INTO cnt_mutatie_status VALUES (2, 'Concept');
|
||||
INSERT INTO cnt_mutatie_status VALUES (3, 'Ontvangen/Ok');
|
||||
INSERT INTO cnt_mutatie_status VALUES (4, 'Ontvangen/NietOk');
|
||||
INSERT INTO cnt_mutatie_status VALUES (5, 'Voltooid');
|
||||
INSERT INTO cnt_mutatie_status VALUES (6, 'Geexporteerd');
|
||||
|
||||
INSERT INTO cnt_typecontract VALUES (1, 'Onderhoud/Maintenance');
|
||||
INSERT INTO cnt_typecontract VALUES (2, 'Huur/Rental');
|
||||
INSERT INTO cnt_typecontract VALUES (3, 'Ondersteuning/Support');
|
||||
INSERT INTO cnt_typecontract VALUES (4, 'Algemeen/Generic');
|
||||
INSERT INTO cnt_typecontract VALUES (5, 'Leverancier/Supplier');
|
||||
INSERT INTO cnt_typecontract VALUES (6, 'Mantel/Master');
|
||||
|
||||
INSERT INTO cnt_termijn (cnt_termijn_type, cnt_termijn_aantal, cnt_termijn_omschrijving, cnt_termijn_volgnummer) VALUES ('W', 0, 'Geen', 10);
|
||||
INSERT INTO cnt_termijn (cnt_termijn_type, cnt_termijn_aantal, cnt_termijn_omschrijving, cnt_termijn_volgnummer) VALUES ('W', 1, '1 Week', 20);
|
||||
@@ -80,7 +89,7 @@ INSERT INTO cnt_termijn (cnt_termijn_type, cnt_termijn_aantal, cnt_termijn_omsch
|
||||
INSERT INTO cnt_termijn (cnt_termijn_type, cnt_termijn_aantal, cnt_termijn_omschrijving, cnt_termijn_volgnummer) VALUES ('M', 9, '9 Maanden', 90);
|
||||
INSERT INTO cnt_termijn (cnt_termijn_type, cnt_termijn_aantal, cnt_termijn_omschrijving, cnt_termijn_volgnummer) VALUES ('Y', 1, '1 Jaar', 100);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CNT_INI.SRC $','$Revision$')
|
||||
|
||||
|
||||
#endif // CNT
|
||||
|
||||
667
CNT/CNT_PAC.SRC
667
CNT/CNT_PAC.SRC
@@ -4,250 +4,225 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE OR REPLACE PACKAGE cnt AS
|
||||
PROCEDURE setcontractstatus (pcontractkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
|
||||
CREATE OR REPLACE PACKAGE Cnt AS
|
||||
FUNCTION cnt_getTermijndatum (pdate IN DATE, ptermijn_key IN NUMBER, prichting IN NUMBER) RETURN DATE;
|
||||
FUNCTION termijnjaarfactor (ptermijn_key IN NUMBER) RETURN NUMBER;
|
||||
FUNCTION cnt_getOpzegdatum (pcnt_contract_key IN NUMBER) RETURN DATE;
|
||||
FUNCTION cnt_getRappeldatum (pcnt_contract_key IN NUMBER) RETURN DATE;
|
||||
FUNCTION cnt_contract_status (van IN DATE, rappel IN DATE, opzeg IN DATE, tot IN DATE) RETURN NUMBER;
|
||||
FUNCTION cnt_contract_items (cntKey IN NUMBER) RETURN VARCHAR2;
|
||||
|
||||
PROCEDURE cnt_complete_mutatie(p_mutaite_key IN NUMBER);
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER);
|
||||
PROCEDURE generatefactuurschema (pcontractkey IN NUMBER,ptermijnbedrag IN NUMBER DEFAULT NULL);
|
||||
|
||||
FUNCTION getnieuwsteversiekey(p_key IN NUMBER) RETURN NUMBER;
|
||||
FUNCTION sprintf (ps IN VARCHAR2 , p_contract_key IN NUMBER) RETURN VARCHAR2;
|
||||
PROCEDURE remove(p_contract_key IN NUMBER);
|
||||
|
||||
PRAGMA RESTRICT_REFERENCES (cnt_contract_items, WNDS, WNPS);
|
||||
PRAGMA RESTRICT_REFERENCES (cnt_contract_status, WNDS, WNPS);
|
||||
END cnt;
|
||||
END Cnt;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
-- Geef contractkey, gewenste status en userkey, en de status wortdt
|
||||
-- gezet, waarbij zonodig (indien verandering) een trackrecord wordt gemaakt
|
||||
-- Als de status niet wijzigt, wordt ook geen trackrecord gemaakt
|
||||
-- ZIE schema StateDiagramContracten.vsd
|
||||
PROCEDURE setcontractstatus (pcontractkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER)
|
||||
AS
|
||||
currentstatus cnt_contract.cnt_contract_status%TYPE;
|
||||
newstatus cnt_contract.cnt_contract_status%TYPE;
|
||||
eventcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
BEGIN
|
||||
SELECT cnt_contract_status
|
||||
INTO currentstatus
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = pcontractkey;
|
||||
CREATE OR REPLACE PACKAGE BODY Cnt AS
|
||||
|
||||
CASE pstatus
|
||||
WHEN 0 -- Actief
|
||||
THEN
|
||||
IF currentstatus IS NULL
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTNEW';
|
||||
ELSIF currentstatus = 2 OR currentstatus = 3 -- Het kan ook zijn dat er geen fiattering nodig is.
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTFIT';
|
||||
END IF;
|
||||
WHEN 1 -- Gesloten
|
||||
THEN
|
||||
IF currentstatus = 0
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTCLO';
|
||||
END IF;
|
||||
WHEN 2 -- Nieuw
|
||||
THEN
|
||||
IF currentstatus IS NULL
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTNEW';
|
||||
ELSIF currentstatus = 3
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTREJ';
|
||||
END IF;
|
||||
WHEN 3 -- Ter goedkeuring
|
||||
THEN
|
||||
IF currentstatus = 2
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'CNTCPT';
|
||||
END IF;
|
||||
ELSE
|
||||
-- Invalid statuschange or no change
|
||||
newstatus := NULL;
|
||||
END CASE;
|
||||
-- Deze functie bepaald de datum door het termijn (ptermijn_key) van de datum (pdate) in mindering te brengen.
|
||||
-- Indien de 29, 30 of 31 datum niet in de betreffende maand voorkomt wordt de eerste van de volgende maand genomen.
|
||||
-- prichting geeft aan of ten opzichte van pdate achteruit (-1) of vooruit (1, of anders) moet worden gerekend.
|
||||
FUNCTION cnt_getTermijndatum (pdate IN DATE, ptermijn_key IN NUMBER, prichting IN NUMBER) RETURN DATE IS
|
||||
ptermijn_type VARCHAR2(1);
|
||||
ptermijn_aantal NUMBER;
|
||||
lrichting NUMBER;
|
||||
BEGIN
|
||||
IF prichting = -1
|
||||
THEN
|
||||
lrichting := -1;
|
||||
ELSE
|
||||
lrichting := 1;
|
||||
END IF;
|
||||
|
||||
IF newstatus IS NOT NULL
|
||||
THEN
|
||||
-- vooralsnog lopen de notificaties 1-op-1 met de tracking
|
||||
-- noticode := eventcode;
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_status = newstatus
|
||||
WHERE cnt_contract_key = pcontractkey;
|
||||
-- Bepaal type en aantal periodes
|
||||
IF ptermijn_key IS NOT NULL
|
||||
THEN
|
||||
SELECT cnt_termijn_type,
|
||||
cnt_termijn_aantal
|
||||
INTO ptermijn_type,
|
||||
ptermijn_aantal
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = ptermijn_key;
|
||||
ELSE
|
||||
-- Als ptermijn_key leeg/ongedefinieerd, return pdate (ofwel termijn dan impliciet 0 dagen)!
|
||||
RETURN pdate;
|
||||
END IF;
|
||||
|
||||
-- We know that trackaction doesnt do tracking if eventcode is null
|
||||
fac.trackaction (eventcode, pcontractkey, puserkey, NULL, NULL);
|
||||
END IF;
|
||||
END;
|
||||
IF ptermijn_type = 'D'
|
||||
THEN
|
||||
RETURN pdate + (lrichting * ptermijn_aantal);
|
||||
ELSIF ptermijn_type = 'W'
|
||||
THEN
|
||||
RETURN pdate + (lrichting * ptermijn_aantal * 7);
|
||||
ELSIF ptermijn_type = 'M'
|
||||
THEN
|
||||
RETURN fac.addMonths(pdate, lrichting * ptermijn_aantal);
|
||||
ELSE
|
||||
-- ptermijn_type = 'Y'
|
||||
RETURN fac.addMonths(pdate, lrichting * ptermijn_aantal * 12);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Deze functie bepaalt de datum door het termijn (ptermijn_key) van de datum (pdate) in mindering te brengen.
|
||||
-- Indien de 29, 30 of 31 datum niet in de betreffende maand voorkomt wordt de eerste van de volgende maand genomen.
|
||||
-- prichting geeft aan of ten opzichte van pdate achteruit (-1) of vooruit (1, of anders) moet worden gerekend.
|
||||
FUNCTION cnt_getTermijndatum (pdate IN DATE, ptermijn_key IN NUMBER, prichting IN NUMBER)
|
||||
RETURN DATE
|
||||
FUNCTION cnt_getOpzegdatum (pcnt_contract_key IN NUMBER) RETURN DATE IS
|
||||
plooptijd_tot DATE;
|
||||
popzegtermijn NUMBER;
|
||||
BEGIN
|
||||
SELECT cnt_contract_looptijd_tot,
|
||||
cnt_contract_opzegtermijn
|
||||
INTO plooptijd_tot,
|
||||
popzegtermijn
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = pcnt_contract_key;
|
||||
RETURN cnt_getTermijndatum (plooptijd_tot, popzegtermijn, -1);
|
||||
END;
|
||||
|
||||
FUNCTION cnt_getRappeldatum (pcnt_contract_key IN NUMBER) RETURN DATE IS
|
||||
plooptijd_tot DATE;
|
||||
prappeltermijn NUMBER;
|
||||
popzegtermijn NUMBER;
|
||||
BEGIN
|
||||
SELECT cnt_contract_looptijd_tot,
|
||||
cnt_contract_rappeltermijn,
|
||||
cnt_contract_opzegtermijn
|
||||
INTO plooptijd_tot,
|
||||
prappeltermijn,
|
||||
popzegtermijn
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = pcnt_contract_key;
|
||||
RETURN cnt_getTermijndatum (cnt_getTermijndatum (plooptijd_tot, popzegtermijn, -1), prappeltermijn, -1);
|
||||
END;
|
||||
|
||||
FUNCTION cnt_contract_status (van IN DATE, rappel IN DATE, opzeg IN DATE, tot IN DATE) RETURN NUMBER AS
|
||||
varSysdate DATE;
|
||||
BEGIN
|
||||
varSysdate:=SYSDATE;
|
||||
|
||||
IF varSysdate < van THEN
|
||||
RETURN 0;
|
||||
ELSIF varSysdate <= rappel THEN
|
||||
RETURN 1;
|
||||
ELSIF varSysdate <= opzeg THEN
|
||||
RETURN 2;
|
||||
ELSIF varSysdate <= tot THEN
|
||||
RETURN 3;
|
||||
END IF;
|
||||
|
||||
RETURN 4;
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION cnt_contract_items (cntKey IN NUMBER) RETURN VARCHAR2 AS
|
||||
ret VARCHAR2(512);
|
||||
var_ckey number;
|
||||
CURSOR query(cntKey NUMBER) IS
|
||||
SELECT 1 ckey, S.INS_SRTDEEL_CODE || ' ' ||S.INS_SRTDEEL_OMSCHRIJVING cntText
|
||||
from CNT_CONTRACT_OBJECT O, INS_V_AANWEZIGSRTDEEL S
|
||||
WHERE O.CNT_CONTRACT_KEY = cntKey
|
||||
AND S.ins_srtdeel_key = O.cnt_ins_srtdeel_key
|
||||
AND O.cnt_ins_DEEL_key IS NULL
|
||||
UNION
|
||||
SELECT 2 ckey, D.INS_DEEL_OMSCHRIJVING cntText
|
||||
from CNT_CONTRACT_OBJECT O, INS_V_AANWEZIGDEEL D
|
||||
WHERE O.CNT_CONTRACT_KEY = cntKey
|
||||
AND D.ins_DEEL_key = O.cnt_ins_DEEL_key
|
||||
UNION
|
||||
SELECT 3 ckey, g.alg_locatie_omschrijving cntText
|
||||
FROM alg_v_aanweziglocatie g, CNT_v_aanwezigCONTRACT_PLAATS P
|
||||
WHERE p.CNT_CONTRACT_KEY = cntKey
|
||||
AND p.cnt_alg_plaats_key = g.alg_locatie_key
|
||||
AND p.CNT_ALG_PLAATS_CODE = 'L'
|
||||
UNION
|
||||
SELECT 4 ckey, l.alg_locatie_omschrijving || ' ' ||g.alg_gebouw_omschrijving cntText
|
||||
FROM alg_v_aanweziggebouw g, CNT_v_aanwezigCONTRACT_PLAATS P, alg_locatie l
|
||||
WHERE p.CNT_CONTRACT_KEY = cntKey
|
||||
AND p.cnt_alg_plaats_key = g.alg_gebouw_key
|
||||
AND p.CNT_ALG_PLAATS_CODE = 'G'
|
||||
AND l.alg_locatie_key = g.alg_locatie_key
|
||||
UNION
|
||||
SELECT 5 ckey, l.alg_locatie_omschrijving || ' ' ||alg_terreinsector_naam cntText
|
||||
FROM alg_v_aanwezigterreinsector T, CNT_v_aanwezigCONTRACT_PLAATS P, alg_locatie l
|
||||
WHERE p.CNT_CONTRACT_KEY = cntKey
|
||||
AND p.cnt_alg_plaats_key = T.alg_terreinsector_key
|
||||
AND p.CNT_ALG_PLAATS_CODE = 'T'
|
||||
AND l.alg_locatie_key = t.alg_locatie_key
|
||||
ORDER BY 2;
|
||||
|
||||
BEGIN
|
||||
ret := null;
|
||||
var_ckey := -1;
|
||||
FOR cntitem_rec IN query(cntKey) LOOP
|
||||
IF var_ckey = -1 THEN
|
||||
ret := cntitem_rec.cntText;
|
||||
ELSE
|
||||
IF LENGTH(ret)+LENGTH(cntitem_rec.cntText)<(512-5) THEN
|
||||
ret := ret || CHR(10) || cntitem_rec.cntText;
|
||||
ELSE
|
||||
ret := ret || CHR(10) || '...';
|
||||
RETURN ret;
|
||||
END IF;
|
||||
END IF;
|
||||
var_ckey := cntitem_rec.ckey;
|
||||
END LOOP;
|
||||
|
||||
RETURN ret;
|
||||
END;
|
||||
|
||||
|
||||
PROCEDURE cnt_complete_mutatie(p_mutaite_key IN NUMBER) IS
|
||||
|
||||
-- The following actions should be executed when the state becomes 'Voltooid':
|
||||
-- Find the matching records in the CNT_CONTRACT_ONRGOED table where one row without a mutation_key
|
||||
-- filled in matches a row with a mutation_key filled in.
|
||||
-- The match will be successful if both rows have the same ALG_ONRGOED_KEY,
|
||||
-- the same ALG_ONRGOED_NIVEAU and the same CNT_CONTRACT_KEY.
|
||||
-- From these matching records the one without CNT_MUTATION_KEY should be deleted
|
||||
BEGIN
|
||||
DELETE
|
||||
cnt_contract_onrgoed
|
||||
WHERE cnt_contract_onrgoed_key IN (
|
||||
SELECT a.cnt_contract_onrgoed_key
|
||||
FROM cnt_contract_onrgoed b, cnt_contract_onrgoed a
|
||||
WHERE a.cnt_contract_key = b.cnt_contract_key
|
||||
AND a.alg_onrgoed_key = b.alg_onrgoed_key
|
||||
AND a.alg_onrgoed_niveau = b.alg_onrgoed_niveau
|
||||
AND b.cnt_mutatie_key = p_mutaite_key
|
||||
AND a.cnt_mutatie_key IS NULL);
|
||||
|
||||
-- Delete the entries in the CNT_CONTRACT_ONRGOED table with the mutation_key equal
|
||||
-- to the CNT_MUTATION that will be accepted and where the area size (CNT_CONTRACT_ONRGOED_OPP) = 0.
|
||||
|
||||
DELETE
|
||||
cnt_contract_onrgoed
|
||||
WHERE cnt_mutatie_key = p_mutaite_key
|
||||
AND CNT_CONTRACT_ONRGOED_OPP = 0;
|
||||
|
||||
-- Set the Mutation_key to NULL from the rows where the CNT_MUTATION_KEY will be equal to the CNT_MUTATION that was accepted.
|
||||
UPDATE
|
||||
cnt_contract_onrgoed
|
||||
SET cnt_mutatie_key = NULL
|
||||
WHERE cnt_mutatie_key = p_mutaite_key;
|
||||
--The state of the mutation should be set to 'Voltooid'
|
||||
UPDATE cnt_mutatie
|
||||
SET CNT_MUTATIE_DATUM_VOLTOOID = SYSDATE,
|
||||
CNT_MUTATIE_STATUS = 5
|
||||
WHERE cnt_mutatie_key = p_mutaite_key;
|
||||
END cnt_complete_mutatie;
|
||||
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
|
||||
IS
|
||||
ptermijn_type VARCHAR2(1);
|
||||
ptermijn_aantal NUMBER;
|
||||
lrichting NUMBER;
|
||||
begin1 DATE;
|
||||
eind1 DATE;
|
||||
versie1 cnt_contract.cnt_contract_versie%TYPE;
|
||||
newkey NUMBER;
|
||||
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
|
||||
amount1 cnt_contract.cnt_contract_kosten%TYPE;
|
||||
BEGIN
|
||||
IF prichting = -1
|
||||
THEN
|
||||
lrichting := -1;
|
||||
ELSE
|
||||
lrichting := 1;
|
||||
END IF;
|
||||
|
||||
-- Bepaal type en aantal periodes
|
||||
IF ptermijn_key IS NOT NULL
|
||||
THEN
|
||||
SELECT cnt_termijn_type,
|
||||
cnt_termijn_aantal
|
||||
INTO ptermijn_type,
|
||||
ptermijn_aantal
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = ptermijn_key;
|
||||
ELSE
|
||||
-- Als ptermijn_key leeg/ongedefinieerd, return pdate (ofwel termijn dan impliciet 0 dagen)!
|
||||
RETURN pdate;
|
||||
END IF;
|
||||
|
||||
IF ptermijn_type = 'D'
|
||||
THEN
|
||||
RETURN pdate + (lrichting * ptermijn_aantal);
|
||||
ELSIF ptermijn_type = 'W'
|
||||
THEN
|
||||
RETURN pdate + (lrichting * ptermijn_aantal * 7);
|
||||
ELSIF ptermijn_type = 'M'
|
||||
THEN
|
||||
RETURN fac.addMonths(pdate, lrichting * ptermijn_aantal);
|
||||
ELSE
|
||||
-- ptermijn_type = 'Y'
|
||||
RETURN fac.addMonths(pdate, lrichting * ptermijn_aantal * 12);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Deze functie benadert de factor om een contracttermijn te normaliseren tot een (1) jaar.
|
||||
-- Als dat niet kan (ongeldige termijn) wordt nu -1 opgeleverd
|
||||
-- Vb: 4W -> 13, 2M ->6, 2J-> 0,5
|
||||
-- Kan geen rekening houden met schrikkeljaren en 53 weken en zo
|
||||
FUNCTION termijnjaarfactor (ptermijn_key IN NUMBER)
|
||||
RETURN NUMBER
|
||||
IS
|
||||
ptermijn_type VARCHAR2 (1);
|
||||
ptermijn_aantal NUMBER;
|
||||
BEGIN
|
||||
IF ptermijn_key IS NOT NULL
|
||||
THEN
|
||||
SELECT cnt_termijn_type, cnt_termijn_aantal
|
||||
INTO ptermijn_type, ptermijn_aantal
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = ptermijn_key;
|
||||
ELSE
|
||||
-- Als ptermijn_key leeg/ongedefinieerd, return dan maar 1
|
||||
RETURN -1;
|
||||
END IF;
|
||||
|
||||
IF ptermijn_aantal = 0
|
||||
THEN
|
||||
RETURN -1; -- delen door null mag niet he
|
||||
END IF;
|
||||
|
||||
IF ptermijn_type = 'D'
|
||||
THEN
|
||||
RETURN 365 / ptermijn_aantal;
|
||||
-- soms 366
|
||||
ELSIF ptermijn_type = 'W'
|
||||
THEN
|
||||
RETURN 52 / ptermijn_aantal; -- soms 53
|
||||
ELSIF ptermijn_type = 'M'
|
||||
THEN
|
||||
RETURN 12 / ptermijn_aantal;
|
||||
ELSE
|
||||
-- ptermijn_type = 'Y'
|
||||
RETURN 1 / ptermijn_aantal;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
FUNCTION cnt_getOpzegdatum (pcnt_contract_key IN NUMBER) RETURN DATE IS
|
||||
plooptijd_tot DATE;
|
||||
popzegtermijn NUMBER;
|
||||
BEGIN
|
||||
SELECT cnt_contract_looptijd_tot,
|
||||
cnt_contract_opzegtermijn
|
||||
INTO plooptijd_tot,
|
||||
popzegtermijn
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = pcnt_contract_key;
|
||||
RETURN cnt_getTermijndatum (plooptijd_tot, popzegtermijn, -1);
|
||||
END;
|
||||
|
||||
FUNCTION cnt_getRappeldatum (pcnt_contract_key IN NUMBER)
|
||||
RETURN DATE
|
||||
IS
|
||||
plooptijd_tot DATE;
|
||||
prappeltermijn NUMBER;
|
||||
popzegtermijn NUMBER;
|
||||
BEGIN
|
||||
SELECT cnt_contract_looptijd_tot,
|
||||
cnt_contract_rappeltermijn,
|
||||
cnt_contract_opzegtermijn
|
||||
INTO plooptijd_tot,
|
||||
prappeltermijn,
|
||||
popzegtermijn
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = pcnt_contract_key;
|
||||
RETURN cnt_getTermijndatum (cnt_getTermijndatum (plooptijd_tot, popzegtermijn, -1), prappeltermijn, -1);
|
||||
END;
|
||||
|
||||
FUNCTION cnt_contract_status (van IN DATE, rappel IN DATE, opzeg IN DATE, tot IN DATE)
|
||||
RETURN NUMBER
|
||||
AS
|
||||
varSysdate DATE;
|
||||
BEGIN
|
||||
varSysdate:=SYSDATE;
|
||||
|
||||
IF varSysdate < van THEN
|
||||
RETURN 0;
|
||||
ELSIF varSysdate <= rappel THEN
|
||||
RETURN 1;
|
||||
ELSIF varSysdate <= opzeg THEN
|
||||
RETURN 2;
|
||||
ELSIF varSysdate <= tot THEN
|
||||
RETURN 3;
|
||||
END IF;
|
||||
|
||||
RETURN 4;
|
||||
END;
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
|
||||
IS
|
||||
begin1 DATE;
|
||||
eind1 DATE;
|
||||
versie1 cnt_contract.cnt_contract_versie%TYPE;
|
||||
newkey NUMBER;
|
||||
nummer1 cnt_contract.cnt_contract_nummer_intern%TYPE;
|
||||
amount1 cnt_contract.cnt_contract_kosten%TYPE;
|
||||
srtcontract_type cnt_disc_params.cnt_srtcontract_type%TYPE;
|
||||
new_status cnt_contract.cnt_contract_status%TYPE;
|
||||
tracking VARCHAR2 (4000);
|
||||
splitsen BOOLEAN := TRUE;
|
||||
BEGIN
|
||||
-- Splits het contract met p_key in twee delen: het oude dat eindigt op p_datum - 1,
|
||||
-- en een nieuwe kopie die begint op die p_datum
|
||||
-- Splits het contract met p_key in twee delen: het oude dat eindigt op p_datum,
|
||||
-- en een nieuwe kopie die begint op die datum
|
||||
-- p_amount is -optioneel- het bedrag dat bij het oude contract moeten blijven
|
||||
-- de rest komt bij de nieuwe. Als p_amount NULL is, eindigen beide contracten
|
||||
-- met het originele bedrag.
|
||||
@@ -261,59 +236,35 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
c.cnt_contract_looptijd_tot,
|
||||
COALESCE (c.cnt_contract_versie, '0'),
|
||||
cnt_contract_nummer_intern,
|
||||
cnt_contract_kosten,
|
||||
cdp.cnt_srtcontract_type,
|
||||
c.cnt_contract_status
|
||||
INTO begin1, eind1, versie1, nummer1, amount1, srtcontract_type, new_status
|
||||
FROM cnt_contract c,
|
||||
cnt_disc_params cdp
|
||||
WHERE c.ins_discipline_key = cdp.cnt_ins_discipline_key
|
||||
AND c.cnt_contract_key = p_key;
|
||||
cnt_contract_kosten
|
||||
INTO begin1, eind1, versie1, nummer1, amount1
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_key = p_key
|
||||
AND c.cnt_contract_looptijd_van < p_datum
|
||||
AND c.cnt_contract_looptijd_tot > p_datum;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN;
|
||||
END;
|
||||
|
||||
IF (begin1 < p_datum AND eind1 > p_datum)
|
||||
THEN
|
||||
-- Splitsen van contract.
|
||||
begin1 := p_datum;
|
||||
eind1 := eind1;
|
||||
IF (fac.getsetting('cnt_contract_approval') = 1 AND srtcontract_type != 6)
|
||||
THEN
|
||||
new_status := 2; -- altijd op nieuw
|
||||
ELSE
|
||||
new_status := 0; -- direct actief
|
||||
END IF;
|
||||
ELSIF (eind1 < p_datum)
|
||||
THEN
|
||||
-- Verlengen van contract
|
||||
begin1 := eind1 + 1;
|
||||
eind1 := p_datum;
|
||||
splitsen := FALSE;
|
||||
ELSE
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
-- de datum is een zinvolle splitsdatum, alles in orde
|
||||
INSERT INTO cnt_contract (cnt_contract_nummer, cnt_contract_omschrijving, cnt_contract_looptijd_tot, cnt_contract_kosten,
|
||||
cnt_contract_uurloon, cnt_prs_bedrijf_key, cnt_prs_afdeling_key, cnt_prs_perslid_key,
|
||||
cnt_contract_verwijder, cnt_contract_nummer_intern, cnt_contract_korting, prs_contactpersoon_key,
|
||||
cnt_contract_uurloon, cnt_prs_bedrijf_key, cnt_prs_afdeling_key, cnt_contract_verwijder,
|
||||
cnt_contract_nummer_intern, cnt_contract_korting, prs_contactpersoon_key,
|
||||
cnt_contract_contact_persoon, ins_discipline_key, cnt_contract_document,
|
||||
prs_perslid_key_eig, prs_perslid_key_beh, prs_afdeling_key_eig, cnt_contract_status,
|
||||
cnt_contract_looptijd_van, prs_kostenplaats_key, cnt_contract_termijnkosten, prs_kostensoort_key,
|
||||
cnt_contract_opmerking, cnt_contract_mantel_key, cnt_contract_opzegtermijn,
|
||||
cnt_contract_rappeltermijn, cnt_contract_versie, prs_dienst_key, cnt_contract_termijntermijn
|
||||
cnt_contract_rappeltermijn, cnt_contract_versie
|
||||
)
|
||||
SELECT cnt_contract_nummer,
|
||||
cnt_contract_omschrijving,
|
||||
eind1,
|
||||
cnt_contract_looptijd_tot,
|
||||
amount1 - COALESCE(p_amount, 0),
|
||||
cnt_contract_uurloon,
|
||||
cnt_prs_bedrijf_key,
|
||||
cnt_prs_afdeling_key,
|
||||
cnt_prs_perslid_key,
|
||||
NULL,
|
||||
cnt_contract_nummer_intern,
|
||||
cnt_contract_korting,
|
||||
@@ -324,8 +275,8 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
prs_perslid_key_eig,
|
||||
prs_perslid_key_beh,
|
||||
prs_afdeling_key_eig,
|
||||
new_status,
|
||||
begin1,
|
||||
0,
|
||||
p_datum,
|
||||
prs_kostenplaats_key,
|
||||
cnt_contract_termijnkosten,
|
||||
prs_kostensoort_key,
|
||||
@@ -333,9 +284,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
cnt_contract_mantel_key,
|
||||
cnt_contract_opzegtermijn,
|
||||
cnt_contract_rappeltermijn,
|
||||
TO_CHAR (versie1 + 1),
|
||||
prs_dienst_key,
|
||||
cnt_contract_termijntermijn
|
||||
TO_CHAR (versie1 + 1)
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = p_key;
|
||||
|
||||
@@ -347,26 +296,13 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
AND cnt_contract_versie = TO_CHAR (versie1 + 1)
|
||||
AND cnt_contract_verwijder IS NULL;
|
||||
--- Een versieloos oud contract krijgt expliciet versie 0
|
||||
--- Looptijd_tot en kosten moteen alleen bij splitsen worden aangepast.
|
||||
IF splitsen
|
||||
THEN
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_looptijd_tot = p_datum - 1,
|
||||
cnt_contract_versie = versie1,
|
||||
cnt_contract_kosten = COALESCE(p_amount, cnt_contract_kosten)
|
||||
WHERE cnt_contract_key = p_key;
|
||||
ELSE
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_versie = versie1
|
||||
WHERE cnt_contract_key = p_key;
|
||||
END IF;
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_looptijd_tot = p_datum - 1,
|
||||
cnt_contract_versie = versie1,
|
||||
cnt_contract_kosten = COALESCE(p_amount, cnt_contract_kosten)
|
||||
WHERE cnt_contract_key = p_key;
|
||||
|
||||
tracking := lcl.l('lcl_cnt_is_cntupd') || CHR(10) || lcl.l('lcl_cnt_enddate') || ': ' || TO_CHAR(eind1, 'dd-mm-yyyy') || lcl.l('lcl_trackto') || TO_CHAR((p_datum - 1), 'dd-mm-yyyy');
|
||||
IF (p_amount IS NOT NULL AND p_amount <> amount1)
|
||||
THEN
|
||||
tracking := tracking || CHR(10) || lcl.l('lcl_cnt_contract_sum') || ': ' || amount1 || lcl.l('lcl_trackto') || p_amount;
|
||||
END IF;
|
||||
fac.trackaction ('CNTUPD', p_key, p_user, NULL, tracking);
|
||||
fac.trackaction ('CNTUPD', p_key, p_user, NULL, NULL);
|
||||
|
||||
-- de basis is gelegd, nu de aanhang meekopieren
|
||||
-- flexkenmerken
|
||||
@@ -399,6 +335,18 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
FROM cnt_contract_object cob
|
||||
WHERE cob.cnt_contract_key = p_key AND cob.cnt_contract_object_verwijder IS NULL;
|
||||
|
||||
--cnt_contract_onrgoed
|
||||
INSERT INTO cnt_contract_onrgoed (cnt_contract_key, alg_onrgoed_key, alg_onrgoed_niveau, alg_srtonrgoed_key, cnt_contract_onrgoed_opp, cnt_srtruimte_prijs
|
||||
)
|
||||
SELECT newkey,
|
||||
cog.alg_onrgoed_key,
|
||||
cog.alg_onrgoed_niveau,
|
||||
cog.alg_srtonrgoed_key,
|
||||
cog.cnt_contract_onrgoed_opp,
|
||||
cog.cnt_srtruimte_prijs
|
||||
FROM cnt_contract_onrgoed cog
|
||||
WHERE cog.cnt_contract_key = p_key AND cog.cnt_mutatie_key IS NULL;
|
||||
|
||||
--cnt_contract_plaats
|
||||
INSERT INTO cnt_contract_plaats (cnt_contract_key, cnt_alg_plaats_code, cnt_alg_plaats_key, cnt_contract_plaats_gewicht
|
||||
)
|
||||
@@ -420,52 +368,12 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
--cnt_factuurschema: splitst op dezelfde grensdatum
|
||||
UPDATE cnt_factuurschema
|
||||
SET cnt_contract_key = newkey
|
||||
WHERE cnt_contract_key = p_key
|
||||
AND cnt_factuurschema_boekmaand >= TO_CHAR(p_datum, 'YYYY-MM');
|
||||
WHERE cnt_contract_key = p_key AND cnt_factuurschema_datum > p_datum;
|
||||
|
||||
fac.trackaction ('CNTNEW', newkey, p_user, NULL, NULL);
|
||||
|
||||
END splitscontract;
|
||||
|
||||
-- Genereer een factuurschema met een gelijk bedrag per maand gedurende
|
||||
-- de looptijd van het contract
|
||||
-- Verondersteld dat er nog geen schema was.
|
||||
PROCEDURE generatefactuurschema (
|
||||
pcontractkey IN NUMBER,
|
||||
ptermijnbedrag IN NUMBER DEFAULT NULL)
|
||||
AS
|
||||
maanden NUMBER (10);
|
||||
maand NUMBER (10);
|
||||
ltermijnbedrag cnt_factuurschema.cnt_factuurschema_bedrag%TYPE;
|
||||
BEGIN
|
||||
FOR cnt_rec
|
||||
IN (SELECT cnt_contract_kosten,
|
||||
cnt_contract_looptijd_tot,
|
||||
cnt_contract_looptijd_van
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_key = pcontractkey)
|
||||
LOOP
|
||||
maanden :=
|
||||
1
|
||||
+ TRUNC(MONTHS_BETWEEN (cnt_rec.cnt_contract_looptijd_tot,
|
||||
cnt_rec.cnt_contract_looptijd_van));
|
||||
|
||||
ltermijnbedrag :=
|
||||
COALESCE (ptermijnbedrag, cnt_rec.cnt_contract_kosten / maanden);
|
||||
FOR maand IN 0 .. maanden - 1
|
||||
LOOP
|
||||
INSERT INTO cnt_factuurschema (cnt_contract_key,
|
||||
cnt_factuurschema_boekmaand,
|
||||
cnt_factuurschema_bedrag)
|
||||
VALUES (pcontractkey,
|
||||
TO_CHAR (
|
||||
ADD_MONTHS (cnt_rec.cnt_contract_looptijd_van, maand),
|
||||
'YYYY-MM'),
|
||||
ltermijnbedrag);
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
-- Zoek de key van de hoogste revisie van het meegegeven contract
|
||||
-- Beseffende dat _versie een oplopende reeks is en hopende dat
|
||||
-- nummer_intern hetzelfde blijft over versies en vrij uniek is
|
||||
@@ -507,113 +415,10 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
RETURN resultkey;
|
||||
END;
|
||||
|
||||
FUNCTION sprintf (ps IN VARCHAR2 , p_contract_key IN NUMBER )
|
||||
RETURN VARCHAR2
|
||||
IS
|
||||
s VARCHAR2 (2048 CHAR);
|
||||
varlev VARCHAR2 (255 CHAR); -- Kan nu ook een samenstelling zijn van prs_perslid gegevens.
|
||||
varomsch cnt_contract.cnt_contract_omschrijving%TYPE;
|
||||
varnummer cnt_contract.cnt_contract_nummer_intern%TYPE;
|
||||
BEGIN
|
||||
s := ps;
|
||||
-- We do support substitution of placeholders in the messages
|
||||
-- ##LEV## = prs_bedrijf_naam
|
||||
-- ##OMSCH## = cnt_contract_omschrijving
|
||||
-- ##KEY## = cnt_contract_nummer_intern
|
||||
IF INSTR (s, '#') > 0
|
||||
THEN
|
||||
SELECT COALESCE(prs_bedrijf_naam, fac.getsetting ('prs_pers_string'), fac.getsetting ('prs_dep_string')),
|
||||
cnt_contract_omschrijving,
|
||||
cnt_contract_nummer_intern
|
||||
INTO varlev,
|
||||
varomsch,
|
||||
varnummer
|
||||
FROM cnt_contract c,
|
||||
prs_bedrijf b,
|
||||
prs_perslid p,
|
||||
prs_afdeling a
|
||||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||||
AND c.cnt_prs_perslid_key = p.prs_perslid_key(+)
|
||||
AND c.cnt_prs_afdeling_key = a.prs_afdeling_key(+)
|
||||
AND c.cnt_contract_key = p_contract_key;
|
||||
s :=
|
||||
REPLACE (REPLACE (REPLACE (s, '##LEV##', varlev), '##OMSCH##', varomsch),
|
||||
'##KEY##',
|
||||
varnummer
|
||||
);
|
||||
END IF;
|
||||
RETURN s;
|
||||
END;
|
||||
|
||||
PROCEDURE remove(p_contract_key IN NUMBER)
|
||||
IS
|
||||
CURSOR c_contract IS
|
||||
SELECT cnt_contract_key
|
||||
FROM cnt_contract
|
||||
WHERE cnt_contract_mantel_key = p_contract_key;
|
||||
|
||||
CURSOR c_factuur IS
|
||||
SELECT fin_factuur_key
|
||||
FROM fin_factuur
|
||||
WHERE cnt_contract_key = p_contract_key;
|
||||
|
||||
CURSOR c_bijlagen(p_refkey IN NUMBER) IS
|
||||
SELECT fac_bijlagen_key
|
||||
FROM fac_bijlagen b
|
||||
, cnt_contract r
|
||||
WHERE b.fac_bijlagen_refkey = r.cnt_contract_key
|
||||
AND b.fac_bijlagen_module = 'CNT'
|
||||
AND b.fac_bijlagen_refkey = p_refkey;
|
||||
|
||||
BEGIN
|
||||
-- Verwijder alle subcontracten van dit contract.
|
||||
FOR ref_contract IN c_contract
|
||||
LOOP
|
||||
cnt.remove(ref_contract.cnt_contract_key);
|
||||
END LOOP;
|
||||
|
||||
FOR ref_factuur IN c_factuur
|
||||
LOOP
|
||||
fin.remove(ref_factuur.fin_factuur_key);
|
||||
END LOOP;
|
||||
|
||||
FOR ref_bijlagen IN c_bijlagen(p_contract_key)
|
||||
LOOP
|
||||
flx.deleteflexbijlage (ref_bijlagen.fac_bijlagen_key);
|
||||
END LOOP;
|
||||
|
||||
FOR ref_mldopdr IN (SELECT mld_opdr_key
|
||||
FROM mld_opdr
|
||||
WHERE cnt_contract_key = p_contract_key
|
||||
)
|
||||
LOOP
|
||||
-- Verwijder melding-opdrachten die aan dit contract zitten.
|
||||
mld.remove_opdr(ref_mldopdr.mld_opdr_key);
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM cnt_contract
|
||||
WHERE cnt_contract_key = p_contract_key;
|
||||
|
||||
-- Van de volgende tabellen worden de records die naar deze p_contact_key
|
||||
-- verwijzen met ON DELETE CASCADE ook verwijderd:
|
||||
-- cnt_contract_note
|
||||
-- cnt_contract_object
|
||||
-- cnt_contract_plaats
|
||||
-- cnt_contract_dienst
|
||||
-- cnt_factuurschema
|
||||
-- cnt_kenmerkcontract
|
||||
-- In de volgende tabel wordt cnt_contract_key leeg gemaakt bij het verwijderen van p_contract_key:
|
||||
-- mld_opdr
|
||||
|
||||
fac.remove_tracking('contract', p_contract_key);
|
||||
-- NB:
|
||||
-- Tabel bes_bestelopdr heeft ook een cnt_contract key, maar deze heeft geen referential integrity constraint.
|
||||
-- In geen enkele omgeving is cnt_contract_key in deze tabel ingevuld.
|
||||
END;
|
||||
|
||||
END cnt;
|
||||
END Cnt;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: CNT_PAC.SRC $','$Revision$')
|
||||
|
||||
#endif // CNT
|
||||
|
||||
@@ -16,9 +16,12 @@ CREATE SEQUENCE cnt_s_cnt_srtkenmerk_key MINVALUE 1;
|
||||
CREATE SEQUENCE cnt_s_cnt_kenmerk_key MINVALUE 1;
|
||||
CREATE SEQUENCE cnt_s_cnt_kenmerkcontract_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE cnt_s_cnt_onrgoed_key MINVALUE 1;
|
||||
CREATE SEQUENCE cnt_s_cnt_mutatie_key MINVALUE 1;
|
||||
|
||||
CREATE SEQUENCE cnt_s_cnt_contract_note_key MINVALUE 1;
|
||||
CREATE SEQUENCE cnt_s_cnt_factuurschema_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CNT_SEQ.SRC $','$Revision$')
|
||||
|
||||
#endif // CNT
|
||||
|
||||
176
CNT/CNT_TAB.SRC
176
CNT/CNT_TAB.SRC
@@ -42,16 +42,6 @@ CREATE_TABLE(cnt_disc_params, 0)
|
||||
DEFAULT 1
|
||||
NOT_NULL(cnt_srtcontract_type, cnt_c_cnt_srtcontract_type1)
|
||||
CONSTRAINT cnt_r_cnt_typecontract_key REFERENCES cnt_typecontract(cnt_typecontract_key),
|
||||
cnt_disc_params_opmerking
|
||||
VARCHAR2(320),
|
||||
cnt_disc_params_verkoopcontr
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_factuurschema
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_factuurmarge
|
||||
NUMBER(8,2)
|
||||
DEFAULT 0,
|
||||
@@ -66,25 +56,7 @@ CREATE_TABLE(cnt_disc_params, 0)
|
||||
/* bewust niet, irrelevant voor cnt: cnt_disc_params_factmatchmode -- 2-weg of 3-weg matching? */
|
||||
cnt_disc_params_termijndefault
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_disc_params_tdefault REFERENCES cnt_termijn(cnt_termijn_key),
|
||||
cnt_disc_params_fin NUMBER(1)
|
||||
DEFAULT 1 NOT NULL,
|
||||
cnt_disc_params_binding
|
||||
NUMBER(3)
|
||||
DEFAULT (3)
|
||||
NOT NULL, /* 2=Persoon 1=Bedrijf 3=Alles*/
|
||||
cnt_disc_params_leverancier /* indien Bedrijf: Leveranciers? */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_uitvoerende /* indien Bedrijf: Uitvoerenden? */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_huurder /* indien Bedrijf: Huurders? */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL
|
||||
CONSTRAINT cnt_r_cnt_disc_params_tdefault REFERENCES cnt_termijn(cnt_termijn_key)
|
||||
);
|
||||
|
||||
|
||||
@@ -116,17 +88,11 @@ CREATE_TABLE(cnt_contract,0)
|
||||
NUMBER(11,2)
|
||||
, cnt_contract_termijnkosten
|
||||
NUMBER(11,2)
|
||||
, cnt_contract_termijntermijn
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_termijn_key4 REFERENCES cnt_termijn(cnt_termijn_key)
|
||||
, cnt_contract_uurloon
|
||||
NUMBER(6,2)
|
||||
, cnt_prs_bedrijf_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_prs_bedrijf_key REFERENCES prs_bedrijf(prs_bedrijf_key)
|
||||
, cnt_prs_perslid_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_prs_perslid_key2 REFERENCES prs_perslid(prs_perslid_key)
|
||||
, cnt_prs_afdeling_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_prs_afdeling_key REFERENCES prs_afdeling(prs_afdeling_key)
|
||||
@@ -142,7 +108,7 @@ CREATE_TABLE(cnt_contract,0)
|
||||
, cnt_contract_nummer_intern
|
||||
VARCHAR2(30)
|
||||
, cnt_contract_korting
|
||||
NUMBER(5,2)
|
||||
NUMBER(4,2)
|
||||
CONSTRAINT cnt_c_cnt_contract_korting CHECK(0 <= cnt_contract_korting AND cnt_contract_korting <= 100)
|
||||
, prs_contactpersoon_key
|
||||
NUMBER(10)
|
||||
@@ -165,9 +131,10 @@ CREATE_TABLE(cnt_contract,0)
|
||||
, prs_afdeling_key_eig
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_prs_afdeling_key_eig REFERENCES prs_afdeling(prs_afdeling_key)
|
||||
, cnt_contract_status /* 0=actief, 1=inactief, 2=nieuw, 3=ter goedkeuring */
|
||||
, cnt_contract_status /* 0=actief, 1=inactief */
|
||||
NUMBER(1)
|
||||
CONSTRAINT cnt_c_cnt_contract_status CHECK(cnt_contract_status IN (0,1,2,3))
|
||||
DEFAULT 0
|
||||
CONSTRAINT cnt_r_cnt_contract_status CHECK(cnt_contract_status IN (0,1))
|
||||
, cnt_contract_looptijd_van
|
||||
DATE
|
||||
DEFAULT to_date('01-01-'|| DATE_TO_CHAR(sysdate,'yyyy'),'dd-mm-yyyy')
|
||||
@@ -185,14 +152,6 @@ CREATE_TABLE(cnt_contract,0)
|
||||
NUMBER(1)
|
||||
DEFAULT 2
|
||||
CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3))
|
||||
, cnt_contract_approved
|
||||
NUMBER(11,2)
|
||||
, cnt_contract_teverzenden
|
||||
NUMBER(1)
|
||||
, cnt_contract_locked_user_key
|
||||
NUMBER(10)
|
||||
, cnt_contract_locked_date
|
||||
DATE
|
||||
-- In BES_TAB.SRC:
|
||||
--, bes_bestelopdr_key
|
||||
-- NUMBER(10)
|
||||
@@ -205,7 +164,7 @@ CREATE_TABLE(cnt_contract_object,0)
|
||||
CONSTRAINT cnt_k_cnt_contract_object_key PRIMARY KEY
|
||||
, cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key_object REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE
|
||||
CONSTRAINT cnt_r_cnt_contract_key_object REFERENCES cnt_contract(cnt_contract_key)
|
||||
, cnt_ins_srtdeel_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_ins_srtdeel_key REFERENCES ins_srtdeel(ins_srtdeel_key)
|
||||
@@ -226,7 +185,7 @@ CREATE_TABLE(cnt_contract_plaats,0)
|
||||
CONSTRAINT cnt_k_cnt_contract_plaats PRIMARY KEY
|
||||
, cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key_plaats REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE
|
||||
CONSTRAINT cnt_r_cnt_contract_key_plaats REFERENCES cnt_contract(cnt_contract_key)
|
||||
, cnt_alg_plaats_key
|
||||
NUMBER(10)
|
||||
, cnt_alg_plaats_code
|
||||
@@ -247,7 +206,7 @@ CREATE_TABLE (CNT_CONTRACT_DIENST,0)
|
||||
PRIMARY KEY,
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_dienst REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE,
|
||||
CONSTRAINT cnt_r_cnt_contract_dienst REFERENCES cnt_contract(cnt_contract_key),
|
||||
mld_stdmelding_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_stdmld REFERENCES mld_stdmelding(mld_stdmelding_key),
|
||||
@@ -269,7 +228,7 @@ ALTER TABLE mld_opdr ADD
|
||||
(
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_r_cnt_contract_key REFERENCES cnt_contract(cnt_contract_key) ON DELETE SET NULL
|
||||
CONSTRAINT mld_r_cnt_contract_key REFERENCES cnt_contract(cnt_contract_key)
|
||||
);
|
||||
|
||||
ALTER TABLE mld_opdr ADD
|
||||
@@ -280,9 +239,10 @@ ALTER TABLE mld_opdr ADD
|
||||
);
|
||||
|
||||
ALTER TABLE mld_opdr DROP CONSTRAINT mld_r_mld_melding_key1;
|
||||
|
||||
ALTER TABLE mld_opdr ADD
|
||||
(
|
||||
CONSTRAINT mld_r_mld_melding_key3 CHECK(mld_melding_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR prs_kostensoort_key IS NOT NULL)
|
||||
CONSTRAINT MLD_R_MLD_MELDING_KEY3 CHECK(mld_melding_key IS NOT NULL OR cnt_contract_key IS NOT NULL)
|
||||
);
|
||||
|
||||
CREATE_TABLE(cnt_srtkenmerk, 0)
|
||||
@@ -293,14 +253,12 @@ CREATE_TABLE(cnt_srtkenmerk, 0)
|
||||
VARCHAR2(50)
|
||||
, cnt_srtkenmerk_upper
|
||||
VARCHAR2(50)
|
||||
, cnt_srtkenmerk_code
|
||||
VARCHAR2(60)
|
||||
, cnt_srtkenmerk_dimensie
|
||||
VARCHAR2(10)
|
||||
, cnt_srtkenmerk_kenmerktype
|
||||
VARCHAR2(1)
|
||||
, cnt_srtkenmerk_systeem
|
||||
NUMBER(2)
|
||||
NUMBER(1)
|
||||
, cnt_srtkenmerk_lengte
|
||||
NUMBER(4)
|
||||
, cnt_srtkenmerk_dec
|
||||
@@ -321,7 +279,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','T','R','X','L','Q','F','M','E','S','l','B','V'))
|
||||
, 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_systeem CHECK(cnt_srtkenmerk_systeem IS NULL
|
||||
OR cnt_srtkenmerk_systeem = 1)
|
||||
, CONSTRAINT cnt_c_cnt_srtkenmerk_lengte CHECK(cnt_srtkenmerk_lengte >= 1
|
||||
@@ -342,23 +300,15 @@ CREATE_TABLE(cnt_kenmerk, 0)
|
||||
NUMBER(10) /* verwijst naar ins_discipline */
|
||||
, cnt_kenmerk_niveau
|
||||
VARCHAR2(1)
|
||||
, cnt_kenmerk_omschrijving
|
||||
VARCHAR2(50) /* optionele overrule van srtkenmerk_omschrijving */
|
||||
, cnt_kenmerk_code
|
||||
VARCHAR2(60)
|
||||
, cnt_kenmerk_verplicht
|
||||
NUMBER(1)
|
||||
, cnt_kenmerk_groep
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
, cnt_kenmerk_toonbaar
|
||||
NUMBER(1)
|
||||
, cnt_kenmerk_inlijst
|
||||
NUMBER(1)
|
||||
DEFAULT 0 NOT NULL
|
||||
, cnt_kenmerk_volgnummer
|
||||
NUMBER(3)
|
||||
NOT NULL
|
||||
, cnt_kenmerk_locatiekolom
|
||||
VARCHAR2(30)
|
||||
, cnt_kenmerk_uniek
|
||||
NUMBER(1)
|
||||
, cnt_kenmerk_regexp
|
||||
@@ -372,18 +322,14 @@ CREATE_TABLE(cnt_kenmerk, 0)
|
||||
DATE
|
||||
DEFAULT NULLDATUM
|
||||
, cnt_kenmerk_default VARCHAR2(4000)
|
||||
, cnt_kenmerk_show_expr VARCHAR2(4000)
|
||||
, fac_functie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT fac_r_cnt_kenmerk_functie REFERENCES fac_functie (fac_functie_key)
|
||||
, CONSTRAINT cnt_r_cnt_srtkenmerk_key1 CHECK(cnt_srtkenmerk_key IS NOT NULL)
|
||||
, CONSTRAINT cnt_r_cnt_srtkenmerk_key2 FOREIGN KEY(cnt_srtkenmerk_key) REFERENCES cnt_srtkenmerk(cnt_srtkenmerk_key)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_niveau1 CHECK(cnt_kenmerk_niveau IS NOT NULL)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_niveau2 CHECK(cnt_kenmerk_niveau IN ('C','S'))
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_toonbaar CHECK(cnt_kenmerk_toonbaar IS NULL
|
||||
OR cnt_kenmerk_toonbaar = 1)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_aanmaak CHECK(cnt_kenmerk_aanmaak IS NOT NULL)
|
||||
, CONSTRAINT cnt_u_cnt_kenmerk UNIQUE(cnt_srtkenmerk_key, cnt_srtcontract_key, cnt_kenmerk_niveau, cnt_kenmerk_omschrijving, cnt_kenmerk_groep, cnt_kenmerk_verwijder)
|
||||
, CONSTRAINT cnt_r_cnt_srtkenmerk_key1 CHECK(cnt_srtkenmerk_key IS NOT NULL)
|
||||
, CONSTRAINT cnt_r_cnt_srtkenmerk_key2 FOREIGN KEY(cnt_srtkenmerk_key) REFERENCES cnt_srtkenmerk(cnt_srtkenmerk_key)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_niveau1 CHECK(cnt_kenmerk_niveau IS NOT NULL)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_niveau2 CHECK(cnt_kenmerk_niveau IN ('C','S'))
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_toonbaar CHECK(cnt_kenmerk_toonbaar IS NULL
|
||||
OR cnt_kenmerk_toonbaar = 1)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerk_aanmaak CHECK(cnt_kenmerk_aanmaak IS NOT NULL)
|
||||
, CONSTRAINT cnt_u_cnt_kenmerk UNIQUE(cnt_srtkenmerk_key, cnt_srtcontract_key, cnt_kenmerk_niveau, cnt_kenmerk_verwijder)
|
||||
);
|
||||
|
||||
CREATE_TABLE(cnt_kenmerkcontract, 0)
|
||||
@@ -408,10 +354,69 @@ CREATE_TABLE(cnt_kenmerkcontract, 0)
|
||||
, CONSTRAINT cnt_r_cnt_kenmerk_key1 CHECK(cnt_kenmerk_key IS NOT NULL)
|
||||
, CONSTRAINT cnt_r_cnt_kenmerk_key2 FOREIGN KEY(cnt_kenmerk_key) REFERENCES cnt_kenmerk(cnt_kenmerk_key)
|
||||
, CONSTRAINT cnt_c_cnt_kenmerkcontract_aan CHECK(cnt_kenmerkcontract_aanmaak IS NOT NULL)
|
||||
, CONSTRAINT cnt_u_cnt_kenmerkcontract UNIQUE(cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_verwijder)
|
||||
, CONSTRAINT cnt_u_cnt_kenmerkcontract UNIQUE(cnt_kenmerk_key, cnt_contract_key, cnt_kenmerkcontract_verwijder)
|
||||
, CONSTRAINT cnt_r_kenmerk_contract FOREIGN KEY (cnt_contract_key) REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
CREATE_TABLE(cnt_mutatie, 0)
|
||||
( cnt_mutatie_key NUMBER(10)
|
||||
CONSTRAINT cnt_k_cnt_mutatie_key PRIMARY KEY,
|
||||
cnt_mutatie_omschrijving VARCHAR2(50),
|
||||
cnt_mutatie_datum DATE,
|
||||
cnt_mutatie_datum_concept DATE,
|
||||
cnt_mutatie_datum_ontvangen DATE,
|
||||
cnt_mutatie_datum_voltooid DATE,
|
||||
cnt_mutatie_datum_ingang DATE,
|
||||
prs_perslid_key NUMBER(10)
|
||||
CONSTRAINT cnt_r_prs_perslid_key REFERENCES prs_perslid(prs_perslid_key),
|
||||
cnt_mutatie_status NUMBER(1) -- Open = 1 Concept = 2 OntvangenOK = 3 OntvangenNOK = 4 Voltooid = 5
|
||||
);
|
||||
|
||||
|
||||
CREATE_TABLE(cnt_mutatie_status,0)
|
||||
(
|
||||
cnt_mutatie_status
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_k_cnt_mutatie_status_key PRIMARY KEY,
|
||||
cnt_mutatie_status_omschrijv
|
||||
VARCHAR2(30)
|
||||
);
|
||||
|
||||
|
||||
CREATE_TABLE(cnt_contract_onrgoed, 0)
|
||||
( cnt_contract_onrgoed_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_k_cnt_contract_onrgoed_key PRIMARY KEY,
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_key REFERENCES cnt_contract(cnt_contract_key),
|
||||
alg_onrgoed_key
|
||||
NUMBER(10),
|
||||
alg_onrgoed_niveau
|
||||
VARCHAR2(1)
|
||||
CONSTRAINT cnt_c_cnt_onrgoed_niveau CHECK(alg_onrgoed_niveau IN ('R', 'T')),
|
||||
cnt_mutatie_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_mutatie_key REFERENCES cnt_mutatie(cnt_mutatie_key) on delete cascade,
|
||||
cnt_contract_onrgoed_opp
|
||||
NUMBER(8,2),
|
||||
alg_srtonrgoed_key
|
||||
NUMBER(10),
|
||||
cnt_mld_melding_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_mld_melding_key REFERENCES mld_melding(mld_melding_key),
|
||||
cnt_mutatie_status_key
|
||||
NUMBER(10)
|
||||
DEFAULT 1
|
||||
CONSTRAINT cnt_r_cnt_mutatie_status REFERENCES cnt_mutatie_status(cnt_mutatie_status),
|
||||
cnt_srtruimte_prijs
|
||||
NUMBER(8,2),
|
||||
cnt_contract_onrgoed_key_org
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_contract_onrgoed_key REFERENCES cnt_contract_onrgoed(cnt_contract_onrgoed_key)
|
||||
);
|
||||
|
||||
CREATE_TABLE(cnt_contract_note, 0)
|
||||
(
|
||||
cnt_contract_note_key NUMBER (10) PRIMARY KEY,
|
||||
@@ -428,19 +433,16 @@ CREATE_TABLE(cnt_factuurschema , 0)
|
||||
cnt_contract_key
|
||||
NUMBER(10)
|
||||
NOT NULL
|
||||
CONSTRAINT cnt_r_cnt_factuurschema1 REFERENCES cnt_contract(cnt_contract_key) ON DELETE CASCADE,
|
||||
cnt_factuurschema_boekmaand /* format YYYY-MM */
|
||||
VARCHAR2(7),
|
||||
CONSTRAINT cnt_r_cnt_factuurschema1 REFERENCES cnt_contract(cnt_contract_key),
|
||||
cnt_factuurschema_datum
|
||||
DATE,
|
||||
cnt_factuurschema_bedrag
|
||||
NUMBER(11,2),
|
||||
cnt_factuurschema_opmerking
|
||||
VARCHAR2(320),
|
||||
cnt_factuurschema_aanmaak
|
||||
DATE
|
||||
DEFAULT SYSDATE
|
||||
cnt_factuurschema_referentie
|
||||
VARCHAR2(20)
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: CNT_TAB.SRC $','$Revision$')
|
||||
|
||||
|
||||
#endif // CNT
|
||||
|
||||
@@ -3,16 +3,6 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
AUDIT_BEGIN(cnt_disc_params)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_srtcontract_type)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_disc_params_factuurschema)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_disc_params_factuurpct)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_disc_params_factuurmarge)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_disc_params_factuurappr)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_disc_params_factuurgrens)
|
||||
AUDIT_VALUE(cnt_disc_params, cnt_disc_params_opmerking)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(cnt_t_cnt_disc_params_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON cnt_disc_params
|
||||
FOR EACH ROW
|
||||
@@ -54,7 +44,7 @@ BEGIN
|
||||
THEN
|
||||
CHECK_KEY_REFERENCE(alg_v_aanweziglocatie , alg_locatie_key , :new.cnt_alg_plaats_key, 'cnt_m003');
|
||||
ELSE
|
||||
raise_application_error(-20000, 'cnt_m008');
|
||||
APPLICATION_ERROR(-20000, 'cnt_m008');
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
@@ -65,16 +55,11 @@ BEFORE INSERT OR UPDATE ON cnt_contract
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF ( :new.cnt_prs_bedrijf_key IS NULL
|
||||
AND :new.cnt_prs_afdeling_key IS NULL
|
||||
AND :new.cnt_prs_perslid_key IS NULL)
|
||||
AND :new.cnt_prs_afdeling_key IS NULL)
|
||||
OR ( :new.cnt_prs_bedrijf_key IS NOT NULL
|
||||
AND :new.cnt_prs_afdeling_key IS NOT NULL)
|
||||
OR ( :new.cnt_prs_bedrijf_key IS NOT NULL
|
||||
AND :new.cnt_prs_perslid_key IS NOT NULL)
|
||||
OR ( :new.cnt_prs_perslid_key IS NOT NULL
|
||||
AND :new.cnt_prs_afdeling_key IS NOT NULL)
|
||||
THEN
|
||||
raise_application_error(-20000,'cnt_m002');
|
||||
APPLICATION_ERROR_GOTO(-20000,'cnt_m002');
|
||||
ELSE
|
||||
UPDATE_PRIMARY_KEY(cnt_contract_key,cnt_s_cnt_contract_key);
|
||||
IF :new.cnt_contract_nummer_intern IS NULL
|
||||
@@ -85,6 +70,14 @@ BEGIN
|
||||
|
||||
SET_VERWIJDER_CHILDREN(cnt_contract_object,cnt_contract_key,cnt_contract_verwijder,cnt_contract_object_verwijder,cnt_contract);
|
||||
SET_VERWIJDER_CHILDREN(cnt_contract_plaats,cnt_contract_key,cnt_contract_verwijder,cnt_contract_plaats_verwijder,cnt_contract);
|
||||
BEGIN IF :new.cnt_contract_verwijder IS NOT NULL
|
||||
OR ( :new.cnt_contract_verwijder IS NULL
|
||||
AND :old.cnt_contract_verwijder IS NOT NULL)
|
||||
THEN
|
||||
DELETE cnt_contract_onrgoed
|
||||
WHERE cnt_contract_onrgoed.cnt_contract_key = :new.cnt_contract_key;
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -133,28 +126,28 @@ BEFORE INSERT OR UPDATE ON cnt_srtkenmerk
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(cnt_srtkenmerk_key, cnt_s_cnt_srtkenmerk_key);
|
||||
UPDATE_UPPER(cnt_srtkenmerk_omschrijving, cnt_srtkenmerk_upper, cnt_srtkenmerk);
|
||||
UPDATE_UPPER(cnt_srtkenmerk_code, cnt_srtkenmerk_code, cnt_srtkenmerk);
|
||||
|
||||
UPDATE_UPPER(cnt_srtkenmerk_omschrijving, cnt_srtkenmerk_upper,cnt_srtkenmerk);
|
||||
UPDATE_AANMAAKDATUM(cnt_srtkenmerk, cnt_srtkenmerk_aanmaak);
|
||||
IF (:new.cnt_srtkenmerk_verwijder IS NOT NULL AND :old.cnt_srtkenmerk_verwijder IS NULL AND
|
||||
:new.cnt_srtkenmerk_systeem = 1)
|
||||
THEN
|
||||
raise_application_error(-20000, 'CNT_C_CNT_SRTKENMERK_SYSTEEM');
|
||||
raise_application_error(-20003, 'CNT_C_CNT_SRTKENMERK_SYSTEEM');
|
||||
END IF;
|
||||
--
|
||||
IF :new.cnt_srtkenmerk_kenmerktype IN ('C', 'N', 'B') AND :new.cnt_srtkenmerk_lengte IS NULL
|
||||
IF (:new.cnt_srtkenmerk_kenmerktype = 'C'
|
||||
OR :new.cnt_srtkenmerk_kenmerktype = 'N')
|
||||
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 IN ('N', 'B')
|
||||
IF :new.cnt_srtkenmerk_kenmerktype = 'N'
|
||||
AND :new.cnt_srtkenmerk_lengte > 20
|
||||
THEN
|
||||
:new.cnt_srtkenmerk_lengte := 20;
|
||||
END IF;
|
||||
--
|
||||
IF :new.cnt_srtkenmerk_kenmerktype IN ('N', 'B')
|
||||
IF :new.cnt_srtkenmerk_kenmerktype = 'N'
|
||||
AND :old.cnt_srtkenmerk_key IS NOT NULL
|
||||
THEN
|
||||
IF :old.cnt_srtkenmerk_nmin <> :new.cnt_srtkenmerk_nmin
|
||||
@@ -215,7 +208,6 @@ BEGIN
|
||||
-- FSN#13902: we tolereren het achteraf verplicht maken
|
||||
UPDATE_PRIMARY_KEY(cnt_kenmerk_key, cnt_s_cnt_kenmerk_key);
|
||||
UPDATE_AANMAAKDATUM(cnt_kenmerk, cnt_kenmerk_aanmaak);
|
||||
UPDATE_UPPER(cnt_kenmerk_code, cnt_kenmerk_code, cnt_kenmerk);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -280,7 +272,7 @@ BEGIN
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'cnt_m241,'||SrtKenmerkOmschr||','||TO_CHAR(SrtKenmerkLengte));
|
||||
END IF;
|
||||
ELSIF SrtKenmerkType IN ('N', 'B')
|
||||
ELSIF SrtKenmerkType = 'N'
|
||||
THEN
|
||||
-- NUMBER
|
||||
-- Controleer of er een numerieke waarde ingevuld is.
|
||||
@@ -299,7 +291,7 @@ BEGIN
|
||||
THEN FormatMask := REPLACE(FormatMask, '9', '#');
|
||||
FormatMask := REPLACE(FormatMask, '0', '#');
|
||||
FormatMask := REPLACE(FormatMask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004,'cnt_m242,'||SrtKenmerkOmschr||','||FormatMask);
|
||||
raise_application_error(-20004,'cnt_m242,'||SrtKenmerkOmschr||','||FormatMask);
|
||||
END;
|
||||
-- Controleer of de waarde binnen NMin en NMax ligt.
|
||||
IF (SrtKenmerkNMin IS NOT NULL AND NumberWaarde < SrtKenmerkNMin)
|
||||
@@ -334,6 +326,26 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(cnt_t_cnt_contract_onrg_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON cnt_contract_onrgoed
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(cnt_contract_onrgoed_key,cnt_s_cnt_onrgoed_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(cnt_t_cnt_mutatie_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON cnt_mutatie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
:new.cnt_mutatie_datum := SYSDATE;
|
||||
UPDATE_PRIMARY_KEY(cnt_mutatie_key,cnt_s_cnt_mutatie_key);
|
||||
IF :new.cnt_mutatie_key IS NOT NULL AND :old.cnt_mutatie_key IS NULL THEN
|
||||
:new.cnt_mutatie_datum_ingang := SYSDATE;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(cnt_t_cnt_termijn_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON cnt_termijn
|
||||
FOR EACH ROW
|
||||
@@ -357,6 +369,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: CNT_TRI.SRC $','$Revision$')
|
||||
|
||||
#endif // CNT
|
||||
|
||||
887
CNT/CNT_VIE.SRC
887
CNT/CNT_VIE.SRC
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
CREATE_VIEW(cnt_discipline, 0)
|
||||
AS SELECT * FROM ins_tab_discipline WHERE ins_discipline_module = 'CNT';
|
||||
AS SELECT * FROM ALL_discipline WHERE ins_discipline_module = 'CNT';
|
||||
|
||||
DEFINIEER_VIEW_AANWEZIG(cnt_discipline, ins_discipline_verwijder, cnt_v_aanwezigdiscipline, 0);
|
||||
DEFINIEER_VIEW_AANWEZIG(cnt_contract, cnt_contract_verwijder, cnt_v_aanwezigcontract, 0);
|
||||
@@ -63,6 +63,500 @@ WHERE R.alg_verdieping_key = V.alg_verdieping_key
|
||||
AND V.alg_gebouw_key = G.alg_gebouw_key
|
||||
AND G.alg_locatie_key = L.alg_locatie_key;
|
||||
|
||||
|
||||
CREATE_VIEW (cnt_v_aanwezigcontract_data, 0)
|
||||
( cnt_contract_key,
|
||||
cnt_contract_nummer,
|
||||
cnt_contract_omschrijving,
|
||||
cnt_contract_looptijd_van,
|
||||
cnt_contract_looptijd_tot,
|
||||
cnt_alg_plaats_key,
|
||||
cnt_alg_plaats_code ) AS
|
||||
SELECT CC.cnt_contract_key,
|
||||
CC.cnt_contract_nummer,
|
||||
CC.cnt_contract_omschrijving,
|
||||
CC.cnt_contract_looptijd_van,
|
||||
CC.cnt_contract_looptijd_tot,
|
||||
CP.cnt_alg_plaats_key,
|
||||
CP.cnt_alg_plaats_code
|
||||
FROM cnt_v_aanwezigcontract CC, cnt_v_aanwezigcontract_plaats CP
|
||||
WHERE CC.cnt_contract_key = CP.cnt_contract_key
|
||||
UNION
|
||||
SELECT CC.cnt_contract_key,
|
||||
CC.cnt_contract_nummer,
|
||||
CC.cnt_contract_omschrijving,
|
||||
CC.cnt_contract_looptijd_van,
|
||||
CC.cnt_contract_looptijd_tot,
|
||||
ID.ins_alg_ruimte_key,
|
||||
ID.ins_alg_ruimte_type
|
||||
FROM cnt_v_aanwezigcontract CC, cnt_v_aanwezigcontract_object CO,
|
||||
ins_v_aanwezigdeel ID
|
||||
WHERE CC.cnt_contract_key = CO.cnt_contract_key
|
||||
AND CO.cnt_ins_deel_key = ID.ins_deel_key
|
||||
AND ID.ins_alg_ruimte_type <> 'W'
|
||||
UNION
|
||||
SELECT CC.cnt_contract_key,
|
||||
CC.cnt_contract_nummer,
|
||||
CC.cnt_contract_omschrijving,
|
||||
CC.cnt_contract_looptijd_van,
|
||||
CC.cnt_contract_looptijd_tot,
|
||||
ID.ins_alg_ruimte_key,
|
||||
ID.ins_alg_ruimte_type
|
||||
FROM cnt_v_aanwezigcontract CC, cnt_v_aanwezigcontract_object CO,
|
||||
ins_v_aanwezigdeel ID, prs_werkplek WP
|
||||
WHERE CC.cnt_contract_key = CO.cnt_contract_key
|
||||
AND CO.cnt_ins_deel_key = ID.ins_deel_key
|
||||
AND ID.ins_alg_ruimte_type = 'W'
|
||||
AND ID.ins_alg_ruimte_key = WP.prs_alg_ruimte_key
|
||||
/
|
||||
|
||||
CREATE_VIEW(cnt_v_contract_locatie_geg, 0)
|
||||
(cnt_contract_key, cnt_contract_omschrijving, ins_discipline_key, alg_locatie_key, cnt_prs_bedrijf_key,
|
||||
cnt_prs_afdeling_key)
|
||||
AS
|
||||
SELECT cc.cnt_contract_key, cnt_contract_omschrijving, ins_discipline_key, alg_locatie_key, cnt_prs_bedrijf_key, cnt_prs_afdeling_key
|
||||
FROM cnt_v_aanwezigcontract cc, cnt_contract_onrgoed co, alg_ruimte r, alg_verdieping v, alg_gebouw g
|
||||
WHERE cc.cnt_contract_key = co.cnt_contract_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND co.alg_onrgoed_key = r.alg_ruimte_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
UNION
|
||||
SELECT cc.cnt_contract_key, cnt_contract_omschrijving, ins_discipline_key, alg_locatie_key, cnt_prs_bedrijf_key, cnt_prs_afdeling_key
|
||||
FROM cnt_v_aanwezigcontract cc, cnt_contract_onrgoed co, alg_v_aanwezigterreinsector aa
|
||||
WHERE cc.cnt_contract_key = co.cnt_contract_key
|
||||
AND co.alg_onrgoed_key = aa.alg_terreinsector_key;
|
||||
/
|
||||
|
||||
|
||||
CREATE_VIEW(cnt_v_cnt_contract_onrgoed_new, 0)
|
||||
(cnt_contract_onrgoed_key,
|
||||
cnt_contract_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
cnt_mutatie_key,
|
||||
cnt_contract_onrgoed_opp,
|
||||
alg_srtonrgoed_key,
|
||||
cnt_mld_melding_key,
|
||||
cnt_srtruimte_prijs,
|
||||
cnt_mutatie_status_key,
|
||||
cnt_contract_onrgoed_key_org) AS
|
||||
SELECT cnt_contract_onrgoed_key,
|
||||
cnt_contract_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
cnt_mutatie_key,
|
||||
cnt_contract_onrgoed_opp,
|
||||
alg_srtonrgoed_key,
|
||||
cnt_mld_melding_key,
|
||||
cnt_srtruimte_prijs,
|
||||
cnt_mutatie_status_key,
|
||||
cnt_contract_onrgoed_key_org
|
||||
FROM cnt_contract_onrgoed
|
||||
WHERE cnt_mld_melding_key IS NOT NULL
|
||||
AND cnt_contract_onrgoed_key_org IS NULL
|
||||
/
|
||||
|
||||
|
||||
CREATE_VIEW(cnt_v_cnt_contract_onrgoed_cur, 0)
|
||||
(cnt_contract_onrgoed_key,
|
||||
cnt_contract_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
cnt_mutatie_key,
|
||||
cnt_contract_onrgoed_opp,
|
||||
alg_srtonrgoed_key,
|
||||
cnt_mld_melding_key,
|
||||
cnt_srtruimte_prijs,
|
||||
cnt_mutatie_status_key,
|
||||
cnt_contract_onrgoed_key_org) AS
|
||||
SELECT cnt_contract_onrgoed_key,
|
||||
cnt_contract_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
cnt_mutatie_key,
|
||||
cnt_contract_onrgoed_opp,
|
||||
alg_srtonrgoed_key,
|
||||
cnt_mld_melding_key,
|
||||
cnt_srtruimte_prijs,
|
||||
cnt_mutatie_status_key,
|
||||
cnt_contract_onrgoed_key_org
|
||||
FROM cnt_contract_onrgoed
|
||||
WHERE cnt_contract_onrgoed_key_org IS NULL
|
||||
AND cnt_mld_melding_key IS NULL
|
||||
/
|
||||
|
||||
|
||||
CREATE_VIEW(cnt_v_cnt_contract_onrgoed_mut, 0)
|
||||
(cnt_contract_onrgoed_key,
|
||||
cnt_contract_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
cnt_mutatie_key,
|
||||
cnt_contract_onrgoed_opp,
|
||||
alg_srtonrgoed_key,
|
||||
cnt_mld_melding_key,
|
||||
cnt_srtruimte_prijs,
|
||||
cnt_mutatie_status_key,
|
||||
cnt_contract_onrgoed_key_org) AS
|
||||
SELECT cnt_contract_onrgoed_key,
|
||||
cnt_contract_key,
|
||||
alg_onrgoed_key,
|
||||
alg_onrgoed_niveau,
|
||||
cnt_mutatie_key,
|
||||
cnt_contract_onrgoed_opp,
|
||||
alg_srtonrgoed_key,
|
||||
cnt_mld_melding_key,
|
||||
cnt_srtruimte_prijs,
|
||||
cnt_mutatie_status_key,
|
||||
cnt_contract_onrgoed_key_org
|
||||
FROM cnt_contract_onrgoed
|
||||
WHERE cnt_mld_melding_key IS NOT NULL
|
||||
AND cnt_contract_onrgoed_key_org IS NOT NULL
|
||||
/
|
||||
|
||||
CREATE_VIEW (CNT_V_ALLONROERENDGOED, 0)
|
||||
(ALG_ONROERENDGOED_KEYS, ALG_RUIMTE_KEY, ALG_SRTRUIMTE_CODE, ALG_SRTRUIMTE_PRIJS, ALG_VERDIEPING_KEY, ALG_GEBOUW_KEY, ALG_TERREINSECTOR_KEY, ALG_SRTTERREINSECTOR_CODE, ALG_SRTTERREINSECTOR_PRIJS,
|
||||
ALG_LOCATIE_KEY, ALG_TYPE)
|
||||
AS
|
||||
SELECT ALG_R.alg_ruimte_key,
|
||||
ALG_R.alg_ruimte_key,
|
||||
ALG_SR.alg_srtruimte_code,
|
||||
ALG_SR.alg_srtruimte_prijs,
|
||||
ALG_R.alg_verdieping_key,
|
||||
ALG_V.alg_gebouw_key,
|
||||
TO_NUMBER(NULL),
|
||||
NULL,
|
||||
TO_NUMBER(NULL),
|
||||
ALG_G.alg_locatie_key,
|
||||
'R'
|
||||
FROM alg_v_aanwezigruimte ALG_R, alg_verdieping ALG_V, alg_gebouw ALG_G, alg_srtruimte ALG_SR
|
||||
WHERE ALG_R.alg_verdieping_key = ALG_V.alg_verdieping_key
|
||||
AND ALG_V.alg_gebouw_key = ALG_G.alg_gebouw_key
|
||||
AND ALG_R.alg_srtruimte_key = ALG_SR.alg_srtruimte_key
|
||||
UNION
|
||||
SELECT ALG_T.alg_terreinsector_key,
|
||||
TO_NUMBER(NULL),
|
||||
NULL,
|
||||
TO_NUMBER(NULL),
|
||||
TO_NUMBER(NULL),
|
||||
TO_NUMBER(NULL),
|
||||
ALG_T.alg_terreinsector_key,
|
||||
ALG_ST.alg_srtterreinsector_code,
|
||||
ALG_ST.alg_srtterreinsector_prijs,
|
||||
ALG_T.alg_locatie_key,
|
||||
'T'
|
||||
FROM alg_v_aanwezigterreinsector ALG_T, alg_srtterreinsector ALG_ST
|
||||
WHERE ALG_T.alg_srtterreinsector_key = ALG_ST.alg_srtterreinsector_key;
|
||||
|
||||
|
||||
CREATE_VIEW(CNT_V_QVW_ALGEMEEN, 0)
|
||||
(CONTRACT_KEY, INTERNNR, EXTERNNR, BESCHRIJVING, DISCIPLINE_KEY,
|
||||
CONTRACTSOORT, TYPECONTRACT_KEY, TYPECONTRACT, INGANGSDATUM, RAPPELDATUM,
|
||||
RAPPELTERMIJN, OPZEGDATUM, OPZEGTERMIJN, EINDDATUM, EIGENAAR,
|
||||
BEHEERDER, UITVOERDER, CONTACTPERSOON, KOSTENPLAATS, TERMIJNBEDRAG,
|
||||
CONTRACTBEDRAG, LOCATIE_KEY, LOCATIE_CODE, GEBOUW_KEY, GEBOUW_CODE)
|
||||
AS
|
||||
SELECT basis.contract_key, basis.internnr, basis.externnr,
|
||||
basis.beschrijving, basis.discipline_key, basis.contractsoort,
|
||||
basis.typecontract_key, basis.typecontract, basis.ingangsdatum,
|
||||
basis.rappeldatum, basis.rappeltermijn, basis.opzegdatum,
|
||||
basis.opzegtermijn, basis.einddatum, basis.eigenaar,
|
||||
basis.beheerder, basis.uitvoerder, basis.contactpersoon,
|
||||
basis.kostenplaats, basis.termijnbedrag, basis.contractbedrag,
|
||||
plaats.locatie_key, plaats.locatie_code, plaats.gebouw_key,
|
||||
plaats.gebouw_code
|
||||
FROM (SELECT cc.cnt_contract_key contract_key,
|
||||
cc.cnt_contract_nummer_intern internnr,
|
||||
cc.cnt_contract_nummer externnr,
|
||||
cc.cnt_contract_omschrijving beschrijving,
|
||||
cc.ins_discipline_key discipline_key,
|
||||
cs.ins_discipline_omschrijving contractsoort,
|
||||
tc.cnt_typecontract_key typecontract_key,
|
||||
tc.cnt_typecontract_omschrijving typecontract,
|
||||
TO_CHAR
|
||||
(COALESCE (cc.cnt_contract_looptijd_van, SYSDATE),
|
||||
'DD-MM-YYYY'
|
||||
) ingangsdatum,
|
||||
TO_CHAR
|
||||
(COALESCE (cnt.cnt_getrappeldatum (cc.cnt_contract_key),
|
||||
COALESCE (cc.cnt_contract_looptijd_tot,
|
||||
SYSDATE
|
||||
)
|
||||
),
|
||||
'DD-MM-YYYY'
|
||||
) rappeldatum,
|
||||
rt.cnt_termijn_omschrijving rappeltermijn,
|
||||
TO_CHAR
|
||||
(COALESCE (cnt.cnt_getopzegdatum (cc.cnt_contract_key),
|
||||
COALESCE (cc.cnt_contract_looptijd_tot,
|
||||
SYSDATE
|
||||
)
|
||||
),
|
||||
'DD-MM-YYYY'
|
||||
) opzegdatum,
|
||||
ot.cnt_termijn_omschrijving opzegtermijn,
|
||||
TO_CHAR (COALESCE (cc.cnt_contract_looptijd_tot, SYSDATE),
|
||||
'DD-MM-YYYY'
|
||||
) einddatum,
|
||||
(SELECT d.prs_afdeling_naam6
|
||||
FROM prs_v_aanwezigafdeling d
|
||||
WHERE d.prs_afdeling_key =
|
||||
cc.prs_afdeling_key_eig)
|
||||
eigenaar,
|
||||
(SELECT p.prs_perslid_naam
|
||||
|| DECODE (NVL (p.prs_perslid_voorletters, ''),
|
||||
'', '',
|
||||
', ' || p.prs_perslid_voorletters
|
||||
)
|
||||
|| DECODE (NVL (p.prs_perslid_tussenvoegsel, ''),
|
||||
'', '',
|
||||
' ' || p.prs_perslid_tussenvoegsel
|
||||
)
|
||||
|| DECODE (NVL (p.prs_perslid_voornaam, ''),
|
||||
'', '',
|
||||
' (' || p.prs_perslid_voornaam || ')'
|
||||
)
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_key = cc.prs_perslid_key_beh)
|
||||
beheerder,
|
||||
(SELECT b.prs_bedrijf_naam
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_key =
|
||||
cc.cnt_prs_bedrijf_key)
|
||||
uitvoerder,
|
||||
(SELECT c.prs_contactpersoon_naam
|
||||
|| DECODE (NVL (c.prs_contactpersoon_voorletters,
|
||||
''),
|
||||
'', '',
|
||||
', ' || c.prs_contactpersoon_voorletters
|
||||
)
|
||||
|| DECODE (NVL (c.prs_contactpersoon_tussenv, ''),
|
||||
'', '',
|
||||
' ' || c.prs_contactpersoon_tussenv
|
||||
)
|
||||
|| DECODE (NVL (c.prs_contactpersoon_voornaam, ''),
|
||||
'', '',
|
||||
' ('
|
||||
|| c.prs_contactpersoon_voornaam
|
||||
|| ')'
|
||||
) prs_contactpersoon_naam
|
||||
FROM prs_contactpersoon c
|
||||
WHERE c.prs_contactpersoon_key =
|
||||
cc.prs_contactpersoon_key)
|
||||
contactpersoon,
|
||||
(SELECT k.prs_kostenplaats_nr
|
||||
|| ' '
|
||||
|| k.prs_kostenplaats_omschrijving
|
||||
FROM prs_kostenplaats k
|
||||
WHERE k.prs_kostenplaats_key = cc.prs_kostenplaats_key)
|
||||
kostenplaats,
|
||||
cc.cnt_contract_termijnkosten termijnbedrag,
|
||||
cc.cnt_contract_kosten contractbedrag
|
||||
FROM cnt_contract cc,
|
||||
cnt_discipline cs,
|
||||
cnt_disc_params dp,
|
||||
cnt_typecontract tc,
|
||||
cnt_termijn rt,
|
||||
cnt_termijn ot
|
||||
WHERE cc.ins_discipline_key = cs.ins_discipline_key
|
||||
AND cc.ins_discipline_key = dp.cnt_ins_discipline_key
|
||||
AND dp.cnt_srtcontract_type = tc.cnt_typecontract_key
|
||||
AND cc.cnt_contract_rappeltermijn = rt.cnt_termijn_key
|
||||
AND cc.cnt_contract_opzegtermijn = ot.cnt_termijn_key
|
||||
AND cc.cnt_contract_verwijder IS NULL) basis
|
||||
LEFT JOIN
|
||||
(SELECT cp.cnt_contract_key contract_key,
|
||||
DECODE (cp.cnt_alg_plaats_code,
|
||||
'L', cp.cnt_alg_plaats_key,
|
||||
(SELECT l.alg_locatie_key
|
||||
FROM alg_gebouw g, alg_locatie l
|
||||
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||||
) locatie_key,
|
||||
DECODE (cp.cnt_alg_plaats_code,
|
||||
'L', (SELECT l.alg_locatie_code
|
||||
FROM alg_locatie l
|
||||
WHERE l.alg_locatie_key =
|
||||
cp.cnt_alg_plaats_key),
|
||||
(SELECT l.alg_locatie_code
|
||||
FROM alg_gebouw g, alg_locatie l
|
||||
WHERE g.alg_gebouw_key = cp.cnt_alg_plaats_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key)
|
||||
) locatie_code,
|
||||
DECODE (cp.cnt_alg_plaats_code,
|
||||
'G', cp.cnt_alg_plaats_key,
|
||||
NULL
|
||||
) gebouw_key,
|
||||
DECODE (cp.cnt_alg_plaats_code,
|
||||
'G', (SELECT g.alg_gebouw_code
|
||||
FROM alg_gebouw g
|
||||
WHERE g.alg_gebouw_key =
|
||||
cp.cnt_alg_plaats_key),
|
||||
NULL
|
||||
) gebouw_code
|
||||
FROM cnt_contract_plaats cp
|
||||
WHERE cp.cnt_contract_plaats_verwijder IS NULL) plaats
|
||||
ON basis.contract_key = plaats.contract_key;
|
||||
|
||||
/* Formatted on 31-1-2013 16:52:13 (QP5 v5.136.908.31019) */
|
||||
CREATE_VIEW(cnt_v_contract_huurder,0)
|
||||
(alg_onrgoed_key, cnt_contract_key, ins_discipline_key, cnt_prs_bedrijf_key1, cnt_prs_afdeling_key1,
|
||||
cnt_contract_onrgoed_key, cnt_contract_onrgoed_opp1, cnt_contract_onrgoed_type1, cnt_mld_melding_key, cnt_prs_bedrijf_key2,
|
||||
cnt_prs_afdeling_key2, cnt_contract_onrgoed_key2, cnt_contract_onrgoed_opp2, cnt_contract_onrgoed_type2, cnt_contract_key2)
|
||||
AS
|
||||
SELECT alg_onrgoed_key,
|
||||
org_contract_key AS cnt_contract_key,
|
||||
(SELECT ins_discipline_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_key = mut.org_contract_key)
|
||||
AS cnt_srtcontract_key,
|
||||
(SELECT c.cnt_prs_bedrijf_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_key = mut.org_contract_key)
|
||||
AS cnt_prs_bedrijf_key1,
|
||||
(SELECT c.cnt_prs_afdeling_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_key = mut.org_contract_key)
|
||||
AS cnt_prs_afdeling_key1,
|
||||
org_contract_onrgoed_key AS cnt_contract_onrgoed_key,
|
||||
org_contract_onrgoed_opp AS cnt_contract_onrgoed_opp1,
|
||||
NVL (
|
||||
(SELECT sr.alg_srtruimte_code
|
||||
FROM alg_srtruimte sr
|
||||
WHERE sr.alg_srtruimte_key = mut.org_alg_srtonrgoed_key
|
||||
AND mut.alg_onrgoed_niveau = 'R'),
|
||||
(SELECT st.alg_srtterreinsector_code
|
||||
FROM alg_srtterreinsector st
|
||||
WHERE st.alg_srtterreinsector_key = mut.org_alg_srtonrgoed_key))
|
||||
AS cnt_contract_onrgoed_type1,
|
||||
cnt_melding_key AS cnt_mld_melding_key,
|
||||
(SELECT c.cnt_prs_bedrijf_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_key = mut.mut_contract_key)
|
||||
AS cnt_prs_bedrijf_key2,
|
||||
(SELECT c.cnt_prs_afdeling_key
|
||||
FROM cnt_contract c
|
||||
WHERE c.cnt_contract_key = mut.mut_contract_key)
|
||||
AS cnt_prs_afdeling_key2,
|
||||
mut_contract_onrgoed_key AS cnt_contract_onrgoed_key2,
|
||||
mut_contract_onrgoed_opp AS cnt_contract_onrgoed_opp2,
|
||||
NVL (
|
||||
(SELECT sr.alg_srtruimte_code
|
||||
FROM alg_srtruimte sr
|
||||
WHERE sr.alg_srtruimte_key = mut.org_alg_srtonrgoed_key
|
||||
AND mut.alg_onrgoed_niveau = 'R'),
|
||||
(SELECT st.alg_srtterreinsector_code
|
||||
FROM alg_srtterreinsector st
|
||||
WHERE st.alg_srtterreinsector_key = mut.mut_alg_srtonrgoed_key))
|
||||
AS cnt_contract_onrgoed_type2,
|
||||
mut_contract_key
|
||||
FROM (SELECT cogo.alg_onrgoed_key,
|
||||
cogm.cnt_mld_melding_key AS cnt_melding_key,
|
||||
cogo.cnt_contract_key AS org_contract_key,
|
||||
cogo.cnt_contract_onrgoed_key AS org_contract_onrgoed_key,
|
||||
cogo.cnt_contract_onrgoed_opp AS org_contract_onrgoed_opp,
|
||||
cogo.alg_srtonrgoed_key AS org_alg_srtonrgoed_key,
|
||||
cogm.cnt_contract_key AS mut_contract_key,
|
||||
cogm.cnt_contract_onrgoed_key AS mut_contract_onrgoed_key,
|
||||
cogm.cnt_contract_onrgoed_opp AS mut_contract_onrgoed_opp,
|
||||
cogm.alg_srtonrgoed_key AS mut_alg_srtonrgoed_key,
|
||||
cogo.alg_onrgoed_niveau AS alg_onrgoed_niveau
|
||||
FROM cnt_contract_onrgoed cogo, cnt_contract_onrgoed cogm
|
||||
WHERE cogo.cnt_contract_onrgoed_key = cogm.cnt_contract_onrgoed_key_org
|
||||
AND cogo.cnt_mld_melding_key IS NULL
|
||||
AND cogm.cnt_mld_melding_key IS NOT NULL
|
||||
AND cogm.cnt_contract_onrgoed_key_org IS NOT NULL
|
||||
UNION ALL
|
||||
SELECT cogo.alg_onrgoed_key,
|
||||
cogo.cnt_mld_melding_key AS cnt_melding_key,
|
||||
cogo.cnt_contract_key AS org_contract_key,
|
||||
cogo.cnt_contract_onrgoed_key AS org_contract_onrgoed_key,
|
||||
cogo.cnt_contract_onrgoed_opp AS org_contract_onrgoed_opp,
|
||||
cogo.alg_srtonrgoed_key AS org_alg_srtonrgoed_key,
|
||||
TO_NUMBER (NULL) AS mut_contract_key,
|
||||
TO_NUMBER (NULL) AS mut_contract_onrgoed_key,
|
||||
TO_NUMBER (NULL) AS mut_contract_onrgoed_opp,
|
||||
TO_NUMBER (NULL) AS mut_alg_srtonrgoed_key,
|
||||
cogo.alg_onrgoed_niveau AS alg_onrgoed_niveau
|
||||
FROM cnt_contract_onrgoed cogo
|
||||
WHERE cogo.cnt_contract_onrgoed_key NOT IN
|
||||
(SELECT cnt_contract_onrgoed_key_org
|
||||
FROM cnt_contract_onrgoed
|
||||
WHERE cnt_contract_onrgoed_key_org IS NOT NULL)
|
||||
AND cogo.cnt_mld_melding_key IS NULL
|
||||
UNION ALL
|
||||
SELECT cogm.alg_onrgoed_key,
|
||||
cogm.cnt_mld_melding_key AS cnt_melding_key,
|
||||
TO_NUMBER (NULL) AS org_contract_key,
|
||||
TO_NUMBER (NULL) AS org_contract_onrgoed_key,
|
||||
TO_NUMBER (NULL) AS org_contract_onrgoed_opp,
|
||||
TO_NUMBER (NULL) AS org_alg_srtonrgoed_key,
|
||||
cogm.cnt_contract_key AS mut_contract_key,
|
||||
cogm.cnt_contract_onrgoed_key AS mut_contract_onrgoed_key,
|
||||
cogm.cnt_contract_onrgoed_opp AS mut_contract_onrgoed_opp,
|
||||
cogm.alg_srtonrgoed_key AS mut_alg_srtonrgoed_key,
|
||||
cogm.alg_onrgoed_niveau AS alg_onrgoed_niveau
|
||||
FROM cnt_contract_onrgoed cogm
|
||||
WHERE cogm.cnt_mld_melding_key IS NOT NULL AND cogm.cnt_contract_onrgoed_key_org IS NULL)
|
||||
mut;
|
||||
|
||||
-- Een eerste versie
|
||||
CREATE_VIEW(cnt_v_api_contracten, 1)
|
||||
AS
|
||||
SELECT c.cnt_contract_key contract_key,
|
||||
c.cnt_contract_nummer contract_nummer,
|
||||
c.cnt_contract_omschrijving omschrijving,
|
||||
c.cnt_contract_looptijd_van looptijd_van,
|
||||
c.cnt_contract_looptijd_tot looptijd_tot,
|
||||
c.cnt_contract_kosten kosten,
|
||||
c.cnt_contract_nummer_intern nummer_intern,
|
||||
c.cnt_contract_korting korting,
|
||||
c.cnt_contract_contact_persoon contactpersoon,
|
||||
c.cnt_contract_document beschrijving,
|
||||
c.cnt_contract_status status,
|
||||
c.cnt_contract_termijnkosten termijnkosten,
|
||||
c.cnt_contract_opmerking opmerking,
|
||||
c.cnt_contract_versie versie,
|
||||
c.cnt_contract_verlenging verlenging,
|
||||
cm.cnt_contract_nummer mantelcontract,
|
||||
b.prs_bedrijf_naam bedrijf,
|
||||
a1.prs_afdeling_naam afdeling,
|
||||
d.ins_discipline_omschrijving discipline,
|
||||
p1.prs_perslid_naam_full eigenaar,
|
||||
p2.prs_perslid_naam_full beheerder,
|
||||
kp.prs_kostenplaats_omschrijving,
|
||||
ks.prs_kostensoort_oms kostensoort,
|
||||
t1.cnt_termijn_omschrijving opzegtermijn,
|
||||
pd.prs_dienst_omschrijving dienst,
|
||||
cp.prs_contactpersoon_naam contactpersoon_extern,
|
||||
c.ins_discipline_key fclt_3d_discipline_key,
|
||||
c.cnt_prs_afdeling_key fclt_3d_afdeling_key
|
||||
FROM cnt_contract c,
|
||||
cnt_contract cm,
|
||||
prs_bedrijf b,
|
||||
prs_afdeling a1,
|
||||
ins_tab_discipline d,
|
||||
prs_v_perslid_fullnames_all p1,
|
||||
prs_v_perslid_fullnames_all p2,
|
||||
prs_kostenplaats kp,
|
||||
prs_kostensoort ks,
|
||||
cnt_termijn t1,
|
||||
prs_dienst pd,
|
||||
prs_contactpersoon cp
|
||||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||||
AND c.cnt_prs_afdeling_key = a1.prs_afdeling_key(+)
|
||||
AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)
|
||||
AND c.ins_discipline_key = d.ins_discipline_key(+)
|
||||
AND c.prs_perslid_key_eig = p1.prs_perslid_key(+)
|
||||
AND c.prs_perslid_key_beh = p2.prs_perslid_key(+)
|
||||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND c.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+)
|
||||
AND c.cnt_contract_opzegtermijn = t1.cnt_termijn_key
|
||||
AND c.prs_dienst_key = pd.prs_dienst_key(+)
|
||||
AND c.cnt_contract_verwijder IS NULL;
|
||||
|
||||
/* Formatted on 17-9-2013 16:56:26 (QP5 v5.115.810.9015) */
|
||||
CREATE_VIEW(cnt_v_rap_expimp_cnt, 0)
|
||||
(
|
||||
hide_f_result_order,
|
||||
@@ -136,9 +630,7 @@ AS
|
||||
'D',
|
||||
'N',
|
||||
'R',
|
||||
'S',
|
||||
'X',
|
||||
'B')
|
||||
'S')
|
||||
AND EXISTS
|
||||
(SELECT 1
|
||||
FROM cnt_kenmerk k
|
||||
@@ -153,12 +645,12 @@ AS
|
||||
DECODE (
|
||||
sk.cnt_srtkenmerk_kenmerktype,
|
||||
'R',
|
||||
flx.getdomeinwaarde (
|
||||
fac.getdomeinwaarde (
|
||||
sk.fac_kenmerkdomein_key,
|
||||
ck.cnt_kenmerkcontract_waarde
|
||||
),
|
||||
'S',
|
||||
flx.getdomeinwaarde (
|
||||
fac.getdomeinwaarde (
|
||||
sk.fac_kenmerkdomein_key,
|
||||
ck.cnt_kenmerkcontract_waarde
|
||||
),
|
||||
@@ -432,387 +924,6 @@ AS
|
||||
ck k25
|
||||
ON x.cnt_contract_key = k25.cnt_contract_key AND k25.vnr = 25;
|
||||
|
||||
/* ROOT VIEWS for User defined Reports (UDR) */
|
||||
/* NB: een contract komt net zo vaak voor als zijn scope */
|
||||
CREATE_VIEW(cnt_v_udr_contract, 1)
|
||||
(
|
||||
nummer,
|
||||
nummer_extern,
|
||||
versie,
|
||||
contractsoort,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
contractpartij,
|
||||
contractafdeling,
|
||||
contracteigenaar,
|
||||
contracteigenaar_key,
|
||||
contractbeheerder,
|
||||
contractbeheerder_key,
|
||||
begindatum,
|
||||
einddatum,
|
||||
opzegdatum,
|
||||
rappeldatum,
|
||||
opzegtermijn,
|
||||
rappeltermijn,
|
||||
fase_actief,
|
||||
status,
|
||||
contract_key,
|
||||
fclt_3d_discipline_key,
|
||||
fclt_3d_afdeling_key,
|
||||
srtcontract_type,
|
||||
fclt_3d_locatie_key,
|
||||
locatie_oms,
|
||||
locatie_omschrijving,
|
||||
locatie_plaats,
|
||||
regio_omschrijving,
|
||||
district_omschrijving,
|
||||
locatie_code,
|
||||
gebouw,
|
||||
gebouw_naam,
|
||||
terreinsector_code,
|
||||
terreinsector_naam,
|
||||
verdieping_code,
|
||||
ruimte_nr,
|
||||
ruimte_omschrijving,
|
||||
discipline_omschrijving,
|
||||
kostensoortgroep,
|
||||
kostensoort,
|
||||
kpn,
|
||||
kpn_omschrijving,
|
||||
kosten,
|
||||
termijnkosten,
|
||||
factuurtermijn,
|
||||
jaarkosten,
|
||||
korting,
|
||||
dienst_omschrijving
|
||||
)
|
||||
AS
|
||||
SELECT c.cnt_contract_nummer_intern,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_versie,
|
||||
lcl.x ('ins_discipline_omschrijving', cd.ins_discipline_key, cd.ins_discipline_omschrijving),
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_document,
|
||||
COALESCE (b.prs_bedrijf_naam, afd2.prs_afdeling_naam, pf2.prs_perslid_naam_full),
|
||||
d.prs_afdeling_omschrijving,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all
|
||||
WHERE prs_perslid_key = prs_perslid_key_eig),
|
||||
prs_perslid_key_eig contracteigenaar_key,
|
||||
(SELECT prs_perslid_naam_full
|
||||
FROM prs_v_perslid_fullnames_all
|
||||
WHERE prs_perslid_key = prs_perslid_key_beh),
|
||||
prs_perslid_key_beh contractbeheerder_key,
|
||||
c.cnt_contract_looptijd_van begindatum,
|
||||
c.cnt_contract_looptijd_tot einddatum,
|
||||
cnt.cnt_getopzegdatum (c.cnt_contract_key) cnt_opzegdatum,
|
||||
cnt.cnt_getrappeldatum (c.cnt_contract_key) cnt_rappeldatum,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c.cnt_contract_opzegtermijn)
|
||||
cnt_opzegtermijn,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c.cnt_contract_rappeltermijn)
|
||||
cnt_rappeltermijn,
|
||||
DECODE (cnt.cnt_contract_status (c.cnt_contract_looptijd_van,
|
||||
cnt.cnt_getrappeldatum (c.cnt_contract_key),
|
||||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||||
c.cnt_contract_looptijd_tot),
|
||||
0, lcl.l ('lcl_cnt_future'),
|
||||
1, lcl.l ('lcl_cnt_topical'),
|
||||
2, lcl.l ('lcl_cnt_warn'),
|
||||
3, lcl.l ('lcl_cnt_cancel'),
|
||||
4, lcl.l ('lcl_cnt_past'))
|
||||
fase_actief,
|
||||
DECODE (
|
||||
c.cnt_contract_status,
|
||||
0,
|
||||
DECODE (fac.getsetting ('cnt_contract_approval'),
|
||||
1, lcl.l ('lcl_cnt_active_approval'),
|
||||
lcl.l ('lcl_cnt_active')),
|
||||
1,
|
||||
lcl.l ('lcl_cnt_inactive'),
|
||||
2,
|
||||
lcl.l ('lcl_cnt_new'),
|
||||
3,
|
||||
lcl.l ('lcl_cnt_forapproval'))
|
||||
cnt_contract_status,
|
||||
c.cnt_contract_key cnt_contract_key,
|
||||
COALESCE (c.ins_discipline_key, -1) disc_key,
|
||||
c.prs_afdeling_key_eig eigenaar_key,
|
||||
(SELECT lcl.x ('cnt_typecontract_omschrijving',
|
||||
dp.cnt_srtcontract_type,
|
||||
cnt_typecontract_omschrijving)
|
||||
FROM cnt_typecontract
|
||||
WHERE cnt_typecontract_key = dp.cnt_srtcontract_type)
|
||||
cnt_srtcontract_type,
|
||||
alg_locatie_key,
|
||||
alg_locatie_oms,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_plaats,
|
||||
alg_regio_omschrijving,
|
||||
alg_district_omschrijving,
|
||||
alg_locatie_code,
|
||||
alg_gebouw_code,
|
||||
alg_gebouw_naam,
|
||||
alg_terreinsector_code,
|
||||
alg_terreinsector_naam,
|
||||
alg_verdieping_code,
|
||||
alg_ruimte_nr,
|
||||
alg_ruimte_omschrijving,
|
||||
cd.ins_discipline_omschrijving ins_discipline_omschrijving,
|
||||
(SELECT ksg.prs_kostensoortgrp_oms
|
||||
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
||||
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
|
||||
AND ks.prs_kostensoort_key = c.prs_kostensoort_key)
|
||||
kostensoortgroep,
|
||||
ks.prs_kostensoort_oms kostensoort,
|
||||
kp.prs_kostenplaats_nr kpn,
|
||||
kp.prs_kostenplaats_omschrijving kpn_omschrijving,
|
||||
ROUND (
|
||||
DECODE (
|
||||
fac.getsetting ('cnt_scopeverdeling'),
|
||||
1,
|
||||
cloc.cnt_contract_plaats_gewicht,
|
||||
0,
|
||||
COALESCE (cloc.cnt_contract_plaats_gewicht, 1) * c.cnt_contract_kosten
|
||||
/ (SELECT DECODE (SUM (COALESCE (cnt_contract_plaats_gewicht, 0)),
|
||||
0, 1,
|
||||
SUM (cnt_contract_plaats_gewicht))
|
||||
FROM cnt_contract_plaats ccp
|
||||
WHERE ccp.cnt_contract_key = c.cnt_contract_key),
|
||||
c.cnt_contract_kosten),
|
||||
2)
|
||||
kosten,
|
||||
c.cnt_contract_termijnkosten,
|
||||
(SELECT lcl.x ('cnt_termijn_omschrijving', cnt_termijn_key, cnt_termijn_omschrijving)
|
||||
FROM cnt_termijn
|
||||
WHERE cnt_termijn_key = c.cnt_contract_termijntermijn)
|
||||
factuurtermijn,
|
||||
DECODE (cnt.termijnjaarfactor (c.cnt_contract_termijntermijn),
|
||||
-1, TO_NUMBER (NULL),
|
||||
cnt.termijnjaarfactor (c.cnt_contract_termijntermijn) * cnt_contract_termijnkosten)
|
||||
jaarkosten,
|
||||
c.cnt_contract_korting,
|
||||
di.prs_dienst_omschrijving
|
||||
FROM prs_bedrijf b,
|
||||
cnt_v_aanwezigcontract c,
|
||||
prs_dienst di,
|
||||
prs_v_afdeling d,
|
||||
prs_afdeling afd2,
|
||||
prs_v_perslid_fullnames_all pf2,
|
||||
alg_district ad,
|
||||
alg_regio ar,
|
||||
cnt_disc_params dp,
|
||||
cnt_discipline cd,
|
||||
prs_kostenplaats kp,
|
||||
prs_kostensoort ks,
|
||||
(SELECT alg_locatie_omschrijving || ' (' || alg_locatie_code || ')' alg_locatie_oms,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_plaats,
|
||||
alg_locatie_code,
|
||||
alg_gebouw_code,
|
||||
alg_gebouw_naam,
|
||||
alg_terreinsector_code,
|
||||
alg_terreinsector_naam,
|
||||
alg_verdieping_code,
|
||||
alg_ruimte_nr,
|
||||
alg_ruimte_omschrijving,
|
||||
alg_district_key,
|
||||
cnt_contract_key,
|
||||
ll.alg_locatie_key,
|
||||
cnt_contract_plaats_gewicht
|
||||
FROM alg_locatie ll,
|
||||
alg_gebouw gg,
|
||||
alg_verdieping vv,
|
||||
alg_ruimte rr,
|
||||
alg_terreinsector tt,
|
||||
(SELECT cp.cnt_contract_key,
|
||||
cp.cnt_alg_plaats_key alg_locatie_key,
|
||||
NULL alg_gebouw_key,
|
||||
NULL alg_terreinsector_key,
|
||||
NULL alg_verdieping_key,
|
||||
NULL alg_ruimte_key,
|
||||
cnt_contract_plaats_gewicht
|
||||
FROM cnt_contract_plaats cp
|
||||
WHERE cnt_alg_plaats_code = 'L'
|
||||
UNION ALL
|
||||
SELECT cp.cnt_contract_key,
|
||||
g.alg_locatie_key,
|
||||
cp.cnt_alg_plaats_key alg_gebouw_key,
|
||||
NULL alg_terreinsector_key,
|
||||
NULL alg_verdieping_key,
|
||||
NULL alg_ruimte_key,
|
||||
cnt_contract_plaats_gewicht
|
||||
FROM cnt_contract_plaats cp, alg_gebouw g
|
||||
WHERE cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = g.alg_gebouw_key
|
||||
UNION ALL
|
||||
SELECT cp.cnt_contract_key,
|
||||
t.alg_locatie_key,
|
||||
NULL alg_gebouw_key,
|
||||
cp.cnt_alg_plaats_key alg_terreinsector_key,
|
||||
NULL alg_verdieping_key,
|
||||
NULL alg_ruimte_key,
|
||||
cnt_contract_plaats_gewicht
|
||||
FROM cnt_contract_plaats cp, alg_terreinsector t
|
||||
WHERE cnt_alg_plaats_code = 'T'
|
||||
AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key
|
||||
UNION ALL
|
||||
SELECT cp.cnt_contract_key,
|
||||
g.alg_locatie_key,
|
||||
g.alg_gebouw_key alg_gebouw_key,
|
||||
NULL alg_terreinsector_key,
|
||||
cp.cnt_alg_plaats_key alg_verdieping_key,
|
||||
NULL alg_ruimte_key,
|
||||
cnt_contract_plaats_gewicht
|
||||
FROM cnt_contract_plaats cp, alg_gebouw g, alg_verdieping v
|
||||
WHERE cnt_alg_plaats_code = 'V'
|
||||
AND cp.cnt_alg_plaats_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
UNION ALL
|
||||
SELECT cp.cnt_contract_key,
|
||||
g.alg_locatie_key,
|
||||
g.alg_gebouw_key alg_gebouw_key,
|
||||
NULL alg_terreinsector_key,
|
||||
v.alg_verdieping_key alg_verdieping_key,
|
||||
cp.cnt_alg_plaats_key alg_ruimte_key,
|
||||
cnt_contract_plaats_gewicht
|
||||
FROM cnt_contract_plaats cp,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
WHERE cnt_alg_plaats_code = 'R'
|
||||
AND cp.cnt_alg_plaats_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
UNION ALL
|
||||
SELECT co.cnt_contract_key,
|
||||
d.ins_alg_locatie_key,
|
||||
NULL alg_gebouw_key,
|
||||
NULL alg_terreinsector_key,
|
||||
NULL alg_verdieping_key,
|
||||
NULL alg_ruimte_key,
|
||||
NULL cnt_contract_plaats_gewicht
|
||||
FROM cnt_contract_object co, ins_deel d
|
||||
WHERE co.cnt_ins_deel_key = d.ins_deel_key) scloc
|
||||
WHERE ll.alg_locatie_key = scloc.alg_locatie_key
|
||||
AND gg.alg_gebouw_key(+) = scloc.alg_gebouw_key
|
||||
AND tt.alg_terreinsector_key(+) = scloc.alg_terreinsector_key
|
||||
AND vv.alg_verdieping_key(+) = scloc.alg_verdieping_key
|
||||
AND rr.alg_ruimte_key(+) = scloc.alg_ruimte_key) cloc
|
||||
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||||
AND c.cnt_prs_afdeling_key = afd2.prs_afdeling_key(+)
|
||||
AND c.cnt_prs_perslid_key = pf2.prs_perslid_key(+)
|
||||
AND c.prs_dienst_key = di.prs_dienst_key(+)
|
||||
AND d.prs_afdeling_key = c.prs_afdeling_key_eig
|
||||
AND c.ins_discipline_key = dp.cnt_ins_discipline_key
|
||||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||||
AND cloc.cnt_contract_key(+) = c.cnt_contract_key
|
||||
AND cloc.alg_district_key = ad.alg_district_key(+)
|
||||
AND ad.alg_regio_key = ar.alg_regio_key(+)
|
||||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||||
AND c.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||||
AND c.cnt_contract_key IN
|
||||
(SELECT cnt_contract_key
|
||||
FROM (SELECT cc.cnt_contract_key,
|
||||
ins_discipline_key,
|
||||
di.alg_regio_key,
|
||||
ll.alg_district_key,
|
||||
clk.alg_locatie_key
|
||||
FROM (SELECT cp.cnt_contract_key, cp.cnt_alg_plaats_key alg_locatie_key
|
||||
FROM cnt_contract_plaats cp
|
||||
WHERE cnt_alg_plaats_code = 'L'
|
||||
UNION ALL
|
||||
SELECT cp.cnt_contract_key, g.alg_locatie_key
|
||||
FROM cnt_contract_plaats cp, alg_gebouw g
|
||||
WHERE cnt_alg_plaats_code = 'G'
|
||||
AND cp.cnt_alg_plaats_key = g.alg_gebouw_key
|
||||
UNION ALL
|
||||
SELECT cp.cnt_contract_key, t.alg_locatie_key
|
||||
FROM cnt_contract_plaats cp, alg_terreinsector t
|
||||
WHERE cnt_alg_plaats_code = 'T'
|
||||
AND cp.cnt_alg_plaats_key = t.alg_terreinsector_key
|
||||
UNION ALL
|
||||
SELECT co.cnt_contract_key, d.ins_alg_locatie_key
|
||||
FROM cnt_contract_object co, ins_deel d
|
||||
WHERE co.cnt_ins_deel_key = d.ins_deel_key) clk,
|
||||
cnt_contract cc,
|
||||
alg_locatie ll,
|
||||
alg_district di
|
||||
WHERE cc.cnt_contract_key = clk.cnt_contract_key
|
||||
AND ll.alg_locatie_key(+) = clk.alg_locatie_key
|
||||
AND ll.alg_district_key = di.alg_district_key(+)) sc,
|
||||
prs_v_afdeling_boom boom
|
||||
WHERE boom.prs_afdeling_key = c.prs_afdeling_key_eig
|
||||
UNION ALL
|
||||
SELECT cnt_contract_key
|
||||
FROM cnt_contract c, prs_v_afdeling_boom boom
|
||||
WHERE NOT EXISTS (SELECT cnt_contract_key
|
||||
FROM cnt_contract_plaats cp
|
||||
WHERE cp.cnt_contract_key = c.cnt_contract_key)
|
||||
AND NOT EXISTS
|
||||
(SELECT cnt_contract_key
|
||||
FROM cnt_contract_object co
|
||||
WHERE co.cnt_contract_key = c.cnt_contract_key
|
||||
AND co.cnt_ins_deel_key IS NOT NULL)
|
||||
AND boom.prs_afdeling_key = c.prs_afdeling_key_eig);
|
||||
REGISTERRUN('$Workfile: CNT_VIE.SRC $','$Revision$')
|
||||
|
||||
|
||||
CREATE_VIEW(cnt_v_udr_contractkenmerk_cnd, 1)
|
||||
AS
|
||||
SELECT c.*,
|
||||
COALESCE(lcl.x('cnt_kenmerk_omschrijving', k.cnt_kenmerk_key, k.cnt_kenmerk_omschrijving),
|
||||
lcl.x('cnt_srtkenmerk_omschrijving', skm.cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving)) kenmerk,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'R'
|
||||
OR skm.cnt_srtkenmerk_kenmerktype = 'S'
|
||||
THEN
|
||||
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key,
|
||||
km.cnt_kenmerkcontract_waarde)
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'C'
|
||||
OR skm.cnt_srtkenmerk_kenmerktype = 'F'
|
||||
THEN
|
||||
km.cnt_kenmerkcontract_waarde
|
||||
ELSE
|
||||
NULL
|
||||
END
|
||||
waarde_c,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'N'
|
||||
OR skm.cnt_srtkenmerk_kenmerktype = 'B'
|
||||
THEN
|
||||
TO_NUMBER (km.cnt_kenmerkcontract_waarde)
|
||||
ELSE
|
||||
TO_NUMBER (NULL)
|
||||
END
|
||||
waarde_n,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'D'
|
||||
THEN
|
||||
TO_DATE (km.cnt_kenmerkcontract_waarde, 'DD-MM-YYYY')
|
||||
ELSE
|
||||
TO_DATE (NULL)
|
||||
END
|
||||
waarde_d,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype IN ('R', 'S')
|
||||
THEN
|
||||
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.cnt_kenmerkcontract_waarde)
|
||||
ELSE
|
||||
km.cnt_kenmerkcontract_waarde
|
||||
END
|
||||
waarde_x
|
||||
FROM cnt_v_udr_contract c,
|
||||
cnt_kenmerkcontract km,
|
||||
cnt_kenmerk K,
|
||||
cnt_srtkenmerk skm
|
||||
WHERE km.cnt_contract_key = c.contract_key
|
||||
AND km.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND k.cnt_kenmerk_verwijder IS NULL
|
||||
AND skm.cnt_srtkenmerk_verwijder IS NULL
|
||||
AND km.cnt_kenmerk_key = k.cnt_kenmerk_key(+)
|
||||
AND k.cnt_srtkenmerk_key = skm.cnt_srtkenmerk_key(+);
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
#endif // CNT
|
||||
|
||||
179
COMSQL.H
179
COMSQL.H
@@ -21,13 +21,17 @@
|
||||
* It is now defined by external macro _DBV
|
||||
*/
|
||||
/* The minimum required software version */
|
||||
#define _VERSIONMAJ 5
|
||||
#define _VERSIONMIN 3
|
||||
#define _VERSIONPATCH STRINGIZE(2)
|
||||
#define _VERSION '5.3.2'
|
||||
#define _DBV_STRING _MKSTRING(_DBV)
|
||||
|
||||
#define REGISTERONCE(svnid) \
|
||||
BEGIN adm.systrackscriptId(svnid, 1); END;~/
|
||||
#define REGISTERONCE(f, r) \
|
||||
BEGIN adm.systrackscript(f, r, 1); END;~/
|
||||
|
||||
#define REGISTERRUN(svnid) \
|
||||
BEGIN adm.systrackscriptId(svnid, 0); END;~/
|
||||
#define REGISTERRUN(f, r) \
|
||||
BEGIN adm.systrackscript(f, r, 0); END;~/
|
||||
|
||||
#define SET_VERWIJDER_CHILDREN(child_table, parent_key, parent_verwijder, \
|
||||
child_verwijder, table) \
|
||||
@@ -75,9 +79,6 @@ BEGIN adm.systrackscriptId(svnid, 0); END;~/
|
||||
END
|
||||
|
||||
|
||||
#define CREATE_TYPE(type_name) \
|
||||
CREATE TYPE type_name
|
||||
|
||||
#define CREATE_TABLE(table_name, level) \
|
||||
CREATE TABLE table_name
|
||||
|
||||
@@ -98,16 +99,16 @@ INTO x
|
||||
#define CREATE_SEQUENCE(sequence_name, minval) \
|
||||
CREATE SEQUENCE sequence_name MINVALUE minval;
|
||||
|
||||
#define CREATE_VIEW(view_name, level) \
|
||||
#define CREATE_VIEW(view_name, level) \
|
||||
CREATE OR REPLACE FORCE VIEW view_name
|
||||
|
||||
#define CREATE_TRIGGER(trigger_name) \
|
||||
#define CREATE_TRIGGER(trigger_name) \
|
||||
CREATE OR REPLACE TRIGGER trigger_name
|
||||
|
||||
#define _END_TRIGGER() \
|
||||
#define _END_TRIGGER() \
|
||||
END;~/
|
||||
|
||||
#define CREATE_PROCEDURE(pack_name, proc_name) \
|
||||
#define CREATE_PROCEDURE(pack_name, proc_name) \
|
||||
CREATE OR REPLACE PROCEDURE proc_name
|
||||
|
||||
#define MONEY \
|
||||
@@ -349,7 +350,7 @@ ELSIF
|
||||
|
||||
#define _FAC_MODULE(module,omschrijving) \
|
||||
INSERT INTO fac_module (fac_module_name, fac_module_version, fac_module_date, fac_module_remark, fac_module_extern) \
|
||||
VALUES (module,_DBV_STRING,TO_CHAR(SYSDATE,'YYYYMMDD'),omschrijving, 1);
|
||||
VALUES (module,_VERSION,TO_CHAR(SYSDATE,'YYYYMMDD'),omschrijving, 1);
|
||||
|
||||
#define APPLICATION_ERROR(code,text) raise_application_error(code, text)
|
||||
|
||||
@@ -624,114 +625,50 @@ CEIL
|
||||
|
||||
#define DEF_FAC_MESSAGE(a,b,c) INSERT INTO fac_message VALUES (a,b)
|
||||
|
||||
#define UPD_FAC_FUNCTIE2(c, o, m, l, d, g, i) UPDATE fac_functie SET fac_functie_omschrijving=o,fac_functie_module=m,fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_groep=g, fac_functie_info=i) WHERE fac_functie_code=c
|
||||
#define DEF_FAC_FUNCTIE3(c, m, l, d, g) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level, fac_functie_discipline, fac_functie_groep, fac_functie_info) VALUES(c, 'lcl_' || c, m, l, d, g, 'lcl_' || c || '_info')
|
||||
#define DEF_FAC_FUNCTIE3x(c, x, m, l, d, g) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level, fac_functie_discipline, fac_functie_groep, fac_functie_info) VALUES(c||x, 'lcl_' || c ||x, m, l, d, g, 'lcl_' || c || x ||'_info')
|
||||
#define DEF_FAC_SRTNOT(c, m, o, u, g, x, d) INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code, fac_srtnotificatie_mode, fac_srtnotificatie_oms, fac_srtnotificatie_url, fac_srtnotificatie_groep, fac_srtnotificatie_xmlnode, fac_srtnotificatie_delay) VALUES (c, m, o, u, g, x, d)
|
||||
|
||||
#define DEF_MENUKOP(g, s, i) INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_level) SELECT COALESCE(MAX(fac_menuitems_key),0)*100+50, s, g, i, 1 FROM fac_menuitems
|
||||
#define DEF_MENUKOPV(g, v, s, i) INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altlabel, fac_menu_altgroep, fac_menu_image, fac_menu_level) VALUES (v, s, g, i, 1)
|
||||
#define DEF_MENUITEM(g, l, i, m, u, s, d, f, rw, x, img) INSERT INTO fac_menuitems (fac_menuitems_groep, fac_menuitems_label, fac_menuitems_oms, fac_menuitems_module, fac_menuitems_url, fac_menuitems_srtdisc, fac_menuitems_disc, fac_functie_key, fac_menuitems_rw, fac_menuitems_default, fac_menuitems_image) SELECT g, l, i, m, u, s, d, fac_functie_key, rw, x, img FROM fac_functie WHERE fac_functie_code=f
|
||||
|
||||
#define DEF_MENUENTRY(g, v, l, i, m, u, s, d, f) INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altlabel, fac_menu_info, fac_menu_alturl, fac_menu_altgroep, fac_menu_level, fac_functie_key) SELECT v, l, i, u, g, 2, fac_functie_key FROM fac_functie WHERE fac_functie_code = f AND NOT EXISTS (SELECT '' FROM fac_menu WHERE fac_menu_alturl = u)
|
||||
#define DEF_FAC_FUNCTIE(c, o, m, l) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level) VALUES(c, o, m, l)
|
||||
#define UPD_FAC_FUNCTIE(c, o, m, l) UPDATE fac_functie SET fac_functie_omschrijving=0,fac_functie_module=m,fac_functie_min_level=l) WHERE fac_functie_code=c
|
||||
#define DEF_FAC_FUNCTIE2(c, o, m, l, d, g, i) INSERT INTO fac_functie (fac_functie_code, fac_functie_omschrijving,fac_functie_module,fac_functie_min_level, fac_functie_discipline, fac_functie_groep, fac_functie_info) VALUES(c, o, m, l, d, g, i)
|
||||
#define UPD_FAC_FUNCTIE2(c, o, m, l, d, g, i) UPDATE fac_functie SET fac_functie_omschrijving=0,fac_functie_module=m,fac_functie_min_level=l, fac_functie_discipline=d, fac_functie_groep=g, fac_functie_info=i) WHERE fac_functie_code=c
|
||||
#define DEF_FAC_SRTNOT(c, m, o, u, g, x) INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code, fac_srtnotificatie_mode, fac_srtnotificatie_oms, fac_srtnotificatie_url, fac_srtnotificatie_groep, fac_srtnotificatie_xmlnode) VALUES (c, m, o, u, g, x)
|
||||
|
||||
#define DEF_MENUKOP(g, s) INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altlabel, fac_menu_altgroep, fac_menu_level) SELECT COALESCE(MAX(fac_menuitems_key),0)*100+50, s, g, 1 FROM fac_menuitems
|
||||
#define DEF_MENUITEM(g, l, i, m, u, s, d, f, rw, x) INSERT INTO fac_menuitems (fac_menuitems_groep, fac_menuitems_label, fac_menuitems_oms, fac_menuitems_module, fac_menuitems_url, fac_menuitems_srtdisc, fac_menuitems_disc, fac_functie_key, fac_menuitems_rw, fac_menuitems_default) SELECT g, l, i, m, u, s, d, fac_functie_key, rw, x FROM fac_functie WHERE fac_functie_code=f
|
||||
#define DEF_SETTING(m, n, d, t) INSERT INTO fac_setting (fac_setting_module, fac_setting_name, fac_setting_default, fac_setting_description) VALUES (m, n, d, t)
|
||||
#define DEF_BOOKMARK(x, p, q) INSERT INTO fac_bookmark (fac_bookmark_id, fac_bookmark_naam, fac_bookmark_xmlnode, fac_bookmark_path, fac_bookmark_query) VALUES (DBMS_RANDOM.string ('a', 16), x, x, p, q)
|
||||
#define DEF_BOOKMARK(x, p, q)INSERT INTO fac_bookmark (fac_bookmark_id, fac_bookmark_naam, fac_bookmark_xmlnode, fac_bookmark_path, fac_bookmark_query) VALUES (DBMS_RANDOM.string ('a', 16), x, x, p, q)
|
||||
// We begonnen te denken dat het om statussen ging, maar het werd meer. De naam van de macro bleef echter
|
||||
#define DEF_STATUS(x, c, t) INSERT INTO fac_code2label (fac_code2label_domein ,fac_code2label_code, fac_code2label_label) VALUES (x, c, t)
|
||||
#define DEF_STATUS(x, c, t)INSERT INTO fac_code2label (fac_code2label_domein ,fac_code2label_code, fac_code2label_label) VALUES (x, c, t)
|
||||
|
||||
// Voeg (nieuwe, default) menukop met label a van groep g en level l toe na bestaande menuoptie met label b, increment n
|
||||
#define MENU_INSKOP_AFTER(a, b, g, n) INSERT INTO fac_menu (fac_menu_volgnr, fac_menu_altlabel, fac_menu_altgroep, fac_menu_level) SELECT fac_menu_volgnr + n, a, g, 1 FROM fac_menu m WHERE m.fac_menuitems_key = (SELECT MAX (mm.fac_menuitems_key) FROM fac_menu mm, fac_menuitems mmi WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key AND mmi.fac_menuitems_label = b)
|
||||
// Voeg (nieuwe, default) menuoptie met label a toe na de eerste bestaande menukop met label b, increment n
|
||||
#define MENU_INS_AFTERKOP(a, b, n) INSERT INTO fac_menu (fac_menuitems_key, fac_menu_altlabel, fac_menu_alturl, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_volgnr, fac_menu_level) SELECT i.fac_menuitems_key, i.fac_menuitems_label, i.fac_menuitems_url, i.fac_menuitems_groep, i.fac_menuitems_image, i.fac_menuitems_oms, MIN (m.fac_menu_volgnr) + n, 2 FROM fac_menuitems i, fac_menu m WHERE i.fac_menuitems_key = (SELECT MAX (mmi.fac_menuitems_key) FROM fac_menuitems mmi WHERE mmi.fac_menuitems_label = a) AND m.fac_menu_altlabel = b GROUP BY i.fac_menuitems_key
|
||||
#define MENU_INS_AFTERKOP(a, b, n) INSERT INTO fac_menu (fac_menuitems_key, fac_menu_volgnr) SELECT i.fac_menuitems_key, MIN (m.fac_menu_volgnr) + n FROM fac_menuitems i, fac_menu m WHERE i.fac_menuitems_key = (SELECT MAX (mmi.fac_menuitems_key) FROM fac_menuitems mmi WHERE mmi.fac_menuitems_label = a) AND m.fac_menu_altlabel = b GROUP BY i.fac_menuitems_key
|
||||
// Voeg (nieuwe, default) menuoptie met label a toe na bestaande menuoptie met label b, increment n
|
||||
#define MENU_INS_AFTER(a, b, n) INSERT INTO fac_menu (fac_menuitems_key, fac_menu_altlabel, fac_menu_alturl, fac_menu_altgroep, fac_menu_image, fac_menu_info, fac_menu_volgnr, fac_menu_level) SELECT i.fac_menuitems_key, i.fac_menuitems_label, i.fac_menuitems_url, i.fac_menuitems_groep, i.fac_menuitems_image, i.fac_menuitems_oms, m.fac_menu_volgnr + n, 2 FROM fac_menuitems i, fac_menu m WHERE i.fac_menuitems_key = (SELECT MAX(mmi.fac_menuitems_key) FROM fac_menuitems mmi WHERE mmi.fac_menuitems_label = a) AND m.fac_menuitems_key = (SELECT MAX(mm.fac_menuitems_key) FROM fac_menu mm, fac_menuitems mmi WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key AND mmi.fac_menuitems_label = b)
|
||||
#define MENU_INS_AFTER(a, b, n) INSERT INTO fac_menu (fac_menuitems_key, fac_menu_volgnr) SELECT i.fac_menuitems_key, m.fac_menu_volgnr + n FROM fac_menuitems i, fac_menu m WHERE i.fac_menuitems_key = (SELECT MAX(mmi.fac_menuitems_key) FROM fac_menuitems mmi WHERE mmi.fac_menuitems_label = a) AND m.fac_menuitems_key = (SELECT MAX(mm.fac_menuitems_key) FROM fac_menu mm, fac_menuitems mmi WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key AND mmi.fac_menuitems_label = b)
|
||||
// poging 1
|
||||
#define MENU_MOV_AFTER(b, a, n) UPDATE fac_menu SET fac_menu_volgnr = (SELECT m.fac_menu_volgnr + n FROM fac_menuitems i, fac_menu m WHERE m.fac_menuitems_key=i.fac_menuitems_key AND i.fac_menuitems_key = (SELECT MAX(mmi.fac_menuitems_key) FROM fac_menuitems mmi WHERE mmi.fac_menuitems_label = a)) WHERE fac_menuitems_key = (SELECT MAX(mm.fac_menuitems_key) FROM fac_menu mm, fac_menuitems mmi WHERE mm.fac_menuitems_key = mmi.fac_menuitems_key AND mmi.fac_menuitems_label = b)
|
||||
|
||||
|
||||
// Default widget's volgens;
|
||||
#define DEF_WIDGET(t, n, c, u, p) INSERT INTO fac_widget (fac_widget_type, fac_widget_naam, fac_widget_content, fac_widget_url, fac_widget_public) VALUES (UPPER(t), n, c, u, p)
|
||||
|
||||
// NOT_NULL(): Columnconstraint ipv. NOT NULL, De melding ORA-1400: mandatory (NOT NULL)...
|
||||
// geeft de constraintnaam niet, zodat de melding niet vertaald kan worden.
|
||||
// De CHECK() geeft het wel, dus wordt deze gebruikt.
|
||||
#define NOT_NULL(column, constraint_name) CONSTRAINT constraint_name CHECK(column IS NOT NULL)
|
||||
|
||||
#define DEF_IMPORT2(aut, code, oms_nl, oms_en, charset, folder, files) \
|
||||
DECLARE ~\
|
||||
imp_key NUMBER(10); ~\
|
||||
BEGIN ~\
|
||||
INSERT INTO fac_import_app (fac_import_app_code, ~\
|
||||
fac_import_app_oms, ~\
|
||||
fac_functie_key, ~\
|
||||
fac_import_app_charset, ~\
|
||||
fac_import_app_folder, ~\
|
||||
fac_import_app_files) ~\
|
||||
VALUES (UPPER (code), ~\
|
||||
oms_nl, ~\
|
||||
(SELECT fac_functie_key ~\
|
||||
FROM fac_functie ~\
|
||||
WHERE fac_functie_code = aut), ~\
|
||||
charset, ~\
|
||||
folder, ~\
|
||||
files) ~\
|
||||
RETURNING fac_import_app_key INTO imp_key; ~\
|
||||
INSERT INTO fac_locale (fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst) ~\
|
||||
VALUES ('EN', imp_key, 'FAC_IMPORT_APP_OMS', oms_en); ~\
|
||||
END; ~\
|
||||
/ ~\
|
||||
/* Macros voor het vullen van de INS bibliotheek in INS_DATA.SRC */
|
||||
#define DEF_DISCIPLINE(ldis)\
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_omschrijving, ins_discipline_min_level) \
|
||||
VALUES('INS', SUBSTR(ldis ,1, 30), 1)
|
||||
|
||||
#define DEF_IMPORT(aut, code, oms_nl, oms_en) \
|
||||
DEF_IMPORT2(aut, code, oms_nl, oms_en, NULL, NULL, NULL) ~\
|
||||
|
||||
#define DEF_RAPPORT(aut, func, view, oms_nl, info_nl, oms_en, info_en) \
|
||||
DECLARE ~\
|
||||
rap_key NUMBER(10); ~\
|
||||
BEGIN ~\
|
||||
INSERT INTO fac_usrrap ~\
|
||||
( fac_usrrap_omschrijving, fac_usrrap_view_name ~\
|
||||
, fac_usrrap_vraagbegindatum, fac_usrrap_vraageinddatum ~\
|
||||
, fac_usrrap_functie, fac_usrrap_autorefresh ~\
|
||||
, fac_usrrap_info ~\
|
||||
, fac_functie_key ~\
|
||||
) ~\
|
||||
VALUES ( oms_nl, view, 0, 0, func, 0, info_nl ~\
|
||||
, (SELECT fac_functie_key FROM fac_functie ~\
|
||||
WHERE fac_functie_code = aut ~\
|
||||
) ~\
|
||||
) ~\
|
||||
RETURNING fac_usrrap_key INTO rap_key; ~\
|
||||
INSERT INTO fac_locale ( fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst) ~\
|
||||
VALUES ('EN', rap_key, 'FAC_USRRAP_OMSCHRIJVING', oms_en); ~\
|
||||
INSERT INTO fac_locale ( fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst) ~\
|
||||
VALUES ('EN', rap_key, 'FAC_USRRAP_INFO', info_en); ~\
|
||||
END; ~\
|
||||
/ ~\
|
||||
|
||||
#define DEF_RAPPORT_COL(oms_nl, volgnr, col, f, d, t, v, label_nl, label_en) \
|
||||
DECLARE ~\
|
||||
col_key NUMBER(10); ~\
|
||||
BEGIN ~\
|
||||
INSERT INTO fac_usrrap_cols ~\
|
||||
( fac_usrrap_key, fac_usrrap_cols_volgnr ~\
|
||||
, fac_usrrap_cols_column_name, fac_usrrap_cols_caption ~\
|
||||
, fac_usrrap_cols_filter, fac_usrrap_cols_filterdefault ~\
|
||||
, fac_usrrap_cols_datatype, fac_usrrap_cols_visible ~\
|
||||
) ~\
|
||||
VALUES ( (SELECT fac_usrrap_key ~\
|
||||
FROM fac_usrrap ~\
|
||||
WHERE fac_usrrap_omschrijving = oms_nl ~\
|
||||
) ~\
|
||||
, volgnr, col, label_nl ~\
|
||||
, f, d, t, v ~\
|
||||
) ~\
|
||||
RETURNING fac_usrrap_cols_key INTO col_key; ~\
|
||||
/* INSERT INTO fac_locale ( fac_locale_lang, fac_locale_kolomkeyval, fac_locale_kolomnaam, fac_locale_tekst) */ ~\
|
||||
/* VALUES ('EN', col_key, 'FAC_USRRAP_COLS_CAPTION', label_en); */ ~\
|
||||
END; ~\
|
||||
/ ~\
|
||||
#define DEF_GROEPSOORT(ldis, lgrp)\
|
||||
INSERT INTO ins_srtgroep (ins_discipline_key, ins_srtgroep_module, ins_srtgroep_omschrijving) \
|
||||
SELECT ins_discipline_key, 'INS', SUBSTR(lgrp, 1,30) FROM ins_tab_discipline \
|
||||
WHERE SUBSTR(UPPER(ins_discipline_omschrijving),1,30) = SUBSTR(UPPER(ldis),1,30)
|
||||
|
||||
#define DEF_DEELSOORT(ldis, lgrp, lds, lsym, lcode)\
|
||||
INSERT INTO ins_srtdeel \
|
||||
(ins_srtgroep_key, ins_srtdeel_module, ins_srtdeel_code, \
|
||||
ins_srtdeel_acadsymbol, ins_srtdeel_omschrijving,ins_srtdeel_dimensie) \
|
||||
SELECT ins_srtgroep_key, 'INS', lcode ,lsym, SUBSTR(lds,1,30), 0 \
|
||||
FROM ins_srtgroep \
|
||||
WHERE SUBSTR(UPPER(ins_srtgroep_omschrijving),1,30) = SUBSTR(UPPER(lgrp),1,30)
|
||||
|
||||
#define BEGIN_MODULE(m) \
|
||||
DECLARE ~\
|
||||
@@ -754,6 +691,12 @@ END; ~\
|
||||
SQL_SPOOL(START n.m) ~\
|
||||
END_MODULE(m)
|
||||
|
||||
#define __T__USER_OBJECTS__OBJECT_TYPE__TYPE \
|
||||
VARCHAR2(50)
|
||||
|
||||
#define __T__ins_discipline__ins_discipline_key__TYPE \
|
||||
NUMBER(10)
|
||||
|
||||
#define START_LOCALEITEMS(dialect_id) \
|
||||
DECLARE ~ \
|
||||
v_dialect_id fac_localeitems.fac_localeitems_dialect_id%TYPE; ~ \
|
||||
@@ -774,36 +717,4 @@ END; ~\
|
||||
/ ~ \
|
||||
COMMIT;
|
||||
|
||||
#define AUDIT_BEGIN(table) ~\
|
||||
CREATE OR REPLACE TRIGGER aud_t_##table## ~\
|
||||
AFTER INSERT OR UPDATE OR DELETE ON table ~\
|
||||
FOR EACH ROW ~\
|
||||
DECLARE ~\
|
||||
action VARCHAR2(1); ~\
|
||||
BEGIN ~\
|
||||
IF DELETING THEN ~\
|
||||
action := 'D'; ~\
|
||||
ELSIF INSERTING THEN ~\
|
||||
action := 'I'; ~\
|
||||
ELSE ~\
|
||||
action := 'U'; ~\
|
||||
END IF;
|
||||
|
||||
#define AUDIT_VALUE_K(table, tablekey, column) ~\
|
||||
aud.auditaction(STRINGIZE(table), ~\
|
||||
:old.tablekey, ~\
|
||||
:new.tablekey, ~\
|
||||
STRINGIZE(column), ~\
|
||||
:old.column, ~\
|
||||
:new.column, ~\
|
||||
action);
|
||||
|
||||
#define AUDIT_VALUE(table, column) ~\
|
||||
AUDIT_VALUE_K(table, table##_key, column)
|
||||
|
||||
#define AUDIT_END() ~\
|
||||
END; ~\
|
||||
/ ~ \
|
||||
|
||||
|
||||
#endif // _COMSQL_H
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE UNIQUE INDEX ctr_i_ctr_disc_params1 ON ctr_disc_params(ctr_ins_discipline_key);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
_FAC_MODULE('CTR','lcl_module_CTR')
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_omschrijving) values ('CTR', 'Controle');
|
||||
INSERT INTO ctr_disc_params(ctr_ins_discipline_key, ctr_disc_params_controle_type)
|
||||
SELECT MAX(ins_discipline_key), 1 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_omschrijving) values ('CTR', 'Vervanging');
|
||||
INSERT INTO ctr_disc_params(ctr_ins_discipline_key, ctr_disc_params_controle_type)
|
||||
SELECT MAX(ins_discipline_key), 2 FROM ins_tab_discipline;
|
||||
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_module, ins_discipline_omschrijving) values ('CTR', 'Certificering');
|
||||
insert into ctr_disc_params(ctr_ins_discipline_key, ctr_disc_params_controle_type)
|
||||
SELECT MAX(ins_discipline_key), 3 FROM ins_tab_discipline;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // MRK
|
||||
123
CTR/CTR_LCL.SRC
123
CTR/CTR_LCL.SRC
@@ -1,123 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Id$
|
||||
* $Revision$
|
||||
*/
|
||||
|
||||
START_LOCALEITEMS('CTR_DISCIPLINE_KEY')
|
||||
DEFINE_LOCALEITEM(ins_controlemode_success)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_groep)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_kosten)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_kosten2)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_kosten3)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_materiaal)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_opmerking)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_percentage)
|
||||
DEFINE_LOCALEITEM(ins_srtcontrole_uren)
|
||||
DEFINE_LOCALEITEM(lcl_bld_terra)
|
||||
DEFINE_LOCALEITEM(lcl_building)
|
||||
DEFINE_LOCALEITEM(lcl_cancel)
|
||||
DEFINE_LOCALEITEM(lcl_change)
|
||||
DEFINE_LOCALEITEM(lcl_count)
|
||||
DEFINE_LOCALEITEM(lcl_date)
|
||||
DEFINE_LOCALEITEM(lcl_delete)
|
||||
DEFINE_LOCALEITEM(lcl_discipline)
|
||||
DEFINE_LOCALEITEM(lcl_district)
|
||||
DEFINE_LOCALEITEM(lcl_estate_gebouw_title)
|
||||
DEFINE_LOCALEITEM(lcl_ins_additional_details)
|
||||
DEFINE_LOCALEITEM(lcl_ins_change_xcp)
|
||||
DEFINE_LOCALEITEM(lcl_ins_close)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_act_req)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_afgemeld)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_afgerond)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_dagelijks)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_datum)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_derde)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_eenheid)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_eennalaatste)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_eerste)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_first)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_gestart)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_groep)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_identical_values)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_is_upd)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_jaarlijks)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_laatste)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_legenda)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_maandelijks)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_mode)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_notholiday)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_opm)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_pending)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_fronttext)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_ofthemonth)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearday)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearhour)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearmonth)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearmonthon)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearweek)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearweekon)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearyear)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_period_rearyearin)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_plan)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_plandate)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_soon)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_srt)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_srt_verplicht)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_ter_uitvoer)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_tweede)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_uurlijks)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_vierde)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_vijfde)
|
||||
DEFINE_LOCALEITEM(lcl_ins_controle_wekelijks)
|
||||
DEFINE_LOCALEITEM(lcl_ins_finish)
|
||||
DEFINE_LOCALEITEM(lcl_ins_finishing)
|
||||
DEFINE_LOCALEITEM(lcl_ins_info)
|
||||
DEFINE_LOCALEITEM(lcl_ins_inspecteur)
|
||||
DEFINE_LOCALEITEM(lcl_ins_interval_kenmerken)
|
||||
DEFINE_LOCALEITEM(lcl_ins_kosten)
|
||||
DEFINE_LOCALEITEM(lcl_ins_object)
|
||||
DEFINE_LOCALEITEM(lcl_ins_planned_activities)
|
||||
DEFINE_LOCALEITEM(lcl_ins_respijt)
|
||||
DEFINE_LOCALEITEM(lcl_ins_schedule)
|
||||
DEFINE_LOCALEITEM(lcl_ins_srtcontrole_insp)
|
||||
DEFINE_LOCALEITEM(lcl_ins_srtcontrole_repl)
|
||||
DEFINE_LOCALEITEM(lcl_ins_srtcontrole_type)
|
||||
DEFINE_LOCALEITEM(lcl_ins_start)
|
||||
DEFINE_LOCALEITEM(lcl_ins_starting)
|
||||
DEFINE_LOCALEITEM(lcl_ins_status)
|
||||
DEFINE_LOCALEITEM(lcl_ins_vervaldatum)
|
||||
DEFINE_LOCALEITEM(lcl_location)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_becancelled)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_dragdrop)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_frequency)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_group)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_inclbtw)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_inflation)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_overruled_xcp)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_phasingout)
|
||||
DEFINE_LOCALEITEM(lcl_mjb_uptoyear)
|
||||
DEFINE_LOCALEITEM(lcl_name)
|
||||
DEFINE_LOCALEITEM(lcl_obj_group)
|
||||
DEFINE_LOCALEITEM(lcl_obj_identification)
|
||||
DEFINE_LOCALEITEM(lcl_obj_sort)
|
||||
DEFINE_LOCALEITEM(lcl_opdr_plandate)
|
||||
DEFINE_LOCALEITEM(lcl_park)
|
||||
DEFINE_LOCALEITEM(lcl_remark)
|
||||
DEFINE_LOCALEITEM(lcl_search)
|
||||
DEFINE_LOCALEITEM(lcl_search_generic)
|
||||
DEFINE_LOCALEITEM(lcl_select_controlemode)
|
||||
DEFINE_LOCALEITEM(lcl_select_discipline)
|
||||
DEFINE_LOCALEITEM(lcl_select_srtcontrole)
|
||||
DEFINE_LOCALEITEM(lcl_shared_doaction)
|
||||
DEFINE_LOCALEITEM(lcl_show)
|
||||
DEFINE_LOCALEITEM(lcl_status_details)
|
||||
DEFINE_LOCALEITEM(lcl_submit)
|
||||
DEFINE_LOCALEITEM(lcl_Total)
|
||||
DEFINE_LOCALEITEM(lcl_valutasign)
|
||||
END_LOCALEITEMS()
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
#endif // CTR
|
||||
@@ -1,10 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CTR
|
||||
@@ -1,11 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE ctr_s_ctr_disc_params_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // CTR
|
||||
@@ -1,33 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE_TABLE (ctr_disc_params,0)
|
||||
(
|
||||
ctr_disc_params_key
|
||||
NUMBER(10),
|
||||
ctr_ins_discipline_key
|
||||
NUMBER(10),
|
||||
ctr_disc_params_controle_type // 1=controle, 2=vervanging, 3=certificering, rest ntb
|
||||
NUMBER(1)
|
||||
DEFAULT(1)
|
||||
CONSTRAINT ctr_disc_params_controle_type NOT NULL,
|
||||
ctr_disc_params_ismjob
|
||||
NUMBER(1) -- valid are 0, 1
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
mld_stdmelding_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT mld_r_mld_stdmelding_key6 REFERENCES mld_stdmelding,
|
||||
|
||||
CONSTRAINT ctr_c_ins_discipline_key CHECK (ctr_ins_discipline_key IS NOT NULL),
|
||||
CONSTRAINT ctr_k_ctr_disc_params_key PRIMARY KEY (ctr_disc_params_key),
|
||||
CONSTRAINT ctr_r_ins_discipine_key FOREIGN KEY (ctr_ins_discipline_key)
|
||||
REFERENCES ins_tab_discipline (ins_discipline_key)
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // CTR
|
||||
@@ -1,25 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
AUDIT_BEGIN(ctr_disc_params)
|
||||
AUDIT_VALUE(ctr_disc_params, ctr_ins_discipline_key)
|
||||
AUDIT_VALUE(ctr_disc_params, ctr_disc_params_controle_type)
|
||||
AUDIT_VALUE(ctr_disc_params, ctr_disc_params_ismjob)
|
||||
AUDIT_VALUE(ctr_disc_params, mld_stdmelding_key)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(ctr_t_ctr_disc_params_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON ctr_disc_params
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(ctr_disc_params_key, ctr_s_ctr_disc_params_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CTR
|
||||
512
CTR/CTR_VIE.SRC
512
CTR/CTR_VIE.SRC
@@ -1,512 +0,0 @@
|
||||
#ifdef CTR
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
|
||||
CREATE_VIEW(ctr_discipline, 0)
|
||||
AS
|
||||
SELECT * FROM ins_tab_discipline WHERE ins_discipline_module = 'CTR';
|
||||
|
||||
DEFINIEER_VIEW_AANWEZIG(ctr_discipline, ins_discipline_verwijder,
|
||||
ctr_v_aanwezigdiscipline, 0);
|
||||
|
||||
CREATE_VIEW(ctr_v_monthly_recurring_tasks, 0)
|
||||
AS
|
||||
-- Inspecties die dit jaar en volgend jaar nog uitgevoerd moeten worden.
|
||||
SELECT ig.discipline,
|
||||
ig.soort,
|
||||
ig.groep,
|
||||
ig.soortcode,
|
||||
ig.omschrijving object,
|
||||
ig.opmerking,
|
||||
ig.locatie_omschrijving locatie,
|
||||
ig.gebouw,
|
||||
ig.ruimtenr,
|
||||
ig.perslid persoon,
|
||||
ig.aantal,
|
||||
ig.srtcontrole_omschrijving taak,
|
||||
ig.ins_srtcontrole_eenheid eenheid,
|
||||
ig.ins_srtcontrole_periode periode,
|
||||
ig.taaksoort,
|
||||
ig.ins_deelsrtcontrole_datum inspectiedatum,
|
||||
ig.controlemode_omschrijving taakafhandeling,
|
||||
ig.ins_deelsrtcontrole_opmerking inspectie_opmerking,
|
||||
ins_deelsrtcontrole_status inspectie_code,
|
||||
ig.deelsrtcontrole_status inspectie_status,
|
||||
ins_controlemode_success succesvol,
|
||||
TO_CHAR(ig.volgendedatum, 'MM') maand,
|
||||
TO_CHAR(ig.volgendedatum, 'YYYY') jaar,
|
||||
TO_CHAR(ig.volgendedatum, 'YYYY-MM') jaarmaand,
|
||||
ig.ins_deelsrtcontrole_datum_org orgdatum,
|
||||
ig.ins_deelsrtcontrole_plandatum plandatum,
|
||||
ig.volgendedatum,
|
||||
ig.vervaldatum,
|
||||
ig.ins_deel_key deel_key,
|
||||
ig.ins_srtcontrole_key,
|
||||
ig.ins_deelsrtcontrole_key
|
||||
FROM (WITH
|
||||
comps(ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_deelsrtcontrole_datum,
|
||||
ins_srtcontrole_mode,
|
||||
ins_srtcontrole_eenheid,
|
||||
ins_srtcontrole_periode,
|
||||
ins_srtcontrole_bits,
|
||||
volgendedatum,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
locatie_omschrijving,
|
||||
gebouw,
|
||||
ruimtenr,
|
||||
aantal,
|
||||
srtcontrole_omschrijving,
|
||||
taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_controlemode_success,
|
||||
deelsrtcontrole_status,
|
||||
vervaldatum,
|
||||
ins_deelsrtcontrole_key)
|
||||
AS
|
||||
(SELECT *
|
||||
FROM (
|
||||
-- 1a) Dit deel bepaald de laatste inspectie (geplande(0), gestarte(2), afgemeld(5) of verwerkt(6)),
|
||||
-- inclusief de allereerste inspectie die nog niet gereed gemeld is.
|
||||
SELECT di.deel_key ins_deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
di.ins_deelsrtcontrole_datum,
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
COALESCE(di.ins_deelsrtcontrole_plandatum,
|
||||
CASE
|
||||
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
|
||||
AND di.ins_deelsrtcontrole_datum_org IS NULL
|
||||
THEN -- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
|
||||
-- Periodieke taken:
|
||||
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
|
||||
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
|
||||
-- Er geldt dan het volgende:
|
||||
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
|
||||
-- Voor Vervanging(2) of Certificering(3):
|
||||
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
|
||||
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
|
||||
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
|
||||
-- zijn de startdatum en registratiedatum niet meer van belang.
|
||||
CASE
|
||||
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
|
||||
--WHEN di.ctr_ismjob = 1
|
||||
--THEN
|
||||
-- ins_deelsrtcontrole_freezedate
|
||||
WHEN xcp.ctr_controle_type = 1
|
||||
THEN -- Controle(1).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
xcp.ins_deel_aanmaak
|
||||
END
|
||||
ELSE -- Vervanging(2), Certificering(3).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
fac.nextcyclusdate(
|
||||
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
|
||||
COALESCE(
|
||||
NULL,
|
||||
GREATEST(
|
||||
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
|
||||
xcp.ins_deel_aanmaak),
|
||||
COALESCE(xcp.ins_deel_aanmaak,
|
||||
xcp.ins_srtcontroledl_xcp_startdat))),
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
|
||||
0) -- Er geldt dat (ctr_ismjob = 0)
|
||||
END
|
||||
END
|
||||
WHEN di.ins_deelsrtcontrole_status IN (2, 3)
|
||||
AND di.ins_deelsrtcontrole_datum_org IS NOT NULL
|
||||
THEN -- Gestart(2) en niet de allereerste inspectie.
|
||||
di.ins_deelsrtcontrole_datum_org
|
||||
ELSE -- Status is Gereed gemeld(5) of Voltooid(6).
|
||||
CASE xcp.ins_srtcontrole_mode
|
||||
WHEN 0
|
||||
THEN -- Moment mode: ga uit van de originele berekende inspectiedatum.
|
||||
di.ins_deelsrtcontrole_datum_org
|
||||
ELSE -- Interval mode: ga uit van de werkelijke inspectiedatum.
|
||||
di.ins_deelsrtcontrole_datum
|
||||
END
|
||||
END) volgendedatum,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
opmerking,
|
||||
locatie_omschrijving,
|
||||
gebouw,
|
||||
ruimtenr,
|
||||
aantal,
|
||||
srtcontrole_omschrijving,
|
||||
ctr_discipline_omschrijving taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
di.ins_deelsrtcontrole_status,
|
||||
COALESCE(
|
||||
(SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT di2.ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
|
||||
-1) ins_controlemode_success,
|
||||
CASE di.ins_deelsrtcontrole_status
|
||||
WHEN 0
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_pending')
|
||||
WHEN 2
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_gestart')
|
||||
WHEN 3
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_ter_uitvoer')
|
||||
WHEN 5
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT di2.ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
WHEN 6
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
END deelsrtcontrole_status,
|
||||
xcp.ins_srtcontrole_eind vervaldatum,
|
||||
di.ins_deelsrtcontrole_key
|
||||
FROM ins_v_udr_deelinspect di,
|
||||
ins_v_defined_inspect_xcp xcp,
|
||||
ctr_disc_params dp
|
||||
WHERE di.ins_srtcontrole_key = xcp.ins_srtcontrole_key
|
||||
AND di.deel_key = xcp.ins_deel_key
|
||||
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||||
AND dp.ctr_disc_params_ismjob = 0
|
||||
AND xcp.ins_srtcontrole_eenheid > 2
|
||||
AND xcp.ins_scenario_key = 1
|
||||
AND xcp.ins_srtcontrole_periode > 0
|
||||
AND di.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole id2
|
||||
WHERE id2.ins_deel_key = di.deel_key
|
||||
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
|
||||
AND id2.ins_scenario_key = 1)
|
||||
UNION ALL
|
||||
-- 1b) Dit deel bepaald de allereerste inspectie van een taak die nog niet ingepland of gestart is. Er is dus nog geen ins_deelsrtcontrole record van
|
||||
SELECT d.deel_key ins_deel_key,
|
||||
xcp.ins_srtcontrole_key,
|
||||
NULL,
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
-- Gestart(2) en de allereerste inspectie (ins_deelsrtcontrole_datum_org is NULL).
|
||||
-- Periodieke taken:
|
||||
-- De startdatum is MAX(startdatum, aanmaakdatum/registratiedatum) en heeft altijd een waarde (ins_deel_aanmaak is altijd gevuld).
|
||||
-- Er is nog geen inspectie geweest en de startdatum is ingevuld of de registratiedatum ligt in de toekomst.
|
||||
-- Er geldt dan het volgende:
|
||||
-- Voor Controle(1): Eerste inspectie tonen op MAX(startdatum, registratiedatum) van het object.
|
||||
-- Voor Vervanging(2) of Certificering(3):
|
||||
-- a) Als de startdatum het verst ligt: Eerste inspectie tonen op de startdatum.
|
||||
-- b) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
|
||||
-- De aanmaakdatum/Registratiedatum is altijd ingevuld en als er al een inspectie is geweest,
|
||||
-- zijn de startdatum en registratiedatum niet meer van belang.
|
||||
CASE
|
||||
-- Er geldt dat (ctr_ismjob = 0), dus de eerste when is toch niet geldig.
|
||||
--WHEN xcp.ctr_ismjob = 1
|
||||
--THEN
|
||||
-- xcp.ins_deelsrtcontrole_freezedate
|
||||
WHEN xcp.ctr_controle_type = 1
|
||||
THEN -- Controle(1).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
xcp.ins_deel_aanmaak
|
||||
END
|
||||
ELSE -- Vervanging(2), Certificering(3).
|
||||
CASE
|
||||
WHEN xcp.ins_srtcontroledl_xcp_startdat IS NOT NULL
|
||||
AND xcp.ins_srtcontroledl_xcp_startdat >= xcp.ins_deel_aanmaak
|
||||
THEN
|
||||
xcp.ins_srtcontroledl_xcp_startdat
|
||||
ELSE
|
||||
fac.nextcyclusdate(
|
||||
-- er is nog geen inspectie geweest, dus de laatste inspectie is null
|
||||
COALESCE(
|
||||
NULL,
|
||||
GREATEST(
|
||||
COALESCE(xcp.ins_srtcontroledl_xcp_startdat,
|
||||
xcp.ins_deel_aanmaak),
|
||||
COALESCE(xcp.ins_deel_aanmaak,
|
||||
xcp.ins_srtcontroledl_xcp_startdat))),
|
||||
xcp.ins_srtcontrole_mode,
|
||||
xcp.ins_srtcontrole_eenheid,
|
||||
xcp.ins_srtcontrole_periode,
|
||||
xcp.ins_srtcontrole_bits,
|
||||
1, -- steps. De eerste inspectie is nog niet geweest dus 1 periode verder dan startdatum/aanmaakdatum.
|
||||
0) -- Er geldt dat (ctr_ismjob = 0)
|
||||
END
|
||||
END
|
||||
volgendedatum,
|
||||
d.discipline,
|
||||
d.soort,
|
||||
d.groep,
|
||||
d.soortcode,
|
||||
d.omschrijving,
|
||||
d.opmerking,
|
||||
d.locatie_omschrijving,
|
||||
d.gebouw,
|
||||
d.ruimtenr,
|
||||
d.aantal,
|
||||
(SELECT isc.ins_srtcontrole_omschrijving
|
||||
FROM ins_srtcontrole isc
|
||||
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key) srtcontrole_omschrijving,
|
||||
(SELECT cd.ins_discipline_omschrijving
|
||||
FROM ctr_discipline cd,
|
||||
ins_srtcontrole isc
|
||||
WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key
|
||||
AND isc.ctr_discipline_key = cd.ins_discipline_key) taaksoort,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
NULL controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
NULL perslid,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
-1 ins_deelsrtcontrole_status,
|
||||
-1 ins_controlemode_success,
|
||||
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
|
||||
xcp.ins_srtcontrole_eind vervaldatum,
|
||||
NULL ins_deelsrtcontrole_key
|
||||
FROM ins_v_udr_deel d,
|
||||
ins_deelsrtcontrole idsc,
|
||||
ins_v_defined_inspect_xcp xcp,
|
||||
ctr_disc_params dp
|
||||
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)
|
||||
AND xcp.ins_deel_key = idsc.ins_deel_key(+)
|
||||
AND xcp.ins_scenario_key = idsc.ins_scenario_key(+)
|
||||
AND xcp.ins_deel_key = d.deel_key
|
||||
AND xcp.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||||
AND dp.ctr_disc_params_ismjob = 0
|
||||
AND xcp.ins_srtcontrole_eenheid > 2
|
||||
AND xcp.ins_scenario_key = 1
|
||||
AND idsc.ins_deel_key IS NULL
|
||||
AND idsc.ins_srtcontrole_key IS NULL
|
||||
AND xcp.ins_srtcontrole_periode > 0
|
||||
AND (idsc.ins_deelsrtcontrole_key IS NULL
|
||||
OR idsc.ins_deelsrtcontrole_key =
|
||||
(SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole id2
|
||||
WHERE id2.ins_deel_key = d.deel_key
|
||||
AND id2.ins_srtcontrole_key = xcp.ins_srtcontrole_key
|
||||
AND id2.ins_scenario_key = 1)))
|
||||
UNION ALL
|
||||
-- 1c) Dit deel bepaalt/berekent de toekomstige inspecties van dit jaar en volgend jaar.
|
||||
SELECT m.ins_deel_key,
|
||||
m.ins_srtcontrole_key,
|
||||
NULL ins_deelsrtcontrole_datum,
|
||||
m.ins_srtcontrole_mode,
|
||||
m.ins_srtcontrole_eenheid,
|
||||
m.ins_srtcontrole_periode,
|
||||
m.ins_srtcontrole_bits,
|
||||
fac.nextcyclusdate(m.volgendedatum,
|
||||
m.ins_srtcontrole_mode,
|
||||
m.ins_srtcontrole_eenheid,
|
||||
m.ins_srtcontrole_periode,
|
||||
m.ins_srtcontrole_bits,
|
||||
1,
|
||||
0),
|
||||
m.discipline,
|
||||
m.soort,
|
||||
m.groep,
|
||||
m.soortcode,
|
||||
m.omschrijving,
|
||||
m.opmerking,
|
||||
m.locatie_omschrijving,
|
||||
m.gebouw,
|
||||
m.ruimtenr,
|
||||
m.aantal,
|
||||
m.srtcontrole_omschrijving,
|
||||
m.taaksoort,
|
||||
NULL ins_deelsrtcontrole_datum_org,
|
||||
NULL controlemode_omschrijving,
|
||||
NULL ins_deelsrtcontrole_opmerking,
|
||||
NULL perslid,
|
||||
NULL ins_deelsrtcontrole_plandatum,
|
||||
-1 ins_deelsrtcontrole_status,
|
||||
-1 ins_controlemode_success,
|
||||
lcl.L('lcl_ins_controlemode_notplaned') deelsrtcontrole_status,
|
||||
m.vervaldatum,
|
||||
NULL ins_deelsrtcontrole_key
|
||||
FROM comps m
|
||||
WHERE TRUNC(fac.nextcyclusdate(m.volgendedatum,
|
||||
m.ins_srtcontrole_mode,
|
||||
m.ins_srtcontrole_eenheid,
|
||||
m.ins_srtcontrole_periode,
|
||||
m.ins_srtcontrole_bits,
|
||||
1,
|
||||
0), 'YYYY') <=
|
||||
TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY'))
|
||||
SELECT *
|
||||
FROM comps) ig
|
||||
WHERE (ig.vervaldatum IS NULL
|
||||
OR ig.vervaldatum > ig.volgendedatum)
|
||||
AND ig.volgendedatum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY') AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
|
||||
AND TRUNC(ig.volgendedatum, 'YYYY') < TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY') -- 1 januari in het jaar dat 2 jaar verder ligt niet meetellen.
|
||||
UNION ALL
|
||||
-- 2) Inspecties die vorig jaar en dit jaar zijn uitgevoerd, uitgezonderd de laatste.
|
||||
SELECT di.discipline,
|
||||
di.soort,
|
||||
di.groep,
|
||||
di.soortcode,
|
||||
di.omschrijving object,
|
||||
di.opmerking,
|
||||
di.locatie_omschrijving locatie,
|
||||
di.gebouw,
|
||||
di.ruimtenr,
|
||||
di.perslid persoon,
|
||||
di.aantal,
|
||||
di.srtcontrole_omschrijving taak,
|
||||
sc.ins_srtcontrole_eenheid eenheid,
|
||||
sc.ins_srtcontrole_periode periode,
|
||||
di.ctr_discipline_omschrijving taaksoort,
|
||||
di.ins_deelsrtcontrole_datum inspectiedatum,
|
||||
di.controlemode_omschrijving taakafhandeling,
|
||||
di.ins_deelsrtcontrole_opmerking inspectie_opmerking,
|
||||
(SELECT ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||
inspectie_code,
|
||||
CASE (SELECT di2.ins_deelsrtcontrole_status
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)
|
||||
WHEN 0
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_pending')
|
||||
WHEN 2
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_gestart')
|
||||
WHEN 3
|
||||
THEN
|
||||
lcl.L('lcl_ins_controle_ter_uitvoer')
|
||||
WHEN 5
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
WHEN 6
|
||||
THEN
|
||||
CASE
|
||||
WHEN ((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key =
|
||||
(SELECT ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)) =
|
||||
1)
|
||||
THEN
|
||||
lcl.L('lcl_ins_controlemode_approved')
|
||||
ELSE
|
||||
lcl.L('lcl_ins_controlemode_deprecated')
|
||||
END
|
||||
END inspectie_status,
|
||||
COALESCE((SELECT icm.ins_controlemode_success
|
||||
FROM ins_controlemode icm
|
||||
WHERE icm.ins_controlemode_key = (SELECT di2.ins_controlemode_key
|
||||
FROM ins_deelsrtcontrole di2
|
||||
WHERE di2.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key)),
|
||||
-1) ins_controlemode_success,
|
||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'MM') maand,
|
||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY') jaar,
|
||||
TO_CHAR(di.ins_deelsrtcontrole_datum, 'YYYY-MM') jaarmaand,
|
||||
di.ins_deelsrtcontrole_datum_org orgdatum,
|
||||
di.ins_deelsrtcontrole_plandatum plandatum,
|
||||
di.ins_deelsrtcontrole_datum volgendedatum,
|
||||
di.vervaldatum,
|
||||
di.deel_key,
|
||||
sc.ins_srtcontrole_key,
|
||||
di.ins_deelsrtcontrole_key
|
||||
FROM ins_v_udr_deelinspect di,
|
||||
ins_srtcontrole sc,
|
||||
ctr_disc_params dp
|
||||
WHERE di.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||||
AND sc.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||||
AND dp.ctr_disc_params_ismjob = 0
|
||||
AND sc.ins_srtcontrole_eenheid > 2
|
||||
AND di.ins_deelsrtcontrole_datum BETWEEN TRUNC(ADD_MONTHS(SYSDATE, -12), 'YYYY')
|
||||
AND TRUNC(ADD_MONTHS(SYSDATE, 24), 'YYYY')
|
||||
AND di.ins_deelsrtcontrole_key NOT IN (SELECT MAX(ins_deelsrtcontrole_key)
|
||||
FROM ins_deelsrtcontrole id2
|
||||
WHERE id2.ins_deel_key = di.deel_key
|
||||
AND id2.ins_srtcontrole_key = di.ins_srtcontrole_key
|
||||
AND id2.ins_scenario_key = 1);
|
||||
|
||||
CREATE_VIEW(ctr_v_monthly_recurring_tasksy, 0) // alleen huidige jaar
|
||||
AS
|
||||
SELECT *
|
||||
FROM ctr_v_monthly_recurring_tasks
|
||||
WHERE jaar = TO_CHAR (SYSDATE, 'YYYY');
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // CTR
|
||||
@@ -1,14 +0,0 @@
|
||||
#ifdef EXC
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE INDEX exc_i_exc_import1 ON exc_import(fac_import_key);
|
||||
|
||||
CREATE INDEX exc_i_exc_import2
|
||||
ON exc_import (APPT_ID || '|' || RECUR_ID, SEQ_NR, FAC_IMPORT_KEY);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // EXC
|
||||
@@ -1,44 +0,0 @@
|
||||
#ifdef EXC
|
||||
/* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
_FAC_MODULE('EXC', 'lcl_module_EXC')
|
||||
|
||||
DEF_IMPORT2('WEB_PRSSYS', 'EXCHANGE', 'Import van reserveringen vanuit Exchange online', 'Import of reservations from Exchange online', 'UTF-8', ' .\csv', 'exch_*.csv')
|
||||
DEF_IMPORT2('WEB_PRSSYS', 'EXCHFULL', 'Import van alle reserveringen vanuit Exchange online', 'Import of all reservations from Exchange online', 'UTF-8', ' .\csv', 'full_*.csv')
|
||||
|
||||
INSERT INTO fac_api (fac_api_name,
|
||||
fac_api_filepath,
|
||||
fac_api_loglevel,
|
||||
fac_api_viewmapping_json)
|
||||
VALUES ('MSGRAPHNOTIFICATION',
|
||||
'appl/api/api_msgraphnotification.asp',
|
||||
0,
|
||||
NULL);
|
||||
|
||||
-- Toevoegen gebruiker om notificaties van MS Graph te verwerken
|
||||
INSERT INTO prs_perslid (prs_perslid_module,
|
||||
prs_srtperslid_key,
|
||||
prs_afdeling_key,
|
||||
prs_perslid_naam,
|
||||
prs_perslid_oslogin,
|
||||
prs_perslid_apikey,
|
||||
prs_perslid_flags,
|
||||
prs_perslid_opmerking)
|
||||
SELECT prs_perslid_module,
|
||||
prs_srtperslid_key,
|
||||
prs_afdeling_key,
|
||||
'API-user tbv. Exchange-koppeling',
|
||||
'_MSGRAPHNOTIFICATION',
|
||||
DBMS_RANDOM.string ('a', 32),
|
||||
36,
|
||||
'System account for Exchange notifications.'
|
||||
|| CHR (13)
|
||||
|| 'Contact Facilitor for configuration.'
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_FACILITOR';
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
|
||||
#endif // EXC
|
||||
1912
EXC/EXC_PAC.SRC
1912
EXC/EXC_PAC.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,8 +0,0 @@
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE SEQUENCE exc_s_import_key MINVALUE 1;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
@@ -1,40 +0,0 @@
|
||||
/* EXC_TAB.SRC
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE_TABLE(exc_import, 0)
|
||||
(
|
||||
exc_import_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT exc_k_exc_import_key PRIMARY KEY,
|
||||
room_id
|
||||
VARCHAR2(256),
|
||||
subject
|
||||
VARCHAR2(200),
|
||||
starttime
|
||||
DATE,
|
||||
endtime
|
||||
DATE,
|
||||
organizer
|
||||
VARCHAR2(200),
|
||||
att_mail
|
||||
VARCHAR2(200),
|
||||
att_name
|
||||
VARCHAR2(200),
|
||||
modifier
|
||||
VARCHAR2(1),
|
||||
appt_id
|
||||
VARCHAR2(500),
|
||||
recur_id
|
||||
VARCHAR2(500),
|
||||
seq_nr
|
||||
NUMBER(16),
|
||||
fac_import_key
|
||||
NUMBER(10)
|
||||
CONSTRAINT exc_r_fac_import_key1 REFERENCES fac_import(fac_import_key) ON DELETE CASCADE,
|
||||
gelukt
|
||||
NUMBER(1)
|
||||
);
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
@@ -1,18 +0,0 @@
|
||||
#ifdef EXC
|
||||
|
||||
/*
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE_TRIGGER(exc_t_exc_import_B_I)
|
||||
BEFORE INSERT ON exc_import
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(exc_import_key, exc_s_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
|
||||
#endif // EXC
|
||||
@@ -2,19 +2,10 @@
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
CREATE INDEX fac_i_audit_perslidkey1 ON fac_audit(prs_perslid_key);
|
||||
CREATE INDEX fac_i_audit_tabel1 ON fac_audit(fac_audit_tabelnaam, fac_audit_tabelkey);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_bookmark1 ON fac_bookmark(fac_bookmark_id);
|
||||
|
||||
CREATE INDEX fac_i_fac_groep1 ON fac_groep(fac_groep_externid);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_gebruikersgroep1 ON fac_gebruikersgroep(prs_perslid_key, fac_groep_key);
|
||||
|
||||
CREATE INDEX fac_i_fac_selectie1 ON fac_selectie(fac_selectie_node,fac_selectie_tabel);
|
||||
|
||||
create index fac_i_fac_result1 on fac_result(fac_result_sessionid);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_profielwaarde1 ON fac_profielwaarde (fac_profiel_key, ins_discipline_key);
|
||||
|
||||
create index fac_i_fac_perfmon_sample1 on fac_perfmon_sample(fac_perfmon_sample_datum);
|
||||
@@ -22,15 +13,12 @@ create index fac_i_fac_perfmon_sample2 on fac_perfmon_sample(fac_perfmon_sample_
|
||||
create index fac_i_fac_perfmon_sample3 on fac_perfmon_sample(prs_perslid_key);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_srtnotificatie_code1 ON fac_srtnotificatie(fac_srtnotificatie_code);
|
||||
CREATE UNIQUE INDEX fac_i_srtnotificatie_code2 on fac_srtnotificatie(fac_srtnotificatie_key, fac_srtnotificatie_xmlnode);
|
||||
|
||||
CREATE INDEX fac_i_notificatie1 ON fac_notificatie(prs_perslid_key_receiver, fac_notificatie_status);
|
||||
CREATE INDEX fac_i_notificatie2 ON fac_notificatie(fac_srtnotificatie_key);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_xml1 ON fac_xml(fac_session_id, fac_xml_volgnr);
|
||||
CREATE INDEX fac_i_fac_session1 ON fac_session(prs_perslid_key);
|
||||
CREATE UNIQUE INDEX fac_i_fac_session2 ON fac_session(fac_session_sessionid_hash);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_sequence1 ON fac_sequence(fac_sequence_name);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_import_app1
|
||||
ON fac_import_app (fac_import_app_code,
|
||||
@@ -39,43 +27,15 @@ CREATE UNIQUE INDEX fac_i_fac_import_app1
|
||||
fac_import_app_prefix);
|
||||
|
||||
CREATE INDEX imp_i_log_importkey1 ON imp_log(fac_import_key);
|
||||
CREATE INDEX imp_i_imp_log2 ON imp_log(imp_log_applicatie);
|
||||
CREATE INDEX fac_i_fac_imp_file1 ON fac_imp_file(fac_import_key);
|
||||
CREATE INDEX fac_i_fac_imp_csv1 ON fac_imp_csv(fac_import_key);
|
||||
|
||||
-- Maakt opruimen efficienter:
|
||||
CREATE INDEX fac_i_import_appkey1 ON fac_import(fac_import_app_key, fac_import_key);
|
||||
CREATE INDEX fac_i_import_appkey1 ON fac_import(fac_import_app_key);
|
||||
|
||||
CREATE INDEX fac_i_tracking_refkey1 ON fac_tracking(fac_tracking_refkey);
|
||||
CREATE INDEX fac_i_tracking_perslidkey1 ON fac_tracking(prs_perslid_key);
|
||||
CREATE INDEX fac_i_tracking_srtnotkey1 ON fac_tracking(fac_srtnotificatie_key);
|
||||
|
||||
CREATE INDEX fac_i_imp_factuur1 ON fac_imp_factuur (ordernr);
|
||||
CREATE INDEX fac_i_imp_factuur2 ON fac_imp_factuur (fac_import_key);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_locale_xref1 ON fac_locale_xref (fac_locale_xref_filepath, fac_locale_xsl_key);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_code2label ON fac_code2label (fac_code2label_domein, fac_code2label_code);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_menuitems1 ON fac_menuitems (fac_menuitems_label);
|
||||
|
||||
CREATE INDEX fac_i_fac_menu_perslid_key ON fac_menu (prs_perslid_key);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_imp_usrdata1 ON fac_imp_usrdata (fac_usrtab_naam, fac_usrdata_code);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_api1 ON fac_api (fac_api_name);
|
||||
|
||||
create index fac_i_fac_usrrap_volgnr on fac_usrrap(fac_usrrap_volgnr, fac_usrrap_omschrijving);
|
||||
|
||||
CREATE INDEX fac_i_fac_bijlagen_root_key ON fac_bijlagen(fac_bijlagen_root_key);
|
||||
CREATE INDEX fac_i_fac_bijlagen_refkey1 ON fac_bijlagen(fac_bijlagen_refkey);
|
||||
|
||||
CREATE INDEX fac_i_fac_note_group1 ON fac_note_group(fac_note_group_xmlnode, fac_note_group_volgnr);
|
||||
|
||||
CREATE INDEX faq_i_faq_kenmerk1 ON faq_kenmerk(faq_kenmerk_code);
|
||||
|
||||
CREATE INDEX fac_i_fac_gui_counter1 ON fac_gui_counter(prs_perslid_key);
|
||||
|
||||
CREATE UNIQUE INDEX fac_i_fac_usrrap_cols1 ON fac_usrrap_cols(fac_usrrap_key, UPPER(fac_usrrap_cols_column_name));
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: FAC_IND.SRC $','$Revision$')
|
||||
|
||||
2518
FAC/FAC_INI.SRC
2518
FAC/FAC_INI.SRC
File diff suppressed because it is too large
Load Diff
9380
FAC/FAC_LCL.SRC
9380
FAC/FAC_LCL.SRC
File diff suppressed because it is too large
Load Diff
3981
FAC/FAC_LCLASP.SRC
Normal file
3981
FAC/FAC_LCLASP.SRC
Normal file
File diff suppressed because it is too large
Load Diff
2030
FAC/FAC_LCLHINTS.SRC
2030
FAC/FAC_LCLHINTS.SRC
File diff suppressed because it is too large
Load Diff
4000
FAC/FAC_PAC.SRC
4000
FAC/FAC_PAC.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,47 +0,0 @@
|
||||
/* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* FAC_PACA, (A means Audit) to be included from fac_pac.src, isolated for convenience only
|
||||
* The Audit-package source. Contains all functions for audit.
|
||||
*
|
||||
* Usage: aud.auditaction(...);
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE aud
|
||||
AS
|
||||
PROCEDURE auditaction (tabelnaam VARCHAR2, tabelkey_oud NUMBER, tabelkey_nieuw NUMBER, veldnaam VARCHAR2, waarde_oud VARCHAR2, waarde_nieuw VARCHAR2, action VARCHAR2, opmerk VARCHAR2 DEFAULT NULL);
|
||||
END aud;
|
||||
/
|
||||
CREATE OR REPLACE PACKAGE BODY aud
|
||||
AS
|
||||
PROCEDURE auditaction (tabelnaam VARCHAR2, tabelkey_oud NUMBER, tabelkey_nieuw NUMBER, veldnaam VARCHAR2, waarde_oud VARCHAR2, waarde_nieuw VARCHAR2, action VARCHAR2, opmerk VARCHAR2 DEFAULT NULL)
|
||||
IS
|
||||
BEGIN
|
||||
IF (action <> 'I' AND COALESCE(waarde_oud, 'bUSnDIaVjRS56D3z') <> COALESCE(waarde_nieuw, 'bUSnDIaVjRS56D3z')) OR
|
||||
(action = 'I' AND waarde_nieuw IS NOT NULL)
|
||||
THEN
|
||||
INSERT INTO fac_audit (fac_audit_tabelnaam,
|
||||
fac_audit_tabelkey,
|
||||
fac_audit_veldnaam,
|
||||
fac_audit_actie,
|
||||
fac_audit_waarde_oud,
|
||||
fac_audit_waarde_nieuw,
|
||||
prs_perslid_key,
|
||||
fac_audit_opmerking)
|
||||
VALUES (tabelnaam,
|
||||
COALESCE(tabelkey_nieuw, tabelkey_oud),
|
||||
veldnaam,
|
||||
CASE WHEN action = 'D' OR SUBSTR(veldnaam, -9) = 'verwijder' THEN 'D' ELSE action END,
|
||||
waarde_oud,
|
||||
waarde_nieuw,
|
||||
sys_context('USERENV', 'CLIENT_IDENTIFIER'),
|
||||
opmerk);
|
||||
END IF;
|
||||
END;
|
||||
END aud;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
1304
FAC/FAC_PACANO.SRC
1304
FAC/FAC_PACANO.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,674 +0,0 @@
|
||||
/* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* Purge (definitief echt verijderen) van data >7 jaar zoals met UWVA#61083
|
||||
* gerealiseerd voor UWV en met MNNL#78302 voor MN.
|
||||
* Proces heeft te maken met het irrelevant raken van data en een wettelijke
|
||||
* bewaarplicht (voor bv belastingdienst) en daarmee impliciet een opruimvrijheid
|
||||
* na die periode, naast emotionele en praktische voordelen, zoals kleinere backupfiles
|
||||
* minder data bij datalekken en de mogelijkheid om nog meer op te ruimen.
|
||||
*
|
||||
* Gebruik: BEGIN del.fac_purge(1); END;
|
||||
*
|
||||
* Kan en mag herhaaldelijk worden aangeroepen en verwijdert wat verstreken is
|
||||
* en geen latere afhankelijkheden heeft. Er is een lichte volgorde-afhankelijkheid
|
||||
* (de gekozen volgorde is bewust) wat automatisch door herhaling wordt gecompenseerd.
|
||||
*
|
||||
* Praktisch bezien zou een jaarlijkse aanroep best volstaan, maar met een dagelijkse
|
||||
* aanroep blijf je zeer strikt binnen het regime en blijft de (performance) impact
|
||||
* zeer bescheiden.
|
||||
* Er zijn wettelijke termijnen van 7 jaren (84 maanden), maar zoals iedere constante
|
||||
* in de core kan die te overrulen worden met setting datapurge_period (years).
|
||||
*
|
||||
* -- TODO: Misschien ook nog schonen vastgoed, personen, objecten en nog meer?
|
||||
* -- TODO: Periodieke bestelaanvragen/opdrachten niet beschouwen?
|
||||
*/
|
||||
/* NOTE: since views and package are tighly related, the views are contained here instead of FAC_VIE.SRC */
|
||||
|
||||
CREATE_VIEW(fac_v_2purge_bes,0)
|
||||
(
|
||||
jaar,
|
||||
bes_bestelling_key
|
||||
)
|
||||
AS
|
||||
WITH b
|
||||
AS (SELECT bes_bestelling_key,
|
||||
bes_bestelling_datum,
|
||||
bes_bestelling_retourvan_key,
|
||||
COALESCE (
|
||||
fac.gettrackingdate ('BESREJ', bes_bestelling_key),
|
||||
fac.gettrackingdate ('BESOTV', bes_bestelling_key))
|
||||
gesloten
|
||||
FROM bes_bestelling
|
||||
WHERE bes_bestelling_status IN (1, 6, 7, 8, 9) -- Gesloten bestelling
|
||||
AND bes_bestelling_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
|
||||
SELECT TO_CHAR (b.bes_bestelling_datum, 'yyyy') jaar, bes_bestelling_key
|
||||
FROM b
|
||||
WHERE bes_bestelling_retourvan_key IS NULL -- Alleen bron-bestelling (dus zonder de retouren)
|
||||
AND NOT EXISTS -- Geen later gewijzigde child-bestelopdrachten!
|
||||
(SELECT 1
|
||||
FROM fac_tracking t, fac_srtnotificatie sn, bes_bestelopdr_item boi, bes_bestelling_item bbi
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'bestelopdracht'
|
||||
AND t.fac_tracking_refkey = boi.bes_bestelopdr_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bbi.bes_bestelling_key = b.bes_bestelling_key)
|
||||
AND NOT EXISTS -- Geen lopende facturen op child-bestelopdrachten!
|
||||
(SELECT 1
|
||||
FROM fin_factuur f, bes_bestelopdr_item boi, bes_bestelling_item bbi
|
||||
WHERE f.fin_factuur_verwijder IS NULL
|
||||
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
|
||||
AND f.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||||
AND bbi.bes_bestelling_key = b.bes_bestelling_key);
|
||||
|
||||
CREATE_VIEW(fac_v_2purge_bez,0)
|
||||
(
|
||||
jaar,
|
||||
bez_afspraak_key,
|
||||
bezoekers
|
||||
)
|
||||
AS
|
||||
WITH a
|
||||
AS ( SELECT a.bez_afspraak_key,
|
||||
a.bez_afspraak_datum,
|
||||
COUNT (*) bezoekers
|
||||
FROM bez_afspraak a, bez_bezoekers b
|
||||
WHERE a.bez_afspraak_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
|
||||
AND a.bez_afspraak_key = b.bez_afspraak_key
|
||||
GROUP BY a.bez_afspraak_key, a.bez_afspraak_datum)
|
||||
SELECT TO_CHAR (a.bez_afspraak_datum, 'yyyy') jaar, bez_afspraak_key, bezoekers
|
||||
FROM a;
|
||||
|
||||
CREATE_VIEW(fac_v_2purge_res,0)
|
||||
(
|
||||
jaar,
|
||||
verwijderd,
|
||||
res_rsv_ruimte_key
|
||||
)
|
||||
AS
|
||||
WITH r
|
||||
AS (SELECT res_rsv_ruimte_key,
|
||||
res_reservering_key,
|
||||
res_rsv_ruimte_volgnr,
|
||||
res_rsv_ruimte_tot,
|
||||
res_rsv_ruimte_verwijder
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
|
||||
SELECT TO_CHAR (res_rsv_ruimte_tot, 'yyyy') jaar, DECODE (res_rsv_ruimte_verwijder, NULL, 'J', 'N') verwijderd, res_rsv_ruimte_key
|
||||
FROM r
|
||||
WHERE NOT EXISTS -- Geen latere child-reserveringen!
|
||||
(SELECT 1
|
||||
FROM res_rsv_ruimte cr -- Child-reserveringen!
|
||||
WHERE cr.res_rsv_ruimte_tot > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
|
||||
AND cr.res_reservering_key = r.res_reservering_key);
|
||||
|
||||
-- TODO: Periodieke meldingen/opdrachten niet beschouwen? => Bij MN niet gebruikt!
|
||||
CREATE_VIEW(fac_v_2purge_mld,0)
|
||||
(
|
||||
jaar,
|
||||
datum,
|
||||
mld_melding_key
|
||||
)
|
||||
AS
|
||||
WITH m
|
||||
AS (SELECT mld_melding_key,
|
||||
mld_melding_datum,
|
||||
mld_melding_start_key,
|
||||
mld_melding_parentkey,
|
||||
COALESCE (
|
||||
fac.gettrackingdate ('MLDREJ', mld_melding_key),
|
||||
fac.gettrackingdate ('MLDAFM', mld_melding_key), -- Soms niet Afgemeld?
|
||||
fac.gettrackingdate ('MLDVER', mld_melding_key))
|
||||
gesloten
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_status IN (1, 5, 6) -- Gesloten
|
||||
AND mld_melding_datum < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))
|
||||
SELECT TO_CHAR (m.mld_melding_datum, 'yyyy') jaar, m.mld_melding_datum datum, mld_melding_key
|
||||
FROM m
|
||||
WHERE m.gesloten < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
|
||||
AND (m.mld_melding_start_key IS NULL OR m.mld_melding_key = m.mld_melding_start_key) -- Alleen bron-melding
|
||||
AND m.mld_melding_parentkey IS NULL -- Alleen bron-melding
|
||||
AND NOT EXISTS -- Geen later gewijzigde child-opdrachten!
|
||||
(SELECT 1
|
||||
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||||
AND sn.fac_srtnotificatie_code <> 'ORDANO'
|
||||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||||
AND o.mld_melding_key = m.mld_melding_key)
|
||||
AND EXISTS -- Eventuele start-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM m sm -- Start-meldingen!
|
||||
WHERE sm.mld_melding_key = COALESCE (m.mld_melding_start_key, m.mld_melding_key))
|
||||
AND EXISTS -- Eventuele parent-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM m pm -- Parent-meldingen!
|
||||
WHERE pm.mld_melding_key = COALESCE (m.mld_melding_parentkey, m.mld_melding_key))
|
||||
AND NOT EXISTS -- Eventuele vervolg-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM mld_melding vm, -- Vervolg-meldingen!
|
||||
fac_tracking t,
|
||||
fac_srtnotificatie sn
|
||||
WHERE vm.mld_melding_start_key = m.mld_melding_key
|
||||
AND vm.mld_melding_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||||
AND (vm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
|
||||
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
|
||||
AND NOT EXISTS -- Eventuele child-melding ook > 7 jaar gesloten!
|
||||
(SELECT 1
|
||||
FROM mld_melding cm, -- Child-meldingen!
|
||||
fac_tracking t,
|
||||
fac_srtnotificatie sn
|
||||
WHERE cm.mld_melding_parentkey = m.mld_melding_key
|
||||
AND cm.mld_melding_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||||
AND (cm.mld_melding_status NOT IN (1, 5, 6) -- Lopend
|
||||
OR t.fac_tracking_datum > TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)))) -- Geraakt < 7 jaar geleden
|
||||
AND NOT EXISTS -- Geen lopende facturen op child-opdrachten!
|
||||
(SELECT 1
|
||||
FROM fin_factuur f, mld_opdr o
|
||||
WHERE f.fin_factuur_verwijder IS NULL
|
||||
AND f.fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
|
||||
AND f.mld_opdr_key = o.mld_opdr_key
|
||||
AND o.mld_melding_key = m.mld_melding_key);
|
||||
|
||||
CREATE_VIEW(fac_v_2purge_cnt,0)
|
||||
(
|
||||
ins_discipline_key,
|
||||
contractsoort,
|
||||
cnt_contract_key,
|
||||
contractnr,
|
||||
cnt_contract_omschrijving,
|
||||
cnt_contract_looptijd_tot,
|
||||
cnt_contract_status
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
c.ins_discipline_key,
|
||||
cd.ins_discipline_omschrijving,
|
||||
c.cnt_contract_key,
|
||||
c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|
||||
contractnr,
|
||||
c.cnt_contract_omschrijving,
|
||||
c.cnt_contract_looptijd_tot,
|
||||
c.cnt_contract_status
|
||||
FROM cnt_contract c, cnt_discipline cd
|
||||
WHERE c.cnt_contract_looptijd_tot < TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12)) -- Verlopen > 7 jaar geleden
|
||||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||||
AND NOT EXISTS -- Geen dossier-contract onder dezelfde mantel <= 7 jaar geleden
|
||||
(SELECT 1
|
||||
FROM cnt_contract dc
|
||||
WHERE dc.cnt_contract_verwijder IS NULL
|
||||
AND dc.cnt_contract_looptijd_tot >= TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12))
|
||||
AND dc.cnt_contract_mantel_key = c.cnt_contract_key)
|
||||
AND NOT EXISTS -- Geen lopende facturen op contract!
|
||||
(SELECT 1
|
||||
FROM fin_factuur
|
||||
WHERE fin_factuur_verwijder IS NULL
|
||||
AND fin_factuur_statuses_key IN (2, 3, 5, 6) -- Lopende factuur
|
||||
AND cnt_contract_key = c.cnt_contract_key);
|
||||
|
||||
/* candidate rootview for a fac_v_rap_2purge_all report */
|
||||
CREATE_VIEW(fac_v_2purge_all,0)
|
||||
(
|
||||
module,
|
||||
jaar,
|
||||
aantal,
|
||||
subaantal
|
||||
)
|
||||
AS
|
||||
SELECT 'BES', jaar, COUNT (*) aantal, NULL subaantal
|
||||
FROM fac_v_2purge_bes
|
||||
GROUP BY 'BES', jaar
|
||||
UNION ALL
|
||||
SELECT 'BEZ', jaar, COUNT (*) aantal, SUM (bezoekers) subaantal
|
||||
FROM fac_v_2purge_bez
|
||||
GROUP BY 'BEZ', jaar
|
||||
UNION ALL
|
||||
SELECT 'RES', jaar, COUNT (*) aantal, NULL subaantal
|
||||
FROM fac_v_2purge_res
|
||||
GROUP BY 'RES', jaar
|
||||
UNION ALL
|
||||
SELECT 'MLD', jaar, COUNT (*) aantal, NULL subaantal
|
||||
FROM fac_v_2purge_mld
|
||||
GROUP BY 'MLD', jaar
|
||||
UNION ALL
|
||||
SELECT 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy') jaar, COUNT ( * ) aantal, NULL subaantal
|
||||
FROM fac_v_2purge_cnt
|
||||
GROUP BY 'CNT', TO_CHAR (cnt_contract_looptijd_tot, 'yyyy');
|
||||
|
||||
|
||||
|
||||
/* THE PACKAGE (that does the job using the views above) */
|
||||
|
||||
CREATE OR REPLACE PACKAGE del
|
||||
AS
|
||||
-- If you are verysure, call this procedure with parameter 1
|
||||
-- If you need extended logging, add 2 (so use 3)
|
||||
PROCEDURE fac_purge (iamverysure IN NUMBER DEFAULT 0);
|
||||
END del;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY del
|
||||
AS
|
||||
PROCEDURE fac_purge(iamverysure IN NUMBER DEFAULT 0)
|
||||
AS
|
||||
-- BES per jaar
|
||||
CURSOR cbes (p_jaar VARCHAR2)
|
||||
IS
|
||||
SELECT bes_bestelling_key
|
||||
FROM fac_v_2purge_bes
|
||||
WHERE jaar <= p_jaar
|
||||
ORDER BY 1;
|
||||
|
||||
-- BEZ per jaar (samen met RES)
|
||||
CURSOR cbez (p_jaar VARCHAR2)
|
||||
IS
|
||||
SELECT bez_afspraak_key
|
||||
FROM fac_v_2purge_bez
|
||||
WHERE jaar <= p_jaar
|
||||
ORDER BY 1;
|
||||
|
||||
-- RES per jaar (samen met BEZ)
|
||||
CURSOR cres (p_jaar VARCHAR2)
|
||||
IS
|
||||
SELECT res_rsv_ruimte_key
|
||||
FROM fac_v_2purge_res
|
||||
WHERE jaar <= p_jaar
|
||||
ORDER BY 1;
|
||||
|
||||
-- MLD per jaar (of maand)
|
||||
CURSOR cmld (p_datum DATE)
|
||||
IS
|
||||
SELECT mld_melding_key
|
||||
FROM fac_v_2purge_mld
|
||||
WHERE TRUNC (datum) <= p_datum
|
||||
ORDER BY 1;
|
||||
|
||||
-- CNT allemaal tegelijk, hoeft niet per jaar
|
||||
CURSOR ccnt
|
||||
IS
|
||||
SELECT ins_discipline_key, cnt_contract_key
|
||||
FROM fac_v_2purge_cnt
|
||||
ORDER BY 1, 2;
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER (10);
|
||||
v_jaar1 VARCHAR2 (4);
|
||||
v_jaar2 VARCHAR2 (4);
|
||||
v_datum DATE;
|
||||
v_purgeblock_start DATE; -- voor logging-timing
|
||||
v_purgeblock_end DATE; -- voor logging-timing
|
||||
v_genesisdatum DATE; -- de nieuwe datum van het begin der aarde, alles voor deze datum mag weg.
|
||||
BEGIN
|
||||
|
||||
-- Early Exit
|
||||
IF fac.getsetting ('datapurge_period') = 99
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','S','No purge of data, purge is disabled', 'Configuration of datapurge_period 99 (default) means disabled');
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
-- Bepalen we obv vandaag en de setting datapurge_period (in jaren, default 99)
|
||||
-- We vinden januari een uitloopmaand, vandaar de -1. Als iemand anders dat zwaarwegend anders gaat vinden
|
||||
-- dan moet dat een datapurge_gracemonths worden. Dezelfde berekening zit ook in alle views hierboven
|
||||
-- > Dit is dus 1 januari van het jaar dat bewaard moet blijven <
|
||||
-- (niet onlogisch om deze datum als parameter aan de purge mee te kunnen geven?)
|
||||
v_genesisdatum := TRUNC (ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -1), 'yyyy'), -fac.getsetting ('datapurge_period') * 12));
|
||||
DBMS_OUTPUT.put_line('About to (re)purge anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'));
|
||||
IF BITAND(iamverysure,1) = 1
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','I','Purge anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'), '');
|
||||
ELSE
|
||||
fac.writelog ('$PURGE$','I','Purge SIMULATION OF anything before '||TO_CHAR(v_genesisdatum,'DD-MM-YYYY'), '');
|
||||
END IF;
|
||||
|
||||
SELECT COALESCE(SUM (aantal),0) INTO v_count FROM fac_v_2purge_all;
|
||||
fac.writelog ('$PURGE$','S','There is a grand total of '||TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.''')||' items to possibly purge.', '');
|
||||
DBMS_OUTPUT.put_line('There is a grand total of '||TO_CHAR(v_count)||' items to purge.');
|
||||
IF v_count = 0
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line('So nothing to purge, bye.');
|
||||
fac.writelog ('$PURGE$','S','So nothing to purge, done.', '');
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
DBMS_OUTPUT.put_line('Starting bestellingen');
|
||||
-- Telkens een jaartje schonen totdat achterstand ingelopen
|
||||
v_count := 0;
|
||||
v_purgeblock_start := SYSDATE;
|
||||
|
||||
SELECT MIN (jaar), MAX (jaar)
|
||||
INTO v_jaar1, v_jaar2
|
||||
FROM fac_v_2purge_bes
|
||||
WHERE jaar > '1990';
|
||||
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
|
||||
|
||||
FOR r IN cbes (v_jaar2)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Error purging bestelling: ' || TO_CHAR (r.bes_bestelling_key);
|
||||
IF BITAND(iamverysure,1) = 1
|
||||
THEN
|
||||
bes.remove (r.bes_bestelling_key);
|
||||
END IF;
|
||||
IF BITAND(iamverysure,2) = 2
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.bes_bestelling_key)||'.', '');
|
||||
END IF;
|
||||
v_count := v_count + 1;
|
||||
|
||||
-- Elke 1000 BES een COMMIT
|
||||
IF MOD (v_count, 1000) = 0
|
||||
THEN
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
|
||||
fac.writelog ('$PURGE$','E', v_errormsg, 'BES-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_purgeblock_end := SYSDATE;
|
||||
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 1/5 #Bestellingen purged (year=' || v_jaar2 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 1/5 #Bestellingen purged (years='
|
||||
|| v_jaar1
|
||||
|| '-'
|
||||
|| v_jaar2
|
||||
|| '): '
|
||||
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
DBMS_OUTPUT.put_line('Bestellingen done.');
|
||||
COMMIT;
|
||||
|
||||
DBMS_OUTPUT.put_line('Starting bezoekers');
|
||||
v_count := 0;
|
||||
v_purgeblock_start := SYSDATE;
|
||||
|
||||
SELECT MIN (jaar), MAX (jaar)
|
||||
INTO v_jaar1, v_jaar2
|
||||
FROM fac_v_2purge_bez
|
||||
WHERE jaar > '1990';
|
||||
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
|
||||
|
||||
FOR r IN cbez (v_jaar2)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Error purging afspraak: ' || TO_CHAR (r.bez_afspraak_key);
|
||||
IF BITAND(iamverysure,1) = 1
|
||||
THEN
|
||||
bez.remove (r.bez_afspraak_key);
|
||||
END IF;
|
||||
IF BITAND(iamverysure,2) = 2
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.bez_afspraak_key)||'.', '');
|
||||
END IF;
|
||||
v_count := v_count + 1;
|
||||
|
||||
-- Elke 1000 BEZ een COMMIT
|
||||
IF MOD (v_count, 1000) = 0
|
||||
THEN
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
|
||||
fac.writelog ('$PURGE$','E', v_errormsg, 'BEZ-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_purgeblock_end := SYSDATE;
|
||||
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 2/5 #Afspraken purged (year=' || v_jaar2 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 2/5 #Afspraken purged (years='
|
||||
|| v_jaar1
|
||||
|| '-'
|
||||
|| v_jaar2
|
||||
|| '): '
|
||||
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
DBMS_OUTPUT.put_line('Bezoekers done.');
|
||||
|
||||
DBMS_OUTPUT.put_line('Starting reserveringen');
|
||||
v_count := 0;
|
||||
v_purgeblock_start := SYSDATE;
|
||||
-- jaren kennelijk als BEZ
|
||||
|
||||
FOR r IN cres (v_jaar2)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Error purging reservering: ' || TO_CHAR (r.res_rsv_ruimte_key);
|
||||
IF BITAND(iamverysure,1) = 1
|
||||
THEN
|
||||
res.remove (r.res_rsv_ruimte_key);
|
||||
END IF;
|
||||
IF BITAND(iamverysure,2) = 2
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.res_rsv_ruimte_key)||'.', '');
|
||||
END IF;
|
||||
v_count := v_count + 1;
|
||||
|
||||
-- Elke 1000 RES een COMMIT
|
||||
IF MOD (v_count, 1000) = 0
|
||||
THEN
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
|
||||
fac.writelog ('$PURGE$','E', v_errormsg, 'RES-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_purgeblock_end := SYSDATE;
|
||||
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 3/5 #Reserveringen purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 3/5 #Reserveringen purged (years='
|
||||
|| v_jaar1
|
||||
|| '-'
|
||||
|| v_jaar2
|
||||
|| '): '
|
||||
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
|
||||
DBMS_OUTPUT.put_line('Reserveringen done.');
|
||||
COMMIT;
|
||||
|
||||
DBMS_OUTPUT.put_line('Starting meldingen');
|
||||
v_count := 0;
|
||||
v_purgeblock_start := SYSDATE;
|
||||
|
||||
SELECT MIN (jaar), MAX (jaar)
|
||||
INTO v_jaar1, v_jaar2
|
||||
FROM fac_v_2purge_mld
|
||||
WHERE jaar > '1990';
|
||||
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
|
||||
|
||||
v_errormsg := 'Fout bepalen oudste datum';
|
||||
v_datum := fac.safe_to_date ('31-12-' || v_jaar2, 'dd-mm-yyyy');
|
||||
|
||||
FOR r IN cmld (v_datum)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Error purging melding: ' || TO_CHAR (r.mld_melding_key);
|
||||
IF BITAND(iamverysure,1) = 1
|
||||
THEN
|
||||
mld.remove (r.mld_melding_key);
|
||||
END IF;
|
||||
IF BITAND(iamverysure,2) = 2
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.mld_melding_key)||'.', '');
|
||||
END IF;
|
||||
v_count := v_count + 1;
|
||||
|
||||
-- Elke 1000 MLD een COMMIT
|
||||
IF MOD (v_count, 1000) = 0
|
||||
THEN
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
|
||||
fac.writelog ('$PURGE$','E', v_errormsg, 'MLD-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_purgeblock_end := SYSDATE;
|
||||
|
||||
--fac.writelog ('$PURGE$', 'S', '#Meldingen purged (maand=' || TO_CHAR (v_datum - 1, 'yyyy-mm') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
--fac.writelog ('$PURGE$', 'S', '#Meldingen purged (year=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 4/5 #Meldingen purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 4/5 #Meldingen purged (years='
|
||||
|| v_jaar1
|
||||
|| '-'
|
||||
|| v_jaar2
|
||||
|| '): '
|
||||
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
DBMS_OUTPUT.put_line('Meldingen done.');
|
||||
|
||||
DBMS_OUTPUT.put_line('Starting contracten');
|
||||
v_count := 0;
|
||||
v_purgeblock_start := SYSDATE;
|
||||
|
||||
--v_errormsg := 'Fout bepalen oudste datum';
|
||||
--SELECT MIN (cnt_contract_looptijd_tot)
|
||||
-- INTO v_datum
|
||||
-- FROM fac_v_2purge_cnt
|
||||
-- WHERE cnt_contract_looptijd_tot > TO_DATE ( '01-01-1999', 'dd-mm-yyyy');
|
||||
--v_datum := TRUNC (ADD_MONTHS (v_datum, 12), 'yyyy');
|
||||
|
||||
SELECT TO_CHAR(MIN (cnt_contract_looptijd_tot), 'YYYY'), TO_CHAR (MAX (cnt_contract_looptijd_tot), 'YYYY')
|
||||
INTO v_jaar1, v_jaar2
|
||||
FROM fac_v_2purge_cnt;
|
||||
DBMS_OUTPUT.put_line('Range is '||v_jaar1||'-'||v_jaar2);
|
||||
|
||||
-- Alle te schonen contracten(-dossiers) in 1x
|
||||
FOR r IN ccnt
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Error purging contract: ' || TO_CHAR (r.cnt_contract_key);
|
||||
IF BITAND(iamverysure,1) = 1
|
||||
THEN
|
||||
cnt.remove (r.cnt_contract_key);
|
||||
END IF;
|
||||
IF BITAND(iamverysure,2) = 2
|
||||
THEN
|
||||
fac.writelog ('$PURGE$','I','Purged '||TO_CHAR(r.cnt_contract_key)||'.', '');
|
||||
END IF;
|
||||
v_count := v_count + 1;
|
||||
|
||||
-- Elke 1000 CNT een COMMIT!
|
||||
IF MOD (v_count, 1000) = 0
|
||||
THEN
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
|
||||
fac.writelog ('$PURGE$','E', v_errormsg, 'CNT-loop');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
v_purgeblock_end := SYSDATE;
|
||||
|
||||
--fac.writelog ('$PURGE$', 'S', '#Contracten purged (year=' || TO_CHAR (v_datum - 1, 'yyyy') || '): ' || TO_CHAR (v_count), TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
IF v_jaar1 = v_jaar2
|
||||
THEN
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 5/5 #Contracten purged (year=' || v_jaar1 || '): ' || TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
ELSE
|
||||
fac.writelog (
|
||||
'$PURGE$',
|
||||
'S',
|
||||
'Step 5/5 #Contracten purged (years='
|
||||
|| v_jaar1
|
||||
|| '-'
|
||||
|| v_jaar2
|
||||
|| '): '
|
||||
|| TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.'''),
|
||||
TO_CHAR (ROUND ((v_purgeblock_end - v_purgeblock_start) * 24 * 60), 'FM990') || 'm');
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
DBMS_OUTPUT.put_line('Contracten done.');
|
||||
|
||||
-- Na afloop checken of nog restjes zijn
|
||||
SELECT COALESCE(SUM (aantal),0) INTO v_count FROM fac_v_2purge_all;
|
||||
fac.writelog ('$PURGE$','I','There is a grand total of '||TO_CHAR (v_count, '999G999G999', 'NLS_NUMERIC_CHARACTERS = '',.''')||' items left to purge.', '');
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errormsg := v_errormsg || '/'|| SUBSTR (SQLERRM, 1, 200);
|
||||
fac.writelog ('$PURGE$','E', 'Purge aborted!', v_errormsg);
|
||||
COMMIT;
|
||||
END;
|
||||
END del;
|
||||
/
|
||||
19224
FAC/FAC_PACF.SRC
19224
FAC/FAC_PACF.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,944 +0,0 @@
|
||||
/* $Revision$
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* FAC_PACFLEX
|
||||
*
|
||||
* Contains all functions for flex values.
|
||||
*
|
||||
*/
|
||||
|
||||
CREATE OR REPLACE PACKAGE flx
|
||||
AS
|
||||
PROCEDURE gettableinf (pmodule IN OUT VARCHAR2,
|
||||
o_ktable OUT VARCHAR2, -- Naam kenmerk tabel
|
||||
o_ktable_kdefault OUT VARCHAR2,
|
||||
o_kvtable OUT VARCHAR2, -- Naam kenmerk waarden tabel
|
||||
o_kvtable_refkey OUT VARCHAR2,
|
||||
o_kvtable_kniveau OUT VARCHAR2,
|
||||
o_kvtable_kwaarde OUT VARCHAR2,
|
||||
o_kvtable_kkey OUT VARCHAR2,
|
||||
o_kvtable_kdelete OUT VARCHAR2,
|
||||
o_ktable_kshowexpr OUT VARCHAR2
|
||||
);
|
||||
FUNCTION getflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_niveau IN VARCHAR2 DEFAULT NULL,
|
||||
p_optional IN NUMBER DEFAULT 0) RETURN VARCHAR2;
|
||||
PROCEDURE setflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_waarde IN VARCHAR2);
|
||||
PROCEDURE setflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_niveau IN VARCHAR2,
|
||||
p_waarde IN VARCHAR2,
|
||||
p_multi IN NUMBER DEFAULT 0);
|
||||
PROCEDURE deleteflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_niveau IN VARCHAR2,
|
||||
p_waardekey IN NUMBER DEFAULT NULL);
|
||||
PROCEDURE setflexbijlage (p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_disk_directory IN VARCHAR2,
|
||||
p_disk_filename IN VARCHAR2,
|
||||
p_filename IN VARCHAR2,
|
||||
p_file_size IN NUMBER,
|
||||
p_file_date IN DATE,
|
||||
p_digest IN VARCHAR2 DEFAULT NULL,
|
||||
p_root_key IN NUMBER DEFAULT NULL);
|
||||
PROCEDURE copyflexbijlage ( p_module IN VARCHAR2
|
||||
, p_refkey IN NUMBER
|
||||
, p_kenmerk_key IN NUMBER
|
||||
, p_from_bijlagen_key IN NUMBER
|
||||
);
|
||||
PROCEDURE deleteflexbijlage (p_bijlagen_key IN NUMBER
|
||||
,p_fileisgone IN BOOLEAN DEFAULT FALSE);
|
||||
PROCEDURE deleteflexbijlage (p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_disk_directory IN VARCHAR2,
|
||||
p_filename IN VARCHAR2);
|
||||
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
|
||||
FUNCTION getflexexpression (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
|
||||
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2;
|
||||
FUNCTION getdomeinwaarde (dkey IN NUMBER,
|
||||
waarde IN VARCHAR2,
|
||||
ignorewhenxmlnode IN NUMBER DEFAULT 0) RETURN VARCHAR2;
|
||||
PROCEDURE evaluateflexexpressions (pmodule IN VARCHAR2, prefkey IN NUMBER, puserkey IN NUMBER, psavetodb IN NUMBER);
|
||||
END flx;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY flx
|
||||
AS
|
||||
PROCEDURE gettableinf (pmodule IN OUT VARCHAR2,
|
||||
o_ktable OUT VARCHAR2, -- Naam kenmerk tabel
|
||||
o_ktable_kdefault OUT VARCHAR2,
|
||||
o_kvtable OUT VARCHAR2, -- Naam kenmerk waarden tabel
|
||||
o_kvtable_refkey OUT VARCHAR2,
|
||||
o_kvtable_kniveau OUT VARCHAR2,
|
||||
o_kvtable_kwaarde OUT VARCHAR2,
|
||||
o_kvtable_kkey OUT VARCHAR2,
|
||||
o_kvtable_kdelete OUT VARCHAR2,
|
||||
o_ktable_kshowexpr OUT VARCHAR2
|
||||
)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
o_kvtable_kniveau := NULL;
|
||||
CASE
|
||||
WHEN pmodule = 'ALG'
|
||||
THEN o_kvtable := 'alg_onrgoedkenmerk';
|
||||
o_kvtable_refkey := 'alg_onrgoed_key';
|
||||
o_kvtable_kniveau := 'alg_onrgoed_niveau';
|
||||
WHEN pmodule = 'BEZ'
|
||||
THEN o_kvtable := 'bez_kenmerkwaarde';
|
||||
o_kvtable_refkey := 'bez_bezoekers_key';
|
||||
WHEN pmodule = 'BES'
|
||||
THEN o_kvtable := 'bes_kenmerkbestell';
|
||||
o_kvtable_refkey := 'bes_bestelling_key';
|
||||
WHEN pmodule = 'CNT'
|
||||
THEN o_kvtable := 'cnt_kenmerkcontract';
|
||||
o_kvtable_refkey := 'cnt_contract_key';
|
||||
WHEN pmodule = 'FAQ'
|
||||
THEN o_kvtable := 'faq_kenmerkwaarde';
|
||||
o_kvtable_refkey := 'fac_faq_key';
|
||||
WHEN pmodule = 'FIN'
|
||||
THEN o_kvtable := 'fin_kenmerkfactuur';
|
||||
o_kvtable_refkey := 'fin_factuur_key';
|
||||
WHEN pmodule = 'CIL' OR pmodule = 'SLE'
|
||||
THEN o_kvtable := 'ins_kenmerkdeel';
|
||||
o_kvtable_refkey := 'ins_deel_key';
|
||||
WHEN pmodule = 'INS'
|
||||
THEN o_kvtable := 'ins_kenmerkdeel';
|
||||
o_kvtable_refkey := 'ins_deel_key';
|
||||
WHEN pmodule = 'MLD'
|
||||
THEN o_kvtable := 'mld_kenmerkmelding';
|
||||
o_kvtable_refkey := 'mld_melding_key';
|
||||
WHEN pmodule = 'OPD'
|
||||
THEN o_kvtable := 'mld_kenmerkopdr';
|
||||
o_kvtable_refkey := 'mld_opdr_key';
|
||||
l_module := 'MLD';
|
||||
WHEN pmodule = 'PRS'
|
||||
THEN o_kvtable := 'prs_kenmerklink';
|
||||
o_kvtable_refkey := 'prs_link_key';
|
||||
o_kvtable_kniveau := 'prs_kenmerklink_niveau';
|
||||
WHEN pmodule = 'RES'
|
||||
THEN o_kvtable := 'res_kenmerkwaarde';
|
||||
o_kvtable_refkey := 'res_rsv_ruimte_key';
|
||||
END CASE;
|
||||
IF l_module = 'RES'
|
||||
THEN o_kvtable_kwaarde := 'res_kenmerkreservering_waarde'; -- RES is uitzondering
|
||||
ELSE o_kvtable_kwaarde := o_kvtable || '_waarde';
|
||||
END IF;
|
||||
o_ktable := l_module || '_kenmerk';
|
||||
o_ktable_kdefault := l_module || '_kenmerk_default';
|
||||
o_ktable_kshowexpr := l_module || '_kenmerk_show_expr';
|
||||
o_kvtable_kkey := l_module || '_kenmerk_key';
|
||||
o_kvtable_kdelete := o_kvtable || '_verwijder';
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION getflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_niveau IN VARCHAR2 DEFAULT NULL,
|
||||
p_optional IN NUMBER DEFAULT 0) RETURN VARCHAR2
|
||||
IS
|
||||
l_sql_kenm VARCHAR2 (4500);
|
||||
l_waarde VARCHAR2 (4000);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_module VARCHAR2 (3);
|
||||
BEGIN
|
||||
IF p_optional = 1 AND p_ref_key IS NULL
|
||||
THEN
|
||||
return NULL;
|
||||
END IF;
|
||||
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
l_sql_kenm := 'SELECT ' || l_kcolumnname_waarde ||
|
||||
' FROM ' || l_kenmval_tablename ||
|
||||
' WHERE ' || l_kcolumnname_refkey || ' = ' || p_ref_key ||
|
||||
' AND ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key ||
|
||||
' AND ' || l_kcolumnname_delete || ' IS NULL';
|
||||
-- Merk op dat p_kenmerk_key uniek genoeg is, eigenlijk we hoeven p_niveau niet mee te nemen
|
||||
-- Toch controleren we hem gewoon wel voor de tabellen die er mee werken
|
||||
IF l_kcolumnname_niveau IS NOT NULL
|
||||
THEN
|
||||
l_sql_kenm := l_sql_kenm || ' AND ' || l_kcolumnname_niveau || ' = ''' || p_niveau || '''';
|
||||
END IF;
|
||||
BEGIN
|
||||
EXECUTE IMMEDIATE l_sql_kenm INTO l_waarde;
|
||||
RETURN l_waarde;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END;
|
||||
|
||||
-- Let wel: we doen alleen een insert, nooit een update
|
||||
PROCEDURE setflexbijlage (p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_disk_directory IN VARCHAR2,
|
||||
p_disk_filename IN VARCHAR2,
|
||||
p_filename IN VARCHAR2,
|
||||
p_file_size IN NUMBER,
|
||||
p_file_date IN DATE,
|
||||
p_digest IN VARCHAR2 DEFAULT NULL,
|
||||
p_root_key IN NUMBER DEFAULT NULL)
|
||||
AS
|
||||
l_bijlagen_key fac_bijlagen.fac_bijlagen_key%TYPE;
|
||||
l_disk_filename fac_bijlagen.fac_bijlagen_disk_filename%TYPE;
|
||||
BEGIN
|
||||
IF (p_disk_filename = p_filename) THEN
|
||||
l_disk_filename := '';
|
||||
ELSE
|
||||
l_disk_filename := p_disk_filename;
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT fac_bijlagen_key
|
||||
INTO l_bijlagen_key
|
||||
FROM fac_bijlagen
|
||||
WHERE fac_bijlagen_verwijder IS NULL
|
||||
AND fac_bijlagen_module = p_module
|
||||
AND fac_bijlagen_refkey = p_ref_key
|
||||
AND fac_bijlagen_disk_directory = p_disk_directory
|
||||
AND fac_bijlagen_filename = p_filename;
|
||||
|
||||
UPDATE fac_bijlagen
|
||||
SET fac_bijlagen_disk_filename = l_disk_filename
|
||||
, fac_bijlagen_file_size = p_file_size
|
||||
, fac_bijlagen_aanmaak = p_file_date
|
||||
, fac_bijlagen_digest = p_digest
|
||||
WHERE fac_bijlagen_key = l_bijlagen_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
INSERT INTO fac_bijlagen
|
||||
( fac_bijlagen_module
|
||||
, fac_bijlagen_refkey
|
||||
, fac_bijlagen_kenmerk_key
|
||||
, fac_bijlagen_disk_directory
|
||||
, fac_bijlagen_disk_filename
|
||||
, fac_bijlagen_filename
|
||||
, fac_bijlagen_file_size
|
||||
, fac_bijlagen_aanmaak
|
||||
, fac_bijlagen_digest
|
||||
, fac_bijlagen_root_key
|
||||
) VALUES
|
||||
( p_module
|
||||
, p_ref_key
|
||||
, p_kenmerk_key
|
||||
, p_disk_directory
|
||||
, l_disk_filename
|
||||
, p_filename
|
||||
, p_file_size
|
||||
, p_file_date
|
||||
, p_digest
|
||||
, p_root_key
|
||||
)
|
||||
RETURNING fac_bijlagen_key INTO l_bijlagen_key;
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE copyflexbijlage ( p_module IN VARCHAR2
|
||||
, p_refkey IN NUMBER
|
||||
, p_kenmerk_key IN NUMBER
|
||||
, p_from_bijlagen_key IN NUMBER
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
INSERT INTO fac_bijlagen
|
||||
( fac_bijlagen_module
|
||||
, fac_bijlagen_refkey
|
||||
, fac_bijlagen_kenmerk_key
|
||||
, fac_bijlagen_disk_directory
|
||||
, fac_bijlagen_filename
|
||||
, fac_bijlagen_digest
|
||||
, fac_bijlagen_file_size
|
||||
, fac_bijlagen_root_key
|
||||
, fac_bijlagen_aanmaak
|
||||
)
|
||||
SELECT p_module
|
||||
, p_refkey
|
||||
, p_kenmerk_key
|
||||
, '*see root*'
|
||||
, fac_bijlagen_filename
|
||||
, fac_bijlagen_digest
|
||||
, fac_bijlagen_file_size
|
||||
, fac_bijlagen_root_key
|
||||
, fac_bijlagen_aanmaak
|
||||
FROM fac_bijlagen
|
||||
WHERE fac_bijlagen_key = p_from_bijlagen_key;
|
||||
END;
|
||||
|
||||
PROCEDURE deleteflexbijlage (p_bijlagen_key IN NUMBER
|
||||
,p_fileisgone IN BOOLEAN DEFAULT FALSE)
|
||||
AS
|
||||
v_cur_root_key NUMBER;
|
||||
v_new_root_key NUMBER;
|
||||
v_cur_disk_dir fac_bijlagen.fac_bijlagen_disk_directory%TYPE;
|
||||
BEGIN
|
||||
-- Bepaal de nieuwe root_key als het huidige record wordt verwijderd,
|
||||
SELECT MIN(n1.fac_bijlagen_root_key)
|
||||
, MIN(n1.fac_bijlagen_key)
|
||||
, MIN(n2.fac_bijlagen_disk_directory)
|
||||
INTO v_cur_root_key
|
||||
, v_new_root_key
|
||||
, v_cur_disk_dir
|
||||
FROM fac_bijlagen n1
|
||||
, fac_bijlagen n2
|
||||
WHERE n1.fac_bijlagen_root_key = n2.fac_bijlagen_root_key
|
||||
AND n1.fac_bijlagen_verwijder IS NULL
|
||||
AND n2.fac_bijlagen_verwijder IS NULL
|
||||
AND n2.fac_bijlagen_key = p_bijlagen_key
|
||||
AND n1.fac_bijlagen_key <> p_bijlagen_key;
|
||||
|
||||
IF (v_cur_root_key <> v_new_root_key)
|
||||
THEN
|
||||
-- Wijzig de root_key van alle records die naar het te verwijderen record verwijzen
|
||||
UPDATE fac_bijlagen
|
||||
SET fac_bijlagen_root_key = v_new_root_key
|
||||
WHERE fac_bijlagen_root_key = v_cur_root_key;
|
||||
-- Wijzig alleen van de nieuwe root de directory
|
||||
UPDATE fac_bijlagen
|
||||
SET fac_bijlagen_disk_directory = v_cur_disk_dir
|
||||
WHERE fac_bijlagen_key = v_new_root_key;
|
||||
END IF;
|
||||
--
|
||||
-- Nu mag dit record verwijderd worden
|
||||
IF (p_fileisgone)
|
||||
THEN
|
||||
IF (v_cur_root_key IS NULL AND v_new_root_key IS NULL)
|
||||
THEN
|
||||
-- Query heeft geen andere bijlage gevonden die de nieuwe root_key kan worden.
|
||||
-- Er zijn dan geen kopieen van de bijlage, of van alle kopieen is ook de verwijderdatum gezet.
|
||||
-- Verwijder eerst de kopieen met verwijderdatum.
|
||||
DELETE FROM fac_bijlagen
|
||||
WHERE fac_bijlagen_verwijder IS NOT NULL
|
||||
AND fac_bijlagen_root_key = p_bijlagen_key;
|
||||
END IF;
|
||||
|
||||
DELETE FROM fac_bijlagen
|
||||
WHERE fac_bijlagen_key = p_bijlagen_key;
|
||||
ELSE
|
||||
UPDATE fac_bijlagen
|
||||
SET fac_bijlagen_verwijder = SYSDATE
|
||||
WHERE fac_bijlagen_key = p_bijlagen_key;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
PROCEDURE deleteflexbijlage (p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_disk_directory IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
v_bijlagen_key NUMBER(10);
|
||||
|
||||
CURSOR c_bijlagen
|
||||
IS
|
||||
SELECT fac_bijlagen_key
|
||||
FROM fac_bijlagen
|
||||
WHERE fac_bijlagen_module = p_module
|
||||
AND fac_bijlagen_disk_directory = p_disk_directory
|
||||
AND fac_bijlagen_refkey = p_ref_key
|
||||
AND fac_bijlagen_kenmerk_key = p_kenmerk_key
|
||||
AND fac_bijlagen_verwijder IS NULL
|
||||
AND fac_bijlagen_filename = p_filename;
|
||||
BEGIN
|
||||
FOR bijl IN c_bijlagen
|
||||
LOOP
|
||||
flx.deleteflexbijlage(bijl.fac_bijlagen_key);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
PROCEDURE setflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_waarde IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
setflex(pmodule, p_kenmerk_key, p_ref_key, NULL, p_waarde);
|
||||
END;
|
||||
PROCEDURE setflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_niveau IN VARCHAR2,
|
||||
p_waarde IN VARCHAR2,
|
||||
p_multi IN NUMBER DEFAULT 0)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_sql_kenm VARCHAR2 (4500);
|
||||
l_sql_upsert VARCHAR2 (4500);
|
||||
l_rowsprocessed NUMBER DEFAULT 0;
|
||||
l_cursor_upsert INTEGER DEFAULT DBMS_SQL.open_cursor;
|
||||
l_aantal_kenm NUMBER;
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_niveau_col VARCHAR2 (32) DEFAULT '';
|
||||
l_niveau_val VARCHAR2 (7) DEFAULT '';
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
|
||||
l_sql_kenm := 'SELECT COUNT(*)' ||
|
||||
' FROM ' || l_kenmval_tablename ||
|
||||
' WHERE ' || l_kcolumnname_refkey || ' = ' || p_ref_key ||
|
||||
' AND ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key ||
|
||||
' AND ' || l_kcolumnname_delete || ' IS NULL';
|
||||
-- Voor het kenmerktype Map kunnen/mogen meerdere regels met dezelde refkey en kenmerk_key bestaan.
|
||||
-- In dat geval dus toevoegen als ook de verwijzing naar fac_bijlagen (in p_waarde) nog niet bestaat.
|
||||
IF (p_multi = 1) THEN
|
||||
l_sql_kenm := l_sql_kenm || ' AND ' || l_kcolumnname_waarde || ' = ' || p_waarde;
|
||||
END IF;
|
||||
EXECUTE IMMEDIATE l_sql_kenm INTO l_aantal_kenm;
|
||||
|
||||
l_sql_upsert := '';
|
||||
IF l_aantal_kenm = 0
|
||||
THEN
|
||||
IF l_kcolumnname_niveau IS NOT NULL AND p_niveau IS NOT NULL
|
||||
THEN
|
||||
l_niveau_col := ', ' || l_kcolumnname_niveau;
|
||||
l_niveau_val := ', ''' || p_niveau || '''';
|
||||
END IF;
|
||||
l_sql_upsert := 'INSERT INTO ' || l_kenmval_tablename ||
|
||||
' (' || l_kcolumnname_refkey ||
|
||||
' , ' || l_kcolumnname_kkey ||
|
||||
' , ' || l_kcolumnname_waarde ||
|
||||
l_niveau_col ||
|
||||
' )' ||
|
||||
' VALUES (' || p_ref_key ||
|
||||
' , ' || p_kenmerk_key ||
|
||||
' , :p_waarde'||
|
||||
l_niveau_val ||
|
||||
' )';
|
||||
ELSE
|
||||
-- Voor p_multi zijn er geen wijzigingen!
|
||||
IF (p_multi = 0) THEN
|
||||
l_sql_upsert := 'UPDATE ' || l_kenmval_tablename ||
|
||||
' SET ' || l_kcolumnname_waarde || ' = :p_waarde' ||
|
||||
' WHERE ' || l_kcolumnname_refkey || ' = ' || p_ref_key ||
|
||||
' AND ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key ||
|
||||
' AND ' || l_kcolumnname_delete || ' IS NULL';
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF (l_sql_upsert IS NOT NULL) THEN
|
||||
DBMS_SQL.PARSE (l_cursor_upsert, l_sql_upsert, DBMS_SQL.native);
|
||||
DBMS_SQL.BIND_VARIABLE(l_cursor_upsert, ':p_waarde', p_waarde);
|
||||
l_rowsprocessed := DBMS_SQL.EXECUTE (l_cursor_upsert);
|
||||
DBMS_SQL.CLOSE_CURSOR(l_cursor_upsert);
|
||||
END IF;
|
||||
END;
|
||||
PROCEDURE deleteflex (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_ref_key IN NUMBER,
|
||||
p_niveau IN VARCHAR2,
|
||||
p_waardekey IN NUMBER DEFAULT NULL)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_sql_delete VARCHAR2 (4500);
|
||||
l_rowsprocessed NUMBER DEFAULT 0;
|
||||
l_cursor_delete INTEGER DEFAULT DBMS_SQL.open_cursor;
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_niveau VARCHAR2 (40);
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
|
||||
-- Merk op dat p_kenmerk_key uniek genoeg is, eigenlijk we hoeven p_niveau niet mee te nemen
|
||||
IF l_kcolumnname_niveau IS NOT NULL
|
||||
THEN
|
||||
l_niveau := ' AND ' || l_kcolumnname_niveau || ' = ''' || p_niveau || '''';
|
||||
ELSE
|
||||
l_niveau := '';
|
||||
END IF;
|
||||
|
||||
l_sql_delete := 'DELETE FROM ' || l_kenmval_tablename ||
|
||||
' WHERE ' || l_kcolumnname_refkey || ' = ' || p_ref_key ||
|
||||
' AND ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key ||
|
||||
' AND ' || l_kcolumnname_delete || ' IS NULL' ||
|
||||
l_niveau;
|
||||
|
||||
IF (p_waardekey IS NOT NULL) THEN -- Specifieke flex-bijlage
|
||||
l_sql_delete := l_sql_delete ||
|
||||
' AND ' || l_kcolumnname_waarde || ' = ' || TO_CHAR(p_waardekey);
|
||||
END IF;
|
||||
|
||||
DBMS_SQL.parse (l_cursor_delete, l_sql_delete, DBMS_SQL.native);
|
||||
|
||||
l_rowsprocessed := DBMS_SQL.execute (l_cursor_delete);
|
||||
DBMS_SQL.close_cursor(l_cursor_delete);
|
||||
END;
|
||||
|
||||
FUNCTION getflexexprtype (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
|
||||
IS
|
||||
l_module VARCHAR2 (3);
|
||||
l_sql_expr VARCHAR2 (4500);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_expr VARCHAR2 (4);
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
-- Expressie opvragen uit de default waarde uit de kenmerk tabel.
|
||||
l_sql_expr := 'SELECT (SUBSTR (' || l_kcolumnname_default || ', 1, 2))' ||
|
||||
' FROM ' || l_kenmerk_tablename ||
|
||||
' WHERE ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key;
|
||||
EXECUTE IMMEDIATE l_sql_expr INTO l_expr;
|
||||
IF l_expr = '##'
|
||||
THEN
|
||||
l_sql_expr := 'SELECT (SUBSTR (' || l_kcolumnname_default || ', 3, 4))' ||
|
||||
' FROM ' || l_kenmerk_tablename ||
|
||||
' WHERE ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key;
|
||||
EXECUTE IMMEDIATE l_sql_expr INTO l_expr;
|
||||
ELSE
|
||||
l_expr := NULL;
|
||||
END IF;
|
||||
RETURN l_expr;
|
||||
END;
|
||||
|
||||
FUNCTION getflexexpression (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
|
||||
IS
|
||||
l_module VARCHAR2 (3);
|
||||
l_sql_expr VARCHAR2 (4500);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_expr VARCHAR2 (4000);
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
-- Expressie opvragen uit de default waarde uit de kenmerk tabel.
|
||||
l_sql_expr := 'SELECT (SUBSTR (' || l_kcolumnname_default || ', 9))' ||
|
||||
' FROM ' || l_kenmerk_tablename ||
|
||||
' WHERE ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key;
|
||||
EXECUTE IMMEDIATE l_sql_expr INTO l_expr;
|
||||
RETURN l_expr;
|
||||
END;
|
||||
|
||||
FUNCTION getflexshowexpr (pmodule IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER) RETURN VARCHAR2
|
||||
IS
|
||||
l_module VARCHAR2 (3);
|
||||
l_sql_expr VARCHAR2 (4500);
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_expr VARCHAR2 (4000);
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
-- Expressie opvragen uit de default waarde uit de kenmerk tabel.
|
||||
l_sql_expr := 'SELECT (SUBSTR (' || l_kcolumnname_showexpr || ', 9))' ||
|
||||
' FROM ' || l_kenmerk_tablename ||
|
||||
' WHERE ' || l_kcolumnname_kkey || ' = ' || p_kenmerk_key;
|
||||
EXECUTE IMMEDIATE l_sql_expr INTO l_expr;
|
||||
RETURN l_expr;
|
||||
END;
|
||||
|
||||
FUNCTION getdomeinwaarde (dkey IN NUMBER, waarde IN VARCHAR2, ignorewhenxmlnode IN NUMBER DEFAULT 0)
|
||||
RETURN VARCHAR2
|
||||
IS
|
||||
sresult VARCHAR2 (255);
|
||||
kolomnaam fac_kenmerkdomein.fac_kenmerkdomein_kolomnaam%TYPE;
|
||||
kolomtxt fac_kenmerkdomein.fac_kenmerkdomein_kolomtxt%TYPE;
|
||||
objectnaam fac_kenmerkdomein.fac_kenmerkdomein_objectnaam%TYPE;
|
||||
xmlnode fac_kenmerkdomein.fac_kenmerkdomein_xmlnode%TYPE;
|
||||
resultvalue VARCHAR2 (1000);
|
||||
BEGIN
|
||||
IF waarde IS NULL
|
||||
THEN
|
||||
resultvalue := NULL; -- gauw klaar mee
|
||||
ELSE
|
||||
SELECT rsk.fac_kenmerkdomein_kolomnaam,
|
||||
rsk.fac_kenmerkdomein_kolomtxt,
|
||||
rsk.fac_kenmerkdomein_objectnaam,
|
||||
rsk.fac_kenmerkdomein_xmlnode
|
||||
INTO kolomnaam,
|
||||
kolomtxt,
|
||||
objectnaam,
|
||||
xmlnode
|
||||
FROM fac_kenmerkdomein rsk
|
||||
WHERE rsk.fac_kenmerkdomein_key = dkey;
|
||||
IF (xmlnode IS NOT NULL AND ignorewhenxmlnode = 1)
|
||||
THEN
|
||||
RETURN waarde;
|
||||
END IF;
|
||||
-- Optimalisatie: meestal is het dezelfde query op de usrdata-tabel
|
||||
-- Dan hoeven we niet te bouwen en steeds te parsen (FSN#25653)
|
||||
IF kolomtxt = 'FAC_USRDATA_OMSCHR'
|
||||
AND objectnaam = 'FAC_USRDATA'
|
||||
AND kolomnaam = 'FAC_USRDATA_KEY'
|
||||
THEN
|
||||
SELECT fac_usrdata_omschr
|
||||
INTO resultvalue
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrdata_key = fac.safe_to_number(waarde);
|
||||
ELSE
|
||||
sresult := 'SELECT MIN(' || kolomtxt || ') FROM ' || objectnaam || ' WHERE ' || kolomnaam || ' = :bd_waarde';
|
||||
EXECUTE IMMEDIATE sresult INTO resultvalue USING waarde;
|
||||
END IF;
|
||||
END IF;
|
||||
RETURN resultvalue;
|
||||
END;
|
||||
PROCEDURE evaluateflexexpressions (pmodule IN VARCHAR2, prefkey IN NUMBER, puserkey IN NUMBER, psavetodb IN NUMBER)
|
||||
AS
|
||||
l_module VARCHAR2 (3);
|
||||
l_sql_exprval VARCHAR2 (4500);
|
||||
l_rowsprocessed NUMBER DEFAULT 0;
|
||||
l_cursor_exprval NUMBER; -- INTEGER DEFAULT DBMS_SQL.open_cursor;
|
||||
l_desctab DBMS_SQL.desc_tab;
|
||||
l_colcnt NUMBER;
|
||||
l_expr VARCHAR2 (4000);
|
||||
l_exprtype VARCHAR2 (4);
|
||||
l_exprval VARCHAR2 (4000);
|
||||
l_exprval_num NUMBER;
|
||||
l_exprval_date DATE;
|
||||
l_cntbind NUMBER;
|
||||
l_cnt NUMBER;
|
||||
l_bvar VARCHAR2 (1000);
|
||||
l_rflex VARCHAR2 (1000) DEFAULT '(\:flex[0-9_]+)'; -- supports ':flex111 = ''538'''
|
||||
l_kenmerkwaarde fac_kenmwaarden.fac_kenmwaarden_waarde%TYPE;
|
||||
l_kenmerkw_date DATE;
|
||||
l_kenmerkw_num NUMBER;
|
||||
l_kenmerktype fac_kenmwaarden.fac_kenmwaarden_kenmerktype%TYPE;
|
||||
l_kenmerk_key fac_kenmwaarden.fac_kenmwaarden_kenmerk_key%TYPE;
|
||||
l_kenmerk_tablename VARCHAR2 (30);
|
||||
l_kenmval_tablename VARCHAR2 (30);
|
||||
l_kcolumnname_refkey VARCHAR2 (30);
|
||||
l_kcolumnname_niveau VARCHAR2 (30);
|
||||
l_kcolumnname_waarde VARCHAR2 (30);
|
||||
l_kcolumnname_default VARCHAR2 (30);
|
||||
l_kcolumnname_kkey VARCHAR2 (30);
|
||||
l_kcolumnname_delete VARCHAR2 (30);
|
||||
l_kcolumnname_showexpr VARCHAR2 (30);
|
||||
l_niveau_val VARCHAR2 (1) DEFAULT '';
|
||||
CURSOR c_expressions
|
||||
IS
|
||||
SELECT fac_kenmwaarden_kenmerk_key,
|
||||
fac_kenmwaarden_kenmerktype,
|
||||
fac_kenmwaarden_kenmerklen,
|
||||
fac_kenmwaarden_kenmerkdec,
|
||||
fac_kenmwaarden_niveau,
|
||||
fac_kenmwaarden_waarde
|
||||
FROM fac_kenmwaarden
|
||||
WHERE fac_kenmwaarden_module = pmodule
|
||||
AND fac_kenmwaarden_refkey = prefkey
|
||||
AND prs_perslid_key = puserkey
|
||||
AND fac_kenmwaarden_isexpr = 1
|
||||
ORDER BY fac_kenmwaarden_key;
|
||||
BEGIN
|
||||
l_module := pmodule;
|
||||
flx.gettableinf (l_module, l_kenmerk_tablename, l_kcolumnname_default, l_kenmval_tablename, l_kcolumnname_refkey, l_kcolumnname_niveau, l_kcolumnname_waarde, l_kcolumnname_kkey, l_kcolumnname_delete, l_kcolumnname_showexpr);
|
||||
FOR expr IN c_expressions
|
||||
LOOP
|
||||
l_cursor_exprval := DBMS_SQL.open_cursor;
|
||||
-- Expressie opvragen.
|
||||
l_exprtype := flx.getflexexprtype(pmodule, expr.fac_kenmwaarden_kenmerk_key);
|
||||
l_expr := flx.getflexexpression(pmodule, expr.fac_kenmwaarden_kenmerk_key);
|
||||
IF l_exprtype IS NOT NULL AND l_expr IS NOT NULL
|
||||
THEN
|
||||
l_sql_exprval := 'SELECT ' || '(' || l_expr || ')' || ' FROM DUAL';
|
||||
BEGIN
|
||||
DBMS_SQL.parse (l_cursor_exprval, l_sql_exprval, DBMS_SQL.native);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
raise_application_error (
|
||||
-20001,
|
||||
'Error parsing flex-expression ' || pmodule || ' kenmerkkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval
|
||||
|| CHR(10) || 'Original: ' || l_expr);
|
||||
END;
|
||||
--DBMS_SQL.describe_columns(l_cursor_exprval, l_colcnt, l_desctab);
|
||||
IF expr.fac_kenmwaarden_kenmerktype = 'N'
|
||||
THEN
|
||||
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
|
||||
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
|
||||
THEN
|
||||
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num);
|
||||
ELSE
|
||||
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval, 4000);
|
||||
END IF;
|
||||
l_cntbind := REGEXP_COUNT (l_sql_exprval,
|
||||
l_rflex,
|
||||
1,
|
||||
'i');
|
||||
FOR l_cnt IN 1 .. l_cntbind
|
||||
LOOP
|
||||
l_bvar := REGEXP_SUBSTR (l_sql_exprval,
|
||||
l_rflex,
|
||||
1,
|
||||
l_cnt,
|
||||
'i');
|
||||
l_kenmerk_key := TO_NUMBER (SUBSTR (l_bvar, 6));
|
||||
BEGIN
|
||||
SELECT fac_kenmwaarden_waarde,
|
||||
fac_kenmwaarden_kenmerktype
|
||||
INTO l_kenmerkwaarde,
|
||||
l_kenmerktype
|
||||
FROM fac_kenmwaarden
|
||||
WHERE fac_kenmwaarden_module = l_module
|
||||
AND fac_kenmwaarden_refkey = prefkey
|
||||
AND prs_perslid_key = puserkey
|
||||
AND fac_kenmwaarden_kenmerk_key = l_kenmerk_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
l_kenmerkwaarde := NULL;
|
||||
l_kenmerktype := NULL;
|
||||
END;
|
||||
BEGIN
|
||||
-- Als <20><>n van de flexkenmerken NULL is, dan met die waarde verder rekenen. Waarde kan bewust NULL zijn
|
||||
CASE l_kenmerktype
|
||||
WHEN 'D'
|
||||
THEN
|
||||
l_kenmerkw_date := TO_DATE(l_kenmerkwaarde, 'DD-MM-YYYY');
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkw_date);
|
||||
WHEN 'N'
|
||||
THEN
|
||||
l_kenmerkw_num := TO_NUMBER(l_kenmerkwaarde);
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkw_num);
|
||||
WHEN 'V'
|
||||
THEN
|
||||
l_kenmerkw_num := TO_NUMBER(l_kenmerkwaarde);
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkw_num);
|
||||
ELSE
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkwaarde);
|
||||
END CASE;
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
raise_application_error (
|
||||
-20001,
|
||||
'Error binding flex-expression ' || pmodule|| ' kkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| ' type: ' || l_kenmerktype || ' val: ' || l_kenmerkwaarde
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval);
|
||||
END;
|
||||
END LOOP;
|
||||
BEGIN
|
||||
l_rowsprocessed := DBMS_SQL.execute_and_fetch (l_cursor_exprval);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
raise_application_error (
|
||||
-20001,
|
||||
'Error executing flex-expression ' || pmodule|| ' kkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval);
|
||||
END;
|
||||
IF expr.fac_kenmwaarden_kenmerktype = 'N'
|
||||
THEN
|
||||
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
|
||||
l_exprval := TO_CHAR(l_exprval_num);
|
||||
IF (l_exprval IS NOT NULL AND expr.fac_kenmwaarden_kenmerkdec > 0)
|
||||
THEN
|
||||
-- Voeg gewenst aantal decimalen toe
|
||||
-- en een voorloop nul als het begint met een punt.
|
||||
IF (INSTR(l_exprval,'.') = 0)
|
||||
THEN
|
||||
l_exprval := l_exprval || '.';
|
||||
ELSIF (INSTR(l_exprval,'.') = 1)
|
||||
THEN
|
||||
l_exprval := '0' || l_exprval;
|
||||
END IF;
|
||||
l_exprval := l_exprval || RPAD('0', expr.fac_kenmwaarden_kenmerkdec, '0');
|
||||
l_exprval := SUBSTR(l_exprval, 1, INSTR(l_exprval, '.') + expr.fac_kenmwaarden_kenmerkdec);
|
||||
END IF;
|
||||
ELSIF expr.fac_kenmwaarden_kenmerktype = 'V'
|
||||
THEN
|
||||
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
|
||||
l_exprval := TO_CHAR(l_exprval_num);
|
||||
ELSE
|
||||
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval);
|
||||
END IF;
|
||||
IF l_kcolumnname_niveau IS NOT NULL
|
||||
THEN
|
||||
IF psavetodb = 1
|
||||
THEN
|
||||
-- Waarde opslaan in de database
|
||||
flx.setflex (l_module, expr.fac_kenmwaarden_kenmerk_key, prefkey, expr.fac_kenmwaarden_niveau, l_exprval);
|
||||
END IF;
|
||||
-- Waarde van de expressie flexkenmerk in de tijdelijke kenmerk waarden tabel (fac_kenmwaarden) vullen met de nieuwe waarde.
|
||||
-- Expressie flexkenmerken die afhankelijke zijn van andere expressie flexkenmerken worden dan ook goed berekend.
|
||||
UPDATE fac_kenmwaarden
|
||||
SET fac_kenmwaarden_waarde = l_exprval
|
||||
WHERE fac_kenmwaarden_module = pmodule
|
||||
AND fac_kenmwaarden_refkey = prefkey
|
||||
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
|
||||
AND fac_kenmwaarden_niveau = expr.fac_kenmwaarden_niveau
|
||||
AND prs_perslid_key = puserkey
|
||||
AND fac_kenmwaarden_isexpr = 1;
|
||||
ELSE
|
||||
IF psavetodb = 1
|
||||
THEN
|
||||
-- Waarde opslaan in de database
|
||||
flx.setflex (l_module, expr.fac_kenmwaarden_kenmerk_key, prefkey, l_exprval);
|
||||
END IF;
|
||||
-- Waarde van de expressie flexkenmerk in de tijdelijke kenmerk waarden tabel (fac_kenmwaarden) vullen met de nieuwe waarde.
|
||||
-- Expressie flexkenmerken die afhankelijke zijn van andere expressie flexkenmerken worden dan ook goed berekend.
|
||||
UPDATE fac_kenmwaarden
|
||||
SET fac_kenmwaarden_waarde = l_exprval
|
||||
WHERE fac_kenmwaarden_module = pmodule
|
||||
AND fac_kenmwaarden_refkey = prefkey
|
||||
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
|
||||
AND prs_perslid_key = puserkey
|
||||
AND fac_kenmwaarden_niveau IS NULL
|
||||
AND fac_kenmwaarden_isexpr = 1;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- hierboven zijn ##EXPR## berekende kenmerken verwerkt
|
||||
-- Nu nog eventuele ##SHOW## om voorwaardelijk zichtbaar te maken
|
||||
l_expr := flx.getflexshowexpr(pmodule, expr.fac_kenmwaarden_kenmerk_key);
|
||||
IF l_expr IS NOT NULL
|
||||
THEN
|
||||
DBMS_OUTPUT.PUT_LINE('Berekenen show-expressie voor kenmerk ' || expr.fac_kenmwaarden_kenmerk_key);
|
||||
l_sql_exprval := 'SELECT CASE'
|
||||
|| ' WHEN NVL (TO_CHAR(' || l_expr || '), ''0'') = ''0'''
|
||||
|| ' THEN 0' -- als l_expr NULL, 0 of '0' oplevert
|
||||
|| ' ELSE 1' -- alle andere waarden
|
||||
|| ' END showexpr'
|
||||
|| ' FROM DUAL';
|
||||
BEGIN
|
||||
DBMS_SQL.parse (l_cursor_exprval, l_sql_exprval, DBMS_SQL.native);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
raise_application_error (
|
||||
-20001,
|
||||
'Error parsing flex-expression ' || pmodule || ' kenmerkkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval
|
||||
|| CHR(10) || 'Original: ' || l_expr);
|
||||
END;
|
||||
--DBMS_SQL.describe_columns(l_cursor_exprval, l_colcnt, l_desctab);
|
||||
DBMS_SQL.define_column(l_cursor_exprval, 1, l_exprval_num); -- onze expressie is altijd numeriek
|
||||
l_cntbind := REGEXP_COUNT (l_sql_exprval,
|
||||
l_rflex,
|
||||
1,
|
||||
'i');
|
||||
FOR l_cnt IN 1 .. l_cntbind
|
||||
LOOP
|
||||
l_bvar := REGEXP_SUBSTR (l_sql_exprval,
|
||||
l_rflex,
|
||||
1,
|
||||
l_cnt,
|
||||
'i');
|
||||
l_kenmerk_key := TO_NUMBER (SUBSTR (l_bvar, 6));
|
||||
BEGIN
|
||||
SELECT fac_kenmwaarden_waarde,
|
||||
fac_kenmwaarden_kenmerktype
|
||||
INTO l_kenmerkwaarde,
|
||||
l_kenmerktype
|
||||
FROM fac_kenmwaarden
|
||||
WHERE fac_kenmwaarden_module = l_module
|
||||
AND fac_kenmwaarden_refkey = prefkey
|
||||
AND prs_perslid_key = puserkey
|
||||
AND fac_kenmwaarden_kenmerk_key = l_kenmerk_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
l_kenmerkwaarde := NULL;
|
||||
l_kenmerktype := NULL;
|
||||
END;
|
||||
-- Als <20><>n van de flexkenmerken NULL is, dan met die waarde verder rekenen. Waarde kan bewust NULL zijn
|
||||
CASE l_kenmerktype
|
||||
WHEN 'D'
|
||||
THEN
|
||||
l_kenmerkw_date := TO_DATE(l_kenmerkwaarde, 'DD-MM-YYYY');
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkw_date);
|
||||
WHEN 'N'
|
||||
THEN
|
||||
l_kenmerkw_num := TO_NUMBER(l_kenmerkwaarde);
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkw_num);
|
||||
WHEN 'V'
|
||||
THEN
|
||||
l_kenmerkw_num := TO_NUMBER(l_kenmerkwaarde);
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkw_num);
|
||||
ELSE
|
||||
DBMS_SQL.bind_variable (l_cursor_exprval, l_bvar, l_kenmerkwaarde);
|
||||
END CASE;
|
||||
END LOOP;
|
||||
BEGIN
|
||||
l_rowsprocessed := DBMS_SQL.execute_and_fetch (l_cursor_exprval);
|
||||
EXCEPTION
|
||||
WHEN OTHERS THEN
|
||||
raise_application_error (
|
||||
-20001,
|
||||
'Error executing flex-expression ' || pmodule|| ' kkey:' || expr.fac_kenmwaarden_kenmerk_key
|
||||
|| CHR(10) || SQLERRM
|
||||
|| CHR(10) || l_sql_exprval);
|
||||
END;
|
||||
DBMS_SQL.column_value (l_cursor_exprval, 1, l_exprval_num);
|
||||
|
||||
UPDATE fac_kenmwaarden
|
||||
SET fac_kenmwaarden_exprwaarde = TO_CHAR(l_exprval_num) -- '0' of '1'
|
||||
WHERE fac_kenmwaarden_module = pmodule
|
||||
AND fac_kenmwaarden_refkey = prefkey
|
||||
AND fac_kenmwaarden_kenmerk_key = expr.fac_kenmwaarden_kenmerk_key
|
||||
AND prs_perslid_key = puserkey
|
||||
AND fac_kenmwaarden_isexpr = 1;
|
||||
END IF;
|
||||
DBMS_SQL.close_cursor(l_cursor_exprval);
|
||||
END LOOP;
|
||||
END;
|
||||
END flx;
|
||||
/
|
||||
REGISTERRUN('$Id$')
|
||||
192
FAC/FAC_PACL.SRC
192
FAC/FAC_PACL.SRC
@@ -22,18 +22,14 @@ AS
|
||||
|
||||
PROCEDURE setuserlanguage (flcode IN VARCHAR2);
|
||||
|
||||
PROCEDURE setdatabaselanguage (flcode IN VARCHAR2);
|
||||
|
||||
FUNCTION xl (pnaam IN VARCHAR2, pkey IN NUMBER, pdefault IN VARCHAR2, plang IN VARCHAR2)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
FUNCTION x (pnaam IN VARCHAR2, pkey IN NUMBER, pdefault IN VARCHAR2, pautolcl IN NUMBER DEFAULT 1)
|
||||
FUNCTION x (pnaam IN VARCHAR2, pkey IN NUMBER, pdefault IN VARCHAR2)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
FUNCTION L (pnaam IN VARCHAR2, pautolcl IN NUMBER DEFAULT 0)
|
||||
FUNCTION L (pnaam IN VARCHAR2)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
PROCEDURE fallback_languages;
|
||||
END lcl;
|
||||
/
|
||||
|
||||
@@ -45,26 +41,13 @@ AS
|
||||
AS
|
||||
userlang VARCHAR2 (10);
|
||||
BEGIN
|
||||
-- Cache de databasetaal in een package-global
|
||||
IF fcltdblanguage IS NULL
|
||||
THEN
|
||||
SELECT fac_version_lang INTO fcltdblanguage FROM fac_version;
|
||||
DBMS_OUTPUT.put_line ('Recaching language ' || fcltdblanguage);
|
||||
END IF;
|
||||
|
||||
-- Bepaalt de applicatietaal van de user zoals vanuit ASP gezet
|
||||
-- Links is wat Oracle teruggeeft, rechts wat ISO-639 vindt (onze keuze)
|
||||
userlang := SYS_CONTEXT ('userenv', 'LANG');
|
||||
RETURN CASE userlang
|
||||
WHEN 'NL' THEN 'NL'
|
||||
WHEN 'GB' THEN 'EN'
|
||||
WHEN 'D' THEN 'DE'
|
||||
WHEN 'F' THEN 'FR'
|
||||
WHEN 'S' THEN 'SV'
|
||||
WHEN 'N' THEN 'NO'
|
||||
WHEN 'DK' THEN 'DA'
|
||||
WHEN 'SF' THEN 'FI'
|
||||
ELSE fcltdblanguage
|
||||
WHEN 'D' THEN 'DE'
|
||||
WHEN 'F' THEN 'FR'
|
||||
ELSE userlang
|
||||
END;
|
||||
END;
|
||||
|
||||
@@ -72,7 +55,7 @@ AS
|
||||
AS
|
||||
nlslang VARCHAR2 (30);
|
||||
setsql VARCHAR2 (60);
|
||||
lflcode VARCHAR2 (10); -- locale kopie
|
||||
lflcode VARCHAR2 (3); -- locale kopie
|
||||
BEGIN
|
||||
-- Zet de sessie in de juiste taal, gegeven de FACILITOR-tweeletterige taalcode
|
||||
|
||||
@@ -84,7 +67,7 @@ AS
|
||||
INTO lflcode
|
||||
FROM fac_version;
|
||||
ELSE
|
||||
lflcode := SUBSTR(flcode, 1, 10);
|
||||
lflcode := flcode;
|
||||
END IF;
|
||||
|
||||
|
||||
@@ -103,18 +86,6 @@ AS
|
||||
WHEN 'FR'
|
||||
THEN
|
||||
nlslang := 'FRENCH';
|
||||
WHEN 'SV'
|
||||
THEN
|
||||
nlslang := 'SWEDISH';
|
||||
WHEN 'NO'
|
||||
THEN
|
||||
nlslang := 'NORWEGIAN';
|
||||
WHEN 'DA'
|
||||
THEN
|
||||
nlslang := 'DANISH';
|
||||
WHEN 'FI'
|
||||
THEN
|
||||
nlslang := 'FINNISH';
|
||||
ELSE
|
||||
nlslang := 'DUTCH';
|
||||
END CASE;
|
||||
@@ -124,20 +95,11 @@ AS
|
||||
EXECUTE IMMEDIATE setsql;
|
||||
END;
|
||||
|
||||
/* Let op dat ASP-code mogelijk ook nog cache't. Wijzig een willekeurige setting voor een re-cache */
|
||||
PROCEDURE setdatabaselanguage (flcode IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
UPDATE fac_version
|
||||
SET fac_version_lang = flcode;
|
||||
fcltdblanguage := flcode; -- Gecachete waarde bijwerken
|
||||
END;
|
||||
|
||||
/* levert de vertaalde string op*/
|
||||
FUNCTION xl (pnaam IN VARCHAR2, pkey IN NUMBER, pdefault IN VARCHAR2, plang IN VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
|
||||
retval VARCHAR2(2000); --fac_locale.fac_locale_tekst%TYPE;
|
||||
BEGIN
|
||||
BEGIN
|
||||
-- language vertaling, geen dialect. Geldt voor kolommen
|
||||
@@ -161,12 +123,11 @@ AS
|
||||
|
||||
|
||||
|
||||
FUNCTION x (pnaam IN VARCHAR2, pkey IN NUMBER, pdefault IN VARCHAR2, pautolcl IN NUMBER DEFAULT 1)
|
||||
FUNCTION x (pnaam IN VARCHAR2, pkey IN NUMBER, pdefault IN VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
requiredlang fac_version.fac_version_lang%TYPE;
|
||||
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
|
||||
|
||||
retval VARCHAR2(2000); --fac_locale.fac_locale_tekst%TYPE;
|
||||
BEGIN
|
||||
-- Cache de databasetaal in een package-global
|
||||
IF fcltdblanguage IS NULL
|
||||
@@ -179,137 +140,32 @@ AS
|
||||
|
||||
IF (requiredlang = fcltdblanguage OR pkey IS NULL)
|
||||
THEN
|
||||
-- DBMS_OUTPUT.put_line ('Using default language ' || requiredlang);
|
||||
DBMS_OUTPUT.put_line ('Using default language ' || requiredlang);
|
||||
retval := pdefault;
|
||||
ELSE
|
||||
-- DBMS_OUTPUT.put_line ('Using notdefault language ' || requiredlang);
|
||||
DBMS_OUTPUT.put_line ('Using notdefault language ' || requiredlang);
|
||||
retval := lcl.xl (pnaam, pkey, pdefault, requiredlang);
|
||||
END IF;
|
||||
|
||||
-- Voor lcl_noti_* maar verder generiek
|
||||
IF pautolcl = 1 THEN
|
||||
retval := lcl.L(retval, pautolcl);
|
||||
END IF;
|
||||
|
||||
RETURN retval;
|
||||
END;
|
||||
|
||||
-- Oracle variant van de ASP-L functie
|
||||
-- Geef pautolcl=1 mee als je niet zeker weet of het een lcl is
|
||||
-- Geeft de lcl zelf retour als deze niet gedefinieerd is (beter dan nodatafound)
|
||||
FUNCTION l (pnaam IN VARCHAR2, pautolcl IN NUMBER DEFAULT 0)
|
||||
RETURN VARCHAR2
|
||||
FUNCTION L (pnaam IN VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
retval fac_locale_xsl.fac_locale_xsl_tekst%TYPE;
|
||||
retval VARCHAR2(2000); --fac_locale.fac_locale_tekst%TYPE;
|
||||
BEGIN
|
||||
-- Voor lcl_noti_* maar verder generiek
|
||||
IF pautolcl = 1 AND pnaam NOT LIKE 'lcl_%'
|
||||
THEN
|
||||
RETURN pnaam;
|
||||
END IF;
|
||||
BEGIN
|
||||
SELECT COALESCE (fac_locale_xsl_cust, fac_locale_xsl_tekst)
|
||||
INTO retval
|
||||
FROM fac_locale_xsl
|
||||
WHERE fac_locale_xsl_lang = lcl.getuserlanguage ()
|
||||
AND fac_locale_xsl_label = pnaam
|
||||
AND fac_locale_xsl_module = 'ASP';
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
retval := pnaam;
|
||||
END;
|
||||
RETURN retval;
|
||||
END;
|
||||
PROCEDURE fallback_languages
|
||||
AS
|
||||
BEGIN
|
||||
-- Eerst: missende LCL's aanmaken vanuit NL (die ik compleet veronderstel)
|
||||
-- Eerder ggeimporteerde talen zijn mogelijk niet compleet namelijk
|
||||
FOR c_lang IN (SELECT DISTINCT (fac_locale_xsl_lang) lang
|
||||
FROM fac_locale_xsl
|
||||
WHERE fac_locale_xsl_lang <> 'NL')
|
||||
LOOP
|
||||
DBMS_OUTPUT.PUT_LINE ('Updating language ' || c_lang.lang);
|
||||
SELECT COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst)
|
||||
INTO retval
|
||||
FROM fac_locale_xsl
|
||||
WHERE fac_locale_xsl_lang = lcl.getuserlanguage ()
|
||||
AND fac_locale_xsl_label = pnaam
|
||||
AND fac_locale_xsl_module = 'ASP';
|
||||
|
||||
INSERT INTO fac_locale_xsl (fac_locale_xsl_lang,
|
||||
fac_locale_xsl_module,
|
||||
fac_locale_xsl_label,
|
||||
fac_locale_xsl_tekst,
|
||||
fac_locale_xsl_isvalid)
|
||||
SELECT c_lang.lang,
|
||||
fac_locale_xsl_module,
|
||||
fac_locale_xsl_label,
|
||||
'@@',
|
||||
0
|
||||
FROM fac_locale_xsl x2
|
||||
WHERE fac_locale_xsl_lang = 'NL'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_locale_xsl x3
|
||||
WHERE x3.fac_locale_xsl_lang = c_lang.lang
|
||||
AND x2.fac_locale_xsl_label =
|
||||
x3.fac_locale_xsl_label
|
||||
AND x2.fac_locale_xsl_module =
|
||||
x3.fac_locale_xsl_module);
|
||||
END LOOP;
|
||||
|
||||
-- Dan: Engelstalig terugvallen op de database taal (of NL)
|
||||
UPDATE fac_locale_xsl flx1
|
||||
SET fac_locale_xsl_isvalid = 0,
|
||||
fac_locale_xsl_tekst =
|
||||
(SELECT fac_locale_xsl_tekst
|
||||
FROM fac_locale_xsl flx2
|
||||
WHERE flx1.fac_locale_xsl_label = flx2.fac_locale_xsl_label
|
||||
AND flx1.fac_locale_xsl_module =
|
||||
flx2.fac_locale_xsl_module
|
||||
AND fac_locale_xsl_lang =
|
||||
COALESCE((SELECT fac_version_lang FROM fac_version), 'NL'))
|
||||
WHERE ( fac_locale_xsl_isvalid = 0
|
||||
OR fac_locale_xsl_tekst IS NULL
|
||||
OR fac_locale_xsl_tekst = '@'
|
||||
OR fac_locale_xsl_tekst = '@@')
|
||||
AND fac_locale_xsl_lang = 'EN';
|
||||
|
||||
-- Dan: Nu nog steeds missende Engelstalig echt terugvallen op NL. Altijd beter dan '@@'
|
||||
UPDATE fac_locale_xsl flx1
|
||||
SET fac_locale_xsl_isvalid = 0,
|
||||
fac_locale_xsl_tekst =
|
||||
(SELECT fac_locale_xsl_tekst
|
||||
FROM fac_locale_xsl flx2
|
||||
WHERE flx1.fac_locale_xsl_label = flx2.fac_locale_xsl_label
|
||||
AND flx1.fac_locale_xsl_module =
|
||||
flx2.fac_locale_xsl_module
|
||||
AND fac_locale_xsl_lang = 'NL')
|
||||
WHERE ( fac_locale_xsl_isvalid = 0
|
||||
OR fac_locale_xsl_tekst IS NULL
|
||||
OR fac_locale_xsl_tekst = '@'
|
||||
OR fac_locale_xsl_tekst = '@@')
|
||||
AND fac_locale_xsl_lang = 'EN';
|
||||
|
||||
-- Daarna: Alle andere talen terugvallen op Engelstalig
|
||||
UPDATE fac_locale_xsl flx1
|
||||
SET fac_locale_xsl_isvalid = 0,
|
||||
fac_locale_xsl_tekst =
|
||||
(SELECT fac_locale_xsl_tekst
|
||||
FROM fac_locale_xsl flx2
|
||||
WHERE flx1.fac_locale_xsl_label = flx2.fac_locale_xsl_label
|
||||
AND flx1.fac_locale_xsl_module =
|
||||
flx2.fac_locale_xsl_module
|
||||
AND fac_locale_xsl_lang = 'EN')
|
||||
WHERE ( fac_locale_xsl_isvalid = 0
|
||||
OR fac_locale_xsl_tekst IS NULL
|
||||
OR fac_locale_xsl_tekst = '@'
|
||||
OR fac_locale_xsl_tekst = '@@')
|
||||
AND fac_locale_xsl_lang NOT IN
|
||||
('EN', 'NL');
|
||||
|
||||
-- En allerlaatst: lege teksten zijn altijd valid
|
||||
UPDATE fac_locale_xsl flx1
|
||||
SET fac_locale_xsl_isvalid = 1
|
||||
WHERE fac_locale_xsl_tekst IS NULL;
|
||||
RETURN retval;
|
||||
END;
|
||||
|
||||
END lcl;
|
||||
END lcl;
|
||||
/
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: FAC_PACL.SRC $','$Revision$')
|
||||
|
||||
5376
FAC/FAC_PACX.SRC
5376
FAC/FAC_PACX.SRC
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,6 @@ CREATE SEQUENCE fac_s_fac_functie_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_usrtab_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_usrdata_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_usrrap_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_usrrap_cols_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_usrgraph_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_mgtrap_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_groep_key MINVALUE 1;
|
||||
@@ -20,41 +19,27 @@ CREATE SEQUENCE fac_s_fac_srtnotificatie_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_notificatie_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_notificatie_job_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_import_app_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_export_app_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_import_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_activiteit_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_setting_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_qlikview_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_tracking_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_menuitems_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_menu_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_nieuws_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_nieuws_groep_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_faq_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_locale_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_localeitems_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_locale_mgt_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_locale_xsl_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_locale_xref_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_kenmerkdomein_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_kenmwaarden_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_widget_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_widget_page_key MINVALUE 100;
|
||||
CREATE SEQUENCE fac_s_fac_widget_onpage_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_note_group_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_code2label_key MINVALUE 1;
|
||||
CREATE SEQUENCE imp_s_imp_log_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_imp_csv_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_api_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_audit_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_auditfail_key MINVALUE 1;
|
||||
CREATE SEQUENCE faq_s_faq_kenmerk_key MINVALUE 1;
|
||||
CREATE SEQUENCE faq_s_faq_kenmerkwaarde_key MINVALUE 1;
|
||||
CREATE SEQUENCE faq_s_fac_gui_counter_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_email_setting_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_bookmark_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_session_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_sequence_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_bijlagen_key MINVALUE 1;
|
||||
CREATE SEQUENCE fac_s_fac_layout_key MINVALUE 100;
|
||||
|
||||
-- Some free to use sequence to generate unique and sequential numbers
|
||||
-- with custom procedures like exports or invoicing
|
||||
@@ -64,4 +49,4 @@ CREATE SEQUENCE fac_s_user03 MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE fac_s_user04 MINVALUE 1 NOCACHE;
|
||||
CREATE SEQUENCE fac_s_user05 MINVALUE 1 NOCACHE;
|
||||
|
||||
REGISTERONCE('$Id$')
|
||||
REGISTERONCE('$Workfile: FAC_SEQ.SRC $','$Revision$')
|
||||
|
||||
1428
FAC/FAC_SET.SRC
1428
FAC/FAC_SET.SRC
File diff suppressed because it is too large
Load Diff
1370
FAC/FAC_TAB.SRC
1370
FAC/FAC_TAB.SRC
File diff suppressed because it is too large
Load Diff
339
FAC/FAC_TRI.SRC
339
FAC/FAC_TRI.SRC
@@ -4,21 +4,21 @@
|
||||
*
|
||||
*/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_functie_B_I)
|
||||
BEFORE INSERT ON fac_functie
|
||||
#define FAC_ERROR_CODE -20999
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_error_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_error
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
APPLICATION_ERROR(FAC_ERROR_CODE, '');
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_functie_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_functie
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_functie_key, fac_s_fac_functie_key);
|
||||
:new.fac_functie_volgnr :=
|
||||
CASE
|
||||
WHEN SUBSTR (:new.fac_functie_code, 8, 3) IN ('USE', 'FOF', 'BOF')
|
||||
AND SUBSTR (:new.fac_functie_code, 5, 3) <> 'UUR'
|
||||
THEN 250
|
||||
WHEN SUBSTR (:new.fac_functie_code, 8, 3) IN ('BAC', 'MAN')
|
||||
THEN 500
|
||||
WHEN SUBSTR (:new.fac_functie_code, 8, 3) IN ('BO2', 'BO3', 'AFR', 'NOS', 'OAP')
|
||||
THEN 750
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -28,6 +28,7 @@ FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_groep_key, fac_s_fac_groep_key);
|
||||
:new.fac_groep_upper := UPPER(:new.fac_groep_omschrijving);
|
||||
:new.fac_groep_aanmaak := SYSDATE;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -39,29 +40,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
AUDIT_BEGIN(fac_gebruikersgroep)
|
||||
AUDIT_VALUE(fac_gebruikersgroep, fac_groep_key)
|
||||
AUDIT_VALUE(fac_gebruikersgroep, prs_perslid_key)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_email_setting_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_email_setting
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_email_setting_key, fac_s_fac_email_setting_key);
|
||||
END;
|
||||
/
|
||||
|
||||
AUDIT_BEGIN(fac_groeprechten)
|
||||
AUDIT_VALUE(fac_groeprechten, fac_groep_key)
|
||||
AUDIT_VALUE(fac_groeprechten, fac_functie_key)
|
||||
AUDIT_VALUE(fac_groeprechten, ins_discipline_key)
|
||||
AUDIT_VALUE(fac_groeprechten, fac_gebruiker_alg_level_read)
|
||||
AUDIT_VALUE(fac_groeprechten, fac_gebruiker_prs_level_read)
|
||||
AUDIT_VALUE(fac_groeprechten, fac_gebruiker_alg_level_write)
|
||||
AUDIT_VALUE(fac_groeprechten, fac_gebruiker_prs_level_write)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_groeprechten_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_groeprechten
|
||||
FOR EACH ROW
|
||||
@@ -159,7 +137,7 @@ BEGIN
|
||||
-- Omdat de ASP dit voorkomt, is dit een error als vangnet
|
||||
IF keepit = 1 AND (:new.fac_gebruiker_prs_level_read = 9 OR :new.fac_gebruiker_alg_level_read = 9)
|
||||
THEN
|
||||
raise_application_error(-20001, 'FAC_MGG1 this is insufficient authorisation for this right');
|
||||
raise_application_error (-20000, 'FAC_MGG1 this is insufficient authorisation for this right');
|
||||
END IF;
|
||||
IF keepit = 0 THEN
|
||||
Dummy := fac.remember_SavePrimaryKey('FAC_GROEPRECHTEN',:new.fac_groeprechten_key);
|
||||
@@ -190,15 +168,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_version_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_version
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
:new.fac_version_cust := UPPER(:new.fac_version_cust);
|
||||
:new.fac_version_group := UPPER(:new.fac_version_group);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_message_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_message
|
||||
FOR EACH ROW
|
||||
@@ -207,29 +176,13 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_usrtab_B_I)
|
||||
BEFORE INSERT ON fac_usrtab
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_usrtab_key, fac_s_fac_usrtab_key);
|
||||
UPDATE_AANMAAKDATUM(fac_usrtab, fac_usrtab_aanmaak);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_usrtab_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_usrtab
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_usrtab_key, fac_s_fac_usrtab_key);
|
||||
:new.fac_usrtab_object := 'USR_'||UPPER(:new.fac_usrtab_naam);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_usrdata_B_I)
|
||||
BEFORE INSERT ON fac_usrdata
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_usrdata_key, fac_s_fac_usrdata_key);
|
||||
UPDATE_AANMAAKDATUM(fac_usrdata, fac_usrdata_aanmaak);
|
||||
UPDATE_AANMAAKDATUM(fac_usrtab, fac_usrtab_aanmaak);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -237,7 +190,9 @@ CREATE_TRIGGER(fac_t_fac_usrdata_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_usrdata
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_usrdata_key, fac_s_fac_usrdata_key);
|
||||
:new.fac_usrdata_upper := UPPER(:new.fac_usrdata_code);
|
||||
UPDATE_AANMAAKDATUM(fac_usrdata, fac_usrdata_aanmaak);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -253,15 +208,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_usrrapcols_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_usrrap_cols
|
||||
FOR EACH ROW
|
||||
DECLARE
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_usrrap_cols_key, fac_s_fac_usrrap_cols_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_usrgraph_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_usrgraph
|
||||
FOR EACH ROW
|
||||
@@ -292,10 +238,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
AUDIT_BEGIN(fac_profiel)
|
||||
AUDIT_VALUE(fac_profiel, fac_profiel_omschrijving)
|
||||
AUDIT_VALUE(fac_profiel, fac_profiel_limiet)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_profiel_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_profiel
|
||||
@@ -305,12 +247,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
AUDIT_BEGIN(fac_profielwaarde)
|
||||
AUDIT_VALUE(fac_profielwaarde, fac_profiel_key)
|
||||
AUDIT_VALUE(fac_profielwaarde, fac_profielwaarde_limiet)
|
||||
AUDIT_VALUE(fac_profielwaarde, ins_discipline_key)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_profielwaarde_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_profielwaarde
|
||||
FOR EACH ROW
|
||||
@@ -342,24 +278,19 @@ CREATE_TRIGGER(fac_t_fac_notificatie_B_I)
|
||||
DECLARE
|
||||
loms web_user_messages.web_user_mess_dsc%TYPE;
|
||||
lxmlnode fac_srtnotificatie.fac_srtnotificatie_xmlnode%TYPE;
|
||||
lparamkey web_user_messages.web_user_mess_action_params%TYPE;
|
||||
BEGIN
|
||||
-- Kopieer direct naar statusinformatie op de portal indien van toepassing
|
||||
-- Daarbij worden alle oude berichten (eerst) verwijderd
|
||||
IF BITAND (:NEW.fac_notificatie_status, 1) = 1 AND :new.prs_perslid_key_receiver IS NOT NULL
|
||||
THEN
|
||||
-- strip zodat we alleen de eerste regel overhouden
|
||||
loms := SUBSTR(:NEW.fac_notificatie_oms, 1, 512);
|
||||
loms := :NEW.fac_notificatie_oms;
|
||||
IF INSTR (loms, chr(13)) > 0 THEN
|
||||
loms := SUBSTR (loms, 1, INSTR (loms, chr(13)) -1);
|
||||
END IF;
|
||||
IF INSTR (loms, chr(10)) > 0 THEN
|
||||
loms := SUBSTR (loms, 1, INSTR (loms, chr(10)) -1);
|
||||
END IF;
|
||||
|
||||
-- meestal is dit de doorklik-key
|
||||
lparamkey := COALESCE (:new.fac_notificatie_extrakey, :new.fac_notificatie_refkey);
|
||||
|
||||
-- Verwijder oudere (achterhaalde) portalberichten over hetzelfde
|
||||
IF :NEW.fac_srtnotificatie_key IS NOT NULL
|
||||
THEN
|
||||
@@ -368,46 +299,35 @@ BEGIN
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_key = :NEW.fac_srtnotificatie_key;
|
||||
|
||||
-- de optionele tracking-key is geen goede doorklik-key voor melding/opdracht
|
||||
IF lxmlnode IN ('melding', 'opdracht')
|
||||
THEN
|
||||
lparamkey := :new.fac_notificatie_refkey;
|
||||
END IF;
|
||||
|
||||
DELETE FROM web_user_messages
|
||||
WHERE fac_srtnotificatie_key IN
|
||||
(SELECT fac_srtnotificatie_key
|
||||
FROM fac_srtnotificatie
|
||||
WHERE fac_srtnotificatie_xmlnode = lxmlnode)
|
||||
AND prs_perslid_key_receiver = :NEW.prs_perslid_key_receiver
|
||||
AND web_user_mess_action_params = lparamkey;
|
||||
AND web_user_mess_action_params = COALESCE (:NEW.fac_notificatie_extrakey, :NEW.fac_notificatie_refkey);
|
||||
END IF;
|
||||
|
||||
-- En voeg de nieuwe toe. Let op: als een extrakey bekend is, wordt die als parameter gebruikt, anders gewoon refkey
|
||||
INSERT INTO web_user_messages
|
||||
(prs_perslid_key_sender, prs_perslid_key_receiver, web_user_mess_dsc, web_user_mess_action_status,
|
||||
web_user_mess_action_params, fac_srtnotificatie_key, web_user_mess_prioriteit
|
||||
)
|
||||
VALUES (:NEW.prs_perslid_key_sender, :NEW.prs_perslid_key_receiver, loms, 1,
|
||||
lparamkey, :NEW.fac_srtnotificatie_key,
|
||||
COALESCE (:NEW.fac_notificatie_extrakey, :NEW.fac_notificatie_refkey), :NEW.fac_srtnotificatie_key,
|
||||
:NEW.fac_notificatie_prioriteit
|
||||
);
|
||||
|
||||
END IF;
|
||||
-- Always clear the notify_to_statinfo bit, even when no :new.prs_perslid_key_receiver
|
||||
:NEW.fac_notificatie_status := BITAND (:NEW.fac_notificatie_status, 255 - 1);
|
||||
:NEW.fac_notificatie_queue:=UPPER(:NEW.fac_notificatie_queue);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_notificatie_A_U)
|
||||
AFTER UPDATE ON fac_notificatie
|
||||
BEGIN
|
||||
-- Ruim alle totaal verwerkte notificaties op.
|
||||
DELETE FROM fac_notificatie
|
||||
WHERE fac_notificatie_status IN (0,16)
|
||||
AND fac_notificatie_systeemadres IS NULL
|
||||
AND prs_bedrijfadres_key IS NULL;
|
||||
-- Ruim alle totaal verwerkte notificaties op.
|
||||
DELETE FROM fac_notificatie WHERE fac_notificatie_status=0 AND fac_notificatie_systeemadres IS NULL;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -417,15 +337,6 @@ FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_notificatie_job_key, fac_s_fac_notificatie_job_key);
|
||||
:new.fac_notificatie_job_view:=UPPER(:new.fac_notificatie_job_view);
|
||||
:new.fac_notificatie_job_queue:=UPPER(:new.fac_notificatie_job_queue);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_export_app_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_export_app
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_export_app_key, fac_s_fac_export_app_key);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -436,31 +347,22 @@ BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_import_app_key, fac_s_fac_import_app_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_import_B_I)
|
||||
BEFORE INSERT ON fac_import
|
||||
CREATE_TRIGGER(fac_t_fac_import_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_import
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_import_key, fac_s_fac_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_imp_log_B_I)
|
||||
BEFORE INSERT ON imp_log
|
||||
CREATE_TRIGGER(fac_t_imp_log_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON imp_log
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(imp_log_key, imp_s_imp_log_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_imp_csv_B_I)
|
||||
BEFORE INSERT ON fac_imp_csv
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_imp_csv_key, fac_s_imp_csv_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(imp_t_notificatie_imp_log)
|
||||
AFTER INSERT
|
||||
ON imp_log
|
||||
@@ -470,8 +372,6 @@ BEGIN
|
||||
scode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
smode fac_srtnotificatie.fac_srtnotificatie_mode%TYPE;
|
||||
sappl imp_log.imp_log_applicatie%TYPE;
|
||||
pkey prs_perslid.prs_perslid_key%TYPE;
|
||||
l_naam_friendly prs_v_perslid_fullnames_all.prs_perslid_naam_friendly%TYPE;
|
||||
BEGIN
|
||||
IF :NEW.imp_log_status = 'F'
|
||||
THEN
|
||||
@@ -505,22 +405,7 @@ BEGIN
|
||||
AND fi.fac_import_key = :NEW.fac_import_key;
|
||||
END IF;
|
||||
|
||||
l_naam_friendly := ''; -- 'User unknown'
|
||||
pkey := fac.safe_to_number(sys_context('USERENV', 'CLIENT_IDENTIFIER'));
|
||||
IF pkey > 0 THEN
|
||||
BEGIN
|
||||
SELECT prs_perslid_naam_friendly
|
||||
INTO l_naam_friendly
|
||||
FROM prs_v_perslid_fullnames_all
|
||||
WHERE prs_perslid_key = pkey;
|
||||
l_naam_friendly := ' (' || l_naam_friendly || ', key ' || pkey || ')';
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND -- for putorders a.o. this is unknown
|
||||
THEN l_naam_friendly := '??Perslid ' || pkey || ' not found ??';
|
||||
END;
|
||||
END IF;
|
||||
|
||||
fac.putsystemnotification (sappl||': '||:NEW.imp_log_omschrijving || ' ' || l_naam_friendly, smode);
|
||||
fac.putsystemnotification (sappl||': '||:NEW.imp_log_omschrijving, smode);
|
||||
END IF;
|
||||
END;
|
||||
END;
|
||||
@@ -535,10 +420,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
AUDIT_BEGIN(fac_setting)
|
||||
AUDIT_VALUE(fac_setting, fac_setting_pvalue)
|
||||
AUDIT_END()
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_setting_B_IU)
|
||||
BEFORE INSERT or UPDATE ON fac_setting
|
||||
FOR EACH ROW
|
||||
@@ -555,7 +436,6 @@ BEGIN
|
||||
|
||||
:new.fac_setting_module := UPPER(:new.fac_setting_module);
|
||||
:new.fac_setting_name := LOWER(:new.fac_setting_name);
|
||||
:new.prs_perslid_key := sys_context('USERENV', 'CLIENT_IDENTIFIER');
|
||||
-- Het kan geen kwaad om wijzigingen te tracken
|
||||
IF :new.fac_setting_datum <> :old.fac_setting_datum
|
||||
THEN
|
||||
@@ -568,6 +448,15 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_qlikview_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON fac_qlikview
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_qlikview_key, fac_s_fac_qlikview_key);
|
||||
UPDATE_AANMAAKDATUM(fac_qlikview, fac_qlikview_aanmaak);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_tracking_b_i)
|
||||
BEFORE INSERT ON fac_tracking
|
||||
FOR EACH ROW
|
||||
@@ -580,9 +469,9 @@ BEGIN
|
||||
-- bedoeld om te onderdrukken, maar moeten we wel weer verwijderen
|
||||
:new.fac_tracking_oms := SUBSTR(:new.fac_tracking_oms, 2);
|
||||
-- Moet ik nou nog iets doen om NULL te maken als dit alleen de # was?
|
||||
-- En nu dus niet notificeren
|
||||
-- En nu dus niet tracken
|
||||
ELSE
|
||||
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey, :new.fac_tracking_key);
|
||||
fac.notifytracking(:new.fac_srtnotificatie_key, :new.prs_perslid_key, :new.fac_tracking_oms, :new.fac_tracking_refkey);
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
@@ -602,13 +491,6 @@ BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_menu_key, fac_s_fac_menu_key);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(fac_t_fac_nieuws_groep_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON fac_nieuws_groep
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_nieuws_groep_key, fac_s_fac_nieuws_groep_key);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(fac_t_fac_nieuws__b_iu)
|
||||
BEFORE INSERT OR UPDATE ON fac_nieuws
|
||||
FOR EACH ROW
|
||||
@@ -621,7 +503,6 @@ BEFORE INSERT OR UPDATE ON fac_faq
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_faq_key, fac_s_fac_faq_key);
|
||||
:new.fac_faq_wijzigdatum := SYSDATE;
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(fac_t_fac_locale_b_iu)
|
||||
@@ -641,6 +522,14 @@ BEGIN
|
||||
:new.fac_localeitems_dialect_id := UPPER (:new.fac_localeitems_dialect_id);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(fac_t_fac_locale_mgt_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON fac_locale_mgt
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_locale_mgt_key, fac_s_fac_locale_mgt_key);
|
||||
:new.fac_locale_mgt_lang := UPPER (:new.fac_locale_mgt_lang);
|
||||
END;
|
||||
/
|
||||
CREATE_TRIGGER(fac_t_fac_locale_xsl_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON fac_locale_xsl
|
||||
FOR EACH ROW
|
||||
@@ -682,7 +571,7 @@ BEGIN
|
||||
|
||||
IF objecttype IS NULL
|
||||
THEN
|
||||
raise_application_error(-20001, 'FAC_MXX3 Invalid object');
|
||||
raise_application_error (-20000, 'FAC_MXX3 Invalid object');
|
||||
ELSIF objecttype IN ('TABLE', 'VIEW')
|
||||
THEN
|
||||
DECLARE
|
||||
@@ -697,7 +586,7 @@ BEGIN
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_M236');
|
||||
raise_application_error (-20000, 'ALG_M236');
|
||||
END;
|
||||
|
||||
DECLARE
|
||||
@@ -712,50 +601,25 @@ BEGIN
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_M237');
|
||||
raise_application_error (-20000, 'ALG_M237');
|
||||
END;
|
||||
ELSIF objecttype <> 'SYNONYM'
|
||||
THEN
|
||||
raise_application_error(-20000, 'ALG_M235');
|
||||
raise_application_error (-20000, 'ALG_M235');
|
||||
END IF;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_kenmwaarden_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_kenmwaarden
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_kenmwaarden_key, fac_s_fac_kenmwaarden_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_widget_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_widget
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_widget_key, fac_s_fac_widget_key);
|
||||
:new.fac_widget_type := UPPER(:new.fac_widget_type);
|
||||
UPDATE_AANMAAKDATUM(fac_widget, fac_widget_aanmaak);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_widget_page_B_I)
|
||||
BEFORE INSERT ON fac_widget_page
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_widget_page_key, fac_s_fac_widget_page_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_widget_onpage_B_I)
|
||||
BEFORE INSERT ON fac_widget_onpage
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_widget_onpage_key, fac_s_fac_widget_onpage_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_code2label_B_IU)
|
||||
BEFORE INSERT OR UPDATE ON fac_code2label
|
||||
FOR EACH ROW
|
||||
@@ -772,22 +636,6 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_audit_b_i)
|
||||
BEFORE INSERT ON fac_audit
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_audit_key, fac_s_fac_audit_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_auditfail_b_i)
|
||||
BEFORE INSERT ON fac_auditfail
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_auditfail_key, fac_s_fac_auditfail_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(faq_t_faq_kenmerkwaarde_b_iu)
|
||||
BEFORE INSERT OR UPDATE ON faq_kenmerkwaarde
|
||||
FOR EACH ROW
|
||||
@@ -832,7 +680,7 @@ BEGIN
|
||||
WHERE faq_kenmerk_key = :new.faq_kenmerk_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN raise_application_error(-20000,'INS_R_INS_KENMERK_KEY1');
|
||||
THEN APPLICATION_ERROR_GOTO(-20000,'INS_R_INS_KENMERK_KEY1');
|
||||
END;
|
||||
|
||||
/* Kijk welk KenmerkType gebruikt wordt.
|
||||
@@ -848,10 +696,10 @@ BEGIN
|
||||
*/
|
||||
IF LENGTH(KenmerkWaarde) > KenmerkLengte
|
||||
THEN
|
||||
APPLICATION_ERROR_GOTO(-20004, 'faq_m232,'|| KenmerkOmschr ||','
|
||||
APPLICATION_ERROR(-20004, 'faq_m232,'|| KenmerkOmschr ||','
|
||||
|| TO_CHAR(KenmerkLengte));
|
||||
END IF;
|
||||
ELSIF KenmerkType IN ('N', 'B')
|
||||
ELSIF KenmerkType = 'N'
|
||||
/*
|
||||
** Number
|
||||
*/
|
||||
@@ -876,7 +724,7 @@ BEGIN
|
||||
THEN FormatMask := REPLACE(FormatMask, '9', '#');
|
||||
FormatMask := REPLACE(FormatMask, '0', '#');
|
||||
FormatMask := REPLACE(FormatMask, 'D', '.');
|
||||
APPLICATION_ERROR_GOTO(-20004,'faq_m233,'|| KenmerkOmschr ||','
|
||||
RAISE_APPLICATION_ERROR(-20004,'faq_m233,'|| KenmerkOmschr ||','
|
||||
|| FormatMask);
|
||||
END;
|
||||
/*
|
||||
@@ -929,23 +777,23 @@ BEFORE INSERT OR UPDATE ON faq_kenmerk
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(faq_kenmerk_key, faq_s_faq_kenmerk_key);
|
||||
UPDATE_UPPER(faq_kenmerk_omschrijving, faq_kenmerk_upper, faq_kenmerk);
|
||||
UPDATE_UPPER(faq_kenmerk_code, faq_kenmerk_code, faq_kenmerk);
|
||||
|
||||
UPDATE_UPPER(faq_kenmerk_omschrijving, faq_kenmerk_upper,faq_kenmerk);
|
||||
IF (:new.faq_kenmerk_verwijder IS NOT NULL AND :old.faq_kenmerk_verwijder IS NULL AND
|
||||
:new.faq_kenmerk_systeem = 1)
|
||||
THEN
|
||||
raise_application_error(-20000, 'faq_m238');
|
||||
APPLICATION_ERROR(-20003, 'faq_m238');
|
||||
END IF;
|
||||
IF :new.faq_kenmerk_kenmerktype IN ('C','N', 'B') AND :new.faq_kenmerk_lengte IS NULL
|
||||
IF (:new.faq_kenmerk_kenmerktype IN ('C','N'))
|
||||
AND :new.faq_kenmerk_lengte IS NULL
|
||||
THEN
|
||||
raise_application_error(-20000, 'FAQ_C_FAQ_KENMERK_LENGTE');
|
||||
APPLICATION_ERROR(-20000, 'FAQ_C_FAQ_KENMERK_LENGTE');
|
||||
END IF;
|
||||
IF :new.faq_kenmerk_kenmerktype IN ('N', 'B') AND :new.faq_kenmerk_lengte > 20
|
||||
IF :new.faq_kenmerk_kenmerktype = 'N'
|
||||
AND :new.faq_kenmerk_lengte > 20
|
||||
THEN
|
||||
:new.faq_kenmerk_lengte := 20;
|
||||
END IF;
|
||||
IF :new.faq_kenmerk_kenmerktype IN ('N', 'B') AND :old.faq_kenmerk_key IS NOT NULL
|
||||
IF :new.faq_kenmerk_kenmerktype = 'N' 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
|
||||
@@ -962,12 +810,12 @@ BEGIN
|
||||
WHERE faq_kenmerk_key = :old.faq_kenmerk_key
|
||||
AND FAC.SAFE_TO_NUMBER(faq_kenmerkwaarde_waarde) < :new.faq_kenmerk_nmin
|
||||
AND rownum=1);
|
||||
raise_application_error(-20000, 'FAQ_C_FAQ_KENMERK_MIN');
|
||||
APPLICATION_ERROR(-20000, 'FAQ_C_FAQ_KENMERK_MIN');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN
|
||||
raise_application_error(-20000, 'FAQ_C_FAQ_KENMERK_MIN');
|
||||
APPLICATION_ERROR(-20000, 'FAQ_C_FAQ_KENMERK_MIN');
|
||||
END;
|
||||
END IF;
|
||||
IF :old.faq_kenmerk_nmax <> :new.faq_kenmerk_nmax OR
|
||||
@@ -985,13 +833,13 @@ BEGIN
|
||||
WHERE faq_kenmerk_key = :old.faq_kenmerk_key
|
||||
AND FAC.SAFE_TO_NUMBER(faq_kenmerkwaarde_waarde) > :new.faq_kenmerk_nmax
|
||||
AND rownum=1);
|
||||
raise_application_error(-20000, 'FAQ_C_FAQ_KENMERK_MAX');
|
||||
APPLICATION_ERROR(-20000, 'FAQ_C_FAQ_KENMERK_MAX');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN NULL;
|
||||
WHEN TOO_MANY_ROWS THEN
|
||||
BEGIN
|
||||
raise_application_error(-20000, 'FAQ_C_FAQ_KENMERK_MAX');
|
||||
APPLICATION_ERROR(-20000, 'FAQ_C_FAQ_KENMERK_MAX');
|
||||
END;
|
||||
END;
|
||||
END IF;
|
||||
@@ -1000,55 +848,4 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_gui_counter_b_i)
|
||||
BEFORE INSERT ON fac_gui_counter
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_gui_counter_key, faq_s_fac_gui_counter_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_bookmark_B_I)
|
||||
BEFORE INSERT ON fac_bookmark
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_bookmark_key, fac_s_fac_bookmark_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_session_B_I)
|
||||
BEFORE INSERT ON fac_session
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_session_key, fac_s_fac_session_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_sequence_B_I)
|
||||
BEFORE INSERT ON fac_sequence
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_sequence_key, fac_s_fac_sequence_key);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_bijlagen_B_I)
|
||||
BEFORE INSERT ON fac_bijlagen
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_bijlagen_key, fac_s_fac_bijlagen_key);
|
||||
IF :new.fac_bijlagen_root_key IS NULL THEN
|
||||
:new.fac_bijlagen_root_key := :new.fac_bijlagen_key;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE_TRIGGER(fac_t_fac_layout_B_I)
|
||||
BEFORE INSERT ON fac_layout
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(fac_layout_key, fac_s_fac_layout_key);
|
||||
END;
|
||||
/
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
REGISTERRUN('$Workfile: FAC_TRI.SRC $','$Revision$')
|
||||
|
||||
2078
FAC/FAC_VIE.SRC
2078
FAC/FAC_VIE.SRC
File diff suppressed because it is too large
Load Diff
@@ -1,467 +0,0 @@
|
||||
/* FAC_VIEEXP.SRC
|
||||
* $Revision$
|
||||
* $Id$
|
||||
*
|
||||
* Views die niet in de andere *_VIE.SRC kunnen omdat deze views gebruiken die dan nog niet gedefinieerd zijn.
|
||||
*/
|
||||
|
||||
-- import: FIP: Aanvullen technische bedrijfsadressen
|
||||
-- importsheet: Inventarisatie Externe bedrijven, tabblad Technische adressen
|
||||
-- importtabel: fac_imp_bedrijfadres
|
||||
CREATE OR REPLACE VIEW fac_v_exp_bedrijfadres
|
||||
AS
|
||||
SELECT b.prs_bedrijf_naam Bedrijfsnaam
|
||||
, b.prs_leverancier_nr Leveranciernummer
|
||||
, a.prs_bedrijfadres_type Kanaal
|
||||
, a.mld_typeopdr_key Opdrachttype
|
||||
, a.prs_bedrijfadres_url Adres
|
||||
, a.prs_bedrijfadres_ordermode Ordermode
|
||||
, a.prs_bedrijfadres_certificate Certificaat
|
||||
, a.prs_bedrijfadres_xsl Xsltemplate
|
||||
, a.prs_bedrijfadres_ext Extensie
|
||||
, a.prs_bedrijfadres_attachfile Vastebijlage
|
||||
, a.prs_bedrijfadres_username Login
|
||||
, a.prs_bedrijfadres_password Wachtwoord
|
||||
, a.prs_bedrijfadres_sender Afzender
|
||||
, a.prs_bedrijfadres_lockuser_key Vastegebruiker
|
||||
, a.prs_bedrijfadres_lockexpire Expiredays
|
||||
FROM prs_bedrijfadres a
|
||||
, prs_v_aanwezigbedrijf b
|
||||
WHERE a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
;
|
||||
|
||||
-- import: FIP: Aanvullen contactpersonen
|
||||
-- importsheet: Inventarisatie Externe bedrijven, tabblad Contactpersonen
|
||||
-- importtabel: fac_v_exp_contactpersoon
|
||||
CREATE OR REPLACE VIEW fac_v_exp_contactpersoon
|
||||
AS
|
||||
SELECT b.prs_bedrijf_naam Bedrijfsnaam
|
||||
, b.prs_leverancier_nr Leveranciernummer
|
||||
, NULL Persoonmatchcode
|
||||
, NULL Persoonmatchwaarde
|
||||
, c.prs_contactpersoon_naam ContactPersoonAchternaam
|
||||
, c.prs_contactpersoon_tussenv Tussenvoegsel
|
||||
, c.prs_contactpersoon_voorletters Voorletters
|
||||
, c.prs_contactpersoon_voornaam Voornaam
|
||||
, c.prs_contactpersoon_aanhef Titel
|
||||
, c.prs_contactpersoon_titel Aanhef
|
||||
, c.prs_contactpersoon_telefoon_1 Telefoonnummer
|
||||
, c.prs_contactpersoon_telefoon_2 Mobiel
|
||||
, c.prs_contactpersoon_email Email
|
||||
, c.prs_contactpersoon_functie Functie
|
||||
, c.prs_contactpersoon_opmerking Opmerking
|
||||
, l.alg_locatie_code Locatiecode
|
||||
FROM prs_contactpersoon c
|
||||
, prs_v_aanwezigbedrijf b
|
||||
, prs_contactpersoon_locatie p
|
||||
, alg_v_aanweziglocatie l
|
||||
WHERE c.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||||
AND c.prs_contactpersoon_key = p.prs_contactpersoon_key(+)
|
||||
AND p.alg_locatie_key = l.alg_locatie_key(+)
|
||||
;
|
||||
|
||||
-- import: FIP: Aanvullen externe bedrijven
|
||||
-- importsheet: Inventarisatie Externe bedrijven, tabblad Externe Bedrijven
|
||||
-- importtabel: fac_imp_ext_bedrijf
|
||||
CREATE OR REPLACE VIEW fac_v_exp_ext_bedrijf
|
||||
AS
|
||||
SELECT b.prs_bedrijf_naam Bedrijfsnaam
|
||||
, b.prs_leverancier_nr Leveranciernummer
|
||||
, b.prs_bedrijf_bezoek_adres Bezoek_adres
|
||||
, b.prs_bedrijf_bezoek_postcode Bezoek_postcode
|
||||
, b.prs_bedrijf_bezoek_plaats Bezoek_plaats
|
||||
, b.prs_bedrijf_bezoek_land Bezoek_land
|
||||
, b.prs_bedrijf_post_adres Post_adres
|
||||
, b.prs_bedrijf_post_postcode Post_postcode
|
||||
, b.prs_bedrijf_post_plaats Post_plaats
|
||||
, b.prs_bedrijf_post_land Post_land
|
||||
, b.prs_bedrijf_telefoon Bedrijf_telefoon
|
||||
, b.prs_bedrijf_fax Bedrijf_fax
|
||||
, b.prs_bedrijf_email Bedrijf_email
|
||||
, b.prs_bedrijf_contact_persoon Contact_persoon
|
||||
, b.prs_bedrijf_contact_telefoon Contact_telefoon
|
||||
, b.prs_bedrijf_contact_fax Contact_fax
|
||||
, NULL Bedrijf_xsl
|
||||
, NULL Bedrijf_orderadres
|
||||
, CASE WHEN b.prs_bedrijf_leverancier = 1 THEN 'J' ELSE '' END Leverancier
|
||||
, CASE WHEN b.prs_bedrijf_uitvoerende = 1 THEN 'J' ELSE '' END Uitvoerende
|
||||
, CASE WHEN b.prs_bedrijf_contract = 1 THEN 'J' ELSE '' END Contractant
|
||||
, CASE WHEN b.prs_bedrijf_huurder = 1 THEN 'J' ELSE '' END Huurder
|
||||
, CASE WHEN b.prs_bedrijf_ingids = 1 THEN 'J' ELSE '' END Tooningids
|
||||
, b.prs_bedrijf_uurloon Uurloon
|
||||
, b.prs_overeenkomst_nr Overeenkomstnummer
|
||||
, b.prs_overeenkomst_datum Overeenkomstdatum
|
||||
, b.prs_bedrijf_opmerking Opmerking
|
||||
, d.prs_dienst_omschrijving Dienst
|
||||
, CASE WHEN l.alg_locatie_key IS NULL
|
||||
THEN (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_gebouw_key = l.alg_gebouw_key)
|
||||
ELSE (SELECT MAX(v.alg_locatie_code) FROM alg_v_gebouw_gegevens v WHERE v.alg_locatie_key = l.alg_locatie_key)
|
||||
END Locatiecode
|
||||
, (SELECT alg_gebouw_code
|
||||
FROM alg_v_gebouw_gegevens
|
||||
WHERE alg_gebouw_key = l.alg_gebouw_key
|
||||
) Gebouwcode
|
||||
, r.prs_relatietype_omschrijving Relatietype
|
||||
, NULL Overig1 -- kenmerk1
|
||||
, NULL Overig2 -- kenmerk2
|
||||
, NULL Overig3 -- kenmerk3
|
||||
FROM prs_bedrijf b
|
||||
, prs_relatietype r
|
||||
, prs_bedrijfdienstlocatie l
|
||||
, prs_dienst d
|
||||
WHERE b.prs_relatietype_key = r.prs_relatietype_key(+)
|
||||
AND b.prs_bedrijf_key = l.prs_bedrijf_key(+)
|
||||
AND l.prs_dienst_key = d.prs_dienst_key
|
||||
;
|
||||
|
||||
-- import: FIP: 9-Aanvullen van inspectiedefinities
|
||||
-- importsheet: Inventarisatie Inspecties
|
||||
-- importtabel: fac_imp_inspectie
|
||||
CREATE OR REPLACE VIEW fac_v_exp_inspectie
|
||||
AS
|
||||
SELECT d.ins_discipline_omschrijving Disciplineomschrijving
|
||||
, g.ins_srtgroep_omschrijving Groepsoortomschrijving
|
||||
, s.ins_srtdeel_code Objectsoortcode
|
||||
, c.ins_srtcontrole_omschrijving Controle_omschrijving
|
||||
, c.ins_srtcontrole_info Controle_informatie
|
||||
, c.ins_srtcontrole_periode Controle_periode
|
||||
, c.ins_srtcontrole_eenheid Eenheid
|
||||
, c.ins_srtcontrole_mode Controle_mode
|
||||
, c.ins_srtcontrole_bits Bits
|
||||
FROM ins_srtcontrole c
|
||||
, ins_srtdeel s
|
||||
, ins_srtgroep g
|
||||
, ins_discipline d
|
||||
WHERE c.ins_srtinstallatie_key = s.ins_srtdeel_key
|
||||
AND s.ins_srtgroep_key = g.ins_srtgroep_key
|
||||
AND g.ins_discipline_key = d.ins_discipline_key
|
||||
;
|
||||
|
||||
-- import: FIP: 6-Aanvullen objecten
|
||||
-- importsheet: Inventarisatie Objecten-56894
|
||||
-- importtabel: fac_imp_ins
|
||||
CREATE OR REPLACE VIEW fac_v_exp_ins
|
||||
AS
|
||||
SELECT DISTINCT d.ins_discipline_omschrijving Disciplineomschrijving
|
||||
, k.prs_kostensoort_oms Disciplinekostensoort
|
||||
, d.ins_srtgroep_omschrijving Groepsoortomschrijving
|
||||
, sd.ins_srtdeel_code Objectsoortcode
|
||||
, sd.ins_srtdeel_omschrijving Objectsoortomschrijving
|
||||
, id.ins_deel_omschrijving Objectidentificatie
|
||||
, id.ins_deel_opmerking Objectopmerking
|
||||
, sd.ins_srtdeel_uitleenbaar Reserveerbaar
|
||||
, sd.ins_srtdeel_eenheid Eenheid
|
||||
, sd.ins_srtdeel_prijs Prijs
|
||||
, l.alg_locatie_code Locatiecode
|
||||
, d.alg_gebouw_code Gebouwcode
|
||||
, d.alg_verdieping_code Bouwlaagvolgnummer
|
||||
, d.alg_ruimte_nr Ruimtenummer
|
||||
, DECODE(rd.res_deel_alg_level, -1,'', 0,'E', 1,'D', 2,'L', 3,'G', 4,'V', 5,'R') Reserveringscope
|
||||
, DECODE(r.ins_discipline_min_level, 1,'O', 2,'V', 3,'R', 4,'P', 5,'W', '') Catalogustype
|
||||
, r.ins_discipline_omschrijving Catalogusnaam
|
||||
, c.prs_kostensoort_oms Cataloguskostensoort
|
||||
, NULL Persoonmatchcode
|
||||
, NULL Persoonmatchwaarde
|
||||
, id.ins_deel_aanmaak Ingangsdatum
|
||||
, id.ins_deel_vervaldatum Vervaldatum
|
||||
, id.ins_deel_aantal Aantal
|
||||
, id.ins_deel_externnr Externnr
|
||||
, NULL Kenmerk1
|
||||
, NULL Kenmerk2
|
||||
, NULL Kenmerk3
|
||||
, NULL Kenmerk4
|
||||
, NULL Kenmerk5
|
||||
, NULL Kenmerk6
|
||||
, NULL Kenmerk7
|
||||
, NULL Kenmerk8
|
||||
, NULL Kenmerk9
|
||||
, NULL Kenmerk10
|
||||
, NULL Kenmerk11
|
||||
, NULL Kenmerk12
|
||||
, NULL Kenmerk13
|
||||
, NULL Kenmerk14
|
||||
, NULL Kenmerk15
|
||||
, NULL Kenmerk16
|
||||
, NULL Kenmerk17
|
||||
, NULL Kenmerk18
|
||||
, NULL Kenmerk19
|
||||
, NULL Kenmerk20
|
||||
FROM ins_v_deel_gegevens d
|
||||
, ins_discipline i
|
||||
, ins_srtdeel sd
|
||||
, alg_locatie l
|
||||
, alg_gebouw g
|
||||
, ins_deel id
|
||||
, prs_kostensoort k
|
||||
, prs_kostensoort c
|
||||
, res_deel rd
|
||||
, res_discipline r
|
||||
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND d.alg_locatie_key = l.alg_locatie_key
|
||||
AND d.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND d.ins_deel_key = id.ins_deel_key
|
||||
AND d.ins_discipline_key = i.ins_discipline_key
|
||||
AND id.ins_deel_key = rd.res_ins_deel_key(+)
|
||||
AND rd.res_discipline_key = r.ins_discipline_key(+)
|
||||
AND i.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
||||
AND r.prs_kostensoort_key = c.prs_kostensoort_key(+)
|
||||
AND id.ins_deel_verwijder IS NULL
|
||||
;
|
||||
|
||||
-- import: FIP: 5-Aanvullen servicedesk
|
||||
-- importsheet: Inventarisatie Meldingen
|
||||
-- importtabel: fac_imp_mld
|
||||
CREATE OR REPLACE VIEW fac_v_exp_mld
|
||||
AS
|
||||
SELECT s.ins_srtdiscipline_omschrijving Vakgroeptype
|
||||
, s.ins_srtdiscipline_prefix Prefix
|
||||
, s.ins_srtdiscipline_alg Plaatsgegevens
|
||||
, s.ins_srtdiscipline_ins Objectgegevens
|
||||
, s.ins_srtdiscipline_bes Bestelgegevens
|
||||
, i.ins_discipline_omschrijving Vakgroep
|
||||
, m.mld_stdmelding_omschrijving Standaardmelding
|
||||
, g.mld_stdmeldinggroep_naam Groep
|
||||
, k.prs_kostensoort_oms Kostensoort
|
||||
, REPLACE(CASE WHEN m.mld_stdmelding_t_accepttijd.eenheid = 'U'
|
||||
THEN m.mld_stdmelding_t_accepttijd.tijdsduur / 24
|
||||
ELSE m.mld_stdmelding_t_accepttijd.tijdsduur
|
||||
END, ',', '.') Acceptatietijd
|
||||
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvoertijd.eenheid = 'U'
|
||||
THEN m.mld_stdmelding_t_uitvoertijd.tijdsduur / 24
|
||||
ELSE m.mld_stdmelding_t_uitvoertijd.tijdsduur
|
||||
END, ',', '.') Uitvoertijd
|
||||
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr1.eenheid = 'U'
|
||||
THEN m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur / 24
|
||||
ELSE m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur
|
||||
END, ',', '.') Uitvoertijd_kritiek
|
||||
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr2.eenheid = 'U'
|
||||
THEN m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur / 24
|
||||
ELSE m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur
|
||||
END, ',', '.') Uitvoertijd_hoog
|
||||
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr4.eenheid = 'U'
|
||||
THEN m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur / 24
|
||||
ELSE m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur
|
||||
END, ',', '.') Uitvoertijd_laag
|
||||
, p.mld_disc_params_directklaar Directklaar
|
||||
, d.prs_dienst_omschrijving Dienst
|
||||
, m.mld_stdmelding_notfrontend Not_frontend
|
||||
, m.alg_onrgoed_niveau alg_niveau
|
||||
, t.mld_typeopdr_omschrijving Opdrachttype
|
||||
, m.mld_stdmelding_hint Hint
|
||||
, m.mld_stdmelding_kopieerbaar Kopieerbaar
|
||||
, m.mld_stdmelding_afmeldtext Tekst_bij_afmelden
|
||||
, DECODE(m.mld_stdmelding_doublecheck, 0, 'N', 1, 'I', 2, 'A', 3, 'B', 'N') Dubbele_meldingen
|
||||
, m.mld_stdmelding_slabewaken Sla_bewaken
|
||||
, i.ins_discipline_image Disc_image
|
||||
, m.mld_stdmelding_image Stdm_image
|
||||
, m.mld_stdmelding_externnr Externnr
|
||||
FROM mld_stdmelding m
|
||||
, mld_typeopdr t
|
||||
, mld_stdmeldinggroep g
|
||||
, prs_kostensoort k
|
||||
, prs_dienst d
|
||||
, mld_discipline i
|
||||
, mld_disc_params p
|
||||
, ins_srtdiscipline s
|
||||
WHERE m.mld_ins_discipline_key = i.ins_discipline_key
|
||||
AND m.mld_ins_discipline_key = p.mld_ins_discipline_key
|
||||
AND i.ins_srtdiscipline_key = s.ins_srtdiscipline_key
|
||||
AND m.mld_typeopdr_key = t.mld_typeopdr_key(+)
|
||||
AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
|
||||
AND m.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
||||
AND m.prs_dienst_key = d.prs_dienst_key(+)
|
||||
;
|
||||
|
||||
-- import: FIP: 1-Aanvullen districten t/m gebouwen
|
||||
-- importsheet: Inventarisatie Vastgoed, tabblad Locaties
|
||||
-- importtabel: fac_imp_onrgoed1
|
||||
CREATE OR REPLACE VIEW fac_v_exp_onrgoed1
|
||||
AS
|
||||
SELECT r.alg_regio_omschrijving Regio,
|
||||
d.alg_district_omschrijving District,
|
||||
l.alg_locatie_code Locatiecode,
|
||||
l.alg_locatie_omschrijving Locatieomschrijving,
|
||||
g.alg_gebouw_code Gebouwcode,
|
||||
g.alg_gebouw_omschrijving Gebouwomschrijving,
|
||||
sg.alg_srtgebouw_omschrijving Gebouwfunctie,
|
||||
l.alg_locatie_verantw Contactpersoon,
|
||||
l.alg_locatie_verantw_tel Telefoonnummer,
|
||||
l.alg_locatie_adres Bezoekadres,
|
||||
l.alg_locatie_postcode Postcode,
|
||||
l.alg_locatie_plaats Plaats,
|
||||
l.alg_locatie_land Locatieland,
|
||||
l.alg_locatie_post_adres Postadres,
|
||||
l.alg_locatie_post_postcode postPostcode,
|
||||
l.alg_locatie_post_plaats postPlaats,
|
||||
l.alg_locatie_post_land Land,
|
||||
NULL kenmerk1,
|
||||
NULL kenmerk2,
|
||||
NULL kenmerk3,
|
||||
NULL kenmerk4,
|
||||
NULL kenmerk5,
|
||||
NULL kenmerk6,
|
||||
NULL kenmerk7,
|
||||
NULL kenmerk8,
|
||||
NULL kenmerk9,
|
||||
NULL kenmerk10
|
||||
FROM alg_gebouw g,
|
||||
alg_srtgebouw sg,
|
||||
alg_locatie l,
|
||||
alg_district d,
|
||||
alg_regio r
|
||||
WHERE g.alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND d.alg_regio_key = r.alg_regio_key
|
||||
AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key
|
||||
AND g.alg_gebouw_verwijder IS NULL
|
||||
AND l.alg_locatie_verwijder IS NULL
|
||||
AND ( l.alg_locatie_vervaldatum IS NULL
|
||||
OR l.alg_locatie_vervaldatum > TRUNC (SYSDATE))
|
||||
AND ( g.alg_gebouw_vervaldatum IS NULL
|
||||
OR TRUNC (g.alg_gebouw_vervaldatum) > TRUNC (SYSDATE))
|
||||
;
|
||||
|
||||
-- import: FIP: 2-Aanvullen bouwlagen en ruimten
|
||||
-- importsheet: Inventarisatie Vastgoed, tabblad Ruimten
|
||||
-- importtabel: fac_imp_onrgoed2
|
||||
CREATE OR REPLACE VIEW fac_v_exp_onrgoed2
|
||||
AS
|
||||
SELECT l.alg_locatie_code Locatiecode
|
||||
, g.alg_gebouw_code Gebouwcode
|
||||
, v.alg_verdieping_volgnr Bouwlaagvolgnummer
|
||||
, s.alg_srtruimte_omschrijving Ruimtefunctie
|
||||
, r.alg_ruimte_nr Ruimtenummer
|
||||
, r.alg_ruimte_omschrijving Ruimteomschrijving
|
||||
, r.alg_ruimte_bruto_vloeropp Vloeroppervlak
|
||||
, pa.prs_afdeling_naam Afdelingscode
|
||||
, ra.prs_ruimteafdeling_bezetting Bezetting
|
||||
, s.prs_verhuurbaar ReserveerbareRuimte
|
||||
, rd.ins_discipline_omschrijving Categorie
|
||||
, rp.res_disc_params_expire_dagen Expiredagen
|
||||
, rr.res_ruimte_prijs Prijs
|
||||
, ro.res_opstelling_omschrijving Opstelling
|
||||
, rro.res_ruimte_opstel_bezoekers AantalBezoekers
|
||||
, rr.res_ruimte_nr Naam
|
||||
, rr.res_ruimte_omschrijving Omschrijving
|
||||
, NULL Kenmerk1
|
||||
, NULL Kenmerk2
|
||||
, NULL Kenmerk3
|
||||
, NULL Kenmerk4
|
||||
, NULL Kenmerk5
|
||||
FROM alg_locatie l
|
||||
, alg_gebouw g
|
||||
, alg_verdieping v
|
||||
, alg_ruimte r
|
||||
, alg_srtruimte s
|
||||
, prs_ruimteafdeling ra
|
||||
, prs_afdeling pa
|
||||
, res_alg_ruimte rar
|
||||
, res_ruimte rr
|
||||
, res_discipline rd
|
||||
, res_disc_params rp
|
||||
, res_ruimte_opstelling rro
|
||||
, res_opstelling ro
|
||||
WHERE l.alg_locatie_key = g.alg_locatie_key
|
||||
AND g.alg_gebouw_key = v.alg_gebouw_key
|
||||
AND v.alg_verdieping_key = r.alg_verdieping_key
|
||||
AND r.alg_srtruimte_key = s.alg_srtruimte_key
|
||||
AND r.alg_ruimte_key = ra.alg_ruimte_key(+)
|
||||
AND ra.prs_afdeling_key = pa.prs_afdeling_key(+)
|
||||
AND r.alg_ruimte_key = rar.alg_ruimte_key(+)
|
||||
AND rar.res_ruimte_key = rr.res_ruimte_key(+)
|
||||
AND rr.res_discipline_key = rd.ins_discipline_key(+)
|
||||
AND rd.ins_discipline_key = rp.res_ins_discipline_key(+)
|
||||
AND rr.res_ruimte_key = rro.res_ruimte_key(+)
|
||||
AND rro.res_opstelling_key = ro.res_opstelling_key(+)
|
||||
;
|
||||
|
||||
-- import: FIP: 3-Aanvullen organisatiestructuur
|
||||
-- importsheet: Inventarisatie Organisatiestructuur
|
||||
-- importtabel: fac_imp_organisatie
|
||||
CREATE OR REPLACE VIEW fac_v_exp_organisatie
|
||||
AS -- import: FIP: 3-Aanvullen organisatiestructuur
|
||||
-- importsheet: ?
|
||||
SELECT b.prs_bedrijf_naam Bedrijfsnaam
|
||||
, ap.prs_afdeling_naam Afdelingscodeparent
|
||||
, a.prs_afdeling_naam Afdelingscode
|
||||
, a.prs_afdeling_omschrijving Afdelingsomschrijving
|
||||
, k.prs_kostenplaats_nr Kostenplaats
|
||||
, a.prs_afdeling_externid Externid
|
||||
FROM prs_afdeling a
|
||||
, prs_afdeling ap
|
||||
, prs_kostenplaats k
|
||||
, prs_bedrijf b
|
||||
WHERE a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||||
AND a.prs_afdeling_parentkey = ap.prs_afdeling_key(+)
|
||||
;
|
||||
|
||||
-- import: FIP: 4-Aanvullen personen
|
||||
-- importsheet: Inventarisatie Personen, tabblad Personen
|
||||
-- importtabel: fac_imp_perslid
|
||||
CREATE OR REPLACE VIEW fac_v_exp_perslid
|
||||
AS
|
||||
SELECT l.alg_locatie_code Locatiecode
|
||||
, o.alg_gebouw_code Gebouwcode
|
||||
, o.alg_verdieping_code Bouwlaagvolgnummer
|
||||
, o.alg_ruimte_nr Ruimtenummer
|
||||
, w.prs_werkplek_volgnr Werkplekvolgnummer
|
||||
, w.prs_werkplek_omschrijving Omschrijving
|
||||
, a.prs_afdeling_naam Afdelingscode
|
||||
, p.prs_perslid_naam PersoonAchternaam
|
||||
, p.prs_perslid_tussenvoegsel Tussenvoegsel
|
||||
, p.prs_perslid_voorletters Voorletters
|
||||
, p.prs_perslid_voornaam Voornaam
|
||||
, p.prs_perslid_titel TitelAanhef
|
||||
, p.prs_perslid_telefoonnr Telefoonnummer
|
||||
, p.prs_perslid_mobiel Mobiel
|
||||
, p.prs_perslid_email Email
|
||||
, s.prs_srtperslid_omschrijving Functie
|
||||
, p.prs_perslid_nr Personeelsnummer
|
||||
, p.prs_perslid_oslogin Loginnaam
|
||||
, p.prs_perslid_wachtwoord_hash Password
|
||||
, null NVT1
|
||||
, null NVT2
|
||||
, null NVT3
|
||||
, null NVT4
|
||||
, null NVT5
|
||||
, null NVT6
|
||||
, null NVT7
|
||||
, null Kenmerk1
|
||||
, null Kenmerk2
|
||||
, null Kenmerk3
|
||||
, null Kenmerk4
|
||||
, null Kenmerk5
|
||||
, null Kenmerk6
|
||||
, null Kenmerk7
|
||||
, null Kenmerk8
|
||||
, null Kenmerk9
|
||||
, null Kenmerk10
|
||||
, null Kenmerk11
|
||||
, null Kenmerk12
|
||||
, null Kenmerk13
|
||||
, null Kenmerk14
|
||||
, null Kenmerk15
|
||||
, null Kenmerk16
|
||||
, null Kenmerk17
|
||||
, null Kenmerk18
|
||||
, null Kenmerk19
|
||||
, null Kenmerk20
|
||||
FROM prs_perslid p
|
||||
, prs_srtperslid s
|
||||
, prs_afdeling a
|
||||
, alg_v_onroerendgoed_gegevens o
|
||||
, alg_locatie l
|
||||
, prs_perslidwerkplek b
|
||||
, prs_werkplek w
|
||||
WHERE p.prs_srtperslid_key = s.prs_srtperslid_key(+)
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key(+)
|
||||
AND p.alg_onroerendgoed_keys = o.alg_onroerendgoed_keys(+)
|
||||
AND p.alg_onroerendgoed_type = o.alg_type(+)
|
||||
AND o.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND p.prs_perslid_key = b.prs_perslid_key(+)
|
||||
AND b.prs_werkplek_key = w.prs_werkplek_key(+)
|
||||
;
|
||||
|
||||
|
||||
REGISTERRUN('$Id$')
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user