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$
|
||||
-- $Id$
|
||||
|
||||
@@ -2322,7 +2322,7 @@ BEGIN
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
asdl_export_glasbon_melding;
|
||||
BEGIN ASDL_EXPORT_GLASBON_MELDING('GLASBON_MELDING',SYSDATE,'-1',''); END;
|
||||
|
||||
END;
|
||||
/
|
||||
@@ -2513,7 +2513,7 @@ AS
|
||||
CREATE OR REPLACE PROCEDURE ASDL_IMPORT_GLASBON (p_import_key IN NUMBER)
|
||||
IS
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
v_newline VARCHAR2 (1000);
|
||||
v_newline VARCHAR2 (1000);
|
||||
v_header VARCHAR2 (1000);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
@@ -2529,8 +2529,9 @@ IS
|
||||
v_count_alglocatie NUMBER :=1;
|
||||
v_count_weeknr NUMBER :=1;
|
||||
v_count_stationsmanager NUMBER :=1;
|
||||
v_count_uitvoerder NUMBER :=1;
|
||||
-- De importvelden:
|
||||
v_fac_import_key VARCHAR (256);
|
||||
v_fac_import_key VARCHAR (256);
|
||||
v_fac_import_index VARCHAR (256);
|
||||
v_mld_stdmelding_key VARCHAR (256);
|
||||
v_mld_stdmelding_oms VARCHAR (256);
|
||||
@@ -2541,11 +2542,12 @@ IS
|
||||
v_uitvoerjaar VARCHAR (256);
|
||||
v_uitvoerweek VARCHAR (256);
|
||||
v_uitvoerder VARCHAR (256);
|
||||
v_uitvoerdernaam VARCHAR(256);
|
||||
v_serviceordernr VARCHAR (256);
|
||||
v_onderwerp VARCHAR (256);
|
||||
v_omschrijving VARCHAR (256);
|
||||
v_datum_melding VARCHAR (256);
|
||||
v_meldingnr VARCHAR (256);
|
||||
v_meldingnr VARCHAR (256);
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
@@ -2553,12 +2555,12 @@ IS
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
|
||||
CURSOR l
|
||||
IS
|
||||
SELECT *
|
||||
FROM alg_locatie;
|
||||
|
||||
|
||||
BEGIN
|
||||
DELETE FROM asdl_imp_glas;
|
||||
COMMIT;
|
||||
@@ -2566,7 +2568,7 @@ BEGIN
|
||||
v_count_tot := 0;
|
||||
v_count_import := 0;
|
||||
header_is_valid := 0;
|
||||
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
@@ -2577,7 +2579,7 @@ BEGIN
|
||||
v_errorhint := 'Fout bij opvragen te importeren rij';
|
||||
v_ongeldig := 0;
|
||||
v_count := 0;
|
||||
|
||||
|
||||
-- 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_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_uitvoerweek); -- Uitvoerweek
|
||||
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_onderwerp); -- Onderwerp
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_omschrijving); -- Omschrijving
|
||||
@@ -2602,36 +2605,34 @@ BEGIN
|
||||
|| '|'
|
||||
|| v_uitvoerweek
|
||||
|| '] ';
|
||||
|
||||
|
||||
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 negeer alles totdat ik een geldige header ben gepasseerd.
|
||||
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
IF
|
||||
IF
|
||||
UPPER (v_mld_stdmelding_key) = 'MELDING'
|
||||
AND UPPER (v_mld_stdmelding_oms) = 'MELDINGOMSCHRIJVING'
|
||||
AND UPPER (v_alg_locatie_code) = 'LOCATIECODE'
|
||||
AND UPPER (v_alg_locatie_oms) = 'LOCATIE'
|
||||
AND UPPER (v_stationsmanager_key) = 'SM-NR'
|
||||
AND UPPER (v_stationsmanager) = 'STATIONSMANAGER'
|
||||
AND UPPER (v_alg_locatie_oms) = 'LOCATIE'
|
||||
AND UPPER (v_stationsmanager_key) = 'SMNR'
|
||||
AND UPPER (v_stationsmanager) = 'STATIONSMANAGER'
|
||||
AND UPPER (v_uitvoerjaar) = 'UITVOERJAAR'
|
||||
AND UPPER (v_uitvoerweek) = 'UITVOERWEEK'
|
||||
AND UPPER (v_uitvoerder) = 'UITVOERDER'
|
||||
AND UPPER (v_serviceordernr) = 'NUMMER SERVICEORDER' --Lengte max 50
|
||||
AND UPPER (v_onderwerp) = 'ONDERWERP' --Lengte max 80
|
||||
AND UPPER (v_uitvoerdernaam) = 'UITVOERDERNAAM'
|
||||
AND UPPER (v_serviceordernr) = 'SERVICEORDERNUMMER' --Lengte max 50
|
||||
AND UPPER (v_onderwerp) = 'ONDERWERP' --Lengte max 80
|
||||
AND UPPER (v_omschrijving) = 'OMSCHRIJVING' --Lengte max 4000
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
ELSE
|
||||
|
||||
--NOG TE MAKEN CONTROLES:
|
||||
--uitvoerdatum (datum)
|
||||
|
||||
--Controle of de opgegeven stdmelding wel aanwezig is
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count_melding
|
||||
@@ -2647,11 +2648,11 @@ BEGIN
|
||||
v_aanduiding || 'Meldingnummer bestaat niet',
|
||||
'Melding wordt niet ingelezen!');
|
||||
END IF;
|
||||
|
||||
|
||||
--Controle of de opgegeven locatie (postcode) wel aanwezig is
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count_alglocatie
|
||||
FROM alg_locatie l
|
||||
FROM alg_locatie l
|
||||
WHERE l.alg_locatie_postcode = v_alg_locatie_code;
|
||||
|
||||
IF v_count_alglocatie = 0
|
||||
@@ -2662,11 +2663,11 @@ BEGIN
|
||||
v_aanduiding || 'Locatie (postcode) bestaat niet',
|
||||
'Melding wordt niet ingelezen!');
|
||||
END IF;
|
||||
|
||||
|
||||
--Controle of de opgegeven stationsmanager wel aanwezig is
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count_stationsmanager
|
||||
FROM asdl_v_list_locatiebeheerder lb
|
||||
FROM asdl_v_list_locatiebeheerder lb
|
||||
WHERE lb.prs_perslid_key = v_stationsmanager_key
|
||||
AND lb.prs_perslid_verwijder IS NULL;
|
||||
|
||||
@@ -2677,8 +2678,25 @@ BEGIN
|
||||
'W',
|
||||
v_aanduiding || 'Stationsmanager bestaat niet',
|
||||
'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
|
||||
THEN
|
||||
v_serviceordernr := SUBSTR (v_serviceordernr, 1, 50);
|
||||
@@ -2690,7 +2708,7 @@ BEGIN
|
||||
|| v_serviceordernr
|
||||
|| ']');
|
||||
END IF;
|
||||
|
||||
|
||||
IF LENGTH (v_onderwerp) > 80
|
||||
THEN
|
||||
v_onderwerp := SUBSTR (v_onderwerp, 1, 80);
|
||||
@@ -2715,7 +2733,24 @@ BEGIN
|
||||
|| ']');
|
||||
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
|
||||
IF header_is_valid = 1
|
||||
AND v_ongeldig = 0
|
||||
@@ -2784,7 +2819,7 @@ BEGIN
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
@@ -2829,6 +2864,7 @@ EXCEPTION
|
||||
END ASDL_IMPORT_GLASBON;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE ASDL_UPDATE_GLASBON (p_import_key IN NUMBER)
|
||||
IS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user