fsn#646
Herziening (andere inplementatie) call fsn#646 svn path=/Customer/trunk/; revision=12602
This commit is contained in:
0
CONN/Partners/.gitignore
vendored
0
CONN/Partners/.gitignore
vendored
93
CONN/Partners/OAC_partners.sql
Normal file
93
CONN/Partners/OAC_partners.sql
Normal file
@@ -0,0 +1,93 @@
|
||||
CREATE OR REPLACE TRIGGER OAC_SPN_BRI
|
||||
BEFORE INSERT ON OAC_STG_PARTNERS FOR EACH ROW
|
||||
DECLARE
|
||||
--
|
||||
-- declaration section
|
||||
--
|
||||
cn_module varchar2(2000) := 'OAC_SPN_BRI';
|
||||
v_result NUMBER(10);
|
||||
--
|
||||
BEGIN
|
||||
|
||||
v_result := CONN.CONN_PARTNERS.verwerk_partner
|
||||
( :new.id
|
||||
, :new.Pnr_Type
|
||||
, :new.Pnr_Partnernummer
|
||||
, :new.Pnr_Naam
|
||||
, :new.Pnr_Telefoon
|
||||
, :new.Pnr_Mobiel
|
||||
, :new.Pnr_Fax
|
||||
, :new.Pnr_Email
|
||||
, :new.Pnr_Betalingsconditie
|
||||
, :new.Pnr_Mutatie_Ind
|
||||
, :new.Pst_Adres
|
||||
, :new.Pst_Postcode
|
||||
, :new.Pst_Plaats
|
||||
, :new.Pst_Land
|
||||
, :new.Pst_Mutatie_Ind
|
||||
, :new.Bzk_Adres
|
||||
, :new.Bzk_Postcode
|
||||
, :new.Bzk_Plaats
|
||||
, :new.Bzk_Land
|
||||
, :new.Bzk_Mutatie_Ind);
|
||||
|
||||
IF v_result > 0 THEN
|
||||
|
||||
:new.Verwerkt_Facilitor := sysdate;
|
||||
|
||||
-- Force trigger
|
||||
UPDATE OAC_STG_CONTACTPERSOON
|
||||
SET ID = ID
|
||||
WHERE PARTNER_ID = :new.id;
|
||||
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
raise_application_error(-20000, sqlerrm||' '||cn_module);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE TRIGGER OAC_STG_AFU
|
||||
AFTER UPDATE ON OAC_STG_CONTACTPERSOON FOR EACH ROW
|
||||
DECLARE
|
||||
--
|
||||
-- declaration section
|
||||
--
|
||||
cn_module varchar2(2000) := 'OAC_STG_AFU';
|
||||
v_result NUMBER(10);
|
||||
v_Pnr_Partnernummer VARCHAR(10);
|
||||
--
|
||||
BEGIN
|
||||
|
||||
v_result := CONN.CONN_PARTNERS.verwerk_contactpersoon
|
||||
(:new.PARTNER_ID
|
||||
,:new.id
|
||||
,:new.Ctn_Functie
|
||||
,:new.Ctn_Naam
|
||||
,:new.Ctn_Tussenvoegsel
|
||||
,:new.Ctn_Voornaam
|
||||
,:new.Ctn_Voorletters
|
||||
,:new.Ctn_Titel
|
||||
,:new.Ctn_Aanhef
|
||||
,:new.Ctn_Telefoon
|
||||
,:new.Ctn_Mobiel
|
||||
,:new.Ctn_Fax
|
||||
,:new.Ctn_Email
|
||||
,:new.Ctn_Mutatie_Ind);
|
||||
|
||||
/*
|
||||
|
||||
IF v_result <= 0 THEN
|
||||
|
||||
UPDATE OAC_STG_PARTNERS
|
||||
SET Verwerkt_Facilitor = TO_DATE(NULL)
|
||||
WHERE Id = :new.PARTNER_ID;
|
||||
|
||||
END IF;
|
||||
*/
|
||||
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
raise_application_error(-20000, sqlerrm||' '||cn_module);
|
||||
END;
|
||||
/
|
||||
|
||||
537
CONN/Partners/conn_partners.sql
Normal file
537
CONN/Partners/conn_partners.sql
Normal file
@@ -0,0 +1,537 @@
|
||||
CREATE SEQUENCE conn_s_conn_partners_error_key minvalue 1;
|
||||
|
||||
CREATE TABLE conn_partners_error
|
||||
(
|
||||
error_key NUMBER(15)
|
||||
,partner_id NUMBER(15)
|
||||
,error_date DATE
|
||||
,error_mes VARCHAR2(2048)
|
||||
);
|
||||
|
||||
CREATE OR REPLACE TRIGGER conn_t_partners_error_B_IU
|
||||
BEFORE INSERT OR UPDATE ON conn_partners_error
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
|
||||
IF :new.error_key IS NULL THEN
|
||||
SELECT conn_s_conn_partners_error_key.nextval
|
||||
INTO :new.error_key
|
||||
FROM DUAL;
|
||||
END IF;
|
||||
|
||||
IF :new.error_date IS NULL THEN
|
||||
:new.error_date := sysdate; --- :new.log_key := sysdate;
|
||||
END IF;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE SEQUENCE conn_s_contactpers_error_key minvalue 1;
|
||||
|
||||
CREATE TABLE conn_contactpersonen_error
|
||||
(
|
||||
error_key NUMBER(15)
|
||||
,partner_id NUMBER(15)
|
||||
,contactpersoon_id NUMBER(15)
|
||||
,error_date DATE
|
||||
,error_mes VARCHAR2(2048)
|
||||
);
|
||||
|
||||
CREATE OR REPLACE TRIGGER conn_t_contactpers_error_B_IU
|
||||
BEFORE INSERT OR UPDATE ON conn_contactpersonen_error
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
|
||||
IF :new.error_key IS NULL THEN
|
||||
SELECT conn_s_contactpers_error_key.nextval
|
||||
INTO :new.error_key
|
||||
FROM DUAL;
|
||||
END IF;
|
||||
|
||||
IF :new.error_date IS NULL THEN
|
||||
:new.error_date := sysdate; --- :new.log_key := sysdate;
|
||||
END IF;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE CONN_PARTNERS AS
|
||||
|
||||
/*
|
||||
|
||||
Tabel OAC_STG_PARTNER alias P:
|
||||
|
||||
P.Id p_partner_id
|
||||
P.Pnr_Type p_bedrijf_type
|
||||
P.Pnr_partnernummer p_prs_leverancier_nr
|
||||
P.Pnr_naam p_prs_bedrijf_naam
|
||||
P.Pnr_telefoon p_prs_bedrijf_telefoon
|
||||
P.Pnr_mobiel p_prs_bedrijf_telefoon2
|
||||
P.Pnr_fax p_prs_bedrijf_fax
|
||||
P.Pnr_email p_prs_bedrijf_email
|
||||
P.Pnr_Klantnr_Facilitor p_prs_????? RD*****
|
||||
P.Pnr_Betalingsconditie p_prs_bedrijf_opmerking
|
||||
P.Pnr_Mutatie_Ind p_stamgegevens (J/N)
|
||||
P.Pst_Adres p_prs_bedrijf_post_adres
|
||||
P.Pst_Postcode p_prs_bedrijf_post_postcode
|
||||
P.Pst_Plaats p_prs_bedrijf_post_plaats
|
||||
P.Pst_Land p_prs_bedrijf_post_land
|
||||
P.Pst_Mutatie_ind p_postadres (J/N)
|
||||
P.Pst_Adres p_prs_bedrijf_bezoek_adres
|
||||
P.Pst_Postcode p_prs_bedrijf_bezoek_postcode
|
||||
P.Pst_Plaats p_prs_bedrijf_bezoek_plaats
|
||||
P.Pst_Land p_prs_bedrijf_bezoek_land
|
||||
P.Pst_Mutatie_ind p_bezoekadres (J/N)
|
||||
|
||||
*/
|
||||
|
||||
FUNCTION verwerk_partner
|
||||
( p_partner_id in number
|
||||
,p_bedrijf_type in varchar2
|
||||
,p_prs_leverancier_nr in varchar2
|
||||
,p_prs_bedrijf_naam in varchar2
|
||||
,p_prs_bedrijf_telefoon in varchar2
|
||||
,p_prs_bedrijf_telefoon2 in varchar2
|
||||
,p_prs_bedrijf_fax in varchar2
|
||||
,p_prs_bedrijf_email in varchar2
|
||||
,p_prs_bedrijf_opmerking in varchar2
|
||||
,p_stamgegevens in varchar2
|
||||
,p_prs_bedrijf_post_adres in varchar2
|
||||
,p_prs_bedrijf_post_postcode in varchar2
|
||||
,p_prs_bedrijf_post_plaats in varchar2
|
||||
,p_prs_bedrijf_post_land in varchar2
|
||||
,p_postadres in varchar2
|
||||
,p_prs_bedrijf_bezoek_adres in varchar2
|
||||
,p_prs_bedrijf_bezoek_postcode in varchar2
|
||||
,p_prs_bedrijf_bezoek_plaats in varchar2
|
||||
,p_prs_bedrijf_bezoek_land in varchar2
|
||||
,p_bezoekadres in varchar2) return NUMBER;
|
||||
|
||||
/*
|
||||
|
||||
Tabel OAC_STG_CONTACTPERSOON alias C:
|
||||
|
||||
C.Ctn_Functie p_prs_contactpersoon_functie
|
||||
C.Ctn_Naam p_prs_contactpersoon_naam
|
||||
C.Ctn_Tussenvoegsel p_prs_contactpersoon_tussenv
|
||||
C.Ctn_Voornaam p_prs_contactpersoon_voornaam
|
||||
C.Ctn_Voorletters p_prs_contactpersoon_voorl
|
||||
C.Ctn_Titel p_prs_contactpersoon_titel
|
||||
C.Ctn_Aanhef p_prs_contactpersoon_aanhef
|
||||
C.Ctn_Telefoon p_prs_contactpersoon_tel_1
|
||||
C.Ctn_Mobiel p_prs_contactpersoon_tel_2
|
||||
C.Ctn_Fax p_prs_contactpersoon_fax
|
||||
C.Ctn_Email p_prs_contactpersoon_email
|
||||
C.Ctn_Mutatie_Ind p_contactpersoon (j/n)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
FUNCTION verwerk_contactpersoon
|
||||
( p_partner_id in number
|
||||
,p_contactpersoon_id in number
|
||||
,p_prs_contactpersoon_functie in varchar2
|
||||
,p_prs_contactpersoon_naam in varchar2
|
||||
,p_prs_contactpersoon_tussenv in varchar2
|
||||
,p_prs_contactpersoon_voornaam in varchar2
|
||||
,p_prs_contactpersoon_voorl in varchar2
|
||||
,p_prs_contactpersoon_titel in varchar2
|
||||
,p_prs_contactpersoon_aanhef in varchar2
|
||||
,p_prs_contactpersoon_tel_1 in varchar2
|
||||
,p_prs_contactpersoon_tel_2 in varchar2
|
||||
,p_prs_contactpersoon_fax in varchar2
|
||||
,p_prs_contactpersoon_email in varchar2
|
||||
,p_contactpersoon in varchar2) return number;
|
||||
|
||||
END CONN_PARTNERS;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY CONN_PARTNERS AS
|
||||
|
||||
|
||||
FUNCTION verwerk_partner
|
||||
( p_partner_id in number
|
||||
,p_bedrijf_type in varchar2
|
||||
,p_prs_leverancier_nr in varchar2
|
||||
,p_prs_bedrijf_naam in varchar2
|
||||
,p_prs_bedrijf_telefoon in varchar2
|
||||
,p_prs_bedrijf_telefoon2 in varchar2
|
||||
,p_prs_bedrijf_fax in varchar2
|
||||
,p_prs_bedrijf_email in varchar2
|
||||
,p_prs_bedrijf_opmerking in varchar2
|
||||
,p_stamgegevens in varchar2
|
||||
,p_prs_bedrijf_post_adres in varchar2
|
||||
,p_prs_bedrijf_post_postcode in varchar2
|
||||
,p_prs_bedrijf_post_plaats in varchar2
|
||||
,p_prs_bedrijf_post_land in varchar2
|
||||
,p_postadres in varchar2
|
||||
,p_prs_bedrijf_bezoek_adres in varchar2
|
||||
,p_prs_bedrijf_bezoek_postcode in varchar2
|
||||
,p_prs_bedrijf_bezoek_plaats in varchar2
|
||||
,p_prs_bedrijf_bezoek_land in varchar2
|
||||
,p_bezoekadres in varchar2) return NUMBER
|
||||
IS
|
||||
v_partner_id NUMBER(15);
|
||||
v_bedrijf_type VARCHAR2(30);
|
||||
v_prs_leverancier_nr prs_bedrijf.prs_leverancier_nr%type;
|
||||
v_prs_bedrijf_naam prs_bedrijf.prs_bedrijf_naam%type;
|
||||
v_prs_bedrijf_telefoon prs_bedrijf.prs_bedrijf_telefoon%type;
|
||||
v_prs_bedrijf_telefoon2 prs_bedrijf.prs_bedrijf_telefoon2%type;
|
||||
v_prs_bedrijf_fax prs_bedrijf.prs_bedrijf_fax%type;
|
||||
v_prs_bedrijf_email prs_bedrijf.prs_bedrijf_email%type;
|
||||
v_prs_bedrijf_opmerking prs_bedrijf.prs_bedrijf_opmerking%type;
|
||||
v_stamgegevens VARCHAR2(1);
|
||||
v_prs_bedrijf_post_adres prs_bedrijf.prs_bedrijf_post_adres%type;
|
||||
v_prs_bedrijf_post_postcode prs_bedrijf.prs_bedrijf_post_postcode%type;
|
||||
v_prs_bedrijf_post_plaats prs_bedrijf.prs_bedrijf_post_plaats%type;
|
||||
v_prs_bedrijf_post_land prs_bedrijf.prs_bedrijf_post_land%type;
|
||||
v_postadres VARCHAR2(1);
|
||||
v_prs_bedrijf_bezoek_adres prs_bedrijf.prs_bedrijf_bezoek_adres%type;
|
||||
v_prs_bedrijf_bezoek_postcode prs_bedrijf.prs_bedrijf_bezoek_postcode%type;
|
||||
v_prs_bedrijf_bezoek_plaats prs_bedrijf.prs_bedrijf_bezoek_plaats%type;
|
||||
v_prs_bedrijf_bezoek_land prs_bedrijf.prs_bedrijf_bezoek_land%type;
|
||||
v_bezoekadres VARCHAR2(1);
|
||||
|
||||
v_mode VARCHAR(10);
|
||||
v_count NUMBER(10);
|
||||
v_prs_bedrijf_key prs_bedrijf.prs_bedrijf_key%type;
|
||||
|
||||
ORACLE_err_num NUMBER;
|
||||
ORACLE_err_mes VARCHAR2(100);
|
||||
|
||||
v_store_prs_bedrijf BOOLEAN;
|
||||
|
||||
BEGIN
|
||||
|
||||
-- INIT
|
||||
--commit;
|
||||
v_mode := '';
|
||||
v_prs_bedrijf_key := 0;
|
||||
|
||||
v_partner_id := p_partner_id;
|
||||
v_bedrijf_type := UPPER(SUBSTR(p_bedrijf_type,1,30));
|
||||
v_prs_leverancier_nr := SUBSTR(p_prs_leverancier_nr,1,10);
|
||||
v_prs_bedrijf_naam := SUBSTR(p_prs_bedrijf_naam,1,30);
|
||||
v_prs_bedrijf_telefoon := SUBSTR(p_prs_bedrijf_telefoon,1,20);
|
||||
v_prs_bedrijf_telefoon2 := SUBSTR(p_prs_bedrijf_telefoon2,1,20);
|
||||
v_prs_bedrijf_fax := SUBSTR(p_prs_bedrijf_fax,1,20);
|
||||
v_prs_bedrijf_email := SUBSTR(p_prs_bedrijf_email,1,100);
|
||||
v_prs_bedrijf_opmerking := SUBSTR(p_prs_bedrijf_opmerking,1,320);
|
||||
v_stamgegevens := UPPER(SUBSTR(p_stamgegevens,1,1));
|
||||
v_prs_bedrijf_post_adres := SUBSTR(p_prs_bedrijf_post_adres,1,35);
|
||||
v_prs_bedrijf_post_postcode := SUBSTR(p_prs_bedrijf_post_postcode,1,12);
|
||||
v_prs_bedrijf_post_plaats := SUBSTR(p_prs_bedrijf_post_plaats,1,30);
|
||||
v_prs_bedrijf_post_land := SUBSTR(p_prs_bedrijf_post_land,1,30);
|
||||
v_postadres := UPPER(SUBSTR(p_postadres,1,1));
|
||||
v_prs_bedrijf_bezoek_adres := SUBSTR(p_prs_bedrijf_bezoek_adres,1,35);
|
||||
v_prs_bedrijf_bezoek_postcode := SUBSTR(p_prs_bedrijf_bezoek_postcode,1,12);
|
||||
v_prs_bedrijf_bezoek_plaats := SUBSTR(p_prs_bedrijf_bezoek_plaats,1,30);
|
||||
v_prs_bedrijf_bezoek_land := SUBSTR(p_prs_bedrijf_bezoek_land,1,30);
|
||||
v_bezoekadres := UPPER(SUBSTR(p_bezoekadres,1,1));
|
||||
|
||||
IF v_stamgegevens = 'J' THEN
|
||||
|
||||
-- v_mode?
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigbedrijf
|
||||
WHERE upper(trim(prs_leverancier_nr)) = upper(trim(v_prs_leverancier_nr));
|
||||
|
||||
IF (v_count = 0) THEN
|
||||
v_mode := 'INSERT';
|
||||
ELSE
|
||||
IF (v_count = 1) THEN
|
||||
v_mode := 'UPDATE';
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_prs_bedrijf_key
|
||||
FROM prs_v_aanwezigbedrijf
|
||||
WHERE upper(trim(prs_leverancier_nr)) = upper(trim(v_prs_leverancier_nr));
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF v_mode = 'INSERT' THEN
|
||||
|
||||
-- RD****** v_bedrijf_type Zie hieronder DECODE statement:
|
||||
|
||||
insert into prs_bedrijf
|
||||
(prs_leverancier_nr
|
||||
,prs_bedrijf_naam
|
||||
,prs_bedrijf_telefoon
|
||||
,prs_bedrijf_telefoon2
|
||||
,prs_bedrijf_fax
|
||||
,prs_bedrijf_email
|
||||
,prs_bedrijf_opmerking
|
||||
,prs_bedrijf_post_adres
|
||||
,prs_bedrijf_post_postcode
|
||||
,prs_bedrijf_post_plaats
|
||||
,prs_bedrijf_post_land
|
||||
,prs_bedrijf_bezoek_adres
|
||||
,prs_bedrijf_bezoek_postcode
|
||||
,prs_bedrijf_bezoek_plaats
|
||||
,prs_bedrijf_bezoek_land
|
||||
,prs_bedrijf_leverancier
|
||||
,prs_bedrijf_uitvoerende
|
||||
,prs_bedrijf_contract)
|
||||
values
|
||||
(v_prs_leverancier_nr
|
||||
,v_prs_bedrijf_naam
|
||||
,v_prs_bedrijf_telefoon
|
||||
,v_prs_bedrijf_telefoon2
|
||||
,v_prs_bedrijf_fax
|
||||
,v_prs_bedrijf_email
|
||||
,v_prs_bedrijf_opmerking
|
||||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_adres,null)
|
||||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_postcode,null)
|
||||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_plaats,null)
|
||||
,DECODE(p_postadres,'J',v_prs_bedrijf_post_land,null)
|
||||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_adres,null)
|
||||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_postcode,null)
|
||||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_plaats,null)
|
||||
,DECODE(p_bezoekadres,'J',v_prs_bedrijf_bezoek_land,null)
|
||||
,DECODE(v_bedrijf_type,'CREDITEUR',1,null)
|
||||
,DECODE(v_bedrijf_type,'CREDITEUR',1,null)
|
||||
,DECODE(v_bedrijf_type,'CREDITEUR',1,null));
|
||||
|
||||
SELECT max(prs_bedrijf_key)
|
||||
INTO v_prs_bedrijf_key
|
||||
FROM prs_bedrijf;
|
||||
|
||||
ELSE
|
||||
|
||||
IF v_mode = 'UPDATE' THEN
|
||||
|
||||
UPDATE prs_bedrijf
|
||||
SET prs_bedrijf_naam = v_prs_bedrijf_naam
|
||||
,prs_bedrijf_telefoon = v_prs_bedrijf_telefoon
|
||||
,prs_bedrijf_telefoon2 = v_prs_bedrijf_telefoon2
|
||||
,prs_bedrijf_fax = v_prs_bedrijf_fax
|
||||
,prs_bedrijf_email = v_prs_bedrijf_email
|
||||
,prs_bedrijf_opmerking = v_prs_bedrijf_opmerking
|
||||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||||
|
||||
IF v_postadres = 'J' THEN
|
||||
|
||||
UPDATE prs_bedrijf
|
||||
SET prs_bedrijf_post_adres = v_prs_bedrijf_post_adres
|
||||
,prs_bedrijf_post_postcode = v_prs_bedrijf_post_postcode
|
||||
,prs_bedrijf_post_plaats = v_prs_bedrijf_post_plaats
|
||||
,prs_bedrijf_post_land = v_prs_bedrijf_post_land
|
||||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||||
|
||||
END IF;
|
||||
|
||||
IF v_bezoekadres = 'J' THEN
|
||||
|
||||
UPDATE prs_bedrijf
|
||||
SET prs_bedrijf_bezoek_adres = v_prs_bedrijf_bezoek_adres
|
||||
,prs_bedrijf_bezoek_postcode = v_prs_bedrijf_bezoek_postcode
|
||||
,prs_bedrijf_bezoek_plaats = v_prs_bedrijf_bezoek_plaats
|
||||
,prs_bedrijf_bezoek_land = v_prs_bedrijf_bezoek_land
|
||||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||||
|
||||
END IF;
|
||||
|
||||
ELSE
|
||||
|
||||
-- Onbekende actie
|
||||
NULL;
|
||||
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
ELSE
|
||||
|
||||
-- Geen actie
|
||||
NULL;
|
||||
|
||||
END IF;
|
||||
|
||||
v_store_prs_bedrijf := FAC_P_FAC_SAVE_RESTORE.ResetSelectie('PRS_BEDRIJF');
|
||||
|
||||
IF v_prs_bedrijf_key >= 0 THEN
|
||||
v_store_prs_bedrijf := FAC_P_FAC_SAVE_RESTORE.SavePrimaryKey('PRS_BEDRIJF',v_prs_bedrijf_key);
|
||||
END IF;
|
||||
|
||||
RETURN v_prs_bedrijf_key;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
BEGIN
|
||||
ORACLE_err_num := SQLCODE;
|
||||
ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
insert into conn_partners_error
|
||||
(error_mes
|
||||
,partner_id)
|
||||
values
|
||||
('(ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)'
|
||||
,v_partner_id);
|
||||
--commit;
|
||||
RETURN 0;
|
||||
END;
|
||||
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION verwerk_contactpersoon
|
||||
( p_partner_id in number
|
||||
,p_contactpersoon_id in number
|
||||
,p_prs_contactpersoon_functie in varchar2
|
||||
,p_prs_contactpersoon_naam in varchar2
|
||||
,p_prs_contactpersoon_tussenv in varchar2
|
||||
,p_prs_contactpersoon_voornaam in varchar2
|
||||
,p_prs_contactpersoon_voorl in varchar2
|
||||
,p_prs_contactpersoon_titel in varchar2
|
||||
,p_prs_contactpersoon_aanhef in varchar2
|
||||
,p_prs_contactpersoon_tel_1 in varchar2
|
||||
,p_prs_contactpersoon_tel_2 in varchar2
|
||||
,p_prs_contactpersoon_fax in varchar2
|
||||
,p_prs_contactpersoon_email in varchar2
|
||||
,p_contactpersoon in varchar2) return number
|
||||
IS
|
||||
v_partner_id NUMBER(15);
|
||||
v_contactpersoon_id NUMBER(15);
|
||||
v_prs_contactpersoon_functie prs_contactpersoon.prs_contactpersoon_functie%type;
|
||||
v_prs_contactpersoon_naam prs_contactpersoon.prs_contactpersoon_naam%type;
|
||||
v_prs_contactpersoon_tussenv prs_contactpersoon.prs_contactpersoon_tussenv%type;
|
||||
v_prs_contactpersoon_voornaam prs_contactpersoon.prs_contactpersoon_voornaam%type;
|
||||
v_prs_contactpersoon_voorl prs_contactpersoon.prs_contactpersoon_voorletters%type;
|
||||
v_prs_contactpersoon_titel prs_contactpersoon.prs_contactpersoon_titel%type;
|
||||
v_prs_contactpersoon_aanhef prs_contactpersoon.prs_contactpersoon_aanhef%type;
|
||||
v_prs_contactpersoon_tel_1 prs_contactpersoon.prs_contactpersoon_telefoon_1%type;
|
||||
v_prs_contactpersoon_tel_2 prs_contactpersoon.prs_contactpersoon_telefoon_2%type;
|
||||
v_prs_contactpersoon_fax prs_contactpersoon.prs_contactpersoon_fax%type;
|
||||
v_prs_contactpersoon_email prs_contactpersoon.prs_contactpersoon_email%type;
|
||||
v_contactpersoon varchar2(1);
|
||||
|
||||
v_mode VARCHAR(10);
|
||||
v_count NUMBER(10);
|
||||
v_prs_contactpersoon_key prs_contactpersoon.prs_contactpersoon_key%type;
|
||||
v_prs_bedrijf_key prs_bedrijf.prs_bedrijf_key%type;
|
||||
|
||||
ORACLE_err_num NUMBER;
|
||||
ORACLE_err_mes VARCHAR2(100);
|
||||
|
||||
BEGIN
|
||||
|
||||
-- INIT
|
||||
--commit;
|
||||
v_prs_contactpersoon_key := 0;
|
||||
|
||||
v_partner_id := p_partner_id;
|
||||
v_contactpersoon_id := p_contactpersoon_id;
|
||||
v_prs_contactpersoon_functie := SUBSTR(p_prs_contactpersoon_functie,1,30);
|
||||
v_prs_contactpersoon_naam := SUBSTR(p_prs_contactpersoon_naam,1,30);
|
||||
v_prs_contactpersoon_tussenv := SUBSTR(p_prs_contactpersoon_tussenv,1,15);
|
||||
v_prs_contactpersoon_voornaam := SUBSTR(p_prs_contactpersoon_voornaam,1,30);
|
||||
v_prs_contactpersoon_voorl := SUBSTR(p_prs_contactpersoon_voorl,1,10);
|
||||
v_prs_contactpersoon_titel := SUBSTR(p_prs_contactpersoon_titel,1,10);
|
||||
v_prs_contactpersoon_aanhef := SUBSTR(p_prs_contactpersoon_aanhef,1,30);
|
||||
v_prs_contactpersoon_tel_1 := SUBSTR(p_prs_contactpersoon_tel_1,1,30);
|
||||
v_prs_contactpersoon_tel_2 := SUBSTR(p_prs_contactpersoon_tel_2,1,30);
|
||||
v_prs_contactpersoon_fax := SUBSTR(p_prs_contactpersoon_fax,1,30);
|
||||
v_prs_contactpersoon_email := SUBSTR(p_prs_contactpersoon_email,1,50);
|
||||
v_contactpersoon := UPPER(SUBSTR(p_contactpersoon,1,1));
|
||||
|
||||
v_prs_bedrijf_key := FAC_P_FAC_SAVE_RESTORE.GetPrimaryKey('PRS_BEDRIJF',v_prs_bedrijf_key);
|
||||
|
||||
IF v_contactpersoon = 'J' THEN
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM PRS_CONTACTPERSOON
|
||||
WHERE UPPER(trim(prs_contactpersoon_naam)) = UPPER(trim(v_prs_contactpersoon_naam))
|
||||
AND UPPER(trim(prs_contactpersoon_voornaam)) = UPPER(trim(v_prs_contactpersoon_voornaam))
|
||||
AND UPPER(trim(prs_contactpersoon_voorletters))= UPPER(trim(v_prs_contactpersoon_voorl));
|
||||
|
||||
IF (v_count = 0) THEN
|
||||
|
||||
|
||||
INSERT INTO prs_contactpersoon
|
||||
(prs_bedrijf_key
|
||||
,prs_contactpersoon_functie
|
||||
,prs_contactpersoon_naam
|
||||
,prs_contactpersoon_tussenv
|
||||
,prs_contactpersoon_voornaam
|
||||
,prs_contactpersoon_voorletters
|
||||
,prs_contactpersoon_titel
|
||||
,prs_contactpersoon_aanhef
|
||||
,prs_contactpersoon_telefoon_1
|
||||
,prs_contactpersoon_telefoon_2
|
||||
,prs_contactpersoon_fax
|
||||
,prs_contactpersoon_email)
|
||||
values
|
||||
(v_prs_bedrijf_key
|
||||
,v_prs_contactpersoon_functie
|
||||
,v_prs_contactpersoon_naam
|
||||
,v_prs_contactpersoon_tussenv
|
||||
,v_prs_contactpersoon_voornaam
|
||||
,v_prs_contactpersoon_voorl
|
||||
,v_prs_contactpersoon_titel
|
||||
,v_prs_contactpersoon_aanhef
|
||||
,v_prs_contactpersoon_tel_1
|
||||
,v_prs_contactpersoon_tel_2
|
||||
,v_prs_contactpersoon_fax
|
||||
,v_prs_contactpersoon_email);
|
||||
|
||||
SELECT max(prs_contactpersoon_key)
|
||||
INTO v_prs_contactpersoon_key
|
||||
FROM prs_contactpersoon;
|
||||
|
||||
ELSE
|
||||
IF (v_count = 1) THEN
|
||||
|
||||
v_mode := 'UPDATE';
|
||||
|
||||
SELECT prs_contactpersoon_key
|
||||
INTO v_prs_contactpersoon_key
|
||||
FROM PRS_CONTACTPERSOON
|
||||
WHERE UPPER(trim(prs_contactpersoon_naam)) = UPPER(trim(v_prs_contactpersoon_naam))
|
||||
AND UPPER(trim(prs_contactpersoon_voornaam)) = UPPER(trim(v_prs_contactpersoon_voornaam))
|
||||
AND UPPER(trim(prs_contactpersoon_voorletters)) = UPPER(trim(v_prs_contactpersoon_voorl));
|
||||
|
||||
UPDATE prs_contactpersoon
|
||||
SET prs_bedrijf_key = v_prs_bedrijf_key
|
||||
,prs_contactpersoon_functie = v_prs_contactpersoon_functie
|
||||
,prs_contactpersoon_tussenv = v_prs_contactpersoon_tussenv
|
||||
,prs_contactpersoon_titel = v_prs_contactpersoon_titel
|
||||
,prs_contactpersoon_aanhef = v_prs_contactpersoon_aanhef
|
||||
,prs_contactpersoon_telefoon_1 = v_prs_contactpersoon_tel_1
|
||||
,prs_contactpersoon_telefoon_2 = v_prs_contactpersoon_tel_2
|
||||
,prs_contactpersoon_fax = v_prs_contactpersoon_fax
|
||||
,prs_contactpersoon_email = v_prs_contactpersoon_email
|
||||
WHERE prs_contactpersoon_key = v_prs_contactpersoon_key;
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
--commit;
|
||||
RETURN v_prs_contactpersoon_key;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
BEGIN
|
||||
ORACLE_err_num := SQLCODE;
|
||||
ORACLE_err_mes := SUBSTR(SQLERRM, 1, 100);
|
||||
insert into conn_contactpersonen_error
|
||||
(error_mes
|
||||
,partner_id
|
||||
,contactpersoon_id)
|
||||
values
|
||||
('(ORACLE error number = <' || ORACLE_err_num || '> ORACLE error message = <' || ORACLE_err_mes || '>)'
|
||||
,v_partner_id
|
||||
,v_contactpersoon_id);
|
||||
--commit;
|
||||
RETURN 0;
|
||||
END;
|
||||
|
||||
|
||||
END;
|
||||
|
||||
|
||||
END CONN_PARTNERS;
|
||||
/
|
||||
|
||||
grant execute on CONN_PARTNERS to oac;
|
||||
|
||||
commit;
|
||||
BIN
CONN/Partners/partners(dcs)([366])(rd)()()(0.1)(w)(1598).doc
Normal file
BIN
CONN/Partners/partners(dcs)([366])(rd)()()(0.1)(w)(1598).doc
Normal file
Binary file not shown.
BIN
CONN/Partners/partners(dcs)([366])(rd)(aeg)()(0.2)(w)(1599).xls
Normal file
BIN
CONN/Partners/partners(dcs)([366])(rd)(aeg)()(0.2)(w)(1599).xls
Normal file
Binary file not shown.
Reference in New Issue
Block a user