--
-- $Id$
--
-- Script containing customer specific sql statements for the AASA database
-- Hard meegeven van kostenplaats_nr voor projectureninterface.

DEFINE thisfile = 'AASA#53449.SQL'
DEFINE dbuser   = '^AASA'

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 ------

BEGIN
FAC.INITSESSION('NL');
END;
/

CREATE OR REPLACE VIEW aaxx_v_exact_uren_gegevens
AS
   SELECT m.mld_melding_key,
          o.mld_opdr_key,
          o.mld_opdr_bedrijfopdr_volgnr,
          vt.ins_srtdiscipline_prefix,
          vt.ins_srtdiscipline_prefix || m.mld_melding_key meldingnr,
          vt.ins_srtdiscipline_prefix || m.mld_melding_key || '/'
                || o.mld_opdr_bedrijfopdr_volgnr opdrachtnr,
          pn.mld_kenmerkmelding_waarde projectnaam,
          tp.fac_usrdata_code projecttype_code,
          tp.fac_usrdata_omschr projecttype_omschr,
          DECODE (aaxx_get_user, 
                  'SABIC', '00600000',
                  kpn.prs_kostenplaats_nr)
                  prs_kostenplaats_nr,
          kpo.mld_kenmerkopdr_waarde projectkpn_opdr,
          kpp.prs_kenmerklink_waarde projectkpn_perslid,
          rc.fac_usrdata_code rek_courant,
          o.mld_statusopdr_key,
          so.mld_statusopdr_omschrijving,
          ap.prs_perslid_key,
          DECODE (aaxx_get_user,
                  'IT', prs_perslid_nr,
               pnp.prs_kenmerklink_waarde)
             aafm_perslid_nr,
          akpn.prs_kostenplaats_nr afdkpn,
          o.mld_opdr_uren,
          ou.mld_opdr_uren_key,
          ou.mld_opdr_uren_datum,
          ou.mld_opdr_uren_status,
          lx.fac_locale_xsl_tekst uren_status_tekst,
          ou.mld_opdr_uren_besteed,
          ou.mld_opdr_uren_opmerking,
          fac.safe_To_Number(ut.mld_kenmerkopdr_waarde) uurtarief_opdr,
          DECODE (UPPER(tp.fac_usrdata_omschr), 'INTERN INTERIM MANAGEMENT PROJECT DIRECT - DIRECT', fac.safe_to_number(uti.prs_kenmerklink_waarde),
                                                                                                     ap.prs_perslid_uurloon) uurtarief_perslid
     FROM mld_melding m,
          mld_stdmelding sm,
          mld_discipline vg,
          ins_srtdiscipline vt,
          prs_kostenplaats kpn,
          mld_opdr o,
          mld_statusopdr so,
          prs_perslid ap,
          prs_v_aanwezigafdeling aa,
          prs_kostenplaats akpn,
          mld_opdr_uren ou,
          (SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key IN
              (SELECT mld_kenmerk_key FROM mld_kenmerk
               WHERE mld_srtkenmerk_key = 55
                 AND mld_kenmerk_verwijder IS NULL) ) pn,                            -- projectnaam
          (SELECT * FROM mld_kenmerkopdr WHERE mld_kenmerk_key = 187) vm,      -- verrekenen met
          (SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 15) rc,            -- rekening courant
          (SELECT * FROM mld_kenmerkopdr WHERE mld_kenmerk_key = 186) ep,      -- type project
          (SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 14) tp,            -- type project
          (SELECT * FROM mld_kenmerkopdr WHERE mld_kenmerk_key = 189) kpo,     -- projectkpn (opdr)
          (SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 2) kpp,       -- projectkpn (perslid)
          (SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 6) uti,       -- uurtarief intern (perslid)
          (SELECT * FROM mld_kenmerkopdr WHERE mld_kenmerk_key = 188) ut,      -- uurtarief (opdracht)
          (SELECT * FROM fac_locale_xsl WHERE fac_locale_xsl_lang = 'NL') lx,  -- locale-strings
          (SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 3) pnp        -- personeelsnummer (perslid)
    WHERE     o.mld_typeopdr_key = 7
          AND m.mld_melding_key = o.mld_melding_key
          AND sm.mld_stdmelding_key = m.mld_stdmelding_key
          AND vg.ins_discipline_key = sm.mld_ins_discipline_key
          AND vt.ins_srtdiscipline_key = vg.ins_srtdiscipline_key
          AND pn.mld_melding_key(+) = m.mld_melding_key
          AND so.mld_statusopdr_key = o.mld_statusopdr_key
          AND kpn.prs_kostenplaats_key = o.prs_kostenplaats_key
          AND vm.mld_opdr_key(+) = o.mld_opdr_key
          AND rc.fac_usrdata_key(+) = fac.safe_To_Number(vm.mld_kenmerkopdr_waarde)
          AND ep.mld_opdr_key(+) = o.mld_opdr_key
          AND tp.fac_usrdata_key(+) = fac.safe_To_Number(ep.mld_kenmerkopdr_waarde)
          AND kpo.mld_opdr_key(+) = o.mld_opdr_key
          AND kpp.prs_link_key(+) = o.mld_uitvoerende_keys
          AND uti.prs_link_key(+) = o.mld_uitvoerende_keys
          AND pnp.prs_link_key(+) = o.mld_uitvoerende_keys
          AND ut.mld_opdr_key(+) = o.mld_opdr_key
          AND ap.prs_perslid_key = o.mld_uitvoerende_keys
          AND aa.prs_afdeling_key = ap.prs_afdeling_key
          AND akpn.prs_kostenplaats_key(+) = aa.prs_kostenplaats_key
          AND ou.mld_opdr_key = o.mld_opdr_key
          AND lx.fac_locale_xsl_label = 'lcl_mld_uren_status_'||ou.mld_opdr_uren_status;
    
------ 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