Files
Customer/CONN/Once/conn#318.sql
Richard Derks e52cc50b87 conn#459
svn path=/Customer/trunk/; revision=12737
2005-05-23 08:45:06 +00:00

953 lines
24 KiB
SQL

drop trigger conn_prs_kenmerklink_b_u_i;
/* Bestaat al
CREATE TABLE CONN_EXP_TELEFOON
(
PERSONEELSNR VARCHAR2(16) NOT NULL,
LOGIN VARCHAR2(30),
TELEFOONNR VARCHAR2(15),
MOBIELNR VARCHAR2(15),
FAXNR VARCHAR2(15),
EMAIL VARCHAR2(50),
MUTATIEDATUMTIJD DATE DEFAULT sysdate
);
*/
CREATE TABLE CONN_EXP_DEBITEUR
(prs_key NUMBER(10)
,prs_type VARCHAR2(1)
,Huurdernummer VARCHAR2(20)
,Budgetcode VARCHAR2(20)
,Factureren_aan VARCHAR2(20)
,Debiteurnaam VARCHAR2(60)
,Adres VARCHAR2(35)
,Postcode VARCHAR2(12)
,Plaats VARCHAR2(30)
,Land VARCHAR2(30)
,Telefoon VARCHAR2(20)
,Fax VARCHAR2(20)
,Email VARCHAR2(80)
,Blokering VARCHAR2(3)
,Mutatiedatumtijd DATE
);
CREATE OR REPLACE TRIGGER conn_prs_afdeling_u_i
AFTER UPDATE OR INSERT
ON prs_afdeling
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_count NUMBER (10);
v_fout VARCHAR2 (2048);
BEGIN
select count(*)
into v_count
FROM CONN_EXP_DEBITEUR
WHERE prs_key = :NEW.prs_afdeling_key
AND prs_type = 'A'
AND Blokering <> 'JA';
IF (v_count = 0) THEN
IF :NEW.prs_afdeling_verwijder IS NULL THEN
insert into CONN_EXP_DEBITEUR
(prs_key
,prs_type
,Debiteurnaam
,Mutatiedatumtijd
,Blokering)
values
(:NEW.prs_afdeling_key
,'A'
,''
,sysdate
,'NEE');
END IF;
ELSE
IF :NEW.prs_afdeling_verwijder IS NULL THEN
update CONN_EXP_DEBITEUR
set Mutatiedatumtijd = sysdate
where prs_key = :NEW.PRS_AFDELING_KEY
and prs_type = 'A'
and Blokering <> 'JA';
ELSE
-- Eigenlijk is dit de delete aktie
update CONN_EXP_DEBITEUR
set Mutatiedatumtijd = sysdate
,Blokering = 'JA'
where prs_key in (:NEW.prs_afdeling_key, :OLD.prs_afdeling_key)
and prs_type = 'A'
and Blokering <> 'JA';
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_afdeling_d
AFTER DELETE
ON prs_afdeling
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_aantal NUMBER (1);
BEGIN
-- Eigenlijk is dit de delete aktie
update CONN_EXP_DEBITEUR
set Mutatiedatumtijd = sysdate
,Blokering = 'JA'
where prs_key in (:NEW.prs_afdeling_key, :OLD.prs_afdeling_key)
and prs_type = 'A'
and Blokering <> 'JA';
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_bedrijf_u_i
AFTER UPDATE OR INSERT
ON prs_bedrijf
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_count NUMBER (10);
v_fout VARCHAR2 (2048);
BEGIN
select count(*)
into v_count
FROM CONN_EXP_DEBITEUR
WHERE prs_key = :NEW.prs_bedrijf_key
AND prs_type = 'B'
AND Blokering <> 'JA';
IF :new.prs_bedrijf_huurder = 1 THEN
IF (v_count = 0) THEN
IF :NEW.prs_bedrijf_verwijder IS NULL THEN
insert into CONN_EXP_DEBITEUR
(prs_key
,prs_type
,Adres
,Postcode
,Plaats
,Land
,Telefoon
,Fax
,Email
,Blokering
,Mutatiedatumtijd)
values
(:NEW.prs_bedrijf_key
,'B'
,SUBSTR(:NEW.PRS_BEDRIJF_POST_ADRES,1,35)
,SUBSTR(:NEW.PRS_BEDRIJF_POST_POSTCODE,1,12)
,SUBSTR(:NEW.PRS_BEDRIJF_POST_PLAATS,1,30)
,SUBSTR(:NEW.PRS_BEDRIJF_POST_LAND,1,30)
,SUBSTR(:NEW.PRS_BEDRIJF_TELEFOON,1,20)
,SUBSTR(:NEW.PRS_BEDRIJF_FAX,1,20)
,SUBSTR(:NEW.PRS_BEDRIJF_EMAIL,1,80)
,'NEE'
,sysdate);
END IF;
ELSE
IF :NEW.prs_bedrijf_verwijder IS NULL THEN
update CONN_EXP_DEBITEUR
set Adres = SUBSTR(:NEW.PRS_BEDRIJF_POST_ADRES,1,35)
,Postcode = SUBSTR(:NEW.PRS_BEDRIJF_POST_POSTCODE,1,12)
,Plaats = SUBSTR(:NEW.PRS_BEDRIJF_POST_PLAATS,1,30)
,Land = SUBSTR(:NEW.PRS_BEDRIJF_POST_LAND,1,30)
,Telefoon = SUBSTR(:NEW.PRS_BEDRIJF_TELEFOON,1,20)
,Fax = SUBSTR(:NEW.PRS_BEDRIJF_FAX,1,20)
,Email = SUBSTR(:NEW.PRS_BEDRIJF_EMAIL,1,80)
,Mutatiedatumtijd = sysdate
where prs_key = :NEW.PRS_BEDRIJF_KEY
and prs_type = 'B'
and Blokering <> 'JA';
ELSE
-- Eigenlijk is dit de delete aktie
update CONN_EXP_DEBITEUR
set Mutatiedatumtijd = sysdate
,Blokering = 'JA'
where prs_key in (:NEW.prs_bedrijf_key, :OLD.prs_bedrijf_key)
and prs_type = 'B'
and Blokering <> 'JA';
END IF;
END IF;
ELSE
IF (v_count > 0) THEN
-- Eigenlijk is dit de delete aktie
update CONN_EXP_DEBITEUR
set Mutatiedatumtijd = sysdate
,Blokering = 'JA'
where prs_key in (:NEW.prs_bedrijf_key, :OLD.prs_bedrijf_key)
and prs_type = 'B'
and Blokering <> 'JA';
END IF;
END IF; -- IF :new.huurder = 1
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_perslid_u_i2
AFTER UPDATE OR INSERT
ON prs_perslid
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_count NUMBER (10);
v_fout VARCHAR2 (2048);
BEGIN
IF :NEW.prs_perslid_nr IS NULL THEN
v_count := 0;
ELSE
select count(*)
into v_count
FROM CONN_EXP_TELEFOON
WHERE PERSONEELSNR = :OLD.prs_perslid_nr;
END IF;
IF (v_count = 0) THEN
IF (:NEW.prs_perslid_verwijder IS NULL) AND NOT (:NEW.prs_perslid_nr IS NULL) THEN
insert into CONN_EXP_TELEFOON
(PERSONEELSNR
,LOGIN
,TELEFOONNR)
values
(substr(:NEW.prs_perslid_nr,1,16)
,substr(:NEW.prs_perslid_oslogin,1,30)
,substr(:NEW.prs_perslid_telefoonnr,1,15));
END IF;
ELSE
IF :NEW.prs_perslid_verwijder IS NULL THEN
update CONN_EXP_TELEFOON
set LOGIN = :NEW.prs_perslid_oslogin
,TELEFOONNR = :NEW.prs_perslid_telefoonnr
,PERSONEELSNR = :NEW.prs_perslid_nr
,MUTATIEDATUMTIJD = sysdate
WHERE PERSONEELSNR = :OLD.prs_perslid_nr;
ELSE
delete
from CONN_EXP_TELEFOON
WHERE PERSONEELSNR = :NEW.prs_perslid_nr;
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_bedrijf_d
AFTER DELETE
ON prs_bedrijf
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_aantal NUMBER (1);
BEGIN
IF :old.prs_bedrijf_huurder = 1 THEN
-- Eigenlijk is dit de delete aktie
update CONN_EXP_DEBITEUR
set Mutatiedatumtijd = sysdate
,Blokering = 'JA'
where prs_key in (:NEW.prs_bedrijf_key, :OLD.prs_bedrijf_key)
and prs_type = 'B'
and Blokering <> 'JA';
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_perslid_d
AFTER DELETE
ON prs_perslid
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_aantal NUMBER (1);
BEGIN
delete
from CONN_EXP_TELEFOON
where PERSONEELSNR = :old.prs_perslid_nr;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_u_i
AFTER UPDATE OR INSERT
ON prs_kenmerklink
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_message VARCHAR2(32);
v_aantal NUMBER (1);
v_kenmerklink_waarde prs_kenmerklink.prs_kenmerklink_waarde%type;
v_link_key prs_perslid.prs_perslid_key%type;
v_perslid_nr prs_perslid.prs_perslid_nr%type;
BEGIN
IF :new.prs_kenmerklink_verwijder IS NULL THEN
v_kenmerklink_waarde := :new.prs_kenmerklink_waarde;
ELSE
v_kenmerklink_waarde := '';
END IF;
IF (:new.prs_kenmerk_key = 5) -- Email (type = P)
or (:new.prs_kenmerk_key = 1080) -- Faxnr (type = P)
or (:new.prs_kenmerk_key = 1081) -- Mobielnr (type = P)
THEN
BEGIN
BEGIN
v_perslid_nr := '';
v_link_key := -1;
IF :new.prs_kenmerklink_niveau = 'P' THEN
select prs_perslid_nr
into v_perslid_nr
from prs_perslid
where prs_perslid_verwijder is null
and prs_perslid_key = :new.prs_link_key;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_perslid_nr := v_perslid_nr;
END;
-- Email (type = P)
IF (:new.prs_kenmerk_key = 5) THEN
update CONN_EXP_TELEFOON
set EMAIL = SUBSTR(v_kenmerklink_waarde,1,50)
where PERSONEELSNR = v_perslid_nr;
END IF;
-- Faxnr (type = P)
IF (:new.prs_kenmerk_key = 1080) THEN
update CONN_EXP_TELEFOON
set FAXNR = SUBSTR(v_kenmerklink_waarde,1,15)
where PERSONEELSNR = v_perslid_nr;
END IF;
-- Mobielnr (type = P)
IF (:new.prs_kenmerk_key = 1081) THEN
update CONN_EXP_TELEFOON
set MOBIELNR = SUBSTR(v_kenmerklink_waarde,1,15)
where PERSONEELSNR = v_perslid_nr;
END IF;
END;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_u_i2
AFTER UPDATE OR INSERT
ON prs_kenmerklink
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_message VARCHAR2(32);
v_aantal NUMBER (1);
v_kenmerklink_waarde prs_kenmerklink.prs_kenmerklink_waarde%type;
v_perslid_nr prs_perslid.prs_perslid_nr%type;
v_link_key prs_perslid.prs_perslid_key%type;
BEGIN
-- Init
IF :new.prs_kenmerklink_verwijder IS NULL THEN
v_kenmerklink_waarde := :new.prs_kenmerklink_waarde;
ELSE
v_kenmerklink_waarde := '';
END IF;
v_link_key := -1;
IF (:new.prs_kenmerk_key = 1102) -- Straat + nr (type = A)
or (:new.prs_kenmerk_key = 1103) -- Postcode (type = A)
or (:new.prs_kenmerk_key = 1104) -- Plaats (type = A)
or (:new.prs_kenmerk_key = 1061) -- Huurdernr (type = A)
or (:new.prs_kenmerk_key = 1010) -- Huurdernummer (type = B)
or (:new.prs_kenmerk_key = 1060) -- Budgetcode (type = A)
or (:new.prs_kenmerk_key = 1011) -- Budgetcode (type = B)
or (:new.prs_kenmerk_key = 1100) -- Factureren aan (type = A)
or (:new.prs_kenmerk_key = 1014) -- Factureren aan (type = B)
or (:new.prs_kenmerk_key = 1013) -- Debiteurnaam (type = A)
or (:new.prs_kenmerk_key = 1012) -- Officiele_bedrijfsnaam (type = B)
THEN
-- Bepalen v_link_key
IF :new.prs_kenmerklink_niveau = 'A' THEN
select prs_afdeling_key
into v_link_key
from prs_afdeling
where prs_afdeling_verwijder is null
and prs_afdeling_key = :new.prs_link_key;
END IF;
IF :new.prs_kenmerklink_niveau = 'B' THEN
select prs_bedrijf_key
into v_link_key
from prs_bedrijf
where prs_bedrijf_verwijder is null
and prs_bedrijf_key = :new.prs_link_key;
END IF;
-- Huurdernr (type = A)
IF (:new.prs_kenmerk_key = 1061) THEN
update CONN_EXP_DEBITEUR
set Huurdernummer = SUBSTR(v_kenmerklink_waarde,1,20)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
update prs_afdeling
set prs_afdeling_kostenplaats = SUBSTR(prs_afdeling_kostenplaats||'/',1,20)
where prs_afdeling_key = v_link_key
and ( (instr(prs_afdeling_kostenplaats,'/') = 0) or (prs_afdeling_kostenplaats is null) );
update prs_afdeling
set prs_afdeling_kostenplaats =
replace(prs_afdeling_kostenplaats,
substr(prs_afdeling_kostenplaats,instr(prs_afdeling_kostenplaats,'/')),
'/'||substr(v_kenmerklink_waarde,1,20)
)
where prs_afdeling_key = v_link_key;
END IF;
-- Huurdernummer (type = B)
IF (:new.prs_kenmerk_key = 1010) THEN
update CONN_EXP_DEBITEUR
set Huurdernummer = SUBSTR(v_kenmerklink_waarde,1,20)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
update prs_bedrijf
set prs_leverancier_nr = SUBSTR(prs_leverancier_nr||'/',1,20)
where prs_bedrijf_key = v_link_key
and ( (instr(prs_leverancier_nr,'/') = 0) or (prs_leverancier_nr is null) );
update prs_bedrijf
set prs_leverancier_nr =
substr(
replace(NVL(prs_leverancier_nr,''),
substr(NVL(prs_leverancier_nr,''),instr(NVL(prs_leverancier_nr,''),'/')),
'/'||SUBSTR(v_kenmerklink_waarde,1,20)
)
,1,20)
where prs_bedrijf_key = v_link_key;
END IF;
-- Budgetcode (type = A)
IF (:new.prs_kenmerk_key = 1060) THEN
update CONN_EXP_DEBITEUR
set Budgetcode = SUBSTR(v_kenmerklink_waarde,1,20)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
update prs_afdeling
set prs_afdeling_kostenplaats = SUBSTR(prs_afdeling_kostenplaats||'/',1,20)
where prs_afdeling_key = v_link_key
and ( (instr(prs_afdeling_kostenplaats,'/') = 0) or (prs_afdeling_kostenplaats is null) );
update prs_afdeling
set prs_afdeling_kostenplaats =
replace(prs_afdeling_kostenplaats,
substr(prs_afdeling_kostenplaats,1,instr(prs_afdeling_kostenplaats,'/')),
substr(v_kenmerklink_waarde,1,20)||'/'
)
where prs_afdeling_key = v_link_key;
END IF;
-- Budgetcode (type = B)
IF (:new.prs_kenmerk_key = 1011) THEN
update CONN_EXP_DEBITEUR
set Budgetcode = SUBSTR(v_kenmerklink_waarde,1,20)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
update prs_bedrijf
set prs_leverancier_nr = SUBSTR(prs_leverancier_nr||'/',1,20)
where prs_bedrijf_key = v_link_key
and ( (instr(prs_leverancier_nr,'/') = 0) or (prs_leverancier_nr is null) );
update prs_bedrijf
set prs_leverancier_nr =
substr(
replace(NVL(prs_leverancier_nr,''),
substr(NVL(prs_leverancier_nr,''),1,instr(NVL(prs_leverancier_nr,''),'/')),
SUBSTR(v_kenmerklink_waarde,1,20)||'/'
)
,1,20)
where prs_bedrijf_key = v_link_key;
END IF;
-- Factureren aan (type = A)
IF (:new.prs_kenmerk_key = 1100) THEN
update CONN_EXP_DEBITEUR
set Factureren_aan = SUBSTR(v_kenmerklink_waarde,1,20)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Factureren aan (type = B)
IF (:new.prs_kenmerk_key = 1014) THEN
update CONN_EXP_DEBITEUR
set Factureren_aan = SUBSTR(v_kenmerklink_waarde,1,20)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Debiteurnaam (type = A)
IF (:new.prs_kenmerk_key = 1013) THEN
update CONN_EXP_DEBITEUR
set Debiteurnaam = SUBSTR(v_kenmerklink_waarde,1,60)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Officiele_bedrijfsnaam (type = B)
IF (:new.prs_kenmerk_key = 1012) THEN
update CONN_EXP_DEBITEUR
set Debiteurnaam = SUBSTR(v_kenmerklink_waarde,1,60)
where prs_key = v_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Straat + nr / Adres (type = A)
IF (:new.prs_kenmerk_key = 1102) THEN
update CONN_EXP_DEBITEUR
set Adres = SUBSTR(v_kenmerklink_waarde,1,35)
where prs_key = :new.prs_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Postcode (type = A)
IF (:new.prs_kenmerk_key = 1103) THEN
update CONN_EXP_DEBITEUR
set Postcode = SUBSTR(v_kenmerklink_waarde,1,12)
where prs_key = :new.prs_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Plaats (type = A)
IF (:new.prs_kenmerk_key = 1104) THEN
update CONN_EXP_DEBITEUR
set Plaats = SUBSTR(v_kenmerklink_waarde,1,30)
where prs_key = :new.prs_link_key
and prs_type = :new.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_d
AFTER DELETE
ON prs_kenmerklink
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_aantal NUMBER (1);
v_perslid_nr prs_perslid.prs_perslid_nr%type;
BEGIN
-- Adres
IF (:old.prs_kenmerk_key = 1102) THEN
update CONN_EXP_DEBITEUR
set Adres = ''
where prs_key = :old.prs_link_key
and prs_type = :old.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Postcode
IF (:old.prs_kenmerk_key = 1103) THEN
update CONN_EXP_DEBITEUR
set Postcode = ''
where prs_key = :old.prs_link_key
and prs_type = :old.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
-- Plaats
IF (:old.prs_kenmerk_key = 1104) THEN
update CONN_EXP_DEBITEUR
set Plaats = ''
where prs_key = :old.prs_link_key
and prs_type = :old.prs_kenmerklink_niveau
and Blokering <> 'JA';
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
CREATE OR REPLACE TRIGGER conn_prs_kenmerklink_d2
AFTER DELETE
ON prs_kenmerklink
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
v_fout VARCHAR2 (2048);
v_aantal NUMBER (1);
v_perslid_nr prs_perslid.prs_perslid_nr%type;
BEGIN
IF (:old.prs_kenmerk_key = 5) or (:old.prs_kenmerk_key = 1080) or (:old.prs_kenmerk_key = 1081) THEN
BEGIN
BEGIN
select max(prs_perslid_nr)
into v_perslid_nr
from prs_perslid
where prs_perslid_verwijder is null
and prs_perslid_key = :old.prs_link_key;
EXCEPTION
WHEN OTHERS
THEN
v_perslid_nr := '';
END;
-- Emailadres
IF (:old.prs_kenmerk_key = 5) THEN
update CONN_EXP_TELEFOON
set EMAIL = ''
where PERSONEELSNR = v_perslid_nr;
END IF;
-- Faxnr
IF (:old.prs_kenmerk_key = 1080) THEN
update CONN_EXP_TELEFOON
set FAXNR = ''
where PERSONEELSNR = v_perslid_nr;
END IF;
-- Mobielnr
IF (:old.prs_kenmerk_key = 1081) THEN
update CONN_EXP_TELEFOON
set MOBIELNR = ''
where PERSONEELSNR = v_perslid_nr;
END IF;
END;
END IF;
EXCEPTION
WHEN OTHERS
THEN
v_fout := SQLERRM;
END;
/
commit;
-- ********************************************
-- *** Werk tabel CONN_EXP_DEBITEUR bij ... ***
-- ********************************************
update prs_afdeling
set prs_afdeling_naam = prs_afdeling_naam
where prs_afdeling_verwijder is null;
commit;
update prs_bedrijf
set prs_bedrijf_key = prs_bedrijf_key
where prs_bedrijf_verwijder is null;
commit;
delete from CONN_EXP_TELEFOON;
commit;
update prs_perslid
set prs_perslid_key = prs_perslid_key
where prs_perslid_verwijder is null;
commit;
update prs_kenmerklink
set PRS_KENMERK_KEY = PRS_KENMERK_KEY
where prs_kenmerklink_verwijder is null;
commit;
/* test CONN_EXP_DEBITEUR + CONN_EXP_TELEFOON
1. BEDRIJF
1.1 Worden alle bedrijfgegevens initieel (na verwerking sql-update Facilitor) gevuld?
Vul voor aanroep van sql-update-data het volgende bedrijf toe:
insert into prs_bedrijf
(prs_bedrijf_naam
,prs_bedrijf_post_adres
,prs_bedrijf_post_postcode
,prs_bedrijf_post_plaats
,prs_bedrijf_post_land
,prs_bedrijf_telefoon
,prs_bedrijf_fax
,prs_bedrijf_email
,prs_bedrijf_huurder)
values
('Dijkoraad'
,'post_adres'
,'post_pcode'
,'post_plaats'
,'post_land'
,'telefoon'
,'fax'
,'email'
,'1');
... en voeg tevens in Facilitor waarden toe voor de flexibele kenmerken:
1. Huurdernummer
2. Budgetcode
3. Factureren_aan
4. Officile bedrijfsnaam (Debiteurnaam)
Voer de sql-update-data routine uit.
Resultaat 2 onderstaande query = 412:
select count(*) from CONN_EXP_DEBITEUR where prs_type = 'B'
select count(*)
from prs_bedrijf
where prs_bedrijf_verwijder is null
and prs_bedrijf_huurder = '1'
1.2 Worden alle bedrijfgegevens correct gewijzigd (alle velden incl. flexibele kenmerken, zie 1.1)?
1.3 Toggele vinkje 'Huurder': krijgt het veld blokering de waarde 'JA' bij verwijderen vinkje?
En worden de velden met rust gelaten indien in Facilitor een bedrijf geen huurder meer is en de
gegevens van betreffende bedrijf in Facilitor veranderen, incl. flexibele kenmerken?
Zet het vinkje er weer op. Wordt er een nieuw records aangemaakt in de koppeltabel met alle waarden ingevuld?
1.4 Worden bedrijfgegevens 'verwijderd' (Blokering wordt 'JA'?) bij verwijderen v/e bedrijf uit Facilitor?
1.5 Worden van alle bedrijven, dus ook bedrijven die geen huurder zijn, het leveranciernummer bijgewerkt?
1.6 Voeg een bedrijf toe middels de web-interface. Wordt de koppeltabel correct bijgewerkt?
2. AFDELING
2.1 Worden alle afdelingsgegevens (dus alle velden incl waarden voor flexibele kenmerken) initieel
(na verwerking sql-update Facilitor) gevuld?
Onderstaande 2 queries geven beide hetzelfde resultaat, te weten 772:
select count(*) from CONN_EXP_DEBITEUR where prs_type = 'A'
select count(*) from prs_afdeling where prs_afdeling_verwijder is null
2.2 Worden alle afdelinggegevens correct gewijzigd bij wijzigingen middels de web-interface (alle velden incl.
flexibele kenmerken, zie 2.1)?
2.3 Worden afdelingsgegevens 'verwijderd' (Blokering wordt 'JA'?) bij verwijderen v/e bedrijf uit Facilitor?
2.4 Voeg een afdeling toe middels de web-interface. Wordt de koppeltabel correct bijgewerkt?
2.5 Wordt het veld Kostenplaats correct geupdate (dit veld is afhankelijk van de flexibele kenmerken Budgetcode
en huurdernummer).
3. PERSONEN
LET OP, getest met:
drop trigger CONN_ETN_ARI;
drop trigger CONN_ETN_ARU;
In CONN klaagen een insert-statement alsnog mbt de bovenstaande trigger. Kennelijk wordt vanuit CONN
verwezen naar CONN_448??? Drop de user ook in CONN_448.
3.1 Worden alle persoonsgegevens (dus alle velden incl waarden voor flexibele kenmerken) initieel
(na verwerking sql-update Facilitor) gevuld?
3.2 Wijzigen alle velden (dus ook de flexibele kenmerken Emailadres, Faxnr en Mobilenr) in de koppeltabel correct
bij wijzigen van de persoongegevens, dus ook het verwijderen van een kenmerkwaarde?
Wijzig ook het personeelsnummer: er mag geen nieuw record aangemaakt worden!
3.3 Delete een persoon (verwijderdatum krijgt een waarde) en voeg deze weer toe met HETZELFDE personeelsnummer.
OPMERKINGEN:
1.6 Bij invullen van alle waarden, dus inclusief alle flexibele kenmerken, worden de flexibele kenmerken
NIET opgeslagen, inclusief het record in de koppeltabel. In 2-de instantie (wijzigen) lukt dit wel.
==> FSN#1210 - PRS: flexprops worden niet bewaard bij insert
2.4 Zie 1.6
*/