ARBO#56645 -- Aanpassen personenkoppeling ivm uitbreiding richting Human Capital Care
svn path=/Customer/trunk/; revision=45569
This commit is contained in:
273
ARBO/arbo.sql
273
ARBO/arbo.sql
@@ -1514,7 +1514,7 @@ AS
|
||||
v_errorhint VARCHAR2 (200);
|
||||
BEGIN
|
||||
|
||||
v_seq_of_columns := '0;0;0;0;0;0;5;11;0;10;'
|
||||
v_seq_of_columns := '0;0;0;0;0;0;7;11;0;10;'
|
||||
-- v_alg_locatie_code 1
|
||||
-- v_alg_gebouw_code 2
|
||||
-- v_alg_verdieping_volgnr 3
|
||||
@@ -1593,21 +1593,20 @@ BEGIN
|
||||
'TD');
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = prs_afdeling_naam || REPLACE(prs_kenmerk7, '-');
|
||||
SET prs_afdeling_naam = prs_kenmerk7;
|
||||
|
||||
UPDATE fac_imp_perslid i
|
||||
SET prs_perslid_email = COALESCE(i.prs_perslid_email, (SELECT prs_perslid_email
|
||||
FROM prs_perslid p
|
||||
WHERE i.prs_perslid_nr = p.prs_perslid_nr
|
||||
AND p.prs_perslid_verwijder IS NULL));
|
||||
AND p.prs_perslid_verwijder IS NULL))
|
||||
WHERE i.prs_perslid_email IS NULL;
|
||||
|
||||
UPDATE fac_imp_perslid i
|
||||
SET (prs_perslid_mobiel, prs_perslid_telefoonnr ) = (SELECT prs_perslid_mobiel, prs_perslid_telefoonnr
|
||||
SET (prs_perslid_mobiel, prs_perslid_telefoonnr ) = (SELECT MAX(prs_perslid_mobiel), MAX(prs_perslid_telefoonnr)
|
||||
FROM prs_perslid p
|
||||
WHERE i.prs_perslid_nr = p.prs_perslid_nr
|
||||
AND p.prs_perslid_verwijder IS NULL);
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1617,17 +1616,17 @@ IS
|
||||
CURSOR c IS
|
||||
SELECT DISTINCT prs_kenmerk1 bedrijf_naam,
|
||||
prs_kenmerk2 afdeling_oms1,
|
||||
prs_kenmerk4 afdeling_oms2,
|
||||
prs_kenmerk5 afdeling_oms3,
|
||||
prs_kenmerk6 kostenplaats_id,
|
||||
prs_kenmerk9 afdeling_naam,
|
||||
prs_kenmerk7 kostenplaats_nr
|
||||
FROM fac_imp_perslid
|
||||
prs_kenmerk7 kostenplaats_nr,
|
||||
prs_kenmerk8 kostenplaats_oms,
|
||||
(SELECT count(*)
|
||||
FROM fac_imp_perslid i2
|
||||
WHERE i2.prs_kenmerk2 = i.prs_kenmerk2
|
||||
AND i2.prs_kenmerk7 = i.prs_kenmerk7) aantal
|
||||
FROM fac_imp_perslid i
|
||||
ORDER BY prs_kenmerk1,
|
||||
prs_kenmerk2,
|
||||
prs_kenmerk4,
|
||||
prs_kenmerk5,
|
||||
prs_kenmerk6;
|
||||
prs_kenmerk7,
|
||||
aantal desc,
|
||||
prs_kenmerk2;
|
||||
|
||||
CURSOR c_upd IS
|
||||
SELECT i.prs_perslid_key, prs_kenmerk10 alt_email
|
||||
@@ -1650,9 +1649,8 @@ IS
|
||||
v_bedrijf_key NUMBER (10);
|
||||
v_afdeling_key1 NUMBER (10);
|
||||
v_afdeling_key2 NUMBER (10);
|
||||
v_afdeling_key3 NUMBER (10);
|
||||
v_afdeling_key4 NUMBER (10);
|
||||
v_kostenplaats_key NUMBER (10);
|
||||
v_kpn_nr_prev VARCHAR2 (20);
|
||||
|
||||
v_aanduiding VARCHAR2 (100);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
@@ -1663,6 +1661,7 @@ IS
|
||||
BEGIN
|
||||
v_aanduiding := '';
|
||||
v_errorhint := 'Toevoegen kostenplaatsen';
|
||||
v_kpn_nr_prev := 'QueQuLeQue';
|
||||
|
||||
INSERT INTO prs_kostenplaats (prs_kostenplaats_nr,
|
||||
prs_kostenplaats_omschrijving,
|
||||
@@ -1707,182 +1706,86 @@ BEGIN
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
v_aanduiding := rec.afdeling_naam;
|
||||
|
||||
BEGIN
|
||||
v_errorhint := 'Zoek bedrijf';
|
||||
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_bedrijf_key
|
||||
FROM prs_bedrijf b
|
||||
WHERE rec.bedrijf_naam = b.prs_bedrijf_naam
|
||||
AND prs_bedrijf_intern = 1
|
||||
AND prs_bedrijf_verwijder IS NULL;
|
||||
|
||||
v_errorhint := 'Zoek kostenplaats';
|
||||
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_kostenplaats_key
|
||||
FROM prs_kostenplaats k
|
||||
WHERE rec.kostenplaats_nr = k.prs_kostenplaats_nr
|
||||
AND k.prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
v_errorhint := 'Zoek afdeling1';
|
||||
|
||||
v_aanduiding := rec.bedrijf_naam || '-' || rec.afdeling_oms1 || '-' || rec.kostenplaats_nr;
|
||||
IF v_kpn_nr_prev <> rec.kostenplaats_nr
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key1
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_omschrijving = rec.afdeling_oms1
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 1
|
||||
AND a.prs_bedrijf_key = v_bedrijf_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||||
v_errorhint := 'Zoek bedrijf';
|
||||
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_bedrijf_key
|
||||
FROM prs_bedrijf b
|
||||
WHERE rec.bedrijf_naam = b.prs_bedrijf_naam
|
||||
AND prs_bedrijf_intern = 1
|
||||
AND prs_bedrijf_verwijder IS NULL;
|
||||
|
||||
v_errorhint := 'Zoek kostenplaats';
|
||||
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_kostenplaats_key
|
||||
FROM prs_kostenplaats k
|
||||
WHERE rec.kostenplaats_nr = k.prs_kostenplaats_nr
|
||||
AND k.prs_kostenplaats_verwijder IS NULL;
|
||||
|
||||
v_errorhint := 'Zoek afdeling1';
|
||||
|
||||
BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key1
|
||||
FROM DUAL;
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_omschrijving = rec.afdeling_oms1
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 1
|
||||
AND a.prs_bedrijf_key = v_bedrijf_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||||
INTO v_afdeling_key1
|
||||
FROM DUAL;
|
||||
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_bedrijf_key)
|
||||
VALUES (v_afdeling_key1,
|
||||
v_afdeling_key1,
|
||||
rec.afdeling_oms1,
|
||||
v_bedrijf_key);
|
||||
END;
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_bedrijf_key)
|
||||
VALUES (v_afdeling_key1,
|
||||
v_afdeling_key1,
|
||||
rec.afdeling_oms1,
|
||||
v_bedrijf_key);
|
||||
END;
|
||||
|
||||
|
||||
v_errorhint := 'Zoek afdeling2';
|
||||
v_errorhint := 'Zoek afdeling2';
|
||||
|
||||
BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key2
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_omschrijving = rec.afdeling_oms2
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 2
|
||||
AND a.prs_afdeling_parentkey = v_afdeling_key1;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||||
BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key2
|
||||
FROM DUAL;
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_upper = UPPER(rec.kostenplaats_nr)
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 2
|
||||
AND a.prs_afdeling_parentkey = v_afdeling_key1;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||||
INTO v_afdeling_key2
|
||||
FROM DUAL;
|
||||
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_afdeling_parentkey)
|
||||
VALUES (v_afdeling_key2,
|
||||
v_afdeling_key2,
|
||||
rec.afdeling_oms2,
|
||||
v_afdeling_key1);
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_afdeling_parentkey,
|
||||
prs_kostenplaats_key)
|
||||
VALUES (v_afdeling_key2,
|
||||
UPPER(rec.kostenplaats_nr),
|
||||
rec.kostenplaats_oms,
|
||||
v_afdeling_key1,
|
||||
v_kostenplaats_key);
|
||||
END;
|
||||
END;
|
||||
|
||||
v_errorhint := 'Zoek afdeling3';
|
||||
|
||||
BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key3
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_upper = rec.afdeling_naam
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 3
|
||||
AND a.prs_afdeling_parentkey = v_afdeling_key2;
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||||
INTO v_afdeling_key3
|
||||
FROM DUAL;
|
||||
|
||||
v_errorhint :=
|
||||
'Voeg afdeling3 toe '
|
||||
|| v_afdeling_key3
|
||||
|| '-'
|
||||
|| rec.afdeling_naam
|
||||
|| '-'
|
||||
|| rec.afdeling_oms3
|
||||
|| '-'
|
||||
|| v_afdeling_key2;
|
||||
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_afdeling_parentkey)
|
||||
VALUES (v_afdeling_key3,
|
||||
rec.afdeling_naam,
|
||||
rec.afdeling_oms3,
|
||||
v_afdeling_key2);
|
||||
END;
|
||||
|
||||
v_errorhint := 'Zoek afdeling4';
|
||||
|
||||
BEGIN
|
||||
SELECT prs_afdeling_key
|
||||
INTO v_afdeling_key4
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_upper =
|
||||
rec.afdeling_naam || REPLACE(rec.kostenplaats_nr,'-')
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 4
|
||||
AND a.prs_afdeling_parentkey = v_afdeling_key3;
|
||||
|
||||
UPDATE prs_afdeling a
|
||||
SET a.prs_afdeling_omschrijving = rec.afdeling_oms3,
|
||||
a.prs_kostenplaats_key = v_kostenplaats_key
|
||||
WHERE a.prs_afdeling_key = v_afdeling_key4;
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
SELECT prs_s_prs_afdeling_key.NEXTVAL
|
||||
INTO v_afdeling_key4
|
||||
FROM DUAL;
|
||||
|
||||
v_errorhint :=
|
||||
'Voeg afdeling4 toe '
|
||||
|| v_afdeling_key4
|
||||
|| '-'
|
||||
|| rec.afdeling_naam || REPLACE(rec.kostenplaats_nr,'-')
|
||||
|| '-'
|
||||
|| rec.afdeling_oms3
|
||||
|| '-'
|
||||
|| v_afdeling_key3;
|
||||
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_kostenplaats_key,
|
||||
prs_afdeling_parentkey)
|
||||
VALUES (
|
||||
v_afdeling_key4,
|
||||
rec.afdeling_naam
|
||||
|| REPLACE(rec.kostenplaats_nr,'-'),
|
||||
rec.afdeling_oms3,
|
||||
v_kostenplaats_key,
|
||||
v_afdeling_key3);
|
||||
END;
|
||||
EXCEPTION
|
||||
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',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
v_kpn_nr_prev := rec.kostenplaats_nr;
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
SELECT COUNT(*)
|
||||
|
||||
Reference in New Issue
Block a user