Files
Customer/onces/BLOS/BLOS#79136.sql
2023-10-04 09:55:48 +00:00

125 lines
4.1 KiB
SQL

-- Customer specific once-script voor BLOS
-- $Id$
--
-- Oncescript om eenmalig de nieuwe regio's en districten mee door te voeren..
--- Input: Excellijst Anneke Knipscheer..
DEFINE thisfile = 'BLOS#79136.SQL'
DEFINE dbuser = '^BLOS'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
DECLARE
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (150);
currentversion fac_module.fac_module_version%TYPE;
v_aanduiding VARCHAR (100);
v_count NUMBER;
v_regio_nieuw NUMBER;
v_district_nieuw NUMBER;
v_alg_regio_key NUMBER;
v_alg_district_key NUMBER;
CURSOR C_R -- regio's toevoegen
IS
SELECT fac_imp_csv_col01
FROM fac_imp_csv
WHERE fac_import_key = (SELECT max(fac_import_key) FROM fac_import WHERE fac_import_app_key = 41 AND fac_import_datum_verwerkt IS NULL) -- GENERIC_CSV - FIP: Generieke CSV import
AND fac_imp_csv_index > 1
GROUP BY fac_imp_csv_col01 ;
CURSOR C_D -- districten/cluster toevoegen
IS
SELECT fac_imp_csv_col01, fac_imp_csv_col02, fac_imp_csv_col03, fac_imp_csv_col04, fac_imp_csv_col08
FROM fac_imp_csv
WHERE fac_import_key = (SELECT max(fac_import_key) FROM fac_import WHERE fac_import_app_key = 41 AND fac_import_datum_verwerkt IS NULL) -- GENERIC_CSV - FIP: Generieke CSV import
AND fac_imp_csv_index > 1
AND fac_imp_csv_col04 IS NOT NULL
GROUP BY fac_imp_csv_col01, fac_imp_csv_col02, fac_imp_csv_col03, fac_imp_csv_col04, fac_imp_csv_col08 ;
BEGIN
FOR rec IN c_r
LOOP
BEGIN
SELECT MAX(alg_regio_key)
INTO v_regio_nieuw
FROM alg_regio
WHERE alg_regio_verwijder IS NOT NULL AND alg_regio_omschrijving = rec.fac_imp_csv_col01 ;
IF v_regio_nieuw IS NULL
THEN
INSERT INTO alg_regio(alg_regio_omschrijving) VALUES (rec.fac_imp_csv_col01)
RETURNING alg_regio_key
INTO v_alg_regio_key;
UPDATE fac_imp_csv
SET fac_imp_csv_col08 = v_alg_regio_key
WHERE fac_imp_csv_col01 = rec.fac_imp_csv_col01 ;
END IF;
END;
END LOOP;
FOR rec IN c_d
LOOP
BEGIN
SELECT MAX(alg_district_key)
INTO v_district_nieuw
FROM alg_district
WHERE alg_district_verwijder IS NOT NULL AND alg_district_omschrijving = rec.fac_imp_csv_col02 ;
IF v_district_nieuw IS NULL AND fac.safe_to_number(rec.fac_imp_csv_col08) IS NOT NULL
THEN
INSERT INTO alg_district(alg_district_omschrijving, alg_regio_key) VALUES (rec.fac_imp_csv_col02, fac.safe_to_number(rec.fac_imp_csv_col08))
RETURNING alg_district_key
INTO v_alg_district_key ;
-- kenmerken vullen met waarde voor leiding
-- regiomanager_tekst - key TEST 1222 PROD 1260
INSERT INTO alg_onrgoedkenmerk(alg_onrgoed_key,alg_kenmerk_key,alg_onrgoedkenmerk_waarde,alg_onrgoed_niveau) VALUES (v_alg_district_key, 1260, rec.fac_imp_csv_col04,'D') ;
-- regio-directeur_tekst - key TEST 1223 PROD 1280
INSERT INTO alg_onrgoedkenmerk(alg_onrgoed_key,alg_kenmerk_key,alg_onrgoedkenmerk_waarde,alg_onrgoed_niveau) VALUES (v_alg_district_key, 1280, rec.fac_imp_csv_col03,'D') ;
END IF;
END;
END LOOP;
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