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; WHERE fac_import_key = p_import_key;
v_errorhint := 'Generieke update'; v_errorhint := 'Generieke update';
-- Import AFAS_ONLINE -- csv formaat via stylesheet afas2fclt.xsl bepaald -- NOG INPASSEN --21 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'; 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 -- 1. Personeelsnummer
-- 2. Roepnaam -- 2. Roepnaam
-- 3. Voorletters -- 3. Voorletters
@@ -104,6 +104,7 @@ BEGIN
-- 19. Naam Leidinggevende -- 19. Naam Leidinggevende
-- 20. Kofferletter -- 20. Kofferletter
-- 21. Datum in dienst -- 21. Datum in dienst
-- 22. Datum uit dienst
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid procedure -- 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;' 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;' || '12;13;14;15;16;17;18;19;20;21;'
-- v_prs_kenmerk5 31 -- v_prs_kenmerk5 31
-- .t/m kenmerk14 40 -- .t/m kenmerk14 40
|| '0;0;0;0;0;0'; || '22;0;0;0;0;0';
-- v_prs_kenmerk15 41 -- v_prs_kenmerk15 41
-- ..t/m kenmerk20 46 -- ..t/m kenmerk20 46
@@ -283,11 +284,13 @@ IS
--- ---
-- HR-mutaties in Facilitor -- 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' --- Bij mutaties in AFAS moeten in Facilitor voor desbetreffende persoon ook zaken geregeld worden. Hiervoor zetten we kenmerk/trigger 'mutatie-hr'
--- Betreft 2 wijzigingen: Nieuwe medewerker EN Gewijzigde formatieplaats op bestaande medewerker --- Betreft 4 wijzigingen: Nieuwe medewerker EN Gewijzigde formatieplaats op bestaande medewerker EN medewerker uit dienst EN mutatie nevenfuncties
----- Werkwijze: Via een aparte notificatiejob worden de personen geinformeerd om de juiste HR-mutatie/workflow op te staten ----- Ps. laatste NOG INPASSEN - AANLEVEREN UIT AFAS
--- Voor de mutatie 'verwijderde medewerkers': <NOG INPASSEN / BESPREKEN MET FRANK/CLAUDIA> --- 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.
----- Werkwijze: Daar voor elk medewerker een KOFFER-OBJECT koppelen zodat de medewerker bij verwijderactie uit AFAS-koppeling altijd op INACTIEF komt ----- 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; v_count NUMBER;
oracle_err_num NUMBER; oracle_err_num NUMBER;
@@ -305,6 +308,7 @@ IS
c_rol_key_manager NUMBER (10) := 1320; c_rol_key_manager NUMBER (10) := 1320;
v_prs_mutatie_hr VARCHAR2 (1000); v_prs_mutatie_hr VARCHAR2 (1000);
v_import_datum VARCHAR2 (30) := TO_CHAR(SYSDATE) ; v_import_datum VARCHAR2 (30) := TO_CHAR(SYSDATE) ;
v_datum_vandaag DATE := TRUNC(SYSDATE) ;
CURSOR c_afd CURSOR c_afd
IS IS
@@ -334,7 +338,11 @@ IS
flx.getflex('PRS', 1606, p.prs_perslid_key, 'P') flx.getflex('PRS', 1606, p.prs_perslid_key, 'P')
formatieplaats_huidig, formatieplaats_huidig,
i.prs_kenmerk8 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 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 WHERE p.prs_perslid_key = i.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL 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 CURSOR c_flex -- Voor updaten van de algemene flex-kenmerkvelden op actuele medewerkers in blok AFAS_ONLINE op personenkaart
IS IS
SELECT p.prs_perslid_key, i.prs_perslid_nr, i.prs_perslid_naam, i.prs_perslid_email, 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 FROM prs_v_aanwezigperslid p, fac_imp_perslid i
WHERE p.prs_perslid_key = i.prs_perslid_key WHERE p.prs_perslid_key = i.prs_perslid_key
ORDER BY 1; ORDER BY 1;
@@ -478,7 +486,7 @@ BEGIN
FOR rec IN c_mut FOR rec IN c_mut
LOOP LOOP
BEGIN BEGIN
v_errorhint := 'Trigger HR-mutatie zetten - formatieplaats gewijzigd'; v_errorhint := 'Triggers HR-mutatie zetten';
v_prs_mutatie_hr := '' ; v_prs_mutatie_hr := '' ;
@@ -496,19 +504,33 @@ BEGIN
END IF; END IF;
-- Nieuwe medewerker met wijzigende formatieplaats -- Nieuwe medewerker in dienst
IF rec.formatieplaats_huidig IS NULL IF rec.formatieplaats_huidig IS NULL
THEN 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 -- kenmerk aanpassen
PRS.upsertkenmerk (1760, rec.prs_perslid_key, v_prs_mutatie_hr); PRS.upsertkenmerk (1760, rec.prs_perslid_key, v_prs_mutatie_hr);
-- fac_tracking op personenkaart -- 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; 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;
END LOOP; END LOOP;
@@ -572,6 +594,9 @@ BEGIN
v_errorhint:='Fout bijwerken kenmerkveld14 - Datum in Dienst'; v_errorhint:='Fout bijwerken kenmerkveld14 - Datum in Dienst';
PRS.upsertkenmerk (1780, rec.prs_perslid_key, rec.prs_kenmerk14); 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;
END LOOP; END LOOP;