--
-- $Id$
--
-- Korte beschrijving wat het script doet
-- Verwijder onterecht aangemaakte contracten.
--
DEFINE thisfile = 'LPNL#77267.SQL'
DEFINE dbuser   = '^LPNL'

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 MAX (cnt_contract_key)     cnt_contract_key, cnt_contract_versie
            FROM cnt_contract
           WHERE cnt_contract_versie IS NOT NULL
             AND cnt_contract_verwijder IS NULL
        GROUP BY cnt_contract_nummer_intern, cnt_contract_versie
          HAVING COUNT (*) > 1;
BEGIN
    FOR rec IN c
    LOOP
        DELETE cnt_kenmerkcontract
         WHERE cnt_contract_key = rec.cnt_contract_key;

        DELETE cnt_factuurschema
         WHERE cnt_contract_key = rec.cnt_contract_key;

        DELETE cnt_contract_plaats
         WHERE cnt_contract_key = rec.cnt_contract_key;

        DELETE cnt_contract
         WHERE cnt_contract_key = rec.cnt_contract_key;

        DBMS_OUTPUT.put_line('Contract verwijderd: ' || rec.cnt_contract_key );
    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
