Merge DB19 patches
svn path=/Customer/trunk/; revision=20052
This commit is contained in:
205
CSUN/CSUN.sql
205
CSUN/CSUN.sql
@@ -401,7 +401,21 @@ BEGIN
|
||||
AND mm.prs_perslid_key_voor = sender;
|
||||
-- DBMS_OUTPUT.PUT_LINE('mld_stdmelding_key: ' || TO_CHAR(stdmelding));
|
||||
|
||||
IF (stdmelding IS NOT NULL) THEN -- Bestaande melding
|
||||
BEGIN
|
||||
SELECT mld_melding_behandelaar_key
|
||||
INTO behandelaar_key
|
||||
FROM mld_melding m, prs_perslid p
|
||||
WHERE mld_melding_key = mldkey
|
||||
AND mld_melding_behandelaar_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL;
|
||||
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
behandelaar_key := NULL;
|
||||
END;
|
||||
|
||||
IF (stdmelding IS NOT NULL) AND behandelaar_key IS NOT NULL THEN -- Bestaande melding en behandelaar is bekend.
|
||||
INSERT INTO mld_melding_note (mld_melding_key,
|
||||
mld_melding_note_omschrijving,
|
||||
prs_perslid_key,
|
||||
@@ -422,18 +436,7 @@ BEGIN
|
||||
-- DBMS_OUTPUT.PUT_LINE('Notitie toegevoegd.');
|
||||
|
||||
-- Notificatie naar behandelaar
|
||||
BEGIN
|
||||
SELECT mld_melding_behandelaar_key
|
||||
INTO behandelaar_key
|
||||
FROM mld_melding m
|
||||
WHERE mld_melding_key = mldkey;
|
||||
|
||||
fac.putnotificationsrtprio(null, behandelaar_key, 'MLDMAI', mldkey, 'Melding ' || mldkey || ' is door de klant aangepast.', 2, null, null, null, 2, null);
|
||||
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
DBMS_OUTPUT.PUT_LINE('Geen behandelaar gevonden.');
|
||||
END;
|
||||
fac.putnotificationsrtprio(null, behandelaar_key, 'MLDMAI', mldkey, 'Melding ' || mldkey || ' is door de klant aangepast.', 2, null, null, null, 2, null);
|
||||
|
||||
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet
|
||||
BEGIN
|
||||
@@ -586,8 +589,8 @@ EXCEPTION
|
||||
|
||||
fac.writelog ('PROCESSEMAIL',
|
||||
'E',
|
||||
'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')',
|
||||
errormsg || ' afzender:' || pfrom);
|
||||
'Mail kon niet ingelezen worden afzender:' || pfrom || '[' || errormsg || ']',
|
||||
'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')');
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1280,7 +1283,7 @@ IS
|
||||
|
||||
RETURN v_waarde;
|
||||
|
||||
EXCEPTION WHEN OTHERS
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
@@ -1312,77 +1315,109 @@ BEGIN
|
||||
LOOP
|
||||
BEGIN
|
||||
v_error_hint := 'Ophalen data voor dm: ' || rec_d.dm || ' Naam:' || rec_d.achternaam;
|
||||
SELECT alg_onrgoed_key
|
||||
INTO v_district_key
|
||||
FROM prs_perslid p,
|
||||
alg_onrgoedkenmerk aog,
|
||||
alg_district d
|
||||
WHERE p.prs_perslid_naam = rec_d.achternaam
|
||||
AND p.prs_perslid_voorletters = rec_d.voorletters
|
||||
AND COALESCE(p.prs_perslid_tussenvoegsel, '.') = COALESCE(rec_d.tussenvoegsels, '.')
|
||||
AND alg_kenmerk_key = 1021 -- key van districtmanager
|
||||
AND prs_perslid_key = fac.safe_to_number(alg_onrgoedkenmerk_waarde)
|
||||
AND aog.alg_onrgoed_key = d.alg_district_key
|
||||
AND d.alg_district_verwijder IS NULL
|
||||
AND aog.alg_onrgoedkenmerk_verwijder IS NULL;
|
||||
|
||||
BEGIN
|
||||
SELECT alg_onrgoed_key
|
||||
INTO v_district_key
|
||||
FROM prs_perslid p,
|
||||
alg_onrgoedkenmerk aog,
|
||||
alg_district d
|
||||
WHERE p.prs_perslid_naam = rec_d.achternaam
|
||||
AND p.prs_perslid_voorletters = rec_d.voorletters
|
||||
AND COALESCE(p.prs_perslid_tussenvoegsel, '.') = COALESCE(rec_d.tussenvoegsels, '.')
|
||||
AND alg_kenmerk_key = 1021 -- key van districtmanager
|
||||
AND prs_perslid_key = fac.safe_to_number(alg_onrgoedkenmerk_waarde)
|
||||
AND aog.alg_onrgoed_key = d.alg_district_key
|
||||
AND d.alg_district_verwijder IS NULL
|
||||
AND aog.alg_onrgoedkenmerk_verwijder IS NULL;
|
||||
|
||||
FOR rec IN c(rec_a.accountcode, rec_d.dm)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_locatie_key := NULL;
|
||||
-- Get BUD reference
|
||||
v_error_hint := 'Bepalen bb referentie: ' || rec.dm;
|
||||
v_bud_key := get_alg_kenmerk (1060, v_district_key);
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
'Import locaties afgebroken, distrinctmanager niet gevonden ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || ')',
|
||||
v_error_hint);
|
||||
END;
|
||||
|
||||
-- Get BB reference
|
||||
v_error_hint := 'Bepalen bb referentie: ' || rec.dm;
|
||||
v_bb_key := get_alg_kenmerk (1020, v_district_key);
|
||||
|
||||
IF v_district_key IS NOT NULL THEN
|
||||
FOR rec IN c(rec_a.accountcode, rec_d.dm)
|
||||
LOOP
|
||||
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, 'P' || 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);
|
||||
v_locatie_key := NULL;
|
||||
-- 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);
|
||||
|
||||
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;
|
||||
BEGIN
|
||||
v_error_hint := 'Kijk of de locatie al bestaat: ' || rec.project;
|
||||
SELECT alg_onrgoed_key
|
||||
INTO v_locatie_key
|
||||
FROM alg_onrgoedkenmerk, alg_locatie
|
||||
WHERE alg_kenmerk_key = 1040 -- projectnummer
|
||||
AND alg_onrgoedkenmerk_waarde = rec.project
|
||||
AND alg_onrgoed_key = alg_locatie_key
|
||||
AND alg_locatie_verwijder IS NULL;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
-- Kijk of de locatieomschrijving al voorkomt. Als dat het geval is mogen we de
|
||||
-- nieuwe locatie niet aanmaken.
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
FROM alg_locatie
|
||||
WHERE alg_locatie_upper = UPPER(SUBSTR(rec.omschrijving,1,50))
|
||||
AND alg_locatie_verwijder IS NULL;
|
||||
|
||||
IF v_count = 0 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, 'P' || v_locatie_code, SUBSTR(rec.omschrijving,1,50))
|
||||
RETURNING alg_locatie_key
|
||||
INTO v_locatie_key;
|
||||
ELSE
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
'Import locaties afgebroken, locatie omschrijving bestaat al ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || ' Projectnr: ' || rec.project || ')',
|
||||
v_error_hint);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
IF v_locatie_key IS NOT NULL THEN
|
||||
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);
|
||||
END IF;
|
||||
|
||||
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 ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || ' Projectnr: ' || rec.project || '):' || v_errormsg,
|
||||
v_error_hint);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||||
@@ -1390,7 +1425,7 @@ BEGIN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
'Import locaties afgebroken (' || rec_d.dm || '-' || rec_a.accountcode || '):' || v_errormsg,
|
||||
'Import locaties afgebroken ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || '):' || v_errormsg,
|
||||
v_error_hint);
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -1573,7 +1608,7 @@ BEGIN
|
||||
|| v_correction);
|
||||
RETURN 9 * ( (5 * v_week) + v_mod - v_holidays) + v_correction;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
|
||||
Reference in New Issue
Block a user