CGEY#098 - PRS: Personen die uitdienst zijn verwijderen uit Facilitor

svn path=/Customer/trunk/; revision=12682
This commit is contained in:
Richard Derks
2005-01-04 12:53:38 +00:00
parent cc58700c6d
commit 02d73b5cab
4 changed files with 48 additions and 9 deletions

Binary file not shown.

View File

@@ -24,6 +24,7 @@ FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
,PRS_PERSLID_WACHTWOORD POSITION(999:1000)
,PERSLID_EMAIL POSITION(193:242)
,KAMERNUMMER POSITION(243:252)
,UITDIENST POSITION(303:304)
,IMPORTROW POSITION(1:304)
)

View File

@@ -1,4 +1,4 @@
-- Versie 2.3
-- Versie 2.4
SET ECHO ON
SET HEADING ON
@@ -34,14 +34,21 @@ set fip_error = IMPORTROW
,PRS_PERSLID_OSLOGIN = LTRIM(RTRIM(PRS_PERSLID_OSLOGIN))
,PRS_PERSLID_WACHTWOORD = LTRIM(RTRIM(PRS_PERSLID_WACHTWOORD))
,PERSLID_EMAIL = LTRIM(RTRIM(PERSLID_EMAIL))
,KAMERNUMMER = LTRIM(RTRIM(KAMERNUMMER));
,KAMERNUMMER = LTRIM(RTRIM(KAMERNUMMER))
,UITDIENST = LTRIM(RTRIM(UITDIENST));
-- PRS_PERSLID
DECLARE
CURSOR c1 IS
SELECT *
FROM fip_perslid_sap
ORDER BY fip_perslid_sap_key;
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
and rownum = 1)
ORDER BY ps.fip_perslid_sap_key;
rec c1%rowtype;
teller integer;
locatie_key number(10);
@@ -693,8 +700,38 @@ commit;
update fip_perslid_sap
set fip_error = update_msg
where fip_perslid_sap_key = rec.fip_perslid_sap_key;
commit; -- Geen fouten opgetreden, rollback niet meer nodig
-- Persoon is weer up2date. Moet deze nu "verwijderd"/"uit dienst genomen" worden?
IF rec.UITDIENST = 'UD' THEN
errorMsg := ' (error : bepalen of en hoeveel verplichtingen de te verwijderen persoon heeft met prs_perslid_key = [' || to_char(perslid_key) || '])';
SELECT count(*)
INTO nCount
FROM prs_v_verplichting
WHERE prs_perslid_key = 0;
IF nCount = 0 THEN
errorMsg := ' (error : de te verwijderen persoon heeft geen verplichtingen (meer) en kan verwijderd worden met prs_perslid_key = [' || to_char(perslid_key) || '])';
update prs_perslid
set prs_perslid_verwijder = sysdate
where prs_perslid_key = perslid_key;
ELSE
errorMsg := ' (error : de te verwijderen persoon heeft wel verplichtingen en kan niet verwijderd worden met prs_perslid_key = [' || to_char(perslid_key) || '])';
update prs_perslid
set prs_perslid_einddatum = sysdate
where prs_perslid_key = perslid_key;
END IF;
END IF;
commit; -- Geen fouten opgetreden, rollback niet meer nodig ....
-- Eventuele warnings loggen ...
update fip_perslid_sap

View File

@@ -2,11 +2,11 @@ set echo on
show user
--DROP SEQUENCE fip_s_fip_perslid_sap_key;
DROP SEQUENCE fip_s_fip_perslid_sap_key;
--DROP trigger fip_t_fip_prs_sap_B_IU;
DROP trigger fip_t_fip_prs_sap_B_IU;
--DROP table fip_perslid_sap;
DROP table fip_perslid_sap;
CREATE TABLE fip_perslid_sap
(
@@ -30,6 +30,7 @@ CREATE TABLE fip_perslid_sap
PRS_PERSLID_WACHTWOORD VARCHAR2 (30),
PERSLID_EMAIL VARCHAR2 (50),
KAMERNUMMER VARCHAR2 (10),
UITDIENST VARCHAR2 (2),
IMPORTROW VARCHAR2 (1024),
FIP_PERSLID_SAP_KEY NUMBER(10),
FIP_ERROR VARCHAR2 (2048),