HMOD#58494 -- Implementatie Humanitas Onder Dak - PRS-import
svn path=/Customer/trunk/; revision=45469
This commit is contained in:
754
HMOD/hmod.sql
754
HMOD/hmod.sql
@@ -16,170 +16,6 @@ SET DEFINE OFF
|
|||||||
|
|
||||||
------ payload begin ------
|
------ payload begin ------
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE hmod_import_perslid (p_import_key IN NUMBER)
|
|
||||||
AS
|
|
||||||
v_errormsg VARCHAR2 (1000) := '-';
|
|
||||||
v_errorhint VARCHAR2 (1000) := '-';
|
|
||||||
oracle_err_num NUMBER;
|
|
||||||
oracle_err_mes VARCHAR2 (200);
|
|
||||||
BEGIN
|
|
||||||
v_errorhint := 'Generieke import';
|
|
||||||
|
|
||||||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
|
||||||
prs.import_perslid (
|
|
||||||
p_import_key,
|
|
||||||
'1;2;3;4;5;6;7;8;9;11;10;20;0;0;0;13;14;15;0;17;16;18;19;12;0;0;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40',
|
|
||||||
'Locatiecode;Gebouwcode;Bouwlaagvolgnummer;Ruimtenummer;Werkplekvolgnummer;Omschrijving;Afdelingscode;Achternaam;Tussenvoegsel;Voorletters;Roepnaam;Geslacht;Telefoonnummer;Mobiel;Email;Functie;Personeelsnummer;Loginnaam;Password;Meisjesnaam;Brief aanhef;Formatieplaats;Basiskoffer;Functieomschrijving;token;mob;hit;lap+sim;lapt;Toegangsniveau;Facilitor;ADP;Absentiemanager;Regas;Checks;Accountview;Elvy;HodNet;Proactive%');
|
|
||||||
COMMIT;
|
|
||||||
|
|
||||||
UPDATE fac_imp_perslid
|
|
||||||
SET prs_perslid_geslacht =
|
|
||||||
CASE
|
|
||||||
WHEN prs_perslid_titel = 'Man' THEN 1
|
|
||||||
WHEN prs_perslid_titel = 'Vrouw' THEN 0
|
|
||||||
ELSE NULL
|
|
||||||
END,
|
|
||||||
prs_perslid_partner_naam = -- Meisjesnaam via veld Partnernaam omdat er teveel kenmerkvelden zijn... Leeg maken als geen vrouw
|
|
||||||
CASE
|
|
||||||
WHEN prs_perslid_titel = 'Man' THEN ''
|
|
||||||
ELSE prs_perslid_partner_naam
|
|
||||||
END,
|
|
||||||
prs_kenmerk20 = -- Afwijkend = keuzelijst met waarde Ja(21) en Nee(22)
|
|
||||||
CASE
|
|
||||||
WHEN prs_kenmerk20 = 'j' OR prs_kenmerk20 = 'J' OR prs_kenmerk20 = 'ja' OR prs_kenmerk20 = 'Ja' THEN '21'
|
|
||||||
ELSE '22'
|
|
||||||
END
|
|
||||||
;
|
|
||||||
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS
|
|
||||||
THEN
|
|
||||||
oracle_err_num := SQLCODE;
|
|
||||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
||||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
|
||||||
fac.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint, 'Inleesproces personen afgebroken!');
|
|
||||||
END hmod_import_perslid;
|
|
||||||
/
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE hmod_update_perslid (p_import_key IN NUMBER)
|
|
||||||
IS
|
|
||||||
CURSOR c_flex
|
|
||||||
IS
|
|
||||||
-- Er zijn in de hmod-import 21 kenmerken terwijl we er in fac_imp_perslid 20 ter beschikking hebben. Het eerste kenmerk 'meisjesnaam' staat daarom op prs_perslid_partner_naam
|
|
||||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, i.prs_perslid_partner_naam,i.prs_kenmerk1, i.prs_kenmerk2, i.prs_kenmerk3,i.prs_kenmerk4,i.prs_kenmerk5,i.prs_kenmerk6,i.prs_kenmerk7,i.prs_kenmerk8,i.prs_kenmerk9,i.prs_kenmerk10,i.prs_kenmerk11,i.prs_kenmerk12,i.prs_kenmerk13,i.prs_kenmerk14,i.prs_kenmerk15,i.prs_kenmerk16,i.prs_kenmerk17,i.prs_kenmerk18,i.prs_kenmerk19,i.prs_kenmerk20
|
|
||||||
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
|
||||||
WHERE p.prs_perslid_nr = i.prs_perslid_nr
|
|
||||||
ORDER BY 2;
|
|
||||||
|
|
||||||
-- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid!
|
|
||||||
-- Dubbele perslid_nr? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
|
|
||||||
-- Voor HMOD: <NOG VASTSTELLEN! HOE/WAT !!!>
|
|
||||||
---- Indien er clienten in Faciltior zitten, deze sowieso uitsluiten van verwijderactie
|
|
||||||
---- Handmatig aangemaakte persoon 'Beumer applicatiebeheer' en 'Claudia ten Cate' + ......?
|
|
||||||
---- Omdat er via HRM-workflow wordt gewerkt, beste om dit via kenmerkveld te laten lopen met CHECK ADP-import
|
|
||||||
CURSOR c_del
|
|
||||||
IS
|
|
||||||
SELECT p.prs_perslid_key, p.prs_perslid_nr
|
|
||||||
FROM prs_v_aanwezigperslid p
|
|
||||||
WHERE p.prs_perslid_nr IS NOT NULL
|
|
||||||
AND NOT EXISTS
|
|
||||||
(SELECT 1
|
|
||||||
FROM fac_imp_perslid i
|
|
||||||
WHERE UPPER (i.prs_perslid_nr) = UPPER (p.prs_perslid_nr))
|
|
||||||
ORDER BY 2;
|
|
||||||
|
|
||||||
v_aanduiding VARCHAR2 (200);
|
|
||||||
v_errorhint VARCHAR2 (1000) := '';
|
|
||||||
v_errormsg VARCHAR2 (1000);
|
|
||||||
oracle_err_num NUMBER;
|
|
||||||
oracle_err_mes VARCHAR2 (200);
|
|
||||||
v_count NUMBER;
|
|
||||||
v_count_tot NUMBER;
|
|
||||||
v_count_new NUMBER;
|
|
||||||
BEGIN
|
|
||||||
-- Generieke update.
|
|
||||||
v_errorhint:='Fout in generieke update';
|
|
||||||
|
|
||||||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
|
||||||
|
|
||||||
IF v_count < 1
|
|
||||||
THEN
|
|
||||||
fac.imp_writelog (p_import_key, 'E', 'Het aantal te importeren personen is te klein (' || TO_CHAR (v_count) || ')', 'Zie specificatie');
|
|
||||||
RETURN;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- Generieke update.
|
|
||||||
prs.update_perslid (p_import_key, 'NR', 'NULL');
|
|
||||||
|
|
||||||
-- Update flexvelden.
|
|
||||||
FOR rec IN c_flex
|
|
||||||
LOOP
|
|
||||||
v_errorhint:='Fout bijwerken meisjes';
|
|
||||||
PRS.upsertkenmerk (1023, rec.prs_perslid_key, rec.prs_perslid_partner_naam); -- Meisjesnaam
|
|
||||||
v_errorhint:='Fout bijwerken briefaanhef';
|
|
||||||
PRS.upsertkenmerk (1024, rec.prs_perslid_key, rec.prs_kenmerk1); -- Brief aanhef
|
|
||||||
v_errorhint:='Fout bijwerken formatieplaats';
|
|
||||||
PRS.upsertkenmerk (1025, rec.prs_perslid_key, rec.prs_kenmerk2); -- Formatieplaats
|
|
||||||
v_errorhint:='Fout bijwerken Basiskoffer';
|
|
||||||
PRS.upsertkenmerk (1028, rec.prs_perslid_key, rec.prs_kenmerk3); -- Basiskoffer
|
|
||||||
v_errorhint:='Fout bijwerken Functieomschrijving';
|
|
||||||
PRS.upsertkenmerk (1040, rec.prs_perslid_key, rec.prs_kenmerk4); -- Functieomschrijving
|
|
||||||
v_errorhint:='Fout bijwerken Token';
|
|
||||||
PRS.upsertkenmerk (1068, rec.prs_perslid_key, rec.prs_kenmerk5); -- Token, 5 , 1068
|
|
||||||
v_errorhint:='Fout bijwerken Mobiel';
|
|
||||||
PRS.upsertkenmerk (1067, rec.prs_perslid_key, rec.prs_kenmerk6); -- Mobiel 6 , 1067
|
|
||||||
v_errorhint:='Fout bijwerken Hit';
|
|
||||||
PRS.upsertkenmerk (1069, rec.prs_perslid_key, rec.prs_kenmerk7); -- Hit 7 , 1069
|
|
||||||
v_errorhint:='Fout bijwerken Lap+Sim';
|
|
||||||
PRS.upsertkenmerk (1063, rec.prs_perslid_key, rec.prs_kenmerk8); -- Lap+Sim 8 , 1063
|
|
||||||
v_errorhint:='Fout bijwerken Lapt';
|
|
||||||
PRS.upsertkenmerk (1065, rec.prs_perslid_key, rec.prs_kenmerk9); -- Lapt 9, 1065
|
|
||||||
v_errorhint:='Fout bijwerken Toegangsniveau';
|
|
||||||
PRS.upsertkenmerk (1061, rec.prs_perslid_key, rec.prs_kenmerk10); -- Toegangsniveau 10, 1061
|
|
||||||
v_errorhint:='Fout bijwerken Facilitor';
|
|
||||||
PRS.upsertkenmerk (1072, rec.prs_perslid_key, rec.prs_kenmerk11); -- Facilitor 11 , 1072
|
|
||||||
v_errorhint:='Fout bijwerken ADP';
|
|
||||||
PRS.upsertkenmerk (1073, rec.prs_perslid_key, rec.prs_kenmerk12); -- ADP 12 , 1073
|
|
||||||
v_errorhint:='Fout bijwerken Absentiemanager';
|
|
||||||
PRS.upsertkenmerk (1074, rec.prs_perslid_key, rec.prs_kenmerk13); -- Absentiemanager 13, 1074
|
|
||||||
v_errorhint:='Fout bijwerken Regas';
|
|
||||||
PRS.upsertkenmerk (1075, rec.prs_perslid_key, rec.prs_kenmerk14); -- Regas 14, 1075
|
|
||||||
v_errorhint:='Fout bijwerken Checks';
|
|
||||||
PRS.upsertkenmerk (1076, rec.prs_perslid_key, rec.prs_kenmerk15); -- Checks 15, 1076
|
|
||||||
v_errorhint:='Fout bijwerken Accountview';
|
|
||||||
PRS.upsertkenmerk (1077, rec.prs_perslid_key, rec.prs_kenmerk16); -- Accountview 16, 1077
|
|
||||||
v_errorhint:='Fout bijwerken Elvy';
|
|
||||||
PRS.upsertkenmerk (1078, rec.prs_perslid_key, rec.prs_kenmerk17); -- Elvy 17, 1078
|
|
||||||
v_errorhint:='Fout bijwerken HodNet';
|
|
||||||
PRS.upsertkenmerk (1079, rec.prs_perslid_key, rec.prs_kenmerk18); -- HodNet 18, 1079
|
|
||||||
v_errorhint:='Fout bijwerken Proactive';
|
|
||||||
PRS.upsertkenmerk (1080, rec.prs_perslid_key, rec.prs_kenmerk19); -- Proactive 19, 1080
|
|
||||||
v_errorhint:='Fout bijwerken Afwijkend';
|
|
||||||
PRS.upsertkenmerk (1081, rec.prs_perslid_key, rec.prs_kenmerk20); -- Afwijkend 20, 1081
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
-- Verwijder personen die niet meer in de import voorkomen.
|
|
||||||
FOR rec IN c_del
|
|
||||||
LOOP
|
|
||||||
-- prs.delete_perslid (p_import_key, rec.prs_perslid_key); -- Deze niet draaien voor HMOD ivm de workflow HRM die men in Facilitor uitvoert...?
|
|
||||||
-- wel vullen van een kenmerkveld ADP-import 1082
|
|
||||||
v_errorhint:='Fout bijwerken Check ADP-import';
|
|
||||||
PRS.upsertkenmerk (1082, rec.prs_perslid_key, 'Let op! Niet in ADP-import - ' || sysdate); -- Niet in import
|
|
||||||
|
|
||||||
END LOOP;
|
|
||||||
COMMIT;
|
|
||||||
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS
|
|
||||||
THEN
|
|
||||||
oracle_err_num := SQLCODE;
|
|
||||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
||||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
|
||||||
fac.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint, 'Importproces personen afgebroken!');
|
|
||||||
|
|
||||||
END hmod_update_perslid;
|
|
||||||
/
|
|
||||||
|
|
||||||
CREATE OR REPLACE PROCEDURE hmod_import_koffer (p_import_key IN NUMBER)
|
CREATE OR REPLACE PROCEDURE hmod_import_koffer (p_import_key IN NUMBER)
|
||||||
AS
|
AS
|
||||||
@@ -432,6 +268,7 @@ CREATE OR REPLACE VIEW hmod_v_koffersysteem
|
|||||||
MOB,
|
MOB,
|
||||||
HIT,
|
HIT,
|
||||||
LAP_EN_SIM,
|
LAP_EN_SIM,
|
||||||
|
LAPT,
|
||||||
TNC,
|
TNC,
|
||||||
TNC_OMSCHRIJVING,
|
TNC_OMSCHRIJVING,
|
||||||
FACILITOR,
|
FACILITOR,
|
||||||
@@ -455,6 +292,7 @@ AS
|
|||||||
mob,
|
mob,
|
||||||
hit,
|
hit,
|
||||||
lap_en_sim,
|
lap_en_sim,
|
||||||
|
lapt,
|
||||||
tnc,
|
tnc,
|
||||||
tnc_omschrijving,
|
tnc_omschrijving,
|
||||||
facilitor,
|
facilitor,
|
||||||
@@ -713,6 +551,594 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
|
|
||||||
|
-- Rapport van de import-personen ADP.
|
||||||
|
---- Zowel te gebruiken bij LEZEN als bij VERWERKEN
|
||||||
|
---- Deze view wordt tevens gebruikt als cursor voor de import-proceduren
|
||||||
|
CREATE OR REPLACE VIEW hmod_v_prsimport
|
||||||
|
(
|
||||||
|
PRS_PERSLID_KEY,
|
||||||
|
PRS_PERSLID_NR,
|
||||||
|
PRS_PERSLID_NAAM,
|
||||||
|
PRS_DATUM_UITDIENST,
|
||||||
|
PRS_STATUS,
|
||||||
|
FORMATIEPLAATS_HUIDIG,
|
||||||
|
FORMATIEPLAATS_CSV,
|
||||||
|
TOKEN,
|
||||||
|
MOB,
|
||||||
|
HIT,
|
||||||
|
LAP_EN_SIM,
|
||||||
|
LAPT,
|
||||||
|
TNC,
|
||||||
|
TNC_OMSCHRIJVING,
|
||||||
|
FACILITOR,
|
||||||
|
ADP,
|
||||||
|
ABSENTIEMANAGER,
|
||||||
|
REGAS,
|
||||||
|
CHECKS,
|
||||||
|
ACCOUNTVIEW,
|
||||||
|
ELVY,
|
||||||
|
HODNET,
|
||||||
|
PROACTIVE,
|
||||||
|
OPMERKING_KOFFERSYSTEEM,
|
||||||
|
DATUM_GELEZEN,
|
||||||
|
DATUM_VERWERKT
|
||||||
|
)
|
||||||
|
AS -- Bestaande personen die ook weer in deze PRS-import zitten
|
||||||
|
SELECT basis.prs_perslid_key,
|
||||||
|
basis.prs_perslid_nr,
|
||||||
|
basis.prs_perslid_naam,
|
||||||
|
basis.DatumUitDienst,
|
||||||
|
CASE
|
||||||
|
WHEN d.datum_verwerkt is not null THEN i.prs_perslid_partner_naam -- Deze vul ik tijdens de import met de prs_status
|
||||||
|
WHEN d.datum_verwerkt is null and k.code is null THEN 'Basis - Fout'
|
||||||
|
ELSE basis.koffersysteem_status
|
||||||
|
END as prs_status,
|
||||||
|
COALESCE(basis.formatieplaats_huidig,'nvt'),
|
||||||
|
COALESCE (k.code, i.prs_kenmerk3 || ' LET OP! formatieplaats uit CSV staat niet in actueel koffersysteem') AS formatieplaats_CSV,
|
||||||
|
k.token,
|
||||||
|
k.mob,
|
||||||
|
k.hit,
|
||||||
|
k.lap_en_sim,
|
||||||
|
k.lapt,
|
||||||
|
k.tnc,
|
||||||
|
k.tnc_omschrijving,
|
||||||
|
k.facilitor,
|
||||||
|
k.adp,
|
||||||
|
k.absentiemanager,
|
||||||
|
k.regas,
|
||||||
|
k.checks,
|
||||||
|
k.accountview,
|
||||||
|
k.elvy,
|
||||||
|
k.hodnet,
|
||||||
|
k.proactive,
|
||||||
|
k.opmerking,
|
||||||
|
d.datum_gelezen,
|
||||||
|
d.datum_verwerkt
|
||||||
|
FROM (SELECT p.prs_perslid_key,
|
||||||
|
p.prs_perslid_nr,
|
||||||
|
p.prs_perslid_naam,
|
||||||
|
a.prs_bedrijf_key,
|
||||||
|
b.prs_bedrijf_naam,
|
||||||
|
(SELECT prs_kenmerklink_waarde
|
||||||
|
FROM prs_kenmerklink
|
||||||
|
WHERE prs_link_key = p.prs_perslid_key
|
||||||
|
AND prs_kenmerk_key = 1025
|
||||||
|
AND prs_kenmerklink_niveau = 'P'
|
||||||
|
AND prs_kenmerklink_verwijder IS NULL)
|
||||||
|
AS formatieplaats_huidig,
|
||||||
|
(SELECT prs_kenmerklink_waarde
|
||||||
|
FROM prs_kenmerklink
|
||||||
|
WHERE prs_link_key = p.prs_perslid_key
|
||||||
|
AND prs_kenmerk_key = 1100
|
||||||
|
AND prs_kenmerklink_niveau = 'P'
|
||||||
|
AND prs_kenmerklink_verwijder IS NULL)
|
||||||
|
AS DatumUitDienst,
|
||||||
|
(SELECT kd.fac_usrdata_omschr
|
||||||
|
FROM prs_kenmerklink k, fac_usrdata kd
|
||||||
|
WHERE k.prs_link_key = p.prs_perslid_key
|
||||||
|
AND k.prs_kenmerk_key = 1081 -- Kenmerkveld Status
|
||||||
|
AND k.prs_kenmerklink_niveau = 'P'
|
||||||
|
AND k.prs_kenmerklink_verwijder IS NULL
|
||||||
|
AND k.prs_kenmerklink_waarde = kd.fac_usrdata_key
|
||||||
|
AND kd.fac_usrtab_key = 82) as Koffersysteem_status
|
||||||
|
FROM prs_perslid p,
|
||||||
|
prs_v_afdeling a,
|
||||||
|
prs_bedrijf b
|
||||||
|
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||||
|
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||||
|
AND p.prs_perslid_verwijder IS NULL) basis,
|
||||||
|
fac_imp_perslid i,
|
||||||
|
hmod_imp_koffersysteem k,
|
||||||
|
(SELECT i.fac_import_key,
|
||||||
|
MAX (f.fac_import_datum_gelezen) AS datum_gelezen,
|
||||||
|
MAX (f.fac_import_datum_verwerkt) AS datum_verwerkt
|
||||||
|
FROM fac_import f, fac_imp_perslid i
|
||||||
|
WHERE f.fac_import_key = i.fac_import_key AND f.fac_import_app_key = 41
|
||||||
|
GROUP BY i.fac_import_key,
|
||||||
|
f.fac_import_datum_gelezen,
|
||||||
|
f.fac_import_datum_verwerkt) d
|
||||||
|
WHERE basis.prs_perslid_nr = i.prs_perslid_nr
|
||||||
|
AND i.prs_kenmerk3 = k.code (+)
|
||||||
|
AND basis.prs_bedrijf_key = 41 -- Alleen voor Humanitas onder Dak mensen
|
||||||
|
UNION ALL -- NIEUWE PERSONEN die nog niet in BEDRIJF HUMANITAS zitten en die dus bij import toegevoegd gaan worden en met juiste koffersysteem gevuld moet worden...
|
||||||
|
---- Nieuwe personen zitten bij INLEZEN aan deze kant (omdat ze nog geen prs_perslid_key hebben). Bij verwerken hebben ze dit wel en dan zitten de NIEUWE personen in bovenstaande union..
|
||||||
|
SELECT -1 AS prs_perslid_key,
|
||||||
|
i.prs_perslid_nr,
|
||||||
|
i.prs_perslid_naam,
|
||||||
|
'' as DatumUitDienst,
|
||||||
|
CASE
|
||||||
|
WHEN k.code is null THEN 'Nieuw - Fout'
|
||||||
|
ELSE 'Nieuw'
|
||||||
|
END as prs_status,
|
||||||
|
'nvt' AS formatieplaats_huidig,
|
||||||
|
COALESCE (k.code, i.prs_kenmerk3 || ' LET OP! formatieplaats uit CSV staat niet in actueel koffersysteem') AS formatieplaats_CSV,
|
||||||
|
k.token,
|
||||||
|
k.mob,
|
||||||
|
k.hit,
|
||||||
|
k.lap_en_sim,
|
||||||
|
k.lapt,
|
||||||
|
k.tnc,
|
||||||
|
k.tnc_omschrijving,
|
||||||
|
k.facilitor,
|
||||||
|
k.adp,
|
||||||
|
k.absentiemanager,
|
||||||
|
k.regas,
|
||||||
|
k.checks,
|
||||||
|
k.accountview,
|
||||||
|
k.elvy,
|
||||||
|
k.hodnet,
|
||||||
|
k.proactive,
|
||||||
|
k.opmerking,
|
||||||
|
d.datum_gelezen,
|
||||||
|
d.datum_verwerkt
|
||||||
|
FROM fac_imp_perslid i, hmod_imp_koffersysteem k,
|
||||||
|
(SELECT i.fac_import_key,
|
||||||
|
MAX (f.fac_import_datum_gelezen) AS datum_gelezen,
|
||||||
|
MAX (f.fac_import_datum_verwerkt) AS datum_verwerkt
|
||||||
|
FROM fac_import f, fac_imp_perslid i
|
||||||
|
WHERE f.fac_import_key = i.fac_import_key AND f.fac_import_app_key = 41
|
||||||
|
GROUP BY i.fac_import_key,
|
||||||
|
f.fac_import_datum_gelezen,
|
||||||
|
f.fac_import_datum_verwerkt) d
|
||||||
|
WHERE i.prs_kenmerk3 = k.code(+)
|
||||||
|
AND i.fac_import_key = d.fac_import_key
|
||||||
|
AND UPPER(i.prs_perslid_nr) NOT IN
|
||||||
|
(SELECT UPPER(p.prs_perslid_nr)
|
||||||
|
FROM prs_perslid p,
|
||||||
|
prs_bedrijf b,
|
||||||
|
prs_v_afdeling a
|
||||||
|
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||||
|
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||||
|
AND p.prs_perslid_verwijder IS NULL
|
||||||
|
AND b.prs_bedrijf_key = 41 -- Humanitas onder Dak
|
||||||
|
)
|
||||||
|
UNION ALL -- Alle HUMANITAS medewerkers die wel in Facilitor staan, maar niet in CSV-import zitten - Indien nodig handmatig te verwijderen
|
||||||
|
SELECT basis.prs_perslid_key,
|
||||||
|
basis.prs_perslid_nr,
|
||||||
|
basis.prs_perslid_naam,
|
||||||
|
basis.DatumUitDienst,
|
||||||
|
'Verwijderen' AS prs_status,
|
||||||
|
basis.formatieplaats_huidig,
|
||||||
|
'nvt' AS formatieplaats_CSV,
|
||||||
|
k.token,
|
||||||
|
k.mob,
|
||||||
|
k.hit,
|
||||||
|
k.lap_en_sim,
|
||||||
|
k.lapt,
|
||||||
|
k.tnc,
|
||||||
|
k.tnc_omschrijving,
|
||||||
|
k.facilitor,
|
||||||
|
k.adp,
|
||||||
|
k.absentiemanager,
|
||||||
|
k.regas,
|
||||||
|
k.checks,
|
||||||
|
k.accountview,
|
||||||
|
k.elvy,
|
||||||
|
k.hodnet,
|
||||||
|
k.proactive,
|
||||||
|
k.opmerking,
|
||||||
|
d.datum_gelezen,
|
||||||
|
d.datum_verwerkt
|
||||||
|
FROM (SELECT p.prs_perslid_key,
|
||||||
|
p.prs_perslid_nr,
|
||||||
|
p.prs_perslid_naam,
|
||||||
|
a.prs_bedrijf_key,
|
||||||
|
b.prs_bedrijf_naam,
|
||||||
|
(SELECT prs_kenmerklink_waarde
|
||||||
|
FROM prs_kenmerklink
|
||||||
|
WHERE prs_link_key = p.prs_perslid_key
|
||||||
|
AND prs_kenmerk_key = 1025
|
||||||
|
AND prs_kenmerklink_niveau = 'P'
|
||||||
|
AND prs_kenmerklink_verwijder IS NULL)
|
||||||
|
AS formatieplaats_huidig,
|
||||||
|
(SELECT prs_kenmerklink_waarde
|
||||||
|
FROM prs_kenmerklink
|
||||||
|
WHERE prs_link_key = p.prs_perslid_key
|
||||||
|
AND prs_kenmerk_key = 1100
|
||||||
|
AND prs_kenmerklink_niveau = 'P'
|
||||||
|
AND prs_kenmerklink_verwijder IS NULL)
|
||||||
|
AS DatumUitDienst,
|
||||||
|
(SELECT kd.fac_usrdata_omschr
|
||||||
|
FROM prs_kenmerklink k, fac_usrdata kd
|
||||||
|
WHERE k.prs_link_key = p.prs_perslid_key
|
||||||
|
AND k.prs_kenmerk_key = 1081 -- Kenmerkveld Status
|
||||||
|
AND k.prs_kenmerklink_niveau = 'P'
|
||||||
|
AND k.prs_kenmerklink_verwijder IS NULL
|
||||||
|
AND k.prs_kenmerklink_waarde = kd.fac_usrdata_key
|
||||||
|
AND kd.fac_usrtab_key = 82) as Koffersysteem_status
|
||||||
|
FROM prs_perslid p,
|
||||||
|
prs_v_afdeling a,
|
||||||
|
prs_bedrijf b
|
||||||
|
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||||
|
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||||
|
AND b.prs_bedrijf_key = 41
|
||||||
|
AND p.prs_perslid_verwijder IS NULL) basis,
|
||||||
|
hmod_imp_koffersysteem k,
|
||||||
|
( SELECT i.fac_import_key,
|
||||||
|
MAX (f.fac_import_datum_gelezen) AS datum_gelezen,
|
||||||
|
MAX (f.fac_import_datum_verwerkt) AS datum_verwerkt
|
||||||
|
FROM fac_import f, fac_imp_perslid i
|
||||||
|
WHERE f.fac_import_key = i.fac_import_key
|
||||||
|
AND f.fac_import_app_key = 41
|
||||||
|
GROUP BY i.fac_import_key,
|
||||||
|
f.fac_import_datum_gelezen,
|
||||||
|
f.fac_import_datum_verwerkt) d
|
||||||
|
WHERE basis.formatieplaats_huidig = k.code(+)
|
||||||
|
AND basis.prs_perslid_nr NOT IN (SELECT i.prs_perslid_nr
|
||||||
|
FROM fac_imp_perslid i) ;
|
||||||
|
|
||||||
|
CREATE OR REPLACE PROCEDURE hmod_import_perslid (p_import_key IN NUMBER)
|
||||||
|
AS
|
||||||
|
v_errormsg VARCHAR2 (1000) := '-';
|
||||||
|
v_errorhint VARCHAR2 (1000) := '-';
|
||||||
|
oracle_err_num NUMBER;
|
||||||
|
oracle_err_mes VARCHAR2 (200);
|
||||||
|
v_aanduiding VARCHAR2 (1000);
|
||||||
|
v_count NUMBER;
|
||||||
|
v_count_leeg NUMBER;
|
||||||
|
v_count_fout NUMBER;
|
||||||
|
v_count_nieuw NUMBER;
|
||||||
|
v_count_verwijder NUMBER;
|
||||||
|
|
||||||
|
CURSOR c -- Alle medewerkers HUMANITAS die in aangeleverde ADP-personen-bestand zitten
|
||||||
|
IS
|
||||||
|
SELECT prs_perslid_key,
|
||||||
|
prs_perslid_nr,
|
||||||
|
prs_status,
|
||||||
|
formatieplaats_huidig,
|
||||||
|
token,
|
||||||
|
mob,
|
||||||
|
hit,
|
||||||
|
lap_en_sim,
|
||||||
|
lapt,
|
||||||
|
tnc,
|
||||||
|
tnc_omschrijving,
|
||||||
|
facilitor,
|
||||||
|
adp,
|
||||||
|
absentiemanager,
|
||||||
|
regas,
|
||||||
|
checks,
|
||||||
|
accountview,
|
||||||
|
elvy,
|
||||||
|
hodnet,
|
||||||
|
proactive
|
||||||
|
FROM
|
||||||
|
hmod_v_prsimport WHERE instr(prs_status,'Verwijderen') = 0 and prs_status is not null ;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
v_errorhint := 'Generieke import';
|
||||||
|
|
||||||
|
-- Standaard Import. De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
||||||
|
prs.import_perslid (
|
||||||
|
p_import_key,
|
||||||
|
'1;0;0;0;0;0;2;3;4;6;5;0;0;0;0;0;0;8;0;10;9;11;0;7;0;0;12;13;14;15;16;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0',
|
||||||
|
'Locatiecode;Afdelingscode;Achternaam;Tussenvoegsel;Voorletters;Roepnaam;Geslacht;Email;Functie;Personeelsnummer;Loginnaam;Meisjesnaam;Brief aanhef;Formatieplaats;Basiskoffer;Functieomschrijving%');
|
||||||
|
|
||||||
|
-- DEF: 'Locatiecode;Afdelingscode;Achternaam;Tussenvoegsel;Voorletters;Roepnaam;Geslacht;Email;Functie;Personeelsnummer;Loginnaam;Meisjesnaam;Brief aanhef;Formatieplaats;Basiskoffer;Functieomschrijving'
|
||||||
|
----- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
FOR rec IN c
|
||||||
|
LOOP
|
||||||
|
BEGIN
|
||||||
|
-- Koffersysteem-kenmerken vullen
|
||||||
|
IF rec.prs_status = 'Basis' or rec.prs_status = 'Nieuw' -- Dan alle koffersysteemvelden naar personenkaart wegschrijven...
|
||||||
|
THEN
|
||||||
|
|
||||||
|
UPDATE fac_imp_perslid p
|
||||||
|
SET prs_kenmerk6 = rec.token, -- Token
|
||||||
|
prs_kenmerk7 = rec.mob, -- Mobiel
|
||||||
|
prs_kenmerk8 = rec.hit, -- Hit
|
||||||
|
prs_kenmerk9 = rec.lap_en_sim, -- Lap+Sim
|
||||||
|
prs_kenmerk10 = rec.lapt, -- Lapt
|
||||||
|
prs_kenmerk11 = rec.tnc, -- Toegangsniveau
|
||||||
|
prs_kenmerk12 = rec.facilitor, -- Facilitor
|
||||||
|
prs_kenmerk13 = rec.adp, -- ADP
|
||||||
|
prs_kenmerk14 = rec.absentiemanager, -- Absentiemanager
|
||||||
|
prs_kenmerk15 = rec.regas, -- Regas
|
||||||
|
prs_kenmerk16 = rec.checks, -- Checks
|
||||||
|
prs_kenmerk17 = rec.accountview, -- Accountview
|
||||||
|
prs_kenmerk18 = rec.elvy, -- Elvy
|
||||||
|
prs_kenmerk19 = rec.hodnet, -- HodNet
|
||||||
|
prs_kenmerk20 = rec.proactive -- Proactive
|
||||||
|
WHERE p.prs_perslid_nr = rec.prs_perslid_nr;
|
||||||
|
END IF;
|
||||||
|
-- De prs_status (= status voor deze import) ook wegschrijven in fac_imp_perslid.
|
||||||
|
---- Om updateprocedure mee te sturen... + om rapport import prs goed mee te vullen..
|
||||||
|
---- Omdat er voor koffersysteem al 20 kenmerken gevuld worden, moet ik hier ander veld voor (mis)bruiken.
|
||||||
|
UPDATE fac_imp_perslid p
|
||||||
|
SET prs_perslid_partner_naam = rec.prs_status -- Partner_naam voor misbruiken. Wordt in standaard update niet gebruikt (omdat PRS_PERSLID_NAAMGEBRUIK_CODE op 0 meegaat..)
|
||||||
|
WHERE p.prs_perslid_nr = rec.prs_perslid_nr;
|
||||||
|
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
v_errormsg := 'Checks op importbestand ';
|
||||||
|
v_aanduiding := 'Raadpleeg rapport en pas csv-bestand aan en lees opnieuw in';
|
||||||
|
v_count := 0;
|
||||||
|
v_count_leeg:=0;
|
||||||
|
v_count_fout := 0;
|
||||||
|
v_count_nieuw := 0;
|
||||||
|
v_count_verwijder :=0;
|
||||||
|
|
||||||
|
-- Nog even alles tellen. NOG NAGAAN/AFSPREKEN wanneer de import moet doorlopen en wanneer men het eerst wil raadplegen..
|
||||||
|
SELECT count (*) INTO v_count FROM hmod_v_prsimport;
|
||||||
|
SELECT count (*) INTO v_count_nieuw FROM fac_imp_perslid WHERE INSTR (prs_perslid_partner_naam, 'Nieuw') > 0 ;
|
||||||
|
SELECT count (*) INTO v_count_fout FROM fac_imp_perslid WHERE INSTR (prs_perslid_partner_naam, 'Fout') > 0 ;
|
||||||
|
SELECT count (*) INTO v_count_verwijder FROM hmod_v_prsimport WHERE INSTR (prs_status, 'Verwijderen') > 0 ;
|
||||||
|
SELECT count (*) INTO v_count_leeg FROM fac_imp_perslid WHERE prs_perslid_partner_naam is null ;
|
||||||
|
|
||||||
|
IF v_count_leeg > 0 THEN
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key, 'W', 'Aantal personen zonder import-status is: ' || v_count_leeg,
|
||||||
|
'ACTIE: ' || v_aanduiding);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count_fout > 0 THEN
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key, 'W', 'Aantal personen zonder gekoppelde formatieplaats is: ' || v_count_fout,
|
||||||
|
'ACTIE: ' || v_aanduiding);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count_verwijder > 0 THEN
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key, 'W', 'Aantal te verwijderen personen is: '|| v_count_verwijder,
|
||||||
|
'Ter info');
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count_nieuw > 0 THEN
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key, 'W', 'Aantal nieuw in te lezen personen is: '|| v_count_nieuw,
|
||||||
|
'Ter info');
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count > 0 THEN
|
||||||
|
fac.imp_writelog (
|
||||||
|
p_import_key, 'W', 'Aantal totaal te muteren personen is: '|| v_count,
|
||||||
|
'Ter info');
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
END;
|
||||||
|
|
||||||
|
-- Nog wat updates uitvoeren op tussentabel...
|
||||||
|
UPDATE fac_imp_perslid
|
||||||
|
SET prs_perslid_geslacht =
|
||||||
|
CASE
|
||||||
|
WHEN prs_perslid_titel = 'Man' THEN 1
|
||||||
|
WHEN prs_perslid_titel = 'Vrouw' THEN 0
|
||||||
|
ELSE NULL
|
||||||
|
END,
|
||||||
|
prs_kenmerk1 = -- Meisjesnaam leegmaken indien man
|
||||||
|
CASE
|
||||||
|
WHEN prs_perslid_titel = 'Man' THEN ''
|
||||||
|
ELSE prs_kenmerk1
|
||||||
|
END
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Titel kan nu leeggemaakt worden..
|
||||||
|
UPDATE fac_imp_perslid
|
||||||
|
SET prs_perslid_titel = '' ;
|
||||||
|
|
||||||
|
-- Nog aanvullen gebouw-string... = standard format die dus zo gehandhaafd moet worden = G, 0 '_'
|
||||||
|
UPDATE fac_imp_perslid
|
||||||
|
SET alg_gebouw_code = 'G', alg_verdieping_volgnr = '0', alg_ruimte_nr = '_'
|
||||||
|
WHERE alg_locatie_code is not null ;
|
||||||
|
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
||||||
|
fac.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint, 'Inleesproces personen afgebroken!');
|
||||||
|
END hmod_import_perslid;
|
||||||
|
/
|
||||||
|
|
||||||
|
CREATE OR REPLACE PROCEDURE hmod_update_perslid (p_import_key IN NUMBER)
|
||||||
|
IS
|
||||||
|
|
||||||
|
CURSOR c_flex -- Alle records pakken. O.a. voor updaten van de algemene flex-kenmerkvelden
|
||||||
|
IS
|
||||||
|
SELECT p.prs_perslid_key, p.prs_perslid_nr, i.prs_perslid_partner_naam,i.prs_kenmerk1, i.prs_kenmerk2, i.prs_kenmerk3,i.prs_kenmerk4,i.prs_kenmerk5
|
||||||
|
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||||||
|
WHERE p.prs_perslid_nr = i.prs_perslid_nr
|
||||||
|
ORDER BY 2;
|
||||||
|
|
||||||
|
|
||||||
|
CURSOR c_flex_koffer -- De flexkenmerken koffersysteem - alleen updaten voor die gevuld zijn
|
||||||
|
IS
|
||||||
|
SELECT p.prs_perslid_key, p.prs_perslid_nr, i.prs_perslid_partner_naam, i.prs_kenmerk6,i.prs_kenmerk7,i.prs_kenmerk8,i.prs_kenmerk9,i.prs_kenmerk10,i.prs_kenmerk11,i.prs_kenmerk12,i.prs_kenmerk13,i.prs_kenmerk14,i.prs_kenmerk15,i.prs_kenmerk16,i.prs_kenmerk17,i.prs_kenmerk18,i.prs_kenmerk19,i.prs_kenmerk20
|
||||||
|
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||||||
|
WHERE p.prs_perslid_nr = i.prs_perslid_nr AND (i.prs_perslid_partner_naam = 'Basis' or i.prs_perslid_partner_naam = 'Nieuw')
|
||||||
|
ORDER BY 2;
|
||||||
|
|
||||||
|
-- CURSOR DELETE
|
||||||
|
----- Goed standaard voorbeeld van STANDAARD DELETE bij Vesteda (VEST)
|
||||||
|
---- Voor HMOD: <NOG VASTSTELLEN! HOE/WAT !!!>
|
||||||
|
---- Indien er clienten in Faciltior zitten, deze sowieso uitsluiten van verwijderactie
|
||||||
|
---- Handmatig aangemaakte persoon 'Beumer applicatiebeheer' en 'Claudia ten Cate' + ......?
|
||||||
|
---- Omdat er via HRM-workflow wordt gewerkt, beste om dit via kenmerkveld te laten lopen met CHECK ADP-import
|
||||||
|
CURSOR c_del -- Alle medewerkers HUMANITAS die niet in aangeleverde ADP-personen-bestand zitten
|
||||||
|
IS
|
||||||
|
SELECT prs_perslid_key,
|
||||||
|
prs_perslid_nr,
|
||||||
|
prs_status
|
||||||
|
FROM
|
||||||
|
hmod_v_prsimport WHERE prs_status = 'Verwijderen' ;
|
||||||
|
|
||||||
|
|
||||||
|
v_errorhint VARCHAR2 (1000) := '';
|
||||||
|
v_errormsg VARCHAR2 (1000);
|
||||||
|
oracle_err_num NUMBER;
|
||||||
|
oracle_err_mes VARCHAR2 (200);
|
||||||
|
v_aanduiding VARCHAR2 (1000);
|
||||||
|
v_count NUMBER;
|
||||||
|
v_count_leeg NUMBER;
|
||||||
|
v_count_fout NUMBER;
|
||||||
|
v_count_nieuw NUMBER;
|
||||||
|
v_count_verwijder NUMBER;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
-- Generieke update.
|
||||||
|
v_errorhint :='Fout in generieke update';
|
||||||
|
|
||||||
|
-- Nog even alles tellen. NOG NAGAAN/AFSPREKEN wanneer de import moet doorlopen en wanneer men het eerst wil raadplegen..
|
||||||
|
v_aanduiding := 'Import afgebroken (conform afspraak) - Zie rapport voor specificaties';
|
||||||
|
SELECT count (*) INTO v_count FROM hmod_v_prsimport;
|
||||||
|
SELECT count (*) INTO v_count_nieuw FROM fac_imp_perslid WHERE INSTR (prs_perslid_partner_naam, 'Nieuw') > 0 ;
|
||||||
|
SELECT count (*) INTO v_count_fout FROM fac_imp_perslid WHERE INSTR (prs_perslid_partner_naam, 'Fout') > 0 ;
|
||||||
|
SELECT count (*) INTO v_count_verwijder FROM hmod_v_prsimport WHERE INSTR (prs_status, 'Verwijderen') > 0 ;
|
||||||
|
SELECT count (*) INTO v_count_leeg FROM fac_imp_perslid WHERE prs_perslid_partner_naam is null ;
|
||||||
|
|
||||||
|
IF v_count < 10
|
||||||
|
THEN
|
||||||
|
fac.imp_writelog (p_import_key, 'E', 'Het aantal te importeren personen is te klein (' || TO_CHAR (v_count) || ')', v_aanduiding);
|
||||||
|
RETURN;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count_fout > 3
|
||||||
|
THEN
|
||||||
|
fac.imp_writelog (p_import_key, 'E', 'Er zitten in import medewerkers met prs_status FOUT (' || TO_CHAR (v_count_fout) || ')', v_aanduiding);
|
||||||
|
RETURN;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count_nieuw > 10 -- Bijvoorbeeld als alle personeelsnr's in csv zonder vooloopnull zijn... (NOG CHECKEN in KPN)
|
||||||
|
THEN
|
||||||
|
fac.imp_writelog (p_import_key, 'E', 'Er zijn teveel NIEUWE medewerkers in import, kan niet kloppen (' || TO_CHAR (v_count_nieuw) || ')', v_aanduiding);
|
||||||
|
RETURN;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF v_count_leeg > 0
|
||||||
|
THEN
|
||||||
|
fac.imp_writelog (p_import_key, 'E', 'Er zitten in import medewerkers ZONDER prs_status (' || TO_CHAR (v_count_leeg) || ')', v_aanduiding);
|
||||||
|
RETURN;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- Generieke update. NR - key personeelsnr - NULL is geen werkplekken verwijderd
|
||||||
|
prs.update_perslid (p_import_key, 'NR', 'NULL');
|
||||||
|
|
||||||
|
-- Update flexvelden algemeen
|
||||||
|
FOR rec IN c_flex
|
||||||
|
LOOP
|
||||||
|
BEGIN
|
||||||
|
v_aanduiding := 'Import prs - ' || TO_CHAR(sysdate, 'dd/mm/yyyy - hh:mi:ss') || ' - status: ' || rec.prs_perslid_partner_naam;
|
||||||
|
|
||||||
|
v_errorhint:='Fout bijwerken meisjes';
|
||||||
|
PRS.upsertkenmerk (1023, rec.prs_perslid_key, rec.prs_kenmerk1); -- Meisjesnaam
|
||||||
|
v_errorhint:='Fout bijwerken briefaanhef';
|
||||||
|
PRS.upsertkenmerk (1024, rec.prs_perslid_key, rec.prs_kenmerk2); -- Brief aanhef
|
||||||
|
v_errorhint:='Fout bijwerken formatieplaats';
|
||||||
|
PRS.upsertkenmerk (1025, rec.prs_perslid_key, rec.prs_kenmerk3); -- Formatieplaats
|
||||||
|
v_errorhint:='Fout bijwerken Basiskoffer';
|
||||||
|
PRS.upsertkenmerk (1028, rec.prs_perslid_key, rec.prs_kenmerk4); -- Basiskoffer
|
||||||
|
v_errorhint:='Fout bijwerken Functieomschrijving';
|
||||||
|
PRS.upsertkenmerk (1040, rec.prs_perslid_key, rec.prs_kenmerk5); -- Functieomschrijving
|
||||||
|
|
||||||
|
-- Nog paar kenmerkvelden bijwerken
|
||||||
|
DELETE FROM prs_kenmerklink
|
||||||
|
WHERE prs_link_key = rec.prs_perslid_key
|
||||||
|
AND prs_kenmerk_key = 1082 -- Veld om aan te geven dat persoon verwijderd kan worden. Voor de personen die meekomen in de fac_imp_perslid moet deze leeggemaakt worden...
|
||||||
|
AND prs_kenmerklink_niveau = 'P'
|
||||||
|
AND prs_kenmerklink_verwijder IS NULL;
|
||||||
|
|
||||||
|
IF rec.prs_perslid_partner_naam = 'Nieuw' -- Ook nog voor NIEUW - FOUT zetten ??
|
||||||
|
THEN
|
||||||
|
v_errorhint:='Nieuwe personen krijgen altijd basiskoffer mee';
|
||||||
|
PRS.upsertkenmerk (1081, rec.prs_perslid_key, '143'); -- Koffersysteem (status) = key 143
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
fac.trackaction ('PRSUPD', rec.prs_perslid_key, 3,sysdate, v_aanduiding) ;
|
||||||
|
|
||||||
|
END;
|
||||||
|
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
-- Update flexvelden Koffersysteem
|
||||||
|
FOR rec IN c_flex_koffer
|
||||||
|
LOOP
|
||||||
|
BEGIN
|
||||||
|
v_errorhint:='Fout bijwerken Token';
|
||||||
|
PRS.upsertkenmerk (1068, rec.prs_perslid_key, rec.prs_kenmerk6); -- Token, 6 , 1068
|
||||||
|
v_errorhint:='Fout bijwerken Mobiel';
|
||||||
|
PRS.upsertkenmerk (1067, rec.prs_perslid_key, rec.prs_kenmerk7); -- Mobiel 7 , 1067
|
||||||
|
v_errorhint:='Fout bijwerken Hit';
|
||||||
|
PRS.upsertkenmerk (1069, rec.prs_perslid_key, rec.prs_kenmerk8); -- Hit 8 , 1069
|
||||||
|
v_errorhint:='Fout bijwerken Lap+Sim';
|
||||||
|
PRS.upsertkenmerk (1063, rec.prs_perslid_key, rec.prs_kenmerk9); -- Lap+Sim 9 , 1063
|
||||||
|
v_errorhint:='Fout bijwerken Lapt';
|
||||||
|
PRS.upsertkenmerk (1065, rec.prs_perslid_key, rec.prs_kenmerk10); -- Lapt 10, 1065
|
||||||
|
v_errorhint:='Fout bijwerken Toegangsniveau';
|
||||||
|
PRS.upsertkenmerk (1061, rec.prs_perslid_key, rec.prs_kenmerk11); -- Toegangsniveau 11, 1061
|
||||||
|
v_errorhint:='Fout bijwerken Facilitor';
|
||||||
|
PRS.upsertkenmerk (1072, rec.prs_perslid_key, rec.prs_kenmerk12); -- Facilitor 12 , 1072
|
||||||
|
v_errorhint:='Fout bijwerken ADP';
|
||||||
|
PRS.upsertkenmerk (1073, rec.prs_perslid_key, rec.prs_kenmerk13); -- ADP 13 , 1073
|
||||||
|
v_errorhint:='Fout bijwerken Absentiemanager';
|
||||||
|
PRS.upsertkenmerk (1074, rec.prs_perslid_key, rec.prs_kenmerk14); -- Absentiemanager 14, 1074
|
||||||
|
v_errorhint:='Fout bijwerken Regas';
|
||||||
|
PRS.upsertkenmerk (1075, rec.prs_perslid_key, rec.prs_kenmerk15); -- Regas 15, 1075
|
||||||
|
v_errorhint:='Fout bijwerken Checks';
|
||||||
|
PRS.upsertkenmerk (1076, rec.prs_perslid_key, rec.prs_kenmerk16); -- Checks 15, 1076
|
||||||
|
v_errorhint:='Fout bijwerken Accountview';
|
||||||
|
PRS.upsertkenmerk (1077, rec.prs_perslid_key, rec.prs_kenmerk17); -- Accountview 17, 1077
|
||||||
|
v_errorhint:='Fout bijwerken Elvy';
|
||||||
|
PRS.upsertkenmerk (1078, rec.prs_perslid_key, rec.prs_kenmerk18); -- Elvy 18, 1078
|
||||||
|
v_errorhint:='Fout bijwerken HodNet';
|
||||||
|
PRS.upsertkenmerk (1079, rec.prs_perslid_key, rec.prs_kenmerk19); -- HodNet 19, 1079
|
||||||
|
v_errorhint:='Fout bijwerken Proactive';
|
||||||
|
PRS.upsertkenmerk (1080, rec.prs_perslid_key, rec.prs_kenmerk20); -- Proactive 20, 1080
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
FOR rec IN c_del
|
||||||
|
LOOP
|
||||||
|
-- prs.delete_perslid (p_import_key, rec.prs_perslid_key); -- Deze niet draaien voor HMOD ivm de workflow HRM die men in Facilitor uitvoert...?
|
||||||
|
-- wel vullen van een kenmerkveld ADP-import 1082
|
||||||
|
BEGIN
|
||||||
|
v_aanduiding := 'Import prs - ' || TO_CHAR(sysdate, 'dd/mm/yyyy - hh:mi:ss') || ' - status: ' || rec.prs_status;
|
||||||
|
|
||||||
|
v_errorhint:='Bijwerken veld verwijderen';
|
||||||
|
PRS.upsertkenmerk (1082, rec.prs_perslid_key,'let op: verwijderen' );
|
||||||
|
|
||||||
|
fac.trackaction ('PRSUPD', rec.prs_perslid_key, 3,sysdate, v_aanduiding) ;
|
||||||
|
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
||||||
|
fac.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint, 'Importproces personen afgebroken!');
|
||||||
|
|
||||||
|
END hmod_update_perslid;
|
||||||
|
/
|
||||||
|
|
||||||
|
|
||||||
------ payload end ------
|
------ payload end ------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user