9308 lines
395 KiB
MySQL
9308 lines
395 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 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<EFBFBD>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;
|
||
|
||
-- View notificatiejob
|
||
/* Formatted on 20-10-2011 13:44:45 (QP5 v5.115.810.9015) */
|
||
CREATE OR REPLACE VIEW conn_v_noti_meterstreminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'OBJINF',
|
||
NULL,
|
||
meterstanden_verantwoordelijke,
|
||
'U wordt verzocht de meterstanden van locatie '
|
||
|| alg_locatie_omschrijving
|
||
|| ' in te voeren in Facilitor.',
|
||
alg_locatie_key,
|
||
NULL
|
||
FROM ( SELECT l.alg_locatie_key,
|
||
COUNT (l.alg_locatie_omschrijving) aantal_objecten,
|
||
l.alg_locatie_omschrijving,
|
||
(SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_locatie l, alg_onrgoedkenmerk ogk
|
||
WHERE l.alg_locatie_key = ogk.alg_onrgoed_key
|
||
AND ogk.alg_onrgoed_niveau = 'L'
|
||
AND l.alg_locatie_key = d.ins_alg_locatie_key
|
||
AND ogk.alg_kenmerk_key = 1280) -- Meterstandverantwoordelijke
|
||
meterstanden_verantwoordelijke,
|
||
COUNT((SELECT 'buiten'
|
||
FROM ins_v_aanwezigkenmerkdeel akd
|
||
WHERE akd.ins_deel_key = d.ins_deel_key
|
||
AND akd.ins_kenmerk_key = sk.ins_kenmerk_key
|
||
AND akd.ins_kenmerkdeel_aanmaak NOT
|
||
BETWEEN TRUNC(SYSDATE, 'MM') - 10
|
||
AND TRUNC(SYSDATE, 'MM') + 14)) buiten,
|
||
COUNT((SELECT 'binnen'
|
||
FROM ins_v_aanwezigkenmerkdeel akd
|
||
WHERE akd.ins_deel_key = d.ins_deel_key
|
||
AND akd.ins_kenmerk_key = sk.ins_kenmerk_key
|
||
AND akd.ins_kenmerkdeel_aanmaak
|
||
BETWEEN TRUNC(SYSDATE, 'MM') - 10
|
||
AND TRUNC(SYSDATE, 'MM') + 14)) binnen
|
||
FROM ins_v_srtdeel_kenmerk sk,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
alg_locatie l
|
||
WHERE sk.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND sk.ins_kenmerk_meetwaarde = 1
|
||
AND sk.ins_srtkenmerk_kenmerktype = 'N'
|
||
AND (SELECT alg_onrgoedkenmerk_waarde
|
||
FROM alg_locatie l, alg_onrgoedkenmerk ogk
|
||
WHERE l.alg_locatie_key = ogk.alg_onrgoed_key
|
||
AND ogk.alg_onrgoed_niveau = 'L'
|
||
AND l.alg_locatie_key =
|
||
d.ins_alg_locatie_key
|
||
AND ogk.alg_kenmerk_key = 1280) IS NOT NULL -- Meterstandverantwoordelijke
|
||
GROUP BY l.alg_locatie_omschrijving,
|
||
d.ins_alg_locatie_key,
|
||
alg_locatie_key) t1
|
||
WHERE (t1.binnen = 0 AND t1.buiten > 0)
|
||
OR (t1.aantal_objecten > (t1.binnen + t1.buiten)) -- Indien er nog geen waarde is ingevuld dan altijd melding
|
||
ORDER BY 2;
|
||
|
||
|
||
--------------------------
|
||
--
|
||
-- 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;
|
||
/
|
||
|
||
------ 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
|