cgey#170 - Minder kritisch maken van Kamernummers bij import gegevens uit SAP
svn path=/Customer/trunk/; revision=12880
This commit is contained in:
@@ -17,6 +17,7 @@ show user
|
||||
|
||||
update fip_perslid_sap
|
||||
set fip_error = IMPORTROW
|
||||
,fip_error2 = ''
|
||||
,ALG_LOCATIE_CODE = LTRIM(RTRIM(ALG_LOCATIE_CODE))
|
||||
,ALG_GEBOUW_CODE = LTRIM(RTRIM(ALG_GEBOUW_CODE))
|
||||
,ALG_RUIMTE_NR = LTRIM(RTRIM(ALG_RUIMTE_NR))
|
||||
@@ -42,11 +43,11 @@ DECLARE
|
||||
CURSOR c1 IS
|
||||
SELECT *
|
||||
FROM fip_perslid_sap ps
|
||||
WHERE not exists (select 'x'
|
||||
from prs_perslid p
|
||||
where upper(ltrim(rtrim(ps.prs_perslid_nr))) = upper(ltrim(rtrim(p.prs_perslid_nr)))
|
||||
and ps.uitdienst = 'UD'
|
||||
and p.prs_perslid_verwijder is not null
|
||||
WHERE not exists (select 'x'
|
||||
from prs_perslid p
|
||||
where upper(ltrim(rtrim(ps.prs_perslid_nr))) = upper(ltrim(rtrim(p.prs_perslid_nr)))
|
||||
and ps.uitdienst = 'UD'
|
||||
and p.prs_perslid_verwijder is not null
|
||||
and rownum = 1)
|
||||
ORDER BY ps.fip_perslid_sap_key;
|
||||
rec c1%rowtype;
|
||||
@@ -58,8 +59,8 @@ DECLARE
|
||||
srtperslid_key number(10);
|
||||
perslid_naam varchar2(30);
|
||||
errormsg varchar2(1024);
|
||||
errormsg2 varchar2(1024);
|
||||
warningmsg varchar2(1024);
|
||||
errormsg2 varchar2(1024);
|
||||
warningmsg varchar2(1024);
|
||||
ccount number(10);
|
||||
perslid_key number(10);
|
||||
update_record number(1);
|
||||
@@ -93,22 +94,22 @@ BEGIN
|
||||
IF c1%ISOPEN THEN
|
||||
|
||||
teller := 0;
|
||||
|
||||
SELECT fac_groep_key
|
||||
|
||||
SELECT fac_groep_key
|
||||
INTO groep_key
|
||||
FROM fac_groep
|
||||
WHERE fac_groep_upper = 'DEFAULT';
|
||||
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
|
||||
-- insert into fip_sandra values('Volgende persoon ....',sysdate);
|
||||
commit;
|
||||
|
||||
|
||||
errorMsg := 'Volgende persoon ....';
|
||||
errorMsg2 := '';
|
||||
warningmsg := '';
|
||||
|
||||
|
||||
FETCH c1 INTO rec;
|
||||
EXIT WHEN c1%NOTFOUND;
|
||||
teller := teller + 1;
|
||||
@@ -120,17 +121,17 @@ commit;
|
||||
WHERE upper(ltrim(rtrim(prs_perslid_nr))) = upper(ltrim(rtrim(rec.prs_perslid_nr)));
|
||||
|
||||
update_msg := 'Personeelsnummer<' || upper(ltrim(rtrim(rec.prs_perslid_nr))) || '>';
|
||||
|
||||
|
||||
IF update_record = 0 THEN
|
||||
-- Bij INSERT mag de oslogin nog niet voorkomen
|
||||
-- Bij INSERT mag de oslogin nog niet voorkomen
|
||||
select count(*)
|
||||
into ncount
|
||||
from prs_v_aanwezigperslid
|
||||
where upper(prs_perslid_oslogin) = upper(rec.prs_perslid_oslogin);
|
||||
|
||||
|
||||
errorMsg2 := ' (error : prs_perslid_oslogin niet uniek)';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
@@ -140,24 +141,24 @@ commit;
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE upper(ltrim(rtrim(prs_perslid_nr))) = upper(ltrim(rtrim(rec.prs_perslid_nr)));
|
||||
update_msg := update_msg || ' UPDATE';
|
||||
|
||||
|
||||
-- insert into fip_sandra values('Dit is een update ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
|
||||
ELSE
|
||||
perslid_key := 0;
|
||||
update_msg := update_msg || ' INSERT';
|
||||
|
||||
|
||||
-- insert into fip_sandra values('Dit is een insert ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
errorMsg := ' (error : bepaling nieuwe afdeling)';
|
||||
|
||||
|
||||
-- insert into fip_sandra values('bepaling nieuwe afdeling ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
|
||||
|
||||
SELECT prs_afdeling_key, upper(prs_afdeling_naam)
|
||||
INTO afdeling_key, afdeling_naam_new
|
||||
@@ -166,10 +167,10 @@ commit;
|
||||
AND prs_afdeling_verwijder IS NULL;
|
||||
|
||||
errorMsg := ' (error : bepaling oude afdeling)';
|
||||
|
||||
|
||||
-- insert into fip_sandra values('bepaling oude afdeling ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
|
||||
|
||||
IF perslid_key = 0 THEN
|
||||
afdeling_naam_old := '';
|
||||
@@ -184,9 +185,9 @@ commit;
|
||||
IF afdeling_naam_old <> afdeling_naam_new THEN
|
||||
update_msg := update_msg || ' ***Practice:<' || afdeling_naam_old || '> wordt <' || afdeling_naam_new || '>';
|
||||
END IF;
|
||||
|
||||
|
||||
-- insert into fip_sandra values('bepalen ruimte a.d.h.v. KAMERNUMMER t.b.v. werkplek ....',sysdate);
|
||||
-- commit;
|
||||
-- commit;
|
||||
|
||||
errorMsg := ' (error : bepalen ruimte a.d.h.v. KAMERNUMMER t.b.v. werkplek)';
|
||||
|
||||
@@ -215,35 +216,35 @@ commit;
|
||||
ruimte_nr := '';
|
||||
|
||||
errorMsg := ' (error : bepalen gebouw/verdieping/ruimte a.d.h.v. KAMERNUMMER <' || rec.KAMERNUMMER || ')';
|
||||
|
||||
|
||||
IF upper(SUBSTR(rec.KAMERNUMMER, 1, 1)) in ('1','2','G','V','W') THEN
|
||||
-- Daltonlaan 200, 300
|
||||
gebouw_code := upper(SUBSTR(rec.KAMERNUMMER, 1, 1));
|
||||
verdieping_code := SUBSTR(rec.KAMERNUMMER, 2, 1);
|
||||
ruimte_nr := SUBSTR(rec.KAMERNUMMER, 3, 2);
|
||||
END IF;
|
||||
|
||||
|
||||
IF upper(SUBSTR(rec.KAMERNUMMER, 1, 2)) in ('1.','2.') THEN
|
||||
-- Daltonlaan 200, 300
|
||||
gebouw_code := upper(SUBSTR(rec.KAMERNUMMER, 1, 1));
|
||||
verdieping_code := SUBSTR(rec.KAMERNUMMER, 3, 2);
|
||||
ruimte_nr := SUBSTR(rec.KAMERNUMMER, 6, 2);
|
||||
END IF;
|
||||
|
||||
|
||||
IF upper(SUBSTR(rec.KAMERNUMMER, 1, 1)) in ('A','B','C','M','N','Z') THEN
|
||||
-- Hoofdgebouw toren A, B, Congres gebouw, Gebouw Midden, Gebouw Noord, Gebouw Zuid
|
||||
gebouw_code := upper(SUBSTR(rec.KAMERNUMMER, 1, 1));
|
||||
verdieping_code := SUBSTR(rec.KAMERNUMMER, 2, 2);
|
||||
ruimte_nr := SUBSTR(rec.KAMERNUMMER, 4, 2);
|
||||
END IF;
|
||||
|
||||
|
||||
IF upper(SUBSTR(rec.KAMERNUMMER, 1, 2)) in ('A.','B.','C.','M.','N.','Z.') THEN
|
||||
-- Daltonlaan 200, 300
|
||||
gebouw_code := upper(SUBSTR(rec.KAMERNUMMER, 1, 1));
|
||||
verdieping_code := SUBSTR(rec.KAMERNUMMER, 3, 2);
|
||||
ruimte_nr := SUBSTR(rec.KAMERNUMMER, 6, 2);
|
||||
END IF;
|
||||
|
||||
|
||||
-- errorMsg := 'SELECT alg_ruimte_key FROM alg_v_allonrgoed_gegevens';
|
||||
-- errorMsg := errorMsg || ' WHERE alg_gebouw_code = ' || gebouw_code || ' AND alg_verdieping_code = ' || verdieping_code || ' AND alg_ruimte_nr = ' || ruimte_nr;
|
||||
|
||||
@@ -304,24 +305,28 @@ commit;
|
||||
-- ruimte_nr := SUBSTR(rec.KAMERNUMMER, 4, 2);
|
||||
--END IF;
|
||||
|
||||
SELECT count(alg_ruimte_key)
|
||||
SELECT count(g.alg_ruimte_key)
|
||||
INTO ncount
|
||||
FROM alg_v_allonrgoed_gegevens
|
||||
WHERE alg_gebouw_code = gebouw_code
|
||||
AND alg_verdieping_code = verdieping_code
|
||||
AND alg_ruimte_nr = ruimte_nr;
|
||||
|
||||
FROM alg_v_allonrgoed_gegevens g, alg_ruimte r
|
||||
WHERE g.alg_gebouw_code = gebouw_code
|
||||
AND g.alg_verdieping_code = verdieping_code
|
||||
AND g.alg_ruimte_nr = ruimte_nr
|
||||
AND r.alg_ruimte_key = g.alg_ruimte_key
|
||||
AND r.alg_ruimte_verwijder is null;
|
||||
|
||||
IF ncount = 1 THEN
|
||||
|
||||
SELECT alg_ruimte_key
|
||||
INTO ruimte_key_new
|
||||
FROM alg_v_allonrgoed_gegevens
|
||||
WHERE alg_gebouw_code = gebouw_code
|
||||
AND alg_verdieping_code = verdieping_code
|
||||
AND alg_ruimte_nr = ruimte_nr;
|
||||
|
||||
|
||||
SELECT g.alg_ruimte_key
|
||||
INTO ruimte_key_new
|
||||
FROM alg_v_allonrgoed_gegevens g, alg_ruimte r
|
||||
WHERE g.alg_gebouw_code = gebouw_code
|
||||
AND g.alg_verdieping_code = verdieping_code
|
||||
AND g.alg_ruimte_nr = ruimte_nr
|
||||
AND r.alg_ruimte_key = g.alg_ruimte_key
|
||||
AND r.alg_ruimte_verwijder is null;
|
||||
|
||||
ELSE
|
||||
|
||||
|
||||
-- Behandelen als persoon zonder werkplek indien ruimtenummer niet gevonden n Facilitor CGEYLOG#
|
||||
SELECT PRS_SRTPERSLID_KEY
|
||||
INTO SRTPERSLID_KEY
|
||||
@@ -331,14 +336,14 @@ commit;
|
||||
ruimte_key_new := 0;
|
||||
|
||||
warningmsg := warningmsg || ' (warning : bepalen gebouw/verdieping/ruimte a.d.h.v. KAMERNUMMER <' || rec.KAMERNUMMER || ')';
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
-- insert into fip_sandra values('bepalen werkplek ....',sysdate);
|
||||
-- commit;
|
||||
-- commit;
|
||||
|
||||
errorMsg := ' (error : bepalen werkplek)';
|
||||
|
||||
@@ -399,10 +404,10 @@ commit;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
-- insert into fip_sandra values('verwijderen oude werkplek indien van toepassing ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
-- commit;
|
||||
|
||||
|
||||
errorMsg := ' (error : verwijderen oude werkplek indien van toepassing)';
|
||||
|
||||
@@ -420,10 +425,10 @@ commit;
|
||||
END IF;
|
||||
|
||||
errorMsg := ' (error : bepaling naam + tussenvoegsel)';
|
||||
|
||||
|
||||
-- insert into fip_sandra values('bepaling naam + tussenvoegsel ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
-- commit;
|
||||
|
||||
|
||||
-- CAPG#116 IF rec.TUSSENVOEGSEL IS NULL THEN
|
||||
PERSLID_NAAM := SUBSTR(rec.PRS_PERSLID_NAAM,1,30);
|
||||
@@ -445,15 +450,15 @@ commit;
|
||||
prs_perslid_oslogin_old := '';
|
||||
|
||||
IF perslid_key = 0 THEN
|
||||
|
||||
|
||||
-- insert into fip_sandra values('daadwerkelijk toevoegen {insert} persoon ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
-- commit;
|
||||
|
||||
IF errorMsg2 = '' THEN
|
||||
errorMsg := ' (error : daadwerkelijk toevoegen {insert} persoon)';
|
||||
ELSE
|
||||
errorMsg := ' (error : daadwerkelijk toevoegen {insert} persoon)';
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
insert into PRS_PERSLID
|
||||
(PRS_PERSLID_MODULE
|
||||
@@ -491,9 +496,9 @@ commit;
|
||||
FROM prs_perslid;
|
||||
|
||||
ELSE
|
||||
|
||||
|
||||
-- insert into fip_sandra values('daadwerkelijk wijzigen {update} persoon ....',sysdate);
|
||||
-- commit;
|
||||
-- commit;
|
||||
|
||||
errorMsg := ' (error : daadwerkelijk wijzigen {update} persoon)';
|
||||
|
||||
@@ -519,9 +524,9 @@ commit;
|
||||
where prs_perslid_key = perslid_key;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
-- insert into fip_sandra values('aanmaken gedeelte logging ....',sysdate);
|
||||
-- commit;
|
||||
-- commit;
|
||||
|
||||
errorMsg := ' (error : aanmaken gedeelte logging)';
|
||||
|
||||
@@ -548,10 +553,10 @@ commit;
|
||||
IF upper(prs_perslid_oslogin_old) <> upper(rec.PRS_PERSLID_OSLOGIN) THEN
|
||||
update_msg := update_msg || ' ***Loginid:<' || prs_perslid_oslogin_old || '> wordt <' || upper(rec.PRS_PERSLID_OSLOGIN) || '>';
|
||||
END IF;
|
||||
|
||||
|
||||
-- insert into fip_sandra values('aanmaken nieuwe werkplek indien van toepassing ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
-- commit;
|
||||
|
||||
|
||||
errorMsg := ' (error : aanmaken nieuwe werkplek indien van toepassing)';
|
||||
|
||||
@@ -644,10 +649,10 @@ commit;
|
||||
ELSE
|
||||
email_old := '';
|
||||
END IF;
|
||||
|
||||
|
||||
-- insert into fip_sandra values('Tenslotte: Kenmerken ....',sysdate);
|
||||
-- commit;
|
||||
|
||||
-- commit;
|
||||
|
||||
|
||||
-- Email kenmerk
|
||||
IF rec.PERSLID_EMAIL IS NOT NULL THEN
|
||||
@@ -696,7 +701,7 @@ commit;
|
||||
update_msg := '*UPDATE*!' || 'perslid_key = <' || to_char(perslid_key) || '>';
|
||||
END IF;
|
||||
|
||||
IF update_record = 0 THEN
|
||||
IF update_record = 0 THEN
|
||||
|
||||
errorMsg := ' (error : add person to group with prs_perslid_key = [' || to_char(perslid_key) || '])';
|
||||
|
||||
@@ -704,7 +709,7 @@ commit;
|
||||
VALUES (perslid_key, groep_key);
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
update fip_perslid_sap
|
||||
set fip_error = update_msg
|
||||
where fip_perslid_sap_key = rec.fip_perslid_sap_key;
|
||||
@@ -759,9 +764,9 @@ commit;
|
||||
update fip_perslid_sap
|
||||
set fip_error2 = errorMsg
|
||||
where fip_perslid_sap_key = rec.fip_perslid_sap_key;
|
||||
|
||||
|
||||
commit; -- Opslaan logging!!
|
||||
END;
|
||||
END;
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -773,6 +778,7 @@ commit;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
SET ECHO OFF
|
||||
SET HEADING OFF
|
||||
SET LINESIZE 2048
|
||||
@@ -801,4 +807,3 @@ SPOOL OFF
|
||||
commit;
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user