ASDL#52274 Import glasmeldingen
svn path=/Customer/trunk/; revision=38139
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
-- Script containing customer specific configuration sql statements for Asito Digitaal Logboek
|
F-- Script containing customer specific configuration sql statements for Asito Digitaal Logboek
|
||||||
-- $Revision$
|
-- $Revision$
|
||||||
-- $Id$
|
-- $Id$
|
||||||
|
|
||||||
@@ -2322,7 +2322,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
asdl_export_glasbon_melding;
|
BEGIN ASDL_EXPORT_GLASBON_MELDING('GLASBON_MELDING',SYSDATE,'-1',''); END;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
@@ -2513,7 +2513,7 @@ AS
|
|||||||
CREATE OR REPLACE PROCEDURE ASDL_IMPORT_GLASBON (p_import_key IN NUMBER)
|
CREATE OR REPLACE PROCEDURE ASDL_IMPORT_GLASBON (p_import_key IN NUMBER)
|
||||||
IS
|
IS
|
||||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||||
v_newline VARCHAR2 (1000);
|
v_newline VARCHAR2 (1000);
|
||||||
v_header VARCHAR2 (1000);
|
v_header VARCHAR2 (1000);
|
||||||
v_aanduiding VARCHAR2 (200);
|
v_aanduiding VARCHAR2 (200);
|
||||||
v_errorhint VARCHAR2 (1000);
|
v_errorhint VARCHAR2 (1000);
|
||||||
@@ -2529,8 +2529,9 @@ IS
|
|||||||
v_count_alglocatie NUMBER :=1;
|
v_count_alglocatie NUMBER :=1;
|
||||||
v_count_weeknr NUMBER :=1;
|
v_count_weeknr NUMBER :=1;
|
||||||
v_count_stationsmanager NUMBER :=1;
|
v_count_stationsmanager NUMBER :=1;
|
||||||
|
v_count_uitvoerder NUMBER :=1;
|
||||||
-- De importvelden:
|
-- De importvelden:
|
||||||
v_fac_import_key VARCHAR (256);
|
v_fac_import_key VARCHAR (256);
|
||||||
v_fac_import_index VARCHAR (256);
|
v_fac_import_index VARCHAR (256);
|
||||||
v_mld_stdmelding_key VARCHAR (256);
|
v_mld_stdmelding_key VARCHAR (256);
|
||||||
v_mld_stdmelding_oms VARCHAR (256);
|
v_mld_stdmelding_oms VARCHAR (256);
|
||||||
@@ -2541,11 +2542,12 @@ IS
|
|||||||
v_uitvoerjaar VARCHAR (256);
|
v_uitvoerjaar VARCHAR (256);
|
||||||
v_uitvoerweek VARCHAR (256);
|
v_uitvoerweek VARCHAR (256);
|
||||||
v_uitvoerder VARCHAR (256);
|
v_uitvoerder VARCHAR (256);
|
||||||
|
v_uitvoerdernaam VARCHAR(256);
|
||||||
v_serviceordernr VARCHAR (256);
|
v_serviceordernr VARCHAR (256);
|
||||||
v_onderwerp VARCHAR (256);
|
v_onderwerp VARCHAR (256);
|
||||||
v_omschrijving VARCHAR (256);
|
v_omschrijving VARCHAR (256);
|
||||||
v_datum_melding VARCHAR (256);
|
v_datum_melding VARCHAR (256);
|
||||||
v_meldingnr VARCHAR (256);
|
v_meldingnr VARCHAR (256);
|
||||||
|
|
||||||
CURSOR c
|
CURSOR c
|
||||||
IS
|
IS
|
||||||
@@ -2553,12 +2555,12 @@ IS
|
|||||||
FROM fac_imp_file
|
FROM fac_imp_file
|
||||||
WHERE fac_import_key = p_import_key
|
WHERE fac_import_key = p_import_key
|
||||||
ORDER BY fac_imp_file_index;
|
ORDER BY fac_imp_file_index;
|
||||||
|
|
||||||
CURSOR l
|
CURSOR l
|
||||||
IS
|
IS
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM alg_locatie;
|
FROM alg_locatie;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM asdl_imp_glas;
|
DELETE FROM asdl_imp_glas;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
@@ -2566,7 +2568,7 @@ BEGIN
|
|||||||
v_count_tot := 0;
|
v_count_tot := 0;
|
||||||
v_count_import := 0;
|
v_count_import := 0;
|
||||||
header_is_valid := 0;
|
header_is_valid := 0;
|
||||||
|
|
||||||
FOR rec IN c
|
FOR rec IN c
|
||||||
LOOP
|
LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -2577,7 +2579,7 @@ BEGIN
|
|||||||
v_errorhint := 'Fout bij opvragen te importeren rij';
|
v_errorhint := 'Fout bij opvragen te importeren rij';
|
||||||
v_ongeldig := 0;
|
v_ongeldig := 0;
|
||||||
v_count := 0;
|
v_count := 0;
|
||||||
|
|
||||||
-- Lees alle veldwaarden
|
-- Lees alle veldwaarden
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_mld_stdmelding_key); -- Soort melding key
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_mld_stdmelding_key); -- Soort melding key
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_mld_stdmelding_oms); -- Soort melding omschrijving
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_mld_stdmelding_oms); -- Soort melding omschrijving
|
||||||
@@ -2588,6 +2590,7 @@ BEGIN
|
|||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerjaar); -- Uitvoerjaar
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerjaar); -- Uitvoerjaar
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerweek); -- Uitvoerweek
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerweek); -- Uitvoerweek
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerder); -- Uitvoerder
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerder); -- Uitvoerder
|
||||||
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitvoerdernaam); -- Uitvoerdernaam
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_serviceordernr); -- Nummer serviceorder
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_serviceordernr); -- Nummer serviceorder
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_onderwerp); -- Onderwerp
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_onderwerp); -- Onderwerp
|
||||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_omschrijving); -- Omschrijving
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_omschrijving); -- Omschrijving
|
||||||
@@ -2602,36 +2605,34 @@ BEGIN
|
|||||||
|| '|'
|
|| '|'
|
||||||
|| v_uitvoerweek
|
|| v_uitvoerweek
|
||||||
|| '] ';
|
|| '] ';
|
||||||
|
|
||||||
v_count_tot := v_count_tot + 1;
|
v_count_tot := v_count_tot + 1;
|
||||||
|
|
||||||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
-- 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.
|
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||||||
|
|
||||||
|
|
||||||
IF (header_is_valid = 0)
|
IF (header_is_valid = 0)
|
||||||
THEN
|
THEN
|
||||||
IF
|
IF
|
||||||
UPPER (v_mld_stdmelding_key) = 'MELDING'
|
UPPER (v_mld_stdmelding_key) = 'MELDING'
|
||||||
AND UPPER (v_mld_stdmelding_oms) = 'MELDINGOMSCHRIJVING'
|
AND UPPER (v_mld_stdmelding_oms) = 'MELDINGOMSCHRIJVING'
|
||||||
AND UPPER (v_alg_locatie_code) = 'LOCATIECODE'
|
AND UPPER (v_alg_locatie_code) = 'LOCATIECODE'
|
||||||
AND UPPER (v_alg_locatie_oms) = 'LOCATIE'
|
AND UPPER (v_alg_locatie_oms) = 'LOCATIE'
|
||||||
AND UPPER (v_stationsmanager_key) = 'SM-NR'
|
AND UPPER (v_stationsmanager_key) = 'SMNR'
|
||||||
AND UPPER (v_stationsmanager) = 'STATIONSMANAGER'
|
AND UPPER (v_stationsmanager) = 'STATIONSMANAGER'
|
||||||
AND UPPER (v_uitvoerjaar) = 'UITVOERJAAR'
|
AND UPPER (v_uitvoerjaar) = 'UITVOERJAAR'
|
||||||
AND UPPER (v_uitvoerweek) = 'UITVOERWEEK'
|
AND UPPER (v_uitvoerweek) = 'UITVOERWEEK'
|
||||||
AND UPPER (v_uitvoerder) = 'UITVOERDER'
|
AND UPPER (v_uitvoerder) = 'UITVOERDER'
|
||||||
AND UPPER (v_serviceordernr) = 'NUMMER SERVICEORDER' --Lengte max 50
|
AND UPPER (v_uitvoerdernaam) = 'UITVOERDERNAAM'
|
||||||
AND UPPER (v_onderwerp) = 'ONDERWERP' --Lengte max 80
|
AND UPPER (v_serviceordernr) = 'SERVICEORDERNUMMER' --Lengte max 50
|
||||||
|
AND UPPER (v_onderwerp) = 'ONDERWERP' --Lengte max 80
|
||||||
AND UPPER (v_omschrijving) = 'OMSCHRIJVING' --Lengte max 4000
|
AND UPPER (v_omschrijving) = 'OMSCHRIJVING' --Lengte max 4000
|
||||||
THEN
|
THEN
|
||||||
header_is_valid := 1;
|
header_is_valid := 1;
|
||||||
END IF;
|
END IF;
|
||||||
ELSE
|
ELSE
|
||||||
|
|
||||||
--NOG TE MAKEN CONTROLES:
|
|
||||||
--uitvoerdatum (datum)
|
|
||||||
|
|
||||||
--Controle of de opgegeven stdmelding wel aanwezig is
|
--Controle of de opgegeven stdmelding wel aanwezig is
|
||||||
SELECT COUNT ( * )
|
SELECT COUNT ( * )
|
||||||
INTO v_count_melding
|
INTO v_count_melding
|
||||||
@@ -2647,11 +2648,11 @@ BEGIN
|
|||||||
v_aanduiding || 'Meldingnummer bestaat niet',
|
v_aanduiding || 'Meldingnummer bestaat niet',
|
||||||
'Melding wordt niet ingelezen!');
|
'Melding wordt niet ingelezen!');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
--Controle of de opgegeven locatie (postcode) wel aanwezig is
|
--Controle of de opgegeven locatie (postcode) wel aanwezig is
|
||||||
SELECT COUNT ( * )
|
SELECT COUNT ( * )
|
||||||
INTO v_count_alglocatie
|
INTO v_count_alglocatie
|
||||||
FROM alg_locatie l
|
FROM alg_locatie l
|
||||||
WHERE l.alg_locatie_postcode = v_alg_locatie_code;
|
WHERE l.alg_locatie_postcode = v_alg_locatie_code;
|
||||||
|
|
||||||
IF v_count_alglocatie = 0
|
IF v_count_alglocatie = 0
|
||||||
@@ -2662,11 +2663,11 @@ BEGIN
|
|||||||
v_aanduiding || 'Locatie (postcode) bestaat niet',
|
v_aanduiding || 'Locatie (postcode) bestaat niet',
|
||||||
'Melding wordt niet ingelezen!');
|
'Melding wordt niet ingelezen!');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
--Controle of de opgegeven stationsmanager wel aanwezig is
|
--Controle of de opgegeven stationsmanager wel aanwezig is
|
||||||
SELECT COUNT ( * )
|
SELECT COUNT ( * )
|
||||||
INTO v_count_stationsmanager
|
INTO v_count_stationsmanager
|
||||||
FROM asdl_v_list_locatiebeheerder lb
|
FROM asdl_v_list_locatiebeheerder lb
|
||||||
WHERE lb.prs_perslid_key = v_stationsmanager_key
|
WHERE lb.prs_perslid_key = v_stationsmanager_key
|
||||||
AND lb.prs_perslid_verwijder IS NULL;
|
AND lb.prs_perslid_verwijder IS NULL;
|
||||||
|
|
||||||
@@ -2677,8 +2678,25 @@ BEGIN
|
|||||||
'W',
|
'W',
|
||||||
v_aanduiding || 'Stationsmanager bestaat niet',
|
v_aanduiding || 'Stationsmanager bestaat niet',
|
||||||
'Melding wordt niet ingelezen!');
|
'Melding wordt niet ingelezen!');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
--Controle of de opgegeven uitvoerder wel aanwezig is
|
||||||
|
SELECT COUNT ( * )
|
||||||
|
INTO v_count_uitvoerder
|
||||||
|
FROM fac_usrdata uv
|
||||||
|
WHERE uv.fac_usrdata_key = v_uitvoerder
|
||||||
|
AND uv.fac_usrtab_key = 21
|
||||||
|
AND uv.fac_usrdata_verwijder IS NULL;
|
||||||
|
|
||||||
|
IF v_count_uitvoerder = 0
|
||||||
|
THEN v_ongeldig := 1;
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key,
|
||||||
|
'W',
|
||||||
|
v_aanduiding || 'Uitvoerder bestaat niet',
|
||||||
|
'Melding wordt niet ingelezen!');
|
||||||
|
END IF;
|
||||||
|
|
||||||
IF LENGTH (v_serviceordernr) > 50
|
IF LENGTH (v_serviceordernr) > 50
|
||||||
THEN
|
THEN
|
||||||
v_serviceordernr := SUBSTR (v_serviceordernr, 1, 50);
|
v_serviceordernr := SUBSTR (v_serviceordernr, 1, 50);
|
||||||
@@ -2690,7 +2708,7 @@ BEGIN
|
|||||||
|| v_serviceordernr
|
|| v_serviceordernr
|
||||||
|| ']');
|
|| ']');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF LENGTH (v_onderwerp) > 80
|
IF LENGTH (v_onderwerp) > 80
|
||||||
THEN
|
THEN
|
||||||
v_onderwerp := SUBSTR (v_onderwerp, 1, 80);
|
v_onderwerp := SUBSTR (v_onderwerp, 1, 80);
|
||||||
@@ -2715,7 +2733,24 @@ BEGIN
|
|||||||
|| ']');
|
|| ']');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
IF v_uitvoerjaar <> TO_CHAR(SYSDATE, 'YYYY')
|
||||||
|
THEN v_ongeldig := 1;
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key,
|
||||||
|
'W',
|
||||||
|
v_aanduiding || 'Melding niet in huidig jaar',
|
||||||
|
'Melding wordt niet ingelezen!');
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF TO_NUMBER(v_uitvoerweek) <= TO_NUMBER(TO_CHAR(SYSDATE, 'WW'))
|
||||||
|
THEN v_ongeldig := 1;
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key,
|
||||||
|
'W',
|
||||||
|
v_aanduiding || 'Melding in deze of voorgaande week',
|
||||||
|
'Melding wordt niet ingelezen!');
|
||||||
|
END IF;
|
||||||
|
|
||||||
-- Insert geformatteerde import record
|
-- Insert geformatteerde import record
|
||||||
IF header_is_valid = 1
|
IF header_is_valid = 1
|
||||||
AND v_ongeldig = 0
|
AND v_ongeldig = 0
|
||||||
@@ -2784,7 +2819,7 @@ BEGIN
|
|||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
IF (header_is_valid = 0)
|
IF (header_is_valid = 0)
|
||||||
THEN
|
THEN
|
||||||
@@ -2829,6 +2864,7 @@ EXCEPTION
|
|||||||
END ASDL_IMPORT_GLASBON;
|
END ASDL_IMPORT_GLASBON;
|
||||||
/
|
/
|
||||||
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE ASDL_UPDATE_GLASBON (p_import_key IN NUMBER)
|
CREATE OR REPLACE PROCEDURE ASDL_UPDATE_GLASBON (p_import_key IN NUMBER)
|
||||||
IS
|
IS
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user