11303 lines
500 KiB
MySQL
11303 lines
500 KiB
MySQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific sql statements for the FACILITOR database
|
||
|
||
DEFINE thisfile = 'CONN.SQL'
|
||
DEFINE dbuser = 'CONN'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||
SPOOL &fcltlogfile
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
---------------------------------------
|
||
PROMPT &fcltcusttxt
|
||
---------------------------------------
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
CREATE OR REPLACE PACKAGE CONN
|
||
AS
|
||
FUNCTION quote(in_v1 IN varchar2) RETURN varchar2;
|
||
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY CONN AS
|
||
FUNCTION quote(in_v1 IN varchar2) RETURN varchar2
|
||
AS
|
||
BEGIN
|
||
return chr(34) || in_v1 || chr(34);
|
||
--return string surrounded by " CHR(34)
|
||
END;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE FORCE VIEW conn_v_bes_diesel
|
||
(
|
||
aanvraagnr,
|
||
aantal,
|
||
omschrijving,
|
||
fclt_d_datum,
|
||
fclt_f_afleveradres
|
||
)
|
||
AS
|
||
SELECT b.bes_bestelling_key,
|
||
bi.bes_bestelling_item_aantal,
|
||
d.bes_srtdeel_omschrijving,
|
||
TO_CHAR (b.bes_bestelling_leverdatum, 'dd-mm-yyyy'),
|
||
a.mld_adres_naam
|
||
FROM mld_adres a, bes_discipline d, bes_srtgroep g, bes_srtdeel d, bes_bestelling_item bi, bes_bestelling b
|
||
WHERE d.ins_discipline_key = g.ins_discipline_key
|
||
AND g.bes_srtgroep_key = d.bes_srtgroep_key
|
||
AND bi.bes_srtdeel_key = d.bes_srtdeel_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND d.ins_discipline_key = 1442
|
||
AND b.mld_adres_key_lev = a.mld_adres_key
|
||
AND b.bes_bestelling_status <> 1;
|
||
|
||
--CONN#12801
|
||
CREATE OR REPLACE VIEW conn_v_gebruikers_groep_email (fclt_groep,
|
||
fclt_naam,
|
||
email
|
||
)
|
||
AS
|
||
SELECT g.fac_groep_omschrijving, prs_perslid_naam_full, prs_perslid_email
|
||
FROM fac_gebruikersgroep gg,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf,
|
||
fac_groep g
|
||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND gg.fac_groep_key = g.fac_groep_key;
|
||
|
||
|
||
--CONN#791
|
||
CREATE OR REPLACE VIEW conn_v_halte_gegevens (fclt_f_concessies,
|
||
haltecode,
|
||
plaatsnaam,
|
||
haltenaam,
|
||
infobusstation,
|
||
infohalte,
|
||
passerendelijnen
|
||
)
|
||
AS
|
||
SELECT (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 562) concessies,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 501) haltecode,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 502) plaatsnaam,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 504) haltenaam,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key =
|
||
kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 509)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 510)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 511)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 512)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 513)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 514) infopaneelbus,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key =
|
||
kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 516)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 517)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 518)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 519)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 520)
|
||
|| ' , '
|
||
|| (SELECT ud.fac_usrdata_omschr
|
||
FROM fac_usrdata ud, ins_kenmerkdeel kd
|
||
WHERE ud.fac_usrdata_key = kd.ins_kenmerkdeel_waarde
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 521) infopaneelhalte,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 601) passerendelijnen
|
||
FROM ins_deel d
|
||
WHERE ins_srtdeel_key = 43401 AND ins_deel_verwijder IS NULL;
|
||
|
||
|
||
|
||
|
||
|
||
-- CONN#435
|
||
CREATE OR REPLACE VIEW CONN_V_LEV_SCHOONMAAK
|
||
(PRS_BEDRIJF_KEY, PRS_BEDRIJF_NAAM)
|
||
AS
|
||
SELECT DISTINCT prs_bedrijf.PRS_BEDRIJF_KEY,prs_bedrijf.PRS_BEDRIJF_NAAM
|
||
FROM prs_bedrijf, prs_bedrijfdienstlocatie
|
||
WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL
|
||
AND prs_bedrijf.prs_bedrijf_key = prs_bedrijfdienstlocatie.prs_bedrijf_key
|
||
AND prs_bedrijfdienstlocatie.prs_dienst_key = 129 ;
|
||
|
||
|
||
|
||
/* Formatted on 2006/09/01 16:21 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_bedrijf_gegevens
|
||
AS
|
||
SELECT b.prs_bedrijf_key, prs_bedrijf_naam, prs_bedrijf_naam_upper,
|
||
prs_bedrijf_post_adres, prs_bedrijf_post_postcode,
|
||
prs_bedrijf_post_plaats, prs_bedrijf_bezoek_adres,
|
||
prs_bedrijf_bezoek_postcode, prs_bedrijf_bezoek_plaats,
|
||
prs_bedrijf_telefoon, prs_bedrijf_fax, prs_bedrijf_contact_persoon,
|
||
prs_bedrijf_contact_telefoon, prs_bedrijf_contact_fax,
|
||
prs_bedrijf_opmerking, prs_bedrijf_uurloon, prs_leverancier_nr,
|
||
prs_overeenkomst_nr, prs_overeenkomst_datum, prs_bedrijf_aanmaak,
|
||
prs_bedrijf_verwijder, prs_bedrijf_leverancier,
|
||
prs_bedrijf_uitvoerende, prs_bedrijf_contract, prs_bedrijf_email,
|
||
a.prs_bedrijfadres_xsl, a.prs_bedrijfadres_url, prs_bedrijf_image_loc,
|
||
prs_bedrijf_details_loc, mld_adres_key_lev, mld_adres_key_fac,
|
||
prs_bedrijf_bezoek_land, prs_bedrijf_post_land,
|
||
prs_bedrijf_telefoon2, prs_bedrijf_opmerking2, prs_bedrijf_intern,
|
||
prs_bedrijf_huurder, prs_bedrijf_ingids,
|
||
SUBSTR (b.prs_leverancier_nr,
|
||
INSTR (b.prs_leverancier_nr, '/') + 1
|
||
) huurdernr,
|
||
SUBSTR (b.prs_leverancier_nr,
|
||
1,
|
||
INSTR (b.prs_leverancier_nr, '/') - 1
|
||
) budgetcode
|
||
FROM prs_bedrijf b
|
||
, prs_bedrijfadres a
|
||
WHERE b.prs_bedrijf_key = a.prs_bedrijf_key
|
||
AND a.prs_bedrijfadres_type = 'B'
|
||
AND b.prs_bedrijf_verwijder IS NULL;
|
||
|
||
|
||
|
||
--
|
||
-- CONN#460
|
||
--
|
||
CREATE OR REPLACE PACKAGE CONN_RAP AS
|
||
-- PACKAGES voor de Connexxion specifieke rapportages
|
||
TYPE t_cursor IS REF CURSOR;
|
||
FUNCTION FindNearestSampleValue(p_ins_deel_key IN NUMBER,p_ins_kenmerk_key IN NUMBER ,p_sample_date IN DATE) RETURN NUMBER;
|
||
FUNCTION FindNearestSampleDate(p_ins_deel_key IN NUMBER,p_ins_kenmerk_key IN NUMBER ,p_sample_date IN DATE) RETURN DATE;
|
||
PROCEDURE conn_p_verbruik (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
|
||
PROCEDURE conn_p_bes_div_cat (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY CONN_RAP AS
|
||
--
|
||
-- Algemene procedures en functies.
|
||
--
|
||
--
|
||
FUNCTION FindNearestSampleDate(p_ins_deel_key IN NUMBER
|
||
,p_ins_kenmerk_key IN NUMBER
|
||
,p_sample_date IN DATE
|
||
) RETURN DATE IS
|
||
v_waarde DATE;
|
||
BEGIN
|
||
SELECT waarde
|
||
INTO v_waarde
|
||
FROM (
|
||
SELECT ins_kenmerkdeel_aanmaak waarde
|
||
FROM ins_kenmerkdeel skd
|
||
WHERE skd.ins_kenmerk_key = p_ins_kenmerk_key
|
||
AND skd.ins_deel_key = p_ins_deel_key
|
||
ORDER BY ABS(p_sample_date - skd.INS_KENMERKDEEL_AANMAAK)
|
||
)
|
||
WHERE ROWNUM = 1;
|
||
RETURN v_waarde;
|
||
END;
|
||
--
|
||
FUNCTION FindNearestSampleValue(p_ins_deel_key IN NUMBER
|
||
,p_ins_kenmerk_key IN NUMBER
|
||
,p_sample_date IN DATE
|
||
) RETURN NUMBER IS
|
||
v_waarde NUMBER;
|
||
BEGIN
|
||
SELECT FAC.safe_to_number(waarde)
|
||
INTO v_waarde
|
||
FROM (
|
||
SELECT ins_kenmerkdeel_waarde waarde
|
||
FROM ins_kenmerkdeel skd
|
||
WHERE skd.ins_kenmerk_key = p_ins_kenmerk_key
|
||
AND skd.ins_deel_key = p_ins_deel_key
|
||
ORDER BY ABS(p_sample_date - skd.INS_KENMERKDEEL_AANMAAK)
|
||
)
|
||
WHERE ROWNUM = 1;
|
||
RETURN v_waarde;
|
||
END;
|
||
--
|
||
PROCEDURE conn_p_verbruik (user_key IN NUMBER
|
||
,p_datum_van IN VARCHAR2, -- Let wel: formaat '13-05-2005'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor) AS
|
||
v_datum_van DATE;
|
||
v_datum_tot DATE;
|
||
v_alg_level_read NUMBER;
|
||
BEGIN
|
||
v_datum_van := fac.safe_to_date(p_datum_van, 'dd-mm-yyyy');
|
||
v_datum_tot := fac.safe_to_date(p_datum_tot, 'dd-mm-yyyy');
|
||
|
||
SELECT MIN(fac_gebruiker_alg_level_read)
|
||
INTO v_alg_level_read
|
||
FROM fac_v_webgebruiker
|
||
WHERE prs_perslid_key = user_key
|
||
AND fac_functie_key = 242; -- WEB_OBJUSE
|
||
|
||
IF v_alg_level_read = -1 THEN
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT alg_locatie_code code,
|
||
alg_locatie_omschrijving naam,
|
||
ins_deel_omschrijving meter,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) -
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) verbruik,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van),'dd-mm-yyyy hh24:mi') begin_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) begin_waarde,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot),'dd-mm-yyyy hh24:mi') eind_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) eind_waarde
|
||
FROM (
|
||
SELECT DISTINCT
|
||
d.ins_deel_key,
|
||
k.ins_kenmerk_key,
|
||
ins_deel_omschrijving,
|
||
alg_locatie_key,
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_code
|
||
FROM ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_kenmerkdeel kd,
|
||
ins_kenmerk k,
|
||
ins_srtkenmerk sk,
|
||
alg_locatie l
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_kenmerk_meetwaarde = 1
|
||
AND sk.INS_SRTKENMERK_KENMERKTYPE = 'N'
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
) res
|
||
ORDER BY code;
|
||
ELSE -- We moeten echte autorisatie controleren
|
||
OPEN p_cursor FOR
|
||
SELECT alg_locatie_code code,
|
||
alg_locatie_omschrijving naam,
|
||
ins_deel_omschrijving meter,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) -
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) verbruik,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van),'dd-mm-yyyy hh24:mi') begin_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) begin_waarde,
|
||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot),'dd-mm-yyyy hh24:mi') eind_datum,
|
||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) eind_waarde
|
||
FROM (
|
||
SELECT DISTINCT
|
||
d.ins_deel_key,
|
||
k.ins_kenmerk_key,
|
||
ins_deel_omschrijving,
|
||
alg_locatie_key,
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_code
|
||
FROM ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
ins_kenmerkdeel kd,
|
||
ins_kenmerk k,
|
||
ins_srtkenmerk sk,
|
||
alg_locatie l
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND d.ins_deel_key = kd.ins_deel_key
|
||
AND d.INS_ALG_LOCATIE_KEY = l.alg_locatie_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND k.ins_kenmerk_volgnummer >= 100
|
||
AND sk.INS_SRTKENMERK_KENMERKTYPE = 'N'
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
AND alg_locatie_key IN (
|
||
SELECT alg_locatie_key
|
||
FROM fac_v_my_locations
|
||
WHERE PRS_PERSLID_KEY = user_key
|
||
AND niveau = v_alg_level_read
|
||
)
|
||
) res
|
||
ORDER BY code;
|
||
END IF;
|
||
END;
|
||
--
|
||
PROCEDURE conn_p_bes_div_cat ( user_key IN NUMBER,
|
||
p_datum_van IN VARCHAR2, -- Let wel: formaat '01-01-2015'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor) AS
|
||
BEGIN
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT a.prs_afdeling_parent_oms divisie,
|
||
dis.ins_discipline_omschrijving catalogus,
|
||
COUNT (b.bes_bestelling_key) aantal_aanvragen,
|
||
SUM (COALESCE (boi.bes_bestelopdr_item_prijs, 0) * bi.bes_bestelling_item_aantal
|
||
) totaalbedrag
|
||
FROM BES_BESTELLING b,
|
||
BES_BESTELLING_ITEM bi,
|
||
bes_srtDEEL sd,
|
||
bes_srtGROEP sg,
|
||
INS_TAB_DISCIPLINE dis,
|
||
bes_bestelopdr_item boi,
|
||
(SELECT p.prs_perslid_key,
|
||
a.prs_afdeling_omschrijving prs_afdeling_parent_oms
|
||
FROM prs_v_afdeling_boom ab, PRS_AFDELING a, PRS_PERSLID p
|
||
WHERE ab.prs_afdeling_key1 = a.prs_afdeling_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key) a
|
||
WHERE bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND b.bes_bestelling_datum >= Fac.safe_to_date(p_datum_van, 'dd-mm-yyyy')
|
||
AND b.bes_bestelling_datum < Fac.safe_to_date(p_datum_tot, 'dd-mm-yyyy')
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = dis.ins_discipline_key
|
||
AND b.bes_bestelling_status <> 1
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND b.bes_bestelling_module = 'BES'
|
||
AND a.prs_perslid_key = b.prs_perslid_key
|
||
GROUP BY a.prs_afdeling_parent_oms, dis.ins_discipline_omschrijving
|
||
ORDER BY 1,2;
|
||
|
||
END;
|
||
--
|
||
END;
|
||
/
|
||
|
||
show errors;
|
||
|
||
--
|
||
-- CONN #451
|
||
--
|
||
/* Formatted on 11-6-2010 16:45:48 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_bestelopdr_gegevens
|
||
(
|
||
hide_f_opdracht,
|
||
datum,
|
||
fclt_f_opdrnr,
|
||
fclt_f_naam,
|
||
telefoon,
|
||
fclt_f_status
|
||
)
|
||
AS
|
||
SELECT DISTINCT bo.bes_bestelopdr_key,
|
||
TO_CHAR (b.bes_bestelling_datum, 'DD-MM-YYYY'),
|
||
TO_CHAR (bo.bes_bestelopdr_key),
|
||
(SELECT pf.prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key = b.prs_perslid_key),
|
||
(SELECT P.PRS_PERSLID_TELEFOONNR
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_key = b.prs_perslid_key),
|
||
bos.bes_bestelopdrstatuses_omschr
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr bo,
|
||
bes_bestelopdrstatuses bos,
|
||
bes_bestelopdr_item boi
|
||
WHERE bes_bestelopdr_status IN (4, 5, 6, 7)
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bo.bes_bestelopdr_status = bos.bes_bestelopdrstatuses_key;
|
||
|
||
--
|
||
-- CONN#321
|
||
--
|
||
|
||
|
||
/* Formatted on 18-1-2010 16:02:12 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_besteller_z_kostenpl
|
||
(
|
||
naam,
|
||
afdeling,
|
||
profiel
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_naam_full, a.prs_afdeling_omschrijving, f.fac_profiel_omschrijving
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, prs_v_perslid_fullnames pf, fac_profiel f
|
||
WHERE p.fac_profiel_key = f.fac_profiel_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key IS NULL;
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_huurders_kostenplaats (fclt_f_naam,
|
||
fclt_f_kostenplaats
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam AS naam,
|
||
prs_leverancier_nr AS kostenplaats
|
||
FROM prs_v_aanwezigbedrijf;
|
||
|
||
|
||
|
||
|
||
--
|
||
-- CONN#415 CONN#496
|
||
--
|
||
CREATE OR REPLACE VIEW CONN_V_LOCATIE_BEDRIJVEN
|
||
(FCLT_F_LOCATIE, ADRES, POSTCODE, PLAATS, BEDRIJF,
|
||
DIENST, TELEFOONNR, STORINGSNR)
|
||
AS
|
||
SELECT l.ALG_LOCATIE_CODE
|
||
,l.ALG_LOCATIE_ADRES
|
||
,l.ALG_LOCATIE_POSTCODE
|
||
,l.ALG_LOCATIE_PLAATS
|
||
,substr(b.PRS_BEDRIJF_NAAM,1,decode(instr(b.PRS_BEDRIJF_NAAM,' _ LEV'),0,60,instr(b.PRS_BEDRIJF_NAAM,' _ LEV')))
|
||
,d.PRS_DIENST_OMSCHRIJVING
|
||
,b.PRS_BEDRIJF_TELEFOON
|
||
,b.PRS_BEDRIJF_TELEFOON2
|
||
FROM PRS_BEDRIJFDIENSTLOCATIE bdl
|
||
,ALG_V_AANWEZIGLOCATIE l
|
||
,PRS_DIENST d
|
||
,PRS_V_AANWEZIGBEDRIJF b
|
||
where bdl.PRS_BEDRIJF_KEY = b.PRS_BEDRIJF_KEY
|
||
and bdl.ALG_LOCATIE_KEY = l.ALG_LOCATIE_KEY
|
||
and bdl.PRS_DIENST_KEY = d.PRS_DIENST_KEY
|
||
order by 1,5;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/* Formatted on 28-11-2011 10:49:26 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW conn_v_perslid_z_logwwmail
|
||
(
|
||
naam,
|
||
nummer,
|
||
login,
|
||
wachtwoord,
|
||
email
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
p.prs_perslid_oslogin,
|
||
'*****',
|
||
p.prs_perslid_email
|
||
FROM prs_perslid p, prs_v_perslid_fullnames pf
|
||
WHERE pf.prs_perslid_key = p.prs_perslid_key
|
||
AND (p.prs_perslid_oslogin IS NULL OR p.prs_perslid_wachtwoord_hash IS NULL OR p.prs_perslid_email IS NULL);
|
||
|
||
--insert into fac_usrrap (FAC_USRRAP_OMSCHRIJVING, FAC_USRRAP_VIEW_NAME, FAC_USRRAP_INFO) values
|
||
-- ('Personen zonder login..', 'CONN_V_PERSLID_Z_LOGWWMAIL', 'Personen waarbij geen login, wachtwoord of e-mail adres ingevuld is.');
|
||
--
|
||
|
||
|
||
|
||
|
||
create or replace view conn_v_bedrijf_zonder_nummer as
|
||
select * from prs_v_aanwezigbedrijf where prs_leverancier_nr is null
|
||
and prs_bedrijf_intern is null;
|
||
|
||
|
||
|
||
create or replace view CONN_RAP_OPDR_OPMERKINGEN AS
|
||
select alg_locatie_omschrijving fclt_f_locatie
|
||
,sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.MLD_OPDR_BEDRIJFOPDR_VOLGNR opdrachtnummer
|
||
,TO_CHAR(o.mLD_OPDR_DATUMBEGIN, 'dd-mm-yyyy') datum
|
||
,prs_bedrijf_naam leverancier
|
||
,mld_kenmerkopdr_waarde opmerking
|
||
from mld_opdr o
|
||
,MLD_V_AANWEZIGKENMERKOPDR ko
|
||
,mld_melding m
|
||
,mld_stdmelding std
|
||
,alg_locatie l
|
||
,mld_discipline md
|
||
,ins_srtdiscipline sd
|
||
,prs_bedrijf b
|
||
where o.mld_opdr_key = ko.mld_opdr_key
|
||
and ko.MLD_KENMERK_KEY = 75
|
||
and o.MLD_TYPEOPDR_KEY = 5
|
||
and m.mld_melding_key = o.mld_melding_key
|
||
and m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND md.ins_discipline_key = std.mld_ins_discipline_key
|
||
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||
and b.prs_bedrijf_key(+) = o.MLD_UITVOERENDE_KEYS order by 1;
|
||
|
||
|
||
|
||
|
||
-- *
|
||
-- * FAC_V_WEB_AUTORISATIE view
|
||
-- *
|
||
CREATE OR REPLACE VIEW FAC_V_WEB_AUTORISATIE
|
||
(BEDRIJF, FCLT_F_BUSINESS_UNIT, FCLT_F_NAAM, FCLT_F_USERID, FCLT_F_GROEP)
|
||
AS
|
||
SELECT B.prs_bedrijf_naam as BEDRIJF
|
||
, AD.prs_afdeling_omschrijving as FCLT_F_BUSINESS_UNIT
|
||
, PF.prs_perslid_naam_full as FCLT_F_NAAM
|
||
, P.PRS_PERSLID_OSLOGIN as FCLT_F_USERID
|
||
, GR.fac_groep_upper as FCLT_F_GROEP
|
||
FROM PRS_V_AANWEZIGPERSLID P
|
||
, PRS_AFDELING AD
|
||
, PRS_V_AFDELING_BOOM AB
|
||
, PRS_BEDRIJF B
|
||
, FAC_GEBRUIKERSGROEP GG
|
||
, FAC_GROEP GR
|
||
, PRS_V_PERSLID_FULLNAMES PF
|
||
WHERE GG.fac_groep_key=GR.fac_groep_key
|
||
AND P.prs_perslid_key=GG.prs_perslid_key
|
||
AND P.prs_afdeling_key = AB.prs_afdeling_key
|
||
AND AB.prs_bedrijf_key = B.prs_bedrijf_key
|
||
AND AB.prs_afdeling_key1 = AD.prs_afdeling_key
|
||
AND PF.prs_perslid_key = p.prs_perslid_key;
|
||
|
||
|
||
-- *
|
||
-- * CONN_V_FIATEURS view (in 4.81 CONN_FIATERING)
|
||
-- *
|
||
CREATE OR REPLACE VIEW CONN_V_FIATEURS
|
||
(
|
||
PERSOON,
|
||
PROFIEL,
|
||
KOSTENPLAATSHOUDER,
|
||
KOSTENPLAATSGROEPHOUDER
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_naam
|
||
|| DECODE (p.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p.prs_perslid_voorletters)
|
||
|| DECODE (p.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p.prs_perslid_voornaam || ')')
|
||
Persoon,
|
||
f.fac_profiel_omschrijving,
|
||
p2.prs_perslid_naam
|
||
|| DECODE (p2.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p2.prs_perslid_voorletters)
|
||
|| DECODE (p2.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p2.prs_perslid_voornaam || ')')
|
||
Budgethouder,
|
||
p3.prs_perslid_naam
|
||
|| DECODE (p3.prs_perslid_voorletters,
|
||
NULL, '',
|
||
', ' || p3.prs_perslid_voorletters)
|
||
|| DECODE (p3.prs_perslid_voornaam,
|
||
NULL, '',
|
||
' (' || p3.prs_perslid_voornaam || ')')
|
||
Budgetgroephouder
|
||
FROM prs_perslid p,
|
||
fac_profiel f,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k,
|
||
prs_perslid p2,
|
||
prs_kostenplaatsgrp g,
|
||
prs_perslid p3
|
||
WHERE f.fac_profiel_key(+) = p.fac_profiel_key
|
||
AND a.prs_afdeling_key(+) = p.prs_afdeling_key
|
||
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND p2.prs_perslid_key(+) = k.prs_perslid_key
|
||
AND k.prs_kostenplaatsgrp_key = g.prs_kostenplaatsgrp_key(+)
|
||
AND p3.prs_perslid_key(+) = g.prs_perslid_key
|
||
AND prs_kostenplaats_verwijder IS NULL
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
ORDER BY 1,
|
||
2,
|
||
3,
|
||
4;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/* Formatted on 2006/06/16 10:17 (Formatter Plus v4.8.5) */
|
||
/* Formatted on 11-6-2010 17:32:44 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_ppi1
|
||
(
|
||
aanvraagnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
artikelnummer,
|
||
omschrijving,
|
||
aantal,
|
||
prijs,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT b.bes_bestelling_key,
|
||
TO_CHAR (b.bes_bestelling_datum, 'YYMM'),
|
||
p.prs_perslid_naam
|
||
|| ' '
|
||
|| NVL (p.prs_perslid_voorletters, '')
|
||
|| ' '
|
||
|| NVL (p.prs_perslid_voornaam, ''),
|
||
a.prs_afdeling_naam,
|
||
s.bes_srtdeel_nr,
|
||
s.bes_srtdeel_omschrijving,
|
||
TO_CHAR (i.bes_bestelling_item_aantal, '99999990'),
|
||
TO_CHAR (i.bes_bestelling_item_prijs, '99999990D00'),
|
||
a.prs_afdeling_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item i,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
bes_srtdeel s,
|
||
bes_srtgroep g,
|
||
ins_tab_discipline d
|
||
WHERE b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND b.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND i.bes_srtdeel_key = s.bes_srtdeel_key
|
||
AND s.bes_srtgroep_key = g.bes_srtgroep_key
|
||
AND g.ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_discipline_key = 21;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI1_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAALBEDRAG)
|
||
AS
|
||
SELECT
|
||
FCLT_F_Maand
|
||
,SUM(TO_NUMBER(Aantal, '999999D99', 'nls_numeric_characters = ''.,'''))
|
||
,SUM(TO_NUMBER(Aantal, '999999D99', 'nls_numeric_characters = ''.,''') * TO_NUMBER(prijs, '999999D99', 'nls_numeric_characters = ''.,'''))
|
||
FROM CONN_V_PPI1
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
/* Formatted on 11-6-2010 17:37:17 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_ppi2_all
|
||
(
|
||
opdrachtnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
totaalbedrag,
|
||
bes_bestelopdr_datum,
|
||
bes_bestelopdr_leverdatum,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT bo.bes_bestelopdr_key,
|
||
TO_CHAR (bo.bes_bestelopdr_datum, 'YYMM'),
|
||
pp.prs_perslid_naam
|
||
|| ' '
|
||
|| NVL (pp.prs_perslid_voorletters, '')
|
||
|| ' '
|
||
|| NVL (pp.prs_perslid_voornaam, ''),
|
||
ad.prs_afdeling_naam,
|
||
boi.bes_bestelopdr_item_prijs * bi.bes_bestelling_item_aantal,
|
||
bo.bes_bestelopdr_datum,
|
||
bo.bes_bestelopdr_leverdatum,
|
||
ad.prs_afdeling_key
|
||
FROM bes_bestelling bb,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
prs_perslid pp,
|
||
prs_afdeling ad
|
||
WHERE bb.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bo.prs_perslid_key = pp.prs_perslid_key
|
||
AND pp.prs_afdeling_key = ad.prs_afdeling_key;
|
||
|
||
|
||
/* Formatted on 11-6-2010 17:38:36 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_ppi2_subset
|
||
(
|
||
opdrachtnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
totaalbedrag,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT opdrachtnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
totaalbedrag,
|
||
prs_afdeling_key
|
||
FROM conn_v_ppi2_all
|
||
WHERE ( (bes_bestelopdr_leverdatum > fac.datumtijdplusuitvoertijd (bes_bestelopdr_datum, 4, 'DAGEN'))
|
||
OR (bes_bestelopdr_leverdatum IS NULL
|
||
AND SYSDATE > fac.datumtijdplusuitvoertijd (bes_bestelopdr_datum, 4, 'DAGEN')));
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI2
|
||
(OPDRACHTNUMMER, FCLT_F_MAAND, BESTELLER, AFDELING, TOTAALBEDRAG,
|
||
FCLT_3D_AFDELING_KEY)
|
||
AS
|
||
SELECT
|
||
Opdrachtnummer,
|
||
FCLT_F_Maand,
|
||
Besteller,
|
||
Afdeling,
|
||
TO_CHAR(SUM(Totaalbedrag),'99999990D00'),
|
||
PRS_AFDELING_KEY
|
||
FROM CONN_V_PPI2_SUBSET
|
||
GROUP BY Opdrachtnummer,FCLT_F_Maand,Besteller,Afdeling,PRS_AFDELING_KEY;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI2_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAAL)
|
||
AS
|
||
SELECT FCLT_F_Maand, SUM(Aantal) Aantal, SUM(Totaal) Totaal
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(Opdrachtnummer) Aantal, 0 Totaal
|
||
FROM (SELECT FCLT_F_Maand, Opdrachtnummer
|
||
FROM CONN_V_PPI2 A
|
||
GROUP BY FCLT_F_Maand, Opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(Opdrachtnummer)
|
||
FROM (SELECT FCLT_F_Maand, Opdrachtnummer
|
||
FROM CONN_V_PPI2_ALL B
|
||
GROUP BY FCLT_F_Maand, Opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
/* Formatted on 28-11-2011 10:47:34 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_ppi3_all
|
||
(
|
||
aanvraagnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
fiatteur,
|
||
status,
|
||
aantal,
|
||
prijs,
|
||
totaalbedrag,
|
||
bes_bestelling_datum,
|
||
bes_bestelling_afgewezen,
|
||
bes_bestelling_geaccepteerd,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT b.bes_bestelling_key,
|
||
TO_CHAR (b.bes_bestelling_datum, 'YYMM'),
|
||
p.prs_perslid_naam
|
||
|| ' '
|
||
|| NVL (p.prs_perslid_voorletters, '')
|
||
|| ' '
|
||
|| NVL (p.prs_perslid_voornaam, ''),
|
||
a.prs_afdeling_naam,
|
||
p2.prs_perslid_naam
|
||
|| ' '
|
||
|| NVL (p2.prs_perslid_voorletters, '')
|
||
|| ' '
|
||
|| NVL (p2.prs_perslid_voornaam, ''),
|
||
bs.bes_bestellingstatuses_omschr,
|
||
i.bes_bestelling_item_aantal,
|
||
i.bes_bestelling_item_prijs,
|
||
i.bes_bestelling_item_aantal * i.bes_bestelling_item_prijs,
|
||
b.bes_bestelling_datum,
|
||
fac.gettrackingdate ('BESREJ', b.bes_bestelling_key),
|
||
fac.gettrackingdate ('BESACP', b.bes_bestelling_key),
|
||
a.prs_afdeling_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item i,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_perslid p2,
|
||
bes_bestellingstatuses bs
|
||
WHERE b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND b.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND b.bes_bestelling_status = bs.bes_bestellingstatuses_key
|
||
AND b.bes_bestelling_fiat_user IS NOT NULL -- Dus alleen "fiatteringsbestellingen"
|
||
AND b.bes_bestelling_fiat_user = p2.prs_perslid_key;
|
||
|
||
/* Formatted on 11-6-2010 17:51:26 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_ppi3_subset
|
||
(
|
||
aanvraagnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
fiatteur,
|
||
status,
|
||
aantal,
|
||
prijs,
|
||
totaalbedrag,
|
||
bes_bestelling_datum,
|
||
bes_bestelling_afgewezen,
|
||
bes_bestelling_geaccepteerd,
|
||
prs_afdeling_key
|
||
)
|
||
AS
|
||
SELECT aanvraagnummer,
|
||
fclt_f_maand,
|
||
besteller,
|
||
afdeling,
|
||
fiatteur,
|
||
status,
|
||
aantal,
|
||
prijs,
|
||
totaalbedrag,
|
||
bes_bestelling_datum,
|
||
bes_bestelling_afgewezen,
|
||
bes_bestelling_geaccepteerd,
|
||
prs_afdeling_key
|
||
FROM conn_v_ppi3_all
|
||
WHERE ( (fac.datumtijdplusuitvoertijd (bes_bestelling_datum, 3, 'DAGEN') <
|
||
bes_bestelling_afgewezen)
|
||
OR (fac.datumtijdplusuitvoertijd (bes_bestelling_datum, 3, 'DAGEN') <
|
||
bes_bestelling_geaccepteerd)
|
||
OR ( bes_bestelling_afgewezen IS NULL
|
||
AND bes_bestelling_geaccepteerd IS NULL
|
||
AND fac.datumtijdplusuitvoertijd (bes_bestelling_datum, 3, 'DAGEN') < SYSDATE));
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI3_TOT
|
||
(FCLT_F_MAAND, TOTAAL, TELAAT)
|
||
AS
|
||
SELECT fclt_f_maand, SUM(totaal) Totaal,SUM(totaal)-SUM(optijd) Telaat
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(*) Totaal, 0 Optijd
|
||
FROM (SELECT FCLT_F_Maand, aanvraagnummer
|
||
FROM CONN_V_PPI3_ALL A
|
||
GROUP BY FCLT_F_Maand, aanvraagnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(*)
|
||
FROM (SELECT FCLT_F_Maand, aanvraagnummer
|
||
FROM CONN_V_PPI3_SUBSET A
|
||
GROUP BY FCLT_F_Maand, aanvraagnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
|
||
/* Formatted on 2006/06/16 10:24 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_ppi5_all (opdrachtnummer, fclt_f_maand, opmerking, prs_afdeling_key)
|
||
AS
|
||
SELECT bo.bes_bestelopdr_key, TO_CHAR (bo.bes_bestelopdr_datum, 'YYMM'), bo.bes_bestelopdr_delivery_opmerk,
|
||
p.prs_afdeling_key
|
||
FROM bes_bestelling bb, bes_bestelling_item bi, bes_bestelopdr bo, bes_bestelopdr_item boi, prs_perslid p
|
||
WHERE bb.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND bb.prs_perslid_key = p.prs_perslid_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key;
|
||
|
||
/* Formatted on 2006/06/16 10:22 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_ppi5 (opdrachtnummer, fclt_f_maand, opmerking, fclt_3d_prs_afdeling_key)
|
||
AS
|
||
SELECT DISTINCT bo.bes_bestelopdr_key, TO_CHAR (bo.bes_bestelopdr_datum, 'YYMM'), bo.bes_bestelopdr_delivery_opmerk,
|
||
p.prs_afdeling_key
|
||
FROM bes_bestelling bb, bes_bestelling_item bi, bes_bestelopdr bo, bes_bestelopdr_item boi, prs_perslid p
|
||
WHERE bb.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bb.prs_perslid_key = p.prs_perslid_key
|
||
AND bes_bestelopdr_delivery_opmerk IS NOT NULL;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_PPI5_TOT
|
||
(FCLT_F_MAAND, AANTAL, TOTAAL)
|
||
AS
|
||
SELECT fclt_f_maand, SUM(Aantal) Aantal, SUM(Totaal) Totaal
|
||
FROM
|
||
(
|
||
SELECT FCLT_F_Maand, COUNT(*) Aantal, 0 Totaal
|
||
FROM (SELECT FCLT_F_Maand, opdrachtnummer
|
||
FROM CONN_V_PPI5 A
|
||
GROUP BY FCLT_F_Maand, opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
UNION
|
||
SELECT FCLT_F_Maand, 0, COUNT(*)
|
||
FROM (SELECT FCLT_F_Maand, opdrachtnummer
|
||
FROM CONN_V_PPI5_ALL A
|
||
GROUP BY FCLT_F_Maand, opdrachtnummer)
|
||
GROUP BY FCLT_F_Maand
|
||
)
|
||
GROUP BY FCLT_F_Maand;
|
||
|
||
/* Formatted on 11-6-2010 17:56:01 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_ppi_overzicht
|
||
(
|
||
ppi,
|
||
fclt_f_maand,
|
||
aantal,
|
||
totaal
|
||
)
|
||
AS
|
||
SELECT 'PPI1 - Bestelling artikelen Luxe catalogus per maand',
|
||
fclt_f_maand,
|
||
TO_CHAR (aantal),
|
||
TO_CHAR (totaalbedrag, '99999990D00')
|
||
FROM conn_v_ppi1_tot
|
||
UNION
|
||
SELECT 'PPI2 - Juistheid "afmelding" ontvangsten per maand', fclt_f_maand, TO_CHAR (aantal), TO_CHAR (totaal)
|
||
FROM conn_v_ppi2_tot
|
||
UNION
|
||
SELECT 'PPI3 - Tijd tussen aanvraag en fiattering per maand', fclt_f_maand, TO_CHAR (telaat), TO_CHAR (totaal)
|
||
FROM conn_v_ppi3_tot
|
||
UNION
|
||
SELECT 'PPI5 - Niet tevreden ontvangers per maand', fclt_f_maand, TO_CHAR (aantal), TO_CHAR (totaal)
|
||
FROM conn_v_ppi5_tot;
|
||
|
||
|
||
|
||
|
||
-- *
|
||
-- * CONN_V_DELETED_LOC_GEG view
|
||
-- * Overzicht verwijderde locaties (CONN#188)
|
||
-- *
|
||
CREATE OR REPLACE VIEW CONN_V_DELETED_LOC_GEG
|
||
(FCLT_F_LOCATIE_CODE, OMSCHRIJVING, BEZOEK_ADRES,
|
||
BEZOEK_PLAATS, VERWIJDERDATUM, UITBEHEER, DISTRICT)
|
||
AS
|
||
SELECT l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_adres,
|
||
l.alg_locatie_plaats,
|
||
l.alg_locatie_verwijder,
|
||
(SELECT aok.alg_onrgoedkenmerk_waarde from alg_onrgoedkenmerk aok
|
||
WHERE alg_onrgoed_key = l.alg_locatie_key
|
||
AND alg_kenmerk_key = 22),
|
||
d.alg_district_omschrijving
|
||
FROM alg_locatie l,
|
||
alg_district d
|
||
WHERE d.alg_district_key(+) = l.alg_district_key
|
||
AND (l.alg_locatie_verwijder IS NOT NULL
|
||
OR
|
||
l.alg_locatie_key IN (
|
||
SELECT alg_onrgoed_key from alg_onrgoedkenmerk aok
|
||
WHERE alg_onrgoed_niveau = 'L'
|
||
AND alg_kenmerk_key = 22))
|
||
ORDER BY l.alg_locatie_upper ASC;
|
||
|
||
commit;
|
||
|
||
|
||
create or replace view CONN_V_PRS_INDIENST (FCLT_F_MAAND, FCLT_F_NAAM, NUMMER, INDIENST, FCLT_F_AFDELING) as
|
||
select TO_CHAR(p.prs_perslid_ingangsdatum, 'YYMM'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR(p.prs_perslid_ingangsdatum, 'DD-MM-YYYY'),
|
||
a.prs_afdeling_naam1
|
||
from prs_v_afdeling a,
|
||
prs_v_aanwezigperslid p,
|
||
prs_v_perslid_fullnames pf
|
||
where p.prs_afdeling_key = a.prs_afdeling_key
|
||
and pf.prs_perslid_key = p.prs_perslid_key
|
||
and p.prs_perslid_ingangsdatum IS NOT NULL;
|
||
|
||
create or replace view CONN_V_PRS_UITDIENST (FCLT_F_MAAND, FCLT_F_NAAM, NUMMER, UITDIENST, FCLT_F_AFDELING) as
|
||
select TO_CHAR(p.prs_perslid_einddatum, 'YYMM'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_nr,
|
||
TO_CHAR(p.prs_perslid_einddatum, 'DD-MM-YYYY'),
|
||
a.prs_afdeling_naam1
|
||
from prs_v_afdeling a,
|
||
prs_v_aanwezigperslid p,
|
||
prs_v_perslid_fullnames pf
|
||
where p.prs_afdeling_key = a.prs_afdeling_key
|
||
and pf.prs_perslid_key = p.prs_perslid_key
|
||
and p.prs_perslid_einddatum IS NOT NULL;
|
||
|
||
|
||
--///////////////////////////////////////////VERVALLEN/////////////////////////////////////BEGIN?
|
||
CREATE OR REPLACE VIEW CONN_V_OPDR AS
|
||
select std.MLD_INS_DISCIPLINE_KEY
|
||
,o.*
|
||
from mld_opdr o, mld_melding m, mld_stdmelding std
|
||
where m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
and o.mld_melding_key = m.mld_melding_key;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_OPDR_IB AS
|
||
select o.*
|
||
from CONN_V_OPDR o
|
||
where o.MLD_INS_DISCIPLINE_KEY = 562;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_OPDR_OVERIG AS
|
||
select o.*
|
||
from CONN_V_OPDR o
|
||
where o.MLD_INS_DISCIPLINE_KEY <> 562;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_MLD_VERPLICHTING_OFF
|
||
(OPDRACHT, LOCATIE, BEDRIJF, DATUM, OFFERTE_STATUS, BEDRAG, EIGENAAR)
|
||
AS
|
||
select (select ins_srtdiscipline_prefix from ins_srtdiscipline sd, ins_tab_discipline d, mld_stdmelding std, mld_melding m where
|
||
m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
and std.mld_ins_discipline_key = d.ins_discipline_key
|
||
and d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
and m.mld_melding_key = o.mld_melding_key) || o.mld_melding_key ||'/' || o.MLD_OPDR_BEDRIJFOPDR_VOLGNR
|
||
, (select alg_locatie_code
|
||
from alg_locatie l, mld_melding m
|
||
where l.alg_locatie_key = m.mld_alg_locatie_key
|
||
and o.mld_melding_key = m.mld_melding_key) as locatie
|
||
, (select prs_bedrijf_naam from prs_bedrijf where prs_bedrijf_key = o.MLD_UITVOERENDE_KEYS) as bedrijf
|
||
, (select TO_CHAR(MLD_OPDR_DATUMBEGIN, 'DD-MM-YYYY') from mld_opdr where mld_melding_key = o.mld_melding_key and rownum = 1) as OpdrDatum
|
||
, ud.FAC_USRDATA_OMSCHR
|
||
, TO_CHAR(nvl(bed.MLD_KENMERKOPDR_WAARDE,0),'9999990D00') as Openstaand
|
||
, (select fd.fac_usrdata_omschr
|
||
from fac_usrdata fd, MLD_V_AANWEZIGKENMERKOPDR gb, mld_opdr opdr
|
||
where gb.mld_opdr_key = opdr.mld_opdr_key
|
||
and gb.mld_kenmerk_key = 83
|
||
and opdr.mld_uitvoerende_keys = o.MLD_UITVOERENDE_KEYS
|
||
and gb.mld_kenmerkopdr_waarde = fd.fac_usrdata_key
|
||
and rownum = 1) as Eigenaar
|
||
from mld_opdr o, MLD_V_AANWEZIGKENMERKOPDR ko, fac_usrdata ud, MLD_V_AANWEZIGKENMERKOPDR bed
|
||
where o.MLD_TYPEOPDR_KEY = 66
|
||
and o.mld_opdr_key = ko.mld_opdr_key(+)
|
||
and ko.MLD_KENMERK_KEY(+) = 74
|
||
and ud.fac_usrdata_key(+) = ko.mld_kenmerkopdr_waarde
|
||
and bed.mld_kenmerk_key(+) = 449
|
||
and o.mld_opdr_key = bed.mld_opdr_key(+)
|
||
and o.mld_statusopdr_key = 5;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_MLD_VERPLICHTING
|
||
(DATUM, FCLT_F_SOORT, OPDRACHT, LOCATIE, BEDRIJF,
|
||
EIGENAAR, OPDRACHT_BEDRAG, FACTUUR_BEDRAG)
|
||
AS
|
||
SELECT TO_CHAR (mld_opdr_datumbegin, 'DD-MM-YYYY') datum,
|
||
(SELECT ins_srtdiscipline_prefix
|
||
FROM ins_srtdiscipline sd,
|
||
ins_tab_discipline d,
|
||
mld_stdmelding std,
|
||
mld_melding m
|
||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND o.mld_melding_key = m.mld_melding_key) soort,
|
||
opdracht,
|
||
(SELECT alg_locatie_code
|
||
FROM alg_locatie l, mld_melding m
|
||
WHERE l.alg_locatie_key = m.mld_alg_locatie_key
|
||
AND o.mld_melding_key = m.mld_melding_key) AS locatie,
|
||
(SELECT prs_bedrijf_naam
|
||
FROM prs_bedrijf
|
||
WHERE prs_bedrijf_key = mld_uitvoerende_keys) AS bedrijf,
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, mld_v_aanwezigkenmerkopdr gb
|
||
WHERE gb.mld_opdr_key = o.mld_opdr_key
|
||
AND gb.mld_kenmerk_key = 83
|
||
AND gb.mld_kenmerkopdr_waarde = fd.fac_usrdata_key) AS eigenaar,
|
||
mld_opdr_kosten opdrachtkosten, fr_bedrag factuurbedrag
|
||
FROM (SELECT o.mld_melding_key
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr opdracht,
|
||
mld_opdr_datumbegin, mld_uitvoerende_keys, mld_melding_key,
|
||
o.mld_opdr_key, mld_opdr_kosten,
|
||
NVL (fin_factuurregel_totaal + fr.fin_factuurregel_btw,
|
||
0
|
||
) fr_bedrag
|
||
FROM fin_factuur f, fin_factuurregel fr, mld_opdr o
|
||
WHERE fr.fin_factuur_key(+) = f.fin_factuur_key
|
||
AND o.mld_opdr_key = f.mld_opdr_key(+)
|
||
AND o.mld_statusopdr_key <> 7
|
||
AND o.mld_typeopdr_key = 5) o
|
||
WHERE mld_opdr_kosten - fr_bedrag > 2500;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_MLD_VERPLICHTING_FIAT
|
||
(OPDRACHT, LOCATIE, FIATTEUR, DATUM, OFFERTE_STATUS, BEDRAG, EIGENAAR)
|
||
AS
|
||
select (select ins_srtdiscipline_prefix from ins_srtdiscipline sd, ins_tab_discipline d, mld_stdmelding std, mld_melding m where
|
||
m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
and std.mld_ins_discipline_key = d.ins_discipline_key
|
||
and d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
and m.mld_melding_key = o.mld_melding_key) || o.mld_melding_key ||'/' || o.MLD_OPDR_BEDRIJFOPDR_VOLGNR
|
||
, (select alg_locatie_code
|
||
from alg_locatie l, mld_melding m
|
||
where l.alg_locatie_key = m.mld_alg_locatie_key
|
||
and o.mld_melding_key = m.mld_melding_key) as locatie
|
||
, NVL((select prs_bedrijf_naam from prs_bedrijf where prs_bedrijf_key = o.MLD_UITVOERENDE_KEYS),
|
||
(select prs_perslid_naam from prs_perslid where prs_perslid_key = o.MLD_UITVOERENDE_KEYS)) as bedrijf
|
||
, (select TO_CHAR(MLD_OPDR_DATUMBEGIN,'DD-MM-YYYY') from mld_opdr where mld_melding_key = o.mld_melding_key) as OpdrDatum
|
||
, ud.FAC_USRDATA_OMSCHR
|
||
, TO_CHAR(nvl(bed.MLD_KENMERKOPDR_WAARDE,0),'9999990D00') as Openstaand
|
||
, (select fd.fac_usrdata_omschr
|
||
from fac_usrdata fd, MLD_V_AANWEZIGKENMERKOPDR gb, mld_opdr opdr
|
||
where gb.mld_opdr_key = opdr.mld_opdr_key
|
||
and gb.mld_kenmerk_key = 83
|
||
and opdr.mld_uitvoerende_keys = o.MLD_UITVOERENDE_KEYS
|
||
and gb.mld_kenmerkopdr_waarde = fd.fac_usrdata_key
|
||
and rownum = 1) as Eigenaar
|
||
from mld_opdr o, MLD_V_AANWEZIGKENMERKOPDR ko , fac_usrdata ud, MLD_V_AANWEZIGKENMERKOPDR bed
|
||
where o.MLD_TYPEOPDR_KEY = 65
|
||
and o.mld_opdr_key = ko.mld_opdr_key(+)
|
||
and ko.MLD_KENMERK_KEY(+) = 69
|
||
and ud.fac_usrdata_key(+) = ko.mld_kenmerkopdr_waarde
|
||
and bed.mld_kenmerk_key(+) = 445
|
||
and o.mld_opdr_key = bed.mld_opdr_key(+)
|
||
and o.mld_statusopdr_key = 5;
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_rap_tekeningen
|
||
AS
|
||
SELECT alg_locatie_code AS fclt_f_locatie, alg_gebouw_code,
|
||
alg_verdieping_omschrijving, cad_tekening_type,
|
||
cad_tekening_filenaam
|
||
FROM cad_tekening, alg_locatie, alg_gebouw, alg_verdieping AVG
|
||
WHERE cad_tekening.alg_verdieping_key = AVG.alg_verdieping_key
|
||
AND alg_locatie.alg_locatie_key = alg_gebouw.alg_locatie_key
|
||
AND AVG.alg_gebouw_key = alg_gebouw.alg_gebouw_key
|
||
UNION
|
||
SELECT alg_locatie_code AS fclt_f_locatie, '', '', cad_tekening_type,
|
||
cad_tekening_filenaam
|
||
FROM cad_tekening, alg_locatie
|
||
WHERE cad_tekening.alg_verdieping_key = NULL
|
||
AND alg_locatie.alg_locatie_key = cad_tekening.alg_locatie_key;
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_RAP_GROEPLEDEN
|
||
(NAAM, FCLT_F_LOGIN, FCLT_F_DIVISIE, REGIO, FCLT_F_GROEP, AANTAL_RECHTEN)
|
||
AS
|
||
SELECT p.prs_perslid_naam, p.prs_perslid_oslogin, a1.prs_afdeling_omschrijving, a2.prs_afdeling_omschrijving,
|
||
gr.fac_groep_omschrijving, TO_CHAR(count(*))
|
||
FROM fac_gebruikersgroep gg,
|
||
prs_v_aanwezigperslid p,
|
||
prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_v_afdeling_boom ab,
|
||
fac_groep gr,
|
||
fac_groeprechten grr
|
||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 = a1.prs_afdeling_key
|
||
AND ab.prs_afdeling_key2 = a2.prs_afdeling_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND gr.FAC_GROEP_KEY = grr.fac_groep_key
|
||
GROUP BY p.prs_perslid_naam, p.prs_perslid_oslogin,
|
||
gr.fac_groep_omschrijving, a1.prs_afdeling_omschrijving, a2.prs_afdeling_omschrijving;
|
||
|
||
-- CONN#546
|
||
CREATE OR REPLACE VIEW conn_v_contracten_gegevens (contractnr,
|
||
externnr,
|
||
fclt_f_bedrijf,
|
||
ingangsdatum,
|
||
einddatum,
|
||
bedrag
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (c.cnt_contract_key) contractnr,
|
||
c.cnt_contract_nummer externnr,
|
||
NVL (b.prs_bedrijf_naam, afd2.prs_afdeling_naam) fclt_f_bedrijf,
|
||
TO_CHAR (c.cnt_contract_looptijd_van, 'DD-MM-YYYY') ingangsdatum,
|
||
TO_CHAR (c.cnt_contract_looptijd_tot, 'DD-MM-YYYY') einddatum,
|
||
kc.cnt_kenmerkcontract_waarde bedrag
|
||
FROM prs_v_aanwezigbedrijf b,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigafdeling afd,
|
||
prs_v_aanwezigafdeling afd2,
|
||
cnt_disc_params cdp,
|
||
(SELECT cnt_contract_key, cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
|
||
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = 24
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL) kc
|
||
WHERE b.prs_bedrijf_key(+) = c.cnt_prs_bedrijf_key
|
||
AND cdp.cnt_ins_discipline_key = c.ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type <> 2
|
||
AND c.cnt_prs_afdeling_key = afd2.prs_afdeling_key(+)
|
||
AND afd.prs_afdeling_key = c.prs_afdeling_key_eig
|
||
AND c.cnt_contract_key = kc.cnt_contract_key(+)
|
||
AND SYSDATE BETWEEN c.cnt_contract_looptijd_van
|
||
AND c.cnt_contract_looptijd_tot + 1;
|
||
|
||
|
||
/* Formatted on 2005/09/13 14:07 (Formatter Plus v4.8.5) */
|
||
CREATE OR REPLACE VIEW conn_v_rcontracten_gegevens (fclt_f_locatie,
|
||
OBJECT,
|
||
externnr,
|
||
beschrijving,
|
||
einddatum,
|
||
uitvoerder,
|
||
contractnemer,
|
||
betalingsvoorwaarden,
|
||
totaal_pj,
|
||
facturatietermijn,
|
||
dienstverlening_afroep,
|
||
dienstverlening_periodiek,
|
||
responsetijden,
|
||
afspraken
|
||
)
|
||
AS
|
||
SELECT NVL (l.alg_locatie_omschrijving, g.alg_locatie_omschrijving) fclt_f_locatie,
|
||
sd.ins_srtdeel_omschrijving OBJECT, c.cnt_contract_nummer externnr, c.cnt_contract_omschrijving beschrijving,
|
||
c.cnt_contract_looptijd_tot einddatum, b.prs_bedrijf_naam uitvoerder,
|
||
(SELECT prs_bedrijf_naam
|
||
FROM prs_v_contractbedrijf
|
||
WHERE prs_bedrijf_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 141
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) contractnemer,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 143
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) betalingsvoorwaarden,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 144
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) totaal_pj,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 145
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) facturatietermijn,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 146
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) dienstverlening_afroep,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 147
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL)) dienstverlening_periodiek,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 149
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) responsetijden,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract k
|
||
WHERE k.cnt_kenmerk_key = 161
|
||
AND k.cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) afspraken
|
||
FROM cnt_v_aanwezigcontract_plaats cp,
|
||
(SELECT g2.alg_gebouw_key, l2.alg_locatie_omschrijving
|
||
FROM alg_gebouw g2, alg_locatie l2
|
||
WHERE g2.alg_locatie_key = l2.alg_locatie_key) g,
|
||
alg_locatie l,
|
||
cnt_contract c,
|
||
cnt_contract_object co,
|
||
prs_bedrijf b,
|
||
ins_srtdeel sd,
|
||
cnt_disc_params cdp
|
||
WHERE cp.cnt_alg_plaats_key = g.alg_gebouw_key(+)
|
||
AND cp.cnt_alg_plaats_key = l.alg_locatie_key(+)
|
||
AND cp.cnt_alg_plaats_code IN ('L', 'G')
|
||
AND cp.cnt_contract_key = c.cnt_contract_key
|
||
AND co.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = cdp.cnt_ins_discipline_key
|
||
AND cdp.cnt_srtcontract_type = 3
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND co.cnt_ins_srtdeel_key = sd.ins_srtdeel_key;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
-- CONN#581
|
||
CREATE OR REPLACE VIEW conn_v_bedrijf
|
||
AS
|
||
SELECT b.prs_bedrijf_naam fclt_f_Bedrijfsnaam,
|
||
b.prs_leverancier_nr fclt_f_Leveranciersnummer, b.prs_bedrijf_email,
|
||
a.prs_bedrijfadres_url, a.prs_bedrijfadres_xsl
|
||
FROM prs_bedrijf b
|
||
, prs_bedrijfadres a
|
||
WHERE b.prs_bedrijf_key = a.prs_bedrijf_key
|
||
AND a.prs_bedrijfadres_type = 'B'
|
||
AND b.prs_bedrijf_verwijder IS NULL;
|
||
/
|
||
|
||
|
||
--CONN#599/CONN#14138
|
||
/* Formatted on 11-6-2010 16:57:33 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_opdr_doorloop
|
||
(
|
||
nr,
|
||
fclt_f_maand,
|
||
fclt_f_locatie,
|
||
gemeld,
|
||
uitgegeven,
|
||
reactietijd,
|
||
afgemeld,
|
||
doorlooptijd
|
||
)
|
||
AS
|
||
SELECT o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr,
|
||
TO_CHAR (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key), 'yymm'),
|
||
(SELECT alg_locatie_code
|
||
FROM alg_locatie l, mld_melding m
|
||
WHERE o.mld_melding_key = m.mld_melding_key AND m.mld_alg_locatie_key = l.alg_locatie_key),
|
||
m.mld_melding_datum,
|
||
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key),
|
||
TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key)) - TRUNC (m.mld_melding_datum),
|
||
NVL (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), TO_DATE ('29991231', 'yyyymmdd')),
|
||
TRUNC (NVL (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), TO_DATE ('29991231', 'yyyymmdd')))
|
||
- TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
|
||
FROM mld_opdr o, mld_melding m, mld_stdmelding std
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = 163;
|
||
|
||
|
||
|
||
|
||
-- CONN#656
|
||
CREATE OR REPLACE PACKAGE CONN_HALTES AS
|
||
|
||
|
||
FUNCTION get_halte_key
|
||
(p_haltecode IN VARCHAR2
|
||
,p_kenmerk_key IN NUMBER
|
||
) return NUMBER;
|
||
|
||
FUNCTION verwerk_halte
|
||
(p_HALTECODE IN VARCHAR2
|
||
,p_HALTENAAM IN VARCHAR2
|
||
,p_PLAATSNAAM IN VARCHAR2
|
||
,p_PLACECODE IN VARCHAR2
|
||
,p_ZONE IN VARCHAR2
|
||
,p_X_COORDINAAT IN VARCHAR2
|
||
,p_Y_COORDINAAT IN VARCHAR2
|
||
,p_LIJNNUMMER IN VARCHAR2
|
||
) return NUMBER;
|
||
|
||
|
||
END CONN_HALTES;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY CONN_HALTES AS
|
||
|
||
FUNCTION get_halte_key
|
||
(p_haltecode IN VARCHAR2
|
||
,p_kenmerk_key IN NUMBER
|
||
) return NUMBER
|
||
IS
|
||
|
||
v_result NUMBER(10);
|
||
v_count NUMBER(10);
|
||
|
||
BEGIN
|
||
|
||
-- Init
|
||
v_result := 0;
|
||
|
||
select count(*)
|
||
into v_count
|
||
from ins_deel
|
||
where ins_deel_verwijder is null
|
||
and substr(ins_deel_upper,2,8) = UPPER(p_haltecode);
|
||
|
||
IF (v_count = 1) THEN
|
||
|
||
select ins_deel_key
|
||
into v_result
|
||
from ins_deel
|
||
where ins_deel_verwijder is null
|
||
and substr(ins_deel_upper,2,8) = UPPER(p_haltecode);
|
||
|
||
ELSE
|
||
|
||
select count(*)
|
||
into v_count
|
||
FROM ins_deel d, ins_kenmerkdeel kd
|
||
WHERE d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = p_kenmerk_key
|
||
AND UPPER(kd.ins_kenmerkdeel_waarde) = UPPER(p_haltecode)
|
||
AND ins_kenmerkdeel_verwijder is null;
|
||
|
||
IF (v_count = 1) THEN
|
||
|
||
select d.ins_deel_key
|
||
into v_result
|
||
FROM ins_deel d, ins_kenmerkdeel kd
|
||
WHERE d.ins_deel_key = kd.ins_deel_key
|
||
AND kd.ins_kenmerk_key = p_kenmerk_key
|
||
AND UPPER(kd.ins_kenmerkdeel_waarde) = UPPER(p_haltecode)
|
||
AND ins_kenmerkdeel_verwijder is null;
|
||
|
||
END IF;
|
||
|
||
END IF;
|
||
|
||
RETURN v_result;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
|
||
RETURN -1;
|
||
|
||
END get_halte_key;
|
||
|
||
|
||
FUNCTION verwerk_halte
|
||
(p_HALTECODE IN VARCHAR2
|
||
,p_HALTENAAM IN VARCHAR2
|
||
,p_PLAATSNAAM IN VARCHAR2
|
||
,p_PLACECODE IN VARCHAR2
|
||
,p_ZONE IN VARCHAR2
|
||
,p_X_COORDINAAT IN VARCHAR2
|
||
,p_Y_COORDINAAT IN VARCHAR2
|
||
,p_LIJNNUMMER IN VARCHAR2
|
||
) return NUMBER
|
||
IS
|
||
|
||
v_DEEL_OMSCHRIJVING VARCHAR2(30);
|
||
v_HALTENAAM VARCHAR2(40);
|
||
v_HALTECODE VARCHAR2(8);
|
||
v_PLAATSNAAM VARCHAR2(30);
|
||
v_PLACECODE VARCHAR2(10);
|
||
v_ZONE VARCHAR2(10);
|
||
v_X_COORDINAAT VARCHAR2(10);
|
||
v_Y_COORDINAAT VARCHAR2(10);
|
||
v_LIJNNUMMER VARCHAR2(200);
|
||
|
||
ORACLE_err_num NUMBER;
|
||
ORACLE_err_mes VARCHAR2(100);
|
||
v_result NUMBER(10);
|
||
v_errormsg VARCHAR2(1000);
|
||
v_import_row VARCHAR2(1000);
|
||
v_count NUMBER(10);
|
||
v_terreinsector_key NUMBER(10);
|
||
v_ins_deel_key NUMBER(10);
|
||
|
||
c_error_result NUMBER(10) := -1;
|
||
|
||
-- Constanten: diversen
|
||
c_srtdeel_key INTEGER := 43401; -- Halte
|
||
c_srtdeel_module VARCHAR2 (3) := 'INS';
|
||
c_locatie_key_onbekend INTEGER := 3123;
|
||
c_ruimte_type VARCHAR2 (1) := 'T';
|
||
c_halte_prefix VARCHAR2 (1) := 'H';
|
||
|
||
-- Constanten: kenmerken key's
|
||
c_halte_code INTEGER := 501;
|
||
c_zone_kenmerk_key INTEGER := 503;
|
||
c_place_kenmerk_key INTEGER := 541;
|
||
c_plaatsnaam_kenmerk_key INTEGER := 502;
|
||
c_haltenaam_kenmerk_key INTEGER := 504;
|
||
c_Lijnnummer1_kenmerk_key INTEGER := 601;
|
||
|
||
BEGIN
|
||
|
||
-- INIT
|
||
v_result := c_error_result;
|
||
v_errormsg := 'INIT';
|
||
v_import_row := p_HALTECODE||'|'||p_HALTENAAM||'|'||p_PLAATSNAAM||'|'||p_PLACECODE||'|'||p_ZONE||'|'||p_X_COORDINAAT||'|'||p_Y_COORDINAAT||'|'||p_LIJNNUMMER;
|
||
v_terreinsector_key := -1;
|
||
|
||
v_HALTENAAM := substr(p_HALTENAAM,1,40);
|
||
v_HALTECODE := substr(p_HALTECODE,1,8);
|
||
v_PLAATSNAAM := substr(p_PLAATSNAAM,1,30);
|
||
v_PLACECODE := substr(p_PLACECODE,1,10);
|
||
v_ZONE := substr(p_ZONE,1,4);
|
||
v_X_COORDINAAT := substr(p_X_COORDINAAT,1,6);
|
||
v_Y_COORDINAAT := substr(p_Y_COORDINAAT,1,6);
|
||
v_LIJNNUMMER := substr(p_LIJNNUMMER,1,200);
|
||
v_DEEL_OMSCHRIJVING := substr(c_halte_prefix||v_HALTECODE||' '||v_HALTENAAM,1,30);
|
||
|
||
-- controleer of de haltecode wel 8 posities is. Anders gaan we testdata importeren.
|
||
IF length(v_haltecode) <> 8 THEN
|
||
RETURN c_error_result;
|
||
END IF;
|
||
|
||
select get_halte_key(v_HALTECODE,c_halte_code)
|
||
into v_ins_deel_key
|
||
from dual;
|
||
|
||
IF (v_ins_deel_key <= 0) THEN
|
||
|
||
-- alg_terrein
|
||
v_errormsg := '-- Terrein zoeken';
|
||
select count(*)
|
||
into v_count
|
||
from alg_terreinsector
|
||
where alg_terreinsector_verwijder is null
|
||
and alg_terreinsector_upper = upper(substr(v_PLAATSNAAM,1,10))
|
||
and alg_locatie_key = c_locatie_key_onbekend;
|
||
|
||
IF (v_count = 0) THEN
|
||
|
||
v_errormsg := '-- Nieuwe key voor alg_terrein ophalen ';
|
||
|
||
SELECT alg_s_alg_onroerendgoed_keys.NEXTVAL
|
||
INTO v_terreinsector_key
|
||
FROM DUAL;
|
||
|
||
v_errormsg := '-- alg_terrein toevoegen ';
|
||
|
||
INSERT INTO alg_terreinsector
|
||
(alg_locatie_key
|
||
,alg_terreinsector_code
|
||
,alg_terreinsector_naam)
|
||
VALUES
|
||
(c_locatie_key_onbekend
|
||
,SUBSTR(v_PLAATSNAAM,1,10)
|
||
,SUBSTR(v_PLAATSNAAM,1,30));
|
||
|
||
END IF;
|
||
|
||
v_errormsg := '-- Terrein zoeken (2)';
|
||
select alg_terreinsector_key
|
||
into v_terreinsector_key
|
||
from alg_terreinsector
|
||
where alg_terreinsector_verwijder is null
|
||
and alg_terreinsector_upper = upper(substr(v_PLAATSNAAM,1,10))
|
||
and alg_locatie_key = c_locatie_key_onbekend;
|
||
|
||
SELECT ins_s_ins_inst_keys.NEXTVAL
|
||
INTO v_ins_deel_key
|
||
FROM DUAL;
|
||
|
||
v_errormsg := '-- Toevoegen halte ';
|
||
|
||
insert into INS_DEEL
|
||
(ins_deel_key
|
||
,ins_srtdeel_key
|
||
,ins_deel_module
|
||
,ins_alg_ruimte_key
|
||
,ins_alg_ruimte_type
|
||
,ins_deel_omschrijving
|
||
, ins_deel_x
|
||
, ins_deel_y)
|
||
values
|
||
(v_ins_deel_key
|
||
,c_srtdeel_key
|
||
,c_srtdeel_module
|
||
,v_terreinsector_key
|
||
,c_ruimte_type
|
||
,v_DEEL_OMSCHRIJVING
|
||
,Fac.safe_to_number(v_X_COORDINAAT)
|
||
,Fac.safe_to_number(v_Y_COORDINAAT));
|
||
|
||
ELSE
|
||
|
||
v_errormsg := '-- Update bestaande halte ';
|
||
|
||
update ins_deel
|
||
set ins_deel_omschrijving = v_DEEL_OMSCHRIJVING
|
||
where ins_deel_key = v_ins_deel_key;
|
||
|
||
END IF;
|
||
|
||
v_result := v_ins_deel_key;
|
||
|
||
v_errormsg := '-- Verwijder eventueel bestaande flexibele kenmerken die relevant zijn voor de koppeling';
|
||
|
||
DELETE
|
||
FROM ins_kenmerkdeel
|
||
WHERE ins_deel_key = v_ins_deel_key
|
||
AND ins_kenmerk_key in (c_halte_code,c_zone_kenmerk_key,c_place_kenmerk_key,c_plaatsnaam_kenmerk_key,c_haltenaam_kenmerk_key,c_Lijnnummer1_kenmerk_key);
|
||
|
||
|
||
-- c_halte_code
|
||
v_errormsg := '--C-- flexprops Halte code toevoegen met kenmerk_key = <'||to_char(c_Halte_code)||'> en deel_key = <'||to_char(v_ins_deel_key)||'> en v_HALTECODE = <'||substr(v_HALTECODE,1,8)||'>';
|
||
IF v_HALTECODE IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_Halte_code
|
||
, v_ins_deel_key
|
||
, substr(v_HALTECODE,1,8));
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_zone_kenmerk_key
|
||
v_errormsg := '--N-- flexprops Zone toevoegen';
|
||
IF v_ZONE IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_zone_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_ZONE);
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_place_kenmerk_key
|
||
v_errormsg := '--C-- flexprops Placecode toevoegen';
|
||
IF v_PLACECODE IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_place_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_PLACECODE);
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_plaatsnaam_kenmerk_key
|
||
v_errormsg := '--C-- flexprops Plaatsnaam toevoegen';
|
||
IF v_PLAATSNAAM IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_plaatsnaam_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_PLAATSNAAM);
|
||
|
||
END IF;
|
||
|
||
|
||
-- c_haltenaam_kenmerk_key
|
||
v_errormsg := '--N-- flexprops Haltenaam toevoegen';
|
||
IF v_HALTENAAM IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_haltenaam_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_HALTENAAM);
|
||
|
||
END IF;
|
||
|
||
|
||
|
||
-- c_Lijnnummer1_kenmerk_key
|
||
v_errormsg := '--N-- flexprops passerende lijnen toevoegen';
|
||
IF v_LIJNNUMMER IS NOT NULL THEN
|
||
|
||
INSERT INTO ins_kenmerkdeel
|
||
( ins_kenmerk_key
|
||
, ins_deel_Key
|
||
, ins_kenmerkdeel_waarde)
|
||
VALUES(c_Lijnnummer1_kenmerk_key
|
||
, v_ins_deel_key
|
||
, v_LIJNNUMMER);
|
||
|
||
END IF;
|
||
|
||
RETURN v_result;
|
||
|
||
EXCEPTION WHEN OTHERS THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := v_errormsg || ' ' ||
|
||
'(ORACLE error ' || to_char(oracle_err_num) || '/' || oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog ('VERWERK_HALTE',
|
||
'E',
|
||
v_errormsg,
|
||
v_import_row
|
||
);
|
||
|
||
RETURN c_error_result;
|
||
|
||
END verwerk_halte;
|
||
|
||
END CONN_HALTES;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_rap_chalte_import AS
|
||
SELECT imp_log_omschrijving melding, TO_CHAR(imp_log_datum,'DD-MM-YYYY') datum_import, imp_log_hint importregel
|
||
FROM imp_log
|
||
WHERE imp_log_applicatie = 'VERWERK_HALTE'
|
||
ORDER BY imp_log_datum DESC;
|
||
/
|
||
|
||
--//////////////////////////////////////////////////////////////////////////////////CONN#668
|
||
-- Somewhat under construction
|
||
-- gewijzigde export op basis van gen_export agv FIN module.
|
||
-- Schrijft opdrachtgegevens naar file van opdrachten waarvan facturen zijn gefiatteerd
|
||
-- Er worden 2 files gegenereerd, voor Coda en voor Navision, welke regel waarin komt
|
||
-- wordt bepaald aan de hand van de eerste letter van de kostensoort.
|
||
--
|
||
-- TODO:
|
||
-- post-importzaken: AV verklaren van meldingen etc??
|
||
-- Voor facturen/deelfacturen wordt het totaalfactuurbedrag vereist in de exportfile,
|
||
-- om aan te kunnen geven dat er betaald kan worden. Dit factuurtotaal wordt berekend
|
||
-- door de som van alle facturen met hetzelfde factuurnummer en van dezelfde leverancier
|
||
-- te nemen, ongeacht de fiatteringsstatus. Dit is waarschijnlijk het bedrag inclusief BTW (?).
|
||
|
||
-- Tabellen voor de exporteren van factuurgegevens (naar C=Coda en N=Navision)
|
||
CREATE OR REPLACE VIEW CONN_V_EXP_BES
|
||
(ORDERNR, FACTUURNR, LEVERANCIERSNR, FACTUURDATUM, BOEKINGSDATUM,
|
||
SPREIDENOVER, KOSTENSOORT, FACREGELOMS, LOCATIENR, BUDGETCODE,
|
||
HUURDERNR, AANTAL, PRIJS, VERDEELPERIODE, BTWTYPE,
|
||
TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
AS
|
||
SELECT TO_CHAR (bo.bes_bestelopdr_key) OrderNr,
|
||
f.fin_factuur_nr FactNr,
|
||
b.prs_leverancier_nr LeverancNr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD') FactDatum,
|
||
'' BoekDatum,
|
||
'' SpreidenOver,
|
||
COALESCE(kfr.prs_kostensoort_oms, ks.prs_kostensoort_oms, kst.prs_kostensoort_oms) KostenSoort,
|
||
fr.fin_factuurregel_omschrijving Omschrijving,
|
||
fr.fin_factuurregel_referentie KostenPlaats,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, 1 ,INSTR(k.prs_kostenplaats_nr, '/', 1, 1)-1)
|
||
FROM dual) BudgetCode,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, INSTR(k.prs_kostenplaats_nr, '/', 1, 1)+1)
|
||
FROM dual) Huurder,
|
||
SUM(boi.bes_bestelopdr_item_aantal) Aantal,
|
||
fr.fin_factuurregel_totaal KostPrijs, --SUM(boi.bes_bestelopdr_item_prijs) KostPrijs,
|
||
COALESCE (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')) VerdeelPeriode,
|
||
DECODE (fr.fin_factuurregel_totaal,
|
||
0, '0',
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0')
|
||
) BTWtype,
|
||
(f.fin_factuur_totaal + f.fin_factuur_totaal_BTW) TotBedrFactuur,
|
||
f.fin_factuur_debiteur_nr OnsKlantNr,
|
||
'FB' Bedrijf,
|
||
f.fin_factuur_key
|
||
FROM bes_bestelopdr bo,
|
||
prs_bedrijf b,
|
||
bes_bestelling bes,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
prs_kostenplaats k,
|
||
fin_factuur f,
|
||
fin_factuurregel fr,
|
||
prs_kostensoort kfr,
|
||
prs_kostensoort ks,
|
||
bes_srtdeel isd,
|
||
bes_srtgroep isg,
|
||
ins_tab_discipline itd,
|
||
prs_kostensoort kst
|
||
WHERE b.prs_bedrijf_key = bo.prs_bedrijf_key
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND bes.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND k.prs_kostenplaats_key = bes.prs_kostenplaats_key
|
||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND f.fin_factuur_statuses_key = 6
|
||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||
AND fr.prs_kostensoort_key = kfr.prs_kostensoort_key(+)
|
||
AND kst.prs_kostensoort_key = itd.prs_kostensoort_key
|
||
AND itd.ins_discipline_key = isg.ins_discipline_key
|
||
AND isg.bes_srtgroep_key = isd.bes_srtgroep_key
|
||
AND isd.bes_srtdeel_key = bi.bes_srtdeel_key
|
||
GROUP BY TO_CHAR (bo.bes_bestelopdr_key),
|
||
f.fin_factuur_nr,
|
||
b.prs_leverancier_nr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD'),
|
||
COALESCE(kfr.prs_kostensoort_oms, ks.prs_kostensoort_oms, kst.prs_kostensoort_oms),
|
||
fr.fin_factuurregel_omschrijving,
|
||
fr.fin_factuurregel_referentie,
|
||
k.prs_kostenplaats_nr,
|
||
fr.fin_factuurregel_totaal,
|
||
COALESCE (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')),
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0'),
|
||
f.fin_factuur_totaal_btw,
|
||
f.fin_factuur_totaal,
|
||
f.fin_factuur_debiteur_nr,
|
||
f.fin_factuur_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXP_CNT
|
||
(ORDERNR, FACTUURNR, LEVERANCIERSNR, FACTUURDATUM, BOEKINGSDATUM,
|
||
SPREIDENOVER, KOSTENSOORT, FACREGELOMS, LOCATIENR, BUDGETCODE,
|
||
HUURDERNR, AANTAL, PRIJS, VERDEELPERIODE, BTWTYPE,
|
||
TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY)
|
||
AS
|
||
SELECT 'C' || c.cnt_contract_nummer_intern opdrachtnr,
|
||
f.fin_factuur_nr FactNr,
|
||
b.prs_leverancier_nr LeverancNr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD') FactDatum,
|
||
'' BoekDatum,
|
||
'' SpreidenOver,
|
||
COALESCE(kfr.prs_kostensoort_oms, ks.prs_kostensoort_oms, kst.prs_kostensoort_oms) KostenSoort,
|
||
fr.fin_factuurregel_omschrijving Omschrijving,
|
||
fr.fin_factuurregel_referentie KostenPlaats,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, 1 ,INSTR(k.prs_kostenplaats_nr, '/', 1, 1)-1)
|
||
FROM dual) BudgetCode,
|
||
'' Huurder,
|
||
1 Aantal,
|
||
fr.fin_factuurregel_totaal KostPrijs, --SUM(boi.bes_bestelopdr_item_prijs) KostPrijs,
|
||
COALESCE (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')) VerdeelPeriode,
|
||
DECODE (fr.fin_factuurregel_totaal,
|
||
0, '0',
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0')
|
||
) BTWtype,
|
||
(f.fin_factuur_totaal + f.fin_factuur_totaal_BTW) TotBedrFactuur,
|
||
f.fin_factuur_debiteur_nr OnsKlantNr,
|
||
'FB' Bedrijf,
|
||
f.fin_factuur_key
|
||
FROM prs_bedrijf b,
|
||
cnt_contract c,
|
||
prs_kostenplaats k,
|
||
prs_kostensoort ks,
|
||
prs_kostensoort kst,
|
||
fin_factuur f,
|
||
fin_factuurregel fr,
|
||
prs_kostensoort kfr
|
||
WHERE f.cnt_contract_key = c.cnt_contract_key
|
||
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||
AND c.prs_kostensoort_key = kst.prs_kostensoort_key(+)
|
||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND fr.fin_factuur_key = f.fin_factuur_key
|
||
AND fr.prs_kostensoort_key = kfr.prs_kostensoort_key(+)
|
||
AND f.fin_factuur_statuses_key = 6;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXP_MLD
|
||
(ORDERNR, FACTUURNR, LEVERANCIERSNR, FACTUURDATUM, BOEKINGSDATUM,
|
||
SPREIDENOVER, KOSTENSOORT, FACREGELOMS, LOCATIENR, BUDGETCODE,
|
||
HUURDERNR, AANTAL, PRIJS, VERDEELPERIODE, BTWTYPE,
|
||
TOTAAL, KLANTNR, EIGENAAR, FIN_FACTUUR_KEY, PRS_KOSTENPLAATS_MODULE, PRS_KOSTENPLAATS_NR)
|
||
AS
|
||
SELECT sdi.ins_srtdiscipline_prefix || o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdrachtnr,
|
||
f.fin_factuur_nr FactNr,
|
||
b.prs_leverancier_nr LeverancNr,
|
||
TO_CHAR (f.fin_factuur_datum, 'YYYYMMDD') FactDatum,
|
||
'' BoekDatum, -- mld_kenmerk_key = 131 , wordt niet meer gebruikt
|
||
'' SpreidenOver,
|
||
COALESCE(kfr.prs_kostensoort_oms, ks.prs_kostensoort_oms,
|
||
COALESCE((SELECT prs_kostensoort_oms
|
||
FROM prs_kostensoort kst
|
||
WHERE kst.prs_kostensoort_key = stdm.prs_kostensoort_key),
|
||
(SELECT kst.prs_kostensoort_oms
|
||
FROM prs_kostensoort kst
|
||
WHERE kst.prs_kostensoort_key = di.prs_kostensoort_key))) KostenSoort,
|
||
fr.fin_factuurregel_omschrijving Omschrijving,
|
||
fr.fin_factuurregel_referentie KostenPlaats,
|
||
(SELECT SUBSTR(k.prs_kostenplaats_nr, 1 ,INSTR(k.prs_kostenplaats_nr, '/', 1, 1)-1)
|
||
FROM dual) BudgetCode,
|
||
DECODE(mld_kosten_klant, 1, (SELECT SUBSTR(k.prs_kostenplaats_nr, INSTR(k.prs_kostenplaats_nr, '/', 1, 1)+1)
|
||
FROM dual), '') Huurder,
|
||
1 Aantal,
|
||
fr.fin_factuurregel_totaal KostPrijs,
|
||
COALESCE (fin_factuur_boekmaand, TO_CHAR (f.fin_factuur_datum, 'YYYY-MM')) VerdeelPeriode,
|
||
DECODE (fr.fin_factuurregel_totaal,
|
||
0, '0',
|
||
DECODE (ROUND(100*fr.fin_factuurregel_btw/fr.fin_factuurregel_totaal), 19, '2',6,'1','0')
|
||
) BTWtype,
|
||
(f.fin_factuur_totaal + f.fin_factuur_totaal_BTW) TotBedrFactuur,
|
||
f.fin_factuur_debiteur_nr OnsKlantNr,
|
||
(SELECT fud.fac_usrdata_omschr
|
||
FROM mld_kenmerkopdr v,
|
||
fac_usrdata fud
|
||
WHERE v.mld_kenmerkopdr_waarde = fud.fac_usrdata_key
|
||
AND v.mld_opdr_key = o.mld_opdr_key
|
||
AND v.mld_kenmerk_key = 83) Bedrijf,
|
||
f.fin_factuur_key,
|
||
prs_kostenplaats_module,
|
||
prs_kostenplaats_nr
|
||
FROM mld_opdr o,
|
||
prs_bedrijf b,
|
||
mld_melding m,
|
||
prs_kostenplaats k,
|
||
fin_factuur f,
|
||
fin_factuurregel fr,
|
||
prs_kostensoort kfr,
|
||
alg_locatie l,
|
||
mld_stdmelding stdm,
|
||
ins_tab_discipline di,
|
||
ins_srtdiscipline sdi,
|
||
prs_kostensoort ks
|
||
WHERE b.prs_bedrijf_key = o.mld_uitvoerende_keys
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND k.prs_kostenplaats_key = o.prs_kostenplaats_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND f.mld_opdr_key = o.mld_opdr_key
|
||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||
AND fr.prs_kostensoort_key = kfr.prs_kostensoort_key(+)
|
||
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
|
||
AND di.ins_discipline_key = stdm.mld_ins_discipline_key
|
||
AND sdi.ins_srtdiscipline_key = di.ins_srtdiscipline_key
|
||
AND f.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND f.fin_factuur_statuses_key = 6
|
||
ORDER BY 1, 2;
|
||
|
||
|
||
|
||
-- Procedure voor de import van facturen (van leverancier of basware)
|
||
CREATE OR REPLACE PROCEDURE conn_import_factuur (
|
||
p_import_key IN NUMBER
|
||
)
|
||
AS
|
||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||
v_field VARCHAR2 (100);
|
||
v_fielddelimitor VARCHAR2 (1);
|
||
v_errormsg VARCHAR (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
-- De velden op de eerste regel
|
||
v_totbedrfact VARCHAR2 (100);
|
||
v_totbedrfactvalue VARCHAR2 (100);
|
||
-- De importvelden
|
||
v_empty VARCHAR2 (100);
|
||
v_onsklantnr VARCHAR2 (100);
|
||
v_ordernr VARCHAR2 (100);
|
||
v_leveranciernr VARCHAR2 (100);
|
||
v_factuurnr VARCHAR2 (100);
|
||
v_factuurdatum VARCHAR2 (100);
|
||
v_aantal VARCHAR2 (100);
|
||
v_kostprijs VARCHAR2 (100);
|
||
v_btw VARCHAR2 (100);
|
||
v_btw_bedrag VARCHAR2 (100);
|
||
v_docid VARCHAR2 (100);
|
||
v_locatie VARCHAR2 (100);
|
||
v_afleverdatum VARCHAR2 (100);
|
||
v_omschrijving VARCHAR2 (100);
|
||
v_check_dec_sign NUMBER(5,2);
|
||
|
||
CURSOR cfactuur
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY FAC_IMP_FILE_INDEX;
|
||
|
||
v_rec cfactuur%rowtype;
|
||
|
||
BEGIN
|
||
-- Init
|
||
v_fielddelimitor := ';';
|
||
header_is_valid := 0;
|
||
|
||
DELETE FROM conn_imp_factuur;
|
||
|
||
-- check the client decimal settings
|
||
-- we do not convert the , to a . if the client decimal separator is a ,
|
||
SELECT FAC.SAFE_TO_NUMBER('2,5')
|
||
INTO v_check_dec_sign
|
||
FROM DUAL;
|
||
|
||
fac.imp_writelog (p_import_key, 'S',
|
||
'Cxx factuurimport $Revision$', '');
|
||
|
||
OPEN cfactuur;
|
||
IF cfactuur%ISOPEN THEN
|
||
LOOP
|
||
BEGIN
|
||
FETCH cfactuur INTO v_rec;
|
||
EXIT WHEN cfactuur%NOTFOUND;
|
||
|
||
v_newline := v_rec.fac_imp_file_line;
|
||
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_leveranciernr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurnr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_factuurdatum);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_empty);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_ordernr);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_locatie);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_afleverdatum);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_omschrijving);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_aantal);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_kostprijs);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw_bedrag);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_btw);
|
||
fac.imp_getfield (v_newline, v_fielddelimitor, v_docid);
|
||
|
||
IF v_check_dec_sign IS NULL THEN
|
||
v_kostprijs := REPLACE (SUBSTR (v_kostprijs, 1, 11), ',', '.');
|
||
v_btw_bedrag := REPLACE (SUBSTR (v_btw_bedrag, 1, 11), ',', '.');
|
||
v_aantal := REPLACE (SUBSTR (v_aantal, 1, 11), ',', '.');
|
||
ELSE
|
||
v_kostprijs := SUBSTR (v_kostprijs, 1, 11);
|
||
v_btw_bedrag := SUBSTR (v_btw_bedrag, 1, 11);
|
||
v_aantal := SUBSTR (v_aantal, 1, 11);
|
||
END IF;
|
||
|
||
-- CONN#17357 en CONN#16819:
|
||
-- Voorkom invalid number error door een '-' in btw_bedrag
|
||
IF ( TRIM(v_btw_bedrag) = '-' )
|
||
THEN
|
||
v_btw_bedrag := '0';
|
||
fac.imp_writelog (p_import_key, 'I',
|
||
'BTW-bedrag ''-'' vervangen door ''0''',
|
||
SUBSTR (v_ordernr, 1, 13)||' / '||SUBSTR (v_factuurnr, 1, 10) );
|
||
END IF;
|
||
|
||
INSERT INTO conn_imp_factuur
|
||
(debiteurnr,
|
||
ordernr,
|
||
leveranciernr,
|
||
factuurnr,
|
||
factuurdatum,
|
||
aantal,
|
||
kostprijs,
|
||
btw,
|
||
btw_bedrag,
|
||
locatie,
|
||
afleverdatum,
|
||
omschrijving,
|
||
docid
|
||
)
|
||
VALUES (SUBSTR (v_onsklantnr, 1, 30),
|
||
SUBSTR (v_ordernr, 1, 13),
|
||
UPPER(SUBSTR (v_leveranciernr, 1, 10)),
|
||
SUBSTR (v_factuurnr, 1, 10),
|
||
SUBSTR (v_factuurdatum, 1, 8),
|
||
SUBSTR (v_aantal, 1, 10),
|
||
v_kostprijs,
|
||
SUBSTR (v_btw, 1, 2),
|
||
v_btw_bedrag,
|
||
SUBSTR (v_locatie, 1, 4),
|
||
SUBSTR (v_afleverdatum, 1, 8),
|
||
SUBSTR (v_omschrijving, 1, 60),
|
||
SUBSTR (v_docid, 1, 100)
|
||
);
|
||
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_errormsg, '');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE conn_update_factuur (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR congeldig
|
||
IS
|
||
SELECT ordernr, factuurnr,
|
||
aantal, kostprijs, btw, btw_bedrag,
|
||
locatie, omschrijving
|
||
FROM conn_imp_factuur
|
||
WHERE fac.safe_to_number(aantal) IS NULL
|
||
OR fac.safe_to_number(kostprijs) IS NULL
|
||
OR fac.safe_to_number(btw) IS NULL
|
||
OR fac.safe_to_number(btw_bedrag) IS NULL;
|
||
|
||
CURSOR cfactuur
|
||
IS
|
||
SELECT RTRIM (LTRIM (ordernr)) ordernr,
|
||
leveranciernr,
|
||
factuurnr,
|
||
factuurdatum,
|
||
SUM (kostprijs) totaal,
|
||
SUM (btw_bedrag) totaal_btw,
|
||
btw,
|
||
SUBSTR (factuurdatum, 5, 4) fjaar,
|
||
SUBSTR (factuurdatum, 3, 2) fmaand,
|
||
SUBSTR (factuurdatum, 1, 2) fdag,
|
||
debiteurnr, -- wordt nog niets mee gedaan
|
||
SUM (aantal) aantal,
|
||
locatie,
|
||
SUBSTR (afleverdatum, 5, 4) ajaar, -- afleverdatum nodig om opdrachtnummer bij bestelopdrachten te achterhalen indien ordernr niet is meegegeven
|
||
SUBSTR (afleverdatum, 3, 2) amaand,
|
||
SUBSTR (afleverdatum, 1, 2) adag,
|
||
omschrijving,
|
||
SUM (btw_bedrag) btw_bedrag
|
||
FROM conn_imp_factuur
|
||
GROUP BY ordernr,
|
||
leveranciernr,
|
||
factuurnr,
|
||
factuurdatum,
|
||
btw,
|
||
factuurdatum,
|
||
debiteurnr,
|
||
locatie,
|
||
omschrijving,
|
||
afleverdatum
|
||
ORDER BY ordernr, btw DESC;
|
||
|
||
c_i NUMBER;
|
||
c_teller NUMBER;
|
||
c_index NUMBER;
|
||
c_factuurregel NUMBER;
|
||
c_fac_type VARCHAR2 (1);
|
||
c_prefix VARCHAR2 (3);
|
||
c_ordernr_index NUMBER;
|
||
c_ordernr_s1 VARCHAR2 (20);
|
||
c_ordernr_s2 VARCHAR2 (20);
|
||
c_ordernr_t VARCHAR2 (40);
|
||
c_old_ordernr VARCHAR2 (20);
|
||
c_write_ordernr VARCHAR2 (20);
|
||
c_bestelopdr_id VARCHAR2 (20);
|
||
c_totaal NUMBER;
|
||
c_fact_totaal NUMBER;
|
||
c_factuur_totaal NUMBER;
|
||
c_factuur_btw NUMBER;
|
||
c_find BOOLEAN;
|
||
c_find_ordernr BOOLEAN;
|
||
c_mld_opdr_key NUMBER (10);
|
||
c_cnt_contract_key NUMBER (10);
|
||
c_bes_bestelopdr_key NUMBER (10);
|
||
c_prs_bedrijf_naam VARCHAR2 (100);
|
||
c_opmerking VARCHAR2 (150);
|
||
v_desc VARCHAR2(100);
|
||
v_errormsg VARCHAR (200);
|
||
oracle_err_mes VARCHAR2 (150);
|
||
dummy VARCHAR2 (1);
|
||
v_count NUMBER;
|
||
BEGIN
|
||
c_old_ordernr := '';
|
||
c_teller := 0;
|
||
|
||
-- CONN#17357 en CONN#16819:
|
||
-- Voorkom invalid number error voor ongeldige getallen (specifiek een '-' in btw_bedrag)
|
||
-- 1) Zijn er fouten?
|
||
SELECT COUNT (*)
|
||
INTO v_count
|
||
FROM conn_imp_factuur
|
||
WHERE fac.safe_to_number (aantal) IS NULL
|
||
OR fac.safe_to_number (kostprijs) IS NULL
|
||
OR fac.safe_to_number (btw) IS NULL
|
||
OR fac.safe_to_number (btw_bedrag) IS NULL;
|
||
|
||
-- 2a) Rapporteer 'invalid numbers' en be<62>indig import
|
||
IF (v_count > 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E',
|
||
'Ongeldig importbestand; import wordt afgebroken.', 'Corrigeer de genoemde fouten.');
|
||
|
||
FOR rco IN congeldig
|
||
LOOP
|
||
v_desc := rco.ordernr||' / '||rco.factuurnr;
|
||
IF ( COALESCE(fac.safe_to_number(rco.kostprijs), -1) = -1 )
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Ongeldige kostprijs ['||rco.kostprijs||']', v_desc);
|
||
END IF;
|
||
IF ( COALESCE(fac.safe_to_number(rco.btw_bedrag), -1) = -1 )
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Ongeldig BTW-bedrag ['||rco.btw_bedrag||']', v_desc);
|
||
END IF;
|
||
IF ( COALESCE(fac.safe_to_number(rco.aantal), -1) = -1 )
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Ongeldig aantal artikelen ['||rco.aantal||']', v_desc);
|
||
END IF;
|
||
IF ( COALESCE(fac.safe_to_number(rco.btw), -1) = -1 )
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', 'Ongeldig BTW-percentage ['||rco.btw||']', v_desc);
|
||
END IF;
|
||
END LOOP;
|
||
|
||
-- 2b) Geen 'invalid numbers' --> import!
|
||
ELSE
|
||
-- Facturen
|
||
FOR rc IN cfactuur
|
||
LOOP
|
||
IF rc.ordernr = c_old_ordernr
|
||
THEN
|
||
-- voeg alleen nieuwe factuurregel toe die een andere BTW waarde heeft
|
||
-- waarde van c_index is nog steeds actueel
|
||
c_factuurregel := c_factuurregel + 1;
|
||
|
||
BEGIN
|
||
INSERT INTO fin_factuurregel (
|
||
fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie
|
||
)
|
||
VALUES (c_index, c_factuurregel, rc.totaal, rc.totaal_btw, rc.omschrijving, rc.locatie
|
||
);
|
||
|
||
COMMIT;
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Factuurregel ' || c_factuurregel || ' toegevoegd aan factuur ' || c_index,
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Factuur(regel) kan niet toegevoegd worden ' || v_errormsg,
|
||
rc.ordernr || '/' || rc.factuurnr
|
||
);
|
||
END;
|
||
|
||
c_teller := c_teller + 1;
|
||
ELSE
|
||
c_old_ordernr := rc.ordernr;
|
||
c_factuurregel := 1;
|
||
c_ordernr_index := INSTR (rc.ordernr, '/');
|
||
c_totaal := 0;
|
||
c_mld_opdr_key := NULL;
|
||
c_cnt_contract_key := NULL;
|
||
c_bes_bestelopdr_key := NULL;
|
||
|
||
IF c_ordernr_index = 0
|
||
THEN
|
||
c_ordernr_s1 := rc.ordernr;
|
||
c_ordernr_s2 := '';
|
||
ELSE
|
||
c_ordernr_s1 := SUBSTR (rc.ordernr, 1, c_ordernr_index - 1);
|
||
c_ordernr_s2 := SUBSTR (rc.ordernr, c_ordernr_index + 1);
|
||
END IF;
|
||
|
||
c_find := FALSE;
|
||
c_find_ordernr := FALSE;
|
||
c_fac_type := '';
|
||
c_prefix := '';
|
||
|
||
IF (LENGTH (rc.ordernr) > 0)
|
||
THEN
|
||
c_prefix := SUBSTR (rc.ordernr, 1, 1);
|
||
|
||
IF ( ( (ASCII (SUBSTR (c_prefix, 1, 1)) >= 65 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 90)
|
||
OR (ASCII(SUBSTR (c_prefix, 1, 1)) >= 97 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 122))
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 67
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 99)
|
||
THEN
|
||
c_fac_type := 'O'; -- Opdracht (Melding)
|
||
ELSIF (ASCII (SUBSTR (c_prefix, 1, 1)) >= 48 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57)
|
||
THEN
|
||
c_fac_type := 'B'; -- Bestelling
|
||
ELSIF (ASCII (SUBSTR (c_prefix, 1, 1)) = 67 OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99)
|
||
THEN
|
||
c_fac_type := 'C'; -- Contract
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Kan type van factuur niet bepalen ',
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
ELSE
|
||
BEGIN
|
||
-- Probeer opdrachtnummer te achterhalen bij bestelopdrachten
|
||
-- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal
|
||
SELECT bo.bes_bestelopdr_id
|
||
INTO c_bestelopdr_id
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_bestelling bb,
|
||
mld_adres ma,
|
||
alg_locatie l,
|
||
prs_bedrijf b
|
||
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_bestelling_key = bb.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_item_aantal = rc.aantal
|
||
AND bb.bes_bestelling_leverdatum =
|
||
TO_DATE (rc.ajaar || '-' || rc.amaand || '-' || rc.adag || ' 00:00',
|
||
'YYYY-MM-DD HH24:MI'
|
||
)
|
||
AND bo.mld_adres_key_lev = ma.mld_adres_key
|
||
AND ma.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_code = rc.locatie
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_leverancier_nr = rc.leveranciernr;
|
||
|
||
c_find_ordernr := TRUE;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'Kan het bestelopdrachtnummer (OrderNr) niet vinden ' || v_errormsg,
|
||
'?/'
|
||
|| rc.factuurnr
|
||
|| '/'
|
||
|| rc.aantal
|
||
|| '/'
|
||
|| rc.ajaar
|
||
|| '-'
|
||
|| rc.amaand
|
||
|| '-'
|
||
|| rc.adag
|
||
|| '/'
|
||
|| rc.locatie
|
||
|| '/'
|
||
|| rc.leveranciernr
|
||
);
|
||
c_find_ordernr := FALSE;
|
||
END;
|
||
|
||
IF c_find_ordernr
|
||
THEN
|
||
c_ordernr_index := INSTR (c_bestelopdr_id, '/');
|
||
c_totaal := 0;
|
||
|
||
IF c_ordernr_index = 0
|
||
THEN
|
||
c_ordernr_s1 := c_bestelopdr_id;
|
||
c_ordernr_s2 := '';
|
||
ELSE
|
||
c_ordernr_s1 := SUBSTR (c_bestelopdr_id, 1, c_ordernr_index - 1);
|
||
c_ordernr_s2 := SUBSTR (c_bestelopdr_id, c_ordernr_index + 1);
|
||
END IF;
|
||
|
||
c_fac_type := 'B';
|
||
END IF;
|
||
END IF;
|
||
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
IF (c_ordernr_index != 0
|
||
AND (ASCII (SUBSTR (c_prefix, 1, 1)) >= 48 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57))
|
||
-- Er is geen prefix maar het is wel een opdracht
|
||
-- Afgedwongen door /
|
||
THEN
|
||
-- c_ordernr_s2 bevat al het gedeelte na de /
|
||
-- c_ordernr_s1 bevat geen prefix
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := 1;
|
||
|
||
LOOP
|
||
IF (ASCII (SUBSTR (c_ordernr_s1, c_i, 1)) >= 48 AND ASCII (SUBSTR (c_ordernr_s1, c_i, 1)) <= 57)
|
||
THEN
|
||
c_find := TRUE;
|
||
ELSE
|
||
c_i := c_i + 1;
|
||
END IF;
|
||
|
||
EXIT WHEN (c_find OR c_i > LENGTH (c_ordernr_s1));
|
||
END LOOP;
|
||
|
||
IF c_find
|
||
THEN
|
||
c_ordernr_s1 := SUBSTR (c_ordernr_s1, c_i);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Kan OrderNr niet bepalen ',
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
END IF;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- haal prefix 'C' of 'c' eraf
|
||
c_ordernr_s1 := SUBSTR (c_ordernr_s1, 2);
|
||
c_find := TRUE;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
-- geen prefix aanwezig, c_ordernr_s1 is goed
|
||
c_find := TRUE;
|
||
END IF;
|
||
|
||
-- c_ordernr_s1 bevat ordernummer
|
||
-- c_ordernr_s2 bevat volgnummer van de opdracht bij meldingen
|
||
-- Bij bestellingen en contracten is deze waarde leeg
|
||
|
||
-- Vind mld_opdr_key met mld_melding_key
|
||
IF c_fac_type = 'O'
|
||
THEN
|
||
c_cnt_contract_key := NULL;
|
||
c_bes_bestelopdr_key := NULL;
|
||
|
||
BEGIN
|
||
SELECT o.mld_opdr_key
|
||
INTO c_mld_opdr_key
|
||
FROM mld_opdr o
|
||
WHERE o.mld_melding_key = c_ordernr_s1 AND mld_opdr_bedrijfopdr_volgnr = c_ordernr_s2;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Kan de melding referentie niet vinden ' || v_errormsg,
|
||
rc.ordernr || '/' || rc.factuurnr
|
||
);
|
||
c_find := FALSE;
|
||
END;
|
||
ELSIF c_fac_type = 'C'
|
||
THEN
|
||
-- bestaat het contract wel?
|
||
BEGIN
|
||
SELECT cnt_contract_key
|
||
INTO c_cnt_contract_key
|
||
FROM cnt_contract
|
||
WHERE cnt_contract_key = c_ordernr_s1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
c_cnt_contract_key := NULL;
|
||
c_find := FALSE;
|
||
END;
|
||
|
||
c_bes_bestelopdr_key := NULL;
|
||
c_mld_opdr_key := NULL;
|
||
ELSIF c_fac_type = 'B'
|
||
THEN
|
||
c_cnt_contract_key := NULL;
|
||
|
||
-- vind de bestelopdracht key?
|
||
BEGIN
|
||
IF c_ordernr_s2 IS NULL
|
||
THEN
|
||
c_ordernr_t := c_ordernr_s1;
|
||
ELSE
|
||
c_ordernr_t := c_ordernr_s1 || '/' || c_ordernr_s2;
|
||
END IF;
|
||
|
||
SELECT bes_bestelopdr_key
|
||
INTO c_bes_bestelopdr_key
|
||
FROM bes_bestelopdr
|
||
WHERE bes_bestelopdr_id = c_ordernr_t;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
c_bes_bestelopdr_key := NULL;
|
||
c_find := FALSE;
|
||
END;
|
||
|
||
c_mld_opdr_key := NULL;
|
||
END IF;
|
||
|
||
-- CONN#12074 ook facturen die niet gelinkt kunnen worden moeten ingelezen worden.
|
||
-- IF ( (c_fac_type = 'B' OR c_fac_type = 'C' OR c_fac_type = 'O')
|
||
-- AND c_find
|
||
-- )
|
||
-- THEN
|
||
c_opmerking := '';
|
||
|
||
IF NOT c_find
|
||
THEN
|
||
BEGIN
|
||
SELECT prs_bedrijf_naam
|
||
INTO c_prs_bedrijf_naam
|
||
FROM prs_bedrijf
|
||
WHERE prs_leverancier_nr = rc.leveranciernr;
|
||
|
||
c_opmerking := 'Leverancier: ' || c_prs_bedrijf_naam || ' Ontvangen ordernummer: ' || rc.ordernr;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
c_opmerking := 'Leverancier: onbekend' || ' Ontvangen ordernummer: ' || rc.ordernr;
|
||
END;
|
||
END IF;
|
||
|
||
BEGIN
|
||
SELECT fin_s_fin_factuur_key.NEXTVAL INTO c_index FROM DUAL;
|
||
|
||
SELECT SUM (kostprijs) totaal, SUM (btw_bedrag) totaal_btw
|
||
INTO c_factuur_totaal, c_factuur_btw
|
||
FROM conn_imp_factuur
|
||
WHERE LTRIM (RTRIM (ordernr)) = rc.ordernr;
|
||
|
||
INSERT INTO fin_factuur (
|
||
fin_factuur_key,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
mld_opdr_key,
|
||
cnt_contract_key,
|
||
bes_bestelopdr_key,
|
||
prs_perslid_key_user,
|
||
fin_factuur_datum,
|
||
fin_factuur_opmerking,
|
||
fin_factuur_statuses_key,
|
||
fin_factuur_nr,
|
||
fin_factuur_boekmaand,
|
||
fin_factuur_debiteur_nr,
|
||
prs_kostensoort_key
|
||
)
|
||
VALUES (
|
||
c_index,
|
||
c_factuur_totaal,
|
||
c_factuur_btw,
|
||
c_mld_opdr_key,
|
||
c_cnt_contract_key,
|
||
c_bes_bestelopdr_key,
|
||
1042, -- Martin Hanemaaijer
|
||
TO_DATE (rc.fjaar || '-' || rc.fmaand || '-' || rc.fdag || ' 00:00', 'YYYY-MM-DD HH24:MI'),
|
||
'Ge<47>mporteerde factuur ' || c_opmerking,
|
||
2,
|
||
rc.factuurnr,
|
||
rc.fjaar || '-' || rc.fmaand,
|
||
rc.debiteurnr,
|
||
NULL
|
||
);
|
||
|
||
COMMIT;
|
||
|
||
|
||
INSERT INTO fin_factuurregel (
|
||
fin_factuur_key,
|
||
fin_factuurregel_nr,
|
||
fin_factuurregel_totaal,
|
||
fin_factuurregel_btw,
|
||
fin_factuurregel_omschrijving,
|
||
fin_factuurregel_referentie
|
||
)
|
||
VALUES (c_index, c_factuurregel, -- Zal hier altijd 1 zijn
|
||
rc.totaal, rc.totaal_btw, rc.omschrijving, rc.locatie
|
||
);
|
||
|
||
COMMIT;
|
||
|
||
IF c_find_ordernr
|
||
THEN
|
||
c_write_ordernr := c_bestelopdr_id;
|
||
ELSE
|
||
c_write_ordernr := rc.ordernr;
|
||
END IF;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Factuur ' || c_index || ' toegevoegd met factuurregel ' || c_factuurregel,
|
||
c_write_ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Factuur(regel) kan niet toegevoegd worden ' || v_errormsg,
|
||
rc.ordernr || '/' || rc.factuurnr
|
||
);
|
||
END;
|
||
|
||
-- END IF;
|
||
|
||
c_teller := c_teller + 1;
|
||
END IF;
|
||
END LOOP;
|
||
|
||
-- Facturen
|
||
-- Welke bestelling kan afgemeld worden. (Alleen bestellingen kunnen automatisch afgemeld worden)
|
||
FOR rc IN cfactuur
|
||
LOOP
|
||
c_fac_type := '';
|
||
c_prefix := '';
|
||
c_find_ordernr := FALSE;
|
||
|
||
IF (LENGTH (rc.ordernr) > 0)
|
||
THEN
|
||
c_prefix := SUBSTR (rc.ordernr, 1, 1);
|
||
|
||
IF ( ( ( (ASCII (SUBSTR (c_prefix, 1, 1)) >= 65 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 90)
|
||
OR (ASCII(SUBSTR (c_prefix, 1, 1)) >= 97 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 122))
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 67
|
||
AND ASCII (SUBSTR (c_prefix, 1, 1)) != 99))
|
||
THEN
|
||
c_fac_type := 'O'; -- Opdracht (Melidng)
|
||
ELSIF (ASCII (SUBSTR (c_prefix, 1, 1)) >= 48 AND ASCII (SUBSTR (c_prefix, 1, 1)) <= 57)
|
||
THEN
|
||
c_fac_type := 'B'; -- Bestelling
|
||
c_bestelopdr_id := rc.ordernr;
|
||
ELSIF (ASCII (SUBSTR (c_prefix, 1, 1)) = 67 OR ASCII (SUBSTR (c_prefix, 1, 1)) = 99)
|
||
THEN
|
||
c_fac_type := 'C'; -- Contract
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Kan type van factuur niet bepalen ',
|
||
rc.ordernr || ' / ' || rc.factuurnr
|
||
);
|
||
END IF;
|
||
ELSE
|
||
BEGIN
|
||
-- Probeer opdrachtnummer te achterhalen bij bestelopdrachten
|
||
-- met hetzelfde leveranciersnummer, locatie, afleverdatum en aantal
|
||
SELECT bo.bes_bestelopdr_id
|
||
INTO c_bestelopdr_id
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bbi,
|
||
bes_bestelling bb,
|
||
mld_adres ma,
|
||
alg_locatie l,
|
||
prs_bedrijf b
|
||
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bbi.bes_bestelopdr_item_key
|
||
AND bbi.bes_bestelling_key = bb.bes_bestelling_key
|
||
AND boi.bes_bestelopdr_item_aantal = rc.aantal
|
||
AND bb.bes_bestelling_leverdatum =
|
||
TO_DATE (rc.ajaar || '-' || rc.amaand || '-' || rc.adag || ' 00:00', 'YYYY-MM-DD HH24:MI')
|
||
AND bo.mld_adres_key_lev = ma.mld_adres_key
|
||
AND ma.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_code = rc.locatie
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_leverancier_nr = rc.leveranciernr;
|
||
|
||
c_find_ordernr := TRUE;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Kan het bestelopdrachtnummer (OrderNr) niet vinden ' || v_errormsg,
|
||
'?/'
|
||
|| rc.factuurnr
|
||
|| '/'
|
||
|| rc.aantal
|
||
|| '/'
|
||
|| rc.ajaar
|
||
|| '-'
|
||
|| rc.amaand
|
||
|| '-'
|
||
|| rc.adag
|
||
|| '/'
|
||
|| rc.locatie
|
||
|| '/'
|
||
|| rc.leveranciernr
|
||
);
|
||
c_find_ordernr := FALSE;
|
||
END;
|
||
|
||
IF c_find_ordernr
|
||
THEN
|
||
c_fac_type := 'B';
|
||
END IF;
|
||
END IF;
|
||
|
||
IF c_fac_type = 'B'
|
||
THEN
|
||
SELECT SUM (boi.bes_bestelopdr_item_prijs * boi.bes_bestelopdr_item_aantal)
|
||
INTO c_totaal
|
||
FROM bes_bestelopdr b, bes_bestelopdr_item boi
|
||
WHERE boi.bes_bestelopdr_key = b.bes_bestelopdr_key AND b.bes_bestelopdr_id = c_bestelopdr_id;
|
||
|
||
SELECT MAX (fin_factuur_key)
|
||
INTO c_index
|
||
FROM fin_factuur f, bes_bestelopdr bo
|
||
WHERE bo.bes_bestelopdr_key = f.bes_bestelopdr_key AND bo.bes_bestelopdr_id = c_bestelopdr_id;
|
||
|
||
SELECT SUM (fr.fin_factuurregel_totaal)
|
||
INTO c_fact_totaal
|
||
FROM fin_factuur f, fin_factuurregel fr, bes_bestelopdr b
|
||
WHERE f.bes_bestelopdr_key = b.bes_bestelopdr_key
|
||
AND f.fin_factuur_key = fr.fin_factuur_key
|
||
AND b.bes_bestelopdr_id = c_bestelopdr_id;
|
||
|
||
IF c_totaal = c_fact_totaal --c_totaal = rc.totaal
|
||
THEN
|
||
BEGIN
|
||
SELECT ''
|
||
INTO dummy
|
||
FROM fin_factuur
|
||
WHERE fin_factuur_key = c_index
|
||
AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL);
|
||
|
||
UPDATE fin_factuur
|
||
SET fin_factuur_statuses_key = 6
|
||
WHERE fin_factuur_key = c_index;
|
||
|
||
fac.trackaction ('FINFOK', c_index, NULL, NULL, NULL);
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Factuur ' || c_index || ' status op afgemeld gezet ',
|
||
c_bestelopdr_id || ' / ' || rc.factuurnr
|
||
);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
END LOOP;
|
||
END IF; -- invalid numbers
|
||
END;
|
||
/
|
||
|
||
-- CONN#756 view tbv b-ware ( view wordt niet door facilitor gebruikt)
|
||
CREATE OR REPLACE VIEW CXX_CRED_BWIPEXP
|
||
("CMPCODE", "CODE", "NAME", "ADD1", "ADD2", "TERMS", "ACNUM", "ACREF",
|
||
"CFVALUE", "STARTYEAR", "STARTPERIOD", "ENDYEAR", "ENDPERIOD")
|
||
AS
|
||
SELECT 'FB-01'
|
||
, PRS_LEVERANCIER_NR
|
||
, PRS_BEDRIJF_NAAM
|
||
, PRS_BEDRIJF_POST_ADRES
|
||
, PRS_BEDRIJF_POST_POSTCODE || '/' || PRS_BEDRIJF_POST_PLAATS
|
||
, '-' --betalingstermijn
|
||
, DECODE (UPPER(SUBSTR(PRS_LEVERANCIER_NR,1,1)),
|
||
'C', SUBSTR(PRS_LEVERANCIER_NR,2) ,
|
||
(SELECT PRS_KENMERKLINK_WAARDE
|
||
FROM PRS_KENMERKLINK WHERE PRS_KENMERK_KEY = 1180
|
||
AND PRS_LINK_KEY = PRS_BEDRIJF_KEY)) --bankrekeningnummer
|
||
, '-'
|
||
, '1431100'
|
||
, '0'
|
||
, '0'
|
||
, '0'
|
||
, '0'
|
||
FROM PRS_V_AANWEZIGBEDRIJF
|
||
WHERE PRS_BEDRIJF_INTERN IS NULL
|
||
AND NVL(PRS_BEDRIJF_HUURDER,0) <> 1
|
||
AND ( UPPER(PRS_LEVERANCIER_NR) LIKE 'C%'
|
||
OR UPPER(PRS_LEVERANCIER_NR) LIKE 'LEV%');
|
||
|
||
commit;
|
||
|
||
|
||
|
||
-- HALTEWERK-rapportage/doorbelastingsoverzicht (CONN#3661)
|
||
CREATE OR REPLACE VIEW conn_v_haltewerk
|
||
(fclt_d_dag, fclt_f_opdrachtgever, fclt_f_plaats, fclt_f_halte, fclt_f_medewerker, fclt_f_activiteit,
|
||
diversen, bestede_tijd, materiaal_bedrag, kilometers)
|
||
AS
|
||
SELECT TO_CHAR(dw.mld_deelwerk_datum, 'dd-mm-yyyy') dag,
|
||
opdrachtgever,
|
||
ts.alg_terreinsector_code plaats,
|
||
haltecode || ' ' || haltenaam halte,
|
||
pf.prs_perslid_naam_full medewerker,
|
||
activiteit,
|
||
dw.mld_deelwerk_opmerking,
|
||
SUM(dw.mld_deelwerk_duur) bestede_tijd,
|
||
SUM(materiaal_bedrag),
|
||
SUM(dw.mld_deelwerk_km)
|
||
FROM (SELECT kd.ins_deel_key kd1, kd.ins_kenmerkdeel_waarde haltecode
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerk_key = 501),
|
||
(SELECT kd.ins_deel_key kd2, kd.ins_kenmerkdeel_waarde haltenaam
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerk_key = 504),
|
||
(SELECT dw.mld_deelwerk_key dw1, ud.fac_usrdata_omschr opdrachtgever
|
||
FROM mld_deelwerk dw,
|
||
fac_usrdata ud
|
||
WHERE dw.fac_usrdata_key_opdrachtgever = ud.fac_usrdata_key),
|
||
(SELECT dwa dw2, activiteit, materiaal_bedrag
|
||
FROM (SELECT dw.mld_deelwerk_key dwa, ud.fac_usrdata_omschr activiteit
|
||
FROM mld_deelwerk dw,
|
||
fac_usrdata ud
|
||
WHERE dw.fac_usrdata_key_activiteit = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_verwijder IS NULL) a
|
||
LEFT JOIN
|
||
(SELECT dwm.mld_deelwerk_key dwb, SUM(dwm.mld_deelwerkmateriaal_aantal * ud.fac_usrdata_prijs) materiaal_bedrag
|
||
FROM mld_deelwerkmateriaal dwm,
|
||
fac_usrdata ud
|
||
WHERE dwm.fac_usrdata_key_materiaal = ud.fac_usrdata_key
|
||
AND ud.fac_usrdata_verwijder IS NULL
|
||
GROUP BY dwm.mld_deelwerk_key) b
|
||
ON a.dwa = b.dwb),
|
||
mld_deelwerk dw,
|
||
ins_deel d,
|
||
alg_terreinsector ts,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE dw.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_ruimte_key = ts.alg_terreinsector_key
|
||
AND dw.prs_perslid_key = pf.prs_perslid_key
|
||
AND dw.ins_deel_key = kd1
|
||
AND dw.ins_deel_key = kd2
|
||
AND dw.mld_deelwerk_key = dw1
|
||
AND dw.mld_deelwerk_key = dw2
|
||
GROUP BY TO_CHAR(dw.mld_deelwerk_datum, 'YYYYMM'),
|
||
TO_CHAR(dw.mld_deelwerk_datum, 'dd-mm-yyyy'),
|
||
opdrachtgever,
|
||
ts.alg_terreinsector_code,
|
||
haltecode || ' ' || haltenaam,
|
||
pf.prs_perslid_naam_full,
|
||
activiteit,
|
||
dw.mld_deelwerk_opmerking
|
||
ORDER BY dag, opdrachtgever, plaats, halte, medewerker, activiteit;
|
||
|
||
|
||
-- HALTEWERK-rapportage/Materiaaloverzicht (CONN#13730)
|
||
CREATE OR REPLACE VIEW CONN_V_HALTEMATERIAAL
|
||
(FCLT_D_DAG, FCLT_F_OPDRACHTGEVER, FCLT_F_PLAATS, FCLT_F_HALTE,
|
||
FCLT_F_MEDEWERKER, FCLT_F_ACTIVITEIT, DIVERSEN, BESTEDE_TIJD, MATERIAAL_BEDRAG,
|
||
KILOMETERS, MATERIAAL, AANTAL)
|
||
AS
|
||
SELECT TO_CHAR(dw.mld_deelwerk_datum, 'dd-mm-yyyy') dag,
|
||
opdrachtgever,
|
||
ts.alg_terreinsector_code plaats,
|
||
haltecode || ' ' || haltenaam halte,
|
||
pf.prs_perslid_naam_full medewerker,
|
||
activiteit,
|
||
dw.mld_deelwerk_opmerking,
|
||
TO_CHAR(SUM(dw.mld_deelwerk_duur)) bestede_tijd, -- geen totaal tijd laten zien
|
||
SUM(materiaal_bedrag),
|
||
TO_CHAR(CASE SUM(dw.mld_deelwerk_km)
|
||
WHEN 0
|
||
THEN NULL
|
||
ELSE SUM(dw.mld_deelwerk_km)
|
||
END) kilometers, -- geen totaal kilometers laten zien, en geen 0 km laten zien per regel
|
||
materiaal_omschrijving,
|
||
materiaal_aantal
|
||
FROM (SELECT kd.ins_deel_key kd1, kd.ins_kenmerkdeel_waarde haltecode
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerk_key = 501),
|
||
(SELECT kd.ins_deel_key kd2, kd.ins_kenmerkdeel_waarde haltenaam
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_kenmerk_key = 504),
|
||
(SELECT dw.mld_deelwerk_key dw1, ud.fac_usrdata_omschr opdrachtgever
|
||
FROM mld_deelwerk dw,
|
||
fac_usrdata ud
|
||
WHERE dw.fac_usrdata_key_opdrachtgever = ud.fac_usrdata_key),
|
||
(SELECT dwa dw2, activiteit, materiaal_bedrag, materiaal_omschrijving, materiaal_aantal
|
||
FROM (SELECT dw.mld_deelwerk_key dwa, ud.fac_usrdata_omschr activiteit
|
||
FROM mld_deelwerk dw,
|
||
fac_usrdata ud
|
||
WHERE dw.fac_usrdata_key_activiteit = ud.fac_usrdata_key) a
|
||
LEFT JOIN
|
||
(SELECT dwm.mld_deelwerk_key dwb,
|
||
SUM(dwm.mld_deelwerkmateriaal_aantal * ud.fac_usrdata_prijs) materiaal_bedrag,
|
||
ud.fac_usrdata_omschr materiaal_omschrijving,
|
||
dwm.mld_deelwerkmateriaal_aantal materiaal_aantal
|
||
FROM mld_deelwerkmateriaal dwm,
|
||
fac_usrdata ud
|
||
WHERE dwm.fac_usrdata_key_materiaal = ud.fac_usrdata_key
|
||
GROUP BY dwm.mld_deelwerk_key,
|
||
ud.fac_usrdata_omschr,
|
||
dwm.mld_deelwerkmateriaal_aantal) b
|
||
ON a.dwa = b.dwb),
|
||
mld_deelwerk dw,
|
||
ins_deel d,
|
||
alg_terreinsector ts,
|
||
prs_v_perslid_fullnames pf
|
||
WHERE dw.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_alg_ruimte_key = ts.alg_terreinsector_key
|
||
AND dw.prs_perslid_key = pf.prs_perslid_key
|
||
AND dw.ins_deel_key = kd1
|
||
AND dw.ins_deel_key = kd2
|
||
AND dw.mld_deelwerk_key = dw1
|
||
AND dw.mld_deelwerk_key = dw2
|
||
GROUP BY TO_CHAR(dw.mld_deelwerk_datum, 'YYYYMM'),
|
||
TO_CHAR(dw.mld_deelwerk_datum, 'dd-mm-yyyy'),
|
||
opdrachtgever,
|
||
ts.alg_terreinsector_code,
|
||
haltecode || ' ' || haltenaam,
|
||
pf.prs_perslid_naam_full,
|
||
activiteit,
|
||
dw.mld_deelwerk_opmerking,
|
||
materiaal_omschrijving,
|
||
materiaal_aantal
|
||
ORDER BY dag, opdrachtgever, plaats, halte, medewerker, activiteit;
|
||
/
|
||
|
||
--
|
||
-- notificatie job om bestellers en melders een herinnering te sturen zodat
|
||
-- ze de opdracht of bestelling afmelden.
|
||
-- De herinneringmail wordt x dagen na het aanmaken van de bestelopdracht en y
|
||
-- dagen na de einddatum van de opdracht naar de melder/besteller verzonden.
|
||
-- De waarden van x en y zijn te configureren bij de catatogus en bij de vakgroep
|
||
-- als 'Aantal dagen tbv. herinnering'
|
||
CREATE OR REPLACE VIEW conn_v_noti_bestelling_opdr (
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
'BES2MA',
|
||
NULL,
|
||
b.prs_perslid_key,
|
||
'U wordt verzocht uw bestelling met nummer '
|
||
|| bo.bes_bestelopdr_id
|
||
|| ' af te melden in Facilitor.',
|
||
bo.bes_bestelopdr_key,
|
||
NULL
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr_item boi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_disc_params dp,
|
||
bes_bestelopdr bo
|
||
WHERE bes_bestelling_status = 5
|
||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND TRUNC (bes_bestelopdr_datum + dp.bes_disc_params_noti_dagen) =
|
||
TRUNC (SYSDATE)
|
||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = dp.bes_ins_discipline_key
|
||
AND dp.bes_disc_params_noti_dagen IS NOT NULL
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
'ORDMAI',
|
||
NULL,
|
||
m.prs_perslid_key,
|
||
'U wordt verzocht uw opdracht met nummer '
|
||
|| o.mld_melding_key
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr
|
||
|| ' af te melden in Facilitor.',
|
||
o.mld_opdr_key,
|
||
NULL
|
||
FROM mld_opdr o, mld_melding m, mld_stdmelding std, mld_disc_params md
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = md.mld_ins_discipline_key
|
||
AND (o.mld_statusopdr_key = 5 OR o.mld_statusopdr_key = 8)
|
||
AND mld_disc_params_noti_dagen IS NOT NULL
|
||
AND TRUNC (o.mld_opdr_einddatum + md.mld_disc_params_noti_dagen) =
|
||
TRUNC (SYSDATE);
|
||
|
||
|
||
-- CONN#12661: Notificatie op basis van meterstandverantwoordelijke per locatie
|
||
-- View voor kenmerk "Meterstanden verantwoordelijke"
|
||
/* Formatted on 11-6-2010 16:49:27 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_meterstanden_verantw
|
||
(
|
||
prs_perslid_key,
|
||
verantwoordelijke
|
||
)
|
||
AS
|
||
SELECT w.prs_perslid_key,
|
||
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 || ')')
|
||
naam
|
||
FROM fac_v_webgebruiker w, prs_v_aanwezigperslid p
|
||
WHERE w.prs_perslid_key = p.prs_perslid_key
|
||
AND w.fac_functie_key = (SELECT fac_functie_key
|
||
FROM fac_functie
|
||
WHERE fac_functie_code = 'WEB_INSUSE')
|
||
AND w.ins_discipline_key = (SELECT itd.ins_discipline_key
|
||
FROM ins_tab_discipline itd
|
||
WHERE itd.ins_discipline_omschrijving = 'Verbruiksregistratie')
|
||
ORDER BY p.prs_perslid_upper;
|
||
|
||
|
||
|
||
|
||
--------------------------
|
||
--
|
||
-- Afmeldprocedures voor bestellingen en opdrachten
|
||
--
|
||
--------------------------
|
||
CREATE OR REPLACE PROCEDURE CONN_EXPORT_AFM_BESTEL (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT DISTINCT bi.bes_bestelling_key, bes_bestelling_item_key
|
||
FROM bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_disc_params bdp
|
||
WHERE bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bes_bestelling_datum <
|
||
SYSDATE - bdp.bes_disc_params_noti_dagen - 14
|
||
AND bes_bestelling_status IN (3, 4, 5) -- (gefiatteerd, geaccepteerd, besteld)
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = bdp.bes_ins_discipline_key
|
||
AND bdp.bes_disc_params_noti_dagen IS NOT NULL;
|
||
|
||
CURSOR c2 (p_bes_bestelling_item_key IN number
|
||
)
|
||
IS
|
||
SELECT DISTINCT
|
||
bo.bes_bestelopdr_key,
|
||
boi.bes_bestelopdr_item_key,
|
||
bes_bestelling_item_key,
|
||
bes_bestelopdr_id
|
||
FROM bes_bestelopdr bo, bes_bestelopdr_item boi, bes_bestelling_item bi
|
||
WHERE bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bi.bes_bestelling_item_key = p_bes_bestelling_item_key;
|
||
|
||
rec1 c1%ROWTYPE;
|
||
rec2 c2%ROWTYPE;
|
||
v_errormsg VARCHAR2 (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
BEGIN
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
FOR rec2 IN c2 (rec1.bes_bestelling_item_key)
|
||
LOOP
|
||
BEGIN
|
||
UPDATE bes_bestelopdr_item b
|
||
SET bes_bestelopdr_item_aantalontv =
|
||
bes_bestelopdr_item_aantal,
|
||
bes_bestelopdr_item_ontvangen = SYSDATE
|
||
WHERE bes_bestelopdr_item_key = rec2.bes_bestelopdr_item_key;
|
||
|
||
BEGIN
|
||
bes.updatebestelopdrstatus (rec2.bes_bestelopdr_key, 1042);
|
||
END;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'Bestelopdracht:'|| rec2.bes_bestelopdr_id);
|
||
END;
|
||
END LOOP;
|
||
|
||
DBMS_OUTPUT.put_line ('rec1 item: ' || rec1.bes_bestelling_item_key);
|
||
|
||
UPDATE bes_bestelling_item
|
||
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
|
||
WHERE bes_bestelling_item_key = rec1.bes_bestelling_item_key;
|
||
|
||
UPDATE bes_bestelling_item bi
|
||
SET bes_bestelling_item_status = 6 -- geleverd
|
||
WHERE COALESCE (bi.bes_bestelling_item_aantal, 0) =
|
||
COALESCE (bi.bes_bestelling_item_aantalontv, 0)
|
||
AND bes_bestelling_item_status = 5; -- besteld
|
||
|
||
BEGIN
|
||
bes.updatebestellingstatus (rec1.bes_bestelling_key, 1042);
|
||
END;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'Bestelling:'|| rec1.bes_bestelling_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE CONN_EXPORT_AFM_OPDRACHT (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
CURSOR c_opdr
|
||
IS
|
||
SELECT mld_opdr_key, mld_opdr_bedrijfopdr_volgnr, o.mld_melding_key
|
||
FROM mld_opdr o, mld_melding m, mld_stdmelding std, mld_disc_params dp
|
||
WHERE mld_statusopdr_key = 5 -- uitgegeven
|
||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND std.mld_ins_discipline_key = dp.mld_ins_discipline_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND o.mld_opdr_datumbegin < SYSDATE - dp.mld_disc_params_noti_dagen - 14;
|
||
|
||
CURSOR c_melding
|
||
IS
|
||
SELECT DISTINCT m.mld_melding_key
|
||
FROM mld_melding m, mld_opdr o, fac_tracking t, fac_srtnotificatie sn
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'ORDAFM'
|
||
AND trunc(t.fac_tracking_datum) = trunc(sysdate)
|
||
AND NOT EXISTS (SELECT m.mld_melding_key
|
||
FROM mld_opdr op
|
||
WHERE op.mld_statusopdr_key = 5 -- uitgegeven
|
||
AND m.mld_melding_key = op.mld_melding_key);
|
||
|
||
rec1 c_opdr%ROWTYPE;
|
||
rec2 c_melding%ROWTYPE;
|
||
v_errormsg VARCHAR2 (200);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
BEGIN
|
||
FOR rec1 IN c_opdr
|
||
LOOP
|
||
BEGIN
|
||
mld.setopdrachtstatus(rec1.mld_opdr_key, 6, 1024); -- status afgemeld , user mhanemaa
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'Opdracht:'|| rec1.mld_melding_key || '/' || rec1.mld_opdr_bedrijfopdr_volgnr);
|
||
END;
|
||
END LOOP;
|
||
|
||
|
||
FOR rec2 IN c_melding
|
||
LOOP
|
||
BEGIN
|
||
mld.setmeldingstatus(rec2.mld_melding_key, 5, 1024); -- status afgemeld , user mhanemaa
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := '(ORACLE error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'Melding:'|| rec2.mld_melding_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_imp_log (fclt_f_applicatie,
|
||
datum,
|
||
fclt_f_status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT imp_log_applicatie, to_char(imp_log_datum, 'yyyymmdd hh24miss'), imp_log_status,
|
||
imp_log_omschrijving, imp_log_hint
|
||
FROM imp_log;
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_rap_gebouw_verplichting
|
||
AS
|
||
SELECT l.alg_locatie_code fclt_f_locatiecode, l.alg_locatie_plaats fclt_f_plaats, v.fclt_f_gebouwcode,
|
||
v.fclt_f_verplichting, v.item, v.fclt_3d_locatie_key
|
||
FROM alg_v_rap_gebouw_verplichting v, alg_locatie l
|
||
WHERE v.fclt_3d_locatie_key = l.alg_locatie_key;
|
||
/
|
||
|
||
|
||
-- Bevat CUST01- en CUST02-reminder naar beheerder verantwoordelijk voor de
|
||
-- keuring van betreffende objecten (Gebouwobjecten vs. Gereedschappen).
|
||
-- CUST01: wekelijks mbt. over 4 tot 5 weken te keuren objecten!
|
||
-- CUST02: wekelijks mbt. objecten waarvan keuringsdatum is verstreken!
|
||
/* Formatted on 2-12-2011 14:24:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW CONN_V_NOTI_KEURINGREMINDER
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
KEY,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code code,
|
||
NULL sender,
|
||
fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) receiver,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##SRTGROEP##',
|
||
DECODE (x.min_srtgroep_oms,
|
||
x.max_srtgroep_oms, x.min_srtgroep_oms,
|
||
x.min_srtgroep_oms || ', ...')
|
||
),
|
||
'##AANTAL##',
|
||
x.aantal
|
||
)
|
||
subject,
|
||
x.dummy_deel_key, -- Dummy key!!!
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM ( SELECT o.alg_locatie_key,
|
||
DECODE (o.ins_discipline_key,
|
||
101, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
341, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1841, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1881, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1340) -- Gereedschappen -> 1340-verantw.
|
||
verantwoordelijke,
|
||
MIN (o.ins_srtgroep_omschrijving) min_srtgroep_oms,
|
||
MAX (o.ins_srtgroep_omschrijving) max_srtgroep_oms,
|
||
MIN (o.ins_deel_key) dummy_deel_key,
|
||
COUNT (DISTINCT o.ins_deel_key) aantal
|
||
FROM (SELECT scs.ins_srtinstallatie_key
|
||
ins_srtdeel_key,
|
||
scs.ins_srtcontrole_key,
|
||
scs.ins_srtcontrole_omschrijving,
|
||
scs.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scs
|
||
WHERE scs.ins_srtcontrole_niveau = 'S'
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scg.ins_srtcontrole_key,
|
||
scg.ins_srtcontrole_omschrijving,
|
||
scg.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scg, ins_srtdeel sd
|
||
WHERE scg.ins_srtcontrole_niveau = 'G'
|
||
AND scg.ins_srtinstallatie_key =
|
||
sd.ins_srtgroep_key
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scd.ins_srtcontrole_key,
|
||
scd.ins_srtcontrole_omschrijving,
|
||
scd.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scd,
|
||
ins_srtgroep sg,
|
||
ins_srtdeel sd
|
||
WHERE scd.ins_srtcontrole_niveau = 'D'
|
||
AND scd.ins_srtinstallatie_key =
|
||
sg.ins_discipline_key
|
||
AND sg.ins_srtgroep_key =
|
||
sd.ins_srtgroep_key) cso -- ControleSoortObjecten
|
||
LEFT JOIN
|
||
(SELECT d.ins_deel_key,
|
||
d.ins_deel_aanmaak,
|
||
sd.ins_srtdeel_key,
|
||
sg.ins_srtgroep_omschrijving,
|
||
td.ins_discipline_key,
|
||
td.ins_discipline_omschrijving,
|
||
l.alg_locatie_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
alg_locatie l
|
||
WHERE d.ins_srtdeel_key =
|
||
sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key =
|
||
sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND d.ins_alg_locatie_key =
|
||
l.alg_locatie_key(+)) o -- Objecten
|
||
ON cso.ins_srtdeel_key = o.ins_srtdeel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde afgekeurd
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1466) oa -- ObjectAfgekeurd
|
||
ON o.ins_deel_key = oa.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT dsc.ins_deel_key,
|
||
dsc.ins_srtcontrole_key,
|
||
dsc.ins_deelsrtcontrole_datum,
|
||
dsc.ins_deelsrtcontrole_opmerking
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deelsrtcontrole_datum =
|
||
(SELECT MAX (
|
||
ins_deelsrtcontrole_datum
|
||
)
|
||
FROM ins_deelsrtcontrole
|
||
WHERE ins_deel_key =
|
||
dsc.ins_deel_key
|
||
AND ins_srtcontrole_key =
|
||
dsc.ins_srtcontrole_key))
|
||
olc -- ObjectLaatsteControle
|
||
ON o.ins_deel_key = olc.ins_deel_key
|
||
AND cso.ins_srtcontrole_key =
|
||
olc.ins_srtcontrole_key
|
||
WHERE (oa.afgekeurd IS NULL OR oa.afgekeurd = 130) -- 'Nee'
|
||
AND COALESCE (olc.ins_deelsrtcontrole_datum,
|
||
o.ins_deel_aanmaak)
|
||
+ cso.ins_srtcontrole_periode BETWEEN TRUNC(SYSDATE
|
||
+ 28)
|
||
AND TRUNC(SYSDATE
|
||
+ 35)
|
||
GROUP BY o.alg_locatie_key,
|
||
DECODE (o.ins_discipline_key,
|
||
101, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
341, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1841, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1881, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1340)) x, -- Gereedschappen -> 1340-verantw.
|
||
alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_srtnotificatie sn
|
||
WHERE x.alg_locatie_key = ok.alg_onrgoed_key
|
||
AND x.verantwoordelijke = ok.alg_kenmerk_key
|
||
AND ok.alg_onrgoed_niveau = 'L'
|
||
AND sn.fac_srtnotificatie_code = 'CUST01'
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code code,
|
||
NULL sender,
|
||
fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) receiver,
|
||
REPLACE (
|
||
REPLACE (
|
||
sn.fac_srtnotificatie_oms,
|
||
'##SRTGROEP##',
|
||
DECODE (x.min_srtgroep_oms,
|
||
x.max_srtgroep_oms, x.min_srtgroep_oms,
|
||
x.min_srtgroep_oms || ', ...')
|
||
),
|
||
'##AANTAL##',
|
||
x.aantal
|
||
)
|
||
subject,
|
||
x.dummy_deel_key, -- Dummy key!!!
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM ( SELECT o.alg_locatie_key,
|
||
DECODE (o.ins_discipline_key,
|
||
101, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
341, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1841, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1881, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1340) -- Gereedschappen -> 1340-verantw.
|
||
verantwoordelijke,
|
||
MIN (o.ins_srtgroep_omschrijving) min_srtgroep_oms,
|
||
MAX (o.ins_srtgroep_omschrijving) max_srtgroep_oms,
|
||
MIN (o.ins_deel_key) dummy_deel_key,
|
||
COUNT (DISTINCT o.ins_deel_key) aantal
|
||
FROM (SELECT scs.ins_srtinstallatie_key
|
||
ins_srtdeel_key,
|
||
scs.ins_srtcontrole_key,
|
||
scs.ins_srtcontrole_omschrijving,
|
||
scs.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scs
|
||
WHERE scs.ins_srtcontrole_niveau = 'S'
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scg.ins_srtcontrole_key,
|
||
scg.ins_srtcontrole_omschrijving,
|
||
scg.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scg, ins_srtdeel sd
|
||
WHERE scg.ins_srtcontrole_niveau = 'G'
|
||
AND scg.ins_srtinstallatie_key =
|
||
sd.ins_srtgroep_key
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scd.ins_srtcontrole_key,
|
||
scd.ins_srtcontrole_omschrijving,
|
||
scd.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scd,
|
||
ins_srtgroep sg,
|
||
ins_srtdeel sd
|
||
WHERE scd.ins_srtcontrole_niveau = 'D'
|
||
AND scd.ins_srtinstallatie_key =
|
||
sg.ins_discipline_key
|
||
AND sg.ins_srtgroep_key =
|
||
sd.ins_srtgroep_key) cso -- ControleSoortObjecten
|
||
LEFT JOIN
|
||
(SELECT d.ins_deel_key,
|
||
d.ins_deel_aanmaak,
|
||
sd.ins_srtdeel_key,
|
||
sg.ins_srtgroep_omschrijving,
|
||
td.ins_discipline_key,
|
||
td.ins_discipline_omschrijving,
|
||
l.alg_locatie_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
alg_locatie l
|
||
WHERE d.ins_srtdeel_key =
|
||
sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key =
|
||
sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND d.ins_alg_locatie_key =
|
||
l.alg_locatie_key(+)) o -- Objecten
|
||
ON cso.ins_srtdeel_key = o.ins_srtdeel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde afgekeurd
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1466) oa -- ObjectAfgekeurd
|
||
ON o.ins_deel_key = oa.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT dsc.ins_deel_key,
|
||
dsc.ins_srtcontrole_key,
|
||
dsc.ins_deelsrtcontrole_datum,
|
||
dsc.ins_deelsrtcontrole_opmerking
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deelsrtcontrole_datum =
|
||
(SELECT MAX (
|
||
ins_deelsrtcontrole_datum
|
||
)
|
||
FROM ins_deelsrtcontrole
|
||
WHERE ins_deel_key =
|
||
dsc.ins_deel_key
|
||
AND ins_srtcontrole_key =
|
||
dsc.ins_srtcontrole_key))
|
||
olc -- ObjectLaatsteControle
|
||
ON o.ins_deel_key = olc.ins_deel_key
|
||
AND cso.ins_srtcontrole_key =
|
||
olc.ins_srtcontrole_key
|
||
WHERE (oa.afgekeurd IS NULL OR oa.afgekeurd = 130) -- 'Nee'
|
||
AND COALESCE (olc.ins_deelsrtcontrole_datum,
|
||
o.ins_deel_aanmaak)
|
||
+ cso.ins_srtcontrole_periode < TRUNC (SYSDATE)
|
||
GROUP BY o.alg_locatie_key,
|
||
DECODE (o.ins_discipline_key,
|
||
101, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
341, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1841, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1881, 1320, -- Gebouwobjecten -> 1320-verantw.
|
||
1340)) x, -- Gereedschappen -> 1340-verantw.
|
||
alg_v_aanwezigonrgoedkenmerk ok,
|
||
fac_srtnotificatie sn
|
||
WHERE x.alg_locatie_key = ok.alg_onrgoed_key
|
||
AND x.verantwoordelijke = ok.alg_kenmerk_key
|
||
AND ok.alg_onrgoed_niveau = 'L'
|
||
AND sn.fac_srtnotificatie_code = 'CUST02';
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_rap_kostenkwartaal (fclt_f_locatie_code,
|
||
fclt_f_locatie_omschrijving,
|
||
fclt_f_jaar,
|
||
fclt_f_kwartaal,
|
||
fclt_f_soort_melding,
|
||
aantal,
|
||
werkelijke_kosten
|
||
)
|
||
AS
|
||
SELECT c21, c20, c30, c31, c32, COUNT (c0), SUM (c27)
|
||
FROM (SELECT DISTINCT m.mld_melding_key c0,
|
||
alg_locatie_code c21,
|
||
alg_locatie_omschrijving c20,
|
||
COALESCE
|
||
((SELECT SUM (f.fin_factuur_totaal)
|
||
FROM fin_factuur f, mld_opdr o2
|
||
WHERE f.mld_opdr_key = o2.mld_opdr_key
|
||
AND o2.mld_melding_key =
|
||
m.mld_melding_key),
|
||
0
|
||
) c27,
|
||
TO_CHAR (mld_melding_datum, 'yyyy') c30,
|
||
TO_CHAR ( (TRUNC ( TO_NUMBER
|
||
(TO_CHAR (mld_melding_datum,
|
||
'mm'
|
||
)
|
||
)
|
||
/ 4
|
||
)
|
||
)
|
||
+ 1) c31,
|
||
mld_stdmelding_omschrijving c32
|
||
FROM mld_melding m, mld_discipline md, alg_locatie l, mld_stdmelding st
|
||
WHERE m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND m.mld_stdmelding_key = st.mld_stdmelding_key
|
||
AND st.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = 1)
|
||
GROUP BY c20, c21, c30, c31, c32
|
||
ORDER BY 1, 2, 3 DESC;
|
||
|
||
/* Formatted on 28-11-2011 10:52:17 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_rap_tsnkleding
|
||
(
|
||
fclt_f_besteller,
|
||
fclt_f_bestemd_voor,
|
||
fclt_f_naam_drager,
|
||
fclt_d_besteldatum,
|
||
item,
|
||
aantal_besteleenheden,
|
||
prijs,
|
||
kostenplaats
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_naam_full besteller,
|
||
(SELECT pp.prs_perslid_naam_full
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk, prs_v_perslid_fullnames_all pp
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND v.bes_kenmerkbestell_waarde = pp.prs_perslid_key
|
||
AND sk.bes_srtkenmerk_key = 161)
|
||
bestemd_voor,
|
||
(SELECT v.bes_kenmerkbestell_waarde waarde
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND sk.bes_srtkenmerk_key = 65)
|
||
naam_drager,
|
||
TO_CHAR (bes_bestelling_datum, 'DD-MM-YYYY'),
|
||
COALESCE (isd.bes_srtdeel_nr, '') || ' ' || isd.bes_srtdeel_omschrijving item,
|
||
i.bes_bestelling_item_aantal,
|
||
i.bes_bestelling_item_aantal * bi.bes_bestelopdr_item_prijs prijs,
|
||
pk.prs_kostenplaats_nr
|
||
FROM bes_bestelling b,
|
||
prs_v_perslid_fullnames_all pf,
|
||
bes_bestelling_item i,
|
||
bes_srtdeel isd,
|
||
bes_srtgroep isg,
|
||
bes_discipline bd,
|
||
mld_adres a,
|
||
bes_bestelopdr_item bi,
|
||
prs_kostenplaats pk
|
||
WHERE pf.prs_perslid_key = b.prs_perslid_key
|
||
AND b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND i.bes_srtdeel_key = isd.bes_srtdeel_key
|
||
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
|
||
AND isg.ins_discipline_key = bd.ins_discipline_key
|
||
AND bd.ins_discipline_key = 1901
|
||
AND i.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key(+)
|
||
AND b.mld_adres_key_lev = a.mld_adres_key(+)
|
||
AND b.prs_kostenplaats_key = pk.prs_kostenplaats_key;
|
||
|
||
CREATE OR REPLACE FORCE VIEW conn_v_rap_tourskleding
|
||
(
|
||
fclt_f_besteller,
|
||
fclt_f_bestemd_voor,
|
||
fclt_f_naam_drager,
|
||
fclt_d_besteldatum,
|
||
item,
|
||
aantal_besteleenheden,
|
||
prijs,
|
||
kostenplaats
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_naam_full besteller,
|
||
(SELECT pp.prs_perslid_naam_full
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk, prs_v_perslid_fullnames_all pp
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND v.bes_kenmerkbestell_waarde = pp.prs_perslid_key
|
||
AND sk.bes_srtkenmerk_key = 161)
|
||
bestemd_voor,
|
||
(SELECT v.bes_kenmerkbestell_waarde waarde
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND sk.bes_srtkenmerk_key = 65)
|
||
naam_drager,
|
||
TO_CHAR (bes_bestelling_datum, 'DD-MM-YYYY'),
|
||
COALESCE (isd.bes_srtdeel_nr, '') || ' ' || isd.bes_srtdeel_omschrijving item,
|
||
i.bes_bestelling_item_aantal,
|
||
i.bes_bestelling_item_aantal * bi.bes_bestelopdr_item_prijs prijs,
|
||
pk.prs_kostenplaats_nr
|
||
FROM bes_bestelling b,
|
||
prs_v_perslid_fullnames_all pf,
|
||
bes_bestelling_item i,
|
||
bes_srtdeel isd,
|
||
bes_srtgroep isg,
|
||
bes_discipline bd,
|
||
mld_adres a,
|
||
bes_bestelopdr_item bi,
|
||
prs_kostenplaats pk
|
||
WHERE pf.prs_perslid_key = b.prs_perslid_key
|
||
AND b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND i.bes_srtdeel_key = isd.bes_srtdeel_key
|
||
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
|
||
AND isg.ins_discipline_key = bd.ins_discipline_key
|
||
AND bd.ins_discipline_key = 2221
|
||
AND i.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key(+)
|
||
AND b.mld_adres_key_lev = a.mld_adres_key(+)
|
||
AND b.prs_kostenplaats_key = pk.prs_kostenplaats_key;
|
||
|
||
/* Formatted on 23-1-2009 15:08:32 (QP5 v5.115.810.9015) */
|
||
-- TSN Initial Hokatex kleding
|
||
CREATE OR REPLACE VIEW CONN_V_RAP_TSN_HOK_KLEDING
|
||
(
|
||
FCLT_F_BESTELLER,
|
||
FCLT_F_BESTEMD_VOOR,
|
||
FCLT_F_NAAM_DRAGER,
|
||
FCLT_D_BESTELDATUM,
|
||
ITEM,
|
||
AANTAL_BESTELEENHEDEN,
|
||
RUILING,
|
||
TOENAME,
|
||
AFNAME,
|
||
KOSTENPLAATS
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_naam_full besteller,
|
||
(SELECT pp.prs_perslid_naam_full
|
||
FROM bes_kenmerkbestell v,
|
||
bes_kenmerk k,
|
||
bes_srtkenmerk sk,
|
||
prs_v_perslid_fullnames_all pp
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND v.bes_kenmerkbestell_waarde = pp.prs_perslid_key
|
||
AND sk.bes_srtkenmerk_key = 161)
|
||
bestemd_voor,
|
||
(SELECT v.bes_kenmerkbestell_waarde waarde
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND sk.bes_srtkenmerk_key = 65)
|
||
naam_drager,
|
||
TO_CHAR(bes_bestelling_datum,'DD-MM-YYYY'),
|
||
COALESCE (isd.bes_srtdeel_nr, '')
|
||
|| ' '
|
||
|| isd.bes_srtdeel_omschrijving
|
||
item,
|
||
i.bes_bestelling_item_aantal,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk, fac_usrdata ud
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND v.bes_kenmerkbestell_waarde = ud.fac_usrdata_key
|
||
AND sk.bes_srtkenmerk_key = 523)
|
||
ruiling,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk, fac_usrdata ud
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND v.bes_kenmerkbestell_waarde = ud.fac_usrdata_key
|
||
AND sk.bes_srtkenmerk_key = 526)
|
||
toename,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM bes_kenmerkbestell v, bes_kenmerk k, bes_srtkenmerk sk, fac_usrdata ud
|
||
WHERE v.bes_bestelling_key = b.bes_bestelling_key
|
||
AND v.bes_kenmerk_key = k.bes_kenmerk_key
|
||
AND k.bes_srtkenmerk_key = sk.bes_srtkenmerk_key
|
||
AND v.bes_kenmerkbestell_waarde = ud.fac_usrdata_key
|
||
AND sk.bes_srtkenmerk_key = 527)
|
||
afname,
|
||
pk.prs_kostenplaats_nr
|
||
FROM bes_bestelling b,
|
||
prs_v_perslid_fullnames_all pf,
|
||
bes_bestelling_item i,
|
||
bes_srtdeel isd,
|
||
bes_srtgroep isg,
|
||
bes_discipline bd,
|
||
mld_adres a,
|
||
bes_bestelopdr_item bi,
|
||
prs_kostenplaats pk
|
||
WHERE pf.prs_perslid_key = b.prs_perslid_key
|
||
AND b.bes_bestelling_key = i.bes_bestelling_key
|
||
AND i.bes_srtdeel_key = isd.bes_srtdeel_key
|
||
AND isd.bes_srtgroep_key = isg.bes_srtgroep_key
|
||
AND isg.ins_discipline_key = bd.ins_discipline_key
|
||
AND bd.ins_discipline_key = 2181
|
||
AND i.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key(+)
|
||
AND b.mld_adres_key_lev = a.mld_adres_key(+)
|
||
AND b.prs_kostenplaats_key = pk.prs_kostenplaats_key;
|
||
|
||
-- Eerste opzet
|
||
/* Formatted on 25-3-2010 9:46:31 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE FORCE VIEW conn_v_businessobjects
|
||
(
|
||
fin_factuur_nr,
|
||
fin_factuur_datum,
|
||
fin_factuur_boekmaand,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
fin_factuur_incl,
|
||
fin_factuur_debiteur_nr,
|
||
fin_factuur_opmerking,
|
||
fin_factuur_statuses_omschr,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_refcode,
|
||
reftype,
|
||
nummer,
|
||
volgnr,
|
||
prs_kostenplaats_nr,
|
||
prs_leverancier_nr
|
||
)
|
||
AS
|
||
SELECT f.fin_factuur_nr,
|
||
fin_factuur_datum,
|
||
fin_factuur_boekmaand,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
fin_factuur_totaal + fin_factuur_totaal_btw fin_factuur_incl,
|
||
fin_factuur_debiteur_nr,
|
||
f.fin_factuur_opmerking,
|
||
s.fin_factuur_statuses_omschr,
|
||
k.prs_kostensoort_oms,
|
||
k.prs_kostensoort_refcode,
|
||
'O' reftype,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) referentienummer,
|
||
o.mld_opdr_bedrijfopdr_volgnr volgnr,
|
||
kp.prs_kostenplaats_nr,
|
||
b.prs_leverancier_nr
|
||
FROM fin_factuur f,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
fin_factuur_statuses s,
|
||
prs_kostensoort k,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b,
|
||
mld_stdmelding stdm,
|
||
ins_tab_discipline d,
|
||
ins_srtdiscipline sd
|
||
WHERE f.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
|
||
AND stdm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND f.fin_factuur_statuses_key = s.fin_factuur_statuses_key
|
||
AND f.prs_kostensoort_key = k.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
||
UNION ALL
|
||
SELECT f.fin_factuur_nr,
|
||
fin_factuur_datum,
|
||
fin_factuur_boekmaand,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
fin_factuur_totaal + fin_factuur_totaal_btw fin_factuur_incl,
|
||
fin_factuur_debiteur_nr,
|
||
f.fin_factuur_opmerking,
|
||
s.fin_factuur_statuses_omschr,
|
||
k.prs_kostensoort_oms,
|
||
k.prs_kostensoort_refcode,
|
||
'B' reftype,
|
||
bo.bes_bestelopdr_id referentienummer,
|
||
1 volgnr,
|
||
kp.prs_kostenplaats_nr,
|
||
b.prs_leverancier_nr
|
||
FROM fin_factuur f,
|
||
bes_bestelopdr bo,
|
||
fin_factuur_statuses s,
|
||
prs_kostensoort k,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b,
|
||
bes_bestelling ba,
|
||
bes_bestelling_item bai,
|
||
bes_bestelopdr_item boi
|
||
WHERE f.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND f.fin_factuur_statuses_key = s.fin_factuur_statuses_key
|
||
AND f.prs_kostensoort_key = k.prs_kostensoort_key
|
||
AND bai.bes_bestelling_key = ba.bes_bestelling_key
|
||
AND bai.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key
|
||
AND ba.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND bo.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
UNION ALL
|
||
SELECT f.fin_factuur_nr,
|
||
fin_factuur_datum,
|
||
fin_factuur_boekmaand,
|
||
fin_factuur_totaal,
|
||
fin_factuur_totaal_btw,
|
||
fin_factuur_totaal + fin_factuur_totaal_btw fin_factuur_incl,
|
||
fin_factuur_debiteur_nr,
|
||
f.fin_factuur_opmerking,
|
||
s.fin_factuur_statuses_omschr,
|
||
k.prs_kostensoort_oms,
|
||
k.prs_kostensoort_refcode,
|
||
'C' reftype,
|
||
'C'||TO_CHAR (c.cnt_contract_nummer_intern) referentienummer,
|
||
1 volgnr,
|
||
kp.prs_kostenplaats_nr,
|
||
b.prs_leverancier_nr
|
||
FROM fin_factuur f,
|
||
cnt_contract c,
|
||
fin_factuur_statuses s,
|
||
prs_kostensoort k,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b
|
||
WHERE f.cnt_contract_key = c.cnt_contract_key
|
||
AND f.fin_factuur_statuses_key = s.fin_factuur_statuses_key
|
||
AND f.prs_kostensoort_key = k.prs_kostensoort_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+);
|
||
|
||
--CONN#20077
|
||
CREATE OR REPLACE VIEW conn_v_pgb_uitnutting
|
||
(
|
||
fclt_f_Catalogus,
|
||
fclt_f_Besteller,
|
||
Bestellimiet,
|
||
Besteld_tav_pgb
|
||
)
|
||
AS
|
||
SELECT bd.ins_discipline_omschrijving Catalogus,
|
||
pf.prs_perslid_naam_full Besteller,
|
||
fp.fac_profiel_limiet Limiet,
|
||
SUM (
|
||
(bb.bes_bestelling_item_aantal * bb.bes_bestelling_item_prijs)
|
||
)
|
||
totaal
|
||
FROM bes_discipline bd,
|
||
bes_disc_params bdp,
|
||
bes_srtgroep bsg,
|
||
bes_srtdeel bsd,
|
||
bes_bestelling_item bb,
|
||
bes_bestelling b,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
fac_profiel fp
|
||
WHERE bdp.bes_ins_discipline_key = bd.ins_discipline_key
|
||
AND bsg.ins_discipline_key = bd.ins_discipline_key
|
||
AND bsd.bes_srtgroep_key = bsg.bes_srtgroep_key
|
||
AND b.bes_bestelling_key = bb.bes_bestelling_key
|
||
AND bb.bes_srtdeel_key = bsd.bes_srtdeel_key
|
||
AND bd.ins_discipline_verwijder IS NULL
|
||
AND bdp.bes_disc_params_pgb = 1 -- PGB moet aan staan
|
||
AND p.prs_perslid_key = b.prs_perslid_key
|
||
AND TO_CHAR (bes_bestelling_datum, 'YYYY') =
|
||
TO_CHAR (SYSDATE, 'YYYY')
|
||
AND fp.fac_profiel_key = p.fac_profiel_key
|
||
AND b.bes_bestelling_status IN (3, 5, 6, 7)
|
||
-- Gefiateerd, Besteld, Geleverd, Verwerkt
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
GROUP BY bd.ins_discipline_omschrijving, pf.prs_perslid_naam_full, fp.fac_profiel_limiet
|
||
ORDER BY 1, 2;
|
||
|
||
|
||
--CONN#20985
|
||
/* Formatted on 8-7-2011 11:22:44 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_rap_bes_artikel_expimp
|
||
(
|
||
fclt_f_catalogusnaam,
|
||
artikelbedrijf,
|
||
catalogusaanmaak,
|
||
artikelnummer,
|
||
artikelgroepomschrijving,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
artikeleenheid,
|
||
artikelimage,
|
||
artikelveelvoud,
|
||
artikelbtw,
|
||
artikelvervaldatum,
|
||
artikelinkoopprijs,
|
||
artikelminimum
|
||
)
|
||
AS
|
||
SELECT td.ins_discipline_omschrijving,
|
||
b.prs_bedrijf_naam,
|
||
TO_CHAR (td.ins_discipline_aanmaak, 'yyyymmdd'),
|
||
sd.bes_srtdeel_nr,
|
||
sg.bes_srtgroep_omschrijving,
|
||
sd.bes_srtdeel_omschrijving,
|
||
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 (COALESCE (sd.bes_srtdeel_btw, 0)),
|
||
TO_CHAR (
|
||
COALESCE (sd.bes_srtdeel_vervaldatum,
|
||
TO_DATE ('31-12-2099', 'dd-mm-yyyy')),
|
||
'yyyymmdd'
|
||
),
|
||
TO_CHAR (bes.getsrtdeelinkprijs(sd.bes_srtdeel_key, NULL)),
|
||
NULL
|
||
FROM ins_tab_discipline td,
|
||
bes_srtgroep sg,
|
||
bes_srtdeel sd,
|
||
prs_bedrijf b
|
||
WHERE td.ins_discipline_module = 'BES'
|
||
AND td.ins_discipline_verwijder IS NULL
|
||
AND td.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;
|
||
|
||
/* Formatted on 3-2-2012 9:48:48 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_rap_inspectieobj_expimp
|
||
(
|
||
fclt_f_locatiecode,
|
||
ruimte,
|
||
fclt_f_discipline,
|
||
fclt_f_groep,
|
||
fclt_f_objectsoort,
|
||
object_id,
|
||
fclt_f_merk,
|
||
fclt_f_type,
|
||
fclt_f_hoogte_cm,
|
||
fclt_f_belasting_kg,
|
||
fclt_f_bereik_nm_bar,
|
||
fclt_f_voltage,
|
||
fclt_f_apkplicht,
|
||
fclt_f_keuring_categorie,
|
||
fclt_f_contract_nr, -- Per CONN#22359!
|
||
fclt_f_leverancier,
|
||
fclt_f_soortcontrole,
|
||
periode,
|
||
controle_gepland,
|
||
controle_laatste,
|
||
controledatum,
|
||
controleopmerking,
|
||
fclt_f_afgekeurd
|
||
)
|
||
AS
|
||
SELECT x.alg_locatie_code,
|
||
COALESCE (z1.alg_ruimte_nr, z2.alg_ruimte_nr),
|
||
x.ins_discipline_omschrijving,
|
||
x.ins_srtgroep_omschrijving,
|
||
x.ins_srtdeel_omschrijving,
|
||
x.ins_deel_omschrijving,
|
||
REPLACE (k1.merk, CHR (13) || CHR (10), ' '),
|
||
REPLACE (k2.TYPE, CHR (13) || CHR (10), ' '),
|
||
k3.hoogte,
|
||
k4.belasting,
|
||
k5.bereik,
|
||
k6.voltage,
|
||
k7.apkplicht,
|
||
k8.categorie,
|
||
COALESCE (lev_onderhd.cnt_contract_nummer_intern,
|
||
lev_onderst.cnt_contract_nummer_intern)
|
||
contract_nr,
|
||
COALESCE (lev_onderhd.prs_bedrijf_naam,
|
||
lev_onderst.prs_bedrijf_naam)
|
||
leverancier,
|
||
csd.ins_srtcontrole_omschrijving,
|
||
TO_CHAR (csd.ins_srtcontrole_periode),
|
||
DECODE (
|
||
y.ins_deelsrtcontrole_datum,
|
||
NULL,
|
||
TO_CHAR (x.ins_deel_aanmaak + csd.ins_srtcontrole_periode,
|
||
'dd-mm-yyyy'),
|
||
TO_CHAR (
|
||
y.ins_deelsrtcontrole_datum + csd.ins_srtcontrole_periode,
|
||
'dd-mm-yyyy'
|
||
)
|
||
),
|
||
DECODE (y.ins_deelsrtcontrole_datum,
|
||
NULL, TO_CHAR (x.ins_deel_aanmaak, 'dd-mm-yyyy'),
|
||
TO_CHAR (y.ins_deelsrtcontrole_datum, 'dd-mm-yyyy')),
|
||
NULL controledatum,
|
||
NULL controlopmerking,
|
||
k9.afgekeurd
|
||
FROM (SELECT scs.ins_srtinstallatie_key
|
||
ins_srtdeel_key,
|
||
scs.ins_srtcontrole_key,
|
||
scs.ins_srtcontrole_omschrijving,
|
||
scs.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scs
|
||
WHERE scs.ins_srtcontrole_niveau =
|
||
'S'
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scg.ins_srtcontrole_key,
|
||
scg.ins_srtcontrole_omschrijving,
|
||
scg.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scg,
|
||
ins_srtdeel sd
|
||
WHERE scg.ins_srtcontrole_niveau =
|
||
'G'
|
||
AND scg.ins_srtinstallatie_key =
|
||
sd.ins_srtgroep_key
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scd.ins_srtcontrole_key,
|
||
scd.ins_srtcontrole_omschrijving,
|
||
scd.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scd,
|
||
ins_srtgroep sg,
|
||
ins_srtdeel sd
|
||
WHERE scd.ins_srtcontrole_niveau =
|
||
'D'
|
||
AND scd.ins_srtinstallatie_key =
|
||
sg.ins_discipline_key
|
||
AND sg.ins_srtgroep_key =
|
||
sd.ins_srtgroep_key)
|
||
csd
|
||
LEFT JOIN
|
||
(SELECT d.ins_deel_key,
|
||
d.ins_deel_aanmaak,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_alg_ruimte_key,
|
||
d.ins_alg_ruimte_type,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_code,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
td.ins_discipline_omschrijving,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_code
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
alg_locatie l
|
||
WHERE d.ins_srtdeel_key =
|
||
sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key =
|
||
sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND d.ins_alg_locatie_key =
|
||
l.alg_locatie_key(+))
|
||
x
|
||
ON csd.ins_srtdeel_key =
|
||
x.ins_srtdeel_key
|
||
LEFT JOIN
|
||
(SELECT DISTINCT
|
||
co.cnt_ins_deel_key,
|
||
c.cnt_contract_nummer_intern,
|
||
b.prs_bedrijf_naam
|
||
FROM cnt_contract_object co,
|
||
cnt_contract c,
|
||
ins_tab_discipline cd,
|
||
prs_bedrijf b
|
||
WHERE co.cnt_contract_object_verwijder IS NULL
|
||
AND co.cnt_ins_deel_key IS NOT NULL
|
||
AND co.cnt_contract_key =
|
||
c.cnt_contract_key
|
||
AND c.cnt_contract_looptijd_tot >=
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-12
|
||
),
|
||
'YYYY'
|
||
)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key
|
||
AND cd.ins_discipline_verwijder IS NULL
|
||
AND c.cnt_prs_bedrijf_key =
|
||
b.prs_bedrijf_key)
|
||
lev_onderhd
|
||
ON x.ins_deel_key =
|
||
lev_onderhd.cnt_ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT DISTINCT
|
||
co.cnt_ins_srtdeel_key,
|
||
g.alg_locatie_key,
|
||
c.cnt_contract_nummer_intern,
|
||
b.prs_bedrijf_naam
|
||
FROM cnt_contract_object co,
|
||
cnt_contract c,
|
||
ins_tab_discipline cd,
|
||
cnt_contract_plaats cp,
|
||
alg_gebouw g,
|
||
prs_bedrijf b
|
||
WHERE co.cnt_contract_object_verwijder IS NULL
|
||
AND co.cnt_ins_srtdeel_key IS NOT NULL
|
||
AND co.cnt_contract_key =
|
||
c.cnt_contract_key
|
||
AND c.cnt_contract_looptijd_tot >=
|
||
TRUNC (
|
||
ADD_MONTHS (
|
||
SYSDATE,
|
||
-12
|
||
),
|
||
'YYYY'
|
||
)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key
|
||
AND cd.ins_discipline_verwijder IS NULL
|
||
AND c.cnt_contract_key =
|
||
cp.cnt_contract_key
|
||
AND ( (cp.cnt_alg_plaats_code =
|
||
'G'
|
||
AND cp.cnt_alg_plaats_key =
|
||
g.alg_gebouw_key)
|
||
OR (cp.cnt_alg_plaats_code =
|
||
'L'
|
||
AND cp.cnt_alg_plaats_key =
|
||
g.alg_locatie_key))
|
||
AND c.cnt_prs_bedrijf_key =
|
||
b.prs_bedrijf_key)
|
||
lev_onderst
|
||
ON x.ins_srtdeel_key =
|
||
lev_onderst.cnt_ins_srtdeel_key
|
||
AND x.alg_locatie_key =
|
||
lev_onderst.alg_locatie_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde
|
||
merk
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key =
|
||
42) k1
|
||
ON x.ins_deel_key =
|
||
k1.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde
|
||
TYPE
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key =
|
||
41) k2
|
||
ON x.ins_deel_key = k2.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde
|
||
hoogte
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key =
|
||
1461) k3
|
||
ON x.ins_deel_key = k3.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde
|
||
belasting
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key =
|
||
1462) k4
|
||
ON x.ins_deel_key = k4.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde bereik
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1463)
|
||
k5
|
||
ON x.ins_deel_key = k5.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde voltage
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1464)
|
||
k6
|
||
ON x.ins_deel_key = k6.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
DECODE (ins_kenmerkdeel_waarde,
|
||
'129', 'JA',
|
||
'NEE')
|
||
apkplicht
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1465) k7
|
||
ON x.ins_deel_key = k7.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde categorie
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1467) k8
|
||
ON x.ins_deel_key = k8.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
DECODE (ins_kenmerkdeel_waarde,
|
||
'129', 'JA',
|
||
'NEE')
|
||
afgekeurd
|
||
FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1466) k9
|
||
ON x.ins_deel_key = k9.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT dsc.ins_deel_key,
|
||
dsc.ins_srtcontrole_key,
|
||
dsc.ins_deelsrtcontrole_datum,
|
||
dsc.ins_deelsrtcontrole_opmerking
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deelsrtcontrole_datum =
|
||
(SELECT MAX (ins_deelsrtcontrole_datum)
|
||
FROM ins_deelsrtcontrole
|
||
WHERE ins_deel_key = dsc.ins_deel_key
|
||
AND ins_srtcontrole_key =
|
||
dsc.ins_srtcontrole_key)) y
|
||
ON x.ins_deel_key = y.ins_deel_key
|
||
AND csd.ins_srtcontrole_key = y.ins_srtcontrole_key
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
'R' alg_ruimte_type,
|
||
r.alg_ruimte_nr
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = r.alg_ruimte_key) z1
|
||
ON x.ins_alg_ruimte_key = z1.alg_ruimte_key
|
||
AND x.ins_alg_ruimte_type = z1.alg_ruimte_type
|
||
LEFT JOIN
|
||
(SELECT wp.prs_werkplek_key,
|
||
'W' alg_ruimte_type,
|
||
r.alg_ruimte_nr
|
||
FROM prs_werkplek wp, alg_ruimte r
|
||
WHERE wp.prs_alg_ruimte_key = r.alg_ruimte_key) z2
|
||
ON x.ins_alg_ruimte_key = z2.prs_werkplek_key
|
||
AND x.ins_alg_ruimte_type = z2.alg_ruimte_type;
|
||
|
||
/* Formatted on 1-2-2012 14:45:54 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_import_inspectieobj (
|
||
p_import_key IN NUMBER
|
||
)
|
||
IS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_ongeldig NUMBER (1);
|
||
v_aanduiding VARCHAR (200);
|
||
-- De importvelden:
|
||
v_alg_locatie_code VARCHAR2 (255); -- C10
|
||
v_alg_ruimte_nr VARCHAR2 (255); -- C10
|
||
v_ins_discipline_omschrijving VARCHAR2 (255); -- C30
|
||
v_ins_srtgroep_omschrijving VARCHAR2 (255); -- C60
|
||
v_ins_srtdeel_omschrijving VARCHAR2 (255); -- C100
|
||
v_ins_deel_omschrijving VARCHAR2 (255); -- C60
|
||
v_merk VARCHAR2 (255); -- C60
|
||
v_type VARCHAR2 (255); -- C60
|
||
v_hoogte VARCHAR2 (255); -- C60
|
||
v_belasting VARCHAR2 (255); -- C60
|
||
v_bereik VARCHAR2 (255); -- C60
|
||
v_voltage VARCHAR2 (255); -- C60
|
||
v_apkplicht VARCHAR2 (255); -- C60
|
||
v_categorie VARCHAR2 (255); -- C60
|
||
v_cnt_contract_nummer_intern VARCHAR2 (255); -- C30
|
||
v_prs_bedrijf_naam VARCHAR2 (255); -- C60
|
||
v_ins_srtcontrole_oms VARCHAR2 (255); -- C60
|
||
x_periode VARCHAR2 (255); -- N4
|
||
x_controle_gepland VARCHAR2 (255); -- DATE
|
||
x_controle_laatste VARCHAR2 (255); -- DATE
|
||
v_ins_controle_datum VARCHAR2 (255); -- DATE
|
||
v_ins_controle_opm VARCHAR2 (1024); -- C500
|
||
v_afgekeurd VARCHAR2 (255); -- C60
|
||
-- Overig:
|
||
v_ins_controle_datum_d DATE; -- DATE
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM conn_imp_inspectieobj;
|
||
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
header_is_valid := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout bij opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_locatie_code);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_ruimte_nr);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_discipline_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_srtgroep_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_srtdeel_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_deel_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_merk);
|
||
fac.imp_getfield (v_newline, c_delim, v_type);
|
||
fac.imp_getfield (v_newline, c_delim, v_hoogte);
|
||
fac.imp_getfield (v_newline, c_delim, v_belasting);
|
||
fac.imp_getfield (v_newline, c_delim, v_bereik);
|
||
fac.imp_getfield (v_newline, c_delim, v_voltage);
|
||
fac.imp_getfield (v_newline, c_delim, v_apkplicht);
|
||
fac.imp_getfield (v_newline, c_delim, v_categorie);
|
||
fac.imp_getfield (v_newline, c_delim, v_cnt_contract_nummer_intern);
|
||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijf_naam);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_oms);
|
||
fac.imp_getfield (v_newline, c_delim, x_periode);
|
||
fac.imp_getfield (v_newline, c_delim, x_controle_gepland);
|
||
fac.imp_getfield (v_newline, c_delim, x_controle_laatste);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_controle_datum);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_controle_opm);
|
||
fac.imp_getfield (v_newline, c_delim, v_afgekeurd);
|
||
|
||
v_aanduiding :=
|
||
'['
|
||
|| v_ins_discipline_omschrijving
|
||
|| '|'
|
||
|| v_ins_srtgroep_omschrijving
|
||
|| '|'
|
||
|| v_ins_srtdeel_omschrijving
|
||
|| '|'
|
||
|| v_ins_deel_omschrijving
|
||
|| '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_alg_locatie_code) = 'LOCATIECODE'
|
||
AND UPPER (v_alg_ruimte_nr) = 'RUIMTE'
|
||
AND UPPER (v_ins_discipline_omschrijving) = 'DISCIPLINE'
|
||
AND UPPER (v_ins_srtgroep_omschrijving) = 'GROEP'
|
||
AND UPPER (v_ins_srtdeel_omschrijving) = 'OBJECTSOORT'
|
||
AND UPPER (v_ins_deel_omschrijving) = 'OBJECT_ID'
|
||
AND UPPER (v_merk) = 'MERK'
|
||
AND UPPER (v_type) = 'TYPE'
|
||
AND UPPER (v_hoogte) = 'HOOGTE_CM'
|
||
AND UPPER (v_belasting) = 'BELASTING_KG'
|
||
AND UPPER (v_bereik) = 'BEREIK_NM_BAR'
|
||
AND UPPER (v_voltage) = 'VOLTAGE'
|
||
AND UPPER (v_apkplicht) = 'APKPLICHT'
|
||
AND UPPER (v_categorie) = 'KEURING_CATEGORIE'
|
||
AND UPPER (v_prs_bedrijf_naam) = 'LEVERANCIER'
|
||
AND UPPER (v_cnt_contract_nummer_intern) = 'CONTRACT_NR' -- Per CONN#22359!
|
||
AND UPPER (v_ins_srtcontrole_oms) = 'SOORTCONTROLE'
|
||
AND UPPER (x_periode) = 'PERIODE'
|
||
AND UPPER (x_controle_gepland) = 'CONTROLE_GEPLAND'
|
||
AND UPPER (x_controle_laatste) = 'CONTROLE_LAATSTE'
|
||
AND UPPER (v_ins_controle_datum) = 'CONTROLEDATUM'
|
||
AND UPPER (v_ins_controle_opm) = 'CONTROLEOPMERKING'
|
||
AND UPPER (v_afgekeurd) = 'AFGEKEURD'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Locatiecode ongeldig';
|
||
v_alg_locatie_code := TRIM (v_alg_locatie_code);
|
||
|
||
IF LENGTH (v_alg_locatie_code) > 10
|
||
THEN
|
||
v_alg_locatie_code := SUBSTR (v_alg_locatie_code, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Locatiecode wordt afgebroken tot ['
|
||
|| v_alg_locatie_code
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Ruimte ongeldig';
|
||
v_alg_ruimte_nr := TRIM (v_alg_ruimte_nr);
|
||
|
||
IF LENGTH (v_alg_ruimte_nr) > 10
|
||
THEN
|
||
v_alg_ruimte_nr := SUBSTR (v_alg_ruimte_nr, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Ruimte wordt afgebroken tot [' || v_alg_ruimte_nr || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Disciplineomschrijving ongeldig';
|
||
v_ins_discipline_omschrijving :=
|
||
TRIM (v_ins_discipline_omschrijving);
|
||
|
||
IF LENGTH (v_ins_discipline_omschrijving) > 30
|
||
THEN
|
||
v_ins_discipline_omschrijving :=
|
||
SUBSTR (TRIM (v_ins_discipline_omschrijving), 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Disciplineomschrijving wordt afgebroken tot ['
|
||
|| v_ins_discipline_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Groepsoortomschrijving ongeldig';
|
||
v_ins_srtgroep_omschrijving := TRIM (v_ins_srtgroep_omschrijving);
|
||
|
||
IF LENGTH (v_ins_srtgroep_omschrijving) > 60
|
||
THEN
|
||
v_ins_srtgroep_omschrijving :=
|
||
SUBSTR (TRIM (v_ins_srtgroep_omschrijving), 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Groepsoortomschrijving wordt afgebroken tot ['
|
||
|| v_ins_srtgroep_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
-- VERVALLEN 'Objectsoortcode'
|
||
|
||
--
|
||
v_errormsg := 'Objectsoortomschrijving ongeldig';
|
||
v_ins_srtdeel_omschrijving := TRIM (v_ins_srtdeel_omschrijving);
|
||
|
||
IF LENGTH (v_ins_srtdeel_omschrijving) > 100
|
||
THEN
|
||
v_ins_srtdeel_omschrijving :=
|
||
SUBSTR (TRIM (v_ins_srtdeel_omschrijving), 1, 100);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Objectsoortomschrijving wordt afgebroken tot ['
|
||
|| v_ins_srtdeel_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Objectomschrijving ongeldig';
|
||
v_ins_deel_omschrijving := TRIM (v_ins_deel_omschrijving);
|
||
|
||
IF LENGTH (v_ins_deel_omschrijving) > 60
|
||
THEN
|
||
v_ins_deel_omschrijving :=
|
||
SUBSTR (TRIM (v_ins_deel_omschrijving), 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Objectomschrijving wordt afgebroken tot ['
|
||
|| v_ins_deel_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Merk ongeldig';
|
||
v_merk := TRIM (v_merk);
|
||
|
||
IF LENGTH (v_merk) > 60
|
||
THEN
|
||
v_merk := SUBSTR (v_merk, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Merk wordt afgebroken tot [' || v_merk || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Type ongeldig';
|
||
v_type := TRIM (v_type);
|
||
|
||
IF LENGTH (v_type) > 60
|
||
THEN
|
||
v_type := SUBSTR (v_type, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Type wordt afgebroken tot [' || v_type || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Hoogte ongeldig';
|
||
v_hoogte := TRIM (v_hoogte);
|
||
|
||
IF LENGTH (v_hoogte) > 60
|
||
THEN
|
||
v_hoogte := SUBSTR (v_hoogte, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Hoogte wordt afgebroken tot [' || v_hoogte || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Belasting ongeldig';
|
||
v_belasting := TRIM (v_belasting);
|
||
|
||
IF LENGTH (v_belasting) > 60
|
||
THEN
|
||
v_belasting := SUBSTR (v_belasting, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Belasting wordt afgebroken tot [' || v_belasting || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Bereik ongeldig';
|
||
v_bereik := TRIM (v_bereik);
|
||
|
||
IF LENGTH (v_bereik) > 60
|
||
THEN
|
||
v_bereik := SUBSTR (v_bereik, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Bereik wordt afgebroken tot [' || v_bereik || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Voltage ongeldig';
|
||
v_voltage := TRIM (v_voltage);
|
||
|
||
IF LENGTH (v_voltage) > 60
|
||
THEN
|
||
v_voltage := SUBSTR (v_voltage, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Voltage wordt afgebroken tot [' || v_voltage || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'APK-plicht ongeldig';
|
||
v_apkplicht := TRIM (v_apkplicht);
|
||
|
||
IF LENGTH (v_apkplicht) > 60
|
||
THEN
|
||
v_apkplicht := SUBSTR (v_apkplicht, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'APK-plicht wordt afgebroken tot [' || v_apkplicht || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Categorie ongeldig';
|
||
v_categorie := TRIM (v_categorie);
|
||
|
||
IF LENGTH (v_categorie) > 60
|
||
THEN
|
||
v_categorie := SUBSTR (v_categorie, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Categorie wordt afgebroken tot [' || v_categorie || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Contractnummer ongeldig';
|
||
v_cnt_contract_nummer_intern :=
|
||
TRIM (v_cnt_contract_nummer_intern);
|
||
|
||
IF LENGTH (v_cnt_contract_nummer_intern) > 30
|
||
THEN
|
||
v_cnt_contract_nummer_intern :=
|
||
SUBSTR (v_cnt_contract_nummer_intern, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Contractnummer wordt afgebroken tot ['
|
||
|| v_cnt_contract_nummer_intern
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Leverancier ongeldig';
|
||
v_prs_bedrijf_naam := TRIM (v_prs_bedrijf_naam);
|
||
|
||
IF LENGTH (v_prs_bedrijf_naam) > 60
|
||
THEN
|
||
v_prs_bedrijf_naam := SUBSTR (v_prs_bedrijf_naam, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Leverancier wordt afgebroken tot ['
|
||
|| v_prs_bedrijf_naam
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Soort controle ongeldig';
|
||
v_ins_srtcontrole_oms := TRIM (v_ins_srtcontrole_oms);
|
||
|
||
IF LENGTH (v_ins_srtcontrole_oms) > 60
|
||
THEN
|
||
v_ins_srtcontrole_oms := SUBSTR (v_ins_srtcontrole_oms, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Soort controle wordt afgebroken tot ['
|
||
|| v_ins_srtcontrole_oms
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
-- Skip 'Periode'
|
||
-- Skip 'Controle gepland'
|
||
-- Skip 'Controle laatste'
|
||
|
||
--
|
||
v_errormsg := 'Controledatum ongeldig';
|
||
v_ins_controle_datum := TRIM (v_ins_controle_datum);
|
||
v_ins_controle_datum_d := NULL;
|
||
|
||
IF (v_ins_controle_datum IS NOT NULL)
|
||
THEN
|
||
IF (fac.safe_to_date (v_ins_controle_datum, 'dd-mm-yyyy') IS NULL)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Controledatum wordt genegeerd');
|
||
ELSE
|
||
v_ins_controle_datum_d :=
|
||
fac.safe_to_date (v_ins_controle_datum, 'dd-mm-yyyy');
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Controleopmerking ongeldig';
|
||
v_ins_controle_opm := TRIM (v_ins_controle_opm);
|
||
|
||
IF LENGTH (v_ins_controle_opm) > 500
|
||
THEN
|
||
v_ins_controle_opm := SUBSTR (v_ins_controle_opm, 1, 500);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Controleopmerking wordt afgekapt op 500 posities'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Afgekeurd ongeldig';
|
||
v_afgekeurd := TRIM (v_afgekeurd);
|
||
|
||
IF LENGTH (v_afgekeurd) > 60
|
||
THEN
|
||
v_afgekeurd := SUBSTR (v_afgekeurd, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Afgekeurd wordt afgebroken tot [' || v_afgekeurd || ']'
|
||
);
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||
|
||
INSERT INTO conn_imp_inspectieobj (
|
||
alg_locatie_code,
|
||
alg_ruimte_nr,
|
||
ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
--ins_srtdeel_code, -- VERVALLEN
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
merk,
|
||
TYPE,
|
||
hoogte,
|
||
belasting,
|
||
bereik,
|
||
voltage,
|
||
apkplicht,
|
||
categorie,
|
||
cnt_contract_nummer_intern,
|
||
prs_bedrijf_naam,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_opmerking,
|
||
afgekeurd
|
||
)
|
||
VALUES (v_alg_locatie_code,
|
||
v_alg_ruimte_nr,
|
||
v_ins_discipline_omschrijving,
|
||
v_ins_srtgroep_omschrijving,
|
||
--v_ins_srtdeel_code, -- VERVALLEN
|
||
v_ins_srtdeel_omschrijving,
|
||
v_ins_deel_omschrijving,
|
||
v_merk,
|
||
v_type,
|
||
v_hoogte,
|
||
v_belasting,
|
||
v_bereik,
|
||
v_voltage,
|
||
v_apkplicht,
|
||
v_categorie,
|
||
v_cnt_contract_nummer_intern,
|
||
v_prs_bedrijf_naam,
|
||
v_ins_srtcontrole_oms,
|
||
v_ins_controle_datum_d,
|
||
v_ins_controle_opm,
|
||
v_afgekeurd);
|
||
|
||
COMMIT;
|
||
v_count_import := v_count_import + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
|
||
COMMIT;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Inspectieobjecten/aantal ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Inspectieobjecten/aantal ongeldige niet ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot - v_count_import),
|
||
''
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Inleesproces inspectieobjecten afgebroken!');
|
||
END conn_import_inspectieobj;
|
||
/
|
||
|
||
/* Formatted on 3-2-2012 11:18:55 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_update_inspectieobj (
|
||
p_import_key IN NUMBER
|
||
)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
-- SUBPROC
|
||
PROCEDURE add_insdiscipline (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT UPPER (ins_discipline_omschrijving) ins_discipline_upper,
|
||
MAX (ins_discipline_omschrijving)
|
||
ins_discipline_omschrijving
|
||
FROM conn_imp_inspectieobj
|
||
GROUP BY UPPER (ins_discipline_omschrijving);
|
||
|
||
v_errormsg VARCHAR2 (1024);
|
||
v_discipline_key NUMBER (10);
|
||
ccount NUMBER (10);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_update NUMBER (10);
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_update := 0;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_errormsg :=
|
||
'Fout bij toevoegen INS-discipline ['
|
||
|| rec.ins_discipline_omschrijving
|
||
|| ']';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_tab_discipline
|
||
WHERE ins_discipline_verwijder IS NULL
|
||
AND ins_discipline_module = 'INS'
|
||
AND UPPER (TRIM (ins_discipline_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_discipline_omschrijving));
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
INSERT INTO ins_tab_discipline (ins_discipline_module,
|
||
ins_discipline_omschrijving,
|
||
ins_discipline_min_level,
|
||
ins_discipline_kpnverplicht)
|
||
VALUES ('INS',
|
||
rec.ins_discipline_omschrijving,
|
||
1,
|
||
0)
|
||
RETURNING ins_discipline_key INTO v_discipline_key;
|
||
|
||
INSERT INTO ins_disc_params (
|
||
ins_discipline_key,
|
||
ins_disc_params_type
|
||
)
|
||
VALUES (v_discipline_key, 0);
|
||
|
||
COMMIT;
|
||
v_count_update := v_count_update + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Disciplines/aantal ingelezen: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Disciplines/aantal toegevoegd: ' || TO_CHAR (v_count_update),
|
||
''
|
||
);
|
||
COMMIT;
|
||
END;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE add_srtgroep (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT UPPER (ins_discipline_omschrijving) ins_discipline_upper,
|
||
UPPER (ins_srtgroep_omschrijving) ins_srtgroep_upper,
|
||
MAX (ins_discipline_omschrijving)
|
||
ins_discipline_omschrijving,
|
||
MAX (ins_srtgroep_omschrijving) ins_srtgroep_omschrijving
|
||
FROM conn_imp_inspectieobj
|
||
GROUP BY UPPER (ins_discipline_omschrijving),
|
||
UPPER (ins_srtgroep_omschrijving);
|
||
|
||
v_errormsg VARCHAR2 (1024);
|
||
v_discipline_key NUMBER (10);
|
||
ccount NUMBER (10);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_update NUMBER (10);
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_update := 0;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_errormsg :=
|
||
'Fout bij bepalen INS-discipline ['
|
||
|| rec.ins_discipline_omschrijving
|
||
|| ']';
|
||
|
||
SELECT ins_discipline_key
|
||
INTO v_discipline_key
|
||
FROM ins_tab_discipline
|
||
WHERE ins_discipline_verwijder IS NULL
|
||
AND ins_discipline_module = 'INS'
|
||
AND UPPER (TRIM (ins_discipline_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_discipline_omschrijving));
|
||
|
||
v_errormsg :=
|
||
'Fout bij toevoegen INS-groepsoort ['
|
||
|| rec.ins_srtgroep_omschrijving
|
||
|| ']';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_srtgroep
|
||
WHERE ins_srtgroep_verwijder IS NULL
|
||
AND ins_discipline_key = v_discipline_key
|
||
AND UPPER (TRIM (ins_srtgroep_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtgroep_omschrijving));
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
INSERT INTO ins_srtgroep (
|
||
ins_discipline_key,
|
||
ins_srtgroep_module,
|
||
ins_srtgroep_omschrijving
|
||
)
|
||
VALUES (
|
||
v_discipline_key,
|
||
'INS',
|
||
rec.ins_srtgroep_omschrijving
|
||
);
|
||
|
||
COMMIT;
|
||
v_count_update := v_count_update + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Groepsoorten/aantal ingelezen: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Groepsoorten/aantal toegevoegd: ' || TO_CHAR (v_count_update),
|
||
''
|
||
);
|
||
COMMIT;
|
||
END;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE add_srtdeel (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT UPPER (ins_discipline_omschrijving) ins_discipline_upper,
|
||
UPPER (ins_srtgroep_omschrijving) ins_srtgroep_upper,
|
||
UPPER (ins_srtdeel_omschrijving) ins_srtdeel_upper,
|
||
MAX(UPPER( SUBSTR (ins_srtgroep_omschrijving, 1, 2)
|
||
|| '-'
|
||
|| SUBSTR (ins_srtdeel_omschrijving, 1, 2)))
|
||
new_srtdeel_code_upper,
|
||
MAX (ins_discipline_omschrijving)
|
||
ins_discipline_omschrijving,
|
||
MAX (ins_srtgroep_omschrijving) ins_srtgroep_omschrijving,
|
||
MAX (ins_srtdeel_omschrijving) ins_srtdeel_omschrijving
|
||
FROM conn_imp_inspectieobj
|
||
GROUP BY UPPER (ins_discipline_omschrijving),
|
||
UPPER (ins_srtgroep_omschrijving),
|
||
UPPER (ins_srtdeel_omschrijving);
|
||
|
||
v_errormsg VARCHAR2 (1024);
|
||
v_discipline_key NUMBER (10);
|
||
v_srtgroep_key NUMBER (10);
|
||
ccount NUMBER (10);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_update NUMBER (10);
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_update := 0;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_errormsg :=
|
||
'Fout bij bepalen INS-discipline ['
|
||
|| rec.ins_discipline_omschrijving
|
||
|| ']';
|
||
|
||
SELECT ins_discipline_key
|
||
INTO v_discipline_key
|
||
FROM ins_tab_discipline
|
||
WHERE ins_discipline_verwijder IS NULL
|
||
AND ins_discipline_module = 'INS'
|
||
AND UPPER (TRIM (ins_discipline_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_discipline_omschrijving));
|
||
|
||
v_errormsg :=
|
||
'Fout bij bepalen INS-groepsoort ['
|
||
|| rec.ins_srtgroep_omschrijving
|
||
|| ']';
|
||
|
||
SELECT ins_srtgroep_key
|
||
INTO v_srtgroep_key
|
||
FROM ins_srtgroep
|
||
WHERE ins_srtgroep_verwijder IS NULL
|
||
AND ins_srtgroep_module = 'INS'
|
||
AND ins_discipline_key = v_discipline_key
|
||
AND UPPER (TRIM (ins_srtgroep_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtgroep_omschrijving));
|
||
|
||
v_errormsg :=
|
||
'Fout bij toevoegen INS-objectsoort ['
|
||
|| rec.ins_srtdeel_omschrijving
|
||
|| ']';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_srtdeel
|
||
WHERE ins_srtdeel_verwijder IS NULL
|
||
AND ins_srtdeel_module = 'INS'
|
||
AND ins_srtgroep_key = v_srtgroep_key
|
||
AND UPPER (TRIM (ins_srtdeel_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtdeel_omschrijving));
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
-- Binding 17 betekent ruimtegebonden of persoonsgebonden???
|
||
INSERT INTO ins_srtdeel (ins_srtgroep_key,
|
||
ins_srtdeel_module,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_srtdeel_binding)
|
||
VALUES (v_srtgroep_key,
|
||
'INS',
|
||
rec.new_srtdeel_code_upper,
|
||
rec.ins_srtdeel_omschrijving,
|
||
17);
|
||
|
||
COMMIT;
|
||
v_count_update := v_count_update + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Objectsoorten/aantal ingelezen: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Objectsoorten/aantal toegevoegd: ' || TO_CHAR (v_count_update),
|
||
''
|
||
);
|
||
COMMIT;
|
||
END;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE add_deelinspectie (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT obj.ins_discipline_omschrijving,
|
||
obj.ins_srtgroep_omschrijving,
|
||
obj.ins_srtdeel_omschrijving,
|
||
obj.ins_deel_omschrijving,
|
||
obj.merk,
|
||
obj.TYPE,
|
||
obj.hoogte,
|
||
obj.belasting,
|
||
obj.bereik,
|
||
obj.voltage,
|
||
DECODE (UPPER (obj.apkplicht), 'JA', 129, 'NEE', 130, -1)
|
||
apkplicht,
|
||
obj.categorie,
|
||
obj.alg_locatie_code,
|
||
obj.alg_ruimte_nr, -- CONN#21887/Relevant igv. nieuwe objecten!
|
||
obj.cnt_contract_nummer_intern,
|
||
obj.ins_srtcontrole_omschrijving,
|
||
obj.ins_deelsrtcontrole_datum,
|
||
DECODE (
|
||
COALESCE (cb.prs_bedrijf_naam, obj.prs_bedrijf_naam),
|
||
NULL,
|
||
obj.ins_deelsrtcontrole_opmerking,
|
||
COALESCE (cb.prs_bedrijf_naam, obj.prs_bedrijf_naam)
|
||
|| ':'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| COALESCE (obj.ins_deelsrtcontrole_opmerking, '-')
|
||
)
|
||
ins_deelsrtcontrole_opmerking,
|
||
DECODE (UPPER (obj.afgekeurd), 'JA', 129, 'NEE', 130, -1)
|
||
afgekeurd,
|
||
cb.cnt_contract_key
|
||
FROM (SELECT ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
merk,
|
||
TYPE,
|
||
hoogte,
|
||
belasting,
|
||
bereik,
|
||
voltage,
|
||
apkplicht,
|
||
categorie,
|
||
alg_locatie_code,
|
||
alg_ruimte_nr, -- CONN#21887/Relevant igv. nieuwe objecten!
|
||
cnt_contract_nummer_intern, -- Per CONN#22359!
|
||
prs_bedrijf_naam,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_opmerking,
|
||
afgekeurd
|
||
FROM conn_imp_inspectieobj) obj
|
||
LEFT JOIN
|
||
(SELECT c.cnt_contract_nummer_intern,
|
||
b.prs_bedrijf_naam,
|
||
c.cnt_contract_key
|
||
FROM cnt_contract c,
|
||
ins_tab_discipline td,
|
||
cnt_disc_params dp,
|
||
prs_bedrijf b
|
||
WHERE c.cnt_contract_verwijder IS NULL
|
||
AND c.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND td.ins_discipline_verwijder IS NULL
|
||
AND td.ins_discipline_key =
|
||
dp.cnt_ins_discipline_key
|
||
AND dp.cnt_srtcontract_type = 3 -- Ondersteuning/Support
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key)
|
||
cb
|
||
ON obj.cnt_contract_nummer_intern =
|
||
cb.cnt_contract_nummer_intern;
|
||
|
||
v_errormsg VARCHAR2 (1024);
|
||
c_ruimte_nr VARCHAR2 (10) := 'WERKPLAATS';
|
||
c_srtruimte_key NUMBER (10) := 1;
|
||
c_merk_srtkey NUMBER (10) := 42;
|
||
c_type_srtkey NUMBER (10) := 41;
|
||
c_hoogte_srtkey NUMBER (10) := 1461;
|
||
c_belasting_srtkey NUMBER (10) := 1462;
|
||
c_bereik_srtkey NUMBER (10) := 1463;
|
||
c_voltage_srtkey NUMBER (10) := 1464;
|
||
c_apkplicht_srtkey NUMBER (10) := 1465;
|
||
c_categorie_srtkey NUMBER (10) := 1467;
|
||
c_afgekeurd_srtkey NUMBER (10) := 1466;
|
||
c_controle_periode NUMBER (10) := 365;
|
||
v_discipline_key NUMBER (10);
|
||
v_srtgroep_key NUMBER (10);
|
||
v_srtdeel_key NUMBER (10);
|
||
v_locatie_key NUMBER (10);
|
||
v_deel_key NUMBER (10);
|
||
v_deel_oms VARCHAR2 (60);
|
||
v_gebouw_key NUMBER (10);
|
||
v_verdieping_key NUMBER (10);
|
||
v_ruimte_key NUMBER (10);
|
||
v_kenmerk_key NUMBER (10);
|
||
v_kenmerkdeel_key NUMBER (10);
|
||
v_srtcontrole_id VARCHAR2 (20);
|
||
v_controlemode_key NUMBER (10);
|
||
ccount NUMBER (10);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_oupdate NUMBER (10);
|
||
v_count_cupdate NUMBER (10);
|
||
v_aanduiding VARCHAR (200);
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_oupdate := 0;
|
||
v_count_cupdate := 0;
|
||
v_aanduiding := '';
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.ins_discipline_omschrijving
|
||
|| '|'
|
||
|| rec.ins_srtgroep_omschrijving
|
||
|| '|'
|
||
|| rec.ins_srtdeel_omschrijving
|
||
|| '|'
|
||
|| rec.ins_deel_omschrijving
|
||
|| '] ';
|
||
v_errormsg := 'Fout bij bepalen INS-discipline';
|
||
|
||
SELECT ins_discipline_key
|
||
INTO v_discipline_key
|
||
FROM ins_discipline
|
||
WHERE ins_discipline_verwijder IS NULL
|
||
AND ins_discipline_module = 'INS'
|
||
AND UPPER (TRIM (ins_discipline_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_discipline_omschrijving));
|
||
|
||
v_errormsg := 'Fout bij bepalen INS-groepsoort';
|
||
|
||
SELECT ins_srtgroep_key
|
||
INTO v_srtgroep_key
|
||
FROM ins_srtgroep
|
||
WHERE ins_srtgroep_verwijder IS NULL
|
||
AND ins_srtgroep_module = 'INS'
|
||
AND ins_discipline_key = v_discipline_key
|
||
AND UPPER (TRIM (ins_srtgroep_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtgroep_omschrijving));
|
||
|
||
v_errormsg := 'Fout bij bepalen INS-objectsoort';
|
||
|
||
SELECT ins_srtdeel_key
|
||
INTO v_srtdeel_key
|
||
FROM ins_srtdeel
|
||
WHERE ins_srtdeel_verwijder IS NULL
|
||
AND ins_srtdeel_module = 'INS'
|
||
AND ins_srtgroep_key = v_srtgroep_key
|
||
AND UPPER (TRIM (ins_srtdeel_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtdeel_omschrijving));
|
||
|
||
v_errormsg :=
|
||
'Fout bij bepalen locatie [' || rec.alg_locatie_code || ']';
|
||
|
||
SELECT alg_locatie_key
|
||
INTO v_locatie_key
|
||
FROM alg_locatie
|
||
WHERE alg_locatie_verwijder IS NULL
|
||
AND UPPER (TRIM (alg_locatie_code)) =
|
||
UPPER (TRIM (rec.alg_locatie_code));
|
||
|
||
-- Ruimtegebonden objecten hebben een unieke ID binnen de locatie
|
||
v_errormsg := 'Fout bij bepalen INS-object';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_deel d
|
||
WHERE ins_deel_verwijder IS NULL
|
||
AND ins_deel_module = 'INS'
|
||
AND ins_srtdeel_key = v_srtdeel_key
|
||
AND ins_alg_locatie_key = v_locatie_key
|
||
AND ins_deel_upper = UPPER (rec.ins_deel_omschrijving);
|
||
|
||
IF ccount > 0 -- Object bestaat reeds op locatie!
|
||
THEN
|
||
SELECT MAX (d.ins_deel_key)
|
||
INTO v_deel_key
|
||
FROM ins_deel d
|
||
WHERE ins_deel_verwijder IS NULL
|
||
AND ins_deel_module = 'INS'
|
||
AND ins_srtdeel_key = v_srtdeel_key
|
||
AND ins_alg_locatie_key = v_locatie_key
|
||
AND ins_deel_upper =
|
||
UPPER (rec.ins_deel_omschrijving);
|
||
ELSE -- Object bestaat nog niet op locatie, dus toevoegen!
|
||
v_errormsg := 'Fout bij bepalen default ID';
|
||
|
||
SELECT INS.GET_DESCRIPTION ('LPN_INS_DEEL',
|
||
NULL,
|
||
ins_srtdeel_code_upper)
|
||
INTO v_deel_oms
|
||
FROM ins_srtdeel
|
||
WHERE ins_srtdeel_key = v_srtdeel_key;
|
||
|
||
v_errormsg := 'Fout bij bepalen gewenste ruimte';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE r.alg_ruimte_upper_nr = UPPER (rec.alg_ruimte_nr)
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = v_locatie_key;
|
||
|
||
IF ccount > 0 -- rec.alg_ruimte_nr bekend op locatie!
|
||
THEN
|
||
SELECT MAX (r.alg_ruimte_key)
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE r.alg_ruimte_upper_nr = rec.alg_ruimte_nr
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = v_locatie_key;
|
||
ELSE -- rec.alg_ruimte_nr onbekend op locatie, c_ruimte_nr ook?
|
||
v_errormsg := 'Fout bij bepalen default ruimte';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE r.alg_ruimte_upper_nr = c_ruimte_nr
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = v_locatie_key;
|
||
|
||
IF ccount > 0 -- c_ruimte_nr bekend op locatie!
|
||
THEN
|
||
SELECT MAX (r.alg_ruimte_key)
|
||
INTO v_ruimte_key
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE r.alg_ruimte_upper_nr = c_ruimte_nr
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = v_locatie_key;
|
||
ELSE -- c_ruimte_nr nog onbekend op locatie, dan aanmaken!
|
||
v_errormsg := 'Fout bij bepalen default gebouw';
|
||
|
||
SELECT MIN (g.alg_gebouw_key)
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziggebouw g
|
||
WHERE g.alg_locatie_key = v_locatie_key;
|
||
|
||
v_errormsg := 'Fout bij bepalen default verdieping';
|
||
|
||
SELECT v.alg_verdieping_key
|
||
INTO v_verdieping_key
|
||
FROM alg_v_aanwezigverdieping v
|
||
WHERE v.alg_gebouw_key = v_gebouw_key
|
||
AND alg_verdieping_volgnr =
|
||
(SELECT MIN (alg_verdieping_volgnr)
|
||
FROM alg_v_aanwezigverdieping
|
||
WHERE alg_gebouw_key =
|
||
v.alg_gebouw_key);
|
||
|
||
v_errormsg := 'Fout bij toevoegen default ruimte';
|
||
|
||
INSERT INTO alg_ruimte (
|
||
alg_verdieping_key,
|
||
alg_srtruimte_key,
|
||
alg_ruimte_nr
|
||
)
|
||
VALUES (
|
||
v_verdieping_key,
|
||
c_srtruimte_key,
|
||
c_ruimte_nr
|
||
)
|
||
RETURNING alg_ruimte_key INTO v_ruimte_key;
|
||
END IF;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij toevoegen INS-object';
|
||
|
||
INSERT INTO ins_deel (ins_discipline_key,
|
||
ins_srtdeel_key,
|
||
ins_deel_module,
|
||
ins_deel_omschrijving,
|
||
ins_alg_ruimte_key,
|
||
ins_alg_ruimte_type,
|
||
ins_alg_locatie_key)
|
||
VALUES (v_discipline_key,
|
||
v_srtdeel_key,
|
||
'INS',
|
||
COALESCE (rec.ins_deel_omschrijving, v_deel_oms),
|
||
v_ruimte_key,
|
||
'R',
|
||
v_locatie_key)
|
||
RETURNING ins_deel_key INTO v_deel_key;
|
||
|
||
COMMIT;
|
||
|
||
v_count_oupdate := v_count_oupdate + 1;
|
||
END IF;
|
||
|
||
-- MERK toevoegen; huidige merk NOOIT gewijzigd via import!
|
||
IF rec.merk IS NOT NULL AND UPPER (rec.merk) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen merk-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_merk_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen merk-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_merk_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
100)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Merk-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_merk_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige merk';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen merk';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.merk);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen merk';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.merk
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- TYPE toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.TYPE IS NOT NULL AND UPPER (rec.TYPE) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen type-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_type_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen type-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_type_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
105)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Type-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_type_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige type';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen type';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.TYPE);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen type';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.type
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- HOOGTE toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.hoogte IS NOT NULL AND UPPER (rec.hoogte) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen hoogte-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_hoogte_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen hoogte-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_hoogte_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
110)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Hoogte-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_hoogte_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige hoogte';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen hoogte';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.hoogte);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen hoogte';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.hoogte
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- BELASTING toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.belasting IS NOT NULL AND UPPER (rec.belasting) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen belasting-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_belasting_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen belasting-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_belasting_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
112)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Belasting-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_belasting_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige belasting';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen belasting';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.belasting);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen belasting';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.belasting
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- BEREIK toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.bereik IS NOT NULL AND UPPER (rec.bereik) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen bereik-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_bereik_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen bereik-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_bereik_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
114)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Bereik-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_bereik_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige bereik';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen bereik';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.bereik);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen bereik';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.bereik
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- VOLTAGE toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.voltage IS NOT NULL AND UPPER (rec.voltage) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen voltage-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_voltage_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen voltage-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_voltage_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
116)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Voltage-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_voltage_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige voltage';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen voltage';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.voltage);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen voltage';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.voltage
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- APK toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.apkplicht IS NOT NULL AND UPPER (rec.apkplicht) != -1
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen APK-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_apkplicht_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen APK-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_apkplicht_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
118)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/APK-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_apkplicht_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige APK';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen APK';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.apkplicht);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen APK';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.apkplicht
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- CATEGORIE toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.categorie IS NOT NULL AND UPPER (rec.categorie) != 'NVT'
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen categorie-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_categorie_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen categorie-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_categorie_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
120)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/Categorie-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_categorie_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige categorie';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen categorie';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.categorie);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen categorie';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.categorie
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- AFGEKEURD toevoegen; huidige waarde NOOIT gewijzigd via import!
|
||
IF rec.afgekeurd IS NOT NULL AND UPPER (rec.afgekeurd) != -1
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen afgekeurd-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_afgekeurd_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen afgekeurd-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_afgekeurd_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
122)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/afgekeurd-kenmerk toegevoegd voor: '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_afgekeurd_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige afgekeurd';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen afgekeurd';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.afgekeurd);
|
||
|
||
COMMIT;
|
||
--ELSE
|
||
-- v_errormsg := 'Fout bij wijzigen afgekeurd';
|
||
|
||
-- UPDATE ins_kenmerkdeel
|
||
-- SET ins_kenmerkdeel_waarde = rec.afgekeurd
|
||
-- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
-- COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Toevoegen controle; gebruik [a] de meest specifieke soort en
|
||
-- [b] de minst recente mode!
|
||
v_errormsg := 'Fout bij bepalen soort controle';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_srtcontrole sc
|
||
WHERE UPPER (TRIM (sc.ins_srtcontrole_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtcontrole_omschrijving))
|
||
AND ( (sc.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND sc.ins_srtcontrole_niveau = 'S')
|
||
OR (sc.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND sc.ins_srtcontrole_niveau = 'G')
|
||
OR (sc.ins_srtinstallatie_key = v_discipline_key
|
||
AND sc.ins_srtcontrole_niveau = 'D'));
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen soort controle';
|
||
|
||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_srtcontrole_periode)
|
||
VALUES (v_srtdeel_key,
|
||
'S',
|
||
SUBSTR (rec.ins_srtcontrole_omschrijving, 1, 60),
|
||
c_controle_periode) -- Default een jaar!
|
||
RETURNING ins_srtcontrole_key INTO v_srtcontrole_id;
|
||
|
||
v_srtcontrole_id := 'S' || v_srtcontrole_id;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/soort controle toegevoegd: '
|
||
|| SUBSTR (rec.ins_srtcontrole_omschrijving, 1, 60)
|
||
|| ' voor '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT MAX(sc.ins_srtcontrole_niveau
|
||
|| TO_CHAR (sc.ins_srtcontrole_key))
|
||
INTO v_srtcontrole_id
|
||
FROM ins_srtcontrole sc
|
||
WHERE UPPER (TRIM (sc.ins_srtcontrole_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtcontrole_omschrijving))
|
||
AND ( (sc.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND sc.ins_srtcontrole_niveau = 'S')
|
||
OR (sc.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND sc.ins_srtcontrole_niveau = 'G')
|
||
OR (sc.ins_srtinstallatie_key = v_discipline_key
|
||
AND sc.ins_srtcontrole_niveau = 'D'));
|
||
END IF;
|
||
|
||
IF rec.ins_deelsrtcontrole_datum IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen controle mode';
|
||
|
||
SELECT MIN (ins_controlemode_key)
|
||
INTO v_controlemode_key
|
||
FROM ins_controlemode;
|
||
|
||
v_errormsg := 'Fout bij toevoegen controle';
|
||
|
||
INSERT INTO ins_deelsrtcontrole (
|
||
ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_opmerking
|
||
)
|
||
VALUES (v_deel_key,
|
||
fac.safe_to_number (SUBSTR (v_srtcontrole_id, 2)),
|
||
rec.ins_deelsrtcontrole_datum,
|
||
v_controlemode_key,
|
||
rec.ins_deelsrtcontrole_opmerking);
|
||
|
||
COMMIT;
|
||
|
||
v_count_cupdate := v_count_cupdate + 1;
|
||
END IF;
|
||
|
||
-- Uitbreiden contract-plaats-scope als contractnummer voorkomt in
|
||
-- importbestand (ie. cnt_contract_key kon worden bepaald) en deze
|
||
-- relatie nog niet bestaat!
|
||
IF (rec.cnt_contract_key IS NOT NULL)
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen contract-plaats-relatie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM cnt_contract_plaats
|
||
WHERE cnt_contract_plaats_verwijder IS NULL
|
||
AND cnt_contract_key = rec.cnt_contract_key
|
||
AND cnt_alg_plaats_key = v_locatie_key
|
||
AND cnt_alg_plaats_code = 'L';
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen contract-plaats-scope';
|
||
|
||
INSERT INTO cnt_contract_plaats (
|
||
cnt_contract_key,
|
||
cnt_alg_plaats_key,
|
||
cnt_alg_plaats_code
|
||
)
|
||
VALUES (rec.cnt_contract_key, v_locatie_key, 'L');
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/plaats-contractscope uitgebreid: '
|
||
|| rec.cnt_contract_nummer_intern
|
||
|| ' plus '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Uitbreiden contract-object-scope als contractnummer voorkomt in
|
||
-- importbestand (ie. cnt_contract_key kon worden bepaald) en deze
|
||
-- relatie nog niet bestaat!
|
||
IF (rec.cnt_contract_key IS NOT NULL)
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen contract-object-relatie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM cnt_contract_object
|
||
WHERE cnt_contract_object_verwijder IS NULL
|
||
AND cnt_contract_key = rec.cnt_contract_key
|
||
AND cnt_ins_srtdeel_key = v_srtdeel_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen contract-object-scope';
|
||
|
||
INSERT INTO cnt_contract_object (
|
||
cnt_contract_key,
|
||
cnt_ins_srtdeel_key
|
||
)
|
||
VALUES (rec.cnt_contract_key, v_srtdeel_key);
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/object-contractscope uitgebreid: '
|
||
|| rec.cnt_contract_nummer_intern
|
||
|| ' plus '
|
||
|| rec.ins_srtdeel_omschrijving,
|
||
''
|
||
);
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Objecten/aantal ingelezen: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Objecten/aantal toegevoegd: ' || TO_CHAR (v_count_oupdate),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Controles/aantal toegevoegd: ' || TO_CHAR (v_count_cupdate),
|
||
''
|
||
);
|
||
COMMIT;
|
||
END;
|
||
-- MAIN
|
||
BEGIN
|
||
add_insdiscipline (p_import_key);
|
||
add_srtgroep (p_import_key);
|
||
add_srtdeel (p_import_key);
|
||
add_deelinspectie (p_import_key);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Importproces inspectieobjecten afgebroken!');
|
||
END conn_update_inspectieobj;
|
||
/
|
||
|
||
/* Formatted on 9-3-2012 17:37:17 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_rap_keurobjecten_expimp
|
||
(
|
||
fclt_f_locatiecode,
|
||
ruimte,
|
||
fclt_f_discipline,
|
||
fclt_f_objectsoort,
|
||
object_id,
|
||
fclt_f_merk,
|
||
fclt_f_keuring_categorie,
|
||
fclt_f_contract_nr,
|
||
fclt_f_leverancier,
|
||
fclt_f_soortcontrole,
|
||
--periode,
|
||
--controle_gepland,
|
||
--controle_laatste,
|
||
controledatum,
|
||
controleopmerking,
|
||
fclt_f_afgekeurd
|
||
)
|
||
AS
|
||
SELECT x.alg_locatie_code,
|
||
COALESCE (z1.alg_ruimte_nr, z2.alg_ruimte_nr),
|
||
x.ins_discipline_omschrijving,
|
||
x.ins_srtdeel_omschrijving,
|
||
x.ins_deel_omschrijving,
|
||
REPLACE (k1.merk, CHR (13) || CHR (10), ' '),
|
||
k2.categorie,
|
||
COALESCE (lev_onderhd.cnt_contract_nummer_intern,
|
||
lev_onderst.cnt_contract_nummer_intern)
|
||
contract_nr,
|
||
COALESCE (lev_onderhd.prs_bedrijf_naam,
|
||
lev_onderst.prs_bedrijf_naam)
|
||
leverancier,
|
||
csd.ins_srtcontrole_omschrijving,
|
||
--TO_CHAR (csd.ins_srtcontrole_periode),
|
||
--DECODE (
|
||
-- y.ins_deelsrtcontrole_datum,
|
||
-- NULL,
|
||
-- TO_CHAR (x.ins_deel_aanmaak + csd.ins_srtcontrole_periode,
|
||
-- 'dd-mm-yyyy'),
|
||
-- TO_CHAR (
|
||
-- y.ins_deelsrtcontrole_datum + csd.ins_srtcontrole_periode,
|
||
-- 'dd-mm-yyyy'
|
||
-- )
|
||
--),
|
||
--DECODE (y.ins_deelsrtcontrole_datum,
|
||
-- NULL, TO_CHAR (x.ins_deel_aanmaak, 'dd-mm-yyyy'),
|
||
-- TO_CHAR (y.ins_deelsrtcontrole_datum, 'dd-mm-yyyy')),
|
||
NULL controledatum,
|
||
NULL controlopmerking,
|
||
k3.afgekeurd
|
||
FROM (SELECT scs.ins_srtinstallatie_key
|
||
ins_srtdeel_key,
|
||
scs.ins_srtcontrole_key,
|
||
scs.ins_srtcontrole_omschrijving,
|
||
scs.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scs
|
||
WHERE scs.ins_srtcontrole_niveau =
|
||
'S'
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scg.ins_srtcontrole_key,
|
||
scg.ins_srtcontrole_omschrijving,
|
||
scg.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scg,
|
||
ins_srtdeel sd
|
||
WHERE scg.ins_srtcontrole_niveau =
|
||
'G'
|
||
AND scg.ins_srtinstallatie_key =
|
||
sd.ins_srtgroep_key
|
||
UNION ALL
|
||
SELECT sd.ins_srtdeel_key,
|
||
scd.ins_srtcontrole_key,
|
||
scd.ins_srtcontrole_omschrijving,
|
||
scd.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole scd,
|
||
ins_srtgroep sg,
|
||
ins_srtdeel sd
|
||
WHERE scd.ins_srtcontrole_niveau =
|
||
'D'
|
||
AND scd.ins_srtinstallatie_key =
|
||
sg.ins_discipline_key
|
||
AND sg.ins_srtgroep_key =
|
||
sd.ins_srtgroep_key)
|
||
csd
|
||
LEFT JOIN
|
||
(SELECT d.ins_deel_key,
|
||
d.ins_deel_aanmaak,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_alg_ruimte_key,
|
||
d.ins_alg_ruimte_type,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_code,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sg.ins_srtgroep_omschrijving,
|
||
td.ins_discipline_omschrijving,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_code
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
ins_tab_discipline td,
|
||
alg_locatie l
|
||
WHERE d.ins_srtdeel_key =
|
||
sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key =
|
||
sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND d.ins_alg_locatie_key =
|
||
l.alg_locatie_key(+))
|
||
x
|
||
ON csd.ins_srtdeel_key =
|
||
x.ins_srtdeel_key
|
||
LEFT JOIN
|
||
(SELECT DISTINCT
|
||
co.cnt_ins_deel_key,
|
||
c.cnt_contract_nummer_intern,
|
||
b.prs_bedrijf_naam
|
||
FROM cnt_contract_object co,
|
||
cnt_contract c,
|
||
ins_tab_discipline cd,
|
||
prs_bedrijf b
|
||
WHERE co.cnt_contract_object_verwijder IS NULL
|
||
AND co.cnt_ins_deel_key IS NOT NULL
|
||
AND co.cnt_contract_key =
|
||
c.cnt_contract_key
|
||
AND c.cnt_contract_looptijd_tot >=
|
||
TRUNC (
|
||
ADD_MONTHS (SYSDATE,
|
||
-12),
|
||
'YYYY'
|
||
)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key
|
||
AND cd.ins_discipline_verwijder IS NULL
|
||
AND c.cnt_prs_bedrijf_key =
|
||
b.prs_bedrijf_key)
|
||
lev_onderhd
|
||
ON x.ins_deel_key =
|
||
lev_onderhd.cnt_ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT DISTINCT
|
||
co.cnt_ins_srtdeel_key,
|
||
g.alg_locatie_key,
|
||
c.cnt_contract_nummer_intern,
|
||
b.prs_bedrijf_naam
|
||
FROM cnt_contract_object co,
|
||
cnt_contract c,
|
||
ins_tab_discipline cd,
|
||
cnt_contract_plaats cp,
|
||
alg_gebouw g,
|
||
prs_bedrijf b
|
||
WHERE co.cnt_contract_object_verwijder IS NULL
|
||
AND co.cnt_ins_srtdeel_key IS NOT NULL
|
||
AND co.cnt_contract_key =
|
||
c.cnt_contract_key
|
||
AND c.cnt_contract_looptijd_tot >=
|
||
TRUNC (
|
||
ADD_MONTHS (SYSDATE, -12),
|
||
'YYYY'
|
||
)
|
||
AND c.ins_discipline_key =
|
||
cd.ins_discipline_key
|
||
AND cd.ins_discipline_verwijder IS NULL
|
||
AND c.cnt_contract_key =
|
||
cp.cnt_contract_key
|
||
AND ( (cp.cnt_alg_plaats_code =
|
||
'G'
|
||
AND cp.cnt_alg_plaats_key =
|
||
g.alg_gebouw_key)
|
||
OR (cp.cnt_alg_plaats_code =
|
||
'L'
|
||
AND cp.cnt_alg_plaats_key =
|
||
g.alg_locatie_key))
|
||
AND c.cnt_prs_bedrijf_key =
|
||
b.prs_bedrijf_key)
|
||
lev_onderst
|
||
ON x.ins_srtdeel_key =
|
||
lev_onderst.cnt_ins_srtdeel_key
|
||
AND x.alg_locatie_key =
|
||
lev_onderst.alg_locatie_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde merk
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 42) k1
|
||
ON x.ins_deel_key = k1.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
ins_kenmerkdeel_waarde categorie
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1467) k2
|
||
ON x.ins_deel_key = k2.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
DECODE (ins_kenmerkdeel_waarde,
|
||
'129', 'JA',
|
||
'NEE')
|
||
afgekeurd
|
||
FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 1466) k3
|
||
ON x.ins_deel_key = k3.ins_deel_key
|
||
LEFT JOIN
|
||
(SELECT dsc.ins_deel_key,
|
||
dsc.ins_srtcontrole_key,
|
||
dsc.ins_deelsrtcontrole_datum,
|
||
dsc.ins_deelsrtcontrole_opmerking
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deelsrtcontrole_datum =
|
||
(SELECT MAX (ins_deelsrtcontrole_datum)
|
||
FROM ins_deelsrtcontrole
|
||
WHERE ins_deel_key = dsc.ins_deel_key
|
||
AND ins_srtcontrole_key =
|
||
dsc.ins_srtcontrole_key)) y
|
||
ON x.ins_deel_key = y.ins_deel_key
|
||
AND csd.ins_srtcontrole_key = y.ins_srtcontrole_key
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
'R' alg_ruimte_type,
|
||
r.alg_ruimte_nr
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = r.alg_ruimte_key) z1
|
||
ON x.ins_alg_ruimte_key = z1.alg_ruimte_key
|
||
AND x.ins_alg_ruimte_type = z1.alg_ruimte_type
|
||
LEFT JOIN
|
||
(SELECT wp.prs_werkplek_key,
|
||
'W' alg_ruimte_type,
|
||
r.alg_ruimte_nr
|
||
FROM prs_werkplek wp, alg_ruimte r
|
||
WHERE wp.prs_alg_ruimte_key = r.alg_ruimte_key) z2
|
||
ON x.ins_alg_ruimte_key = z2.prs_werkplek_key
|
||
AND x.ins_alg_ruimte_type = z2.alg_ruimte_type;
|
||
|
||
/* Formatted on 1-2-2012 14:45:54 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_import_keurobjecten (
|
||
p_import_key IN NUMBER
|
||
)
|
||
IS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_ongeldig NUMBER (1);
|
||
v_aanduiding VARCHAR (200);
|
||
-- De importvelden:
|
||
v_alg_locatie_code VARCHAR2 (255); -- C10
|
||
x_alg_ruimte_nr VARCHAR2 (255); -- C10
|
||
x_ins_discipline_omschrijving VARCHAR2 (255); -- C30
|
||
x_ins_srtdeel_omschrijving VARCHAR2 (255); -- C100
|
||
v_ins_deel_omschrijving VARCHAR2 (255); -- C60
|
||
x_merk VARCHAR2 (255); -- C60
|
||
x_categorie VARCHAR2 (255); -- C60
|
||
v_cnt_contract_nummer_intern VARCHAR2 (255); -- C30
|
||
v_prs_bedrijf_naam VARCHAR2 (255); -- C60
|
||
v_ins_srtcontrole_oms VARCHAR2 (255); -- C60
|
||
v_ins_controle_datum VARCHAR2 (255); -- DATE
|
||
v_ins_controle_opm VARCHAR2 (1024); -- C500
|
||
v_afgekeurd VARCHAR2 (255); -- C60
|
||
-- Overig:
|
||
v_ins_controle_datum_d DATE; -- DATE
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM conn_imp_keurobjecten;
|
||
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
header_is_valid := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout bij opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_locatie_code);
|
||
fac.imp_getfield (v_newline, c_delim, x_alg_ruimte_nr);
|
||
fac.imp_getfield (v_newline, c_delim, x_ins_discipline_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, x_ins_srtdeel_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_deel_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, x_merk);
|
||
fac.imp_getfield (v_newline, c_delim, x_categorie);
|
||
fac.imp_getfield (v_newline, c_delim, v_cnt_contract_nummer_intern);
|
||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijf_naam);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_oms);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_controle_datum);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_controle_opm);
|
||
fac.imp_getfield (v_newline, c_delim, v_afgekeurd);
|
||
|
||
v_aanduiding :=
|
||
'['
|
||
|| x_ins_discipline_omschrijving
|
||
|| '|'
|
||
|| x_ins_srtdeel_omschrijving
|
||
|| '|'
|
||
|| v_ins_deel_omschrijving
|
||
|| '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_alg_locatie_code) = 'LOCATIECODE'
|
||
AND UPPER (x_alg_ruimte_nr) = 'RUIMTE'
|
||
AND UPPER (x_ins_discipline_omschrijving) = 'DISCIPLINE'
|
||
AND UPPER (x_ins_srtdeel_omschrijving) = 'OBJECTSOORT'
|
||
AND UPPER (v_ins_deel_omschrijving) = 'OBJECT_ID'
|
||
AND UPPER (x_merk) = 'MERK'
|
||
AND UPPER (x_categorie) = 'KEURING_CATEGORIE'
|
||
AND UPPER (v_prs_bedrijf_naam) = 'LEVERANCIER'
|
||
AND UPPER (v_cnt_contract_nummer_intern) = 'CONTRACT_NR' -- Per CONN#22359!
|
||
AND UPPER (v_ins_srtcontrole_oms) = 'SOORTCONTROLE'
|
||
AND UPPER (v_ins_controle_datum) = 'CONTROLEDATUM'
|
||
AND UPPER (v_ins_controle_opm) = 'CONTROLEOPMERKING'
|
||
AND UPPER (v_afgekeurd) = 'AFGEKEURD'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Locatiecode ongeldig';
|
||
v_alg_locatie_code := TRIM (v_alg_locatie_code);
|
||
|
||
IF LENGTH (v_alg_locatie_code) > 10
|
||
THEN
|
||
v_alg_locatie_code := SUBSTR (v_alg_locatie_code, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Locatiecode wordt afgebroken tot ['
|
||
|| v_alg_locatie_code
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
-- Skip 'Ruimte'
|
||
-- Skip 'Discipline'
|
||
-- Skip 'Objectsoort'
|
||
|
||
--
|
||
v_errormsg := 'Objectomschrijving ongeldig';
|
||
v_ins_deel_omschrijving := TRIM (v_ins_deel_omschrijving);
|
||
|
||
IF LENGTH (v_ins_deel_omschrijving) > 60
|
||
THEN
|
||
v_ins_deel_omschrijving :=
|
||
SUBSTR (TRIM (v_ins_deel_omschrijving), 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Objectomschrijving wordt afgebroken tot ['
|
||
|| v_ins_deel_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
-- Skip 'Merk'
|
||
-- Skip 'Categorie'
|
||
|
||
--
|
||
v_errormsg := 'Contractnummer ongeldig';
|
||
v_cnt_contract_nummer_intern :=
|
||
TRIM (v_cnt_contract_nummer_intern);
|
||
|
||
IF LENGTH (v_cnt_contract_nummer_intern) > 30
|
||
THEN
|
||
v_cnt_contract_nummer_intern :=
|
||
SUBSTR (v_cnt_contract_nummer_intern, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Contractnummer wordt afgebroken tot ['
|
||
|| v_cnt_contract_nummer_intern
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Leverancier ongeldig';
|
||
v_prs_bedrijf_naam := TRIM (v_prs_bedrijf_naam);
|
||
|
||
IF LENGTH (v_prs_bedrijf_naam) > 60
|
||
THEN
|
||
v_prs_bedrijf_naam := SUBSTR (v_prs_bedrijf_naam, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Leverancier wordt afgebroken tot ['
|
||
|| v_prs_bedrijf_naam
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Soort controle ongeldig';
|
||
v_ins_srtcontrole_oms := TRIM (v_ins_srtcontrole_oms);
|
||
|
||
IF LENGTH (v_ins_srtcontrole_oms) > 60
|
||
THEN
|
||
v_ins_srtcontrole_oms := SUBSTR (v_ins_srtcontrole_oms, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Soort controle wordt afgebroken tot ['
|
||
|| v_ins_srtcontrole_oms
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Controledatum ongeldig';
|
||
v_ins_controle_datum := TRIM (v_ins_controle_datum);
|
||
v_ins_controle_datum_d := NULL;
|
||
|
||
IF (v_ins_controle_datum IS NOT NULL)
|
||
THEN
|
||
IF (fac.safe_to_date (v_ins_controle_datum, 'dd-mm-yyyy') IS NULL)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Controledatum wordt genegeerd');
|
||
ELSE
|
||
v_ins_controle_datum_d :=
|
||
fac.safe_to_date (v_ins_controle_datum, 'dd-mm-yyyy');
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Controleopmerking ongeldig';
|
||
v_ins_controle_opm := TRIM (v_ins_controle_opm);
|
||
|
||
IF LENGTH (v_ins_controle_opm) > 500
|
||
THEN
|
||
v_ins_controle_opm := SUBSTR (v_ins_controle_opm, 1, 500);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Controleopmerking wordt afgekapt op 500 posities'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Afgekeurd ongeldig';
|
||
v_afgekeurd := TRIM (v_afgekeurd);
|
||
|
||
IF LENGTH (v_afgekeurd) > 60
|
||
THEN
|
||
v_afgekeurd := SUBSTR (v_afgekeurd, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Afgekeurd wordt afgebroken tot [' || v_afgekeurd || ']'
|
||
);
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||
|
||
INSERT INTO conn_imp_keurobjecten (
|
||
alg_locatie_code,
|
||
ins_deel_omschrijving,
|
||
cnt_contract_nummer_intern,
|
||
prs_bedrijf_naam,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_opmerking,
|
||
afgekeurd
|
||
)
|
||
VALUES (v_alg_locatie_code,
|
||
v_ins_deel_omschrijving,
|
||
v_cnt_contract_nummer_intern,
|
||
v_prs_bedrijf_naam,
|
||
v_ins_srtcontrole_oms,
|
||
v_ins_controle_datum_d,
|
||
v_ins_controle_opm,
|
||
v_afgekeurd);
|
||
|
||
COMMIT;
|
||
v_count_import := v_count_import + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
|
||
COMMIT;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'keurobjecten/aantal ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'keurobjecten/aantal ongeldige niet ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot - v_count_import),
|
||
''
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Inleesproces keurobjecten afgebroken!');
|
||
END conn_import_keurobjecten;
|
||
/
|
||
|
||
/* Formatted on 14-3-2012 17:24:48 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_update_keurobjecten (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
|
||
-- SUBPROC
|
||
PROCEDURE add_deelinspectie (p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT obj.ins_deel_omschrijving,
|
||
obj.alg_locatie_code,
|
||
obj.cnt_contract_nummer_intern,
|
||
obj.ins_srtcontrole_omschrijving,
|
||
obj.ins_deelsrtcontrole_datum,
|
||
DECODE (
|
||
COALESCE (cb.prs_bedrijf_naam, obj.prs_bedrijf_naam),
|
||
NULL,
|
||
obj.ins_deelsrtcontrole_opmerking,
|
||
COALESCE (cb.prs_bedrijf_naam, obj.prs_bedrijf_naam)
|
||
|| ':'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| COALESCE (obj.ins_deelsrtcontrole_opmerking, '-')
|
||
)
|
||
ins_deelsrtcontrole_opmerking,
|
||
DECODE (UPPER (obj.afgekeurd), 'JA', 129, 'NEE', 130, -1)
|
||
afgekeurd
|
||
FROM (SELECT ins_deel_omschrijving,
|
||
alg_locatie_code,
|
||
cnt_contract_nummer_intern, -- Per CONN#22359!
|
||
prs_bedrijf_naam,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_opmerking,
|
||
afgekeurd
|
||
FROM conn_imp_keurobjecten) obj
|
||
LEFT JOIN
|
||
(SELECT c.cnt_contract_nummer_intern,
|
||
b.prs_bedrijf_naam,
|
||
c.cnt_contract_key
|
||
FROM cnt_contract c,
|
||
ins_tab_discipline td,
|
||
cnt_disc_params dp,
|
||
prs_bedrijf b
|
||
WHERE c.cnt_contract_verwijder IS NULL
|
||
AND c.ins_discipline_key =
|
||
td.ins_discipline_key
|
||
AND td.ins_discipline_verwijder IS NULL
|
||
AND td.ins_discipline_key =
|
||
dp.cnt_ins_discipline_key
|
||
AND dp.cnt_srtcontract_type = 3 -- Ondersteuning/Support
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key)
|
||
cb
|
||
ON obj.cnt_contract_nummer_intern =
|
||
cb.cnt_contract_nummer_intern;
|
||
|
||
v_errormsg VARCHAR2 (1024);
|
||
c_afgekeurd_srtkey NUMBER (10) := 1466;
|
||
v_locatie_key NUMBER (10);
|
||
v_deel_key NUMBER (10);
|
||
v_srtdeel_key NUMBER (10);
|
||
v_srtdeel_oms VARCHAR2 (100);
|
||
v_srtgroep_key NUMBER (10);
|
||
v_discipline_key NUMBER (10);
|
||
v_kenmerk_key NUMBER (10);
|
||
v_kenmerkdeel_key NUMBER (10);
|
||
v_srtcontrole_id VARCHAR2 (20);
|
||
v_controlemode_key NUMBER (10);
|
||
ccount NUMBER (10);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_cupdate NUMBER (10);
|
||
v_aanduiding VARCHAR (200);
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_cupdate := 0;
|
||
v_aanduiding := '';
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.alg_locatie_code
|
||
|| '|'
|
||
|| rec.ins_deel_omschrijving
|
||
|| '|'
|
||
|| rec.cnt_contract_nummer_intern
|
||
|| '|'
|
||
|| rec.ins_srtcontrole_omschrijving
|
||
|| '] ';
|
||
v_errormsg :=
|
||
'Fout bij bepalen locatie [' || rec.alg_locatie_code || ']';
|
||
|
||
SELECT alg_locatie_key
|
||
INTO v_locatie_key
|
||
FROM alg_locatie
|
||
WHERE alg_locatie_verwijder IS NULL
|
||
AND UPPER (TRIM (alg_locatie_code)) =
|
||
UPPER (TRIM (rec.alg_locatie_code));
|
||
|
||
-- Ruimtegebonden objecten hebben een unieke ID binnen de locatie
|
||
v_errormsg := 'Fout bij bepalen INS-object';
|
||
|
||
SELECT d.ins_deel_key,
|
||
sd.ins_srtdeel_key,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sg.ins_srtgroep_key,
|
||
sg.ins_discipline_key
|
||
INTO v_deel_key,
|
||
v_srtdeel_key,
|
||
v_srtdeel_oms,
|
||
v_srtgroep_key,
|
||
v_discipline_key
|
||
FROM ins_deel d, ins_srtdeel sd, ins_srtgroep sg
|
||
WHERE d.ins_deel_verwijder IS NULL
|
||
AND d.ins_deel_module = 'INS'
|
||
AND d.ins_deel_upper = UPPER (rec.ins_deel_omschrijving)
|
||
AND d.ins_alg_locatie_key = v_locatie_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key;
|
||
|
||
-- AFGEKEURD toevoegen of wijzigen!
|
||
IF rec.afgekeurd IS NOT NULL AND UPPER (rec.afgekeurd) != -1
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen afgekeurd-kenmerk';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_afgekeurd_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key = v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
|
||
IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken!
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen afgekeurd-kenmerk';
|
||
|
||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
|
||
ins_srtinstallatie_key,
|
||
ins_kenmerk_niveau,
|
||
ins_kenmerk_volgnummer)
|
||
VALUES (c_afgekeurd_srtkey,
|
||
v_srtdeel_key,
|
||
'S',
|
||
122)
|
||
RETURNING ins_kenmerk_key INTO v_kenmerk_key;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'I',
|
||
'INS-Objecten/afgekeurd-kenmerk toegevoegd voor: '
|
||
|| v_srtdeel_oms,
|
||
''
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
SELECT k.ins_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM ins_v_aanwezigkenmerk k
|
||
WHERE k.ins_srtkenmerk_key = c_afgekeurd_srtkey
|
||
AND ( (k.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND k.ins_kenmerk_niveau = 'S')
|
||
OR (k.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND k.ins_kenmerk_niveau = 'G')
|
||
OR (k.ins_srtinstallatie_key =
|
||
v_discipline_key
|
||
AND k.ins_kenmerk_niveau = 'D'));
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige afgekeurd';
|
||
|
||
SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key)
|
||
INTO ccount, v_kenmerkdeel_key
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = v_deel_key
|
||
AND ins_kenmerk_key = v_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen afgekeurd';
|
||
|
||
INSERT INTO ins_kenmerkdeel (
|
||
ins_deel_key,
|
||
ins_kenmerk_key,
|
||
ins_kenmerkdeel_waarde
|
||
)
|
||
VALUES (v_deel_key, v_kenmerk_key, rec.afgekeurd);
|
||
|
||
COMMIT;
|
||
ELSE
|
||
v_errormsg := 'Fout bij wijzigen afgekeurd';
|
||
|
||
UPDATE ins_kenmerkdeel
|
||
SET ins_kenmerkdeel_waarde = rec.afgekeurd
|
||
WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Toevoegen controle; gebruik [a] de meest specifieke soort en
|
||
-- [b] de minst recente mode!
|
||
v_errormsg := 'Fout bij bepalen soort controle';
|
||
|
||
SELECT MAX(sc.ins_srtcontrole_niveau
|
||
|| TO_CHAR (sc.ins_srtcontrole_key))
|
||
INTO v_srtcontrole_id
|
||
FROM ins_srtcontrole sc
|
||
WHERE UPPER (TRIM (sc.ins_srtcontrole_omschrijving)) =
|
||
UPPER (TRIM (rec.ins_srtcontrole_omschrijving))
|
||
AND ( (sc.ins_srtinstallatie_key = v_srtdeel_key
|
||
AND sc.ins_srtcontrole_niveau = 'S')
|
||
OR (sc.ins_srtinstallatie_key = v_srtgroep_key
|
||
AND sc.ins_srtcontrole_niveau = 'G')
|
||
OR (sc.ins_srtinstallatie_key = v_discipline_key
|
||
AND sc.ins_srtcontrole_niveau = 'D'));
|
||
|
||
IF rec.ins_deelsrtcontrole_datum IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen controle mode';
|
||
|
||
SELECT MIN (ins_controlemode_key)
|
||
INTO v_controlemode_key
|
||
FROM ins_controlemode;
|
||
|
||
v_errormsg := 'Fout bij toevoegen controle';
|
||
|
||
INSERT INTO ins_deelsrtcontrole (
|
||
ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_opmerking
|
||
)
|
||
VALUES (v_deel_key,
|
||
fac.safe_to_number (SUBSTR (v_srtcontrole_id, 2)),
|
||
rec.ins_deelsrtcontrole_datum,
|
||
v_controlemode_key,
|
||
rec.ins_deelsrtcontrole_opmerking);
|
||
|
||
COMMIT;
|
||
|
||
v_count_cupdate := v_count_cupdate + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Objecten/aantal ingelezen: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'INS-Controles/aantal toegevoegd: ' || TO_CHAR (v_count_cupdate),
|
||
''
|
||
);
|
||
COMMIT;
|
||
END;
|
||
-- MAIN
|
||
BEGIN
|
||
add_deelinspectie (p_import_key);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Importproces keurobjecten afgebroken!');
|
||
END conn_update_keurobjecten;
|
||
/
|
||
|
||
|
||
|
||
|
||
|
||
/* Formatted on 9-7-2013 17:18:18 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_locatiekenmerken
|
||
AS
|
||
SELECT fac.safe_to_number (SUBSTR (x.kenmerk_id, 4)) alg_kenmerk_key,
|
||
x.vnr,
|
||
kw.alg_onrgoed_key,
|
||
kw.waarde
|
||
FROM ( SELECT SUBSTR ('000' || TO_CHAR (k1.alg_kenmerk_volgnr), -3)
|
||
|| TO_CHAR (k1.alg_kenmerk_key)
|
||
kenmerk_id,
|
||
COUNT ( * ) vnr
|
||
FROM (SELECT *
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_niveau = 'L'
|
||
AND alg_kenmerk_kenmerktype IN
|
||
('C', 'D', 'N', 'R', 'S')) k1,
|
||
(SELECT *
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_niveau = 'L'
|
||
AND alg_kenmerk_kenmerktype IN
|
||
('C', 'D', 'N', 'R', 'S')) k2
|
||
WHERE SUBSTR ('000' || TO_CHAR (k1.alg_kenmerk_volgnr), -3)
|
||
|| TO_CHAR (k1.alg_kenmerk_key) >=
|
||
SUBSTR ('000' || TO_CHAR (k2.alg_kenmerk_volgnr),
|
||
-3)
|
||
|| TO_CHAR (k2.alg_kenmerk_key)
|
||
GROUP BY SUBSTR ('000' || TO_CHAR (k1.alg_kenmerk_volgnr), -3)
|
||
|| TO_CHAR (k1.alg_kenmerk_key)) x
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ok.alg_kenmerk_key,
|
||
DECODE (
|
||
k.alg_kenmerk_kenmerktype,
|
||
'R',
|
||
fac.getdomeinwaarde (k.fac_kenmerkdomein_key,
|
||
ok.alg_onrgoedkenmerk_waarde),
|
||
'S',
|
||
fac.getdomeinwaarde (k.fac_kenmerkdomein_key,
|
||
ok.alg_onrgoedkenmerk_waarde),
|
||
ok.alg_onrgoedkenmerk_waarde
|
||
)
|
||
waarde
|
||
FROM alg_kenmerk k, alg_v_aanwezigonrgoedkenmerk ok
|
||
WHERE k.alg_kenmerk_verwijder IS NULL
|
||
AND k.alg_kenmerk_niveau = 'L'
|
||
AND k.alg_kenmerk_kenmerktype IN
|
||
('C', 'D', 'N', 'R', 'S')
|
||
AND k.alg_kenmerk_key = ok.alg_kenmerk_key) kw
|
||
ON fac.safe_to_number (SUBSTR (x.kenmerk_id, 4)) =
|
||
kw.alg_kenmerk_key;
|
||
|
||
/* Formatted on 11-7-2013 16:06:26 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_rap_onrgoed1_expimp
|
||
(
|
||
hide_f_result_order,
|
||
fclt_f_regio_omschrijving,
|
||
fclt_f_district_omschrijving,
|
||
fclt_f_locatiecode,
|
||
locatieomschrijving,
|
||
fclt_f_gebouwcode,
|
||
gebouwomschrijving,
|
||
fclt_f_gebouwfunctie,
|
||
contactpersoon,
|
||
telefoonnummer,
|
||
bezoekadres,
|
||
postcode1,
|
||
plaats1,
|
||
land1,
|
||
postadres,
|
||
postcode2,
|
||
plaats2,
|
||
land2,
|
||
kenmerk1,
|
||
kenmerk2,
|
||
kenmerk3,
|
||
kenmerk4,
|
||
kenmerk5,
|
||
kenmerk6,
|
||
kenmerk7,
|
||
kenmerk8,
|
||
kenmerk9,
|
||
kenmerk10
|
||
)
|
||
AS
|
||
SELECT 0,
|
||
'regio_omschrijving' regio_omschrijving,
|
||
'district_omschrijving' district_omschrijving,
|
||
'locatie_code' locatiecode,
|
||
'locatieomschrijving' locatieomschrijving,
|
||
'gebouwcode' gebouwcode,
|
||
'gebouwomschrijving' gebouwomschrijving,
|
||
'gebouwfunctie' gebouwfunctie,
|
||
'contactpersoon' contactpersoon,
|
||
'telefoonnummer' telefoonnummer,
|
||
'bezoekadres' bezoekadres,
|
||
'postcode1' postcode1,
|
||
'plaats1' plaats1,
|
||
'land1' land1,
|
||
'postadres' postadres,
|
||
'postcode2' postcode2,
|
||
'plaats2' plaats2,
|
||
'land2' land2,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 1))
|
||
kenmerk1,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 2))
|
||
kenmerk2,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 3))
|
||
kenmerk3,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 4))
|
||
kenmerk4,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 5))
|
||
kenmerk5,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 6))
|
||
kenmerk6,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 7))
|
||
kenmerk7,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 8))
|
||
kenmerk8,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 9))
|
||
kenmerk9,
|
||
TO_CHAR ( (SELECT MAX (alg_kenmerk_key)
|
||
FROM conn_v_locatiekenmerken
|
||
WHERE vnr = 10))
|
||
kenmerk10
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT 1,
|
||
x.alg_regio_omschrijving regio_omschrijving,
|
||
x.alg_district_omschrijving district_omschrijving,
|
||
x.alg_locatie_code locatiecode,
|
||
x.alg_locatie_omschrijving locatieomschrijving,
|
||
x.alg_gebouw_code gebouwcode,
|
||
x.alg_gebouw_naam gebouwomschrijving,
|
||
x.alg_srtgebouw_omschrijving gebouwfunctie,
|
||
x.alg_locatie_verantw contactpersoon,
|
||
x.alg_locatie_verantw_tel telefoonnummer,
|
||
x.alg_locatie_adres bezoekadres,
|
||
x.alg_locatie_postcode postcode1,
|
||
x.alg_locatie_plaats plaats1,
|
||
x.alg_locatie_land land1,
|
||
x.alg_locatie_post_adres postadres,
|
||
x.alg_locatie_post_postcode postcode2,
|
||
x.alg_locatie_post_plaats plaats2,
|
||
x.alg_locatie_post_land land2,
|
||
k1.waarde kenmerk1,
|
||
k2.waarde kenmerk2,
|
||
k3.waarde kenmerk3,
|
||
k4.waarde kenmerk4,
|
||
k5.waarde kenmerk5,
|
||
k6.waarde kenmerk6,
|
||
k7.waarde kenmerk7,
|
||
k8.waarde kenmerk8,
|
||
k9.waarde kenmerk9,
|
||
k10.waarde kenmerk10
|
||
FROM (SELECT l.alg_locatie_key,
|
||
r.alg_regio_omschrijving,
|
||
d.alg_district_omschrijving,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
g.alg_gebouw_code,
|
||
g.alg_gebouw_naam,
|
||
sg.alg_srtgebouw_omschrijving,
|
||
l.alg_locatie_verantw,
|
||
l.alg_locatie_verantw_tel,
|
||
l.alg_locatie_adres,
|
||
l.alg_locatie_postcode,
|
||
l.alg_locatie_plaats,
|
||
l.alg_locatie_land,
|
||
l.alg_locatie_post_adres,
|
||
l.alg_locatie_post_postcode,
|
||
l.alg_locatie_post_plaats,
|
||
l.alg_locatie_post_land
|
||
FROM alg_v_aanwezigregio r,
|
||
alg_v_aanwezigdistrict d,
|
||
alg_v_aanweziglocatie l,
|
||
alg_v_aanweziggebouw g,
|
||
alg_v_aanwezigsrtgebouw sg
|
||
WHERE r.alg_regio_key =
|
||
d.alg_regio_key
|
||
AND d.alg_district_key =
|
||
l.alg_district_key
|
||
AND l.alg_locatie_key =
|
||
g.alg_locatie_key
|
||
AND g.alg_srtgebouw_key =
|
||
sg.alg_srtgebouw_key(+))
|
||
x
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k1
|
||
ON x.alg_locatie_key =
|
||
k1.alg_onrgoed_key
|
||
AND k1.vnr = 1
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k2
|
||
ON x.alg_locatie_key = k2.alg_onrgoed_key
|
||
AND k2.vnr = 2
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k3
|
||
ON x.alg_locatie_key = k3.alg_onrgoed_key
|
||
AND k3.vnr = 3
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k4
|
||
ON x.alg_locatie_key = k4.alg_onrgoed_key
|
||
AND k4.vnr = 4
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k5
|
||
ON x.alg_locatie_key = k5.alg_onrgoed_key
|
||
AND k5.vnr = 5
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k6
|
||
ON x.alg_locatie_key = k6.alg_onrgoed_key
|
||
AND k6.vnr = 6
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k7
|
||
ON x.alg_locatie_key = k7.alg_onrgoed_key AND k7.vnr = 7
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k8
|
||
ON x.alg_locatie_key = k8.alg_onrgoed_key AND k8.vnr = 8
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k9
|
||
ON x.alg_locatie_key = k9.alg_onrgoed_key AND k9.vnr = 9
|
||
LEFT JOIN
|
||
conn_v_locatiekenmerken k10
|
||
ON x.alg_locatie_key = k10.alg_onrgoed_key AND k10.vnr = 10;
|
||
|
||
/* Formatted on 9-7-2013 10:22:36 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_import_onrgoed1 (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count_tot NUMBER (10);
|
||
v_count_imp NUMBER (10);
|
||
v_ongeldig NUMBER (1);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_alg_kenmerk_key1 VARCHAR2 (255);
|
||
v_alg_kenmerk_key2 VARCHAR2 (255);
|
||
v_alg_kenmerk_key3 VARCHAR2 (255);
|
||
v_alg_kenmerk_key4 VARCHAR2 (255);
|
||
v_alg_kenmerk_key5 VARCHAR2 (255);
|
||
v_alg_kenmerk_key6 VARCHAR2 (255);
|
||
v_alg_kenmerk_key7 VARCHAR2 (255);
|
||
v_alg_kenmerk_key8 VARCHAR2 (255);
|
||
v_alg_kenmerk_key9 VARCHAR2 (255);
|
||
v_alg_kenmerk_key10 VARCHAR2 (255);
|
||
-- De importvelden:
|
||
v_regio_omschrijving VARCHAR2 (255); -- 30
|
||
v_district_omschrijving VARCHAR2 (255); -- 30
|
||
v_locatie_code VARCHAR2 (255); -- 10
|
||
v_locatie_omschrijving VARCHAR2 (255); -- 30
|
||
v_gebouw_code VARCHAR2 (255); -- 10
|
||
v_gebouw_naam VARCHAR2 (255); -- 30
|
||
v_srtgebouw_omschrijving VARCHAR2 (255); -- 30
|
||
v_locatie_verantw VARCHAR2 (255); -- 30
|
||
v_locatie_verantw_tel VARCHAR2 (255); -- 15
|
||
v_locatie_adres VARCHAR2 (255); -- 35
|
||
v_locatie_postcode VARCHAR2 (255); -- 12
|
||
v_locatie_plaats VARCHAR2 (255); -- 30
|
||
v_locatie_land VARCHAR2 (255); -- 30
|
||
v_locatie_post_adres VARCHAR2 (255); -- 35
|
||
v_locatie_post_postcode VARCHAR2 (255); -- 12
|
||
v_locatie_post_plaats VARCHAR2 (255); -- 30
|
||
v_locatie_post_land VARCHAR2 (255); -- 30
|
||
v_alg_kenmerkwaarde1 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde2 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde3 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde4 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde5 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde6 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde7 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde8 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde9 VARCHAR2 (255);
|
||
v_alg_kenmerkwaarde10 VARCHAR2 (255);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
-- Controleer tijdens import-fase alleen op (uniek) bestaan van kenmerk (of
|
||
-- deze is gedefinieerd voor gebouw/locatie, volgt tijdens de update-fase)!
|
||
FUNCTION bepaal_kenmerk_key (ok IN VARCHAR)
|
||
RETURN NUMBER
|
||
IS
|
||
v_kenmerk_key NUMBER;
|
||
BEGIN
|
||
IF fac.safe_to_number (ok) IS NULL
|
||
THEN -- Kenmerkwaarde is alfanumeriek (dus omschrijving)!
|
||
SELECT alg_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_niveau IN ('L', 'G')
|
||
AND alg_kenmerk_upper = UPPER (ok)
|
||
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S');
|
||
ELSE -- Kenmerkwaarde is numeriek (dus key)!
|
||
SELECT alg_kenmerk_key
|
||
INTO v_kenmerk_key
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_niveau IN ('L', 'G')
|
||
AND alg_kenmerk_key = fac.safe_to_number (ok)
|
||
AND alg_kenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S');
|
||
END IF;
|
||
|
||
RETURN v_kenmerk_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
IF ok IS NULL OR UPPER (ok) LIKE 'KENMERK%'
|
||
THEN
|
||
RETURN NULL;
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Fout bij bepalen kenmerk [' || ok || ']',
|
||
'Bestaat niet of type ongeldig');
|
||
COMMIT;
|
||
RETURN NULL;
|
||
END IF;
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Fout bij bepalen kenmerk [' || ok || ']',
|
||
'Kan kenmerk niet 1-duidig bepalen');
|
||
COMMIT;
|
||
RETURN NULL;
|
||
END;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM conn_imp_onrgoed1;
|
||
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_imp := 0;
|
||
header_is_valid := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout FETCH importregel';
|
||
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout bij opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_regio_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_district_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_code);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_gebouw_code);
|
||
fac.imp_getfield (v_newline, c_delim, v_gebouw_naam);
|
||
fac.imp_getfield (v_newline, c_delim, v_srtgebouw_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_verantw);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_verantw_tel);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_adres);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_postcode);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_plaats);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_land);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_post_adres);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_post_postcode);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_post_plaats);
|
||
fac.imp_getfield (v_newline, c_delim, v_locatie_post_land);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde1);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde2);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde3);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde4);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde5);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde6);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde7);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde8);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde9);
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_kenmerkwaarde10);
|
||
|
||
v_aanduiding := '[' || v_locatie_code || '|' || v_gebouw_code || '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij alle NIET-kenmerk kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
IF UPPER (v_regio_omschrijving) LIKE 'REGIO%'
|
||
AND UPPER (v_district_omschrijving) LIKE 'DISTRICT%'
|
||
AND UPPER (v_locatie_code) = 'LOCATIECODE'
|
||
AND UPPER (v_gebouw_code) = 'GEBOUWCODE'
|
||
AND UPPER (v_locatie_adres) = 'BEZOEKADRES'
|
||
AND UPPER (v_locatie_post_adres) = 'POSTADRES'
|
||
AND UPPER (v_locatie_post_land) LIKE 'LAND%'
|
||
THEN
|
||
v_alg_kenmerk_key1 := bepaal_kenmerk_key (v_alg_kenmerkwaarde1);
|
||
v_alg_kenmerk_key2 := bepaal_kenmerk_key (v_alg_kenmerkwaarde2);
|
||
v_alg_kenmerk_key3 := bepaal_kenmerk_key (v_alg_kenmerkwaarde3);
|
||
v_alg_kenmerk_key4 := bepaal_kenmerk_key (v_alg_kenmerkwaarde4);
|
||
v_alg_kenmerk_key5 := bepaal_kenmerk_key (v_alg_kenmerkwaarde5);
|
||
v_alg_kenmerk_key6 := bepaal_kenmerk_key (v_alg_kenmerkwaarde6);
|
||
v_alg_kenmerk_key7 := bepaal_kenmerk_key (v_alg_kenmerkwaarde7);
|
||
v_alg_kenmerk_key8 := bepaal_kenmerk_key (v_alg_kenmerkwaarde8);
|
||
v_alg_kenmerk_key9 := bepaal_kenmerk_key (v_alg_kenmerkwaarde9);
|
||
v_alg_kenmerk_key10 :=
|
||
bepaal_kenmerk_key (v_alg_kenmerkwaarde10);
|
||
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Regio-omschrijving leeg of te lang';
|
||
v_regio_omschrijving := TRIM (v_regio_omschrijving);
|
||
|
||
IF v_regio_omschrijving IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel overgeslagen');
|
||
ELSIF LENGTH (v_regio_omschrijving) > 30
|
||
THEN
|
||
v_regio_omschrijving := SUBSTR (v_regio_omschrijving, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regio-omschrijving afgebroken tot ['
|
||
|| v_regio_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'District-omschrijving leeg of te lang';
|
||
v_district_omschrijving := TRIM (v_district_omschrijving);
|
||
|
||
IF v_district_omschrijving IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel overgeslagen');
|
||
ELSIF LENGTH (v_district_omschrijving) > 30
|
||
THEN
|
||
v_district_omschrijving :=
|
||
SUBSTR (v_district_omschrijving, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'District-omschrijving afgebroken tot ['
|
||
|| v_district_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Locatiecode leeg of te lang';
|
||
v_locatie_code := TRIM (v_locatie_code);
|
||
|
||
IF v_locatie_code IS NULL OR LENGTH (v_locatie_code) > 10
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel overgeslagen');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Locatie-omschrijving leeg of te lang';
|
||
v_locatie_omschrijving := TRIM (v_locatie_omschrijving);
|
||
|
||
IF v_locatie_omschrijving IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel overgeslagen');
|
||
ELSIF LENGTH (v_locatie_omschrijving) > 30
|
||
THEN
|
||
v_locatie_omschrijving :=
|
||
SUBSTR (v_locatie_omschrijving, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Locatie-omschrijving afgebroken tot ['
|
||
|| v_locatie_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Gebouwcode leeg of te lang';
|
||
v_gebouw_code := TRIM (v_gebouw_code);
|
||
|
||
IF v_gebouw_code IS NULL OR LENGTH (v_gebouw_code) > 12
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel overgeslagen');
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Gebouwnaam leeg of te lang';
|
||
v_gebouw_naam := TRIM (v_gebouw_naam);
|
||
|
||
IF v_gebouw_naam IS NULL
|
||
THEN
|
||
v_ongeldig := 1;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Regel overgeslagen');
|
||
ELSIF LENGTH (v_gebouw_naam) > 30
|
||
THEN
|
||
v_gebouw_naam := SUBSTR (v_gebouw_naam, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Gebouwnaam afgebroken tot [' || v_gebouw_naam || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Gebouwfunctie te lang';
|
||
v_srtgebouw_omschrijving := TRIM (v_srtgebouw_omschrijving);
|
||
|
||
IF LENGTH (v_srtgebouw_omschrijving) > 30
|
||
THEN
|
||
v_srtgebouw_omschrijving :=
|
||
SUBSTR (v_srtgebouw_omschrijving, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Gebouwfunctie afgebroken tot ['
|
||
|| v_srtgebouw_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Naam te lang (contactpersoon)';
|
||
v_locatie_verantw := TRIM (v_locatie_verantw);
|
||
|
||
IF LENGTH (v_locatie_verantw) > 30
|
||
THEN
|
||
v_locatie_verantw := SUBSTR (v_locatie_verantw, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Naam afgebroken tot [' || v_locatie_verantw || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Telefoonnummer te lang (contactpersoon)';
|
||
v_locatie_verantw_tel := TRIM (v_locatie_verantw_tel);
|
||
|
||
IF LENGTH (v_locatie_verantw_tel) > 15
|
||
THEN
|
||
v_locatie_verantw_tel := SUBSTR (v_locatie_verantw_tel, 1, 15);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Telefoonnummer afgebroken tot ['
|
||
|| v_locatie_verantw_tel
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Adres te lang (bezoekadres)';
|
||
v_locatie_adres := TRIM (v_locatie_adres);
|
||
|
||
IF LENGTH (v_locatie_adres) > 35
|
||
THEN
|
||
v_locatie_adres := SUBSTR (v_locatie_adres, 1, 35);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Adres afgebroken tot ]' || v_locatie_adres || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Postcode te lang (bezoekadres)';
|
||
v_locatie_postcode := TRIM (v_locatie_postcode);
|
||
|
||
IF LENGTH (v_locatie_postcode) > 12
|
||
THEN
|
||
v_locatie_postcode := SUBSTR (v_locatie_postcode, 1, 12);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Postcode afgebroken tot [' || v_locatie_postcode || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Plaatsnaam te lang (bezoekadres)';
|
||
v_locatie_plaats := TRIM (v_locatie_plaats);
|
||
|
||
IF LENGTH (v_locatie_plaats) > 30
|
||
THEN
|
||
v_locatie_plaats := SUBSTR (v_locatie_plaats, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Plaatsnaam afgebroken tot [' || v_locatie_plaats || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Landnaam te lang (bezoekadres)';
|
||
v_locatie_land := TRIM (v_locatie_land);
|
||
|
||
IF LENGTH (v_locatie_land) > 30
|
||
THEN
|
||
v_locatie_land := SUBSTR (v_locatie_land, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Landnaam afgebroken tot [' || v_locatie_land || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Adres te lang (postadres)';
|
||
v_locatie_post_adres := TRIM (v_locatie_post_adres);
|
||
|
||
IF LENGTH (v_locatie_post_adres) > 35
|
||
THEN
|
||
v_locatie_post_adres := SUBSTR (v_locatie_post_adres, 1, 35);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Adres afgebroken tot [' || v_locatie_post_adres || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Postcode te lang (postadres)';
|
||
v_locatie_post_postcode := TRIM (v_locatie_post_postcode);
|
||
|
||
IF LENGTH (v_locatie_post_postcode) > 12
|
||
THEN
|
||
v_locatie_post_postcode :=
|
||
SUBSTR (v_locatie_post_postcode, 1, 12);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Postcode afgebroken tot ['
|
||
|| v_locatie_post_postcode
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Plaatsnaam te lang (postadres)';
|
||
v_locatie_post_plaats := TRIM (v_locatie_post_plaats);
|
||
|
||
IF LENGTH (v_locatie_post_plaats) > 30
|
||
THEN
|
||
v_locatie_post_plaats := SUBSTR (v_locatie_post_plaats, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Plaatsnaam afgebroken tot ['
|
||
|| v_locatie_post_plaats
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Landnaam te lang (postadres)';
|
||
v_locatie_post_land := TRIM (v_locatie_post_land);
|
||
|
||
IF LENGTH (v_locatie_post_land) > 30
|
||
THEN
|
||
v_locatie_post_land := SUBSTR (v_locatie_post_land, 1, 30);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Landnaam afgebroken tot [' || v_locatie_post_land || ']'
|
||
);
|
||
END IF;
|
||
|
||
-- De rest alleen ff trimmen.
|
||
v_alg_kenmerkwaarde1 := TRIM (v_alg_kenmerkwaarde1);
|
||
v_alg_kenmerkwaarde2 := TRIM (v_alg_kenmerkwaarde2);
|
||
v_alg_kenmerkwaarde3 := TRIM (v_alg_kenmerkwaarde3);
|
||
v_alg_kenmerkwaarde4 := TRIM (v_alg_kenmerkwaarde4);
|
||
v_alg_kenmerkwaarde5 := TRIM (v_alg_kenmerkwaarde5);
|
||
v_alg_kenmerkwaarde6 := TRIM (v_alg_kenmerkwaarde6);
|
||
v_alg_kenmerkwaarde7 := TRIM (v_alg_kenmerkwaarde7);
|
||
v_alg_kenmerkwaarde8 := TRIM (v_alg_kenmerkwaarde8);
|
||
v_alg_kenmerkwaarde9 := TRIM (v_alg_kenmerkwaarde9);
|
||
v_alg_kenmerkwaarde10 := TRIM (v_alg_kenmerkwaarde10);
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||
|
||
INSERT INTO conn_imp_onrgoed1 (
|
||
alg_regio_omschrijving,
|
||
alg_district_omschrijving,
|
||
alg_locatie_code,
|
||
alg_locatie_omschrijving,
|
||
alg_gebouw_code,
|
||
alg_gebouw_naam,
|
||
alg_srtgebouw_omschrijving,
|
||
alg_locatie_verantw,
|
||
alg_locatie_verantw_tel,
|
||
alg_locatie_adres,
|
||
alg_locatie_postcode,
|
||
alg_locatie_plaats,
|
||
alg_locatie_land,
|
||
alg_locatie_post_adres,
|
||
alg_locatie_post_postcode,
|
||
alg_locatie_post_plaats,
|
||
alg_locatie_post_land,
|
||
alg_kenmerkwaarde1,
|
||
alg_kenmerkwaarde2,
|
||
alg_kenmerkwaarde3,
|
||
alg_kenmerkwaarde4,
|
||
alg_kenmerkwaarde5,
|
||
alg_kenmerkwaarde6,
|
||
alg_kenmerkwaarde7,
|
||
alg_kenmerkwaarde8,
|
||
alg_kenmerkwaarde9,
|
||
alg_kenmerkwaarde10
|
||
)
|
||
VALUES (
|
||
v_regio_omschrijving,
|
||
v_district_omschrijving,
|
||
v_locatie_code,
|
||
v_locatie_omschrijving,
|
||
v_gebouw_code,
|
||
v_gebouw_naam,
|
||
v_srtgebouw_omschrijving,
|
||
v_locatie_verantw,
|
||
v_locatie_verantw_tel,
|
||
v_locatie_adres,
|
||
v_locatie_postcode,
|
||
v_locatie_plaats,
|
||
v_locatie_land,
|
||
v_locatie_post_adres,
|
||
v_locatie_post_postcode,
|
||
v_locatie_post_plaats,
|
||
v_locatie_post_land,
|
||
DECODE (
|
||
v_alg_kenmerk_key1,
|
||
NULL,
|
||
v_alg_kenmerkwaarde1,
|
||
TO_CHAR (v_alg_kenmerk_key1)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde1, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key2,
|
||
NULL,
|
||
v_alg_kenmerkwaarde2,
|
||
TO_CHAR (v_alg_kenmerk_key2)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde2, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key3,
|
||
NULL,
|
||
v_alg_kenmerkwaarde3,
|
||
TO_CHAR (v_alg_kenmerk_key3)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde3, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key4,
|
||
NULL,
|
||
v_alg_kenmerkwaarde4,
|
||
TO_CHAR (v_alg_kenmerk_key4)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde4, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key5,
|
||
NULL,
|
||
v_alg_kenmerkwaarde5,
|
||
TO_CHAR (v_alg_kenmerk_key5)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde5, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key6,
|
||
NULL,
|
||
v_alg_kenmerkwaarde6,
|
||
TO_CHAR (v_alg_kenmerk_key6)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde6, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key7,
|
||
NULL,
|
||
v_alg_kenmerkwaarde7,
|
||
TO_CHAR (v_alg_kenmerk_key7)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde7, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key8,
|
||
NULL,
|
||
v_alg_kenmerkwaarde8,
|
||
TO_CHAR (v_alg_kenmerk_key8)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde8, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key9,
|
||
NULL,
|
||
v_alg_kenmerkwaarde9,
|
||
TO_CHAR (v_alg_kenmerk_key9)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde9, 1, 200)
|
||
),
|
||
DECODE (
|
||
v_alg_kenmerk_key10,
|
||
NULL,
|
||
v_alg_kenmerkwaarde10,
|
||
TO_CHAR (v_alg_kenmerk_key10)
|
||
|| '='
|
||
|| SUBSTR (v_alg_kenmerkwaarde10, 1, 200)
|
||
)
|
||
);
|
||
|
||
COMMIT;
|
||
v_count_imp := v_count_imp + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF (header_is_valid = 0)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Locatie-Gebouw/#ingelezen regels: ' || TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Locatie-Gebouw/#ongeldige niet ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot - v_count_imp),
|
||
''
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Inleesproces locaties/gebouwen afgebroken!');
|
||
END conn_import_onrgoed1;
|
||
/
|
||
|
||
/* Formatted on 9-7-2013 11:48:12 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_update_onrgoed1 (p_import_key IN NUMBER)
|
||
IS
|
||
v_errormsg VARCHAR2 (1000) := '-';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_new NUMBER (10);
|
||
v_count_upd NUMBER (10);
|
||
v_count NUMBER (10);
|
||
v_regio_key NUMBER (10);
|
||
v_district_key NUMBER (10);
|
||
v_locatie_key NUMBER (10);
|
||
v_srtgebouw_key NUMBER (10);
|
||
v_gebouw_key NUMBER (10);
|
||
v_srtnoti_code VARCHAR2 (6);
|
||
|
||
CURSOR cRegio -- Regioomschrijving uniek!
|
||
IS
|
||
SELECT MIN (alg_regio_omschrijving) alg_regio_omschrijving
|
||
FROM conn_imp_onrgoed1
|
||
GROUP BY UPPER (alg_regio_omschrijving)
|
||
ORDER BY 1;
|
||
|
||
CURSOR cDistrict -- Districtomschrijving uniek binnen regio!
|
||
IS
|
||
SELECT MIN (alg_regio_omschrijving) alg_regio_omschrijving,
|
||
MIN (alg_district_omschrijving) alg_district_omschrijving
|
||
FROM conn_imp_onrgoed1
|
||
GROUP BY UPPER (alg_regio_omschrijving),
|
||
UPPER (alg_district_omschrijving)
|
||
ORDER BY 1, 2;
|
||
|
||
CURSOR cLocatie -- Locatiecode uniek (omschrijving niet)!
|
||
IS
|
||
SELECT MIN (alg_regio_omschrijving) alg_regio_omschrijving,
|
||
MIN (alg_district_omschrijving) alg_district_omschrijving,
|
||
MIN (alg_locatie_code) alg_locatie_code,
|
||
MIN (alg_locatie_omschrijving) alg_locatie_omschrijving,
|
||
MIN (alg_locatie_verantw) alg_locatie_verantw,
|
||
MIN (alg_locatie_verantw_tel) alg_locatie_verantw_tel,
|
||
MIN (alg_locatie_adres) alg_locatie_adres,
|
||
MIN (alg_locatie_postcode) alg_locatie_postcode,
|
||
MIN (alg_locatie_plaats) alg_locatie_plaats,
|
||
MIN (alg_locatie_land) alg_locatie_land,
|
||
MIN (alg_locatie_post_adres) alg_locatie_post_adres,
|
||
MIN (alg_locatie_post_postcode) alg_locatie_post_postcode,
|
||
MIN (alg_locatie_post_plaats) alg_locatie_post_plaats,
|
||
MIN (alg_locatie_post_land) alg_locatie_post_land,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde1, 1, INSTR (alg_kenmerkwaarde1, '=') - 1))) kenmerk_key1,
|
||
MIN(SUBSTR (alg_kenmerkwaarde1, INSTR (alg_kenmerkwaarde1, '=') + 1)) waarde1,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde2, 1, INSTR (alg_kenmerkwaarde2, '=') - 1))) kenmerk_key2,
|
||
MIN(SUBSTR (alg_kenmerkwaarde2, INSTR (alg_kenmerkwaarde2, '=') + 1)) waarde2,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde3, 1, INSTR (alg_kenmerkwaarde3, '=') - 1))) kenmerk_key3,
|
||
MIN(SUBSTR (alg_kenmerkwaarde3, INSTR (alg_kenmerkwaarde3, '=') + 1)) waarde3,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde4, 1, INSTR (alg_kenmerkwaarde4, '=') - 1))) kenmerk_key4,
|
||
MIN(SUBSTR (alg_kenmerkwaarde4, INSTR (alg_kenmerkwaarde4, '=') + 1)) waarde4,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde5, 1, INSTR (alg_kenmerkwaarde5, '=') - 1))) kenmerk_key5,
|
||
MIN(SUBSTR (alg_kenmerkwaarde5, INSTR (alg_kenmerkwaarde5, '=') + 1)) waarde5,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde6, 1, INSTR (alg_kenmerkwaarde6, '=') - 1))) kenmerk_key6,
|
||
MIN(SUBSTR (alg_kenmerkwaarde6, INSTR (alg_kenmerkwaarde6, '=') + 1)) waarde6,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde7, 1, INSTR (alg_kenmerkwaarde7, '=') - 1))) kenmerk_key7,
|
||
MIN(SUBSTR (alg_kenmerkwaarde7, INSTR (alg_kenmerkwaarde7, '=') + 1)) waarde7,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde8, 1, INSTR (alg_kenmerkwaarde8, '=') - 1))) kenmerk_key8,
|
||
MIN(SUBSTR (alg_kenmerkwaarde8, INSTR (alg_kenmerkwaarde8, '=') + 1)) waarde8,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde9, 1, INSTR (alg_kenmerkwaarde9, '=') - 1))) kenmerk_key9,
|
||
MIN(SUBSTR (alg_kenmerkwaarde9, INSTR (alg_kenmerkwaarde9, '=') + 1)) waarde9,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde10, 1, INSTR (alg_kenmerkwaarde10, '=') - 1))) kenmerk_key10,
|
||
MIN(SUBSTR (alg_kenmerkwaarde10, INSTR (alg_kenmerkwaarde10, '=') + 1)) waarde10
|
||
FROM conn_imp_onrgoed1
|
||
GROUP BY UPPER (alg_regio_omschrijving),
|
||
UPPER (alg_district_omschrijving),
|
||
UPPER (alg_locatie_code)
|
||
ORDER BY 1, 2, 3;
|
||
|
||
CURSOR cSrtGebouw -- Gebouwfunctie uniek!
|
||
IS
|
||
SELECT MIN (alg_srtgebouw_omschrijving) alg_srtgebouw_omschrijving
|
||
FROM conn_imp_onrgoed1
|
||
WHERE alg_srtgebouw_omschrijving IS NOT NULL
|
||
GROUP BY UPPER (alg_srtgebouw_omschrijving)
|
||
ORDER BY 1;
|
||
|
||
CURSOR cGebouw -- Gebouwcode uniek binnen locatie (naam niet)!
|
||
IS
|
||
SELECT MIN (alg_regio_omschrijving) alg_regio_omschrijving,
|
||
MIN (alg_district_omschrijving) alg_district_omschrijving,
|
||
MIN (alg_locatie_code) alg_locatie_code,
|
||
MIN (alg_gebouw_code) alg_gebouw_code,
|
||
MIN (alg_gebouw_naam) alg_gebouw_naam,
|
||
MIN (alg_srtgebouw_omschrijving) alg_srtgebouw_omschrijving,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde1, 1, INSTR (alg_kenmerkwaarde1, '=') - 1))) kenmerk_key1,
|
||
MIN(SUBSTR (alg_kenmerkwaarde1, INSTR (alg_kenmerkwaarde1, '=') + 1)) waarde1,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde2, 1, INSTR (alg_kenmerkwaarde2, '=') - 1))) kenmerk_key2,
|
||
MIN(SUBSTR (alg_kenmerkwaarde2, INSTR (alg_kenmerkwaarde2, '=') + 1)) waarde2,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde3, 1, INSTR (alg_kenmerkwaarde3, '=') - 1))) kenmerk_key3,
|
||
MIN(SUBSTR (alg_kenmerkwaarde3, INSTR (alg_kenmerkwaarde3, '=') + 1)) waarde3,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde4, 1, INSTR (alg_kenmerkwaarde4, '=') - 1))) kenmerk_key4,
|
||
MIN(SUBSTR (alg_kenmerkwaarde4, INSTR (alg_kenmerkwaarde4, '=') + 1)) waarde4,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde5, 1, INSTR (alg_kenmerkwaarde5, '=') - 1))) kenmerk_key5,
|
||
MIN(SUBSTR (alg_kenmerkwaarde5, INSTR (alg_kenmerkwaarde5, '=') + 1)) waarde5,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde6, 1, INSTR (alg_kenmerkwaarde6, '=') - 1))) kenmerk_key6,
|
||
MIN(SUBSTR (alg_kenmerkwaarde6, INSTR (alg_kenmerkwaarde6, '=') + 1)) waarde6,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde7, 1, INSTR (alg_kenmerkwaarde7, '=') - 1))) kenmerk_key7,
|
||
MIN(SUBSTR (alg_kenmerkwaarde7, INSTR (alg_kenmerkwaarde7, '=') + 1)) waarde7,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde8, 1, INSTR (alg_kenmerkwaarde8, '=') - 1))) kenmerk_key8,
|
||
MIN(SUBSTR (alg_kenmerkwaarde8, INSTR (alg_kenmerkwaarde8, '=') + 1)) waarde8,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde9, 1, INSTR (alg_kenmerkwaarde9, '=') - 1))) kenmerk_key9,
|
||
MIN(SUBSTR (alg_kenmerkwaarde9, INSTR (alg_kenmerkwaarde9, '=') + 1)) waarde9,
|
||
MIN(fac.safe_to_number(SUBSTR (alg_kenmerkwaarde10, 1, INSTR (alg_kenmerkwaarde10, '=') - 1))) kenmerk_key10,
|
||
MIN(SUBSTR (alg_kenmerkwaarde10, INSTR (alg_kenmerkwaarde10, '=') + 1)) waarde10
|
||
FROM conn_imp_onrgoed1
|
||
GROUP BY UPPER (alg_regio_omschrijving),
|
||
UPPER (alg_district_omschrijving),
|
||
UPPER (alg_locatie_code),
|
||
UPPER (alg_gebouw_code)
|
||
ORDER BY 1, 2, 3, 4;
|
||
|
||
-- SUBPROC
|
||
PROCEDURE upsert_algkenmerk (p_alg_key IN NUMBER,
|
||
p_alg_niv IN VARCHAR2,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_waarde IN VARCHAR2)
|
||
AS
|
||
v_kenmerk_niveau VARCHAR2 (1);
|
||
v_kenmerk_type VARCHAR2 (1);
|
||
ccount NUMBER;
|
||
v_waarde VARCHAR2 (255);
|
||
v_objectnaam VARCHAR2 (30);
|
||
v_kolomnaam VARCHAR2 (30);
|
||
v_kolomtxt VARCHAR2 (30);
|
||
sql_stmt VARCHAR2 (1000);
|
||
v_onrgoedkenmerk_key NUMBER;
|
||
BEGIN
|
||
IF p_kenmerk_key IS NOT NULL AND p_waarde IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen kenmerk [' || p_kenmerk_key || ']';
|
||
|
||
SELECT alg_kenmerk_niveau, alg_kenmerk_kenmerktype
|
||
INTO v_kenmerk_niveau, v_kenmerk_type
|
||
FROM alg_kenmerk
|
||
WHERE alg_kenmerk_verwijder IS NULL
|
||
AND alg_kenmerk_key = p_kenmerk_key
|
||
AND alg_kenmerk_niveau IN ('L', 'G');
|
||
|
||
IF (v_kenmerk_niveau = p_alg_niv) -- Alleen op juiste niveau doen!
|
||
THEN
|
||
IF v_kenmerk_type IN ('R', 'S')
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen eigen tabel';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO ccount
|
||
FROM alg_kenmerk k, fac_kenmerkdomein d
|
||
WHERE k.alg_kenmerk_key = p_kenmerk_key
|
||
AND k.alg_kenmerk_niveau = p_alg_niv
|
||
AND k.fac_kenmerkdomein_key = d.fac_kenmerkdomein_key
|
||
AND d.fac_usrtab_key IS NOT NULL;
|
||
|
||
v_errormsg :=
|
||
'Fout bij bepalen nieuwe waarde [' || p_waarde || ']';
|
||
|
||
IF ccount = 1
|
||
THEN -- Eigen tabel
|
||
SELECT TO_CHAR (ud.fac_usrdata_key)
|
||
INTO v_waarde
|
||
FROM alg_kenmerk k,
|
||
fac_kenmerkdomein d,
|
||
fac_v_aanwezigusrdata ud
|
||
WHERE k.alg_kenmerk_key = p_kenmerk_key
|
||
AND k.alg_kenmerk_niveau = p_alg_niv
|
||
AND k.fac_kenmerkdomein_key =
|
||
d.fac_kenmerkdomein_key
|
||
AND d.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND UPPER (TRIM (ud.fac_usrdata_omschr)) =
|
||
UPPER (p_waarde);
|
||
ELSE -- FACILITOR view/tabel
|
||
SELECT d.fac_kenmerkdomein_objectnaam,
|
||
d.fac_kenmerkdomein_kolomnaam,
|
||
d.fac_kenmerkdomein_kolomtxt
|
||
INTO v_objectnaam, v_kolomnaam, v_kolomtxt
|
||
FROM alg_kenmerk k, fac_kenmerkdomein d
|
||
WHERE k.alg_kenmerk_key = p_kenmerk_key
|
||
AND k.alg_kenmerk_niveau = p_alg_niv
|
||
AND k.fac_kenmerkdomein_key =
|
||
d.fac_kenmerkdomein_key
|
||
AND d.fac_usrtab_key IS NULL;
|
||
|
||
sql_stmt :=
|
||
'SELECT MAX ('
|
||
|| v_kolomnaam
|
||
|| ') FROM '
|
||
|| v_objectnaam
|
||
|| ' WHERE UPPER (TRIM ('
|
||
|| v_kolomtxt
|
||
|| ')) = UPPER ('''
|
||
|| p_waarde
|
||
|| ''')';
|
||
|
||
EXECUTE IMMEDIATE sql_stmt INTO v_waarde;
|
||
END IF;
|
||
ELSE -- C(haracter)/D(ate)/N(umeric)
|
||
v_waarde := p_waarde;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen huidige waarde';
|
||
|
||
SELECT COUNT ( * ), MAX (alg_onrgoedkenmerk_key)
|
||
INTO ccount, v_onrgoedkenmerk_key
|
||
FROM alg_v_aanwezigonrgoedkenmerk
|
||
WHERE alg_onrgoed_key = p_alg_key
|
||
AND alg_onrgoed_niveau = p_alg_niv
|
||
AND alg_kenmerk_key = p_kenmerk_key;
|
||
|
||
IF ccount = 0
|
||
THEN
|
||
v_errormsg := 'Fout bij toevoegen waarde [' || v_waarde || ']';
|
||
|
||
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
|
||
alg_onrgoed_niveau,
|
||
alg_kenmerk_key,
|
||
alg_onrgoedkenmerk_waarde)
|
||
VALUES (p_alg_key,
|
||
p_alg_niv,
|
||
p_kenmerk_key,
|
||
v_waarde);
|
||
ELSE
|
||
v_errormsg := 'Fout bij bijwerken waarde [' || v_waarde || ']';
|
||
|
||
UPDATE alg_onrgoedkenmerk
|
||
SET alg_onrgoedkenmerk_waarde = v_waarde
|
||
WHERE alg_onrgoedkenmerk_key = v_onrgoedkenmerk_key;
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'upsert_algkenmerk');
|
||
END;
|
||
BEGIN
|
||
-- ***********
|
||
-- ***REGIO***
|
||
-- ***********
|
||
v_count_tot := 0;
|
||
v_count_new := 0;
|
||
|
||
FOR recRegio IN cRegio
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := '[' || recRegio.alg_regio_omschrijving || '] ';
|
||
v_errormsg := 'Fout bij toevoegen regio';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigregio
|
||
WHERE TRIM (alg_regio_upper) =
|
||
UPPER (recRegio.alg_regio_omschrijving);
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
INSERT INTO alg_regio (alg_regio_omschrijving)
|
||
VALUES (recRegio.alg_regio_omschrijving);
|
||
|
||
v_count_new := v_count_new + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Regio/#ingelezen: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Regio/#toegevoegd: ' || TO_CHAR (v_count_new),
|
||
'');
|
||
COMMIT;
|
||
|
||
-- **************
|
||
-- ***DISTRICT***
|
||
-- **************
|
||
v_count_tot := 0;
|
||
v_count_new := 0;
|
||
|
||
FOR recDistrict IN cDistrict
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'['
|
||
|| recDistrict.alg_regio_omschrijving
|
||
|| '|'
|
||
|| recDistrict.alg_district_omschrijving
|
||
|| '] ';
|
||
v_errormsg := 'Fout bij bepalen regio';
|
||
|
||
SELECT alg_regio_key
|
||
INTO v_regio_key
|
||
FROM alg_v_aanwezigregio
|
||
WHERE alg_regio_upper =
|
||
UPPER (recDistrict.alg_regio_omschrijving);
|
||
|
||
v_errormsg := 'Fout bij toevoegen district';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigdistrict
|
||
WHERE alg_regio_key = v_regio_key
|
||
AND TRIM (alg_district_upper) =
|
||
UPPER (recDistrict.alg_district_omschrijving);
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
INSERT INTO alg_district (
|
||
alg_regio_key,
|
||
alg_district_omschrijving
|
||
)
|
||
VALUES (v_regio_key, recDistrict.alg_district_omschrijving);
|
||
|
||
v_count_new := v_count_new + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'District/#ingelezen: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'District/#toegevoegd: ' || TO_CHAR (v_count_new),
|
||
'');
|
||
COMMIT;
|
||
|
||
-- **************
|
||
-- ***LOCATIE****
|
||
-- **************
|
||
v_count_tot := 0;
|
||
v_count_new := 0;
|
||
v_count_upd := 0;
|
||
|
||
FOR recLocatie IN cLocatie
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'['
|
||
|| recLocatie.alg_regio_omschrijving
|
||
|| '|'
|
||
|| recLocatie.alg_district_omschrijving
|
||
|| '|'
|
||
|| recLocatie.alg_locatie_code
|
||
|| '] ';
|
||
v_errormsg := 'Fout bij bepalen regio';
|
||
|
||
SELECT alg_regio_key
|
||
INTO v_regio_key
|
||
FROM alg_v_aanwezigregio
|
||
WHERE alg_regio_upper = UPPER (recLocatie.alg_regio_omschrijving);
|
||
|
||
v_errormsg := 'Fout bij bepalen district';
|
||
|
||
SELECT alg_district_key
|
||
INTO v_district_key
|
||
FROM alg_v_aanwezigdistrict
|
||
WHERE alg_regio_key = v_regio_key
|
||
AND TRIM (alg_district_upper) =
|
||
UPPER (recLocatie.alg_district_omschrijving);
|
||
|
||
v_errormsg := 'Fout bij toevoegen locatie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanweziglocatie
|
||
WHERE alg_district_key = v_district_key
|
||
AND UPPER (alg_locatie_code) =
|
||
UPPER (recLocatie.alg_locatie_code);
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
INSERT INTO alg_locatie (alg_district_key,
|
||
alg_locatie_code,
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_verantw,
|
||
alg_locatie_verantw_tel,
|
||
alg_locatie_adres,
|
||
alg_locatie_postcode,
|
||
alg_locatie_plaats,
|
||
alg_locatie_land,
|
||
alg_locatie_post_adres,
|
||
alg_locatie_post_postcode,
|
||
alg_locatie_post_plaats,
|
||
alg_locatie_post_land)
|
||
VALUES (v_district_key,
|
||
recLocatie.alg_locatie_code,
|
||
recLocatie.alg_locatie_omschrijving,
|
||
recLocatie.alg_locatie_verantw,
|
||
recLocatie.alg_locatie_verantw_tel,
|
||
recLocatie.alg_locatie_adres,
|
||
recLocatie.alg_locatie_postcode,
|
||
recLocatie.alg_locatie_plaats,
|
||
recLocatie.alg_locatie_land,
|
||
recLocatie.alg_locatie_post_adres,
|
||
recLocatie.alg_locatie_post_postcode,
|
||
recLocatie.alg_locatie_post_plaats,
|
||
recLocatie.alg_locatie_post_land)
|
||
RETURNING alg_locatie_key INTO v_locatie_key;
|
||
|
||
v_srtnoti_code := 'ALGLNE';
|
||
v_count_new := v_count_new + 1;
|
||
ELSE -- bijwerken object!
|
||
v_errormsg := 'Fout bij bepalen locatie';
|
||
|
||
SELECT alg_locatie_key
|
||
INTO v_locatie_key
|
||
FROM alg_v_aanweziglocatie
|
||
WHERE UPPER (TRIM (alg_locatie_code)) =
|
||
UPPER (recLocatie.alg_locatie_code);
|
||
|
||
v_srtnoti_code := 'ALGLUP';
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
|
||
-- NULL-waarden resulteren NIET in het wissen van kenmerkvelden
|
||
-- (bijwerken kan wel, maar wissen dus niet)!
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key1, recLocatie.waarde1);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key2, recLocatie.waarde2);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key3, recLocatie.waarde3);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key4, recLocatie.waarde4);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key5, recLocatie.waarde5);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key6, recLocatie.waarde6);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key7, recLocatie.waarde7);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key8, recLocatie.waarde8);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key9, recLocatie.waarde9);
|
||
upsert_algkenmerk (v_locatie_key, 'L', recLocatie.kenmerk_key10, recLocatie.waarde10);
|
||
|
||
fac.trackaction (v_srtnoti_code, v_locatie_key, NULL, NULL, NULL);
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Locatie/#ingelezen: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Locatie/#toegevoegd: ' || TO_CHAR (v_count_new),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Locatie/#bijgewerkt: ' || TO_CHAR (v_count_upd),
|
||
'');
|
||
COMMIT;
|
||
|
||
-- ********************
|
||
-- ***GEBOUWFUNCTIE****
|
||
-- ********************
|
||
v_count_tot := 0;
|
||
v_count_new := 0;
|
||
|
||
FOR recSrtGebouw IN cSrtGebouw
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'[' || recSrtGebouw.alg_srtgebouw_omschrijving || '] ';
|
||
v_errormsg := 'Fout bij toevoegen gebouwfunctie';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanwezigsrtgebouw
|
||
WHERE TRIM (alg_srtgebouw_upper) =
|
||
UPPER (recSrtGebouw.alg_srtgebouw_omschrijving);
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
INSERT INTO alg_srtgebouw (alg_srtgebouw_omschrijving)
|
||
VALUES (recSrtGebouw.alg_srtgebouw_omschrijving);
|
||
|
||
v_count_new := v_count_new + 1;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Gebouwfunctie/#ingelezen: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Gebouwfunctie/#toegevoegd: ' || TO_CHAR (v_count_new),
|
||
'');
|
||
COMMIT;
|
||
|
||
-- ************
|
||
-- ***GEBOUW***
|
||
-- ************
|
||
v_count_tot := 0;
|
||
v_count_new := 0;
|
||
v_count_upd := 0;
|
||
|
||
FOR recGebouw IN cGebouw
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding :=
|
||
'['
|
||
|| recGebouw.alg_regio_omschrijving
|
||
|| '|'
|
||
|| recGebouw.alg_district_omschrijving
|
||
|| '|'
|
||
|| recGebouw.alg_locatie_code
|
||
|| '|'
|
||
|| recGebouw.alg_gebouw_code
|
||
|| '] ';
|
||
v_errormsg := 'Fout bij bepalen regio';
|
||
|
||
SELECT alg_regio_key
|
||
INTO v_regio_key
|
||
FROM alg_v_aanwezigregio
|
||
WHERE alg_regio_upper = UPPER (recGebouw.alg_regio_omschrijving);
|
||
|
||
v_errormsg := 'Fout bij bepalen district';
|
||
|
||
SELECT alg_district_key
|
||
INTO v_district_key
|
||
FROM alg_v_aanwezigdistrict
|
||
WHERE alg_regio_key = v_regio_key
|
||
AND TRIM (alg_district_upper) =
|
||
UPPER (recGebouw.alg_district_omschrijving);
|
||
|
||
v_errormsg := 'Fout bij bepalen locatie';
|
||
|
||
SELECT alg_locatie_key
|
||
INTO v_locatie_key
|
||
FROM alg_v_aanweziglocatie
|
||
WHERE alg_district_key = v_district_key
|
||
AND UPPER (TRIM (alg_locatie_code)) =
|
||
UPPER (recGebouw.alg_locatie_code);
|
||
|
||
IF (recGebouw.alg_srtgebouw_omschrijving IS NOT NULL)
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen gebouwfunctie';
|
||
|
||
SELECT alg_srtgebouw_key
|
||
INTO v_srtgebouw_key
|
||
FROM alg_v_aanwezigsrtgebouw
|
||
WHERE TRIM (alg_srtgebouw_upper) =
|
||
UPPER (recGebouw.alg_srtgebouw_omschrijving);
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij toevoegen gebouw';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_locatie_key = v_locatie_key
|
||
AND UPPER (TRIM (alg_gebouw_code)) =
|
||
UPPER (recGebouw.alg_gebouw_code);
|
||
|
||
IF (v_count = 0)
|
||
THEN
|
||
INSERT INTO alg_gebouw (alg_locatie_key,
|
||
alg_gebouw_code,
|
||
alg_gebouw_naam,
|
||
alg_srtgebouw_key)
|
||
VALUES (v_locatie_key,
|
||
recGebouw.alg_gebouw_code,
|
||
recGebouw.alg_gebouw_naam,
|
||
v_srtgebouw_key)
|
||
RETURNING alg_gebouw_key INTO v_gebouw_key;
|
||
|
||
v_srtnoti_code := 'ALGGNE';
|
||
v_count_new := v_count_new + 1;
|
||
ELSE -- bijwerken object!
|
||
v_errormsg := 'Fout bij bepalen gebouw';
|
||
|
||
SELECT alg_gebouw_key
|
||
INTO v_gebouw_key
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_locatie_key = v_locatie_key
|
||
AND UPPER (TRIM (alg_gebouw_code)) =
|
||
UPPER (recGebouw.alg_gebouw_code);
|
||
|
||
v_srtnoti_code := 'ALGGUP';
|
||
v_count_upd := v_count_upd + 1;
|
||
END IF;
|
||
|
||
-- NULL-waarden resulteren NIET in het wissen van kenmerkvelden
|
||
-- (bijwerken kan wel, maar wissen dus niet)!
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key1, recGebouw.waarde1);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key2, recGebouw.waarde2);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key3, recGebouw.waarde3);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key4, recGebouw.waarde4);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key5, recGebouw.waarde5);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key6, recGebouw.waarde6);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key7, recGebouw.waarde7);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key8, recGebouw.waarde8);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key9, recGebouw.waarde9);
|
||
upsert_algkenmerk (v_gebouw_key, 'G', recGebouw.kenmerk_key10, recGebouw.waarde10);
|
||
|
||
fac.trackaction (v_srtnoti_code, v_gebouw_key, NULL, NULL, NULL);
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Gebouw/#ingelezen: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Gebouw/#toegevoegd: ' || TO_CHAR (v_count_new),
|
||
'');
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'Gebouw/#bijgewerkt: ' || TO_CHAR (v_count_upd),
|
||
'');
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
'Importproces locaties/gebouwen afgebroken!');
|
||
END conn_update_onrgoed1;
|
||
/
|
||
|
||
-- BASW-export; eporteer de afgemelde opdrachten (sinds de laatste keer) en
|
||
-- markeer deze vervolgens als 'ORDAFM-doorgezet' (= hidden kenmerk)!
|
||
/* Formatted on 26-4-2012 11:32:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_export_ordafm_xml (RESULT, result_order)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = SUBSTR ('ORDAFM_XML', 1, 12);
|
||
|
||
/* Formatted on 27-4-2012 15:12:24 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE PROCEDURE conn_select_ordafm_xml (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Cursor loopt over een tijdelijke tabel met daarin opgebouwd alle gegevens
|
||
-- van de te exporteren afgemelde Uitvoering-opdrachten (opdrachttype = 5).
|
||
CURSOR c1
|
||
IS
|
||
SELECT opdr.mld_opdr_key,
|
||
opdr.mld_kenmerk_key,
|
||
opdr.mld_key || '/' || opdr.volgnr opdrachtnr,
|
||
TO_CHAR (ordafdm.fac_tracking_datum, 'dd-mm-yyyy hh24:mi:ss')
|
||
afmelddatum
|
||
FROM (SELECT o.mld_opdr_key,
|
||
k.mld_kenmerk_key,
|
||
o.mld_melding_key mld_key,
|
||
o.mld_opdr_bedrijfopdr_volgnr volgnr
|
||
FROM mld_opdr o, mld_kenmerk k
|
||
WHERE o.mld_statusopdr_key = 6 -- Afgemeld
|
||
AND o.mld_typeopdr_key = 5 -- Uitvoering
|
||
AND o.mld_typeopdr_key = k.mld_typeopdr_key
|
||
AND k.mld_srtkenmerk_key = 1111
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||
AND ko.mld_kenmerk_key =
|
||
k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1111))
|
||
opdr
|
||
LEFT JOIN
|
||
fac_tracking ordafdm
|
||
ON opdr.mld_opdr_key = ordafdm.fac_tracking_refkey
|
||
AND ordafdm.fac_srtnotificatie_key = 26
|
||
ORDER BY 1, 2;
|
||
|
||
c_ordafm2bw_srtkenmerk_key NUMBER (10) := 1111; -- Aangemaakt met CONN52!
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_rownr NUMBER;
|
||
v_count NUMBER;
|
||
|
||
PROCEDURE add_row (p_regel IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
INSERT INTO fac_rapport (
|
||
fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel
|
||
)
|
||
VALUES (SUBSTR (p_applname, 1, 12), v_rownr, p_regel);
|
||
|
||
v_rownr := v_rownr + 1;
|
||
END;
|
||
|
||
PROCEDURE add_element (p_tag IN VARCHAR2, p_value IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
add_row( '<'
|
||
|| p_tag
|
||
|| '>'
|
||
|| xml.char_to_html (p_value)
|
||
|| '</'
|
||
|| p_tag
|
||
|| '>');
|
||
END;
|
||
BEGIN
|
||
v_rownr := 0;
|
||
|
||
DELETE fac_rapport
|
||
WHERE fac_rapport_node = SUBSTR (p_applname, 1, 12);
|
||
|
||
COMMIT;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM mld_opdr o
|
||
WHERE mld_statusopdr_key = 6 -- Afgemeld
|
||
AND o.mld_typeopdr_key = 5 -- Uitvoering
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_kenmerkopdr ko, mld_kenmerk k
|
||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key =
|
||
c_ordafm2bw_srtkenmerk_key);
|
||
|
||
IF (v_count > 0)
|
||
THEN
|
||
-- header
|
||
add_row (
|
||
'<?xml version="1.0" encoding="windows-1252" standalone="yes"?>'
|
||
);
|
||
add_row ('<basware>');
|
||
add_row ('<opdrachtlijst>');
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
add_row( '<opdracht key='
|
||
|| CHR (34)
|
||
|| rec.opdrachtnr
|
||
|| CHR (34)
|
||
|| '>');
|
||
add_element ('afmelddatum', rec.afmelddatum);
|
||
add_row ('</opdracht>');
|
||
|
||
-- Markeer opdracht als 'ORDAFM-doorgezet'!
|
||
INSERT INTO mld_kenmerkopdr (
|
||
mld_opdr_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkopdr_waarde
|
||
)
|
||
VALUES (rec.mld_opdr_key, rec.mld_kenmerk_key, '1');
|
||
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
add_row ('</opdrachtlijst>');
|
||
add_row ('</basware>');
|
||
END IF;
|
||
|
||
fac.writelog (p_applname,
|
||
'S',
|
||
'Aantal opdrachten afgemeld: ' || TO_CHAR (v_count),
|
||
'');
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
'ORDAFM_XML-export afgebroken!',
|
||
v_errormsg);
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE conn_daily
|
||
AS
|
||
v_volgnr NUMBER;
|
||
BEGIN
|
||
-- Anonymizeren van bezoekers (na 3 maanden) en personen (na 12 maanden)
|
||
SELECT COALESCE(MAX(fac_rapport_volgnr),0)
|
||
INTO v_volgnr
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'Anonymize';
|
||
|
||
v_volgnr := v_volgnr + 1;
|
||
IF TO_CHAR (SYSDATE, 'DD') = '01'
|
||
THEN
|
||
BEGIN
|
||
ANO.anonymizebez (add_months(trunc(SYSDATE), -4), add_months(trunc(SYSDATE), -3));
|
||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
|
||
VALUES('Anonymize', v_volgnr, 'Bezoekers geanonymizeerd ' ||
|
||
to_char(add_months(TRUNC(SYSDATE), -4), 'dd-mm-yyyy hh24:mi:ss') || ' - ' ||
|
||
to_char(add_months(TRUNC(SYSDATE), -3), 'dd-mm-yyyy hh24:mi:ss'));
|
||
EXCEPTION WHEN OTHERS
|
||
THEN
|
||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
|
||
VALUES('Anonymize', v_volgnr, 'Error: Fout opgetreden bij het anonymizeren van bezoekers ' ||
|
||
to_char(add_months(TRUNC(SYSDATE), -4), 'dd-mm-yyyy hh24:mi:ss') || ' - ' ||
|
||
to_char(add_months(TRUNC(SYSDATE), -3), 'dd-mm-yyyy hh24:mi:ss'));
|
||
END;
|
||
END IF;
|
||
END;
|
||
/
|
||
|
||
-- Notificatie naar bezoekers op de dag van het bezoek
|
||
CREATE OR REPLACE VIEW conn_v_noti_bezoeker
|
||
AS
|
||
SELECT NULL sender,
|
||
NULL receiver,
|
||
'Uw bezoek aan Transdev op '
|
||
|| TO_CHAR (bez_afspraak_datum, 'DD-MM-YYYY')
|
||
|| ' , '
|
||
|| TO_CHAR (bez_afspraak_datum, 'HH24:MI') text,
|
||
'CUST04' code,
|
||
a.bez_afspraak_key key,
|
||
bez_bezoekers_key xkey,
|
||
bez_bezoekers_email xemail,
|
||
NULL xmobile,
|
||
a.bez_afspraak_datum
|
||
FROM bez_afspraak a, bez_bezoekers b
|
||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||
AND TRUNC(a.bez_afspraak_datum) = TRUNC(SYSDATE)
|
||
AND b.bez_bezoekers_email IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key =405
|
||
AND t.fac_tracking_refkey = a.bez_afspraak_key
|
||
AND t.fac_tracking_oms LIKE '%CUST04%');
|
||
|
||
-- Notificatie op dag van aanmaak van de afspraak
|
||
CREATE OR REPLACE VIEW conn_v_noti_bez_aanmaak
|
||
AS
|
||
SELECT NULL sender,
|
||
NULL receiver,
|
||
'Uw bezoek aan Transdev op '
|
||
|| TO_CHAR (bez_afspraak_datum, 'DD-MM-YYYY')
|
||
|| ' , '
|
||
|| TO_CHAR (bez_afspraak_datum, 'HH24:MI') text,
|
||
'CUST03' code,
|
||
a.bez_afspraak_key key,
|
||
bez_bezoekers_key xkey,
|
||
bez_bezoekers_email xemail,
|
||
NULL xmobile,
|
||
a.bez_afspraak_datum
|
||
FROM bez_afspraak a, bez_bezoekers b
|
||
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
||
AND TRUNC(a.bez_afspraak_datum) = TRUNC(SYSDATE)
|
||
AND b.bez_bezoekers_email IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking t
|
||
WHERE t.fac_srtnotificatie_key = 405
|
||
AND t.fac_tracking_refkey = a.bez_afspraak_key
|
||
AND t.fac_tracking_oms LIKE '%CUST03%');
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_noti_coupa_fout
|
||
AS
|
||
SELECT NULL sender,
|
||
receiver,
|
||
'Opdracht '||opdr_nr
|
||
||' is op '|| TO_CHAR(tracking_datum, 'DD-MM-YYYY')
|
||
||' om '|| TO_CHAR(tracking_datum, 'HH24:MI')
|
||
||' niet succesvol verstuurd naar Coupa.' text,
|
||
'CUST05' code,
|
||
opdr_key key,
|
||
NULL xkey,
|
||
NULL xemail,
|
||
NULL xmobile
|
||
FROM
|
||
(SELECT o.mld_opdr_key opdr_key, o.mld_melding_key||'/'||o.mld_opdr_bedrijfopdr_volgnr opdr_nr, p.prs_perslid_email receiver, f.fac_tracking_oms, MAX(f.fac_tracking_datum) tracking_datum
|
||
FROM mld_opdr o , fac_tracking f, fac_srtnotificatie fs, prs_perslid p
|
||
WHERE f.fac_tracking_refkey = o.MLD_OPDR_KEY
|
||
AND fs.fac_srtnotificatie_code='ORDSNX'
|
||
AND f.fac_srtnotificatie_key=fs.fac_srtnotificatie_key
|
||
AND f.fac_tracking_oms like 'COUPA_FAIL:%'
|
||
AND f.fac_srtnotificatie_key=fs.fac_srtnotificatie_key
|
||
AND p.prs_perslid_key= o.prs_perslid_key
|
||
AND fac_tracking_datum > (SYSDATE-1)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE t.fac_srtnotificatie_key =
|
||
sn.fac_srtnotificatie_key
|
||
AND t.fac_tracking_refkey = o.mld_opdr_key
|
||
AND fac_srtnotificatie_code = 'CUST05'
|
||
AND o.mld_opdr_datumbegin < fac_tracking_datum)
|
||
GROUP BY o.mld_opdr_key,o.mld_melding_key||'/'||o.mld_opdr_bedrijfopdr_volgnr,p.prs_perslid_email , f.fac_tracking_oms);
|
||
|
||
|
||
-- View die voor die opdrachten die gereed gezet zijn voor export naar coupa
|
||
-- met aanvraagnr en InkoopNr.
|
||
CREATE OR REPLACE VIEW conn_v_coupa_rapport
|
||
AS
|
||
SELECT o.mld_melding_key opdrachtnr,
|
||
o.mld_opdr_bedrijfopdr_volgnr volgnr,
|
||
o.mld_opdr_key opdr_key,
|
||
(SELECT p.prs_perslid_naam_friendly
|
||
FROM prs_v_perslid_fullnames p
|
||
WHERE p.prs_perslid_key=o.prs_perslid_key) aanvrager,
|
||
(SELECT ko2.mld_kenmerkopdr_waarde
|
||
FROM mld_kenmerkopdr ko2
|
||
WHERE ko2.mld_opdr_key = o.mld_opdr_key
|
||
AND ko2.mld_kenmerk_key=2661) aanvraagnr,
|
||
(SELECT ko1.mld_kenmerkopdr_waarde
|
||
FROM mld_kenmerkopdr ko1
|
||
WHERE ko1.mld_opdr_key = o.mld_opdr_key
|
||
AND ko1.mld_kenmerk_key=2681) inkoopnr,
|
||
o.mld_opdr_datumbegin opd_datumbegin,
|
||
(SELECT ft.fac_tracking_datum
|
||
FROM fac_tracking ft
|
||
WHERE ft.fac_srtnotificatie_key=111
|
||
AND lower(ft.fac_tracking_oms)='opdracht in bestand klaargezet'
|
||
AND ft.fac_tracking_refkey=o.mld_opdr_key) datum_verstuurd
|
||
FROM mld_opdr o, mld_kenmerkopdr ko
|
||
WHERE o.mld_statusopdr_key=5
|
||
AND ko.mld_opdr_key = o.mld_opdr_key
|
||
AND ko.mld_kenmerk_key=2661
|
||
AND ko.mld_kenmerkopdr_waarde IS NOT NULL;
|
||
|
||
CREATE OR REPLACE VIEW conn_v_coupa_exp_error
|
||
( opdr_key,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
track_datum,
|
||
opdr_datum)
|
||
AS
|
||
SELECT DISTINCT o.mld_opdr_key,
|
||
o.mld_melding_key||'/'||o.mld_opdr_bedrijfopdr_volgnr,
|
||
(SELECT p.prs_perslid_naam_friendly
|
||
FROM prs_v_perslid_fullnames p
|
||
WHERE p.prs_perslid_key=o.prs_perslid_key) aanvrager,
|
||
ft.fac_tracking_oms,
|
||
ft.fac_tracking_datum,
|
||
o.mld_opdr_datumbegin
|
||
FROM mld_opdr o, fac_tracking ft
|
||
WHERE ft.fac_tracking_refkey=o.mld_opdr_key
|
||
AND ft.fac_srtnotificatie_key=247
|
||
AND (upper(ft.fac_tracking_oms) like 'COUPA_FAIL%' OR upper(ft.fac_tracking_oms) like '%COUPA ERROR%');
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_coupa_select
|
||
AS
|
||
SELECT op.mld_opdr_key opdr_key,
|
||
op.mld_melding_key,
|
||
op.mld_opdr_bedrijfopdr_volgnr,
|
||
op.mld_opdr_kosten kosten,
|
||
op.mld_opdr_datumbegin begindatum,
|
||
op.mld_opdr_einddatum einddatum,
|
||
afd.prs_afdeling_omschrijving||'('||afd.prs_afdeling_naam||')' department,
|
||
prs.prs_perslid_email userEmail,
|
||
prs.prs_perslid_oslogin userLogin,
|
||
'HV'||loc.alg_locatie_code locationCode,
|
||
'ST'||op.mld_melding_key||'/'||op.mld_opdr_bedrijfopdr_volgnr facilitorKey,
|
||
ks.prs_kostensoort_oms ks_omschrijving,
|
||
ks.prs_kostensoort_opmerking ks_opmerking,
|
||
k.prs_kostenplaats_nr kostenplaats,
|
||
pbd.prs_leverancier_nr levNr,
|
||
mld.mld_melding_omschrijving mld_omschr,
|
||
op.mld_opdr_omschrijving opdr_omschr
|
||
FROM mld_opdr op, mld_melding mld, mld_stdmelding smld, alg_locatie loc, prs_bedrijf pbd, prs_perslid prs, prs_afdeling afd, prs_kostenplaats k, PRS_KOSTENSOORT ks
|
||
WHERE op.mld_statusopdr_key=8 -- welke status moet een opdarcht hebben om hem naar Coupa te exporteren ?
|
||
AND pbd.prs_bedrijf_key = op.mld_uitvoerende_keys
|
||
AND prs.prs_perslid_key = op.prs_perslid_key
|
||
AND mld.mld_melding_key=op.mld_melding_key
|
||
AND smld.MLD_STDMELDING_KEY = mld.MLD_STDMELDING_KEY
|
||
AND loc.alg_locatie_key = mld.mld_alg_locatie_key
|
||
AND afd.prs_afdeling_key=prs.prs_afdeling_key
|
||
AND smld.prs_kostensoort_key = ks.prs_kostensoort_key
|
||
AND op.prs_kostenplaats_key = k.prs_kostenplaats_key;
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE conn_select_coupa_export(p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR sel_opd
|
||
IS
|
||
SELECT opdr_key, kosten, begindatum , einddatum, department, userEmail, userLogin, locationcode, facilitorkey, levNr, opdr_omschr, mld_omschr, ks_omschrijving, ks_opmerking, kostenplaats
|
||
FROM conn_v_coupa_select;
|
||
|
||
v_req VARCHAR2(1000);
|
||
v_reqLine VARCHAR2(1000);
|
||
v_reqHeader VARCHAR2(1000);
|
||
v_reqLineHeader VARCHAR2(1000);
|
||
v_counter NUMBER;
|
||
v_regel NUMBER;
|
||
v_base VARCHAR2(10);
|
||
BEGIN
|
||
v_reqHeader := 'Requisition,Record Identifier,Submit For Approval?,Need By Date,Justification,Department Name,Buyer Note,Requested By (Email),Requested By (Login),PCard Name,Ship To Name,Ship To Id,Ship To Attention,Ship To Street 1,Ship To Street 2,Ship To City,Ship To State,Ship To Postal Code,Ship to Country/Region Code,Ship to Country/Region Name,Ship to Location Code,Hide Price,Facilitor referentie,,,,,,,,,';
|
||
v_reqLineheader := 'Requisition Line,Record Identifier,Line Number,Catalogue Item Number,Catalogue Item Name,Non Catalogue Item Description,Supplier Part Number,Supplier Aux Part Number,Quantity,Price,Need By Date,Transmission Method Override,Transmission Emails,Supplier Name,Supplier Number,Supplier Site Code,UOM Code,Commodity Name,Contract Name,Currency Code,Asset Tags,Chart of Account Name,Account Name,Account Code,Account Segment 1,Account Segment 2,Account Segment 3,Account Segment 4,Payment Term Code,Shipping Term Code,Budget Period Name,Uitgebreide omschrijving #';
|
||
v_counter:=1;
|
||
v_regel :=1;
|
||
v_base:='CPA_EXP-';
|
||
|
||
DELETE FROM fac_rapport
|
||
WHERE fac_rapport_node LIKE 'CPA_EXP-%';
|
||
COMMIT;
|
||
|
||
FOR rec IN sel_opd
|
||
LOOP
|
||
BEGIN
|
||
v_req := 'Requestion,'||rec.opdr_key||',Yes,'||TO_CHAR(rec.begindatum,'DD-MM-YYYY')||',,'||rec.department||',,'||rec.userEmail||','||rec.userLogin||',,,,,,,,,,,,'||rec.locationcode||',,'||rec.facilitorkey;
|
||
v_reqLine := 'RequisitionLine,'||rec.opdr_key||',1,,,'||conn.quote(SUBSTR(REPLACE(REPLACE(rec.mld_omschr, CHR(13), ''), CHR(10), ''),0,250))||',,,,'||rec.kosten||','||TO_CHAR(rec.einddatum,'DD-MM-YYYY')||',,,,'||rec.levNr||',,,'||rec.ks_opmerking||',,EUR,,Connexxion Nederland NV (XX-01 ),,,'||rec.kostenplaats ||',81999,'||rec.ks_omschrijving||',,,,,'||conn.quote(SUBSTR(REPLACE(REPLACE(rec.opdr_omschr, CHR(13), ''), CHR(10), ''),0,250));
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (v_base||v_counter||'-', v_regel, v_reqHeader);
|
||
v_regel:=v_regel+1;
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (v_base||v_counter||'-', v_regel, v_reqLineHeader);
|
||
v_regel:=v_regel+1;
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (v_base||v_counter||'-', v_regel, v_req);
|
||
v_regel:=v_regel+1;
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (v_base||v_counter||'-', v_regel, v_reqLine);
|
||
v_regel := v_regel + 1;
|
||
v_counter := v_counter +1;
|
||
END;
|
||
END LOOP;
|
||
COMMIT;
|
||
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_EXPORT_COUPA_EXPORT
|
||
(
|
||
result,
|
||
result_order,
|
||
exp_cpa
|
||
)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr, fac_rapport_node
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node LIKE 'CPA_EXP%';
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_coupa_bijlages
|
||
AS
|
||
SELECT o.mld_opdr_key,
|
||
o.mld_opdr_externsyncdate extern_syncdate,
|
||
(SELECT ko.mld_kenmerkopdr_waarde
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE ko.mld_opdr_key = o.mld_opdr_key
|
||
AND ko.mld_kenmerk_key=2661 -- A=2701 P=2661
|
||
AND ko.mld_kenmerkopdr_waarde IS NOT NULL) coupa_id,
|
||
fb.fac_bijlagen_filename bestand,
|
||
fb.fac_bijlagen_disk_directory path,
|
||
fb.fac_bijlagen_aanmaak bijlage_aanmaak
|
||
FROM mld_opdr o, fac_v_bijlagen fb
|
||
WHERE fb.fac_bijlagen_refkey=o.mld_opdr_key
|
||
AND o.mld_statusopdr_key IN (4,5)
|
||
AND fb.fac_bijlagen_kenmerk_key=2663 -- A=2722 P=2663
|
||
AND fb.fac_bijlagen_module='MLD';
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW conn_v_noti_jrremind
|
||
(code, sender, receiver, text, key, par1, par2, xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key)
|
||
AS
|
||
SELECT '', '', c.prs_perslid_key_beh,
|
||
'Jaarlijkse Rappelering: Contract '
|
||
|| c.cnt_contract_nummer_intern||DECODE(c.cnt_contract_versie, NULL, '', '.'||c.cnt_contract_versie)
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' moet uiterlijk per '
|
||
|| TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'DD-MM-YYYY')
|
||
|| ' worden verlengd of opgezegd.',
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, cnt.cnt_getopzegdatum (c.cnt_contract_key), NULL
|
||
, NULL xemail
|
||
, NULL xmobile
|
||
, NULL fac_srtnotificatie_key
|
||
, NULL attachments
|
||
, NULL xsender
|
||
, NULL prs_bedrijfadres_key
|
||
FROM cnt_contract c , cnt_kenmerkcontract ken, prs_bedrijf b
|
||
WHERE c.cnt_contract_verwijder is null
|
||
AND c.cnt_contract_status = 0
|
||
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND TRUNC(c.cnt_contract_looptijd_van) < TRUNC(SYSDATE)
|
||
AND TRUNC(c.cnt_contract_looptijd_tot) > TRUNC(SYSDATE)
|
||
AND TO_CHAR(c.cnt_contract_looptijd_tot,'DDMM') = TO_CHAR(SYSDATE, 'DDMM')
|
||
AND ken.cnt_contract_key = c.cnt_contract_key
|
||
AND FAC.safe_to_number(ken.cnt_kenmerkcontract_waarde) = 129
|
||
AND ken.cnt_kenmerk_key IN (SELECT cnt_kenmerk_key FROM cnt_kenmerk where UPPER(cnt_kenmerk_omschrijving)='JAARLIJKSE RAPPELERING')
|
||
AND c.cnt_contract_key NOT IN ( SELECT key FROM fac_v_noti_cntreminder);
|
||
|
||
-- View tbv van die contracten die bankgarantie hebben en de contracte afgesloten zijn.
|
||
CREATE OR REPLACE VIEW conn_v_noti_bgremind
|
||
(code, sender, receiver, text, key, par1, par2, xkey, xemail, xmobile, fac_srtnotificatie_key, attachments, xsender, prs_bedrijfadres_key)
|
||
AS
|
||
SELECT '', '', c.prs_perslid_key_beh,
|
||
'Bankgarantie melding van afgelopen contracten: Voor contract '
|
||
|| c.cnt_contract_nummer_intern||DECODE(c.cnt_contract_versie, NULL, '', '.'||c.cnt_contract_versie)
|
||
|| ' ('
|
||
|| c.cnt_contract_omschrijving
|
||
|| ' '
|
||
|| b.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' is een bankgarantie afgegeven door '
|
||
|| (SELECT kc.cnt_kenmerkcontract_waarde FROM cnt_kenmerkcontract kc WHERE kc.cnt_kenmerk_key=523 AND kc.CNT_CONTRACT_KEY=c.cnt_contract_key)
|
||
|| ' en deze moet worden opgezegt.',
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, cnt.cnt_getopzegdatum (c.cnt_contract_key), NULL
|
||
, NULL xemail
|
||
, NULL xmobile
|
||
, NULL fac_srtnotificatie_key
|
||
, NULL attachments
|
||
, NULL xsender
|
||
, NULL prs_bedrijfadres_key
|
||
FROM cnt_contract c , cnt_kenmerkcontract ken, prs_bedrijf b
|
||
WHERE c.cnt_contract_verwijder is null
|
||
AND c.cnt_contract_status = 0 -- contract is gesloten
|
||
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND ken.cnt_contract_key = c.cnt_contract_key
|
||
AND FAC.safe_to_number(ken.cnt_kenmerkcontract_waarde) = 129 -- voor dit contract is een bankgaantie afgegeven
|
||
AND ken.cnt_kenmerk_key IN (SELECT cnt_kenmerk_key FROM cnt_kenmerk where UPPER(cnt_kenmerk_omschrijving)='BANKGARANTIE AFGEGEVEN');
|
||
|
||
CREATE OR REPLACE VIEW conn_v_rayonmanager
|
||
(
|
||
prs_perslid_key,
|
||
prs_perslid_naam
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly FROM prs_v_perslid_fullnames p , prs_kenmerklink pkl, prs_kenmerk pk
|
||
WHERE pk.prs_kenmerk_upper=UPPER('Is RayonManager')
|
||
AND pk.prs_kenmerk_key = pkl.prs_kenmerk_key
|
||
AND pkl.prs_kenmerklink_waarde='1'
|
||
AND p.prs_perslid_key=pkl.prs_link_key;
|
||
|
||
|
||
-- View met alle NL SFB groepen tbv van OPrognose assets import
|
||
CREATE OR REPLACE VIEW CONN_V_SElECT_NLSFB_GRPSOORT
|
||
(
|
||
code,
|
||
omsch)
|
||
AS
|
||
SELECT '1110' code,'grond, algemeen (verzamelniveau)' omsch FROM DUAL UNION
|
||
SELECT '1111','grond, ontgravingen' FROM DUAL UNION
|
||
SELECT '1112','grond, aanvullingen' FROM DUAL UNION
|
||
SELECT '1113','grond, sloop- en rooiwerkzaamheden' FROM DUAL UNION
|
||
SELECT '1115','grond, damwanden' FROM DUAL UNION
|
||
SELECT '1120','water, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1124','water, bemalingen' FROM DUAL UNION
|
||
SELECT '1125','water, damwanden' FROM DUAL UNION
|
||
SELECT '1310','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1311','niet constructief, bodemafsluitingen' FROM DUAL UNION
|
||
SELECT '1312','niet constructief, vloeren als gebouwonderdeel' FROM DUAL UNION
|
||
SELECT '1313','niet constructief, vloeren als bestrating' FROM DUAL UNION
|
||
SELECT '1320','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1321','constructief, bodemafsluitingen' FROM DUAL UNION
|
||
SELECT '1322','constructief, vloeren als gebouwonderdeel' FROM DUAL UNION
|
||
SELECT '1325','constructief, grondverbeteringen' FROM DUAL UNION
|
||
SELECT '1610','voeten en balken, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1611','voeten en balken, fundatie voeten' FROM DUAL UNION
|
||
SELECT '1612','voeten en balken, fundatie balken' FROM DUAL UNION
|
||
SELECT '1613','voeten en balken, fundatie poeren' FROM DUAL UNION
|
||
SELECT '1614','voeten en balken, gevelwanden (-200)' FROM DUAL UNION
|
||
SELECT '1615','voeten en balken, grondverbeteringen' FROM DUAL UNION
|
||
SELECT '1620','keerwanden, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1621','keerwanden, grondkerende wanden' FROM DUAL UNION
|
||
SELECT '1622','keerwanden, waterkerende wanden' FROM DUAL UNION
|
||
SELECT '1623','keerwanden, gevelwanden (-200)' FROM DUAL UNION
|
||
SELECT '1625','keerwanden, grondverbeteringen' FROM DUAL UNION
|
||
SELECT '1710','niet geheid, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1711','niet geheid, dragend palen geboord' FROM DUAL UNION
|
||
SELECT '1712','niet geheid, dragende palen geschroefd' FROM DUAL UNION
|
||
SELECT '1713','niet geheid, trekverankeringen' FROM DUAL UNION
|
||
SELECT '1714','niet geheid, pijler-putring-funderingen' FROM DUAL UNION
|
||
SELECT '1715','niet geheid, bodeminjecties' FROM DUAL UNION
|
||
SELECT '1720','geheid, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '1721','geheid, dragende palen' FROM DUAL UNION
|
||
SELECT '1722','geheid, palen ingeheide bekisting' FROM DUAL UNION
|
||
SELECT '1723','geheid, trekverankeringen' FROM DUAL UNION
|
||
SELECT '1725','geheid, damwanden-funderingen' FROM DUAL UNION
|
||
SELECT '2110','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2111','niet constructief, massieve wanden' FROM DUAL UNION
|
||
SELECT '2112','niet constructief, spouwwanden' FROM DUAL UNION
|
||
SELECT '2113','niet constructief, systeemwanden' FROM DUAL UNION
|
||
SELECT '2114','niet constructief, vlieswanden' FROM DUAL UNION
|
||
SELECT '2115','niet constructief, borstweringen' FROM DUAL UNION
|
||
SELECT '2116','niet constructief, boeiboorden' FROM DUAL UNION
|
||
SELECT '2120','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2121','constructief, massieve wanden' FROM DUAL UNION
|
||
SELECT '2122','constructief, spouwwanden' FROM DUAL UNION
|
||
SELECT '2123','constructief, systeemwanden' FROM DUAL UNION
|
||
SELECT '2125','constructief, borstweringen' FROM DUAL UNION
|
||
SELECT '2210','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2211','niet constructief, massieve wanden' FROM DUAL UNION
|
||
SELECT '2212','niet constructief, spouwwanden' FROM DUAL UNION
|
||
SELECT '2213','niet constructief, systeemwanden vast' FROM DUAL UNION
|
||
SELECT '2214','niet constructief, systeemwanden verplaatsbaar' FROM DUAL UNION
|
||
SELECT '2220','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2221','constructief, massieve wanden' FROM DUAL UNION
|
||
SELECT '2222','constructief, spouwwanden' FROM DUAL UNION
|
||
SELECT '2223','constructief, systeemwanden vast' FROM DUAL UNION
|
||
SELECT '2310','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2311','niet constructief, vrijdragende vloeren' FROM DUAL UNION
|
||
SELECT '2312','niet constructief, balkons' FROM DUAL UNION
|
||
SELECT '2313','niet constructief, galerijen' FROM DUAL UNION
|
||
SELECT '2314','niet constructief, bordessen' FROM DUAL UNION
|
||
SELECT '2315','niet constructief, vloeren t.b.v. technische voorzieningen' FROM DUAL UNION
|
||
SELECT '2320','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2321','constructief, vrijdragende vloeren' FROM DUAL UNION
|
||
SELECT '2322','constructief, balkons' FROM DUAL UNION
|
||
SELECT '2323','constructief, galerijen' FROM DUAL UNION
|
||
SELECT '2324','constructief, bordessen' FROM DUAL UNION
|
||
SELECT '2325','constructief, vloeren t.b.v. technische voorzieningen' FROM DUAL UNION
|
||
SELECT '2410','trappen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2411','trappen, rechte steektrappen' FROM DUAL UNION
|
||
SELECT '2412','trappen, niet-rechte steektrappen' FROM DUAL UNION
|
||
SELECT '2413','trappen, spiltrappen' FROM DUAL UNION
|
||
SELECT '2415','trappen, bordessen' FROM DUAL UNION
|
||
SELECT '2420','hellingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2421','hellingen, beloopbare hellingen' FROM DUAL UNION
|
||
SELECT '2422','hellingen, berijdbare hellingen' FROM DUAL UNION
|
||
SELECT '2425','hellingen, bordessen' FROM DUAL UNION
|
||
SELECT '2430','ladders en klimijzers, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2431','ladders en klimijzers, ladders' FROM DUAL UNION
|
||
SELECT '2432','ladders en klimijzers, klimijzers' FROM DUAL UNION
|
||
SELECT '2435','ladders en klimijzers, bordessen' FROM DUAL UNION
|
||
SELECT '2710','niet constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2711','niet constructief, vlakke daken' FROM DUAL UNION
|
||
SELECT '2712','niet constructief, hellende daken' FROM DUAL UNION
|
||
SELECT '2713','niet constructief, luifels' FROM DUAL UNION
|
||
SELECT '2714','niet constructief, overkappingen' FROM DUAL UNION
|
||
SELECT '2716','niet constructief, gootconstructies' FROM DUAL UNION
|
||
SELECT '2720','constructief, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2721','constructief, vlakke daken' FROM DUAL UNION
|
||
SELECT '2722','constructief, hellende daken' FROM DUAL UNION
|
||
SELECT '2723','constructief, luifels' FROM DUAL UNION
|
||
SELECT '2724','constructief, overkappingen' FROM DUAL UNION
|
||
SELECT '2726','constructief, gootconstructies' FROM DUAL UNION
|
||
SELECT '2810','kolommen en liggers, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2811','kolommen en liggers, kolom-/liggerconstructies' FROM DUAL UNION
|
||
SELECT '2812','kolommen en liggers, spanten' FROM DUAL UNION
|
||
SELECT '2820','wanden en vloeren, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2821','wanden en vloeren, wand-/vloerconstructies' FROM DUAL UNION
|
||
SELECT '2830','ruimte-eenheden, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '2831','ruimte-eenheden, doosconstructies' FROM DUAL UNION
|
||
SELECT '3110','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3111','niet gevuld, daglichtopeningen' FROM DUAL UNION
|
||
SELECT '3112','niet gevuld, buitenluchtopeningen' FROM DUAL UNION
|
||
SELECT '3120','gevuld met ramen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3121','gevuld met ramen, gesloten ramen' FROM DUAL UNION
|
||
SELECT '3122','gevuld met ramen, ramen draaiend aan een kant' FROM DUAL UNION
|
||
SELECT '3123','gevuld met ramen, schuiframen' FROM DUAL UNION
|
||
SELECT '3124','gevuld met ramen, ramen draaiend op verticale of horizontale as' FROM DUAL UNION
|
||
SELECT '3125','gevuld met ramen, combinatieramen' FROM DUAL UNION
|
||
SELECT '3130','gevuld met deuren, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3131','gevuld met deuren, draaideuren' FROM DUAL UNION
|
||
SELECT '3132','gevuld met deuren, schuifdeuren' FROM DUAL UNION
|
||
SELECT '3133','gevuld met deuren, tuimeldeuren' FROM DUAL UNION
|
||
SELECT '3134','gevuld met deuren, tourniqets' FROM DUAL UNION
|
||
SELECT '3140','gevuld met puien, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3141','gevuld met puien, gesloten puien' FROM DUAL UNION
|
||
SELECT '3210','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3211','niet gevuld, openingen als doorgang' FROM DUAL UNION
|
||
SELECT '3212','niet gevuld, openingen als doorzicht' FROM DUAL UNION
|
||
SELECT '3220','gevuld met ramen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3221','gevuld met ramen, gesloten ramen' FROM DUAL UNION
|
||
SELECT '3222','gevuld met ramen, ramen draaiend aan een kant' FROM DUAL UNION
|
||
SELECT '3223','gevuld met ramen, schuiframen' FROM DUAL UNION
|
||
SELECT '3224','gevuld met ramen, ramen draaiend op verticale of horizontale as' FROM DUAL UNION
|
||
SELECT '3225','gevuld met ramen, combinatieramen' FROM DUAL UNION
|
||
SELECT '3230','gevuld met deuren, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3231','gevuld met deuren, draaideuren' FROM DUAL UNION
|
||
SELECT '3232','gevuld met deuren, schuifdeuren' FROM DUAL UNION
|
||
SELECT '3233','gevuld met deuren, tuimeldeuren' FROM DUAL UNION
|
||
SELECT '3234','gevuld met deuren, tourniqets' FROM DUAL UNION
|
||
SELECT '3240','gevuld met puien, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3241','gevuld met puien, gesloten puien' FROM DUAL UNION
|
||
SELECT '3310','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3311','niet gevuld, openingen als doorgang' FROM DUAL UNION
|
||
SELECT '3312','niet gevuld, openingen als doorzicht' FROM DUAL UNION
|
||
SELECT '3320','gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3321','gevuld, beloopbare vullingen' FROM DUAL UNION
|
||
SELECT '3322','gevuld, niet-beloopbare vullingen' FROM DUAL UNION
|
||
SELECT '3410','balustrades, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3411','balustrades, binnenbalustrades' FROM DUAL UNION
|
||
SELECT '3412','balustrades, buitenbalustrades' FROM DUAL UNION
|
||
SELECT '3420','leuningen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3421','leuningen, binnenleuningen' FROM DUAL UNION
|
||
SELECT '3422','leuningen, buitenleuningen' FROM DUAL UNION
|
||
SELECT '3431','leuningen, binnentrapleuning hout' FROM DUAL UNION
|
||
SELECT '3710','niet gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3711','niet gevuld, daglichtopeningen' FROM DUAL UNION
|
||
SELECT '3712','niet gevuld, buitenluchtopeningen' FROM DUAL UNION
|
||
SELECT '3720','gevuld, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3721','gevuld, gesloten ramen' FROM DUAL UNION
|
||
SELECT '3722','gevuld, ramen draaiend aan <20><>n kant' FROM DUAL UNION
|
||
SELECT '3723','gevuld, schuiframen' FROM DUAL UNION
|
||
SELECT '3724','gevuld, ramen draaiend op een as' FROM DUAL UNION
|
||
SELECT '3725','gevuld, combinatieramen' FROM DUAL UNION
|
||
SELECT '3810','algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '3811','inbouwpakketten met te openen delen' FROM DUAL UNION
|
||
SELECT '3812','inbouwpakketten met gesloten delen' FROM DUAL UNION
|
||
SELECT '4110','algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4111','afwerklagen' FROM DUAL UNION
|
||
SELECT '4112','bekledingen' FROM DUAL UNION
|
||
SELECT '4113','voorzetwanden' FROM DUAL UNION
|
||
SELECT '4210','algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4211','afwerklagen' FROM DUAL UNION
|
||
SELECT '4212','bekledingen' FROM DUAL UNION
|
||
SELECT '4310','verhoogd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4311','verhoogd, podiums' FROM DUAL UNION
|
||
SELECT '4312','verhoogd, installatievloeren' FROM DUAL UNION
|
||
SELECT '4320','niet verhoogd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4321','niet verhoogd, afwerklagen' FROM DUAL UNION
|
||
SELECT '4322','niet verhoogd, bekledingen' FROM DUAL UNION
|
||
SELECT '4323','niet verhoogd, systeemvloerafwerkingen' FROM DUAL UNION
|
||
SELECT '4410','trapafwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4411','trapafwerkingen, afwerklagen' FROM DUAL UNION
|
||
SELECT '4412','trapafwerkingen, bekledingen' FROM DUAL UNION
|
||
SELECT '4413','trapafwerkingen, systeemafwerkingen' FROM DUAL UNION
|
||
SELECT '4420','hellingafwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4421','hellingafwerkingen, afwerklagen' FROM DUAL UNION
|
||
SELECT '4422','hellingafwerkingen, bekledingen' FROM DUAL UNION
|
||
SELECT '4423','hellingafwerkingen, systeemafwerkingen' FROM DUAL UNION
|
||
SELECT '4510','verlaagd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4511','verlaagd, verlaagde plafonds' FROM DUAL UNION
|
||
SELECT '4512','verlaagd, systeem plafonds' FROM DUAL UNION
|
||
SELECT '4514','verlaagd, koofconstructies' FROM DUAL UNION
|
||
SELECT '4515','verlaagd, gordijnplanken' FROM DUAL UNION
|
||
SELECT '4520','niet verlaagd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4521','niet verlaagd, afwerkingen' FROM DUAL UNION
|
||
SELECT '4522','niet verlaagd, bekledingen' FROM DUAL UNION
|
||
SELECT '4523','niet verlaagd, systeemafwerkingen' FROM DUAL UNION
|
||
SELECT '4524','niet verlaagd, koofconstructies' FROM DUAL UNION
|
||
SELECT '4525','niet verlaagd, gordijnplanken' FROM DUAL UNION
|
||
SELECT '4621','buitenschilderwerk, hout' FROM DUAL UNION
|
||
SELECT '4622','binnenschilderwerk, spuitwerk' FROM DUAL UNION
|
||
SELECT '4624','binnenschilderwerk, trap hout transparant' FROM DUAL UNION
|
||
SELECT '4628','binnenschilderwerk, betoncontructie' FROM DUAL UNION
|
||
SELECT '4631','buitenschilderwerk, kozijn en raam hout dekkend' FROM DUAL UNION
|
||
SELECT '4632','binnenschilderwerk, kozijn en raam staal' FROM DUAL UNION
|
||
SELECT '4645','buitenschilderwerk, plafond hout dekkend' FROM DUAL UNION
|
||
SELECT '4710','afwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4711','afwerkingen, vlakke dakafwerkingen' FROM DUAL UNION
|
||
SELECT '4712','afwerkingen, hellende dakafwerkingen' FROM DUAL UNION
|
||
SELECT '4713','afwerkingen, luifel afwerkingen' FROM DUAL UNION
|
||
SELECT '4714','afwerkingen, overkappings afwerkingen' FROM DUAL UNION
|
||
SELECT '4715','afwerkingen, beloopbare dakafwerkingen' FROM DUAL UNION
|
||
SELECT '4716','afwerkingen, berijdbare dakafwerkingen' FROM DUAL UNION
|
||
SELECT '4720','bekledingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4721','bekledingen, vlakke bekledingen' FROM DUAL UNION
|
||
SELECT '4722','bekledingen, hellende bekledingen' FROM DUAL UNION
|
||
SELECT '4723','bekledingen, luifel bekledingen' FROM DUAL UNION
|
||
SELECT '4724','bekledingen, overkapping bekledingen' FROM DUAL UNION
|
||
SELECT '4725','bekledingen, beloopbare dak bekledingen' FROM DUAL UNION
|
||
SELECT '4726','bekledingen, berijdbare dak bekledingen' FROM DUAL UNION
|
||
SELECT '4810','algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '4811','naadloze afwerkingen' FROM DUAL UNION
|
||
SELECT '4812','overige afwerkingen' FROM DUAL UNION
|
||
SELECT '5110','lokaal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5111','lokaal, gasvormige brandstoffen' FROM DUAL UNION
|
||
SELECT '5112','lokaal, vloeibare brandstoffen' FROM DUAL UNION
|
||
SELECT '5113','lokaal, vaste brandstoffen' FROM DUAL UNION
|
||
SELECT '5114','lokaal, schoorstenen/kanalen (niet bouwkundig)' FROM DUAL UNION
|
||
SELECT '5116','lokaal, gecombineerde tapwaterverwarming' FROM DUAL UNION
|
||
SELECT '5119','lokaal, brandstoffenopslag' FROM DUAL UNION
|
||
SELECT '5120','centraal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5121','centraal, gasvormige brandstoffen' FROM DUAL UNION
|
||
SELECT '5122','centraal, vloeibare brandstoffen' FROM DUAL UNION
|
||
SELECT '5123','centraal, vaste brandstoffen' FROM DUAL UNION
|
||
SELECT '5124','centraal, schoorstenen/kanalen (niet bouwkundig)' FROM DUAL UNION
|
||
SELECT '5126','centraal, gecombineerde tapwater verwarming' FROM DUAL UNION
|
||
SELECT '5129','centraal, brandstoffenopslag' FROM DUAL UNION
|
||
SELECT '5130','toegeleverde warmte, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5131','toegeleverde warmte, water tot 140<34> C.' FROM DUAL UNION
|
||
SELECT '5132','toegeleverde warmte, water boven 140<34> C.' FROM DUAL UNION
|
||
SELECT '5133','toegeleverde warmte, stoom' FROM DUAL UNION
|
||
SELECT '5136','toegeleverde warmte, gecombineerde tapwaterverwarming' FROM DUAL UNION
|
||
SELECT '5140','warmte-krachtkoppeling, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5141','warmte-krachtkoppeling, total-energy' FROM DUAL UNION
|
||
SELECT '5144','warmte-krachtkoppeling, schoorstenen/kanalen (niet bouwkundig)' FROM DUAL UNION
|
||
SELECT '5146','warmte-krachtkoppeling, gecombineerde tapwaterverwarming' FROM DUAL UNION
|
||
SELECT '5149','warmte-krachtkoppeling, brandstoffenopslag' FROM DUAL UNION
|
||
SELECT '5150','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5151','bijzonder, warmtepomp' FROM DUAL UNION
|
||
SELECT '5152','bijzonder, zonnecollectoren' FROM DUAL UNION
|
||
SELECT '5153','bijzonder, accumulatie' FROM DUAL UNION
|
||
SELECT '5154','bijzonder, aardwarmte' FROM DUAL UNION
|
||
SELECT '5155','bijzonder, kernenergie' FROM DUAL UNION
|
||
SELECT '5210','regenwater, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5211','regenwater, afvoerinstallatie in het gebouw' FROM DUAL UNION
|
||
SELECT '5212','regenwater, afvoerinstallatie buiten het gebouw' FROM DUAL UNION
|
||
SELECT '5216','regenwater, pompsysteem' FROM DUAL UNION
|
||
SELECT '5220','fecali<6C>n, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5221','fecali<6C>n, standaard systeem' FROM DUAL UNION
|
||
SELECT '5222','fecali<6C>n, vacu<63>msysteem' FROM DUAL UNION
|
||
SELECT '5223','fecali<6C>n, overdruksysteem' FROM DUAL UNION
|
||
SELECT '5226','fecali<6C>n, pompsysteem' FROM DUAL UNION
|
||
SELECT '5230','afvalwater, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5231','afvalwater, huishoudelijk afval' FROM DUAL UNION
|
||
SELECT '5232','afvalwater, bedrijfsafval' FROM DUAL UNION
|
||
SELECT '5236','afvalwater, pompsysteem' FROM DUAL UNION
|
||
SELECT '5240','gecombineerd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5241','gecombineerd, ge<67>ntegreerd systeem' FROM DUAL UNION
|
||
SELECT '5246','gecombineerd, pompsysteem' FROM DUAL UNION
|
||
SELECT '5250','speciaal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5251','speciaal, chemisch verontreinigd afvalwater' FROM DUAL UNION
|
||
SELECT '5252','speciaal, biologisch besmet afvalwater' FROM DUAL UNION
|
||
SELECT '5253','speciaal, radioactief besmet afvalwater' FROM DUAL UNION
|
||
SELECT '5256','speciaal, pompsysteem' FROM DUAL UNION
|
||
SELECT '5260','vast vuil, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5261','vast vuil, stortkokers' FROM DUAL UNION
|
||
SELECT '5262','vast vuil, vacu<63>msysteem' FROM DUAL UNION
|
||
SELECT '5263','vast vuil, persluchtsysteem' FROM DUAL UNION
|
||
SELECT '5264','vast vuil, verdichtingssysteem' FROM DUAL UNION
|
||
SELECT '5265','vast vuil, verbrandingssysteem' FROM DUAL UNION
|
||
SELECT '5310','drinkwater, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5311','drinkwater, netaansluiting' FROM DUAL UNION
|
||
SELECT '5312','drinkwater, bronaansluiting' FROM DUAL UNION
|
||
SELECT '5313','drinkwater, reinwaterkelderaansluiting' FROM DUAL UNION
|
||
SELECT '5314','drinkwater, drukverhoging' FROM DUAL UNION
|
||
SELECT '5319','drinkwater, opslagtanks' FROM DUAL UNION
|
||
SELECT '5320','verwarmd tapwater, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5321','verwarmd tapwater, direct verwarmd met voorraad' FROM DUAL UNION
|
||
SELECT '5322','verwarmd tapwater, indirect verwarmd met voorraad' FROM DUAL UNION
|
||
SELECT '5323','verwarmd tapwater, doorstroom direct verwarmd' FROM DUAL UNION
|
||
SELECT '5324','verwarmd tapwater, doorstroom indirect verwarmd' FROM DUAL UNION
|
||
SELECT '5330','bedrijfswater, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5331','bedrijfswater, onthard-watersysteem' FROM DUAL UNION
|
||
SELECT '5332','bedrijfswater, demi-watersysteem' FROM DUAL UNION
|
||
SELECT '5333','bedrijfswater, gedistilleerd-watersysteem' FROM DUAL UNION
|
||
SELECT '5334','bedrijfswater, zwembad-watersysteem' FROM DUAL UNION
|
||
SELECT '5340','gebruiksstoom en condens, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5341','gebruiksstoom en condens, lage-druk stoomsysteem' FROM DUAL UNION
|
||
SELECT '5342','gebruiksstoom en condens, hoge-druk stoomsysteem' FROM DUAL UNION
|
||
SELECT '5344','gebruiksstoom en condens, condens verzamelsysteem' FROM DUAL UNION
|
||
SELECT '5350','waterbehandeling, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5351','waterbehandeling, filtratiesysteem' FROM DUAL UNION
|
||
SELECT '5352','waterbehandeling, absorptiesysteem' FROM DUAL UNION
|
||
SELECT '5353','waterbehandeling, ontgassingsysteem' FROM DUAL UNION
|
||
SELECT '5354','waterbehandeling, destillatiesysteem' FROM DUAL UNION
|
||
SELECT '5410','brandstof, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5411','brandstof, aardgasvoorziening' FROM DUAL UNION
|
||
SELECT '5412','brandstof, butaanvoorziening' FROM DUAL UNION
|
||
SELECT '5413','brandstof, propaanvoorziening' FROM DUAL UNION
|
||
SELECT '5414','brandstof, LPG-voorziening' FROM DUAL UNION
|
||
SELECT '5420','perslucht en vacu<63>m, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5421','perslucht en vacu<63>m, persluchtvoorziening' FROM DUAL UNION
|
||
SELECT '5422','perslucht en vacu<63>m, vacu<63>mvoorziening' FROM DUAL UNION
|
||
SELECT '5430','medisch, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5431','medisch, zuurstofvoorziening' FROM DUAL UNION
|
||
SELECT '5432','medisch, carbogeenvoorziening' FROM DUAL UNION
|
||
SELECT '5433','medisch, lachgasvoorziening' FROM DUAL UNION
|
||
SELECT '5434','medisch, koolzuurvoorziening' FROM DUAL UNION
|
||
SELECT '5435','medisch, medische luchtvoorziening' FROM DUAL UNION
|
||
SELECT '5440','technisch, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5441','technisch, stikstofvoorziening' FROM DUAL UNION
|
||
SELECT '5442','technisch, waterstofvoorziening' FROM DUAL UNION
|
||
SELECT '5443','technisch, argonvoorziening' FROM DUAL UNION
|
||
SELECT '5444','technisch, heliumvoorziening' FROM DUAL UNION
|
||
SELECT '5445','technisch, acetyleenvoorziening' FROM DUAL UNION
|
||
SELECT '5446','technisch, propaanvoorziening' FROM DUAL UNION
|
||
SELECT '5447','technisch, koolzuurvoorziening' FROM DUAL UNION
|
||
SELECT '5450','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5451','bijzonder, voorziening zuivere gassen' FROM DUAL UNION
|
||
SELECT '5452','bijzonder, voorziening menggassen' FROM DUAL UNION
|
||
SELECT '5510','lokaal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5511','lokaal, raamkoelers' FROM DUAL UNION
|
||
SELECT '5512','lokaal, splitsystemen' FROM DUAL UNION
|
||
SELECT '5513','lokaal, compactsystemen' FROM DUAL UNION
|
||
SELECT '5520','centraal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5521','centraal, compressorensystemen' FROM DUAL UNION
|
||
SELECT '5522','centraal, absorptiesystemen' FROM DUAL UNION
|
||
SELECT '5523','centraal, grondwatersystemen' FROM DUAL UNION
|
||
SELECT '5524','centraal, oppervlaktewatersystemen' FROM DUAL UNION
|
||
SELECT '5530','distributie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5531','distributie, distributiesystemen' FROM DUAL UNION
|
||
SELECT '5610','water, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5611','water, radiatorsystemen' FROM DUAL UNION
|
||
SELECT '5612','water, convectorsystemen' FROM DUAL UNION
|
||
SELECT '5613','water, vloerverwarmingssystemen' FROM DUAL UNION
|
||
SELECT '5620','stoom, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5621','stoom, radiatorsystemen' FROM DUAL UNION
|
||
SELECT '5622','stoom, convectorsystemen' FROM DUAL UNION
|
||
SELECT '5624','stoom, stralingspanelen' FROM DUAL UNION
|
||
SELECT '5630','lucht, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5631','lucht, directe distributiesysteem' FROM DUAL UNION
|
||
SELECT '5632','lucht, systeem met stralingsoverdracht' FROM DUAL UNION
|
||
SELECT '5640','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5641','bijzonder, zonnewarmtesystemen' FROM DUAL UNION
|
||
SELECT '5642','bijzonder, aardwarmtesystemen' FROM DUAL UNION
|
||
SELECT '5643','bijzonder, centraal warmtepompsysteem' FROM DUAL UNION
|
||
SELECT '5710','natuurlijke ventilatie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5711','natuurlijke ventilatie, voorzieningen regelbaar' FROM DUAL UNION
|
||
SELECT '5712','natuurlijke ventilatie, voorzieningen niet regelbaar' FROM DUAL UNION
|
||
SELECT '5720','lokale mechanische afzuiging, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5721','lokale mechanische afzuiging, afzuiginstallatie' FROM DUAL UNION
|
||
SELECT '5730','centrale mechanische afzuiging, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5731','centrale mechanische afzuiging, afzuiginstallatie' FROM DUAL UNION
|
||
SELECT '5740','lokale mechanische ventilatie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5741','lokale mechanische ventilatie, ventilatie-installatie' FROM DUAL UNION
|
||
SELECT '5750','centrale mechanische ventilatie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5751','centrale mechanische ventilatie, ventilatie-installatie' FROM DUAL UNION
|
||
SELECT '5752','centrale mechanische ventilatie, ventilatie-installatie met warmteterugwinning' FROM DUAL UNION
|
||
SELECT '5760','lokaal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5761','lokaal, luchtbehandelingsinstallatie' FROM DUAL UNION
|
||
SELECT '5770','centraal, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5771','centraal, luchtbehandelingsinstallatie' FROM DUAL UNION
|
||
SELECT '5810','specifieke regelingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5811','specifieke regelingen, specifieke regeling' FROM DUAL UNION
|
||
SELECT '5812','specifieke regelingen, gecombineerde regeling' FROM DUAL UNION
|
||
SELECT '5820','centrale melding, meting en sturing, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '5821','centrale melding, meting en sturing, specifieke regeling' FROM DUAL UNION
|
||
SELECT '5822','centrale melding, meting en sturing, gecombineerde regeling' FROM DUAL UNION
|
||
SELECT '6110','energie, noodstroom, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6111','energie, noodstroom, eigen energieopwekking' FROM DUAL UNION
|
||
SELECT '6120','aarding, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6121','aarding, veiligheidsaarding' FROM DUAL UNION
|
||
SELECT '6122','aarding, medische aarding' FROM DUAL UNION
|
||
SELECT '6123','aarding, speciale aarding' FROM DUAL UNION
|
||
SELECT '6124','aarding, statische elektriciteit' FROM DUAL UNION
|
||
SELECT '6125','aarding, bliksemafleiding' FROM DUAL UNION
|
||
SELECT '6126','aarding, potentiaalvereffening' FROM DUAL UNION
|
||
SELECT '6130','kanalisatie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6131','kanalisatie, t.b.v. installaties voor hoge spanning' FROM DUAL UNION
|
||
SELECT '6132','kanalisatie, t.b.v. installaties voor lage spanning' FROM DUAL UNION
|
||
SELECT '6133','kanalisatie, t.b.v. installaties voor communicatie of beveiliging' FROM DUAL UNION
|
||
SELECT '6140','energie, hoogspanning, algemeen' FROM DUAL UNION
|
||
SELECT '6141','energie, hoogspanning, 1 Kv en hoger' FROM DUAL UNION
|
||
SELECT '6150','energie, laagspanning, algemeen' FROM DUAL UNION
|
||
SELECT '6151','energie, laagspanning, lager dan 1 Kv en hoger dan 100 V' FROM DUAL UNION
|
||
SELECT '6160','energie, zeer lage spanning, algemeen' FROM DUAL UNION
|
||
SELECT '6161','energie, zeer lage spanning, lager dan 100 V' FROM DUAL UNION
|
||
SELECT '6170','bliksemafleiding, algemeen' FROM DUAL UNION
|
||
SELECT '6171','bliksemafleiding' FROM DUAL UNION
|
||
SELECT '6210','hoogspanning, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6211','hoogspanning, 1 t/m 3 Kv' FROM DUAL UNION
|
||
SELECT '6212','hoogspanning, boven 3 Kv' FROM DUAL UNION
|
||
SELECT '6220','laagspanning, onbewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6221','laagspanning, onbewaakt, 220/230 V - 380 V' FROM DUAL UNION
|
||
SELECT '6222','laagspanning, onbewaakt, 380 V - 660 V' FROM DUAL UNION
|
||
SELECT '6223','laagspanning, onbewaakt, 660 V - 1 Kv' FROM DUAL UNION
|
||
SELECT '6230','laagspanning, bewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6231','laagspanning, bewaakt, 220/230 V - 380 V' FROM DUAL UNION
|
||
SELECT '6232','laagspanning, bewaakt, 380 V - 660 V' FROM DUAL UNION
|
||
SELECT '6233','laagspanning, bewaakt, 660 V - 1 kV' FROM DUAL UNION
|
||
SELECT '6240','laagspanning, gestabiliseerd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6241','laagspanning, gestabiliseerd, 220/230 V - 380 V' FROM DUAL UNION
|
||
SELECT '6242','laagspanning, gestabiliseerd, 380 V - 660 V' FROM DUAL UNION
|
||
SELECT '6243','laagspanning, gestabiliseerd, 660 V - 1 Kv' FROM DUAL UNION
|
||
SELECT '6250','laagspanning, gecompenseerd, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6251','laagspanning, gecompenseerd, 220/230 V - 380 V' FROM DUAL UNION
|
||
SELECT '6252','laagspanning, gecompenseerd, 380 V - 660 V' FROM DUAL UNION
|
||
SELECT '6253','laagspanning, gecompenseerd, 660 V - 1 Kv' FROM DUAL UNION
|
||
SELECT '6310','standaard, onbewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6311','standaard, onbewaakt, 220/230 V' FROM DUAL UNION
|
||
SELECT '6312','standaard, onbewaakt, 115 V' FROM DUAL UNION
|
||
SELECT '6313','standaard, onbewaakt, 42 V' FROM DUAL UNION
|
||
SELECT '6314','standaard, onbewaakt, 24 V' FROM DUAL UNION
|
||
SELECT '6320','calamiteiten, decentraal gevoed, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6323','calamiteiten, decentraal gevoed, 42 V' FROM DUAL UNION
|
||
SELECT '6324','calamiteiten, decentraal gevoed, 24 V' FROM DUAL UNION
|
||
SELECT '6330','bijzonder, onbewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6331','bijzonder, onbewaakt, 220/230 V' FROM DUAL UNION
|
||
SELECT '6332','bijzonder, onbewaakt, 115 V' FROM DUAL UNION
|
||
SELECT '6333','bijzonder, onbewaakt, 42 V' FROM DUAL UNION
|
||
SELECT '6334','bijzonder, onbewaakt, 24 V' FROM DUAL UNION
|
||
SELECT '6340','standaard, bewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6341','standaard, bewaakt, 220/230 V' FROM DUAL UNION
|
||
SELECT '6342','standaard, bewaakt, 115 V' FROM DUAL UNION
|
||
SELECT '6343','standaard, bewaakt, 42 V' FROM DUAL UNION
|
||
SELECT '6344','standaard, bewaakt, 24 V' FROM DUAL UNION
|
||
SELECT '6350','calamiteiten, centraal gevoed, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6351','calamiteiten, centraal gevoed, 220/230 V' FROM DUAL UNION
|
||
SELECT '6352','calamiteiten, centraal gevoed, 115 V' FROM DUAL UNION
|
||
SELECT '6353','calamiteiten, centraal gevoed, 42 V' FROM DUAL UNION
|
||
SELECT '6354','calamiteiten, centraal gevoed, 24 V' FROM DUAL UNION
|
||
SELECT '6360','bijzonder, bewaakt, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6361','bijzonder, bewaakt, 220/230 V' FROM DUAL UNION
|
||
SELECT '6362','bijzonder, bewaakt, 115 V' FROM DUAL UNION
|
||
SELECT '6363','bijzonder, bewaakt, 42 V' FROM DUAL UNION
|
||
SELECT '6364','bijzonder, bewaakt, 24 V' FROM DUAL UNION
|
||
SELECT '6370','reclame, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6371','reclame, 220/230 V' FROM DUAL UNION
|
||
SELECT '6372','reclame, 115 V' FROM DUAL UNION
|
||
SELECT '6373','reclame, 42 V' FROM DUAL UNION
|
||
SELECT '6374','reclame, 24 V' FROM DUAL UNION
|
||
SELECT '6375','reclame, 1 Kv en hoger' FROM DUAL UNION
|
||
SELECT '6410','overdracht van signalen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6411','overdracht van signalen, algemene signaleringen' FROM DUAL UNION
|
||
SELECT '6412','overdracht van signalen, algemene personenoproep' FROM DUAL UNION
|
||
SELECT '6413','overdracht van signalen, tijdsignalering' FROM DUAL UNION
|
||
SELECT '6414','overdracht van signalen, aanwezigheid-/beletsignalering' FROM DUAL UNION
|
||
SELECT '6420','overdracht van geluid/spraak, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6421','overdracht van geluid/spraak, telefoon' FROM DUAL UNION
|
||
SELECT '6422','overdracht van geluid/spraak, intercom' FROM DUAL UNION
|
||
SELECT '6423','overdracht van geluid/spraak, radio/mobilofoon' FROM DUAL UNION
|
||
SELECT '6424','overdracht van geluid/spraak, geluidsdistributie' FROM DUAL UNION
|
||
SELECT '6425','overdracht van geluid/spraak, vertaalsystemen' FROM DUAL UNION
|
||
SELECT '6426','overdracht van geluid/spraak, conferentiesystemen' FROM DUAL UNION
|
||
SELECT '6430','overdracht van beelden, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6431','overdracht van beelden, gesloten televisiecircuits' FROM DUAL UNION
|
||
SELECT '6432','overdracht van beelden, beeldreproductie' FROM DUAL UNION
|
||
SELECT '6433','overdracht van beelden, film/dia/overhead' FROM DUAL UNION
|
||
SELECT '6440','overdracht van data, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6441','overdracht van data, gesloten datanet' FROM DUAL UNION
|
||
SELECT '6442','overdracht van data, openbaar datanet' FROM DUAL UNION
|
||
SELECT '6450','ge<67>ntegreerde systemen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6451','ge<67>ntegreerde systemen, gesloten netwerken' FROM DUAL UNION
|
||
SELECT '6452','ge<67>ntegreerde systemen, openbare netwerken' FROM DUAL UNION
|
||
SELECT '6460','antenne-inrichtingen, algemeen' FROM DUAL UNION
|
||
SELECT '6510','brand, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6511','brand, detectie en alarmering' FROM DUAL UNION
|
||
SELECT '6512','brand, deurvergrendelingen en -ontgrendelingen' FROM DUAL UNION
|
||
SELECT '6513','brand, brandbestrijding' FROM DUAL UNION
|
||
SELECT '6520','braak, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6521','braak, detectie en alarmering' FROM DUAL UNION
|
||
SELECT '6522','braak, toegangscontrole' FROM DUAL UNION
|
||
SELECT '6530','overlast, detectie en alarmering, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6531','overlast, detectie en alarmering, zonweringsinstallatie' FROM DUAL UNION
|
||
SELECT '6532','overlast, detectie en alarmering, elektromagnetische voorzieningen' FROM DUAL UNION
|
||
SELECT '6533','overlast, detectie en alarmering, elektromagnetische voorzieningen' FROM DUAL UNION
|
||
SELECT '6534','overlast, detectie en alarmering, overspanningsbeveiliging' FROM DUAL UNION
|
||
SELECT '6535','overlast, detectie en alarmering, gassenbeveiliging' FROM DUAL UNION
|
||
SELECT '6536','overlast, detectie en alarmering, vloeistofbeveiliging' FROM DUAL UNION
|
||
SELECT '6537','overlast, detectie en alarmering, stralingsbeveiliging' FROM DUAL UNION
|
||
SELECT '6539','overlast, detectie en alarmering, overige beveiligingen' FROM DUAL UNION
|
||
SELECT '6540','sociale alarmering, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6541','sociale alarmering, nooddetectie gesloten systemen' FROM DUAL UNION
|
||
SELECT '6542','sociale alarmering, nooddetectie open systemen' FROM DUAL UNION
|
||
SELECT '6550','milieu-overlast, detectie en alarmering, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6610','liften en heftableaus, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6611','liften en heftableaus, elektrische liften' FROM DUAL UNION
|
||
SELECT '6612','liften en heftableaus, hydraulische liften' FROM DUAL UNION
|
||
SELECT '6613','liften en heftableaus, trapliften' FROM DUAL UNION
|
||
SELECT '6614','liften en heftableaus, heftableaus' FROM DUAL UNION
|
||
SELECT '6620','roltrappen en rolpaden, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6621','roltrappen en rolpaden, roltrappen' FROM DUAL UNION
|
||
SELECT '6622','roltrappen en rolpaden, rolpaden' FROM DUAL UNION
|
||
SELECT '6630','goederen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6631','goederen, goederenliften' FROM DUAL UNION
|
||
SELECT '6632','goederen, goederenheffers' FROM DUAL UNION
|
||
SELECT '6633','goederen, baantransportmiddelen' FROM DUAL UNION
|
||
SELECT '6634','goederen, bandtransportmiddelen' FROM DUAL UNION
|
||
SELECT '6635','goederen, baktransportmiddelen' FROM DUAL UNION
|
||
SELECT '6636','goederen, hijswerktuigen' FROM DUAL UNION
|
||
SELECT '6637','goederen, vrije-baan-transportvoertuigen' FROM DUAL UNION
|
||
SELECT '6640','documenten, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6641','documenten, buizenpost' FROM DUAL UNION
|
||
SELECT '6642','documenten, railcontainer banen' FROM DUAL UNION
|
||
SELECT '6644','documenten, bandtransportmiddelen' FROM DUAL UNION
|
||
SELECT '6710','bediening en signalering, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6711','bediening en signalering, elektrotechnische systemen' FROM DUAL UNION
|
||
SELECT '6712','bediening en signalering, optische systemen' FROM DUAL UNION
|
||
SELECT '6713','bediening en signalering, pneumatische systemen' FROM DUAL UNION
|
||
SELECT '6714','bediening en signalering, ge<67>ntegreerde systemen' FROM DUAL UNION
|
||
SELECT '6720','gebouwautomatisering, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6721','gebouwautomatisering, elektrotechnische systemen' FROM DUAL UNION
|
||
SELECT '6722','gebouwautomatisering, optische systemen' FROM DUAL UNION
|
||
SELECT '6723','gebouwautomatisering, pneumatische systemen' FROM DUAL UNION
|
||
SELECT '6724','gebouwautomatisering, ge<67>ntegreerde systemen' FROM DUAL UNION
|
||
SELECT '6730','regelinstallaties klimaat en sanitair (op afstand), algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '6731','regelinstallaties klimaat en sanitair (op afstand), elektrotechnische systemen' FROM DUAL UNION
|
||
SELECT '6732','regelinstallaties klimaat en sanitair (op afstand), optische systemen' FROM DUAL UNION
|
||
SELECT '6733','regelinstallaties klimaat en sanitair (op afstand), pneumatische systemen' FROM DUAL UNION
|
||
SELECT '6734','regelinstallaties klimaat en sanitair (op afstand), ge<67>ntegreerde systemen' FROM DUAL UNION
|
||
SELECT '7110','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7111','standaard, meubileringen' FROM DUAL UNION
|
||
SELECT '7112','standaard, bewegwijzeringen' FROM DUAL UNION
|
||
SELECT '7113','standaard, kunstwerken' FROM DUAL UNION
|
||
SELECT '7114','standaard, decoraties e.d.' FROM DUAL UNION
|
||
SELECT '7120','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7121','bijzonder, meubileringen' FROM DUAL UNION
|
||
SELECT '7122','bijzonder, bewegwijzeringen' FROM DUAL UNION
|
||
SELECT '7123','bijzonder, specifieke voorz. (o.a. loopleuningen)' FROM DUAL UNION
|
||
SELECT '7210','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7211','standaard, meubilering' FROM DUAL UNION
|
||
SELECT '7212','standaard, lichtweringen' FROM DUAL UNION
|
||
SELECT '7213','standaard, gordijnvoorzieningen' FROM DUAL UNION
|
||
SELECT '7214','standaard, beschermende voorzieningen' FROM DUAL UNION
|
||
SELECT '7220','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7221','bijzonder, meubilering voor specifieke functiedoeleinden' FROM DUAL UNION
|
||
SELECT '7222','bijzonder, instrumenten/apparatuur' FROM DUAL UNION
|
||
SELECT '7310','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7311','standaard, keukenmeubilering' FROM DUAL UNION
|
||
SELECT '7312','standaard, keukenapparatuur' FROM DUAL UNION
|
||
SELECT '7320','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7321','bijzonder, keukenmeubilering' FROM DUAL UNION
|
||
SELECT '7322','bijzonder, keukenapparatuur' FROM DUAL UNION
|
||
SELECT '7410','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7411','standaard, sanitaire toestellen normaal' FROM DUAL UNION
|
||
SELECT '7412','standaard, sanitaire toestellen aangepast' FROM DUAL UNION
|
||
SELECT '7413','standaard, accessoires' FROM DUAL UNION
|
||
SELECT '7420','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7421','bijzonder, sanitaire toestellen voor bijzondere toepassing' FROM DUAL UNION
|
||
SELECT '7422','bijzonder, ingebouwde sanitaire voorzieningen' FROM DUAL UNION
|
||
SELECT '7510','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7511','standaard, gebouwonderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '7512','standaard, interieur onderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '7513','standaard, gevelonderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '7520','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7521','bijzonder, gebouwonderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '7522','bijzonder, interieur onderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '7523','bijzonder, gemechaniseerde gevelonderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '7610','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7611','standaard, meubileringen' FROM DUAL UNION
|
||
SELECT '7620','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '7621','bijzonder, gemechaniseerde voorzieningen' FROM DUAL UNION
|
||
SELECT '7622','bijzonder, specifieke voorzieningen' FROM DUAL UNION
|
||
SELECT '8110','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8111','standaard, meubilering' FROM DUAL UNION
|
||
SELECT '8112','standaard, bewegwijzering' FROM DUAL UNION
|
||
SELECT '8113','standaard, kunstwerken' FROM DUAL UNION
|
||
SELECT '8114','standaard, decoraties e.d.' FROM DUAL UNION
|
||
SELECT '8120','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8121','bijzonder, meubilering' FROM DUAL UNION
|
||
SELECT '8122','bijzonder, bewegwijzering' FROM DUAL UNION
|
||
SELECT '8123','bijzonder, specifieke voorzieningen (o.a. afvalbakken)' FROM DUAL UNION
|
||
SELECT '8210','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8211','standaard, meubilering' FROM DUAL UNION
|
||
SELECT '8212','standaard, lichtweringen/verduisteringen' FROM DUAL UNION
|
||
SELECT '8213','standaard, stofferingen' FROM DUAL UNION
|
||
SELECT '8220','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8221','bijzonder, meubilering voor specifieke functiedoeleinden' FROM DUAL UNION
|
||
SELECT '8222','bijzonder, instrumenten/apparatuur' FROM DUAL UNION
|
||
SELECT '8310','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8311','standaard, keukenmeubilering' FROM DUAL UNION
|
||
SELECT '8312','standaard, keukenapparatuur' FROM DUAL UNION
|
||
SELECT '8313','standaard, kleine keukeninventaris' FROM DUAL UNION
|
||
SELECT '8320','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8321','bijzonder, keukeninrichting' FROM DUAL UNION
|
||
SELECT '8322','bijzonder, keukenapparatuur' FROM DUAL UNION
|
||
SELECT '8323','bijzonder, kleine keukeninventaris' FROM DUAL UNION
|
||
SELECT '8324','bijzonder, transportmiddelen' FROM DUAL UNION
|
||
SELECT '8410','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8411','standaard, afvalvoorzieningen' FROM DUAL UNION
|
||
SELECT '8412','standaard, voorzieningen t.b.v. hygi<67>ne' FROM DUAL UNION
|
||
SELECT '8413','standaard, accessoires' FROM DUAL UNION
|
||
SELECT '8420','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8421','bijzonder, sanitaire toestellen voor bijzondere toepassing' FROM DUAL UNION
|
||
SELECT '8510','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8511','standaard, schoonmaakapparatuur' FROM DUAL UNION
|
||
SELECT '8512','standaard, vuilopslag' FROM DUAL UNION
|
||
SELECT '8513','standaard, vuiltransport' FROM DUAL UNION
|
||
SELECT '8520','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8521','bijzonder, schoonmaakapparatuur' FROM DUAL UNION
|
||
SELECT '8522','bijzonder, vuilopslag' FROM DUAL UNION
|
||
SELECT '8523','bijzonder, vuiltransport' FROM DUAL UNION
|
||
SELECT '8610','standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8611','standaard, meubileringen' FROM DUAL UNION
|
||
SELECT '8620','bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '8621','bijzonder, gemechaniseerde voorzieningen' FROM DUAL UNION
|
||
SELECT '8622','bijzonder, specifieke voorzieningen' FROM DUAL UNION
|
||
SELECT '9010','grondvoorzieningen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9011','grondvoorzieningen, verwijderen obstakels' FROM DUAL UNION
|
||
SELECT '9012','grondvoorzieningen, grondwaterverlagingen' FROM DUAL UNION
|
||
SELECT '9013','grondvoorzieningen, drainagevoorzieningen' FROM DUAL UNION
|
||
SELECT '9020','opstallen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9021','opstallen, gebouwtjes met speciale functie' FROM DUAL UNION
|
||
SELECT '9022','opstallen, overkappingen' FROM DUAL UNION
|
||
SELECT '9030','omheiningen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9031','omheiningen, muren' FROM DUAL UNION
|
||
SELECT '9032','omheiningen, hekwerken' FROM DUAL UNION
|
||
SELECT '9033','omheiningen, overige afscheidingen' FROM DUAL UNION
|
||
SELECT '9034','omheiningen, toegangen' FROM DUAL UNION
|
||
SELECT '9040','terreinafwerkingen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9041','terreinafwerkingen, verhardingen' FROM DUAL UNION
|
||
SELECT '9042','terreinafwerkingen, beplantingen' FROM DUAL UNION
|
||
SELECT '9043','terreinafwerkingen, waterpartijen' FROM DUAL UNION
|
||
SELECT '9044','terreinafwerkingen, keerwanden en balustrades' FROM DUAL UNION
|
||
SELECT '9045','terreinafwerkingen, pergolas' FROM DUAL UNION
|
||
SELECT '9050','terreinvoorzieningen, werktuigbouwkundig, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9051','terreinvoorzieningen, werktuigbouwkundig, verwarmingsvoorzieningen' FROM DUAL UNION
|
||
SELECT '9052','terreinvoorzieningen, werktuigbouwkundig, afvoervoorzieningen' FROM DUAL UNION
|
||
SELECT '9053','terreinvoorzieningen, werktuigbouwkundig, watervoorzieningen' FROM DUAL UNION
|
||
SELECT '9054','terreinvoorzieningen, werktuigbouwkundig, gasvoorzieningen' FROM DUAL UNION
|
||
SELECT '9055','terreinvoorzieningen, werktuigbouwkundig, koudeopwekkingsvoorzieningen' FROM DUAL UNION
|
||
SELECT '9056','terreinvoorzieningen, werktuigbouwkundig, warmtedistributievoorzieningen' FROM DUAL UNION
|
||
SELECT '9057','terreinvoorzieningen, werktuigbouwkundig, luchtbehandelingsvoorzieningen' FROM DUAL UNION
|
||
SELECT '9058','terreinvoorzieningen, werktuigbouwkundig, regelingvoorzieningen' FROM DUAL UNION
|
||
SELECT '9060','terreinvoorzieningen, elektrotechnisch, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9061','terreinvoorzieningen, elektrotechnisch, elektrotechnische en aardingsvoorzieningen' FROM DUAL UNION
|
||
SELECT '9062','terreinvoorzieningen, elektrotechnisch, krachtvoorzieningen' FROM DUAL UNION
|
||
SELECT '9063','terreinvoorzieningen, elektrotechnisch, lichtvoorzieningen' FROM DUAL UNION
|
||
SELECT '9064','terreinvoorzieningen, elektrotechnisch, communicatievoorzieningen' FROM DUAL UNION
|
||
SELECT '9065','terreinvoorzieningen, elektrotechnisch, beveiligingsvoorzieningen' FROM DUAL UNION
|
||
SELECT '9066','terreinvoorzieningen, elektrotechnisch, transportvoorzieningen' FROM DUAL UNION
|
||
SELECT '9067','terreinvoorzieningen, elektrotechnisch, beheervoorzieningen' FROM DUAL UNION
|
||
SELECT '9070','terreininrichtingen, standaard, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9071','terreininrichtingen, standaard, terreinmeubilering' FROM DUAL UNION
|
||
SELECT '9072','terreininrichtingen, standaard, bewegwijzering' FROM DUAL UNION
|
||
SELECT '9073','terreininrichtingen, standaard, kunstwerken' FROM DUAL UNION
|
||
SELECT '9074','terreininrichtingen, standaard, decoraties e.d.' FROM DUAL UNION
|
||
SELECT '9080','terreininrichtingen, bijzonder, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '9081','terreininrichtingen, bijzonder, terreinmeubilering' FROM DUAL UNION
|
||
SELECT '9082','terreininrichtingen, bijzonder, specifieke voorzieningen' FROM DUAL UNION
|
||
SELECT '9083','terreininrichtingen, bijzonder, bijzondere verhardingen' FROM DUAL UNION
|
||
SELECT '0010','werkterreininrichting, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '0011','werkterreininrichting, bijkomende werken' FROM DUAL UNION
|
||
SELECT '0012','werkterreininrichting, personen/materiaalvoorzieningen' FROM DUAL UNION
|
||
SELECT '0013','werkterreininrichting, energievoorzieningen' FROM DUAL UNION
|
||
SELECT '0014','werkterreininrichting, beveiligingsvoorzieningen' FROM DUAL UNION
|
||
SELECT '0015','werkterreininrichting, doorwerkvoorzieningen' FROM DUAL UNION
|
||
SELECT '0016','werkterreininrichting, voorzieningen belendende percelen' FROM DUAL UNION
|
||
SELECT '0017','werkterreininrichting, onderhoudsvoorzieningen' FROM DUAL UNION
|
||
SELECT '0020','materieelvoorzieningen, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '0021','materieelvoorzieningen, transport' FROM DUAL UNION
|
||
SELECT '0022','materieelvoorzieningen, gereedschappen' FROM DUAL UNION
|
||
SELECT '0030','risicodekking, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '0031','risicodekking, verzekeringen' FROM DUAL UNION
|
||
SELECT '0032','risicodekking, waarborgen' FROM DUAL UNION
|
||
SELECT '0033','risicodekking, prijsstijgingen' FROM DUAL UNION
|
||
SELECT '0040','projectorganisatie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '0041','projectorganisatie, administratie' FROM DUAL UNION
|
||
SELECT '0042','projectorganisatie, uitvoering' FROM DUAL UNION
|
||
SELECT '0043','projectorganisatie, documentatie' FROM DUAL UNION
|
||
SELECT '0050','bedrijfsorganisatie, algemeen (verzamelniveau)' FROM DUAL UNION
|
||
SELECT '0051','bedrijfsorganisatie, bestuur en directie' FROM DUAL UNION
|
||
SELECT '0052','bedrijfsorganisatie, winstregelingen' FROM DUAL;
|
||
|
||
|
||
|
||
|
||
|
||
|
||
-- Import routine voor het verwerken nvan Assets uit de O-Prognose dump
|
||
|
||
CREATE OR REPLACE PROCEDURE CONN_IMPORT_ASSETS_INI(p_import_key IN NUMBER)
|
||
AS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (4000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
v_errorhint VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count NUMBER;
|
||
v_ongeldig NUMBER (1);
|
||
v_mode NUMBER (1);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_all_null BOOLEAN;
|
||
v_count_error NUMBER (10);
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
|
||
-- De importvelden:
|
||
v_alg_ruimte_nr VARCHAR2(100);
|
||
|
||
v_gebouw_code VARCHAR2(100);
|
||
|
||
v_ins_discipline_txt VARCHAR2(100);
|
||
|
||
v_ins_discipline_omschrijving VARCHAR2(100);
|
||
d_ins_discipline_omschrijving VARCHAR2(100);
|
||
|
||
v_ins_srtgroep_code VARCHAR2(100);
|
||
v_ins_srtgroep_omschrijving VARCHAR2(100);
|
||
d_ins_srtgroep_omschrijving VARCHAR2(100);
|
||
|
||
v_ins_srtdeel_code VARCHAR2(100);
|
||
v_ins_srtdeel_omschrijving VARCHAR2(100);
|
||
d_ins_srtdeel_omschrijving VARCHAR2(100);
|
||
|
||
v_ins_deel_txt VARCHAR2(100);
|
||
v_ins_deel_code VARCHAR2(100);
|
||
v_ins_deel_eenheid VARCHAR2(100);
|
||
v_ins_deel_omschrijving VARCHAR2(100);
|
||
v_ins_deel_opmerking VARCHAR2(1000);
|
||
v_ins_deel_component VARCHAR2(1000);
|
||
v_ins_srtcontrole_periode_txt VARCHAR2(100);
|
||
v_ins_srtcontrole_prijs_txt VARCHAR2(100);
|
||
|
||
v_ins_deel_percentage NUMBER;
|
||
v_ins_srtcontrole_periode NUMBER;
|
||
v_kenmerk1 VARCHAR2(1000);
|
||
v_kenmerk2 VARCHAR2(1000);
|
||
v_kenmerk3 VARCHAR2(1000);
|
||
v_kenmerk4 VARCHAR2(1000);
|
||
v_kenmerk5 VARCHAR2(1000);
|
||
v_kenmerk6 VARCHAR2(1000);
|
||
v_kenmerk7 VARCHAR2(1000);
|
||
v_kenmerk8 VARCHAR2(1000);
|
||
v_kenmerk9 VARCHAR2(1000);
|
||
v_kenmerk10 VARCHAR2(1000);
|
||
v_kenmerk11 VARCHAR2(1000);
|
||
v_kenmerk12 VARCHAR2(1000);
|
||
v_kenmerk13 VARCHAR2(1000);
|
||
v_kenmerk14 VARCHAR2(1000);
|
||
v_kenmerk15 VARCHAR2(1000);
|
||
v_kenmerk16 VARCHAR2(1000);
|
||
v_kenmerk17 VARCHAR2(1000);
|
||
v_kenmerk18 VARCHAR2(1000);
|
||
v_kenmerk19 VARCHAR2(1000);
|
||
v_dumm NUMBER (10,2);
|
||
v_ins_deel_aanmaak_text VARCHAR2(10);
|
||
v_ins_deel_aanmaak DATE;
|
||
v_ins_deel_startjaar DATE;
|
||
v_ins_deel_aantal_text VARCHAR2(20);
|
||
v_ins_deel_aantal NUMBER;
|
||
v_ins_srtcontrole_prijs NUMBER(10,2);
|
||
v_alg_locatie_code VARCHAR2(20);
|
||
v_alg_gebouw_code VARCHAR2(20);
|
||
v_alg_verdieping_volgnr NUMBER;
|
||
v_srtk_code_rvb_key NUMBER;
|
||
v_srtk_opm_key NUMBER;
|
||
v_srtk_merk_key NUMBER;
|
||
v_discipline_key NUMBER;
|
||
v_srtgroep_key NUMBER;
|
||
|
||
v_startjaar NUMBER;
|
||
v_cyclus NUMBER;
|
||
v_error NUMBER:=0;
|
||
v_objectcount NUMBER:=0;
|
||
v_volgnr VARCHAR2(5);
|
||
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
|
||
CURSOR nlsfb_dis
|
||
IS
|
||
SELECT '1-Onderbouw' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '2-Ruwbouw' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '3-Afbouw' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '4-Afwerkingen' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '5-Installaties werktuigbouwkundig' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '6-Installaties elektrotechnisch' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '7-Vaste voorzieningen' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '8-Losse gebruiks inventaris' ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '9-Terrein' AS ins_omsch FROM DUAL
|
||
UNION
|
||
SELECT '0-Indirecte projectvoorzieningen' AS ins_omsch FROM DUAL;
|
||
|
||
|
||
|
||
CURSOR nlsfb_grp
|
||
IS
|
||
SELECT '11-bodemvoorzieningen' groep FROM DUAL
|
||
UNION
|
||
SELECT '13-vloeren op grondslag' groep FROM DUAL
|
||
UNION
|
||
SELECT '16-funderingsconstructie' groep FROM DUAL
|
||
UNION
|
||
SELECT '17-paalfundering' groep FROM DUAL
|
||
UNION
|
||
SELECT '19-onderhoud algemeen' groep FROM DUAL
|
||
UNION
|
||
SELECT '21-buitenwanden' groep FROM DUAL
|
||
UNION
|
||
SELECT '22-binnenwanden' FROM DUAL
|
||
UNION
|
||
SELECT '23-vloeren, galerijen' FROM DUAL
|
||
UNION
|
||
SELECT '24-trappen en hellingen' FROM DUAL
|
||
UNION
|
||
SELECT '25-binnenzijde gevelconstructie' FROM DUAL
|
||
UNION
|
||
SELECT '26-vloerconstructie' FROM DUAL
|
||
UNION
|
||
SELECT '27-daken' FROM DUAL
|
||
UNION
|
||
SELECT '28-hoofddraagkonstrukties' FROM DUAL
|
||
UNION
|
||
SELECT '29-draagconstructie' FROM DUAL
|
||
UNION
|
||
SELECT '31-buitenwandopeningen' FROM DUAL
|
||
UNION
|
||
SELECT '32-binnenwandopeningen' FROM DUAL
|
||
UNION
|
||
SELECT '33-vloeropeningen' FROM DUAL
|
||
UNION
|
||
SELECT '34-balustrades en leuningen' FROM DUAL
|
||
UNION
|
||
SELECT '35-plafonds' FROM DUAL
|
||
UNION
|
||
SELECT '37-dakopeningen' FROM DUAL
|
||
UNION
|
||
SELECT '38-inbouwpakketten' FROM DUAL
|
||
UNION
|
||
SELECT '39-afbouw' FROM DUAL
|
||
UNION
|
||
SELECT '41-buitenwandafwerkingen' FROM DUAL
|
||
UNION
|
||
SELECT '42-binnenwandafwerkingen' FROM DUAL
|
||
UNION
|
||
SELECT '43-vloerafwerkingen' FROM DUAL
|
||
UNION
|
||
SELECT '44-trap- en hellingafwerkingen' FROM DUAL
|
||
UNION
|
||
SELECT '45-plafondafwerkingen' FROM DUAL
|
||
UNION
|
||
SELECT '46-schilderwerk' FROM DUAL
|
||
UNION
|
||
SELECT '47-dakafwerkingen' FROM DUAL
|
||
UNION
|
||
SELECT '48-afwerkingspakketten' FROM DUAL
|
||
UNION
|
||
SELECT '49-afwerking algemeen' FROM DUAL
|
||
UNION
|
||
SELECT '51-warmte-opwekking' FROM DUAL
|
||
UNION
|
||
SELECT '52-afvoeren' FROM DUAL
|
||
UNION
|
||
SELECT '53-water' FROM DUAL
|
||
UNION
|
||
SELECT '54-gas' FROM DUAL
|
||
UNION
|
||
SELECT '55-koude-opwekking' FROM DUAL
|
||
UNION
|
||
SELECT '56-warmtedistributie' FROM DUAL
|
||
UNION
|
||
SELECT '57-luchtbehandeling' FROM DUAL
|
||
UNION
|
||
SELECT '58-regeling klimaat en sanitair' FROM DUAL
|
||
UNION
|
||
SELECT '59-mechanische installaties' FROM DUAL
|
||
UNION
|
||
SELECT '61-centrale elektrotechnische voorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '62-kracht' FROM DUAL
|
||
UNION
|
||
SELECT '63-verlichting' FROM DUAL
|
||
UNION
|
||
SELECT '64-communicatie' FROM DUAL
|
||
UNION
|
||
SELECT '65-beveiliging' FROM DUAL
|
||
UNION
|
||
SELECT '66-transport' FROM DUAL
|
||
UNION
|
||
SELECT '67-gebouwbeheersysteem' FROM DUAL
|
||
UNION
|
||
SELECT '69-electrische installaties algemeen' FROM DUAL
|
||
UNION
|
||
SELECT '71-vaste verkeersvoorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '72-vaste gebruikersvoorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '73-vaste keukenvoorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '74-vaste sanitaire voorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '75-vaste onderhoudsvoorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '76-vaste opslagvoorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '79-vaste inrichtingen' FROM DUAL
|
||
UNION
|
||
SELECT '80-losse inrichting' FROM DUAL
|
||
UNION
|
||
SELECT '81-losse inventaris voor verkeersruimten' FROM DUAL
|
||
UNION
|
||
SELECT '82-losse inventaris voor gebruiksruimten' FROM DUAL
|
||
UNION
|
||
SELECT '83-losse keukeninventaris' FROM DUAL
|
||
UNION
|
||
SELECT '84-losse sanitaire inventaris' FROM DUAL
|
||
UNION
|
||
SELECT '85-losse schoonmaakinventaris' FROM DUAL
|
||
UNION
|
||
SELECT '86-losse opberginventaris' FROM DUAL
|
||
UNION
|
||
SELECT '89-losse inventaris' FROM DUAL
|
||
UNION
|
||
SELECT '90-terrein' FROM DUAL
|
||
UNION
|
||
SELECT '91-grondvoorzieningen' FROM DUAL
|
||
UNION
|
||
SELECT '92-opstallen' FROM DUAL
|
||
UNION
|
||
SELECT '93-omeheiningen' FROM DUAL
|
||
UNION
|
||
SELECT '94-terreinafwerking' FROM DUAL
|
||
UNION
|
||
SELECT '95-terreininstallaties, werktuigkundig' FROM DUAL
|
||
UNION
|
||
SELECT '96-terreininstallaties, elektrotechnisch' FROM DUAL
|
||
UNION
|
||
SELECT '97-terreininrichting standaard' FROM DUAL
|
||
UNION
|
||
SELECT '98-terreininrichting bijzonder' FROM DUAL
|
||
UNION
|
||
SELECT '99-terrein algemeen' FROM DUAL
|
||
UNION
|
||
SELECT '00-indirecte projectvoorzieningen' FROM DUAL;
|
||
|
||
|
||
|
||
BEGIN
|
||
v_count_error := 0;
|
||
header_is_valid := 0;
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
v_errormsg := 'Eerts fac_imp_ins opschonen';
|
||
|
||
DELETE fac_imp_ins;
|
||
COMMIT;
|
||
|
||
|
||
v_errormsg := 'Hebben we al NL_SFB disciplines ';
|
||
SELECT COUNT(*) into v_count FROM ins_discipline where ins_discipline_omschrijving IN ('0-Algemeen','3-Afbouw');
|
||
|
||
IF v_count=0 THEN
|
||
v_errormsg := 'NLFSB structuur aanlegen';
|
||
FOR rec_dis IN nlsfb_dis
|
||
LOOP
|
||
BEGIN
|
||
SELECT ins_discipline_key INTO v_discipline_key FROM ins_discipline where UPPER(ins_discipline_omschrijving)=UPPER(rec_dis.ins_omsch);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
INSERT INTO ins_tab_discipline (ins_discipline_omschrijving,
|
||
ins_discipline_min_level)
|
||
VALUES (rec_dis.ins_omsch, 1)
|
||
RETURNING ins_discipline_key
|
||
INTO v_discipline_key;
|
||
|
||
INSERT INTO ins_disc_params (ins_discipline_key,
|
||
ins_disc_params_autonum)
|
||
VALUES (v_discipline_key, 2);
|
||
|
||
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
FOR rec_grp IN nlsfb_grp
|
||
LOOP
|
||
SELECT ins_discipline_key
|
||
INTO v_discipline_key
|
||
FROM ins_tab_discipline
|
||
WHERE SUBSTR (ins_discipline_omschrijving, 1, 2) =
|
||
SUBSTR (rec_grp.groep, 1, 1) || '-';
|
||
|
||
BEGIN
|
||
SELECT ins_srtgroep_key
|
||
INTO v_srtgroep_key
|
||
FROM ins_srtgroep
|
||
WHERE UPPER (ins_srtgroep_omschrijving) = UPPER (rec_grp.groep)
|
||
AND ins_discipline_key = v_discipline_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
INSERT INTO ins_srtgroep (ins_discipline_key,
|
||
ins_srtgroep_omschrijving)
|
||
VALUES (v_discipline_key, rec_grp.groep);
|
||
END;
|
||
END LOOP;
|
||
|
||
|
||
|
||
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
V_count_import := v_count_import +1;
|
||
v_errormsg := 'Fout FETCH te importeren rij '||v_count_import;
|
||
v_error:=0;
|
||
v_newline := rec.fac_imp_file_line;
|
||
IF v_count_import >1 THEN
|
||
v_errormsg := 'Fout opvragen K1 te importeren rij '||v_count_import;
|
||
v_aanduiding := '';
|
||
v_gebouw_code:='';
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_gebouw_code);
|
||
v_errormsg := 'Fout opvragen K3 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtdeel_code);
|
||
v_errormsg := 'Fout opvragen K4 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_ins_deel_opmerking);
|
||
v_errormsg := 'Fout opvragen K6 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_kenmerk1); -- Taak omschrijving
|
||
v_errormsg := 'Fout opvragen K8 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 8, v_ins_deel_aantal_text);
|
||
v_errormsg := 'Fout opvragen K9 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_kenmerk2); -- eenheid
|
||
v_errormsg := 'Fout opvragen K10 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_kenmerk3); -- kosten
|
||
v_errormsg := 'Fout opvragen K16 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 16, v_kenmerk4); -- startjaar
|
||
v_errormsg := 'Fout opvragen K11 te importeren rij '||v_count_import;
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_kenmerk5); -- cyclus
|
||
|
||
IF LENGTH(v_gebouw_code) > 0 -- AND UPPER(v_kenmerk1) NOT LIKE 'HERSTELLEN%'
|
||
THEN
|
||
v_errormsg := 'vervangen , door . '||v_count_import;
|
||
v_ins_srtdeel_code := REPLACE(v_ins_srtdeel_code,',','.');
|
||
v_errormsg := 'Tekens uit prijs verwijderen '||v_count_import;
|
||
v_kenmerk3 := REPLACE(v_kenmerk3,'<27> ',''); -- euro teken van prijs halen
|
||
v_kenmerk3 := REPLACE(v_kenmerk3,'.',''); -- duizentallen verwijderen
|
||
v_kenmerk3 := REPLACE(v_kenmerk3,',','.'); -- , omzetten naar .
|
||
|
||
|
||
-- v_aanduiding := v_ins_deel_omschrijving || '|' || v_kenmerk4;
|
||
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_discipline_omschrijving: ' || v_ins_srtdeel_code;
|
||
BEGIN
|
||
SELECT d.ins_discipline_omschrijving,ins_discipline_key
|
||
INTO d_ins_discipline_omschrijving, v_discipline_key
|
||
FROM ins_discipline d
|
||
WHERE SUBSTR (d.ins_discipline_omschrijving, 1, 1) = SUBSTR (v_ins_srtdeel_code, 1, 1) AND d.ins_discipline_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_errormsg:='Fout bij achterhalen discipline';
|
||
v_error:=1;
|
||
--d_ins_discipline_omschrijving := SUBSTR (v_ins_srtdeel_code, 1, 1) || '-'|| v_ins_discipline_omschrijving;
|
||
END;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving: ' || v_ins_srtdeel_code;
|
||
d_ins_srtgroep_omschrijving:='';
|
||
BEGIN
|
||
SELECT sg.ins_srtgroep_omschrijving,ins_srtgroep_key
|
||
INTO d_ins_srtgroep_omschrijving,v_srtgroep_key
|
||
FROM ins_srtgroep sg
|
||
WHERE SUBSTR (sg.ins_srtgroep_omschrijving, 1, 2) = SUBSTR (v_ins_srtdeel_code, 1, 2);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_errormsg:='Fout bij achterhalen srtgroep';
|
||
v_error :=1;
|
||
|
||
END;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtdeel_omschrijving: ' || v_ins_srtdeel_code ||'('||v_count_import||')';
|
||
d_ins_srtdeel_omschrijving:='';
|
||
|
||
SELECT TRIM(omsch) INTO v_ins_srtdeel_omschrijving FROM conn_v_select_nlsfb_grpsoort WHERE code=v_ins_srtdeel_code;
|
||
|
||
|
||
BEGIN
|
||
SELECT sd.ins_srtdeel_omschrijving
|
||
INTO d_ins_srtdeel_omschrijving
|
||
FROM ins_srtdeel sd
|
||
WHERE sd.ins_srtdeel_code = v_ins_srtdeel_code
|
||
AND sd.ins_srtdeel_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
/* INSERT INTO ins_srtdeel (ins_srtgroep_key,
|
||
ins_srtdeel_module,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_srtdeel_binding)
|
||
VALUES (v_srtgroep_key,
|
||
'INS',
|
||
v_ins_srtdeel_code,
|
||
v_ins_srtdeel_omschrijving,
|
||
17); */
|
||
d_ins_srtdeel_omschrijving := v_ins_srtdeel_omschrijving;
|
||
END;
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_alg_ruimte_nr: ' || v_alg_ruimte_nr;
|
||
|
||
BEGIN
|
||
|
||
SELECT alg_locatie_code, alg_gebouw_upper, alg_verdieping_code, alg_ruimte_nr
|
||
INTO v_alg_locatie_code,v_alg_gebouw_code, v_alg_verdieping_volgnr, v_alg_ruimte_nr
|
||
FROM alg_v_ruimte_gegevens where alg_locatie_code=SUBSTR(v_gebouw_code,3,6) AND alg_verdieping_upper='00' AND alg_ruimte_nr='1';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_errormsg:= 'Locatie/Gebouw heet geen Verdipeing00 en RuimteNr 1';
|
||
v_error:=1;
|
||
END;
|
||
|
||
|
||
|
||
v_errormsg := '1 Fout bij toevoegen te impoteren startjaar('||v_ins_deel_omschrijving||'): ' || v_kenmerk15;
|
||
v_ins_deel_aanmaak := SYSDATE;
|
||
/*
|
||
IF v_kenmerk4 IS NOT NULL
|
||
THEN
|
||
IF v_kenmerk4='0' THEN
|
||
v_ins_deel_aanmaak := to_date('01012022' , 'ddmmyyyy');
|
||
ELSE
|
||
|
||
v_startjaar:= to_number(v_kenmerk4);
|
||
|
||
v_cyclus := to_number(v_kenmerk5);
|
||
IF v_startjaar=2022 THEN
|
||
v_startjaar:=v_startjaar-v_cyclus;
|
||
END IF;
|
||
v_ins_deel_aanmaak := TO_DATE('0101'||v_startjaar,'ddmmyyyy');
|
||
END IF;
|
||
|
||
ELSE
|
||
v_ins_deel_aanmaak := SYSDATE;
|
||
END IF; */
|
||
|
||
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_deel_aantal_txt: ' || v_ins_deel_aantal;
|
||
IF v_ins_deel_aantal_text IS NOT NULL
|
||
THEN
|
||
v_ins_deel_aantal_text := REPLACE(v_ins_deel_aantal_text,'.','');
|
||
v_ins_deel_aantal_text := REPLACE(v_ins_deel_aantal_text,',','.');
|
||
v_ins_deel_aantal := to_number(v_ins_deel_aantal_text);
|
||
ELSE
|
||
v_ins_deel_aantal := 1;
|
||
END IF;
|
||
v_errormsg := 'Fout bij ophalen ins_deel : '||v_ins_deel_opmerking;
|
||
v_ins_deel_omschrijving:='';
|
||
v_volgnr:=0;
|
||
v_objectcount:=0;
|
||
BEGIN
|
||
SELECT DISTINCT (ins_deel_omschrijving) INTO v_ins_deel_omschrijving
|
||
FROM FAC_IMP_INS
|
||
WHERE UPPER(ins_deel_opmerking) = UPPER(v_ins_deel_opmerking)
|
||
AND alg_locatie_code=SUBSTR(v_gebouw_code,3,6)
|
||
AND INS_SRTDEEL_CODE=v_ins_srtdeel_code;
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
SELECT COUNT(*) INTO v_objectCount
|
||
FROM (SELECT DISTINCT (ins_deel_omschrijving) FROM FAC_IMP_INS
|
||
WHERE alg_locatie_code=SUBSTR(v_gebouw_code,3,6)
|
||
AND INS_SRTDEEL_CODE=v_ins_srtdeel_code);
|
||
v_volgnr:=v_objectcount+1;
|
||
v_ins_deel_omschrijving := SUBSTR(v_gebouw_code,3,6)||'-'||v_ins_srtdeel_code||'-'||v_volgnr;
|
||
END;
|
||
|
||
|
||
IF v_error=0 THEN
|
||
INSERT INTO fac_imp_ins (ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
ins_srtdeel_code,
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
alg_locatie_code,
|
||
alg_gebouw_code,
|
||
alg_verdieping_volgnr,
|
||
alg_ruimte_nr,
|
||
ins_deel_aanmaak,
|
||
ins_deel_aantal,
|
||
ins_kenmerkwaarde1, -- Taak omschrijving
|
||
ins_kenmerkwaarde2, -- eenheid ?
|
||
ins_kenmerkwaarde3, -- kosten ?
|
||
ins_kenmerkwaarde4, -- startjaar
|
||
ins_kenmerkwaarde5,
|
||
ins_kenmerkwaarde6) -- cyclus
|
||
VALUES (SUBSTR(d_ins_discipline_omschrijving, 1,60),
|
||
SUBSTR(d_ins_srtgroep_omschrijving, 1, 60),
|
||
SUBSTR(v_ins_srtdeel_code,1,10),
|
||
SUBSTR(v_ins_srtdeel_omschrijving, 1, 100),
|
||
v_ins_deel_omschrijving,
|
||
SUBSTR(v_ins_deel_opmerking, 1, 320),
|
||
SUBSTR(v_gebouw_code,3,6),
|
||
SUBSTR(v_alg_gebouw_code, 1, 12),
|
||
v_alg_verdieping_volgnr,
|
||
SUBSTR(v_alg_ruimte_nr,1,20),
|
||
v_ins_deel_aanmaak,
|
||
to_number(v_ins_deel_aantal),
|
||
v_kenmerk1,
|
||
v_kenmerk2,
|
||
v_kenmerk3,
|
||
v_kenmerk4,
|
||
v_kenmerk5,
|
||
v_count_import);
|
||
|
||
COMMIT;
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END IF;
|
||
ELSE
|
||
v_errormsg := 'Locatie code '||v_gebouw_code||'-'||v_count_import;
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END IF;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
|
||
END;
|
||
|
||
|
||
|
||
END LOOP;
|
||
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE CONN_UPDATE_ASSETS_INI(p_import_key IN NUMBER)
|
||
AS
|
||
CURSOR sel IS
|
||
SELECT * FROM fac_imp_ins;
|
||
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (100);
|
||
v_deel_key NUMBER;
|
||
v_srtdeel_key NUMBER;
|
||
v_srtcontrole_key NUMBER;
|
||
v_srtcontroledl_xcp_key NUMBER;
|
||
|
||
v_taakcat_key NUMBER;
|
||
v_srtcontrole_omschrijving INS_SRTCONTROLE.INS_SRTCONTROLE_OMSCHRIJVING%TYPE;
|
||
v_srtcontrole_periode INS_SRTCONTROLE.INS_SRTCONTROLE_PERIODE%TYPE;
|
||
v_srtcontrole_materiaal INS_SRTCONTROLE.INS_SRTCONTROLE_MATERIAAL%TYPE;
|
||
v_srtcontrole_percentage INS_SRTCONTROLE.INS_SRTCONTROLE_PERCENTAGE%TYPE;
|
||
v_srtcontrole_level INS_SRTCONTROLE.INS_SRTCONTROLE_LEVEL%TYPE;
|
||
v_percentage NUMBER;
|
||
v_materiaal INS_SRTCONTROLEDL_XCP.INS_SRTCONTROLEDL_XCP_MATERIA%TYPE;
|
||
|
||
ins_deel_key NUMBER;
|
||
ins_srtdeel_key NUMBER;
|
||
v_count NUMBER;
|
||
v_error NUMBER;
|
||
v_taak_cyclus NUMBER;
|
||
v_taak_afmeld_date DATE;
|
||
v_taak_afmeld_jaar NUMBER;
|
||
v_taak_nextyear NUMBER;
|
||
v_xcprecords NUMBER;
|
||
|
||
|
||
BEGIN
|
||
|
||
fac_update_ins(p_import_key);
|
||
|
||
v_count:=0;
|
||
|
||
-- LOOP Over alle geimporteerde objecten
|
||
FOR rec IN sel
|
||
LOOP
|
||
v_error:=0;
|
||
BEGIN
|
||
|
||
v_count:=v_count+1;
|
||
-- volgens mij is deze niet meer nodig
|
||
v_materiaal := FAC.safe_to_number (rec.INS_KENMERKWAARDE3);
|
||
|
||
-- Haal het object op
|
||
v_errorhint := 'Zoek object';
|
||
SELECT ins_deel_key, ins_srtdeel_key
|
||
INTO v_deel_key, v_srtdeel_key
|
||
FROM ins_deel
|
||
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving
|
||
AND ins_deel_verwijder IS NULL;
|
||
|
||
--Haal de taakgroep op
|
||
v_errorhint := 'Problemen bij ophalen taakcategorie';
|
||
SELECT ins_discipline_key
|
||
INTO v_taakcat_key
|
||
FROM INS_TAB_DISCIPLINE
|
||
WHERE UPPER(ins_discipline_omschrijving) = 'MJOB'
|
||
AND ins_discipline_module='CTR'
|
||
AND ins_discipline_verwijder IS NULL;
|
||
|
||
|
||
--v_taakcat_key:=2621; -- MJOB
|
||
|
||
|
||
|
||
v_taak_cyclus := TO_NUMBER(COALESCE(rec.ins_kenmerkwaarde5,0));
|
||
v_taak_nextyear := TO_NUMBER(rec.ins_kenmerkwaarde4);
|
||
|
||
IF (v_taak_cyclus=0 AND v_taak_nextyear>=2022)
|
||
OR (v_taak_cyclus <> 0 AND v_taak_nextyear <> 0)
|
||
THEN
|
||
BEGIN
|
||
IF v_taak_cyclus=1 AND v_taak_nextyear <=2022 THEN
|
||
v_taak_afmeld_jaar := 2022;
|
||
ELSE
|
||
--v_taak_afmeld_jaar := v_taak_nextyear - v_taak_cyclus;
|
||
v_taak_afmeld_jaar := v_taak_nextyear;
|
||
END IF;
|
||
v_taak_afmeld_date := TO_DATE('0101'||v_taak_afmeld_jaar,'ddmmyyyy');
|
||
|
||
--v_srtcontrole_omschrijving:='';
|
||
v_srtcontrole_omschrijving:= SUBSTR(rec.ins_kenmerkwaarde1,0,50);
|
||
|
||
v_srtcontrole_omschrijving:=v_srtcontrole_omschrijving || '-'|| rec.ins_srtdeel_code;
|
||
-- Heb ik deze srtcontrole al
|
||
SELECT ins_srtcontrole_key,
|
||
ins_srtcontrole_periode,
|
||
ins_srtcontrole_materiaal,
|
||
ins_srtcontrole_percentage
|
||
INTO v_srtcontrole_key,
|
||
v_srtcontrole_periode,
|
||
v_srtcontrole_materiaal,
|
||
v_srtcontrole_percentage
|
||
FROM ins_srtcontrole
|
||
WHERE ins_srtinstallatie_key = v_srtdeel_key
|
||
AND ins_srtcontrole_niveau = 'S'
|
||
AND ctr_discipline_key = v_taakcat_key
|
||
AND ins_srtcontrole_omschrijving=v_srtcontrole_omschrijving;
|
||
|
||
|
||
|
||
-- srtcontrole is er .
|
||
-- Wijkt deze af van de srtcontrole op begied van periode, materiaal
|
||
|
||
|
||
-- IF v_srtcontrole_periode <> COALESCE (TO_NUMBER (rec.ins_kenmerkwaarde12),0)
|
||
-- OR v_srtcontrole_materiaal <> v_materiaal
|
||
-- THEN
|
||
IF v_taak_cyclus=0 THEN
|
||
v_taak_cyclus:=99;
|
||
END IF;
|
||
|
||
-- Controle of er al een xcp record vor dit ins_del srtcontrole al aanwezig is.
|
||
SELECT COUNT(*)
|
||
INTO v_xcprecords
|
||
FROM ins_srtcontroledl_xcp
|
||
WHERE ins_srtcontrole_key=v_srtcontrole_key
|
||
AND ins_deel_key=v_deel_key;
|
||
|
||
IF v_xcprecords=0 THEN
|
||
|
||
INSERT INTO ins_srtcontroledl_xcp
|
||
(ins_srtcontrole_key,
|
||
ins_deel_key,
|
||
ins_srtcontroledl_xcp_aantal,
|
||
ins_srtcontroledl_xcp_eenheid,
|
||
ins_srtcontroledl_xcp_periode,
|
||
ins_srtcontroledl_xcp_materia,
|
||
ins_srtcontroledl_xcp_startdat,
|
||
ins_srtcontroledl_xcp_aanteh)
|
||
VALUES (v_srtcontrole_key,
|
||
v_deel_key,
|
||
rec.ins_deel_aantal,
|
||
4,
|
||
v_taak_cyclus,
|
||
v_materiaal,
|
||
v_taak_afmeld_date,
|
||
rec.ins_kenmerkwaarde2);
|
||
END IF;
|
||
|
||
-- END IF;
|
||
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND THEN
|
||
v_errorhint := 'Bepalen level';
|
||
v_srtcontrole_level := 10;
|
||
v_srtcontrole_percentage:=0;
|
||
v_srtcontrole_omschrijving:= SUBSTR(rec.ins_kenmerkwaarde1,0,50);
|
||
|
||
v_srtcontrole_omschrijving:=v_srtcontrole_omschrijving || '-'|| rec.ins_srtdeel_code;
|
||
|
||
IF v_taak_cyclus=0 THEN
|
||
v_taak_cyclus:=99;
|
||
END IF;
|
||
|
||
v_errorhint := 'Aanmaken srtcontrole';
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_count||'-'||v_taak_cyclus||-v_taak_nextyear,
|
||
v_errorhint);
|
||
|
||
-- nu moet we een ins_srtcontrole aanmaken
|
||
|
||
INSERT INTO ins_srtcontrole (
|
||
ins_srtinstallatie_key,
|
||
ins_srtcontrole_niveau,
|
||
ins_srtcontrole_omschrijving,
|
||
ctr_discipline_key,
|
||
ins_Srtcontrole_periode,
|
||
ins_srtcontrole_eenheid,
|
||
ins_srtcontrole_level
|
||
)
|
||
VALUES (
|
||
v_srtdeel_key,
|
||
'S',
|
||
v_srtcontrole_omschrijving,
|
||
v_taakcat_key,
|
||
0,
|
||
4, -- Jaarlijks
|
||
v_srtcontrole_level
|
||
)
|
||
RETURNING ins_srtcontrole_key INTO v_srtcontrole_key;
|
||
|
||
|
||
INSERT INTO ins_srtcontroledl_xcp (
|
||
ins_srtcontrole_key,
|
||
ins_srtcontroledl_xcp_materia,
|
||
ins_srtcontroledl_xcp_periode,
|
||
ins_srtcontroledl_xcp_eenheid,
|
||
ins_srtcontroledl_xcp_aantal,
|
||
ins_deel_key,
|
||
ins_srtcontroledl_xcp_startdat,
|
||
ins_srtcontroledl_xcp_aanteh)
|
||
VALUES (v_srtcontrole_key,
|
||
v_materiaal,
|
||
v_taak_cyclus,
|
||
4,
|
||
rec.ins_deel_aantal,
|
||
v_deel_key,
|
||
v_taak_afmeld_date,
|
||
rec.ins_kenmerkwaarde2)
|
||
RETURNING ins_srtcontroledl_xcp_key
|
||
INTO v_srtcontroledl_xcp_key;
|
||
|
||
|
||
COMMIT;
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_count||'-'||rec.ins_deel_omschrijving||'-'||v_errormsg,
|
||
v_errorhint);
|
||
END;
|
||
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_count||'-'||v_errormsg,
|
||
v_errorhint);
|
||
END;
|
||
END LOOP;
|
||
|
||
END;
|
||
/
|
||
-- Einde CONN_UPDATE_ASSETS
|
||
|
||
|
||
-- Migratie Views
|
||
-- Export contract bijlages
|
||
CREATE OR REPLACE FORCE VIEW CONN_V_RAP_EXP_CNT_BIJLAGEN
|
||
(
|
||
module,
|
||
contract_key,
|
||
contract_nr,
|
||
contract_nr_extern,
|
||
contractsoort,
|
||
srtkenmerk,
|
||
fac_bijlage_key,
|
||
filenaam,
|
||
directory
|
||
)
|
||
AS
|
||
SELECT 'CNT',
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_nummer,
|
||
csd.ins_discipline_omschrijving contractsoort,
|
||
ck.cnt_kenmerk_omschrijving,
|
||
fb.fac_bijlagen_key,
|
||
fb.fac_bijlagen_filename filename,
|
||
fb.fac_bijlagen_disk_directory
|
||
FROM cnt_srtkenmerk csk,
|
||
cnt_kenmerk ck,
|
||
fac_bijlagen fb,
|
||
cnt_contract c,
|
||
cnt_v_aanwezigdiscipline csd
|
||
WHERE csk.cnt_srtkenmerk_kenmerktype='M'
|
||
AND ck.cnt_srtkenmerk_key = csk.cnt_srtkenmerk_key
|
||
AND fb.fac_bijlagen_kenmerk_key=ck.cnt_kenmerk_key
|
||
AND fb.fac_bijlagen_verwijder IS NULL
|
||
AND c.cnt_contract_key = fb.fac_bijlagen_refkey
|
||
AND c.cnt_contract_verwijder IS NULL
|
||
AND csd.ins_discipline_key = c.ins_discipline_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_TAKEN_BIJLAGES
|
||
(
|
||
discipline,
|
||
groep,
|
||
objectsoort,
|
||
objectid,
|
||
opmerking,
|
||
object_aanmaak,
|
||
object_vervaldatum,
|
||
srtcontrole,
|
||
srtcontrole_periode,
|
||
srtcontrole_eenheid,
|
||
controle_datum,
|
||
controle_status,
|
||
controle_behandelaar,
|
||
controle_opmerking,
|
||
bijlage_key,
|
||
object_bijlages,
|
||
bijlage_directory
|
||
)
|
||
AS
|
||
SELECT disc.ins_discipline_omschrijving discipline,
|
||
isg.ins_srtgroep_omschrijving groep,
|
||
id.ins_srtdeel_omschrijving objectsoort,
|
||
i.ins_deel_omschrijving objectid,
|
||
i.ins_deel_opmerking opmerking,
|
||
i.ins_deel_aanmaak object_aanmaak,
|
||
i.ins_deel_vervaldatum object_vervaldatum,
|
||
isc.ins_srtcontrole_omschrijving srtcontrole,
|
||
isc.ins_srtcontrole_periode srtcontrole_periode,
|
||
DECODE (isc.ins_srtcontrole_eenheid, 1, 'Dagen', 'Jaren') srtcontrole_eenheid,
|
||
idc.ins_deelsrtcontrole_datum controle_datum,
|
||
DECODE (idc.ins_deelsrtcontrole_status,
|
||
0, 'Ingepland',
|
||
2, 'Gestart/In behandeling',
|
||
5, 'Afgemeld/Gereed gemeld',
|
||
6, 'Afgerond',
|
||
'Onbekend') controle_status,
|
||
p.prs_perslid_naam_friendly controle_behandelaar,
|
||
idc.ins_deelsrtcontrole_opmerking controle_opmerking,
|
||
fac.fac_bijlagen_key,
|
||
fac.fac_bijlagen_filename object_bijlages,
|
||
fac.fac_bijlagen_disk_directory
|
||
FROM ins_deelsrtcontrole idc,
|
||
ins_deel i,
|
||
ins_srtdeel id,
|
||
ins_srtgroep isg,
|
||
ins_discipline disc,
|
||
ins_srtcontrole isc,
|
||
ins_srtkenmerk isk,
|
||
ins_kenmerk ikm,
|
||
fac_bijlagen fac,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE isk.ins_srtkenmerk_omschrijving = 'Documenten'
|
||
AND isk.ins_srtkenmerk_kenmerktype = 'M'
|
||
AND ikm.ins_srtkenmerk_key = isk.ins_srtkenmerk_key
|
||
AND fac.fac_bijlagen_kenmerk_key = ikm.ins_kenmerk_key
|
||
AND fac.fac_bijlagen_refkey = i.ins_deel_key
|
||
AND idc.INS_DEEL_KEY = i.ins_deel_key
|
||
AND i.ins_deel_verwijder IS NULL
|
||
AND isc.ins_srtcontrole_key = idc.ins_srtcontrole_key
|
||
AND p.prs_perslid_key = idc.prs_perslid_key
|
||
AND id.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND isg.ins_srtgroep_key = id.ins_srtgroep_key
|
||
AND disc.ins_discipline_key = isg.ins_discipline_key;
|
||
|
||
-- Export object bijlages
|
||
|
||
CREATE OR REPLACE VIEW CONN_V_TAKEN_BIJLAGES_ALL
|
||
AS
|
||
SELECT i.ins_deel_omschrijving objectid,
|
||
i.ins_discipline_omschrijving discipline,
|
||
i.ins_srtgroep_omschrijving groep,
|
||
i.ins_srtdeel_omschrijving objectsoort,
|
||
i.alg_gebouw_code locatie_code,
|
||
i.alg_gebouw_naam gebouw_naam,
|
||
isc.ins_srtcontrole_omschrijving srt_controle,
|
||
isc.ins_srtcontrole_periode periode,
|
||
DECODE(isc.ins_srtcontrole_eenheid,1, 'Dag', 2,'Maand',3,'Jaar') eenheid,
|
||
idc.ins_deelsrtcontrole_datum controle_datum,
|
||
idc.ins_deelsrtcontrole_opmerking controle_opmerking,
|
||
DECODE(idc.ins_deelsrtcontrole_status,0,'Ingepland',2,'Gestart/In behandeling', 5,'Afgemeld/Gereed gemeld', 6,'Afgerond') controle_status,
|
||
bijlages.srtkenmerk,
|
||
bijlages.fac_bijlagen_filename bestandnaam,
|
||
bijlages.fac_bijlagen_disk_directory||'/'||bijlages.fac_bijlagen_filename pad
|
||
FROM ins_v_deel_gegevens i, ins_srtcontrole isc, INS_DEELSRTCONTROLE idc,
|
||
(SELECT fb.* ,isk.ins_srtkenmerk_omschrijving srtkenmerk
|
||
FROM fac_bijlagen fb, ins_kenmerk ikm, ins_srtkenmerk isk
|
||
WHERE fb.fac_bijlagen_kenmerk_key=ikm.ins_kenmerk_key
|
||
AND isk.ins_srtkenmerk_key = ikm.ins_srtkenmerk_key
|
||
AND isk.ins_srtkenmerk_key IN (1261,1501)) bijlages
|
||
WHERE i.ins_srtdeel_key = isc.ins_srtinstallatie_key
|
||
AND idc.ins_deel_key = i.ins_deel_key
|
||
AND idc.ins_srtcontrole_key = isc.ins_srtcontrole_key
|
||
AND bijlages.fac_bijlagen_refkey = i.ins_deel_key (+)
|
||
AND TRUNC(idc.ins_deelsrtcontrole_datum) > TO_DATE('01-01-2014','DD-MM-YYYY')
|
||
ORDER BY 1;
|
||
|
||
|
||
|
||
------ 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
|