PCHD#41923 -- Crediteurgegevens overnemen uit de PCHD omgeving

svn path=/Customer/trunk/; revision=40564
This commit is contained in:
Arthur Egberink
2019-01-16 15:57:54 +00:00
parent 8af8a885f2
commit 9d862fa5f9

View File

@@ -2575,7 +2575,7 @@ NOTI_CODE,
STATUS_OUD,
STATUS_NIEUW)
AS
SELECT
SELECT
f.factuur_key,
t.fac_tracking_key,
t.fac_tracking_datum,
@@ -2628,12 +2628,12 @@ SELECT
''
END
AS status_nieuw
FROM fac_tracking t,
FROM fac_tracking t,
fac_srtnotificatie sn,
fin_v_udr_factuur f,
prs_v_perslid_fullnames_all p
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND SUBSTR (sn.fac_srtnotificatie_code, 1, 3) = 'FIN'
AND SUBSTR (sn.fac_srtnotificatie_code, 1, 3) = 'FIN'
AND t.fac_tracking_refkey = f.factuur_key
AND p.prs_perslid_key = t.prs_perslid_key;
@@ -2695,9 +2695,9 @@ SELECT f.factuur_key,
f.status,
(SELECT t2.status_nieuw
FROM pchx_v_fintrack t2
WHERE t2.tracking_key =
WHERE t2.tracking_key =
(SELECT MAX(t2.tracking_key)
FROM pchx_v_fintrack t2
FROM pchx_v_fintrack t2
WHERE t2.status_nieuw IS NOT NULL
AND t2.tracking_key < t1.fac_tracking_key)) AS status_melding_afwijzing,
f.opmerking,
@@ -2706,7 +2706,7 @@ SELECT f.factuur_key,
p.prs_perslid_naam_friendly,
(SELECT ud.fac_usrdata_omschr
FROM fin_kenmerkfactuur kf, fin_kenmerk k, fac_kenmerkdomein fkd, fac_usrdata ud
WHERE k.fin_kenmerk_key = 21 -- Key voor aanvullend gegeven Grootboekrekening
WHERE k.fin_kenmerk_key = 21 -- Key voor aanvullend gegeven Grootboekrekening
AND f.factuur_key = kf.fin_factuur_key
AND k.fin_kenmerk_key = kf.fin_kenmerk_key
AND fkd.fac_kenmerkdomein_key = k.fac_kenmerkdomein_key
@@ -2714,13 +2714,13 @@ SELECT f.factuur_key,
AND kf.fin_kenmerkfactuur_waarde = ud.fac_usrdata_key),
(SELECT b.prs_bedrijf_naam
FROM fin_kenmerkfactuur kf, fin_kenmerk k, fac_kenmerkdomein fkd, pchx_v_fin_bedrijf b
WHERE k.fin_kenmerk_key = 41 -- Key voor aanvullend gegeven Afw. bedrijf
WHERE k.fin_kenmerk_key = 41 -- Key voor aanvullend gegeven Afw. bedrijf
AND f.factuur_key = kf.fin_factuur_key
AND k.fin_kenmerk_key = kf.fin_kenmerk_key
AND fkd.fac_kenmerkdomein_key = k.fac_kenmerkdomein_key
AND kf.fin_kenmerkfactuur_waarde = b.prs_bedrijf_key)
FROM fin_v_udr_factuur f,
fac_tracking t1,
fac_tracking t1,
fac_srtnotificatie sn,
prs_v_perslid_fullnames_all p
WHERE t1.fac_tracking_refkey = f.factuur_key
@@ -2728,6 +2728,692 @@ SELECT f.factuur_key,
AND sn.fac_srtnotificatie_code = 'FINFNO'
AND p.prs_perslid_key = t1.prs_perslid_key;
-- Koppeling om crediteurgegevens vanuit PCHD te verspreiden over de andere PCH omgevingen.
CREATE OR REPLACE PROCEDURE pchx_import_bedrijf_gegevens (
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_bedrijf_key VARCHAR2 (1000);
v_bedrijf_naam VARCHAR2 (1000);
v_bedrijf_post_adres VARCHAR2 (1000);
v_bedrijf_post_postcode VARCHAR2 (1000);
v_bedrijf_post_plaats VARCHAR2 (1000);
v_bedrijf_post_land VARCHAR2 (1000);
v_bedrijf_bezoek_adres VARCHAR2 (1000);
v_bedrijf_bezoek_postcode VARCHAR2 (1000);
v_bedrijf_bezoek_plaats VARCHAR2 (1000);
v_bedrijf_bezoek_land VARCHAR2 (1000);
v_bedrijf_telefoon VARCHAR2 (1000);
v_bedrijf_fax VARCHAR2 (1000);
v_bedrijf_telefoon2 VARCHAR2 (1000);
v_bedrijf_contact_persoon VARCHAR2 (1000);
v_bedrijf_contact_telefoon VARCHAR2 (1000);
v_bedrijf_contact_fax VARCHAR2 (1000);
v_bedrijf_opmerking VARCHAR2 (1000);
v_bedrijf_opmerking2 VARCHAR2 (1000);
v_bedrijf_uurloon VARCHAR2 (1000);
v_leverancier_nr VARCHAR2 (1000);
v_overeenkomst_nr VARCHAR2 (1000);
v_overeenkomst_datum VARCHAR2 (1000);
v_bedrijf_email VARCHAR2 (1000);
v_bedrijf_order_confirm VARCHAR2 (1000);
v_bedrijf_image_loc VARCHAR2 (1000);
v_bedrijf_details_loc VARCHAR2 (1000);
v_bedrijf_xmldetails_loc VARCHAR2 (1000);
v_bedrijf_xmlcatalogus_loc VARCHAR2 (1000);
v_bedrijf_bes_limiet VARCHAR2 (1000);
v_bedrijf_bes_kosten VARCHAR2 (1000);
v_bedrijf_aanmaak VARCHAR2 (1000);
v_bedrijf_verwijder VARCHAR2 (1000);
v_bedrijf_leverancier VARCHAR2 (1000);
v_bedrijf_uitvoerende VARCHAR2 (1000);
v_bedrijf_contract VARCHAR2 (1000);
v_bedrijf_intern VARCHAR2 (1000);
v_bedrijf_huurder VARCHAR2 (1000);
v_bedrijf_bezoeker VARCHAR2 (1000);
v_bedrijf_ingids VARCHAR2 (1000);
v_bedrijf_bes_factor VARCHAR2 (1000);
v_relatietype_omschrijving VARCHAR2 (1000);
v_bedrijfadres_key VARCHAR2 (1000);
v_bedrijfadres_type VARCHAR2 (1000);
v_typeopdr_omschrijving VARCHAR2 (1000);
v_bedrijfadres_url VARCHAR2 (1000);
v_bedrijfadres_ordermode VARCHAR2 (1000);
v_bedrijfadres_certificate VARCHAR2 (1000);
v_bedrijfadres_xsl VARCHAR2 (1000);
v_bedrijfadres_ext VARCHAR2 (1000);
v_bedrijfadres_username VARCHAR2 (1000);
v_bedrijfadres_password VARCHAR2 (1000);
v_bedrijfadres_attachfile VARCHAR2 (1000);
v_bedrijfadres_flexfiles VARCHAR2 (1000);
v_bedrijfadres_encoding VARCHAR2 (1000);
v_bedrijfadres_authmethod VARCHAR2 (1000);
v_bedrijfadres_soapversion VARCHAR2 (1000);
v_bedrijfadres_soapaction VARCHAR2 (1000);
v_bedrijfadres_lockuser_naam VARCHAR2 (1000);
v_bedrijfadres_locksecret VARCHAR2 (1000);
v_bedrijfadres_lockexpire VARCHAR2 (1000);
v_typeopdr_key NUMBER (10);
v_relatietype_key NUMBER (10);
v_bedrijfadres_lockuser_key NUMBER (10);
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_header_is_valid NUMBER (1) := 0;
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
BEGIN
v_fielddelimitor := ';';
DELETE pchx_imp_bedrijf_gegevens;
FOR rec IN c
LOOP
BEGIN
v_newline := rec.fac_imp_file_line;
IF v_header_is_valid = 1
THEN
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_key);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_naam);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_post_adres);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_post_postcode);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_post_plaats);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_post_land);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bezoek_adres);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bezoek_postcode);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bezoek_plaats);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bezoek_land);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_telefoon);
fac.imp_getfield (v_newline, v_fielddelimitor, v_bedrijf_fax);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_telefoon2);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_contact_persoon);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_contact_telefoon);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_contact_fax);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_opmerking);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_opmerking2);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_uurloon);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_leverancier_nr);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_overeenkomst_nr);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_overeenkomst_datum);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_email);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_order_confirm);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_image_loc);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_details_loc);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_xmldetails_loc);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_xmlcatalogus_loc);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bes_limiet);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bes_kosten);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_aanmaak);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_verwijder);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_leverancier);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_uitvoerende);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_contract);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_intern);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_huurder);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bezoeker);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_ingids);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijf_bes_factor);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_relatietype_omschrijving);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_key);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_type);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_typeopdr_omschrijving);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_url);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_ordermode);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_certificate);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_xsl);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_ext);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_username);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_password);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_attachfile);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_flexfiles);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_encoding);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_authmethod);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_soapversion);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_soapaction);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_lockuser_naam);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_locksecret);
fac.imp_getfield (v_newline,
v_fielddelimitor,
v_bedrijfadres_lockexpire);
SELECT MAX (prs_relatietype_key)
INTO v_relatietype_key
FROM prs_relatietype rt
WHERE UPPER (rt.prs_relatietype_omschrijving) =
UPPER (v_relatietype_omschrijving);
SELECT MAX (mld_typeopdr_key)
INTO v_typeopdr_key
FROM mld_typeopdr ot
WHERE UPPER (ot.mld_typeopdr_omschrijving) =
UPPER (v_typeopdr_omschrijving);
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);
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%'
THEN
v_header_is_valid := 1;
END IF;
END IF;
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;
/
CREATE OR REPLACE PROCEDURE pchx_update_bedrijf_gegevens (
p_import_key NUMBER)
AS
CURSOR c
IS
SELECT DISTINCT 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
FROM pchx_imp_bedrijf_gegevens;
CURSOR c_addr(c_bedrijf_key NUMBER)
IS
SELECT DISTINCT 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
FROM pchx_imp_bedrijf_gegevens
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_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
BEGIN
FOR rec IN c
LOOP
BEGIN
v_bedrijf_key_pchd := rec.prs_bedrijf_key;
SELECT prs_bedrijf_key
INTO v_bedrijf_key
FROM prs_bedrijf
WHERE prs_leverancier_nr = rec.prs_leverancier_nr;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
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_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)
VALUES (rec.prs_bedrijf_naam,
rec.prs_bedrijf_post_adres,
rec.prs_bedrijf_post_postcode,
rec.prs_bedrijf_post_plaats,
rec.prs_bedrijf_post_land,
rec.prs_bedrijf_bezoek_adres,
rec.prs_bedrijf_bezoek_postcode,
rec.prs_bedrijf_bezoek_plaats,
rec.prs_bedrijf_bezoek_land,
rec.prs_bedrijf_telefoon,
rec.prs_bedrijf_fax,
rec.prs_bedrijf_telefoon2,
rec.prs_bedrijf_contact_persoon,
rec.prs_bedrijf_contact_telefoon,
rec.prs_bedrijf_contact_fax,
rec.prs_bedrijf_opmerking,
rec.prs_bedrijf_opmerking2,
rec.prs_bedrijf_uurloon,
rec.prs_leverancier_nr,
rec.prs_overeenkomst_nr,
rec.prs_overeenkomst_datum,
rec.prs_bedrijf_email,
rec.prs_bedrijf_order_confirm,
rec.prs_bedrijf_image_loc,
rec.prs_bedrijf_details_loc,
rec.prs_bedrijf_xmldetails_loc,
rec.prs_bedrijf_xmlcatalogus_loc,
rec.prs_bedrijf_bes_limiet,
rec.prs_bedrijf_bes_kosten,
rec.prs_bedrijf_aanmaak,
rec.prs_bedrijf_verwijder,
rec.prs_bedrijf_leverancier,
rec.prs_bedrijf_uitvoerende,
rec.prs_bedrijf_contract,
rec.prs_bedrijf_intern,
rec.prs_bedrijf_huurder,
rec.prs_bedrijf_bezoeker,
rec.prs_bedrijf_ingids,
rec.prs_bedrijf_bes_factor,
rec.prs_relatietype_key)
RETURNING prs_bedrijf_key INTO v_bedrijf_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;
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