CGEY#098 - PRS: Personen die uitdienst zijn verwijderen uit Facilitor
svn path=/Customer/trunk/; revision=12682
This commit is contained in:
Binary file not shown.
@@ -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)
|
||||
)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user