109 lines
3.1 KiB
SQL
109 lines
3.1 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Eenmalig import draaien obv inlognaam
|
|
|
|
DEFINE thisfile = 'LOGI#56094.SQL'
|
|
DEFINE dbuser = '^LOGI'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
CREATE OR REPLACE PROCEDURE logi_import_persoon (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;
|
|
BEGIN
|
|
v_errorhint := 'Generieke update';
|
|
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
|
prs.import_perslid (
|
|
p_import_key,
|
|
'0;0;0;0;0;0;8;2;4;3;'
|
|
|| '0;0;0;0;0;0;0;6;0;1;'
|
|
|| '1;5;0;0;0;0;9;0;0;0;'
|
|
|| '0;0;0;0;0;0;0;0;0;0;'
|
|
|| '0;0;0;0;0;0',
|
|
'employeeID;sn;givenName;infix;uid;mail;orglevel7;orgleve7id;a1physicalDeliveryOfficeName%');
|
|
|
|
UPDATE fac_imp_perslid
|
|
SET prs_srtperslid_omschrijving = 'Onbekend';
|
|
|
|
UPDATE fac_imp_perslid
|
|
SET prs_afdeling_naam = 'CGI';
|
|
|
|
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 logi_import_persoon;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE logi_update_persoon (p_import_key IN NUMBER)
|
|
AS
|
|
-- Verwijderen op basis van oslogin #56094
|
|
CURSOR c_prs_del IS
|
|
SELECT p.prs_perslid_key, p.prs_perslid_nr, p.prs_perslid_oslogin
|
|
FROM PRS_PERSLID p,
|
|
(SELECT prs_perslid_oslogin
|
|
FROM logi_imp_persoon
|
|
WHERE prs_perslid_oslogin IS NOT NULL) lp
|
|
WHERE 1 = 1
|
|
AND p.prs_perslid_nr IS NOT NULL
|
|
AND p.prs_perslid_oslogin IS NOT NULL
|
|
AND p.prs_perslid_verwijder IS NULL
|
|
AND p.prs_perslid_oslogin NOT LIKE '%\_%' ESCAPE '\'
|
|
AND UPPER (p.prs_perslid_oslogin) =
|
|
UPPER (lp.prs_perslid_oslogin(+))
|
|
AND lp.prs_perslid_oslogin IS NULL
|
|
ORDER BY 2, 1;
|
|
|
|
BEGIN
|
|
|
|
FOR rec IN c_prs_del
|
|
LOOP
|
|
BEGIN
|
|
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
|
END;
|
|
END LOOP;
|
|
|
|
-- 'LOGIN' betekent dat op basis van Email wordt gematched.
|
|
prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
|
|
|
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|