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,15);
   v_prs_bedrijf_naam		     := SUBSTR(p_prs_bedrijf_naam||' _ '||v_prs_leverancier_nr,1,60);
   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;
