-- bestand om de kostenplaatsen te updaten op verzoek van AAFM
-- om de oude struktuur te handhaven voor de financiele afhandeling wordt er een nieuwe struktuur
-- naast de bestaande geplaatst. Van de oude kostenplaatsen wordt de einddatum op 1 augustus gezet.

SET ECHO ON
SPOOL AASA#33279.lst
SET DEFINE OFF


-- tijdelijke tabel aangemaakt op de testomgeving
-- create table tmp_imp_kpn (kpn_oud varchar2(20), kpn varchar2(20), kpn_oms varchar2(100), prs_afdeling_code varchar2(100));


DECLARE
   CURSOR c
   IS
      SELECT distinct kpn, kpn_oms, prs_afdeling_code
        FROM aasa_test.tmp_imp_kpn
       WHERE kpn_oud IS NOT NULL AND kpn_oud <> 'Kostenplaats';

   v_afdeling_key       NUMBER (10);
   v_kostenplaats_key   NUMBER (10);
BEGIN
   FOR rec IN c
   LOOP
      BEGIN
         SELECT prs_afdeling_key
           INTO v_afdeling_key
           FROM prs_afdeling
          WHERE prs_afdeling_parentkey IS NULL
            AND prs_afdeling_naam = rec.prs_afdeling_code
            AND prs_afdeling_verwijder IS NULL;

dbms_output.put_line (substr(rec.kpn_oms || ' - ' || rec.kpn, 1, 60));

         INSERT INTO prs_kostenplaats (prs_kostenplaats_nr,
                                       prs_kostenplaats_omschrijving,
                                       prs_kostenplaats_module,
                                       prs_kostenplaats_begin,
                                       prs_kostenplaatsgrp_key,
                                       prs_perslid_key)
             VALUES (rec.kpn,
                     substr(rec.kpn_oms || ' - ' || rec.kpn, 1, 60),
                     'PRS',
                     TO_DATE ('20150801', 'yyyymmdd'),
                     61,
                     25721)
          RETURNING prs_kostenplaats_key
               INTO v_kostenplaats_key;

         INSERT INTO prs_afdeling (prs_afdeling_parentkey,
                                   prs_afdeling_naam,
                                   prs_afdeling_omschrijving,
                                   prs_kostenplaats_key)
             VALUES (v_afdeling_key,
                     rec.kpn,
                     substr(rec.kpn_oms || ' - ' || rec.kpn, 1, 60),                    
                     v_kostenplaats_key);
      END;
   END LOOP;
   COMMIT;
END;
/
    
UPDATE prs_kostenplaats 
   SET prs_kostenplaats_eind =  to_date('20150801', 'yyyymmdd')
 WHERE     prs_kostenplaats_begin < to_date('20150801', 'yyyymmdd')
       AND prs_kostenplaats_verwijder IS NULL
       AND prs_kostenplaats_eind IS NULL;
       
       
-- grant is op de testomgeving uitgevoerd
-- grant select on tmp_imp_kpn to aasa
       

BEGIN adm.systrackscriptId('$Id$'); END;
/


COMMIT;

SPOOL OFF