AAIT#72551 -- Once Inventarisatie-Externe-Bedrijven aanpassen - vooruitlevering tbv nieuwe klanten in inlo
svn path=/Customer/; revision=56782
This commit is contained in:
572
onces/AA/INLO/INLO#72551.sql
Normal file
572
onces/AA/INLO/INLO#72551.sql
Normal file
@@ -0,0 +1,572 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ONCESCRIPT om tijdelijk de FIP: FAC_UPDATE_BEDRIJFADRES via een CUST te laten lopen,
|
||||
--- zodat HEYDAY in die omgeving de verbetering uit 2022.3 alvast kan gebruiken voor de nieuwe klanten die komende periode op stapel staan (o.a. IKEA).
|
||||
|
||||
DEFINE thisfile = 'INLO#72551.SQL'
|
||||
DEFINE dbuser = 'INLO'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
CREATE TABLE inlo_imp_bedrijfadres
|
||||
(
|
||||
prs_bedrijf_key NUMBER (10),
|
||||
prs_bedrijfadres_type VARCHAR2 (1),
|
||||
mld_typeopdr_key NUMBER (10),
|
||||
prs_bedrijfadres_url VARCHAR2 (512),
|
||||
prs_bedrijfadres_ordermode NUMBER (3),
|
||||
prs_bedrijfadres_certificate VARCHAR2 (255),
|
||||
prs_bedrijfadres_xsl VARCHAR2 (256),
|
||||
prs_bedrijfadres_ext VARCHAR2 (10),
|
||||
prs_bedrijfadres_attachfile VARCHAR2 (256),
|
||||
prs_bedrijfadres_username VARCHAR2 (32),
|
||||
prs_bedrijfadres_password VARCHAR2 (320),
|
||||
prs_bedrijfadres_plugin VARCHAR2 (320),
|
||||
prs_bedrijfadres_plugindata VARCHAR2 (4000),
|
||||
prs_bedrijfadres_sender VARCHAR2 (512),
|
||||
prs_bedrijfadres_lockuser_key NUMBER (10),
|
||||
prs_bedrijfadres_lockexpire NUMBER (10)
|
||||
);
|
||||
|
||||
CREATE OR REPLACE PROCEDURE inlo_import_bedrijfadres (p_import_key IN NUMBER)
|
||||
IS
|
||||
c_delim VARCHAR2 (1) := ';';
|
||||
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
header_is_valid NUMBER;
|
||||
v_count_tot NUMBER (10);
|
||||
v_count_import NUMBER (10);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_aanduiding VARCHAR (200);
|
||||
|
||||
-- De importvelden
|
||||
v_prs_bedrijf_naam VARCHAR2 (255); -- VARCHAR2(60),
|
||||
v_prs_leverancier_nr VARCHAR2 (255); -- VARCHAR2(50),
|
||||
v_prs_bedrijf_key NUMBER(10);
|
||||
v_prs_bedrijfadres_type VARCHAR2 (255); -- VARCHAR2(1),
|
||||
v_mld_typeopdr_omschrijving VARCHAR2 (255); -- NUMBER(10),
|
||||
v_mld_typeopdr_key NUMBER(10);
|
||||
v_prs_bedrijfadres_url VARCHAR2 (1000); -- VARCHAR2(512),
|
||||
v_prs_bedrijfadres_ordermode VARCHAR2 (255); -- NUMBER(3),
|
||||
v_prs_bedrijfadres_certificate VARCHAR2 (1000); -- VARCHAR2(255),
|
||||
v_prs_bedrijfadres_xsl VARCHAR2 (1000); -- VARCHAR2(256),
|
||||
v_prs_bedrijfadres_ext VARCHAR2 (255); -- VARCHAR2(10),
|
||||
v_prs_bedrijfadres_attachfile VARCHAR2 (1000); -- VARCHAR2(256),
|
||||
v_prs_bedrijfadres_username VARCHAR2 (255); -- VARCHAR2(32),
|
||||
v_prs_bedrijfadres_password VARCHAR2 (1000); -- VARCHAR2(320)),
|
||||
v_prs_bedrijfadres_sender VARCHAR2 (1000); -- VARCHAR2(512),
|
||||
v_prs_bedrijfadres_lockuser VARCHAR2 (255); -- NUMBER(10),
|
||||
v_lockuser_key NUMBER (10);
|
||||
v_prs_bedrijfadres_lockexpire VARCHAR2 (255);
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
|
||||
BEGIN
|
||||
-- Eerst opruiming
|
||||
DELETE FROM inlo_imp_bedrijfadres;
|
||||
|
||||
COMMIT;
|
||||
|
||||
v_count_tot := 0;
|
||||
v_count_import := 0;
|
||||
header_is_valid := 0;
|
||||
|
||||
FOR rec1 IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
v_newline := rec1.fac_imp_file_line;
|
||||
v_errormsg := 'Fout bij opvragen importregel';
|
||||
v_aanduiding := '';
|
||||
v_ongeldig := 0;
|
||||
-- Lees alle veldwaarden
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijf_naam);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_leverancier_nr);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_type);
|
||||
fac.imp_getfield (v_newline, c_delim, v_mld_typeopdr_omschrijving);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_url);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_ordermode);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_certificate);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_xsl);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_ext);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_attachfile);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_username);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_password);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_sender);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_lockuser);
|
||||
fac.imp_getfield (v_newline, c_delim, v_prs_bedrijfadres_lockexpire);
|
||||
|
||||
v_aanduiding :=
|
||||
'['
|
||||
|| v_prs_bedrijf_naam
|
||||
|| '|'
|
||||
|| v_prs_leverancier_nr
|
||||
|| '|'
|
||||
|| v_prs_bedrijfadres_type
|
||||
|| '|'
|
||||
|| v_mld_typeopdr_omschrijving
|
||||
|| '] ';
|
||||
|
||||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||||
-- de juiste kolomkop
|
||||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
IF UPPER (v_prs_bedrijf_naam) = 'BEDRIJFSNAAM'
|
||||
AND UPPER (v_prs_leverancier_nr) = 'LEVERANCIERNUMMER'
|
||||
AND UPPER (v_prs_bedrijfadres_type) = 'KANAAL'
|
||||
AND UPPER (v_mld_typeopdr_omschrijving) = 'OPDRACHTTYPE'
|
||||
AND UPPER (v_prs_bedrijfadres_url) = 'ADRES'
|
||||
AND UPPER (v_prs_bedrijfadres_ordermode) = 'ORDERMODE'
|
||||
AND UPPER (v_prs_bedrijfadres_certificate) = 'CERTIFICAAT'
|
||||
AND UPPER (v_prs_bedrijfadres_xsl) = 'XSL_TEMPLATE'
|
||||
AND UPPER (v_prs_bedrijfadres_ext) = 'EXTENSIE'
|
||||
AND UPPER (v_prs_bedrijfadres_attachfile) = 'VASTE_BIJLAGE'
|
||||
AND UPPER (v_prs_bedrijfadres_username) = 'LOGIN'
|
||||
AND UPPER (v_prs_bedrijfadres_password) = 'WACHTWOORD'
|
||||
AND UPPER (v_prs_bedrijfadres_sender) = 'AFZENDER'
|
||||
AND UPPER (v_prs_bedrijfadres_lockuser) = 'VASTE_GEBRUIKER'
|
||||
AND UPPER (v_prs_bedrijfadres_lockexpire) = 'EXPIRE_DAYS'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
ELSE
|
||||
v_count_tot := v_count_tot + 1;
|
||||
-- Controleer alle veldwaarden
|
||||
v_errormsg := 'Bedrijf niet gevonden';
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_prs_bedrijf_key
|
||||
FROM prs_bedrijf
|
||||
WHERE COALESCE(prs_bedrijf_intern, 0) <> 1
|
||||
AND prs_bedrijf_verwijder IS NULL
|
||||
AND UPPER(prs_leverancier_nr) = UPPER(v_prs_leverancier_nr);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_key
|
||||
INTO v_prs_bedrijf_key
|
||||
FROM prs_bedrijf
|
||||
WHERE COALESCE(prs_bedrijf_intern, 0) <> 1
|
||||
AND prs_bedrijf_verwijder IS NULL
|
||||
AND UPPER(prs_bedrijf_naam) = UPPER(v_prs_bedrijf_naam);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen');
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
END;
|
||||
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
v_errormsg := 'Opdrachttype niet gevonden';
|
||||
v_mld_typeopdr_key := NULL;
|
||||
IF UPPER(v_prs_bedrijfadres_type) = 'O' AND v_mld_typeopdr_omschrijving IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT mld_typeopdr_key
|
||||
INTO v_mld_typeopdr_key
|
||||
FROM mld_typeopdr
|
||||
WHERE mld_typeopdr_upper = UPPER(v_mld_typeopdr_omschrijving);
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen');
|
||||
v_ongeldig := 1;
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Expire days mag niet negatief of meer zijn dan 10 posities lang.
|
||||
-- Indien leeg, dan blijft/wordt expire_days=ongedefinieerd=NULL!
|
||||
v_prs_bedrijfadres_lockexpire := TRIM (v_prs_bedrijfadres_lockexpire);
|
||||
|
||||
IF v_prs_bedrijfadres_lockexpire IS NOT NULL
|
||||
AND ( fac.safe_to_number (v_prs_bedrijfadres_lockexpire) IS NULL
|
||||
OR fac.safe_to_number (v_prs_bedrijfadres_lockexpire) < 0
|
||||
OR fac.safe_to_number (v_prs_bedrijfadres_lockexpire) > 9999999999)
|
||||
THEN
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Ongeldig aantal expire days',
|
||||
'Regel wordt niet ingelezen (Expire days:' || v_prs_bedrijfadres_lockexpire || ')'
|
||||
);
|
||||
v_ongeldig := 1;
|
||||
END IF;
|
||||
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
v_errormsg := 'Controleer kanaal';
|
||||
IF LENGTH(v_prs_bedrijfadres_type) > 1
|
||||
THEN
|
||||
v_prs_bedrijfadres_type := SUBSTR(v_prs_bedrijfadres_type, 1, 1);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Kanaal aangepast naar: ' || v_prs_bedrijfadres_type);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van URL';
|
||||
IF LENGTH(v_prs_bedrijfadres_url) > 512
|
||||
THEN
|
||||
v_prs_bedrijfadres_url := SUBSTR(v_prs_bedrijfadres_url, 1, 512);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'URL aangepast naar: ' || v_prs_bedrijfadres_url);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer ordermode';
|
||||
IF LENGTH(v_prs_bedrijfadres_ordermode) > 3
|
||||
OR ( fac.safe_to_number(v_prs_bedrijfadres_ordermode) IS NULL
|
||||
AND v_prs_bedrijfadres_ordermode IS NOT NULL)
|
||||
THEN
|
||||
v_prs_bedrijfadres_ordermode := SUBSTR(v_prs_bedrijfadres_ordermode, 1, 3);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Ordermode aangepast naar: ' || fac.safe_to_number(v_prs_bedrijfadres_ordermode));
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van certificaat';
|
||||
IF LENGTH(v_prs_bedrijfadres_certificate) > 255
|
||||
THEN
|
||||
v_prs_bedrijfadres_certificate := SUBSTR(v_prs_bedrijfadres_certificate, 1, 255);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Certificaat aangepast naar: ' || v_prs_bedrijfadres_certificate);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van stylesheet';
|
||||
IF LENGTH(v_prs_bedrijfadres_xsl) > 256
|
||||
THEN
|
||||
v_prs_bedrijfadres_xsl := SUBSTR(v_prs_bedrijfadres_xsl, 1, 256);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Stylesheet aangepast naar: ' || v_prs_bedrijfadres_xsl);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van extensie';
|
||||
IF LENGTH(v_prs_bedrijfadres_ext) > 10
|
||||
THEN
|
||||
v_prs_bedrijfadres_ext := SUBSTR(v_prs_bedrijfadres_ext, 1, 10);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Extensie aangepast naar: ' || v_prs_bedrijfadres_ext);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van vaste bijlage';
|
||||
IF LENGTH(v_prs_bedrijfadres_attachfile) > 256
|
||||
THEN
|
||||
v_prs_bedrijfadres_attachfile := SUBSTR(v_prs_bedrijfadres_attachfile, 1, 256);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Vaste bijlage aangepast naar: ' || v_prs_bedrijfadres_attachfile);
|
||||
ELSE
|
||||
IF ((LENGTH(v_prs_bedrijfadres_attachfile) > 0) AND (INSTR(v_prs_bedrijfadres_attachfile,'.') < 0))
|
||||
THEN
|
||||
v_prs_bedrijfadres_attachfile := '';
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Ongeldige vaste bijlage verwijderd: ' || v_prs_bedrijfadres_attachfile);
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van login';
|
||||
IF LENGTH(v_prs_bedrijfadres_username) > 32
|
||||
THEN
|
||||
v_prs_bedrijfadres_username := SUBSTR(v_prs_bedrijfadres_username, 1, 32);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Login aangepast naar: ' || v_prs_bedrijfadres_username);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van wachtwoord';
|
||||
IF LENGTH(v_prs_bedrijfadres_password) > 320
|
||||
THEN
|
||||
v_prs_bedrijfadres_password := SUBSTR(v_prs_bedrijfadres_password, 1, 320);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Wachtwoord aangepast naar: ' || v_prs_bedrijfadres_password);
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Controleer lengte van afzender';
|
||||
IF LENGTH(v_prs_bedrijfadres_sender) > 512
|
||||
THEN
|
||||
v_prs_bedrijfadres_sender := SUBSTR(v_prs_bedrijfadres_sender, 1, 512);
|
||||
fac.imp_writelog (p_import_key, 'W', v_aanduiding || v_errormsg,
|
||||
'Afzender aangepast naar: ' || v_prs_bedrijfadres_sender);
|
||||
END IF;
|
||||
|
||||
-- Vindt de key van de vaste gebruiker.
|
||||
v_prs_bedrijfadres_lockuser := TRIM (v_prs_bedrijfadres_lockuser);
|
||||
|
||||
IF v_prs_bedrijfadres_lockuser IS NOT NULL
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_lockuser_key
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = UPPER (v_prs_bedrijfadres_lockuser)
|
||||
AND prs_perslid_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_lockuser_key := NULL;
|
||||
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'E',
|
||||
v_aanduiding || 'Budgethouder-aanduiding kan niet gevonden worden',
|
||||
'Vaste gebruiker wordt leeg gemaakt [' || v_prs_bedrijfadres_lockuser || ']');
|
||||
END;
|
||||
ELSE
|
||||
v_lockuser_key := NULL;
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
v_errormsg := 'Toevoegen bedrijfadres';
|
||||
INSERT INTO inlo_imp_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_attachfile,
|
||||
prs_bedrijfadres_username,
|
||||
prs_bedrijfadres_password,
|
||||
prs_bedrijfadres_sender,
|
||||
prs_bedrijfadres_lockuser_key,
|
||||
prs_bedrijfadres_lockexpire)
|
||||
VALUES (v_prs_bedrijf_key,
|
||||
v_prs_bedrijfadres_type,
|
||||
v_mld_typeopdr_key,
|
||||
v_prs_bedrijfadres_url,
|
||||
v_prs_bedrijfadres_ordermode,
|
||||
v_prs_bedrijfadres_certificate,
|
||||
v_prs_bedrijfadres_xsl,
|
||||
v_prs_bedrijfadres_ext,
|
||||
v_prs_bedrijfadres_attachfile,
|
||||
v_prs_bedrijfadres_username,
|
||||
v_prs_bedrijfadres_password,
|
||||
v_prs_bedrijfadres_sender,
|
||||
v_lockuser_key,
|
||||
fac.safe_to_number (v_prs_bedrijfadres_lockexpire));
|
||||
|
||||
COMMIT;
|
||||
v_count_import := v_count_import + 1;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
v_errormsg
|
||||
|| ' ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'');
|
||||
COMMIT;
|
||||
END;
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Ongeldig importbestand',
|
||||
'Geen header of header niet volgens specificatie!');
|
||||
ELSE
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Adressen/aantal ingelezen importregels: ' || TO_CHAR (v_count_tot),
|
||||
''
|
||||
);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Adressen/aantal ongeldige niet ingelezen importregels: '
|
||||
|| TO_CHAR (v_count_tot - v_count_import),
|
||||
''
|
||||
);
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
v_errormsg
|
||||
|| ' ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Inleesproces adressen afgebroken!');
|
||||
END inlo_import_bedrijfadres;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE inlo_update_bedrijfadres (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM inlo_imp_bedrijfadres i;
|
||||
|
||||
v_errormsg VARCHAR2 (1000) := '-';
|
||||
v_errorhint VARCHAR2 (1000) := '-';
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_count NUMBER (10);
|
||||
v_count_tot NUMBER (10);
|
||||
v_aanduiding VARCHAR2 (200) := '-';
|
||||
|
||||
v_prs_bedrijf_naam VARCHAR (60);
|
||||
-- MAIN
|
||||
BEGIN
|
||||
v_count_tot := 0;
|
||||
v_count := 0;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_naam
|
||||
INTO v_prs_bedrijf_naam
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_key = rec.prs_bedrijf_key;
|
||||
|
||||
v_count_tot := v_count_tot + 1;
|
||||
v_aanduiding :=
|
||||
'['
|
||||
|| v_prs_bedrijf_naam
|
||||
|| '|'
|
||||
|| rec.prs_bedrijfadres_type
|
||||
|| '] ';
|
||||
|
||||
v_errorhint := 'Fout toevoegen bedrijfadres';
|
||||
|
||||
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_attachfile,
|
||||
prs_bedrijfadres_username,
|
||||
prs_bedrijfadres_password,
|
||||
prs_bedrijfadres_sender,
|
||||
prs_bedrijfadres_lockuser_key,
|
||||
prs_bedrijfadres_locksecret,
|
||||
prs_bedrijfadres_lockexpire)
|
||||
VALUES (rec.prs_bedrijf_key,
|
||||
rec.prs_bedrijfadres_type,
|
||||
rec.mld_typeopdr_key,
|
||||
rec.prs_bedrijfadres_url,
|
||||
rec.prs_bedrijfadres_ordermode,
|
||||
rec.prs_bedrijfadres_certificate,
|
||||
rec.prs_bedrijfadres_xsl,
|
||||
rec.prs_bedrijfadres_ext,
|
||||
rec.prs_bedrijfadres_attachfile,
|
||||
rec.prs_bedrijfadres_username,
|
||||
rec.prs_bedrijfadres_password,
|
||||
rec.prs_bedrijfadres_sender,
|
||||
rec.prs_bedrijfadres_lockuser_key,
|
||||
CASE
|
||||
WHEN rec.prs_bedrijfadres_lockuser_key IS NOT NULL
|
||||
THEN DBMS_RANDOM.string('a', 32)
|
||||
ELSE NULL
|
||||
END,
|
||||
CASE
|
||||
WHEN rec.prs_bedrijfadres_lockuser_key IS NOT NULL
|
||||
THEN COALESCE(rec.prs_bedrijfadres_lockexpire, 30)
|
||||
ELSE NULL
|
||||
END);
|
||||
|
||||
v_count := v_count + 1;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
'ORACLE (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
v_errorhint);
|
||||
COMMIT;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Bedrijf: #ingelezen: ' || TO_CHAR (v_count_tot),
|
||||
'');
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
'Bedrijf: #toegevoegd: ' || TO_CHAR (v_count),
|
||||
'');
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errormsg :=
|
||||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Importproces bedrijfadressen afgebroken!');
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user