PROR#84843 --Import AFAS_PERSONEN eindigt met Ongeldig getal
svn path=/Customer/trunk/; revision=65805
This commit is contained in:
@@ -496,7 +496,7 @@ AS
|
||||
AND pk.prs_kenmerk_upper='AFAS ACCOUNT'
|
||||
AND kl.prs_kenmerk_key = pk.prs_kenmerk_key
|
||||
AND kl.prs_link_key=p.prs_perslid_key
|
||||
AND kl.prs_kenmerklink_waarde=1
|
||||
AND kl.prs_kenmerklink_waarde='1'
|
||||
AND p.prs_perslid_nr NOT IN (SELECT prs_perslid_nr
|
||||
FROM fac_imp_perslid);
|
||||
|
||||
@@ -522,32 +522,74 @@ AS
|
||||
FROM fac_gebruikersgroep f
|
||||
WHERE f.prs_perslid_key=p.prs_perslid_key);
|
||||
|
||||
v_date DATE;
|
||||
v_defaultgroep NUMBER:=1;
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
v_aanduiding VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
v_date DATE;
|
||||
v_defaultgroep NUMBER:=1;
|
||||
v_count NUMBER;
|
||||
v_aanwezig NUMBER;
|
||||
BEGIN
|
||||
prs.update_perslid (p_import_key, 'NR', 'A', 1);
|
||||
|
||||
-- Hebben we wel een gevuld bestand binnen gekregen
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM fac_imp_perslid;
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_aanwezig
|
||||
FROM prs_perslid p, prs_kenmerklink kl, prs_kenmerk pk
|
||||
WHERE p.prs_perslid_verwijder IS NULL
|
||||
AND pk.prs_kenmerk_upper='AFAS ACCOUNT'
|
||||
AND kl.prs_kenmerk_key = pk.prs_kenmerk_key
|
||||
AND kl.prs_link_key=p.prs_perslid_key
|
||||
AND kl.prs_kenmerklink_waarde='1';
|
||||
|
||||
|
||||
IF (v_count/v_aanwezig) > 0.85 -- we gaan uit van minimaal 85% aanwezig in import file
|
||||
THEN
|
||||
v_errormsg := 'Fout bij update van personen.';
|
||||
prs.update_perslid (p_import_key, 'NR', 'A', 1);
|
||||
|
||||
|
||||
v_errormsg := 'Fout bij verwijderen van personen.';
|
||||
FOR rec IN p_del
|
||||
LOOP
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
v_errormsg := 'Fout bij mandateren van personen.';
|
||||
FOR rec_man IN p_mandaat
|
||||
LOOP
|
||||
pror.mandateer_prs(rec_man.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
v_errormsg := 'Fout bij toevoegen personen aan autorisatiegroep.';
|
||||
FOR rec2 IN p_autgroep
|
||||
LOOP
|
||||
INSERT INTO fac_gebruikersgroep(FAC_GROEP_KEY, prs_perslid_key)
|
||||
VALUES(v_defaultgroep, rec2.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
FOR rec IN p_del
|
||||
LOOP
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
FOR rec_man IN p_mandaat
|
||||
LOOP
|
||||
pror.mandateer_prs(rec_man.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
FOR rec2 IN p_autgroep
|
||||
LOOP
|
||||
INSERT INTO fac_gebruikersgroep(FAC_GROEP_KEY, prs_perslid_key)
|
||||
VALUES(v_defaultgroep, rec2.prs_perslid_key);
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user