-- Sistemas Integrados TEKNISA
-- Faturamento de Serviços
--
-- Nome: 9445_CVIVIEO_ETL_LINHAPROD.sql
--
-- Descrição:
-- View para retornar informações sobre linhas de produto e seus sistemas.
--
-- Criação:
-- 16/08/2010 Ederson Melquíades da Cunha

CREATE VIEW ETL_LINHAPROD AS 
   (SELECT NRCONTADOR, CDCLIENTE, NMFANTCLIE, DSESTADO, CDLINPCLIEINFOR,
           NMLINPCLIE, DSTIPOLINHAPROD, DSMODOLOCALPROC, DSSISTEMA,
           DECODE(NRCONTADOR, 1, QTMINIMAFATLINP, 0) QTMINIMAFATLINP, 
           DECODE(NRCONTADOR, 1, VRLICENCUSOLINP, 0) VRLICENCUSOLINP,
           DECODE(NRCONTADOR, 1, VRMENSALIDALINP,0) VRMENSALIDALINP,
           DECODE(NRCONTADOR, 1, QTSISTEMASLINP, 0) QTSISTEMASLINP,
           DECODE(NRCONTADOR, 1, QTLICATIVASLINP, 0) QTLICATIVASLINP,
           DECODE(NRCONTADOR, 1, QTLICVALIDASLINP, 0) QTLICVALIDASLINP 
      FROM (SELECT SUM(1) OVER (PARTITION BY NMFANTCLIE, DSESTADO, CDLINPCLIEINFOR, 
                                             NMLINPCLIE, DSTIPOLINHAPROD, DSMODOLOCALPROC,
                                             QTMINIMAFATLINP, VRLICENCUSOLINP, VRMENSALIDALINP,
                                             QTSISTEMASLINP, QTLICATIVASLINP, QTLICVALIDASLINP     
                                    ORDER BY NMFANTCLIE, NMLINPCLIE, DSSISTEMA ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) NRCONTADOR,
                   CDCLIENTE, NMFANTCLIE, DSESTADO, CDLINPCLIEINFOR,
                   NMLINPCLIE, DSTIPOLINHAPROD, DSMODOLOCALPROC, DSSISTEMA,
                   QTMINIMAFATLINP, VRLICENCUSOLINP, VRMENSALIDALINP,
                   QTSISTEMASLINP, QTLICATIVASLINP, QTLICVALIDASLINP
              FROM (SELECT CLI.CDCLIENTE, 
                           CLI.NMFANTCLIE, 
                           END.SGESTADO||DECODE(END.CDPAIS, '0055', '', ' ('||EST.NMESTADO||' - '||PAI.NMPAIS||')') DSESTADO,
                           LIN.CDLINPCLIEINFOR, LIN.NMLINPCLIE||' ('||LIN.CDLINPCLIEINFOR||')' NMLINPCLIE, 
                           DECODE(LIN.IDTIPLINPC, 'M', 'Produto - LU/Manutenção', 'L', 'Produto - Locação', 'P', 'Pto.Acesso - LU/Manutenção', 'A', 'Pto.Acesso - Locação') DSTIPOLINHAPROD, 
                           DECODE(LIN.IDMPROCLINPC, 'M', 'Matriz', 'F', 'Filial')||' / '||DECODE(LIN.IDLPROCLINPC, 'M', 'Matriz', 'F', 'Filial') DSMODOLOCALPROC,
                           SIS.CDSISTEMA||' - '||SIS.NMSISTEMA DSSISTEMA, 
                           LIN.QTMINIMAFATLINP, 
                           LIN.VRLICENCUSOLINP, 
                           LIN.VRMENSALIDALINP,
                           LIN.QTSISTEMAS QTSISTEMASLINP, 
                           LIN.QTATIVAS QTLICATIVASLINP, 
                           LIN.QTVALIDAS QTLICVALIDASLINP
                      FROM CLIENTE CLI, ENDECLIE END, PAIS PAI, ESTADO EST, SISTCONTLINP SCL, SISTEMA SIS, 
                           TABLE (LINHA_PRODUTO_FAT (CLI.CDCLIENTE)) LIN
                     WHERE CLI.CDCLIENTE = LIN.CDCLIENTE 
                       AND END.CDCLIENTE = CLI.CDCLIENTE
                       AND END.IDTPENDECLIE = 'P'
                       AND PAI.CDPAIS = END.CDPAIS
                       AND EST.CDPAIS = END.CDPAIS
                       AND EST.SGESTADO = END.SGESTADO
                       AND SCL.CDCLIENTE = LIN.CDCLIENTE
                       AND SCL.CDLINPCLIE = LIN.CDLINPCLIE
                       AND SIS.CDSISTEMA = SCL.CDSISTEMA)))
/  

-- VERSAO --
BEGIN ATUVEROBJ('ETL_LINHAPROD','0.00.000'); END;
/
