CSUN#25914 -- koppeling om locaties te importeren of aan te passen
svn path=/Customer/trunk/; revision=18658
This commit is contained in:
591
CSUN/CSUN.sql
591
CSUN/CSUN.sql
@@ -807,7 +807,7 @@ AS
|
||||
l.alg_locatie_adres,
|
||||
l.alg_locatie_postcode,
|
||||
l.alg_locatie_plaats,
|
||||
(SELECT u.fac_usrdata_code
|
||||
(SELECT u.fac_usrdata_omschr
|
||||
FROM fac_usrdata u, alg_onrgoedkenmerk ogk
|
||||
WHERE alg_kenmerk_key = 1000
|
||||
AND ogk.alg_onrgoed_key = l.alg_locatie_key
|
||||
@@ -1019,12 +1019,12 @@ END;
|
||||
/
|
||||
|
||||
|
||||
-- TODO: Projectnummer toevoegen aan import en imp tabel. !!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
CREATE OR REPLACE PROCEDURE csun_import_onrgoed (p_import_key IN NUMBER)
|
||||
CREATE OR REPLACE PROCEDURE csun_import_project (p_import_key IN NUMBER)
|
||||
AS
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
v_newline VARCHAR2 (1000); -- Input line
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_error_hint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
header_is_valid NUMBER;
|
||||
@@ -1032,22 +1032,15 @@ AS
|
||||
v_error NUMBER (1);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
-- De importvelden:
|
||||
v_prjnr VARCHAR2 (10);
|
||||
v_regio_omschrijving VARCHAR2 (255); -- 30
|
||||
v_regio_key NUMBER (10);
|
||||
v_district_omschrijving VARCHAR2 (255); -- 30
|
||||
v_district_key NUMBER (10);
|
||||
v_accountcode VARCHAR2 (255); --
|
||||
v_project VARCHAR2 (255); -- 8
|
||||
v_locatie_code VARCHAR2 (255); -- 10
|
||||
v_locatie_omschrijving VARCHAR2 (255); -- 30
|
||||
v_locatie_adres VARCHAR2 (255); -- 35
|
||||
v_locatie_postcode VARCHAR2 (255); -- 12
|
||||
v_locatie_plaats VARCHAR2 (255); -- 30
|
||||
v_client VARCHAR2 (255); --40
|
||||
v_client_key NUMBER (10);
|
||||
v_bud VARCHAR2 (255); -- 100
|
||||
v_bud_key NUMBER (10);
|
||||
v_bb VARCHAR2 (255); -- 100
|
||||
v_bb_key NUMBER (10);
|
||||
v_dm VARCHAR2 (255); -- 100
|
||||
v_bu VARCHAR2 (255);
|
||||
v_kenmerk1 VARCHAR2 (255);
|
||||
v_kenmerk2 VARCHAR2 (255);
|
||||
v_kenmerk3 VARCHAR2 (255);
|
||||
@@ -1062,11 +1055,12 @@ AS
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
BEGIN
|
||||
v_error_hint := 'Verwijderen oude records';
|
||||
-- Eerst opruiming
|
||||
DELETE FROM imp_log
|
||||
WHERE fac_import_key = p_import_key;
|
||||
|
||||
DELETE FROM fac_imp_onrgoed1;
|
||||
DELETE FROM csun_imp_project;
|
||||
|
||||
header_is_valid := 0;
|
||||
v_count := 0;
|
||||
@@ -1075,332 +1069,73 @@ BEGIN
|
||||
FOR rec1 IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout FETCH te importeren rij';
|
||||
v_error_hint := 'Fout FETCH te importeren rij';
|
||||
v_newline := rec1.fac_imp_file_line;
|
||||
v_errormsg := 'Fout opvragen te importeren rij';
|
||||
v_error_hint := 'Fout opvragen te importeren rij';
|
||||
v_aanduiding := '';
|
||||
v_error := 0;
|
||||
-- Lees alle veldwaarden
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prjnr);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_regio_omschrijving);
|
||||
fac.imp_getfield (v_newline,
|
||||
c_fielddelimitor,
|
||||
v_district_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_code);
|
||||
fac.imp_getfield (v_newline,
|
||||
c_fielddelimitor,
|
||||
v_locatie_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_accountcode);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_project);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_bu);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dm);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_adres);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_postcode);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_plaats);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_client);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_bud);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_bb);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_code);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk1);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk2);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk3);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk4);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk5);
|
||||
|
||||
v_regio_key := '';
|
||||
v_district_key := '';
|
||||
v_client_key := '';
|
||||
v_bud_key := '';
|
||||
v_bb_key := '';
|
||||
|
||||
v_aanduiding :=
|
||||
v_locatie_code || '|' || v_locatie_omschrijving || '| ';
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
IF UPPER (v_regio_omschrijving) = 'REGIOOMSCHRIJVING'
|
||||
AND UPPER (v_locatie_postcode) = 'POSTCODE'
|
||||
AND UPPER (v_bb) = 'BB'
|
||||
IF UPPER (v_accountcode) = 'ACCOUNTCODE'
|
||||
AND UPPER (v_project) = 'PROJECT'
|
||||
AND UPPER (v_bu) = 'BU'
|
||||
AND UPPER (v_locatie_omschrijving) = 'OMSCHRIJVING'
|
||||
AND UPPER (v_dm) = 'DM'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
ELSE
|
||||
|
||||
-- Controleer alle veldwaarden
|
||||
IF LENGTH (v_regio_omschrijving) > 30
|
||||
THEN
|
||||
v_regio_omschrijving := SUBSTR (v_regio_omschrijving, 1, 30);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'District-aanduiding is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_regio_omschrijving
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT alg_regio_key
|
||||
INTO v_regio_key
|
||||
FROM alg_regio
|
||||
WHERE alg_regio_verwijder IS NULL
|
||||
AND UPPER (alg_regio_omschrijving) =
|
||||
UPPER (v_regio_omschrijving);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Regio kan niet gevonden worden',
|
||||
'Controleer regio notatie! <'
|
||||
|| v_regio_omschrijving
|
||||
|| '>');
|
||||
v_error := 1;
|
||||
END;
|
||||
|
||||
--
|
||||
IF LENGTH (v_district_omschrijving) > 30
|
||||
THEN
|
||||
v_district_omschrijving :=
|
||||
SUBSTR (v_district_omschrijving, 1, 30);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'District-aanduiding is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_district_omschrijving
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT alg_district_key
|
||||
INTO v_district_key
|
||||
FROM alg_district
|
||||
WHERE alg_district_verwijder IS NULL
|
||||
AND UPPER (alg_district_omschrijving) =
|
||||
UPPER (v_district_omschrijving);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'District kan niet gevonden worden',
|
||||
'Controleer district notatie! <'
|
||||
|| v_district_omschrijving
|
||||
|| '>');
|
||||
v_error := 1;
|
||||
END;
|
||||
|
||||
--
|
||||
IF LENGTH (v_locatie_code) > 10
|
||||
THEN
|
||||
v_locatie_code := SUBSTR (v_locatie_code, 1, 10);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Locatiecode-aanduiding is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_locatie_code
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
--
|
||||
IF LENGTH (v_locatie_omschrijving) > 50
|
||||
THEN
|
||||
v_locatie_omschrijving :=
|
||||
SUBSTR (v_locatie_omschrijving, 1, 50);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Locatie-aanduiding is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_locatie_omschrijving
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
--
|
||||
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
|
||||
|| 'Locatie-aanduiding bezoek-adres is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_locatie_adres
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
--
|
||||
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
|
||||
|| 'Postcode-aanduiding bezoek-adres is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_locatie_postcode
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
--
|
||||
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 || 'Plaats-aanduiding bezoek-adres is te lang',
|
||||
'Aanduiding wordt afgebroken tot <'
|
||||
|| v_locatie_plaats
|
||||
|| '>');
|
||||
END IF;
|
||||
|
||||
--
|
||||
IF LENGTH (v_client) > 40
|
||||
THEN
|
||||
v_client := SUBSTR (v_client, 1, 40);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'client-aanduiding is te lang',
|
||||
'Aanduiding wordt afgebroken tot <' || v_client || '>');
|
||||
END IF;
|
||||
|
||||
IF v_client IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT fac_usrdata_key
|
||||
INTO v_client_key
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrdata_verwijder IS NULL
|
||||
AND fac_usrtab_key = 1
|
||||
AND UPPER (fac_usrdata_omschr) = UPPER (v_client);
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||||
fac_usrdata_code,
|
||||
fac_usrdata_omschr)
|
||||
VALUES (1,
|
||||
SUBSTR (v_client, 1, 40),
|
||||
SUBSTR (v_client, 1, 60))
|
||||
RETURNING fac_usrdata_key INTO v_client_key;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
v_aanduiding || 'Client wordt toegevoegd',
|
||||
'<' || v_client || '>');
|
||||
END;
|
||||
END IF;
|
||||
|
||||
--
|
||||
IF v_bud IS NOT NULL
|
||||
THEN
|
||||
IF LENGTH (v_bud) > 100
|
||||
THEN
|
||||
v_bud := SUBSTR (v_bud, 1, 100);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'BUD-aanduiding is te lang',
|
||||
'Aanduiding wordt afgebroken tot <' || v_bud || '>');
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_bud_key
|
||||
FROM prs_v_perslid_fullnames
|
||||
WHERE prs_perslid_naam_full = v_bud;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'BUD kan niet gevonden worden',
|
||||
'Controleer BUD notatie! <' || v_bud || '>');
|
||||
v_error := 1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
--
|
||||
IF v_bb IS NOT NULL
|
||||
THEN
|
||||
IF LENGTH (v_bb) > 100
|
||||
THEN
|
||||
v_bb := SUBSTR (v_bb, 1, 100);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'BB-aanduiding post-adres is te lang',
|
||||
'Aanduiding wordt afgebroken tot <' || v_bb || '>');
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_bb_key
|
||||
FROM prs_v_perslid_fullnames
|
||||
WHERE prs_perslid_naam_full = v_bb;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'BB kan niet gevonden worden',
|
||||
'Controleer BB notatie! <' || v_bb || '>');
|
||||
v_error := 1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
|
||||
--
|
||||
|
||||
-- Insert geformatteerde import record
|
||||
IF v_error = 0
|
||||
THEN
|
||||
|
||||
v_errormsg :=
|
||||
v_error_hint :=
|
||||
'Fout bij toevoegen te impoteren locatie ['
|
||||
|| v_locatie_code
|
||||
|| ']';
|
||||
|
||||
INSERT INTO csun_imp_onrgoed (alg_regio_omschrijving,
|
||||
alg_regio_key,
|
||||
alg_district_omschrijving,
|
||||
alg_district_key,
|
||||
alg_locatie_code,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_adres,
|
||||
alg_locatie_postcode,
|
||||
alg_locatie_plaats,
|
||||
client,
|
||||
client_key,
|
||||
bud,
|
||||
bud_key,
|
||||
bb,
|
||||
bb_key,
|
||||
INSERT INTO csun_imp_project (accountcode,
|
||||
project,
|
||||
bu,
|
||||
dm,
|
||||
code,
|
||||
omschrijving,
|
||||
adres,
|
||||
postcode,
|
||||
woonplaats,
|
||||
kenmerk1,
|
||||
kenmerk2,
|
||||
kenmerk3,
|
||||
kenmerk4,
|
||||
kenmerk5)
|
||||
VALUES (v_regio_omschrijving,
|
||||
v_regio_key,
|
||||
v_district_omschrijving,
|
||||
v_district_key,
|
||||
v_locatie_code,
|
||||
v_locatie_omschrijving,
|
||||
v_locatie_adres,
|
||||
v_locatie_postcode,
|
||||
v_locatie_plaats,
|
||||
v_client,
|
||||
v_client_key,
|
||||
v_bud,
|
||||
v_bud_key,
|
||||
v_bb,
|
||||
v_bb_key,
|
||||
VALUES (SUBSTR(TRIM(v_accountcode),1,14),
|
||||
SUBSTR(TRIM(v_project),1,14),
|
||||
SUBSTR(TRIM(v_bu),1,14),
|
||||
TO_NUMBER(TRIM(v_dm)),
|
||||
SUBSTR(TRIM(v_locatie_code),1,10),
|
||||
SUBSTR(TRIM(v_locatie_omschrijving),1,60),
|
||||
SUBSTR(TRIM(v_locatie_adres),1,35),
|
||||
SUBSTR(TRIM(v_locatie_postcode),1,9),
|
||||
SUBSTR(TRIM(v_locatie_plaats),1,35),
|
||||
v_kenmerk1,
|
||||
v_kenmerk2,
|
||||
v_kenmerk3,
|
||||
@@ -1436,132 +1171,177 @@ EXCEPTION
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
'');
|
||||
END csun_import_onrgoed;
|
||||
v_error_hint);
|
||||
END csun_import_project;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE csun_update_onrgoed (p_import_key IN NUMBER)
|
||||
/* Formatted on 1/28/2013 4:46:45 PM (QP5 v5.136.908.31019) */
|
||||
CREATE OR REPLACE PROCEDURE csun_update_project (p_import_key IN NUMBER)
|
||||
IS
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_error_hint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
oracle_err_mes VARCHAR2 (1000);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_count NUMBER (10);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_count_update NUMBER (10);
|
||||
v_count_tot NUMBER (10);
|
||||
|
||||
-- De importvelden:
|
||||
v_locatie_key NUMBER (10);
|
||||
v_bud_key NUMBER (10);
|
||||
v_bb_key NUMBER (10);
|
||||
v_account_key NUMBER (10);
|
||||
v_district_key NUMBER (10);
|
||||
v_locatie_code VARCHAR2 (10);
|
||||
|
||||
CURSOR c_dist
|
||||
CURSOR c_account
|
||||
IS
|
||||
SELECT alg_regio_key,
|
||||
alg_district_key,
|
||||
alg_district_omschrijving,
|
||||
alg_regio_omschrijving
|
||||
FROM csun_imp_onrgoed i
|
||||
WHERE NOT EXISTS
|
||||
(SELECT alg_district_key
|
||||
FROM alg_district d
|
||||
WHERE d.alg_district_key = i.alg_district_key
|
||||
AND d.alg_regio_key = i.alg_regio_key
|
||||
AND d.alg_district_verwijder IS NULL)
|
||||
GROUP BY alg_regio_key,
|
||||
alg_district_key,
|
||||
alg_district_omschrijving,
|
||||
alg_regio_omschrijving;
|
||||
SELECT distinct accountcode
|
||||
FROM csun_imp_project;
|
||||
|
||||
|
||||
CURSOR c
|
||||
CURSOR c_district (c_accountcode IN VARCHAR2)
|
||||
IS
|
||||
SELECT * FROM csun_imp_onrgoed;
|
||||
SELECT distinct dm FROM csun_imp_project
|
||||
WHERE accountcode = c_accountcode;
|
||||
|
||||
CURSOR c (c_accountcode IN VARCHAR2, c_dm IN NUMBER)
|
||||
IS
|
||||
SELECT * FROM csun_imp_project
|
||||
WHERE accountcode = c_accountcode
|
||||
AND dm = c_dm;
|
||||
|
||||
FUNCTION get_alg_kenmerk (p_kenmerk_key IN NUMBER, p_onrgoed_key IN NUMBER) RETURN VARCHAR2
|
||||
AS
|
||||
v_waarde VARCHAR2(255);
|
||||
BEGIN
|
||||
SELECT alg_onrgoedkenmerk_waarde
|
||||
INTO v_waarde
|
||||
FROM alg_onrgoedkenmerk
|
||||
WHERE alg_kenmerk_key = p_kenmerk_key
|
||||
AND alg_onrgoed_key = p_onrgoed_key;
|
||||
|
||||
RETURN v_waarde;
|
||||
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
BEGIN
|
||||
-- v_count_update := 0;
|
||||
-- v_count_tot := 0;
|
||||
v_error_hint := 'Start met doorlopen accounts';
|
||||
|
||||
FOR rec IN c_dist
|
||||
FOR rec_a IN c_account
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE alg_district
|
||||
SET alg_regio_key = rec.alg_regio_key
|
||||
WHERE alg_district_key = rec.alg_district_key;
|
||||
v_error_hint := 'Ophalen data voor accountcode: ' || rec_a.accountcode;
|
||||
SELECT fac_usrdata_key
|
||||
INTO v_account_key
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = 1 -- Eigentabel met client
|
||||
AND fac_usrdata_code = rec_a.accountcode;
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'District onder andere regio geplaatst['
|
||||
|| rec.alg_district_omschrijving
|
||||
|| '] naar regio: '
|
||||
|| rec.alg_regio_omschrijving,
|
||||
'');
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
FOR rec IN c
|
||||
FOR rec_d IN c_district(rec_a.accountcode)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding := 'rec.alg_locatie_code';
|
||||
v_errorhint := 'check of locatie al bestaat';
|
||||
v_error_hint := 'Ophalen data voor dm: ' || rec_d.dm;
|
||||
SELECT alg_onrgoed_key
|
||||
INTO v_district_key
|
||||
FROM prs_kenmerklink kl,
|
||||
alg_onrgoedkenmerk aog
|
||||
WHERE prs_kenmerk_key = 1040 -- dm beheerderscode
|
||||
AND alg_kenmerk_key = 1021 -- key van districtmanager
|
||||
AND prs_link_key = fac.safe_to_number(alg_onrgoedkenmerk_waarde)
|
||||
AND prs_kenmerklink_waarde = rec_d.dm;
|
||||
|
||||
-- check of locatie al bestaat
|
||||
FOR rec IN c(rec_a.accountcode, rec_d.dm)
|
||||
LOOP
|
||||
BEGIN
|
||||
SELECT alg_locatie_key
|
||||
-- Get BUD reference
|
||||
v_error_hint := 'Bepalen bb referentie: ' || rec.dm;
|
||||
v_bud_key := get_alg_kenmerk (1060, v_district_key);
|
||||
|
||||
-- Get BB reference
|
||||
v_error_hint := 'Bepalen bb referentie: ' || rec.dm;
|
||||
v_bb_key := get_alg_kenmerk (1020, v_district_key);
|
||||
|
||||
BEGIN
|
||||
v_error_hint := 'Kijk of de locatie al bestaat: ' || rec.project;
|
||||
SELECT alg_onrgoed_key
|
||||
INTO v_locatie_key
|
||||
FROM alg_locatie
|
||||
WHERE UPPER(alg_locatie_code) = UPPER (rec.alg_locatie_code)
|
||||
AND alg_locatie_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
FROM alg_onrgoedkenmerk
|
||||
WHERE alg_kenmerk_key = 1040 -- projectnummer
|
||||
AND alg_onrgoedkenmerk_waarde = rec.project;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errorhint := 'voeg locatie toe';
|
||||
INSERT INTO alg_locatie (alg_district_key,
|
||||
alg_locatie_code,
|
||||
alg_locatie_omschrijving)
|
||||
VALUES (rec.alg_district_key,
|
||||
rec.alg_locatie_code,
|
||||
rec.alg_locatie_omschrijving)
|
||||
IF rec.code IS NULL THEN
|
||||
v_locatie_code := rec.project;
|
||||
ELSE
|
||||
v_locatie_code := rec.code;
|
||||
END IF;
|
||||
INSERT INTO alg_locatie (alg_district_key, alg_locatie_code, alg_locatie_omschrijving)
|
||||
VALUES (v_district_key, v_locatie_code, SUBSTR(rec.omschrijving,1,50))
|
||||
RETURNING alg_locatie_key
|
||||
INTO v_locatie_key;
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Nieuwe locatie aangemaakt ['
|
||||
|| rec.alg_locatie_code
|
||||
|| ']: '
|
||||
|| rec.alg_locatie_omschrijving,
|
||||
'');
|
||||
END;
|
||||
v_errorhint := 'pas locatiegegevens aan';
|
||||
|
||||
UPDATE alg_locatie
|
||||
SET alg_locatie_omschrijving = rec.alg_locatie_omschrijving,
|
||||
alg_district_key = rec.alg_district_key,
|
||||
alg_locatie_adres = rec.alg_locatie_adres,
|
||||
alg_locatie_postcode = rec.alg_locatie_postcode,
|
||||
alg_locatie_plaats = rec.alg_locatie_plaats
|
||||
SET alg_locatie_omschrijving = SUBSTR(rec.omschrijving,1,50),
|
||||
alg_district_key = v_district_key,
|
||||
alg_locatie_adres = rec.adres,
|
||||
alg_locatie_postcode = rec.postcode,
|
||||
alg_locatie_plaats = rec.woonplaats
|
||||
WHERE alg_locatie_key = v_locatie_key;
|
||||
|
||||
-- set kenmerken
|
||||
v_errorhint := 'pas kenmerken aan';
|
||||
csun_set_kenmerk ('ALG',
|
||||
1000,
|
||||
v_locatie_key,
|
||||
rec.client_key,
|
||||
0);
|
||||
csun_set_kenmerk ('ALG',
|
||||
1006,
|
||||
v_locatie_key,
|
||||
rec.bud_key,
|
||||
0);
|
||||
csun_set_kenmerk ('ALG',
|
||||
1007,
|
||||
v_locatie_key,
|
||||
rec.bb_key,
|
||||
0);
|
||||
csun_export_set_werkplek ('ONRGOED',
|
||||
TO_CHAR (SYSDATE, 'yyyymmdd hh24:mi:ss'),
|
||||
'',
|
||||
'');
|
||||
csun_set_kenmerk ('ALG', 1006, v_locatie_key, v_bud_key, 0);
|
||||
csun_set_kenmerk ('ALG', 1007, v_locatie_key, v_bb_key, 0);
|
||||
csun_set_kenmerk ('ALG', 1000, v_locatie_key, v_account_key, 0);
|
||||
csun_set_kenmerk ('ALG', 1040, v_locatie_key, rec.project, 0);
|
||||
|
||||
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',
|
||||
'Import locaties afgebroken (' || rec.dm || '-' || rec.accountcode || '-' || rec.project || '):' || v_errormsg,
|
||||
v_error_hint);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
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',
|
||||
'Import locaties afgebroken (' || rec_d.dm || '-' || rec_a.accountcode || '):' || v_errormsg,
|
||||
v_error_hint);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
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',
|
||||
'Import locaties afgebroken (' || rec_a.accountcode || '):' || v_errormsg,
|
||||
v_error_hint);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
csun_export_set_werkplek (p_import_key);
|
||||
|
||||
-- to do : locatie verwijderen.
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1572,7 +1352,7 @@ EXCEPTION
|
||||
'E',
|
||||
'Fout tijdens importeren van onroerend goed (locatie en gebouw) ',
|
||||
v_errormsg);
|
||||
END csun_update_onrgoed;
|
||||
END csun_update_project;
|
||||
/
|
||||
|
||||
|
||||
@@ -1730,12 +1510,7 @@ END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE csun_export_set_werkplek (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2
|
||||
)
|
||||
CREATE OR REPLACE PROCEDURE csun_export_set_werkplek (p_import_key IN NUMBER)
|
||||
AS
|
||||
BEGIN
|
||||
-- toevoegen gebouwen
|
||||
@@ -1813,7 +1588,7 @@ INSERT INTO prs_perslidwerkplek (prs_perslid_key, prs_perslidwerkplek_bezetting,
|
||||
AND aogk.alg_kenmerk_key = 1000
|
||||
AND aogk.alg_onrgoed_key = wpg.alg_locatie_key
|
||||
AND wpg.prs_werkplek_volgnr = 1
|
||||
AND UPPER (prs_afdeling_naam) LIKE UPPER (fac_usrdata_code) || '%'
|
||||
AND UPPER (prs_afdeling_naam) LIKE UPPER (fac_usrdata_omschr) || '%'
|
||||
AND fac_usrtab_key = 1
|
||||
AND EXISTS
|
||||
(SELECT gg.prs_perslid_key
|
||||
@@ -1934,7 +1709,7 @@ AS
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: csun.sql $', '$Revision$', 0); END;
|
||||
/
|
||||
BEGIN fac.registercustversion('CSUN', 9); END;
|
||||
BEGIN fac.registercustversion('CSUN', 10); END;
|
||||
/
|
||||
COMMIT;
|
||||
spool off
|
||||
|
||||
Reference in New Issue
Block a user