ASDL#38533 -- Problemen tijdens draaien van import
svn path=/Customer/trunk/; revision=31640
This commit is contained in:
190
ASDL/asdl.sql
190
ASDL/asdl.sql
@@ -1365,97 +1365,104 @@ IS
|
||||
v_count NUMBER;
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
BEGIN
|
||||
-- generic update
|
||||
prs.update_perslid (p_import_key, 'NR', NULL);
|
||||
|
||||
FOR rec IN c_del
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Niet gebruik maken van de standaard functie omdat we geen medewerkers
|
||||
-- hard willen verwijderen.
|
||||
-- prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
|
||||
-- Controleer of er ACTUELE verplichtingen zijn
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_v_verplichting_keys vp
|
||||
WHERE vp.prs_perslid_key = rec.prs_perslid_key;
|
||||
|
||||
IF v_count > 0
|
||||
THEN
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_naam =
|
||||
SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 60),
|
||||
prs_perslid_oslogin = NULL,
|
||||
prs_perslid_oslogin2 = NULL
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||||
AND prs_perslid_naam NOT LIKE 'INACTIEF:%';
|
||||
|
||||
IF rec.prs_perslid_naam_full NOT LIKE '%INACTIEF%'
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
FROM fac_imp_perslid;
|
||||
|
||||
IF v_count > 0 THEN
|
||||
|
||||
-- generic update
|
||||
prs.update_perslid (p_import_key, 'NR', NULL);
|
||||
|
||||
FOR rec IN c_del
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Niet gebruik maken van de standaard functie omdat we geen medewerkers
|
||||
-- hard willen verwijderen.
|
||||
-- prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
|
||||
-- Controleer of er ACTUELE verplichtingen zijn
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_v_verplichting_keys vp
|
||||
WHERE vp.prs_perslid_key = rec.prs_perslid_key;
|
||||
|
||||
IF v_count > 0
|
||||
THEN
|
||||
fac.trackaction ('PRSUPD', rec.prs_perslid_key, NULL, SYSDATE, 'Persoon als INACTIEF gemarkeerd of was al INACTIEF gemarkeerd.' );
|
||||
END IF;
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Persoon als INACTIEF gemarkeerd of was al INACTIEF gemarkeerd.',
|
||||
'Achternaam/persoonsnr: '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.prs_perslid_nr);
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_verwijder = SYSDATE
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Persoon ge<67>nactiveerd.',
|
||||
'Achternaam/persoonsnr: '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.prs_perslid_nr);
|
||||
fac.trackaction ('PRSDEL', rec.prs_perslid_key, NULL, SYSDATE, NULL );
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
-- Kennelijk heeft de persoon toch ernstige verplichtingen
|
||||
v_errorhint :=
|
||||
'Persoon heeft nog (max. '
|
||||
|| TO_CHAR (v_count)
|
||||
|| ') verplichtingen. Naam/persoonsnr: '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.prs_perslid_nr;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Inactiveren persoon is niet gelukt',
|
||||
v_errorhint);
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
UPDATE fac_imp_perslid i
|
||||
SET prs_kenmerk3 =
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_nr = i.prs_kenmerk1);
|
||||
|
||||
FOR rec IN c_flex
|
||||
LOOP
|
||||
BEGIN
|
||||
prs.upsertkenmerk (1061, rec.prs_perslid_key, rec.leid_key);
|
||||
prs.upsertkenmerk (1023, rec.prs_perslid_key, rec.geboorte);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
NULL; -- Jammer
|
||||
END;
|
||||
END LOOP;
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_naam =
|
||||
SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 60),
|
||||
prs_perslid_oslogin = NULL,
|
||||
prs_perslid_oslogin2 = NULL
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||||
AND prs_perslid_naam NOT LIKE 'INACTIEF:%';
|
||||
|
||||
IF rec.prs_perslid_naam_full NOT LIKE '%INACTIEF%'
|
||||
THEN
|
||||
fac.trackaction ('PRSUPD', rec.prs_perslid_key, NULL, SYSDATE, 'Persoon als INACTIEF gemarkeerd of was al INACTIEF gemarkeerd.' );
|
||||
END IF;
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Persoon als INACTIEF gemarkeerd of was al INACTIEF gemarkeerd.',
|
||||
'Achternaam/persoonsnr: '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.prs_perslid_nr);
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_verwijder = SYSDATE
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'I',
|
||||
'Persoon ge<67>nactiveerd.',
|
||||
'Achternaam/persoonsnr: '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.prs_perslid_nr);
|
||||
fac.trackaction ('PRSDEL', rec.prs_perslid_key, NULL, SYSDATE, NULL );
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
-- Kennelijk heeft de persoon toch ernstige verplichtingen
|
||||
v_errorhint :=
|
||||
'Persoon heeft nog (max. '
|
||||
|| TO_CHAR (v_count)
|
||||
|| ') verplichtingen. Naam/persoonsnr: '
|
||||
|| rec.prs_perslid_naam_full
|
||||
|| '/'
|
||||
|| rec.prs_perslid_nr;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Inactiveren persoon is niet gelukt',
|
||||
v_errorhint);
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
UPDATE fac_imp_perslid i
|
||||
SET prs_kenmerk3 =
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_nr = i.prs_kenmerk1);
|
||||
|
||||
FOR rec IN c_flex
|
||||
LOOP
|
||||
BEGIN
|
||||
prs.upsertkenmerk (1061, rec.prs_perslid_key, rec.leid_key);
|
||||
prs.upsertkenmerk (1023, rec.prs_perslid_key, rec.geboorte);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
NULL; -- Jammer
|
||||
END;
|
||||
END LOOP;
|
||||
END IF;
|
||||
END asdl_update_perslid;
|
||||
/
|
||||
|
||||
@@ -2114,9 +2121,6 @@ END;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE ON
|
||||
BEGIN fac.registercustversion('&custid', '&custvers'); END;
|
||||
/
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user