GOKO#90623 -- afas-koppeling en eerste basisopzet opleveren
svn path=/Customer/trunk/; revision=70346
This commit is contained in:
855
GOKO/goko.sql
855
GOKO/goko.sql
@@ -723,7 +723,7 @@ AS
|
||||
AND (TRUNC(l.alg_locatie_vervaldatum) > TRUNC(sysdate) OR l.alg_locatie_vervaldatum IS NULL )
|
||||
AND fac.safe_to_number(kw.alg_onrgoedkenmerk_waarde) = kp.prs_kostenplaats_key ;
|
||||
|
||||
|
||||
/* NOG NETJES DROPPEN OUDE BEAUFORT - PROCEDURE
|
||||
CREATE OR REPLACE PROCEDURE goko_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
@@ -1594,6 +1594,859 @@ EXCEPTION
|
||||
v_errorhint);
|
||||
END goko_update_perslid;
|
||||
/
|
||||
*/
|
||||
|
||||
|
||||
-----------------------------------------------------
|
||||
--- HIERONDER NIEUWE AFAS IMPORT (2025-SEPT/OKT) ----
|
||||
---- ONDERHANDEN!!!!!! - ZIE TICKET 90623 ----
|
||||
-----------------------------------------------------
|
||||
|
||||
CREATE OR REPLACE PROCEDURE goko_import_afasonline (p_import_key IN NUMBER)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_errorhint VARCHAR2 (400);
|
||||
v_aantal_in_fclt NUMBER;
|
||||
v_seq_of_columns VARCHAR (255);
|
||||
v_seq_of_header VARCHAR (1000);
|
||||
|
||||
-- overige variabelen
|
||||
v_prs_afdeling_key NUMBER (10);
|
||||
c_prs_bedrijf_key_goko NUMBER (10) := 41;
|
||||
v_prs_perslid_rol_key NUMBER (10);
|
||||
|
||||
CURSOR c_afd
|
||||
IS
|
||||
SELECT fac_imp_file_index,
|
||||
prs_afdeling_naam, -- Afdelingscode
|
||||
prs_kenmerk5 -- Afdeling omschrijving
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
CURSOR c_afd_log
|
||||
IS
|
||||
SELECT prs_kenmerk20 -- Nieuwe afdeling aanmaken - vullen we in dit kenmerk20
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND prs_kenmerk20 IS NOT NULL
|
||||
GROUP BY prs_kenmerk20;
|
||||
|
||||
-- Op basis van de functie gaan we de facilitor-rol bepalen
|
||||
---- via deze rol gaan tijdens verwerkingsactie mensen juiste rechten geven
|
||||
CURSOR c_rol
|
||||
IS
|
||||
SELECT fac_imp_file_index, prs_kenmerk6, prs_kenmerk7
|
||||
FROM fac_imp_perslid
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index ;
|
||||
|
||||
BEGIN
|
||||
-- Het aangeleverde bestand heeft de gegevens komma gescheiden ipv ;
|
||||
v_errorhint := 'Delimiter goed zetten';
|
||||
|
||||
-- UPDATE fac_imp_file
|
||||
-- SET fac_imp_file_line = REPLACE (fac_imp_file_line, ',', ';')
|
||||
-- WHERE fac_import_key = p_import_key;
|
||||
|
||||
-- Het aangeleverde bestand heeft aanhalingstekens om de invoervelden..
|
||||
UPDATE fac_imp_file
|
||||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, '"', '')
|
||||
WHERE fac_import_key = p_import_key;
|
||||
|
||||
v_errorhint := 'Generieke update';
|
||||
-- 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
|
||||
-- 4. Voorvoegsel
|
||||
-- 5. Achternaam
|
||||
-- 6. Geslacht
|
||||
-- 7. Zakelijk mailadres
|
||||
-- 8. Dienstverb.
|
||||
-- 9. Begindatum functieregel
|
||||
-- 10. Einddatum functieregel
|
||||
-- 11. Afdelingscode
|
||||
-- 12. Afdeling omschrijving
|
||||
-- 13. Functiecode
|
||||
-- 14. Functieomschrijving
|
||||
-- 15. Formatieplaatscode
|
||||
-- 16. Formatieplaats omschrijving
|
||||
-- 17. Uren/wk
|
||||
-- 18. Leidinggevende persnr.
|
||||
-- 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;'
|
||||
-- v_alg_locatie_code 1
|
||||
-- v_alg_gebouw_code 2
|
||||
-- v_alg_verdieping_volgnr 3
|
||||
-- v_alg_ruimte_nr 4
|
||||
-- v_prs_werkplek_volgnr 5
|
||||
-- v_prs_werkplek_omschrijving 6
|
||||
-- v_prs_afdeling_naam 7 -- VERPLICHT BIJ IMPORT
|
||||
-- v_prs_perslid_naam 8 -- VERPLICHT BIJ IMPORT
|
||||
-- v_prs_perslid_tussenvoegsel 9
|
||||
-- v_prs_perslid_voornaam 10
|
||||
|| '3;0;0;0;6;0;0;7;0;1;'
|
||||
-- v_prs_perslid_voorletters 11
|
||||
-- v_prs_perslid_partner_naam 12
|
||||
-- v_prs_perslid_partner_tussenv 13
|
||||
-- v_prs_naamgebruik_code 14 0 (default) perslid_naam en perslid_tussenvoegsel worden gebruikt
|
||||
-- 1 personen die de geboortenaam van de partner icm de eigen naam willen gebruiken
|
||||
-- 2 personen die de geboortenaam van de partner willen gebruiken
|
||||
-- 3 personen die de eigen naam icm de geboortenaam van de partner willen gebruiken
|
||||
-- v_prs_perslid_geslacht 15 Gebruik 'man', 'm' of 1 voor man en 'vrouw', 'v' of 0 voor vrouw case insensitive geen default
|
||||
-- v_prs_perslid_telefoonnr 16
|
||||
-- v_prs_perslid_mobiel 17
|
||||
-- v_prs_perslid_email 18
|
||||
-- v_prs_perslid_dienstverband 19
|
||||
-- v_prs_perslid_nr 20
|
||||
|| '14;0;0;0;0;0;8;9;10;11;'
|
||||
-- v_prs_srtperslid_omschrijving 21 -- VERPLICHT BIJ IMPORT
|
||||
-- v_prs_perslid_oslogin 22
|
||||
-- v_prs_perslid_wachtwoord 23
|
||||
-- v_prs_perslid_titel 24
|
||||
-- v_prs_perslid_apikey 25
|
||||
-- v_dummy 26
|
||||
-- v_prs_kenmerk1 27
|
||||
-- v_prs_kenmerk2 28
|
||||
-- v_prs_kenmerk3 29
|
||||
-- v_prs_kenmerk4 30
|
||||
|| '12;13;14;15;16;17;18;19;20;21;'
|
||||
-- v_prs_kenmerk5 31
|
||||
-- .t/m kenmerk14 40
|
||||
|| '22;0;0;0;0;0';
|
||||
-- v_prs_kenmerk15 41
|
||||
-- ..t/m kenmerk20 46
|
||||
|
||||
|
||||
v_errorhint := 'Generieke update';
|
||||
-- csv verwerken naar de fac_imp_perslid-tabel
|
||||
prs.import_perslid(p_import_key, v_seq_of_columns, v_seq_of_header);
|
||||
|
||||
v_errorhint := 'Login afleiden van emailadres';
|
||||
-- Loginnaam afleiden van emailadres
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_perslid_oslogin =
|
||||
UPPER (
|
||||
(SUBSTR (prs_perslid_email,
|
||||
0,
|
||||
INSTR (prs_perslid_email, '@') - 1)))
|
||||
WHERE prs_perslid_email IS NOT NULL ;
|
||||
|
||||
v_errorhint := 'Uitfilteren records'; -- in afasonline-bestand zitten wellicht aantal zaken die niet mee hoeven naar Facilitor
|
||||
-- moeten we uit afasbestand nog medewerkers verwijderen voordat we vervolg import/update-acties gaan doen? Vooralsnog niet...
|
||||
NULL;
|
||||
|
||||
v_errorhint := 'Bewerken records'; -- in afasonline-bestand zitten wellicht aantal zaken die we voor import naar Facilitor willen bewerken
|
||||
-- Functie in Facilitor moet worden: functiecode - functieomschrijving
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_srtperslid_omschrijving = prs_kenmerk6 || ' - ' || prs_kenmerk7 ;
|
||||
|
||||
-- Afdeling bepalen waar persoon onder komt te vallen.
|
||||
---- Deze wordt voor HUMOD direct uit AFAS gevuld.
|
||||
---- In Facilitor kiezen we er voor dat alle afdelingen op niveau 1 aangemaakt worden onder bedrijf_key c_prs_bedrijf_key_goko
|
||||
---- Indien afdeling niet gevonden dan gaan we deze aanmaken onder bedrijf Humanitas Onder Dak
|
||||
FOR rec IN c_afd
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Afdeling van Persoon - bestaand of nieuw?';
|
||||
|
||||
-- Afdeling op niveau 1 zoeken
|
||||
SELECT MIN (a.prs_afdeling_key)
|
||||
INTO v_prs_afdeling_key
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_upper = UPPER (rec.prs_afdeling_naam)
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 1 -- kijken alleen naar afdelingen op niveau 1
|
||||
AND a.prs_bedrijf_key = c_prs_bedrijf_key_goko ;
|
||||
|
||||
-- Als afdeling uit AFAS NIET bekend is in Facilitor dan maken we deze straks bij uitvoer/update aan - Bij deze import alvast de info-logging doen
|
||||
IF v_prs_afdeling_key IS NULL
|
||||
THEN
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk20 = 'Nieuwe afdeling - ' || rec.prs_afdeling_naam
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_afd_log
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Nieuwe afdelingen aanmaken - ter info';
|
||||
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
rec.prs_kenmerk20,
|
||||
v_errorhint);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_rol
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Facilitor-rollen bepalen- ter info';
|
||||
-- Op zoek naar de Facilitor-rol voor deze medewerkers op basis van functie_code en functie_omschrijving
|
||||
-- Onderhouden in eigentabellen functie_rol1 en functie_rol2 (key 901 en key 903)
|
||||
|
||||
SELECT MAX((SELECT rol.fac_usrdata_code FROM fac_usrdata rol WHERE rol.fac_usrdata_key = ud.fac_usrdata_parentkey AND rol.fac_usrtab_key = 901))
|
||||
facilitor_rol
|
||||
INTO v_prs_perslid_rol_key
|
||||
FROM fac_usrtab ut, fac_usrdata ud
|
||||
WHERE ut.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND ut.fac_usrtab_key = 903
|
||||
AND ud.fac_usrdata_verwijder IS NULL
|
||||
AND UPPER(ud.fac_usrdata_code) = UPPER(rec.prs_kenmerk6) -- functiecode
|
||||
AND UPPER(ud.fac_usrdata_omschr) = UPPER(rec.prs_kenmerk7) -- functieomschrijving
|
||||
;
|
||||
|
||||
IF v_prs_perslid_rol_key IS NOT NULL
|
||||
THEN
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_kenmerk19 = v_prs_perslid_rol_key
|
||||
WHERE fac_imp_file_index = rec.fac_imp_file_index ;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
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 goko_import_afasonline;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE goko_update_afasonline (p_import_key IN NUMBER)
|
||||
IS
|
||||
-- AFAS in sync met Facilitor bedrijf c_prs_bedrijf_key_goko
|
||||
--- Alle personen verwijderen die niet meer in het import bestand voorkomen.
|
||||
--- Match bij HUMOD loopt via Personeelsnummer
|
||||
|
||||
-- Afdeling AFAS leading
|
||||
--- Op niveau 1 gaan we de afdeling van GOKO aanmaken.
|
||||
--- Indien onbekende afdelingscode dan gaan we die eerst aanmaken (in immport-deel vullen we daarvoor alvast prs_kenmerk20)
|
||||
|
||||
-- Leidinggevende - verantwoordelijke
|
||||
--- In de personenkaart van Facilitor wordt officiele leidinggevende uit afas gevuld
|
||||
--- En op basis functie een automatische toewijzing aan juiste autorisatiegroepen van managers en teamleiders
|
||||
|
||||
-- Facilitor-rollen bepalen en op basis van deze rollen autorisaties uitreiken
|
||||
--- Op basis functie/code zijn er 3 rollen te onderscheiden voor GOKO in Facilitor: Teamleider locatie, Regiomanager, Manager algemeen
|
||||
---
|
||||
|
||||
-- HR-mutaties in Facilitor
|
||||
--- 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;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_errorhint VARCHAR2 (400);
|
||||
|
||||
-- overige variabelen
|
||||
v_fac_gebruikersgroep_key NUMBER(10);
|
||||
v_prs_perslid_key_verantw NUMBER(10);
|
||||
v_prs_afdeling_key NUMBER (10);
|
||||
c_prs_bedrijf_key_goko NUMBER (10) := 41;
|
||||
c_rol_key_teamleider NUMBER (10) := 1280;
|
||||
c_rol_key_regiomanager NUMBER (10) := 1740;
|
||||
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
|
||||
SELECT i.prs_kenmerk20, i.prs_kenmerk4, i.prs_kenmerk5
|
||||
FROM fac_imp_perslid i
|
||||
WHERE i.prs_kenmerk20 IS NOT NULL
|
||||
GROUP BY i.prs_kenmerk20, i.prs_kenmerk4, i.prs_kenmerk5 ;
|
||||
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_email, p.prs_perslid_nr, sp.prs_srtperslid_omschrijving, a.prs_afdeling_omschrijving, b.prs_bedrijf_naam
|
||||
FROM prs_perslid p, fac_imp_perslid i, prs_srtperslid sp, prs_v_afdeling a, prs_bedrijf b
|
||||
WHERE p.prs_perslid_nr = i.prs_perslid_nr(+)
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = c_prs_bedrijf_key_goko
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND i.prs_perslid_nr IS NULL -- in Facilitor, met onderstaande voorwaarden, is er dus geen mapping op personeelsnummer en die personen gaan we verwijderen/inactief maken
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND UPPER (p.prs_perslid_email) LIKE '%HUMOD.NL'
|
||||
ORDER BY 1 ;
|
||||
|
||||
-- HR-koffersysteem mutatie op functie en/of afdeling (= formatieplaats-wijziging)
|
||||
CURSOR c_mut
|
||||
IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_email, p.prs_perslid_nr, sp.prs_srtperslid_omschrijving, a.prs_afdeling_omschrijving,
|
||||
flx.getflex('PRS', 1606, p.prs_perslid_key, 'P')
|
||||
formatieplaats_huidig,
|
||||
i.prs_kenmerk8
|
||||
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
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = c_prs_bedrijf_key_goko
|
||||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND UPPER (p.prs_perslid_email) LIKE '%HUMOD.NL'
|
||||
ORDER BY 1 ;
|
||||
|
||||
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_kenmerk15
|
||||
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||||
ORDER BY 1;
|
||||
|
||||
CURSOR c_verantw
|
||||
IS
|
||||
SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_oslogin,
|
||||
CASE WHEN p.prs_perslid_key_verantw IS NOT NULL
|
||||
THEN (SELECT prs_perslid_nr FROM prs_perslid WHERE prs_perslid_key = p.prs_perslid_key_verantw)
|
||||
ELSE NULL
|
||||
END
|
||||
prs_perslid_verantw_nr,
|
||||
p.prs_perslid_verantw_nr_afas
|
||||
FROM fac_imp_perslid i,
|
||||
(SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_oslogin,
|
||||
p.prs_perslid_key_verantw,
|
||||
(SELECT kw.prs_kenmerklink_waarde
|
||||
FROM prs_kenmerklink kw
|
||||
WHERE kw.prs_kenmerk_key = 1643
|
||||
AND kw.prs_kenmerklink_niveau = 'P'
|
||||
AND kw.prs_link_key = p.prs_perslid_key)
|
||||
prs_perslid_verantw_nr_afas
|
||||
FROM prs_perslid p) p
|
||||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||||
ORDER BY 1 ;
|
||||
|
||||
-- cursor ROLLEN inlezen in de rol-kenmerkvelden op personenkaart
|
||||
----- en Autorisatie goed inregelen per rol --- DIT NOG APART GOED INREGELEN
|
||||
CURSOR c_rol
|
||||
IS
|
||||
SELECT p.prs_perslid_key,
|
||||
i.prs_kenmerk19, -- rol_key uit afas en eigen-tabel met de facilitor-rollen die bij functie_code en functie_omschrijving horen (tabel key 901 en key 903)
|
||||
p.prs_perslid_teamleider,
|
||||
p.prs_perslid_regiomanager,
|
||||
p.prs_perslid_manager_algemeen
|
||||
FROM fac_imp_perslid i,
|
||||
(SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_nr,
|
||||
p.prs_perslid_oslogin,
|
||||
p.prs_perslid_key_verantw,
|
||||
(SELECT kw.prs_kenmerklink_waarde
|
||||
FROM prs_kenmerklink kw
|
||||
WHERE kw.prs_kenmerk_key = c_rol_key_teamleider
|
||||
AND kw.prs_kenmerklink_niveau = 'P'
|
||||
AND kw.prs_link_key = p.prs_perslid_key)
|
||||
prs_perslid_teamleider,
|
||||
(SELECT kw.prs_kenmerklink_waarde
|
||||
FROM prs_kenmerklink kw
|
||||
WHERE kw.prs_kenmerk_key = c_rol_key_regiomanager
|
||||
AND kw.prs_kenmerklink_niveau = 'P'
|
||||
AND kw.prs_link_key = p.prs_perslid_key)
|
||||
prs_perslid_regiomanager,
|
||||
(SELECT kw.prs_kenmerklink_waarde
|
||||
FROM prs_kenmerklink kw
|
||||
WHERE kw.prs_kenmerk_key = c_rol_key_manager
|
||||
AND kw.prs_kenmerklink_niveau = 'P'
|
||||
AND kw.prs_link_key = p.prs_perslid_key)
|
||||
prs_perslid_manager_algemeen
|
||||
FROM prs_perslid p) p
|
||||
WHERE p.prs_perslid_key = i.prs_perslid_key
|
||||
ORDER BY 1 ;
|
||||
|
||||
|
||||
BEGIN
|
||||
v_errormsg := 'Update afasonline';
|
||||
v_errorhint := 'Niet genoeg personen in bestand, import afgebroken';
|
||||
|
||||
NULL;
|
||||
/* HELEMAAL OP ORDE MAKEN VOOR GO KINDEROPVANG
|
||||
|
||||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
||||
|
||||
IF v_count >= 100
|
||||
THEN
|
||||
-- Geldig importbestand wat betreft aantal personen
|
||||
|
||||
-- Gaan we eerst de afdelingsstructuur bijwerken
|
||||
FOR rec IN c_afd
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint:='Fout aanvullen afdelingstructuur: ' || rec.prs_kenmerk4 || ' - ' || rec.prs_kenmerk5 ;
|
||||
|
||||
INSERT INTO prs_afdeling (
|
||||
prs_bedrijf_key,
|
||||
prs_afdeling_naam,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_kostenplaats_key,
|
||||
prs_perslid_key_verantw,
|
||||
mld_adres_key)
|
||||
VALUES (
|
||||
c_prs_bedrijf_key_goko,
|
||||
rec.prs_kenmerk4,
|
||||
rec.prs_kenmerk5,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL) ;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- En dan kunnen we de generieke import draaien
|
||||
v_errorhint := 'Verwerken persoonsgegevens';
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- generic update
|
||||
-- 'EMAIL' betekent dat op basis van Email wordt gematched.
|
||||
-- 'NR' betekent op basis Personeelsnummer
|
||||
-- 'NULL' betekent altijd geen werkplekken verwijderen
|
||||
prs.update_perslid (p_import_key, 'NR', NULL);
|
||||
|
||||
-- Verwijder personen die niet meer in de import voorkomen.
|
||||
FOR rec IN c_del
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Verwijderen persoonsgegevens';
|
||||
|
||||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_mut
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Triggers HR-mutatie zetten';
|
||||
|
||||
v_prs_mutatie_hr := '' ;
|
||||
|
||||
-- Bestaande medewerker met wijzigende formatieplaats
|
||||
IF rec.formatieplaats_huidig IS NOT NULL AND rec.formatieplaats_huidig <> rec.formatieplaats_import
|
||||
THEN
|
||||
|
||||
v_prs_mutatie_hr := 'Formatieplaats gewijzigd van ' || rec.formatieplaats_huidig || ' naar ' || 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_FORMATIEPLAATS_GEWIJZIGD'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
-- Nieuwe medewerker in dienst
|
||||
IF rec.formatieplaats_huidig IS NULL
|
||||
THEN
|
||||
|
||||
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_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;
|
||||
|
||||
|
||||
-- Op de personenkaart de actuele humod-mederwerkers de afas-velden uit de koppeling vullen - ter informatie
|
||||
FOR rec IN c_flex
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
-- standaardvelden:
|
||||
v_errorhint:='Fout bijwerken - Naam';
|
||||
PRS.upsertkenmerk (1602, rec.prs_perslid_key, rec.prs_perslid_naam);
|
||||
|
||||
v_errorhint:='Fout bijwerken - Personeelsnummer';
|
||||
PRS.upsertkenmerk (1604, rec.prs_perslid_key, rec.prs_perslid_nr);
|
||||
|
||||
v_errorhint:='Fout bijwerken - Zakelijk emailadres';
|
||||
PRS.upsertkenmerk (1605, rec.prs_perslid_key, rec.prs_perslid_email);
|
||||
|
||||
-- overige uit de import-kenmerkvelden:
|
||||
v_errorhint:='Fout bijwerken kenmerkveld1 - Dienstverb.';
|
||||
PRS.upsertkenmerk (1660, rec.prs_perslid_key, rec.prs_kenmerk1);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld2 - Begindatum functieregel';
|
||||
PRS.upsertkenmerk (1644, rec.prs_perslid_key, rec.prs_kenmerk2);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld3 - Einddatum functieregel';
|
||||
PRS.upsertkenmerk (1645, rec.prs_perslid_key, rec.prs_kenmerk3);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld4 - Afdelingscode';
|
||||
PRS.upsertkenmerk (1608, rec.prs_perslid_key, rec.prs_kenmerk4);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld5 - Afdeling omschrijving';
|
||||
PRS.upsertkenmerk (1609, rec.prs_perslid_key, rec.prs_kenmerk5);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld6 - Functiecode';
|
||||
PRS.upsertkenmerk (1610, rec.prs_perslid_key, rec.prs_kenmerk6);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld7 - Functieomschrijving';
|
||||
PRS.upsertkenmerk (1611, rec.prs_perslid_key, rec.prs_kenmerk7);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld8 - Formatieplaatscode';
|
||||
PRS.upsertkenmerk (1606, rec.prs_perslid_key, rec.prs_kenmerk8);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld9 - Formatieplaats omschrijving';
|
||||
PRS.upsertkenmerk (1607, rec.prs_perslid_key, rec.prs_kenmerk9);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld10 - Uren/wk';
|
||||
PRS.upsertkenmerk (1640, rec.prs_perslid_key, rec.prs_kenmerk10);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld11 - Leidinggevende persnr';
|
||||
PRS.upsertkenmerk (1643, rec.prs_perslid_key, rec.prs_kenmerk11);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld12 - Naam Leidinggevende';
|
||||
PRS.upsertkenmerk (1642, rec.prs_perslid_key, rec.prs_kenmerk12);
|
||||
|
||||
v_errorhint:='Fout bijwerken kenmerkveld13 - Kofferletter';
|
||||
PRS.upsertkenmerk (1641, rec.prs_perslid_key, rec.prs_kenmerk13);
|
||||
|
||||
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;
|
||||
|
||||
-- En de verantwoordelijk manager updaten in de personenkaart indien nodig
|
||||
FOR rec IN c_verantw
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint:='Fout bijwerken verantwoordelijke';
|
||||
|
||||
-- als de aangeboden waarde uit afas anders is dan de huidige verantwoordelijke in de personenkaart dan gaan we personenkaart updaten
|
||||
IF COALESCE(rec.prs_perslid_verantw_nr_afas, '<leeg>') <> COALESCE(rec.prs_perslid_verantw_nr, '<leeg>')
|
||||
THEN
|
||||
|
||||
-- geen gevonden facilitor-manager dan gevulde verantwoordelijke verwijderen
|
||||
IF rec.prs_perslid_verantw_nr_afas IS NULL
|
||||
THEN
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = ''
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
-- wel gevonden facilitor-manager dan bijbehorende verantwoordelijke_key in personenkaart vullen
|
||||
IF rec.prs_perslid_verantw_nr_afas IS NOT NULL
|
||||
THEN
|
||||
|
||||
SELECT MIN(prs_perslid_key)
|
||||
INTO v_prs_perslid_key_verantw
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_nr = rec.prs_perslid_verantw_nr_afas ;
|
||||
|
||||
IF v_prs_perslid_key_verantw IS NOT NULL
|
||||
THEN
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = v_prs_perslid_key_verantw
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
ELSE
|
||||
|
||||
UPDATE prs_perslid
|
||||
SET prs_perslid_key_verantw = ''
|
||||
WHERE prs_perslid_key = rec.prs_perslid_key ;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_rol
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errorhint:='Fout bijwerken facilitor-rollen';
|
||||
|
||||
-- 1. als prs_kenmerk19 leeg is dan ook alle vinkjes leegmaken...
|
||||
IF rec.prs_kenmerk19 IS NULL AND (rec.prs_perslid_teamleider IS NOT NULL OR rec.prs_perslid_regiomanager IS NOT NULL OR rec.prs_perslid_manager_algemeen IS NOT NULL)
|
||||
THEN
|
||||
|
||||
IF rec.prs_perslid_teamleider IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_teamleider AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Teamleider: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.prs_perslid_regiomanager IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_regiomanager AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Regiomanager: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.prs_perslid_manager_algemeen IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_manager AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Manager algemeen: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
-- 2. als prs_kenmerk19 gevuld is dan checken of juiste rol-vinkje gezet is, zo niet, doen..
|
||||
-- 2.1. voor c_rol_key_teamleider
|
||||
IF rec.prs_kenmerk19 IS NOT NULL AND fac.safe_to_number(rec.prs_kenmerk19) = c_rol_key_teamleider
|
||||
THEN
|
||||
|
||||
-- toevoegen
|
||||
IF rec.prs_perslid_teamleider IS NULL
|
||||
THEN
|
||||
|
||||
INSERT INTO prs_kenmerklink(prs_link_key,prs_kenmerk_key,prs_kenmerklink_waarde,prs_kenmerklink_niveau)
|
||||
VALUES (rec.prs_perslid_key, c_rol_key_teamleider, '1', 'P') ;
|
||||
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Teamleider: (leeg) --> 1 (vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
-- en de andere rollen deleten als ze nog aangevinkt zijn (kan maar 1 rol krijgen)
|
||||
IF rec.prs_perslid_regiomanager IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_regiomanager AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Regiomanager: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.prs_perslid_manager_algemeen IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_manager AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Manager algemeen: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
-- 2.2. c_rol_key_regiomanager
|
||||
IF rec.prs_kenmerk19 IS NOT NULL AND fac.safe_to_number(rec.prs_kenmerk19) = c_rol_key_regiomanager
|
||||
THEN
|
||||
|
||||
-- toevoegen
|
||||
IF rec.prs_perslid_regiomanager IS NULL
|
||||
THEN
|
||||
|
||||
INSERT INTO prs_kenmerklink(prs_link_key,prs_kenmerk_key,prs_kenmerklink_waarde,prs_kenmerklink_niveau)
|
||||
VALUES (rec.prs_perslid_key, c_rol_key_regiomanager, '1', 'P') ;
|
||||
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Regiomanager: (leeg) --> 1 (vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
-- en de andere rollen deleten als ze nog aangevinkt zijn (kan maar 1 rol krijgen)
|
||||
IF rec.prs_perslid_teamleider IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_teamleider AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Teamleider: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.prs_perslid_manager_algemeen IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_manager AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Manager algemeen: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
-- 2.3. c_rol_key_manager
|
||||
IF rec.prs_kenmerk19 IS NOT NULL AND fac.safe_to_number(rec.prs_kenmerk19) = c_rol_key_manager
|
||||
THEN
|
||||
|
||||
-- toevoegen
|
||||
IF rec.prs_perslid_manager_algemeen IS NULL
|
||||
THEN
|
||||
|
||||
INSERT INTO prs_kenmerklink(prs_link_key,prs_kenmerk_key,prs_kenmerklink_waarde,prs_kenmerklink_niveau)
|
||||
VALUES (rec.prs_perslid_key, c_rol_key_manager, '1', 'P') ;
|
||||
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Manager algemeen: (leeg) --> 1 (vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
-- en de andere rollen deleten als ze nog aangevinkt zijn (kan maar 1 rol krijgen)
|
||||
IF rec.prs_perslid_teamleider IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_teamleider AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Teamleider: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
IF rec.prs_perslid_manager_algemeen IS NOT NULL
|
||||
THEN
|
||||
|
||||
DELETE FROM prs_kenmerklink WHERE prs_link_key = rec.prs_perslid_key AND prs_kenmerk_key = c_rol_key_manager AND prs_kenmerklink_VERWIJDER IS NULL ;
|
||||
|
||||
-- tracking doen op personenkaart
|
||||
BEGIN fac.trackaction('PRSUPD', rec.prs_perslid_key, 3, NULL, 'Manager algemeen: 1 --> (gewist vanuit AFAS_koppeling)'); END;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c_aut
|
||||
LOOP
|
||||
BEGIN
|
||||
-- Alle locatiemanagers toevoegen aan eigen autorisatiegroep'
|
||||
v_errorhint:='Fout bijwerken locatiemanagers in eigen autorisatiegroep';
|
||||
|
||||
BEGIN
|
||||
|
||||
SELECT fac_gebruikersgroep_key
|
||||
INTO v_fac_gebruikersgroep_key
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 22 -- Groep 'Locatie- en Regiomanagers'
|
||||
AND prs_perslid_key = rec.prs_perslid_key ;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key,
|
||||
prs_perslid_key)
|
||||
VALUES (22, rec.prs_perslid_key);
|
||||
|
||||
END;
|
||||
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
|
||||
*/
|
||||
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
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 goko_update_afasonline;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
-- Hook functie die na het saven (bes_postsave) van een bestelling wordt aangeroepen.
|
||||
CREATE OR REPLACE PROCEDURE goko_bes_after_insert (p_key IN NUMBER)
|
||||
|
||||
Reference in New Issue
Block a user