CSUN#25914 -- koppeling om locaties te importeren of aan te passen

svn path=/Customer/trunk/; revision=18658
This commit is contained in:
Arthur Egberink
2013-08-08 11:16:03 +00:00
parent bc358d34ff
commit 5d8a50203c

View File

@@ -807,7 +807,7 @@ AS
l.alg_locatie_adres, l.alg_locatie_adres,
l.alg_locatie_postcode, l.alg_locatie_postcode,
l.alg_locatie_plaats, l.alg_locatie_plaats,
(SELECT u.fac_usrdata_code (SELECT u.fac_usrdata_omschr
FROM fac_usrdata u, alg_onrgoedkenmerk ogk FROM fac_usrdata u, alg_onrgoedkenmerk ogk
WHERE alg_kenmerk_key = 1000 WHERE alg_kenmerk_key = 1000
AND ogk.alg_onrgoed_key = l.alg_locatie_key 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_project (p_import_key IN NUMBER)
CREATE OR REPLACE PROCEDURE csun_import_onrgoed (p_import_key IN NUMBER)
AS AS
c_fielddelimitor VARCHAR2 (1) := ';'; c_fielddelimitor VARCHAR2 (1) := ';';
v_newline VARCHAR2 (1000); -- Input line v_newline VARCHAR2 (1000); -- Input line
v_errormsg VARCHAR2 (1000); v_errormsg VARCHAR2 (1000);
v_error_hint VARCHAR2 (1000);
oracle_err_num NUMBER; oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200); oracle_err_mes VARCHAR2 (200);
header_is_valid NUMBER; header_is_valid NUMBER;
@@ -1032,22 +1032,15 @@ AS
v_error NUMBER (1); v_error NUMBER (1);
v_aanduiding VARCHAR2 (200); v_aanduiding VARCHAR2 (200);
-- De importvelden: -- De importvelden:
v_prjnr VARCHAR2 (10); v_accountcode VARCHAR2 (255); --
v_regio_omschrijving VARCHAR2 (255); -- 30 v_project VARCHAR2 (255); -- 8
v_regio_key NUMBER (10);
v_district_omschrijving VARCHAR2 (255); -- 30
v_district_key NUMBER (10);
v_locatie_code VARCHAR2 (255); -- 10 v_locatie_code VARCHAR2 (255); -- 10
v_locatie_omschrijving VARCHAR2 (255); -- 30 v_locatie_omschrijving VARCHAR2 (255); -- 30
v_locatie_adres VARCHAR2 (255); -- 35 v_locatie_adres VARCHAR2 (255); -- 35
v_locatie_postcode VARCHAR2 (255); -- 12 v_locatie_postcode VARCHAR2 (255); -- 12
v_locatie_plaats VARCHAR2 (255); -- 30 v_locatie_plaats VARCHAR2 (255); -- 30
v_client VARCHAR2 (255); --40 v_dm VARCHAR2 (255); -- 100
v_client_key NUMBER (10); v_bu VARCHAR2 (255);
v_bud VARCHAR2 (255); -- 100
v_bud_key NUMBER (10);
v_bb VARCHAR2 (255); -- 100
v_bb_key NUMBER (10);
v_kenmerk1 VARCHAR2 (255); v_kenmerk1 VARCHAR2 (255);
v_kenmerk2 VARCHAR2 (255); v_kenmerk2 VARCHAR2 (255);
v_kenmerk3 VARCHAR2 (255); v_kenmerk3 VARCHAR2 (255);
@@ -1062,11 +1055,12 @@ AS
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;
BEGIN BEGIN
v_error_hint := 'Verwijderen oude records';
-- Eerst opruiming -- Eerst opruiming
DELETE FROM imp_log DELETE FROM imp_log
WHERE fac_import_key = p_import_key; WHERE fac_import_key = p_import_key;
DELETE FROM fac_imp_onrgoed1; DELETE FROM csun_imp_project;
header_is_valid := 0; header_is_valid := 0;
v_count := 0; v_count := 0;
@@ -1075,332 +1069,73 @@ BEGIN
FOR rec1 IN c1 FOR rec1 IN c1
LOOP LOOP
BEGIN BEGIN
v_errormsg := 'Fout FETCH te importeren rij'; v_error_hint := 'Fout FETCH te importeren rij';
v_newline := rec1.fac_imp_file_line; 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_aanduiding := '';
v_error := 0; v_error := 0;
-- Lees alle veldwaarden -- Lees alle veldwaarden
fac.imp_getfield (v_newline, c_fielddelimitor, v_prjnr); fac.imp_getfield (v_newline, c_fielddelimitor, v_accountcode);
fac.imp_getfield (v_newline, c_fielddelimitor, v_regio_omschrijving); fac.imp_getfield (v_newline, c_fielddelimitor, v_project);
fac.imp_getfield (v_newline, fac.imp_getfield (v_newline, c_fielddelimitor, v_bu);
c_fielddelimitor, fac.imp_getfield (v_newline, c_fielddelimitor, v_dm);
v_district_omschrijving); fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_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_locatie_adres); 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_postcode);
fac.imp_getfield (v_newline, c_fielddelimitor, v_locatie_plaats); 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_locatie_code);
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_kenmerk1); 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_kenmerk2);
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk3); 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_kenmerk4);
fac.imp_getfield (v_newline, c_fielddelimitor, v_kenmerk5); 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_aanduiding :=
v_locatie_code || '|' || v_locatie_omschrijving || '| '; v_locatie_code || '|' || v_locatie_omschrijving || '| ';
IF (header_is_valid = 0) IF (header_is_valid = 0)
THEN THEN
IF UPPER (v_regio_omschrijving) = 'REGIOOMSCHRIJVING' IF UPPER (v_accountcode) = 'ACCOUNTCODE'
AND UPPER (v_locatie_postcode) = 'POSTCODE' AND UPPER (v_project) = 'PROJECT'
AND UPPER (v_bb) = 'BB' AND UPPER (v_bu) = 'BU'
AND UPPER (v_locatie_omschrijving) = 'OMSCHRIJVING'
AND UPPER (v_dm) = 'DM'
THEN THEN
header_is_valid := 1; header_is_valid := 1;
END IF; END IF;
ELSE 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 -- Insert geformatteerde import record
IF v_error = 0 IF v_error = 0
THEN THEN
v_errormsg := v_error_hint :=
'Fout bij toevoegen te impoteren locatie [' 'Fout bij toevoegen te impoteren locatie ['
|| v_locatie_code || v_locatie_code
|| ']'; || ']';
INSERT INTO csun_imp_onrgoed (alg_regio_omschrijving, INSERT INTO csun_imp_project (accountcode,
alg_regio_key, project,
alg_district_omschrijving, bu,
alg_district_key, dm,
alg_locatie_code, code,
alg_locatie_omschrijving, omschrijving,
alg_locatie_adres, adres,
alg_locatie_postcode, postcode,
alg_locatie_plaats, woonplaats,
client,
client_key,
bud,
bud_key,
bb,
bb_key,
kenmerk1, kenmerk1,
kenmerk2, kenmerk2,
kenmerk3, kenmerk3,
kenmerk4, kenmerk4,
kenmerk5) kenmerk5)
VALUES (v_regio_omschrijving, VALUES (SUBSTR(TRIM(v_accountcode),1,14),
v_regio_key, SUBSTR(TRIM(v_project),1,14),
v_district_omschrijving, SUBSTR(TRIM(v_bu),1,14),
v_district_key, TO_NUMBER(TRIM(v_dm)),
v_locatie_code, SUBSTR(TRIM(v_locatie_code),1,10),
v_locatie_omschrijving, SUBSTR(TRIM(v_locatie_omschrijving),1,60),
v_locatie_adres, SUBSTR(TRIM(v_locatie_adres),1,35),
v_locatie_postcode, SUBSTR(TRIM(v_locatie_postcode),1,9),
v_locatie_plaats, SUBSTR(TRIM(v_locatie_plaats),1,35),
v_client,
v_client_key,
v_bud,
v_bud_key,
v_bb,
v_bb_key,
v_kenmerk1, v_kenmerk1,
v_kenmerk2, v_kenmerk2,
v_kenmerk3, v_kenmerk3,
@@ -1436,132 +1171,177 @@ EXCEPTION
fac.imp_writelog (p_import_key, fac.imp_writelog (p_import_key,
'E', 'E',
v_errormsg, v_errormsg,
''); v_error_hint);
END csun_import_onrgoed; 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 IS
v_errormsg VARCHAR2 (1000); v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000); v_error_hint VARCHAR2 (1000);
oracle_err_num NUMBER; oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200); oracle_err_mes VARCHAR2 (1000);
v_aanduiding VARCHAR2 (200); 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_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 distinct accountcode
FROM csun_imp_project;
CURSOR c_district (c_accountcode IN VARCHAR2)
IS IS
SELECT alg_regio_key, SELECT distinct dm FROM csun_imp_project
alg_district_key, WHERE accountcode = c_accountcode;
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;
CURSOR c (c_accountcode IN VARCHAR2, c_dm IN NUMBER)
CURSOR c
IS IS
SELECT * FROM csun_imp_onrgoed; 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 BEGIN
-- v_count_update := 0; -- v_count_update := 0;
-- v_count_tot := 0; -- v_count_tot := 0;
v_error_hint := 'Start met doorlopen accounts';
FOR rec IN c_dist FOR rec_a IN c_account
LOOP LOOP
BEGIN BEGIN
UPDATE alg_district v_error_hint := 'Ophalen data voor accountcode: ' || rec_a.accountcode;
SET alg_regio_key = rec.alg_regio_key SELECT fac_usrdata_key
WHERE alg_district_key = rec.alg_district_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 ( FOR rec_d IN c_district(rec_a.accountcode)
p_import_key, LOOP
'I', BEGIN
'District onder andere regio geplaatst[' v_error_hint := 'Ophalen data voor dm: ' || rec_d.dm;
|| rec.alg_district_omschrijving SELECT alg_onrgoed_key
|| '] naar regio: ' INTO v_district_key
|| rec.alg_regio_omschrijving, FROM prs_kenmerklink kl,
''); alg_onrgoedkenmerk aog
END; WHERE prs_kenmerk_key = 1040 -- dm beheerderscode
END LOOP; 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;
FOR rec IN c(rec_a.accountcode, rec_d.dm)
LOOP
BEGIN
-- 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_onrgoedkenmerk
WHERE alg_kenmerk_key = 1040 -- projectnummer
AND alg_onrgoedkenmerk_waarde = rec.project;
EXCEPTION WHEN NO_DATA_FOUND
THEN
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;
END;
UPDATE alg_locatie
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;
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);
FOR rec IN c END;
LOOP END LOOP;
BEGIN
v_aanduiding := 'rec.alg_locatie_code';
v_errorhint := 'check of locatie al bestaat';
-- check of locatie al bestaat
BEGIN
SELECT alg_locatie_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
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)
RETURNING alg_locatie_key
INTO v_locatie_key;
EXCEPTION WHEN OTHERS THEN
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
fac.imp_writelog ( fac.imp_writelog (
p_import_key, p_import_key,
'I', 'E',
'Nieuwe locatie aangemaakt [' 'Import locaties afgebroken (' || rec_d.dm || '-' || rec_a.accountcode || '):' || v_errormsg,
|| rec.alg_locatie_code v_error_hint);
|| ']: ' END;
|| rec.alg_locatie_omschrijving, END LOOP;
'');
END; EXCEPTION WHEN OTHERS THEN
v_errorhint := 'pas locatiegegevens aan'; oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
UPDATE alg_locatie v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
SET alg_locatie_omschrijving = rec.alg_locatie_omschrijving, fac.imp_writelog (
alg_district_key = rec.alg_district_key, p_import_key,
alg_locatie_adres = rec.alg_locatie_adres, 'E',
alg_locatie_postcode = rec.alg_locatie_postcode, 'Import locaties afgebroken (' || rec_a.accountcode || '):' || v_errormsg,
alg_locatie_plaats = rec.alg_locatie_plaats v_error_hint);
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'),
'',
'');
END; END;
END LOOP; END LOOP;
csun_export_set_werkplek (p_import_key);
-- to do : locatie verwijderen.
COMMIT;
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS
THEN THEN
@@ -1572,7 +1352,7 @@ EXCEPTION
'E', 'E',
'Fout tijdens importeren van onroerend goed (locatie en gebouw) ', 'Fout tijdens importeren van onroerend goed (locatie en gebouw) ',
v_errormsg); v_errormsg);
END csun_update_onrgoed; END csun_update_project;
/ /
@@ -1730,12 +1510,7 @@ END;
/ /
CREATE OR REPLACE PROCEDURE csun_export_set_werkplek ( CREATE OR REPLACE PROCEDURE csun_export_set_werkplek (p_import_key IN NUMBER)
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2
)
AS AS
BEGIN BEGIN
-- toevoegen gebouwen -- 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_kenmerk_key = 1000
AND aogk.alg_onrgoed_key = wpg.alg_locatie_key AND aogk.alg_onrgoed_key = wpg.alg_locatie_key
AND wpg.prs_werkplek_volgnr = 1 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 fac_usrtab_key = 1
AND EXISTS AND EXISTS
(SELECT gg.prs_perslid_key (SELECT gg.prs_perslid_key
@@ -1934,7 +1709,7 @@ AS
BEGIN adm.systrackscript('$Workfile: csun.sql $', '$Revision$', 0); END; BEGIN adm.systrackscript('$Workfile: csun.sql $', '$Revision$', 0); END;
/ /
BEGIN fac.registercustversion('CSUN', 9); END; BEGIN fac.registercustversion('CSUN', 10); END;
/ /
COMMIT; COMMIT;
spool off spool off