PCHX#61916 -- Bedrijven zonder technisch adres ook synchroniseren en logging toevoegen
svn path=/Customer/trunk/; revision=46345
This commit is contained in:
103
PCHX/pchx.sql
103
PCHX/pchx.sql
@@ -3832,7 +3832,8 @@ AS
|
||||
prs_bedrijfadres_locksecret,
|
||||
prs_bedrijfadres_lockexpire
|
||||
FROM pchx_imp_bedrijf_gegevens
|
||||
WHERE prs_bedrijf_key = c_bedrijf_key;
|
||||
WHERE prs_bedrijf_key = c_bedrijf_key
|
||||
AND prs_bedrijfadres_type IS NOT NULL;
|
||||
|
||||
|
||||
v_leverancier_nr prs_bedrijf.prs_leverancier_nr%TYPE;
|
||||
@@ -4163,50 +4164,69 @@ BEGIN
|
||||
FOR rec IN c_det(rec1.prs_bedrijf_key)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Zoek contactpersoon';
|
||||
SELECT prs_contactpersoon_key
|
||||
INTO v_contactpersoon_key
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_bedrijf_key = rec1.prs_bedrijf_key
|
||||
AND prs_contactpersoon_naam = rec.prs_contactpersoon_naam
|
||||
AND COALESCE(prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(rec.prs_contactpersoon_voornaam, 'Onbekend');
|
||||
BEGIN
|
||||
v_errorhint := 'Zoek contactpersoon';
|
||||
SELECT prs_contactpersoon_key
|
||||
INTO v_contactpersoon_key
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_bedrijf_key = rec1.prs_bedrijf_key
|
||||
AND prs_contactpersoon_naam = rec.prs_contactpersoon_naam
|
||||
AND COALESCE(prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(rec.prs_contactpersoon_voornaam, 'Onbekend');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errorhint := 'Voeg contactpersoon toe';
|
||||
INSERT INTO prs_contactpersoon (prs_contactpersoon_naam, prs_contactpersoon_voornaam, prs_bedrijf_key)
|
||||
VALUES (rec.prs_contactpersoon_naam, rec.prs_contactpersoon_voornaam, rec.prs_bedrijf_key)
|
||||
RETURNING prs_contactpersoon_key
|
||||
INTO v_contactpersoon_key;
|
||||
END;
|
||||
|
||||
v_errorhint := 'Pas contactpersoon aan';
|
||||
UPDATE prs_contactpersoon
|
||||
SET prs_contactpersoon_tussenv = rec.prs_contactpersoon_tussenv,
|
||||
prs_contactpersoon_voorletters = rec.prs_contactpersoon_voorletters,
|
||||
prs_contactpersoon_aanhef = rec.prs_contactpersoon_aanhef,
|
||||
prs_contactpersoon_titel = rec.prs_contactpersoon_titel,
|
||||
prs_contactpersoon_telefoon_1 = rec.prs_contactpersoon_telefoon_1,
|
||||
prs_contactpersoon_telefoon_2 = rec.prs_contactpersoon_telefoon_2,
|
||||
prs_contactpersoon_fax = rec.prs_contactpersoon_fax,
|
||||
prs_contactpersoon_email = rec.prs_contactpersoon_email,
|
||||
prs_contactpersoon_functie = rec.prs_contactpersoon_functie,
|
||||
prs_contactpersoon_opmerking = rec.prs_contactpersoon_opmerking
|
||||
WHERE prs_contactpersoon_key = v_contactpersoon_key;
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errorhint := 'Voeg contactpersoon toe';
|
||||
INSERT INTO prs_contactpersoon (prs_contactpersoon_naam, prs_contactpersoon_voornaam, prs_bedrijf_key)
|
||||
VALUES (rec.prs_contactpersoon_naam, rec.prs_contactpersoon_voornaam, rec.prs_bedrijf_key)
|
||||
RETURNING prs_contactpersoon_key
|
||||
INTO v_contactpersoon_key;
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
rec.prs_bedrijf_naam || ' - ' || rec.prs_contactpersoon_naam || ', ' || rec.prs_contactpersoon_voornaam || ' - ' ||
|
||||
SUBSTR (v_errormsg, 1, 1000),
|
||||
v_errorhint);
|
||||
END;
|
||||
|
||||
v_errorhint := 'Pas contactpersoon aan';
|
||||
UPDATE prs_contactpersoon
|
||||
SET prs_contactpersoon_tussenv = rec.prs_contactpersoon_tussenv,
|
||||
prs_contactpersoon_voorletters = rec.prs_contactpersoon_voorletters,
|
||||
prs_contactpersoon_aanhef = rec.prs_contactpersoon_aanhef,
|
||||
prs_contactpersoon_titel = rec.prs_contactpersoon_titel,
|
||||
prs_contactpersoon_telefoon_1 = rec.prs_contactpersoon_telefoon_1,
|
||||
prs_contactpersoon_telefoon_2 = rec.prs_contactpersoon_telefoon_2,
|
||||
prs_contactpersoon_fax = rec.prs_contactpersoon_fax,
|
||||
prs_contactpersoon_email = rec.prs_contactpersoon_email,
|
||||
prs_contactpersoon_functie = rec.prs_contactpersoon_functie,
|
||||
prs_contactpersoon_opmerking = rec.prs_contactpersoon_opmerking
|
||||
WHERE prs_contactpersoon_key = v_contactpersoon_key;
|
||||
END LOOP;
|
||||
|
||||
END LOOP;
|
||||
|
||||
v_errorhint := 'Verwijder contactpersonen';
|
||||
UPDATE prs_contactpersoon cp
|
||||
SET cp.prs_contactpersoon_verwijder = SYSDATE
|
||||
WHERE cp.prs_bedrijf_key = rec1.prs_bedrijf_key
|
||||
AND NOT EXISTS (SELECT prs_contactpersoon_key
|
||||
FROM pchx_imp_contactpersoon cp2
|
||||
WHERE cp2.prs_bedrijf_key = cp.prs_bedrijf_key
|
||||
AND cp2.prs_contactpersoon_naam = cp.prs_contactpersoon_naam
|
||||
AND COALESCE(cp2.prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(cp.prs_contactpersoon_voornaam, 'Onbekend'));
|
||||
END;
|
||||
END LOOP;
|
||||
v_errorhint := 'Verwijder contactpersonen';
|
||||
UPDATE prs_contactpersoon cp
|
||||
SET cp.prs_contactpersoon_verwijder = SYSDATE
|
||||
WHERE cp.prs_bedrijf_key = rec1.prs_bedrijf_key
|
||||
AND NOT EXISTS (SELECT prs_contactpersoon_key
|
||||
FROM pchx_imp_contactpersoon cp2
|
||||
WHERE cp2.prs_bedrijf_key = cp.prs_bedrijf_key
|
||||
AND cp2.prs_contactpersoon_naam = cp.prs_contactpersoon_naam
|
||||
AND COALESCE(cp2.prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(cp.prs_contactpersoon_voornaam, 'Onbekend'));
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -4226,7 +4246,6 @@ END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user