YASK#63182 -- Implementatie Yask multiclient omgeving (aanpassen kostenplaatsen)
svn path=/Customer/; revision=49671
This commit is contained in:
118
onces/YASK/YASK#63182_1.sql
Normal file
118
onces/YASK/YASK#63182_1.sql
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
--
|
||||||
|
-- $Id$
|
||||||
|
--
|
||||||
|
-- Korte beschrijving wat het script doet
|
||||||
|
-- Kostenplaatsen aanpassen zodat code weer in nummer staan en omschrijving goed staat
|
||||||
|
-- Verder worden de kostenplaatsen gegroepeerd en worden budgethouders toegekoend.
|
||||||
|
--
|
||||||
|
DEFINE thisfile = 'YASK#63182_1.SQL'
|
||||||
|
DEFINE dbuser = '^YASK'
|
||||||
|
|
||||||
|
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 kp.*,
|
||||||
|
(SELECT COUNT (*)
|
||||||
|
FROM prs_kostenplaats kp2
|
||||||
|
WHERE kp2.prs_kostenplaats_verwijder IS NULL
|
||||||
|
AND kp2.prs_kostenplaats_nr LIKE
|
||||||
|
'%(' || kpngrp || ')%') aantal
|
||||||
|
FROM (SELECT k.*,
|
||||||
|
SUBSTR (
|
||||||
|
prs_kostenplaats_nr,
|
||||||
|
INSTR (prs_kostenplaats_nr, '(') + 1,
|
||||||
|
INSTR (prs_kostenplaats_nr, ')')
|
||||||
|
- (INSTR (prs_kostenplaats_nr, '(') + 1)) kpngrp
|
||||||
|
FROM prs_kostenplaats k
|
||||||
|
WHERE prs_kostenplaats_nr LIKE '%(%)%'
|
||||||
|
AND prs_kostenplaats_verwijder IS NULL) kp
|
||||||
|
ORDER BY kpngrp;
|
||||||
|
|
||||||
|
v_index NUMBER;
|
||||||
|
v_kpngrp VARCHAR2 (20);
|
||||||
|
v_omschr VARCHAR2 (100);
|
||||||
|
v_postfix VARCHAR2 (200);
|
||||||
|
v_kpngrp_key NUMBER;
|
||||||
|
BEGIN
|
||||||
|
v_kpngrp := '-1';
|
||||||
|
|
||||||
|
FOR rec IN c
|
||||||
|
LOOP
|
||||||
|
v_omschr :=
|
||||||
|
TRIM(SUBSTR (rec.prs_kostenplaats_omschrijving,
|
||||||
|
1,
|
||||||
|
INSTR (rec.prs_kostenplaats_omschrijving, '(') - 1));
|
||||||
|
|
||||||
|
IF rec.kpngrp <> v_kpngrp
|
||||||
|
THEN
|
||||||
|
v_index := 0;
|
||||||
|
v_kpngrp := rec.kpngrp;
|
||||||
|
v_postfix := NULL;
|
||||||
|
|
||||||
|
INSERT INTO prs_kostenplaatsgrp (prs_kostenplaatsgrp_nr,
|
||||||
|
prs_kostenplaatsgrp_oms)
|
||||||
|
VALUES (rec.kpngrp, rec.kpngrp)
|
||||||
|
RETURNING prs_kostenplaatsgrp_key
|
||||||
|
INTO v_kpngrp_key;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF rec.aantal > 1
|
||||||
|
THEN
|
||||||
|
v_index := v_index + 1;
|
||||||
|
v_postfix := '-' || v_index;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
DBMS_OUTPUT.put_line (
|
||||||
|
rec.kpngrp
|
||||||
|
|| v_postfix
|
||||||
|
|| ' | '
|
||||||
|
|| v_omschr
|
||||||
|
|| ' * '
|
||||||
|
|| v_kpngrp_key);
|
||||||
|
UPDATE prs_kostenplaats SET prs_kostenplaats_nr = rec.kpngrp || v_postfix,
|
||||||
|
prs_kostenplaats_omschrijving = v_omschr,
|
||||||
|
prs_kostenplaatsgrp_key = v_kpngrp_key
|
||||||
|
WHERE prs_kostenplaats_key = rec.prs_kostenplaats_key;
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
UPDATE prs_kostenplaats SET prs_perslid_key = 2001 -- Prevo, R.
|
||||||
|
WHERE prs_kostenplaats_nr LIKE 'L%';
|
||||||
|
|
||||||
|
UPDATE prs_kostenplaats SET prs_perslid_key = 2003 -- Reinders, S.
|
||||||
|
WHERE prs_kostenplaats_nr LIKE 'P702%'
|
||||||
|
OR prs_kostenplaats_nr LIKE 'P703%'
|
||||||
|
OR prs_kostenplaats_nr LIKE 'P704%'
|
||||||
|
OR prs_kostenplaats_nr LIKE 'P72%';
|
||||||
|
|
||||||
|
UPDATE prs_kostenplaats SET prs_perslid_key = 2005 -- Sturmans, B.
|
||||||
|
WHERE prs_kostenplaats_nr LIKE 'P705%'
|
||||||
|
OR prs_kostenplaats_nr LIKE 'P71%';
|
||||||
|
|
||||||
|
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