KMMO#76640 -- Inrichting conditiemetingen
svn path=/Customer/; revision=59412
This commit is contained in:
80
onces/KMMO/KMMO#76640.sql
Normal file
80
onces/KMMO/KMMO#76640.sql
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
--
|
||||||
|
-- $Id$
|
||||||
|
--
|
||||||
|
-- Script om het volgnummer bij ingelezen installaties aan te passen. Er bestaan vaak al objecten met dezelfde indentificatie. Dit script
|
||||||
|
-- moet na de import uitgevoerd worden en past de data in de fac_imp_ins tabel aan. Hiervoor dient wel een unieke identificatie in de kolom
|
||||||
|
-- ins_deel_externnr te staan.
|
||||||
|
--
|
||||||
|
DEFINE thisfile = 'KMMO#76640.sql'
|
||||||
|
DEFINE dbuser = '^KMMO'
|
||||||
|
|
||||||
|
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 ------
|
||||||
|
|
||||||
|
DECLARE
|
||||||
|
CURSOR c IS
|
||||||
|
SELECT *
|
||||||
|
FROM fac_imp_ins
|
||||||
|
ORDER BY ins_srtdeel_code;
|
||||||
|
|
||||||
|
v_index NUMBER;
|
||||||
|
v_ins_srtdeel_code_old VARCHAR2 (10);
|
||||||
|
BEGIN
|
||||||
|
v_ins_srtdeel_code_old := 'QueQueLeQu';
|
||||||
|
|
||||||
|
FOR rec IN c
|
||||||
|
LOOP
|
||||||
|
IF rec.ins_srtdeel_code <> v_ins_srtdeel_code_old
|
||||||
|
THEN
|
||||||
|
BEGIN
|
||||||
|
SELECT MAX (SUBSTR (ins_deel_omschrijving, INSTR (ins_deel_omschrijving, '-') + 1, 2))
|
||||||
|
INTO v_index
|
||||||
|
FROM ins_deel d, ins_srtdeel sd
|
||||||
|
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||||
|
AND sd.ins_srtdeel_code = rec.ins_srtdeel_code
|
||||||
|
GROUP BY ins_srtdeel_upper;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN NO_DATA_FOUND
|
||||||
|
THEN
|
||||||
|
v_index := 0;
|
||||||
|
END;
|
||||||
|
|
||||||
|
v_ins_srtdeel_code_old := rec.ins_srtdeel_code;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
v_index := v_index + 1;
|
||||||
|
|
||||||
|
--DBMS_OUTPUT.put_line (rec.ins_srtdeel_code || '-' || v_index);
|
||||||
|
|
||||||
|
UPDATE fac_imp_ins i
|
||||||
|
SET i.ins_deel_omschrijving = rec.ins_srtdeel_code || '-' || LPAD (v_index, 2, '0')
|
||||||
|
WHERE i.ins_deel_externnr = rec.ins_deel_externnr;
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
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