HMOD#88835 -- AFAS-koppeling - inpassen uit dienst

svn path=/Customer/trunk/; revision=70309
This commit is contained in:
Jos Migo
2025-09-14 15:23:53 +00:00
parent b7f6cd890b
commit 56ce597527

View File

@@ -81,8 +81,8 @@ BEGIN
WHERE fac_import_key = p_import_key;
v_errorhint := 'Generieke update';
-- Import AFAS_ONLINE -- csv formaat via stylesheet afas2fclt.xsl bepaald -- NOG INPASSEN --21 Datum in dienst
v_seq_of_header := 'Personeelsnummer;Roepnaam;Voorletters;Voorvoegsel;Achternaam;Geslacht;Zakelijk mailadres;Dienstverb.;Begindatum functieregel;Einddatum functieregel;Afdelingscode;Afdeling omschrijving;Functiecode;Functieomschrijving;Formatieplaatscode;Formatieplaats omschrijving;Uren/wk;Leidinggevende persnr.;Naam Leidinggevende;Kofferletter;Datum in dienst';
-- Import AFAS_ONLINE -- csv formaat via stylesheet afas2fclt.xsl bepaald
v_seq_of_header := 'Personeelsnummer;Roepnaam;Voorletters;Voorvoegsel;Achternaam;Geslacht;Zakelijk mailadres;Dienstverb.;Begindatum functieregel;Einddatum functieregel;Afdelingscode;Afdeling omschrijving;Functiecode;Functieomschrijving;Formatieplaatscode;Formatieplaats omschrijving;Uren/wk;Leidinggevende persnr.;Naam Leidinggevende;Kofferletter;Datum in dienst;Datum uit dienst';
-- 1. Personeelsnummer
-- 2. Roepnaam
-- 3. Voorletters
@@ -104,6 +104,7 @@ BEGIN
-- 19. Naam Leidinggevende
-- 20. Kofferletter
-- 21. Datum in dienst
-- 22. Datum uit dienst
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure
v_seq_of_columns := '0;0;0;0;0;0;11;5;4;2;'
@@ -145,7 +146,7 @@ BEGIN
|| '12;13;14;15;16;17;18;19;20;21;'
-- v_prs_kenmerk5 31
-- .t/m kenmerk14 40
|| '0;0;0;0;0;0';
|| '22;0;0;0;0;0';
-- v_prs_kenmerk15 41
-- ..t/m kenmerk20 46
@@ -283,11 +284,13 @@ IS
---
-- HR-mutaties in Facilitor
--- Bij mutaties in AFAS moeten in Facilitor voor desbetreffende persoon ook zaken geregeld worden. Hiervoor zetten we kenmerk/trigger 'mutatie-koffersysteem'
--- Betreft 2 wijzigingen: Nieuwe medewerker EN Gewijzigde formatieplaats op bestaande medewerker
----- Werkwijze: Via een aparte notificatiejob worden de personen geinformeerd om de juiste HR-mutatie/workflow op te staten
--- Voor de mutatie 'verwijderde medewerkers': <NOG INPASSEN / BESPREKEN MET FRANK/CLAUDIA>
----- Werkwijze: Daar voor elk medewerker een KOFFER-OBJECT koppelen zodat de medewerker bij verwijderactie uit AFAS-koppeling altijd op INACTIEF komt
--- Bij mutaties in AFAS moeten in Facilitor voor desbetreffende persoon ook zaken geregeld worden. Hiervoor zetten we kenmerk/trigger 'mutatie-hr'
--- Betreft 4 wijzigingen: Nieuwe medewerker EN Gewijzigde formatieplaats op bestaande medewerker EN medewerker uit dienst EN mutatie nevenfuncties
----- Ps. laatste NOG INPASSEN - AANLEVEREN UIT AFAS
--- Werkwijze: Via een cockpit-rapportage zijn deze in beeld en zal BedrijfsBureau de juiste HR-workflow/melding opstarten om de acties voor IT, Applicatiebeheer en Facilitair uitgevoerd te krijgen.
----- Ps. Cockpit-rapport dus tevens bewakingsrapport dat zaken tijdig geregeld worden.
--- Voor de mutatie 'verwijderde en/of inactieve medewerkers': <NOG INPASSEN / BESPREKEN MET FRANK/CLAUDIA>
----- Werkwijze voortel: Daar voor elk medewerker een KOFFER-OBJECT koppelen zodat de medewerker bij verwijderactie uit AFAS-koppeling altijd op INACTIEF komt
v_count NUMBER;
oracle_err_num NUMBER;
@@ -305,6 +308,7 @@ IS
c_rol_key_manager NUMBER (10) := 1320;
v_prs_mutatie_hr VARCHAR2 (1000);
v_import_datum VARCHAR2 (30) := TO_CHAR(SYSDATE) ;
v_datum_vandaag DATE := TRUNC(SYSDATE) ;
CURSOR c_afd
IS
@@ -334,7 +338,11 @@ IS
flx.getflex('PRS', 1606, p.prs_perslid_key, 'P')
formatieplaats_huidig,
i.prs_kenmerk8
formatieplaats_import
formatieplaats_import,
TO_DATE(flx.getflex('PRS', 1800, p.prs_perslid_key, 'P'), 'yyyy-mm-dd')
datum_uit_dienst,
TO_DATE(i.prs_kenmerk15, 'yyyy-mm-dd')
datum_uit_dienst_import
FROM prs_perslid p, fac_imp_perslid i, prs_srtperslid sp, prs_v_afdeling a, prs_bedrijf b
WHERE p.prs_perslid_key = i.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL
@@ -348,7 +356,7 @@ IS
CURSOR c_flex -- Voor updaten van de algemene flex-kenmerkvelden op actuele medewerkers in blok AFAS_ONLINE op personenkaart
IS
SELECT p.prs_perslid_key, i.prs_perslid_nr, i.prs_perslid_naam, i.prs_perslid_email,
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_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
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
WHERE p.prs_perslid_key = i.prs_perslid_key
ORDER BY 1;
@@ -478,7 +486,7 @@ BEGIN
FOR rec IN c_mut
LOOP
BEGIN
v_errorhint := 'Trigger HR-mutatie zetten - formatieplaats gewijzigd';
v_errorhint := 'Triggers HR-mutatie zetten';
v_prs_mutatie_hr := '' ;
@@ -496,19 +504,33 @@ BEGIN
END IF;
-- Nieuwe medewerker met wijzigende formatieplaats
-- Nieuwe medewerker in dienst
IF rec.formatieplaats_huidig IS NULL
THEN
v_prs_mutatie_hr := 'Nieuwe medewerker met formatieplaats ' || rec.formatieplaats_import || ' (datum afasimport ' || v_import_datum || ')' ;
v_prs_mutatie_hr := 'Nieuwe medewerker in dienst met formatieplaats ' || rec.formatieplaats_import || ' (datum afasimport ' || v_import_datum || ')' ;
-- kenmerk aanpassen
PRS.upsertkenmerk (1760, rec.prs_perslid_key, v_prs_mutatie_hr);
-- fac_tracking op personenkaart
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'MDW_NIEUW'); END;
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'MDW_IN_DIENST'); END;
END IF;
-- Medewerker uit dienst
IF rec.datum_uit_dienst_import IS NOT NULL AND rec.datum_uit_dienst_import <> COALESCE(rec.datum_uit_dienst, v_datum_vandaag) AND rec.datum_uit_dienst_import > v_datum_vandaag
THEN
v_prs_mutatie_hr := 'Medewerker uit dienst met formatieplaats ' || rec.formatieplaats_import || ' (datum afasimport ' || v_import_datum || ')' ;
-- kenmerk aanpassen
PRS.upsertkenmerk (1760, rec.prs_perslid_key, v_prs_mutatie_hr);
-- fac_tracking op personenkaart
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'MDW_UIT_DIENST'); END;
END IF;
END;
END LOOP;
@@ -572,6 +594,9 @@ BEGIN
v_errorhint:='Fout bijwerken kenmerkveld14 - Datum in Dienst';
PRS.upsertkenmerk (1780, rec.prs_perslid_key, rec.prs_kenmerk14);
v_errorhint:='Fout bijwerken kenmerkveld14 - Datum uit Dienst';
PRS.upsertkenmerk (1800, rec.prs_perslid_key, rec.prs_kenmerk15);
END;
END LOOP;