BLOS#79136 -- Herstructurering Locaties/Regio's/Clusters inclusief registratie Locatie - en Regiomanagers
svn path=/Customer/; revision=61986
This commit is contained in:
113
onces/BLOS/BLOS#79136.sql
Normal file
113
onces/BLOS/BLOS#79136.sql
Normal file
@@ -0,0 +1,113 @@
|
||||
-- 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;
|
||||
|
||||
|
||||
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_col04
|
||||
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_col04 ;
|
||||
|
||||
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_col04 = 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_col04) 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_col04)) ;
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user