--
-- $Id$
--
-- Tweede MJOB script om aanmaak en vervaldatum te zetten en aantal aan te passen

DEFINE thisfile = 'MJOB_AFTER_ASSET.SQL'
DEFINE dbuser   = '^AA|^AQQA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM|^INLO|^EXPO'

SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF

------ payload begin ------


UPDATE ins_deel d
   SET ins_deel_aantal =
           (SELECT ins_kenmerkdeel_waarde
              FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
             WHERE     d.ins_deel_key = kd.ins_deel_key
                   AND kd.ins_kenmerk_key = k.ins_kenmerk_key
                   AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
                   AND sk.ins_srtkenmerk_omschrijving = 'Aantal v2') -- aantal v2
 WHERE     EXISTS
               (SELECT ins_kenmerkdeel_waarde
                  FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
                 WHERE     d.ins_deel_key = kd.ins_deel_key
                       AND kd.ins_kenmerk_key = k.ins_kenmerk_key
                       AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
                       AND sk.ins_srtkenmerk_omschrijving = 'Aantal v2'
                       AND fac.safe_to_number (kd.ins_kenmerkdeel_waarde) > 0)
       AND EXISTS
               (SELECT dg.ins_deel_key
                  FROM ins_v_deel_gegevens dg
                 WHERE dg.ins_deel_key = d.ins_deel_key
                   AND dg.ins_discipline_omschrijving = 'Gebouwobjecten');

UPDATE ins_deel d
   SET ins_deel_vervaldatum =
           (SELECT fac.safe_to_date(ins_kenmerkdeel_waarde, 'dd-mm-yyyy')
              FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
             WHERE     d.ins_deel_key = kd.ins_deel_key
                   AND kd.ins_kenmerk_key = k.ins_kenmerk_key
                   AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
                   AND sk.ins_srtkenmerk_omschrijving = 'Vervaldatum') -- Vervaldatum
 WHERE     EXISTS
               (SELECT ins_kenmerkdeel_waarde
                  FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
                 WHERE     d.ins_deel_key = kd.ins_deel_key
                       AND kd.ins_kenmerk_key = k.ins_kenmerk_key
                       AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
                       AND sk.ins_srtkenmerk_omschrijving = 'Vervaldatum'
                       AND fac.safe_to_date (ins_kenmerkdeel_waarde,'dd-mm-yyyy') IS NOT NULL)
       AND EXISTS
               (SELECT dg.ins_deel_key
                  FROM ins_v_deel_gegevens dg
                 WHERE dg.ins_deel_key = d.ins_deel_key
                   AND dg.ins_discipline_omschrijving = 'Gebouwobjecten');

UPDATE ins_deel d
   SET ins_deel_aanmaak =
           (SELECT fac.safe_to_date('01-01-' || ins_kenmerkdeel_waarde, 'dd-mm-yyyy')
              FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
             WHERE     d.ins_deel_key = kd.ins_deel_key
                   AND kd.ins_kenmerk_key = k.ins_kenmerk_key
                   AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
                   AND sk.ins_srtkenmerk_omschrijving = 'Bouwjaar') -- Bouwjaar
 WHERE     EXISTS
               (SELECT ins_kenmerkdeel_waarde
                  FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
                 WHERE     d.ins_deel_key = kd.ins_deel_key
                       AND kd.ins_kenmerk_key = k.ins_kenmerk_key
                       AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
                       AND sk.ins_srtkenmerk_omschrijving = 'Bouwjaar'
                       AND fac.safe_to_date ('01-01-' || ins_kenmerkdeel_waarde,'dd-mm-yyyy') IS NOT NULL)
       AND EXISTS
               (SELECT dg.ins_deel_key
                  FROM ins_v_deel_gegevens dg
                 WHERE dg.ins_deel_key = d.ins_deel_key
                   AND dg.ins_discipline_omschrijving = 'Gebouwobjecten');


INSERT INTO ins_kenmerk (ins_srtkenmerk_key,
                         ins_srtinstallatie_key,
                         ins_kenmerk_niveau,
                         ins_kenmerk_volgnummer,
                         ins_kenmerk_bewerkniveau)
    SELECT sk.ins_srtkenmerk_key,
           sc.ins_srtcontrole_key,
           'C',
           100,
           'D'
      FROM ins_srtcontrole sc, ctr_discipline cd, ins_srtkenmerk sk
     WHERE sc.ctr_discipline_key = cd.ins_discipline_key
       AND (    LOWER(cd.ins_discipline_omschrijving) = 'wettelijke verplichting'
             OR
                LOWER(cd.ins_discipline_omschrijving) = 'inspectie wettelijk'
           )
       AND sk.ins_srtkenmerk_omschrijving = 'Bijlagen';

UPDATE ins_srtcontrole sc
   SET ins_srtcontrole_options = 12        -- alleen afmelden en afronden
 WHERE EXISTS (SELECT ins_discipline_key
                 FROM ctr_discipline cd
                WHERE sc.ctr_discipline_key = cd.ins_discipline_key
                  AND (    LOWER(cd.ins_discipline_omschrijving) = 'wettelijke verplichting'
                        OR
                           LOWER(cd.ins_discipline_omschrijving) = 'inspectie wettelijk'
                      )
              );

------ payload end   ------

SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/

COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile