SET ECHO ON
SPOOL xAKZA#31258.lst
SET DEFINE OFF;

-- Eenmalig regimes definiëren voor calibratie-taken op calibratieplichtige objecten
-- die we uit ITA hebben geïmporteerd (standaardperiode voor taak "Calibratie" is 0 mnd)
-- Calibratieplichtig = kenmerk "Cal. Reqd." = "WAAR"
-- Periode = "Cal. Interval" (afgerond op veelvoud van 6 maanden)
-- Groep = opmerkingveld van ingelezen calibraties uit ITA.
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
                                   ins_srtcontrole_key,
                                   ins_srtcontroledl_xcp_periode,
                                   ins_srtcontroledl_xcp_groep)
   SELECT reqd.ins_deel_key,
          reqd.ins_srtcontrole_key,
          DECODE (interv.interv,
                  NULL, 12,
                  7, 6,
                  13, 12,
                  50, 48,
                  interv.interv),
          COALESCE (i.groep, 'NTB')
     FROM (SELECT d.ins_deel_key,
                  d.ins_deel_omschrijving,
                  (SELECT ins_srtcontrole_key
                     FROM ins_srtcontrole
                    WHERE ins_srtcontrole_omschrijving = 'Calibratie')
                     ins_srtcontrole_key
             FROM ins_kenmerkdeel cr, ins_deel d
            WHERE     cr.ins_kenmerk_key = 6711
                  AND cr.ins_kenmerkdeel_verwijder IS NULL
                  AND cr.ins_kenmerkdeel_waarde = 'WAAR'
                  AND d.ins_deel_key = cr.ins_deel_key) reqd
          LEFT OUTER JOIN (SELECT ins_deel_key,
                                  fac.safe_to_number(ci.ins_kenmerkdeel_waarde) interv
                             FROM ins_kenmerkdeel ci
                            WHERE ci.ins_kenmerk_key = 6710
                              AND ci.ins_kenmerkdeel_verwijder IS NULL)
                          interv
             ON interv.ins_deel_key = reqd.ins_deel_key
          LEFT OUTER JOIN (SELECT d.ins_deel_key,
                                  TRIM( INITCAP(i.ins_deelsrtcontrole_opmerking)) groep
                             FROM akza_imp_inspectieobj i, ins_deel d
                            WHERE d.ins_deel_omschrijving = i.ins_deel_omschrijving) i
             ON i.ins_deel_key = reqd.ins_deel_key;

-- Opmerkingsveld voor ingelezen calibratie is de taak-groep. Die hebben we over-
-- genomen, dus kan nu leeg.
UPDATE ins_deelsrtcontrole
   SET ins_deelsrtcontrole_opmerking = NULL;

BEGIN adm.systrackscriptId('$Id$', 0); END;
/
COMMIT;
SPOOL OFF