cgey#170 - Minder kritisch maken van Kamernummers bij import gegevens uit SAP

svn path=/Customer/trunk/; revision=12880
This commit is contained in:
Richard Derks
2006-01-27 12:01:56 +00:00
parent 1807cd70f9
commit 32f96577e8

View File

@@ -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;