152 lines
4.5 KiB
SQL
152 lines
4.5 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Hiermee worden de kostenplaatsen omgenummerd en hernoemd obv een was-wordt lijst
|
|
--
|
|
DEFINE thisfile = 'MDUX#62845.SQL'
|
|
DEFINE dbuser = '^MDUX'
|
|
|
|
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
|
|
v_kostenplaats_key NUMBER;
|
|
v_afdeling_key NUMBER;
|
|
|
|
-- Onderstaande cursors bepalen welke kostenplaats_nrs en afdelings_nrs er moeten worden omgezet. Deze zijn tijdelijk ingelezen via fac_imp_organisatie
|
|
CURSOR c_kpl
|
|
IS
|
|
SELECT i.prs_afdeling_naam_parent AS nr_oud,
|
|
i.prs_bedrijf_naam AS oms_oud,
|
|
i.prs_afdeling_naam AS nr_nieuw,
|
|
i.prs_afdeling_omschrijving AS oms_nieuw,
|
|
k.prs_kostenplaats_key,
|
|
k.prs_kostenplaats_nr,
|
|
k.prs_kostenplaats_omschrijving
|
|
FROM fac_imp_organisatie i, prs_kostenplaats k
|
|
WHERE k.prs_kostenplaats_nr = i.prs_afdeling_naam_parent;
|
|
|
|
CURSOR c_afd
|
|
IS
|
|
SELECT SUBSTR (i.prs_afdeling_naam_parent, 0, 5)
|
|
|| SUBSTR (i.prs_afdeling_naam_parent, 7, 3)
|
|
AS nr_oud,
|
|
i.prs_bedrijf_naam AS oms_oud,
|
|
SUBSTR (i.prs_afdeling_naam, 0, 5)
|
|
|| SUBSTR (i.prs_afdeling_naam, 7, 6)
|
|
AS nr_nieuw,
|
|
i.prs_afdeling_omschrijving AS oms_nieuw,
|
|
a.prs_afdeling_key,
|
|
a.prs_afdeling_naam,
|
|
a.prs_afdeling_omschrijving
|
|
FROM fac_imp_organisatie i, prs_afdeling a
|
|
WHERE a.prs_afdeling_naam =
|
|
SUBSTR (i.prs_afdeling_naam_parent, 0, 5)
|
|
|| SUBSTR (i.prs_afdeling_naam_parent, 7, 3);
|
|
BEGIN
|
|
--De kostenplaatsen omzetten
|
|
FOR rec IN c_kpl
|
|
LOOP
|
|
BEGIN
|
|
UPDATE prs_kostenplaats
|
|
SET prs_kostenplaats_nr = rec.nr_nieuw,
|
|
prs_kostenplaats_omschrijving = rec.oms_nieuw
|
|
WHERE prs_kostenplaats_nr = rec.nr_oud
|
|
AND prs_kostenplaats_key = rec.prs_kostenplaats_key
|
|
RETURNING prs_kostenplaats_key
|
|
INTO v_kostenplaats_key;
|
|
|
|
fac.trackaction (
|
|
'PRSKPU',
|
|
v_kostenplaats_key,
|
|
4,
|
|
SYSDATE,
|
|
'prs_kostenplaats_nr: '
|
|
|| rec.nr_oud
|
|
|| ' --> '
|
|
|| rec.nr_nieuw
|
|
|| CHR (13)
|
|
|| CHR (10)
|
|
|| 'prs_kostenplaats_omschrijving: '
|
|
|| rec.prs_kostenplaats_omschrijving
|
|
|| ' ('
|
|
|| rec.oms_oud
|
|
|| ') --> '
|
|
|| rec.oms_nieuw);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog ('CONVERSIE_KOSTENPLAATSEN',
|
|
'E',
|
|
'Overwachte fout conversie: ' || rec.nr_oud,
|
|
'');
|
|
END;
|
|
END LOOP;
|
|
|
|
--De afdelingen omzetten
|
|
FOR rec IN c_afd
|
|
LOOP
|
|
BEGIN
|
|
UPDATE prs_afdeling
|
|
SET prs_afdeling_naam = rec.nr_nieuw,
|
|
prs_afdeling_omschrijving = rec.oms_nieuw
|
|
WHERE prs_afdeling_naam = rec.nr_oud
|
|
AND prs_afdeling_key = rec.prs_afdeling_key
|
|
RETURNING prs_afdeling_key
|
|
INTO v_afdeling_key;
|
|
|
|
fac.trackaction (
|
|
'PRSKPU',
|
|
v_afdeling_key,
|
|
4,
|
|
SYSDATE,
|
|
'prs_afdeling_naam: '
|
|
|| rec.nr_oud
|
|
|| ' --> '
|
|
|| rec.nr_nieuw
|
|
|| CHR (13)
|
|
|| CHR (10)
|
|
|| 'prs_afdeling_omschrijving: '
|
|
|| rec.prs_afdeling_omschrijving
|
|
|| ' ('
|
|
|| rec.oms_oud
|
|
|| ') --> '
|
|
|| rec.oms_nieuw);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog ('CONVERSIE_KOSTENPLAATSEN',
|
|
'E',
|
|
'Overwachte fout conversie: ' || rec.nr_oud,
|
|
'');
|
|
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
|