-- Customer specific once-script NFIT#24988.
--
-- (c) 2012 SG|facilitor bv 
--
-- Support: +31 53 4800700
SET ECHO ON
SPOOL xNFIT24988.lst
SET DEFINE OFF

-- set de melding status van opdrachten met een verkeerde contactpersoon van 6 naar 5 tbv update
UPDATE   mld_melding mld
   SET   mld_melding_status = 5
 WHERE   mld.mld_melding_key IN
               (SELECT   o.mld_melding_key
                  FROM   mld_opdr o, mld_melding m
                 WHERE   o.prs_contactpersoon_key NOT IN
                               (SELECT   cp.prs_contactpersoon_key
                                  FROM   prs_contactpersoon cp)
                         AND o.mld_melding_key = m.mld_melding_key
                         AND m.mld_melding_status NOT IN (4, 5, 7));

-- update alle opdrachten die een ongeldige prs_contactpersoon_key hebben
UPDATE   mld_opdr o
   SET   o.prs_contactpersoon_key = NULL
 WHERE   o.prs_contactpersoon_key NOT IN (SELECT   cp.prs_contactpersoon_key
                                            FROM   prs_contactpersoon cp);      

-- set de meldingstatusen terug naar 6 die voorheen ook 6 waren                                                               
UPDATE   mld_melding mld
   SET   mld.mld_melding_status = 6
 WHERE   mld.mld_melding_key IN
               (SELECT   m.mld_melding_key
                  FROM   fac_tracking tr,
                         fac_srtnotificatie str,
                         mld_melding m
                 WHERE   tr.fac_srtnotificatie_key =
                            str.fac_srtnotificatie_key
                         AND str.fac_srtnotificatie_xmlnode IN ('melding')
                         AND fac_srtnotificatie_code = 'MLDVER'
                         AND m.mld_melding_key = fac_tracking_refkey
                         AND m.mld_melding_status = 5);
                         
COMMIT;

/
SPOOL OFF
