PCHD#41923 -- Crediteurgegevens overnemen uit de PCHD omgeving
svn path=/Customer/trunk/; revision=45475
This commit is contained in:
702
PCHX/pchx.sql
702
PCHX/pchx.sql
@@ -3354,6 +3354,7 @@ AS
|
||||
v_fielddelimitor VARCHAR2 (1);
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_header_is_valid NUMBER (1) := 0;
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
@@ -3366,6 +3367,7 @@ BEGIN
|
||||
LOOP
|
||||
BEGIN
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
v_ongeldig := 0;
|
||||
|
||||
IF v_header_is_valid = 1
|
||||
THEN
|
||||
@@ -3553,146 +3555,167 @@ BEGIN
|
||||
WHERE UPPER (rt.prs_relatietype_omschrijving) =
|
||||
UPPER (v_relatietype_omschrijving);
|
||||
|
||||
IF v_relatietype_omschrijving IS NOT NULL AND v_relatietype_key IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Relateietype niet gevonden: ' || v_relatietype_omschrijving, '');
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
SELECT MAX (mld_typeopdr_key)
|
||||
INTO v_typeopdr_key
|
||||
FROM mld_typeopdr ot
|
||||
WHERE UPPER (ot.mld_typeopdr_omschrijving) =
|
||||
UPPER (v_typeopdr_omschrijving);
|
||||
|
||||
IF v_typeopdr_omschrijving IS NOT NULL AND v_typeopdr_key IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Opdrachttype niet gevonden: ' || v_typeopdr_omschrijving, '');
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
SELECT MAX (prs_perslid_key)
|
||||
INTO v_bedrijfadres_lockuser_key
|
||||
FROM prs_perslid p
|
||||
WHERE UPPER (p.prs_perslid_naam) =
|
||||
UPPER (v_bedrijfadres_lockuser_naam);
|
||||
|
||||
INSERT INTO pchx_imp_bedrijf_gegevens (
|
||||
prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
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_telefoon,
|
||||
prs_bedrijf_fax,
|
||||
prs_bedrijf_telefoon2,
|
||||
prs_bedrijf_contact_persoon,
|
||||
prs_bedrijf_contact_telefoon,
|
||||
prs_bedrijf_contact_fax,
|
||||
prs_bedrijf_opmerking,
|
||||
prs_bedrijf_opmerking2,
|
||||
prs_bedrijf_uurloon,
|
||||
prs_leverancier_nr,
|
||||
prs_overeenkomst_nr,
|
||||
prs_overeenkomst_datum,
|
||||
prs_bedrijf_email,
|
||||
prs_bedrijf_order_confirm,
|
||||
prs_bedrijf_image_loc,
|
||||
prs_bedrijf_details_loc,
|
||||
prs_bedrijf_xmldetails_loc,
|
||||
prs_bedrijf_xmlcatalogus_loc,
|
||||
prs_bedrijf_bes_limiet,
|
||||
prs_bedrijf_bes_kosten,
|
||||
prs_bedrijf_aanmaak,
|
||||
prs_bedrijf_verwijder,
|
||||
prs_bedrijf_leverancier,
|
||||
prs_bedrijf_uitvoerende,
|
||||
prs_bedrijf_contract,
|
||||
prs_bedrijf_intern,
|
||||
prs_bedrijf_huurder,
|
||||
prs_bedrijf_bezoeker,
|
||||
prs_bedrijf_ingids,
|
||||
prs_bedrijf_bes_factor,
|
||||
prs_relatietype_key,
|
||||
prs_bedrijfadres_key,
|
||||
prs_bedrijfadres_type,
|
||||
mld_typeopdr_key,
|
||||
prs_bedrijfadres_url,
|
||||
prs_bedrijfadres_ordermode,
|
||||
prs_bedrijfadres_certificate,
|
||||
prs_bedrijfadres_xsl,
|
||||
prs_bedrijfadres_ext,
|
||||
prs_bedrijfadres_username,
|
||||
prs_bedrijfadres_password,
|
||||
prs_bedrijfadres_attachfile,
|
||||
prs_bedrijfadres_flexfiles,
|
||||
prs_bedrijfadres_encoding,
|
||||
prs_bedrijfadres_authmethod,
|
||||
prs_bedrijfadres_soapversion,
|
||||
prs_bedrijfadres_soapaction,
|
||||
prs_bedrijfadres_lockuser_key,
|
||||
prs_bedrijfadres_locksecret,
|
||||
prs_bedrijfadres_lockexpire)
|
||||
VALUES (
|
||||
v_bedrijf_key,
|
||||
v_bedrijf_naam,
|
||||
v_bedrijf_post_adres,
|
||||
v_bedrijf_post_postcode,
|
||||
v_bedrijf_post_plaats,
|
||||
v_bedrijf_post_land,
|
||||
v_bedrijf_bezoek_adres,
|
||||
v_bedrijf_bezoek_postcode,
|
||||
v_bedrijf_bezoek_plaats,
|
||||
v_bedrijf_bezoek_land,
|
||||
v_bedrijf_telefoon,
|
||||
v_bedrijf_fax,
|
||||
v_bedrijf_telefoon2,
|
||||
v_bedrijf_contact_persoon,
|
||||
v_bedrijf_contact_telefoon,
|
||||
v_bedrijf_contact_fax,
|
||||
v_bedrijf_opmerking,
|
||||
v_bedrijf_opmerking2,
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_uurloon, ',', '.')),
|
||||
v_leverancier_nr,
|
||||
v_overeenkomst_nr,
|
||||
FAC.safe_to_date (
|
||||
v_overeenkomst_datum,
|
||||
'yyyy-mm-dd hh24:mi:ss'),
|
||||
v_bedrijf_email,
|
||||
v_bedrijf_order_confirm,
|
||||
v_bedrijf_image_loc,
|
||||
v_bedrijf_details_loc,
|
||||
v_bedrijf_xmldetails_loc,
|
||||
v_bedrijf_xmlcatalogus_loc,
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_limiet, ',', '.')),
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_kosten, ',', '.')),
|
||||
FAC.safe_to_date (
|
||||
v_bedrijf_aanmaak,
|
||||
'yyyy-mm-dd hh24:mi:ss'),
|
||||
FAC.safe_to_date (
|
||||
v_bedrijf_verwijder,
|
||||
'yyyy-mm-dd hh24:mi:ss'),
|
||||
v_bedrijf_leverancier,
|
||||
v_bedrijf_uitvoerende,
|
||||
v_bedrijf_contract,
|
||||
v_bedrijf_intern,
|
||||
v_bedrijf_huurder,
|
||||
v_bedrijf_bezoeker,
|
||||
v_bedrijf_ingids,
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_factor, ',', '.')),
|
||||
v_relatietype_key,
|
||||
v_bedrijfadres_key,
|
||||
v_bedrijfadres_type,
|
||||
v_typeopdr_key,
|
||||
v_bedrijfadres_url,
|
||||
v_bedrijfadres_ordermode,
|
||||
v_bedrijfadres_certificate,
|
||||
v_bedrijfadres_xsl,
|
||||
v_bedrijfadres_ext,
|
||||
v_bedrijfadres_username,
|
||||
v_bedrijfadres_password,
|
||||
v_bedrijfadres_attachfile,
|
||||
v_bedrijfadres_flexfiles,
|
||||
v_bedrijfadres_encoding,
|
||||
v_bedrijfadres_authmethod,
|
||||
v_bedrijfadres_soapversion,
|
||||
v_bedrijfadres_soapaction,
|
||||
v_bedrijfadres_lockuser_key,
|
||||
v_bedrijfadres_locksecret,
|
||||
v_bedrijfadres_lockexpire);
|
||||
IF v_bedrijfadres_lockuser_naam IS NOT NULL AND v_bedrijfadres_lockuser_key IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Lockuser niet gevonden: ' || v_bedrijfadres_lockuser_naam, '');
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
INSERT INTO pchx_imp_bedrijf_gegevens (
|
||||
prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
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_telefoon,
|
||||
prs_bedrijf_fax,
|
||||
prs_bedrijf_telefoon2,
|
||||
prs_bedrijf_contact_persoon,
|
||||
prs_bedrijf_contact_telefoon,
|
||||
prs_bedrijf_contact_fax,
|
||||
prs_bedrijf_opmerking,
|
||||
prs_bedrijf_opmerking2,
|
||||
prs_bedrijf_uurloon,
|
||||
prs_leverancier_nr,
|
||||
prs_overeenkomst_nr,
|
||||
prs_overeenkomst_datum,
|
||||
prs_bedrijf_email,
|
||||
prs_bedrijf_order_confirm,
|
||||
prs_bedrijf_image_loc,
|
||||
prs_bedrijf_details_loc,
|
||||
prs_bedrijf_xmldetails_loc,
|
||||
prs_bedrijf_xmlcatalogus_loc,
|
||||
prs_bedrijf_bes_limiet,
|
||||
prs_bedrijf_bes_kosten,
|
||||
prs_bedrijf_aanmaak,
|
||||
prs_bedrijf_verwijder,
|
||||
prs_bedrijf_leverancier,
|
||||
prs_bedrijf_uitvoerende,
|
||||
prs_bedrijf_contract,
|
||||
prs_bedrijf_intern,
|
||||
prs_bedrijf_huurder,
|
||||
prs_bedrijf_bezoeker,
|
||||
prs_bedrijf_ingids,
|
||||
prs_bedrijf_bes_factor,
|
||||
prs_relatietype_key,
|
||||
prs_bedrijfadres_key,
|
||||
prs_bedrijfadres_type,
|
||||
mld_typeopdr_key,
|
||||
prs_bedrijfadres_url,
|
||||
prs_bedrijfadres_ordermode,
|
||||
prs_bedrijfadres_certificate,
|
||||
prs_bedrijfadres_xsl,
|
||||
prs_bedrijfadres_ext,
|
||||
prs_bedrijfadres_username,
|
||||
prs_bedrijfadres_password,
|
||||
prs_bedrijfadres_attachfile,
|
||||
prs_bedrijfadres_flexfiles,
|
||||
prs_bedrijfadres_encoding,
|
||||
prs_bedrijfadres_authmethod,
|
||||
prs_bedrijfadres_soapversion,
|
||||
prs_bedrijfadres_soapaction,
|
||||
prs_bedrijfadres_lockuser_key,
|
||||
prs_bedrijfadres_locksecret,
|
||||
prs_bedrijfadres_lockexpire)
|
||||
VALUES (
|
||||
v_bedrijf_key,
|
||||
v_bedrijf_naam,
|
||||
v_bedrijf_post_adres,
|
||||
v_bedrijf_post_postcode,
|
||||
v_bedrijf_post_plaats,
|
||||
v_bedrijf_post_land,
|
||||
v_bedrijf_bezoek_adres,
|
||||
v_bedrijf_bezoek_postcode,
|
||||
v_bedrijf_bezoek_plaats,
|
||||
v_bedrijf_bezoek_land,
|
||||
v_bedrijf_telefoon,
|
||||
v_bedrijf_fax,
|
||||
v_bedrijf_telefoon2,
|
||||
v_bedrijf_contact_persoon,
|
||||
v_bedrijf_contact_telefoon,
|
||||
v_bedrijf_contact_fax,
|
||||
v_bedrijf_opmerking,
|
||||
v_bedrijf_opmerking2,
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_uurloon, ',', '.')),
|
||||
v_leverancier_nr,
|
||||
v_overeenkomst_nr,
|
||||
FAC.safe_to_date (
|
||||
v_overeenkomst_datum,
|
||||
'yyyy-mm-dd hh24:mi:ss'),
|
||||
v_bedrijf_email,
|
||||
v_bedrijf_order_confirm,
|
||||
v_bedrijf_image_loc,
|
||||
v_bedrijf_details_loc,
|
||||
v_bedrijf_xmldetails_loc,
|
||||
v_bedrijf_xmlcatalogus_loc,
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_limiet, ',', '.')),
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_kosten, ',', '.')),
|
||||
FAC.safe_to_date (
|
||||
v_bedrijf_aanmaak,
|
||||
'yyyy-mm-dd hh24:mi:ss'),
|
||||
FAC.safe_to_date (
|
||||
v_bedrijf_verwijder,
|
||||
'yyyy-mm-dd hh24:mi:ss'),
|
||||
v_bedrijf_leverancier,
|
||||
v_bedrijf_uitvoerende,
|
||||
v_bedrijf_contract,
|
||||
v_bedrijf_intern,
|
||||
v_bedrijf_huurder,
|
||||
v_bedrijf_bezoeker,
|
||||
v_bedrijf_ingids,
|
||||
FAC.safe_to_number(REPLACE(v_bedrijf_bes_factor, ',', '.')),
|
||||
v_relatietype_key,
|
||||
v_bedrijfadres_key,
|
||||
v_bedrijfadres_type,
|
||||
v_typeopdr_key,
|
||||
v_bedrijfadres_url,
|
||||
v_bedrijfadres_ordermode,
|
||||
v_bedrijfadres_certificate,
|
||||
v_bedrijfadres_xsl,
|
||||
v_bedrijfadres_ext,
|
||||
v_bedrijfadres_username,
|
||||
v_bedrijfadres_password,
|
||||
v_bedrijfadres_attachfile,
|
||||
v_bedrijfadres_flexfiles,
|
||||
v_bedrijfadres_encoding,
|
||||
v_bedrijfadres_authmethod,
|
||||
v_bedrijfadres_soapversion,
|
||||
v_bedrijfadres_soapaction,
|
||||
v_bedrijfadres_lockuser_key,
|
||||
v_bedrijfadres_locksecret,
|
||||
v_bedrijfadres_lockexpire);
|
||||
END IF;
|
||||
ELSE
|
||||
IF LOWER (v_newline) LIKE
|
||||
'prs_bedrijf_key;prs_bedrijf_naam;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_telefoon;prs_bedrijf_fax;prs_bedrijf_telefoon2;prs_bedrijf_contact_persoon;prs_bedrijf_contact_telefoon;prs_bedrijf_contact_fax;prs_bedrijf_opmerking;prs_bedrijf_opmerking2;prs_bedrijf_uurloon;prs_leverancier_nr;prs_overeenkomst_nr;prs_overeenkomst_datum;prs_bedrijf_email;prs_bedrijf_order_confirm;prs_bedrijf_image_loc;prs_bedrijf_details_loc;prs_bedrijf_xmldetails_loc;prs_bedrijf_xmlcatalogus_loc;prs_bedrijf_bes_limiet;prs_bedrijf_bes_kosten;prs_bedrijf_aanmaak;prs_bedrijf_verwijder;prs_bedrijf_leverancier;prs_bedrijf_uitvoerende;prs_bedrijf_contract;prs_bedrijf_intern;prs_bedrijf_huurder;prs_bedrijf_bezoeker;prs_bedrijf_ingids;prs_bedrijf_bes_factor;prs_relatietype_omschrijving;prs_bedrijfadres_key;prs_bedrijfadres_type;mld_typeopdr_omschrijving;prs_bedrijfadres_url;prs_bedrijfadres_ordermode;prs_bedrijfadres_certificate;prs_bedrijfadres_xsl;prs_bedrijfadres_ext;prs_bedrijfadres_username;prs_bedrijfadres_password;prs_bedrijfadres_attachfile;prs_bedrijfadres_flexfiles;prs_bedrijfadres_encoding;prs_bedrijfadres_authmethod;prs_bedrijfadres_soapversion;prs_bedrijfadres_soapaction;bedrijfadres_lockuser_naam;prs_bedrijfadres_locksecret;prs_bedrijfadres_lockexpire%'
|
||||
@@ -3720,12 +3743,11 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
/*
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchx_update_bedrijf_gegevens (
|
||||
p_import_key NUMBER)
|
||||
p_import_key NUMBER)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
CURSOR c IS
|
||||
SELECT DISTINCT prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
prs_bedrijf_post_adres,
|
||||
@@ -3769,7 +3791,7 @@ AS
|
||||
prs_relatietype_key
|
||||
FROM pchx_imp_bedrijf_gegevens;
|
||||
|
||||
CURSOR c_addr(c_bedrijf_key NUMBER)
|
||||
CURSOR c_addr (c_bedrijf_key NUMBER)
|
||||
IS
|
||||
SELECT DISTINCT prs_bedrijfadres_type,
|
||||
mld_typeopdr_key,
|
||||
@@ -3793,14 +3815,15 @@ AS
|
||||
WHERE prs_bedrijf_key = c_bedrijf_key;
|
||||
|
||||
|
||||
v_leverancier_nr prs_bedrijf.prs_leverancier_nr%TYPE;
|
||||
v_bedrijf_key prs_bedrijf.prs_bedrijf_key%TYPE;
|
||||
v_bedrijf_key_pchd prs_bedrijf.prs_bedrijf_key%TYPE;
|
||||
v_leverancier_nr prs_bedrijf.prs_leverancier_nr%TYPE;
|
||||
v_bedrijf_key prs_bedrijf.prs_bedrijf_key%TYPE;
|
||||
v_bedrijf_key_pchd prs_bedrijf.prs_bedrijf_key%TYPE;
|
||||
v_bedrijfadres_key prs_bedrijfadres.prs_bedrijfadres_key%TYPE;
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
@@ -3816,94 +3839,237 @@ BEGIN
|
||||
THEN
|
||||
INSERT INTO prs_bedrijf (prs_bedrijf_naam)
|
||||
VALUES (rec.prs_bedrijf_naam)
|
||||
RETURNING prs_bedrijf_key INTO v_bedrijf_key;
|
||||
RETURNING prs_bedrijf_key
|
||||
INTO v_bedrijf_key;
|
||||
END;
|
||||
|
||||
UPDATE prs_bedrijf b
|
||||
SET prs_bedrijf_naam = rec.prs_bedrijf_naam,
|
||||
prs_bedrijf_post_adres = rec.prs_bedrijf_post_adres,
|
||||
prs_bedrijf_post_postcode = rec.prs_bedrijf_post_postcode,
|
||||
prs_bedrijf_post_plaats = rec.prs_bedrijf_post_plaats,
|
||||
prs_bedrijf_post_land = rec.prs_bedrijf_post_land,
|
||||
prs_bedrijf_bezoek_adres = rec.prs_bedrijf_bezoek_adres,
|
||||
prs_bedrijf_bezoek_postcode = rec.prs_bedrijf_bezoek_postcode,
|
||||
prs_bedrijf_bezoek_plaats = rec.prs_bedrijf_bezoek_plaats,
|
||||
prs_bedrijf_bezoek_land = rec.prs_bedrijf_bezoek_land,
|
||||
prs_bedrijf_telefoon = rec.prs_bedrijf_telefoon,
|
||||
prs_bedrijf_fax = rec.prs_bedrijf_fax,
|
||||
prs_bedrijf_telefoon2 = rec.prs_bedrijf_telefoon2,
|
||||
prs_bedrijf_contact_persoon = rec.prs_bedrijf_contact_persoon,
|
||||
prs_bedrijf_contact_telefoon = rec.prs_bedrijf_contact_telefoon,
|
||||
prs_bedrijf_contact_fax = rec.prs_bedrijf_contact_fax,
|
||||
prs_bedrijf_opmerking = rec.prs_bedrijf_opmerking,
|
||||
prs_bedrijf_opmerking2 = rec.prs_bedrijf_opmerking2,
|
||||
prs_bedrijf_uurloon = rec.prs_bedrijf_uurloon,
|
||||
prs_leverancier_nr = rec.prs_leverancier_nr,
|
||||
prs_overeenkomst_nr = rec.prs_overeenkomst_nr,
|
||||
prs_overeenkomst_datum = rec.prs_overeenkomst_datum,
|
||||
prs_bedrijf_email = rec.prs_bedrijf_email,
|
||||
prs_bedrijf_order_confirm = rec.prs_bedrijf_order_confirm,
|
||||
prs_bedrijf_image_loc = rec.prs_bedrijf_image_loc,
|
||||
prs_bedrijf_details_loc = rec.prs_bedrijf_details_loc,
|
||||
prs_bedrijf_xmldetails_loc = rec.prs_bedrijf_xmldetails_loc,
|
||||
prs_bedrijf_xmlcatalogus_loc = rec.prs_bedrijf_xmlcatalogus_loc,
|
||||
prs_bedrijf_bes_limiet = rec.prs_bedrijf_bes_limiet,
|
||||
prs_bedrijf_bes_kosten = rec.prs_bedrijf_bes_kosten,
|
||||
prs_bedrijf_aanmaak = rec.prs_bedrijf_aanmaak,
|
||||
prs_bedrijf_verwijder = rec.prs_bedrijf_verwijder,
|
||||
prs_bedrijf_leverancier = rec.prs_bedrijf_leverancier,
|
||||
prs_bedrijf_uitvoerende = rec.prs_bedrijf_uitvoerende,
|
||||
prs_bedrijf_contract = rec.prs_bedrijf_contract,
|
||||
prs_bedrijf_intern = rec.prs_bedrijf_intern,
|
||||
prs_bedrijf_huurder = rec.prs_bedrijf_huurder,
|
||||
prs_bedrijf_bezoeker = rec.prs_bedrijf_bezoeker,
|
||||
prs_bedrijf_ingids = rec.prs_bedrijf_ingids,
|
||||
prs_bedrijf_bes_factor = rec.prs_bedrijf_bes_factor,
|
||||
prs_relatietype_key = rec.prs_relatietype_key
|
||||
WHERE b.prs_bedrijf_key = v_bedrijf_key;
|
||||
|
||||
FOR rec1 IN c_addr (v_bedrijf_key_pchd)
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
SELECT prs_bedrijfadres_key
|
||||
INTO v_bedrijfadres_key
|
||||
FROM prs_bedrijfadres
|
||||
WHERE prs_bedrijf_key = v_bedrijf_key
|
||||
AND COALESCE (mld_typeopdr_key, -1) = COALESCE (rec1.mld_typeopdr_key, -1)
|
||||
AND prs_bedrijfadres_type = rec1.prs_bedrijfadres_type;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO prs_bedrijfadres (prs_bedrijf_key,
|
||||
mld_typeopdr_key,
|
||||
prs_bedrijfadres_type)
|
||||
VALUES (v_bedrijf_key,
|
||||
rec1.mld_typeopdr_key,
|
||||
rec1.prs_bedrijfadres_type)
|
||||
RETURNING prs_bedrijfadres_key
|
||||
INTO v_bedrijfadres_key;
|
||||
END;
|
||||
|
||||
UPDATE prs_bedrijf b SET (prs_bedrijf_naam = rec.prs_bedrijf_naam,
|
||||
prs_bedrijf_post_adres = rec.prs_bedrijf_post_adres,
|
||||
prs_bedrijf_post_postcode = rec.prs_bedrijf_post_postcode,
|
||||
prs_bedrijf_post_plaats = rec.prs_bedrijf_post_plaats,
|
||||
prs_bedrijf_post_land = rec.prs_bedrijf_post_land,
|
||||
prs_bedrijf_bezoek_adres = rec.prs_bedrijf_bezoek_adres,
|
||||
prs_bedrijf_bezoek_postcode = rec.prs_bedrijf_bezoek_postcode,
|
||||
prs_bedrijf_bezoek_plaats = rec.prs_bedrijf_bezoek_plaats,
|
||||
prs_bedrijf_bezoek_land = rec.prs_bedrijf_bezoek_land,
|
||||
prs_bedrijf_telefoon = rec.prs_bedrijf_telefoon,
|
||||
prs_bedrijf_fax = rec.prs_bedrijf_fax,
|
||||
prs_bedrijf_telefoon2 = rec.prs_bedrijf_telefoon2,
|
||||
prs_bedrijf_contact_persoon = rec.prs_bedrijf_contact_persoon,
|
||||
prs_bedrijf_contact_telefoon = rec.prs_bedrijf_contact_telefoon,
|
||||
prs_bedrijf_contact_fax = rec.prs_bedrijf_contact_fax,
|
||||
prs_bedrijf_opmerking = rec.prs_bedrijf_opmerking,
|
||||
prs_bedrijf_opmerking2 = rec.prs_bedrijf_opmerking2,
|
||||
prs_bedrijf_uurloon = rec.prs_bedrijf_uurloon,
|
||||
prs_leverancier_nr = rec.prs_leverancier_nr,
|
||||
prs_overeenkomst_nr = rec.prs_overeenkomst_nr,
|
||||
prs_overeenkomst_datum = rec.prs_overeenkomst_datum,
|
||||
prs_bedrijf_email = rec.prs_bedrijf_email,
|
||||
prs_bedrijf_order_confirm = rec.prs_bedrijf_order_confirm,
|
||||
prs_bedrijf_image_loc = rec.prs_bedrijf_image_loc,
|
||||
prs_bedrijf_details_loc = rec.prs_bedrijf_details_loc,
|
||||
prs_bedrijf_xmldetails_loc = rec.prs_bedrijf_xmldetails_loc,
|
||||
prs_bedrijf_xmlcatalogus_loc = rec.prs_bedrijf_xmlcatalogus_loc,
|
||||
prs_bedrijf_bes_limiet = rec.prs_bedrijf_bes_limiet,
|
||||
prs_bedrijf_bes_kosten = rec.prs_bedrijf_bes_kosten,
|
||||
prs_bedrijf_aanmaak = rec.prs_bedrijf_aanmaak,
|
||||
prs_bedrijf_verwijder = rec.prs_bedrijf_verwijder,
|
||||
prs_bedrijf_leverancier = rec.prs_bedrijf_leverancier,
|
||||
prs_bedrijf_uitvoerende = rec.prs_bedrijf_uitvoerende,
|
||||
prs_bedrijf_contract = rec.prs_bedrijf_contract,
|
||||
prs_bedrijf_intern = rec.prs_bedrijf_intern,
|
||||
prs_bedrijf_huurder = rec.prs_bedrijf_huurder,
|
||||
prs_bedrijf_bezoeker = rec.prs_bedrijf_bezoeker,
|
||||
prs_bedrijf_ingids = rec.prs_bedrijf_ingids,
|
||||
prs_bedrijf_bes_factor = rec.prs_bedrijf_bes_factor,
|
||||
prs_relatietype_key = rec.prs_relatietype_key)
|
||||
WHERE b.prs_bedrijf_key = v_bedrijf_key;
|
||||
UPDATE prs_bedrijfadres
|
||||
SET prs_bedrijfadres_url = rec1.prs_bedrijfadres_url,
|
||||
prs_bedrijfadres_ordermode = rec1.prs_bedrijfadres_ordermode,
|
||||
prs_bedrijfadres_certificate = rec1.prs_bedrijfadres_certificate,
|
||||
prs_bedrijfadres_xsl = DECODE (UPPER (rec1.prs_bedrijfadres_xsl),
|
||||
'XSL/PCHD.XSL', 'xsl/' || SUBSTR (USER, 1, 4) || '.xsl',
|
||||
rec1.prs_bedrijfadres_xsl),
|
||||
prs_bedrijfadres_ext = rec1.prs_bedrijfadres_ext,
|
||||
prs_bedrijfadres_username = rec1.prs_bedrijfadres_username,
|
||||
prs_bedrijfadres_password = rec1.prs_bedrijfadres_password,
|
||||
prs_bedrijfadres_attachfile = 'Alg. inkoopvoorwaarden PCH IFMS.pdf',
|
||||
prs_bedrijfadres_flexfiles = rec1.prs_bedrijfadres_flexfiles,
|
||||
prs_bedrijfadres_encoding = rec1.prs_bedrijfadres_encoding,
|
||||
prs_bedrijfadres_authmethod = rec1.prs_bedrijfadres_authmethod,
|
||||
prs_bedrijfadres_soapversion = rec1.prs_bedrijfadres_soapversion,
|
||||
prs_bedrijfadres_soapaction = rec1.prs_bedrijfadres_soapaction,
|
||||
prs_bedrijfadres_lockuser_key = rec1.prs_bedrijfadres_lockuser_key,
|
||||
prs_bedrijfadres_locksecret = rec1.prs_bedrijfadres_locksecret,
|
||||
prs_bedrijfadres_lockexpire = rec1.prs_bedrijfadres_lockexpire
|
||||
WHERE prs_bedrijfadres_key = v_bedrijfadres_key;
|
||||
|
||||
FOR rec1 IN c_addr(v_bedrijf_key_pchd)
|
||||
LOOP
|
||||
INSERT INTO prs_bedrijfadres (prs_bedrijf_key,
|
||||
prs_bedrijfadres_type,
|
||||
mld_typeopdr_key,
|
||||
prs_bedrijfadres_url,
|
||||
prs_bedrijfadres_ordermode,
|
||||
prs_bedrijfadres_certificate,
|
||||
prs_bedrijfadres_xsl,
|
||||
prs_bedrijfadres_ext,
|
||||
prs_bedrijfadres_username,
|
||||
prs_bedrijfadres_password,
|
||||
prs_bedrijfadres_attachfile,
|
||||
prs_bedrijfadres_flexfiles,
|
||||
prs_bedrijfadres_encoding,
|
||||
prs_bedrijfadres_authmethod,
|
||||
prs_bedrijfadres_soapversion,
|
||||
prs_bedrijfadres_soapaction,
|
||||
prs_bedrijfadres_lockuser_key,
|
||||
prs_bedrijfadres_locksecret,
|
||||
prs_bedrijfadres_lockexpire)
|
||||
VALUES (v_bedrijf_key,
|
||||
rec1.prs_bedrijfadres_type,
|
||||
rec1.mld_typeopdr_key,
|
||||
rec1.prs_bedrijfadres_url,
|
||||
rec1.prs_bedrijfadres_ordermode,
|
||||
rec1.prs_bedrijfadres_certificate,
|
||||
rec1.prs_bedrijfadres_xsl,
|
||||
rec1.prs_bedrijfadres_ext,
|
||||
rec1.prs_bedrijfadres_username,
|
||||
rec1.prs_bedrijfadres_password,
|
||||
rec1.prs_bedrijfadres_attachfile,
|
||||
rec1.prs_bedrijfadres_flexfiles,
|
||||
rec1.prs_bedrijfadres_encoding,
|
||||
rec1.prs_bedrijfadres_authmethod,
|
||||
rec1.prs_bedrijfadres_soapversion,
|
||||
rec1.prs_bedrijfadres_soapaction,
|
||||
rec1.prs_bedrijfadres_lockuser_key,
|
||||
rec1.prs_bedrijfadres_locksecret,
|
||||
rec1.prs_bedrijfadres_lockexpire);
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
SUBSTR (v_errormsg, 1, 1000),
|
||||
'');
|
||||
END;
|
||||
/
|
||||
|
||||
END LOOP;
|
||||
|
||||
-- Koppeling om contactpersonen vanuit PCHD te verspreiden over de andere PCH omgevingen.
|
||||
CREATE OR REPLACE PROCEDURE pchx_import_contactpersoon (
|
||||
p_import_key NUMBER)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
v_contactpersoon_key VARCHAR2 (1000);
|
||||
v_contactpersoon_naam VARCHAR2 (1000);
|
||||
v_contactpersoon_tussenv VARCHAR2 (1000);
|
||||
v_contactpersoon_voorletters VARCHAR2 (1000);
|
||||
v_contactpersoon_voornaam VARCHAR2 (1000);
|
||||
v_contactpersoon_aanhef VARCHAR2 (1000);
|
||||
v_contactpersoon_titel VARCHAR2 (1000);
|
||||
v_contactpersoon_telefoon_1 VARCHAR2 (1000);
|
||||
v_contactpersoon_telefoon_2 VARCHAR2 (1000);
|
||||
v_contactpersoon_fax VARCHAR2 (1000);
|
||||
v_contactpersoon_email VARCHAR2 (1000);
|
||||
v_contactpersoon_functie VARCHAR2 (1000);
|
||||
v_contactpersoon_opmerking VARCHAR2 (1000);
|
||||
v_bedrijf_key VARCHAR2 (1000);
|
||||
v_bedrijf_naam VARCHAR2 (1000);
|
||||
|
||||
v_newline VARCHAR2 (4000); -- Import line
|
||||
v_field VARCHAR2 (1000); -- Import field
|
||||
v_fielddelimitor VARCHAR2 (1);
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_header_is_valid NUMBER (1) := 0;
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
v_fielddelimitor := ';';
|
||||
|
||||
DELETE pchx_imp_contactpersoon;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
v_ongeldig := 0;
|
||||
|
||||
IF v_header_is_valid = 1
|
||||
THEN
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_key);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_naam);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_tussenv);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_voorletters);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_voornaam);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_aanhef);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_titel);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_telefoon_1);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_telefoon_2);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_fax);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_email);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_functie);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_contactpersoon_opmerking);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_key);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_naam);
|
||||
|
||||
SELECT MAX (b.prs_bedrijf_key)
|
||||
INTO v_bedrijf_key
|
||||
FROM prs_bedrijf b, pchx_imp_bedrijf_gegevens i
|
||||
WHERE v_bedrijf_key = i.prs_bedrijf_key
|
||||
AND i.prs_leverancier_nr = b.prs_leverancier_nr
|
||||
AND b.prs_bedrijf_verwijder IS NULL;
|
||||
|
||||
IF v_bedrijf_key IS NULL
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key, 'E', 'Bedrijf niet gevonden: ' || v_bedrijf_naam, '');
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
INSERT INTO pchx_imp_contactpersoon (
|
||||
prs_contactpersoon_key,
|
||||
prs_contactpersoon_naam,
|
||||
prs_contactpersoon_tussenv,
|
||||
prs_contactpersoon_voorletters,
|
||||
prs_contactpersoon_voornaam,
|
||||
prs_contactpersoon_aanhef,
|
||||
prs_contactpersoon_titel,
|
||||
prs_contactpersoon_telefoon_1,
|
||||
prs_contactpersoon_telefoon_2,
|
||||
prs_contactpersoon_fax,
|
||||
prs_contactpersoon_email,
|
||||
prs_contactpersoon_functie,
|
||||
prs_contactpersoon_opmerking,
|
||||
prs_bedrijf_key,
|
||||
prs_bedrijf_naam)
|
||||
VALUES (
|
||||
v_contactpersoon_key,
|
||||
v_contactpersoon_naam,
|
||||
v_contactpersoon_tussenv,
|
||||
v_contactpersoon_voorletters,
|
||||
v_contactpersoon_voornaam,
|
||||
v_contactpersoon_aanhef,
|
||||
v_contactpersoon_titel,
|
||||
v_contactpersoon_telefoon_1,
|
||||
v_contactpersoon_telefoon_2,
|
||||
v_contactpersoon_fax,
|
||||
v_contactpersoon_email,
|
||||
v_contactpersoon_functie,
|
||||
v_contactpersoon_opmerking,
|
||||
v_bedrijf_key,
|
||||
v_bedrijf_naam);
|
||||
END IF;
|
||||
ELSE
|
||||
IF LOWER (v_newline) LIKE 'prs_contactpersoon_key;prs_contactpersoon_naam;prs_contactpersoon_tussenv;prs_contactpersoon_voorletters;prs_contactpersoon_voornaam;prs_contactpersoon_aanhef;prs_contactpersoon_titel;prs_contactpersoon_telefoon_1;prs_contactpersoon_telefoon_2;prs_contactpersoon_fax;prs_contactpersoon_email;prs_contactpersoon_functie;prs_contactpersoon_opmerking;prs_bedrijf_key;prs_bedrijf_naam%'
|
||||
THEN
|
||||
v_header_is_valid := 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
@@ -3923,7 +4089,95 @@ EXCEPTION
|
||||
'');
|
||||
END;
|
||||
/
|
||||
*/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchx_update_contactpersoon (
|
||||
p_import_key NUMBER)
|
||||
AS
|
||||
CURSOR c IS
|
||||
SELECT DISTINCT prs_bedrijf_key
|
||||
FROM pchx_imp_contactpersoon;
|
||||
|
||||
CURSOR c_det (c_bedrijf_key NUMBER)
|
||||
IS
|
||||
SELECT *
|
||||
FROM pchx_imp_contactpersoon
|
||||
WHERE prs_bedrijf_key = c_bedrijf_key;
|
||||
|
||||
v_contactpersoon_key prs_contactpersoon.prs_contactpersoon_key%TYPE;
|
||||
|
||||
v_errormsg VARCHAR (200);
|
||||
v_errorhint VARCHAR (200);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
BEGIN
|
||||
FOR rec1 IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
FOR rec IN c_det(rec1.prs_bedrijf_key)
|
||||
LOOP
|
||||
BEGIN
|
||||
SELECT prs_contactpersoon_key
|
||||
INTO v_contactpersoon_key
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_bedrijf_key = rec1.prs_bedrijf_key
|
||||
AND prs_contactpersoon_naam = rec.prs_contactpersoon_naam
|
||||
AND COALESCE(prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(rec.prs_contactpersoon_voornaam, 'Onbekend');
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO prs_contactpersoon (prs_contactpersoon_naam, prs_contactpersoon_voornaam, prs_bedrijf_key)
|
||||
VALUES (rec.prs_contactpersoon_naam, rec.prs_contactpersoon_voornaam, rec.prs_bedrijf_key)
|
||||
RETURNING prs_contactpersoon_key
|
||||
INTO v_contactpersoon_key;
|
||||
END;
|
||||
|
||||
UPDATE prs_contactpersoon
|
||||
SET prs_contactpersoon_tussenv = rec.prs_contactpersoon_tussenv,
|
||||
prs_contactpersoon_voorletters = rec.prs_contactpersoon_voorletters,
|
||||
prs_contactpersoon_aanhef = rec.prs_contactpersoon_aanhef,
|
||||
prs_contactpersoon_titel = rec.prs_contactpersoon_titel,
|
||||
prs_contactpersoon_telefoon_1 = rec.prs_contactpersoon_telefoon_1,
|
||||
prs_contactpersoon_telefoon_2 = rec.prs_contactpersoon_telefoon_2,
|
||||
prs_contactpersoon_fax = rec.prs_contactpersoon_fax,
|
||||
prs_contactpersoon_email = rec.prs_contactpersoon_email,
|
||||
prs_contactpersoon_functie = rec.prs_contactpersoon_functie,
|
||||
prs_contactpersoon_opmerking = rec.prs_contactpersoon_opmerking
|
||||
WHERE prs_contactpersoon_key = v_contactpersoon_key;
|
||||
|
||||
END LOOP;
|
||||
|
||||
UPDATE prs_contactpersoon cp
|
||||
SET cp.prs_contactpersoon_verwijder = SYSDATE
|
||||
WHERE cp.prs_bedrijf_key = rec1.prs_bedrijf_key
|
||||
AND NOT EXISTS (SELECT prs_contactpersoon_key
|
||||
FROM pchx_imp_contactpersoon cp2
|
||||
WHERE cp2.prs_bedrijf_key = cp.prs_bedrijf_key
|
||||
AND cp2.prs_contactpersoon_naam = cp.prs_contactpersoon_naam
|
||||
AND COALESCE(cp2.prs_contactpersoon_voornaam, 'Onbekend') = COALESCE(cp.prs_contactpersoon_voornaam, 'Onbekend'));
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
SUBSTR (v_errormsg, 1, 1000),
|
||||
'');
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user