Translate

13 agosto 2013

Papi ¿Que has hecho hoy en el trabajo?

CREATE OR REPLACE VIEW V_EXT_FINANC_INVER_PROYECTOS
(TIPO_DATO, SOCIEDAD, IDIOMA, FASE, SESION,
 USUARIO, REPORT, LIN_ORDEN, LIN_TIPO, LIN_GRU1,
 LIN_GRU2, LIN_GRU3, LIN_GRU4, LIN_GRU5,
 IMP01, IMP02, IMP03, IMP04, IMP05,
 IMP06, IMP07, IMP08, IMP09, IMP10,
 IMP11, IMP12, IMP13, IMP14, IMP15,
 IMP16, IMP17, IMP18, IMP19, IMP20,
 CON01, CON02, CON03, CON04, CON05,
 CON06, CON07, CON08, CON09, CON10,
 CON11, CON12, CON13, CON14, CON15,
 CON16, CON17, CON18, CON19, CON20,
 MEMO1, MEMO2, MEMO3, MEMO4, MEMO
5)
AS
SELECT
'L' TIPO_DATO,
BASIC.SOCIEDAD SOCIEDAD,
BASIC.IDIOMA IDIOMA,
BASIC.FASE,
BASIC.PHPSESSION SESION,
BASIC.USUARIO USUARIO,
BASIC.REPORT REPORT,
(BASIC.N*1000000000)+NVL(PRY.ID_PROYECTO,0) LIN_ORDEN,
BASIC.N LIN_TIPO,
PRY.ID_PROYECTO LIN_GRU1,
TO_NUMBER(NULL) LIN_GRU2,
TO_NUMBER(NULL) LIN_GRU3,
TO_NUMBER(NULL) LIN_GRU4,
TO_NUMBER(NULL) LIN_GRU5,
--------------
-- IMPORTES --
--------------
TO_NUMBER(NULL) IMP01,
TO_NUMBER(NULL) IMP02,
SUM(PRY.IMPORTE) IMP03,                                         
SUM(DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE)) IMP04,               
SUM(DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE)) IMP05,               
SUM(DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE)) IMP06,               
SUM(DECODE(PRY.ID_INVERSOR,4,PRY.IMPORTE)) IMP07,               
SUM(DECODE(PRY.ID_INVERSOR,5,PRY.IMPORTE)) IMP08,               
SUM(DECODE(PRY.ID_INVERSOR,6,PRY.IMPORTE)) IMP09,               
SUM(DECODE(BASIC.N,
2,     DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    PRY.IMPORTE,
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    PRY.IMPORTE,
                0,    PRY.IMPORTE)),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,PRY.IMPORTE)),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    PRY.IMPORTE)
)) IMP10,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE),
                0,    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE))
)) IMP11,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE),
                0,    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE))
)) IMP12,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE),
                0,    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE))
)) IMP13,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    DECODE(PRY.ID_INVERSOR,4,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    DECODE(PRY.ID_INVERSOR,4,PRY.IMPORTE),
                0,    DECODE(PRY.ID_INVERSOR,4,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,DECODE(PRY.ID_INVERSOR,4,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    DECODE(PRY.ID_INVERSOR,4,PRY.IMPORTE))
)) IMP14,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    DECODE(PRY.ID_INVERSOR,5,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    DECODE(PRY.ID_INVERSOR,5,PRY.IMPORTE),
                0,    DECODE(PRY.ID_INVERSOR,5,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,DECODE(PRY.ID_INVERSOR,5,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    DECODE(PRY.ID_INVERSOR,5,PRY.IMPORTE))
)) IMP15,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        -1,    DECODE(PRY.ID_INVERSOR,6,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                -1,    DECODE(PRY.ID_INVERSOR,6,PRY.IMPORTE),
                0,    DECODE(PRY.ID_INVERSOR,6,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,2,DECODE(PRY.ID_INVERSOR,6,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 1) @--
    ,
    DECODE(PRY.ID_INVERSOR,6,PRY.IMPORTE))
)) IMP16,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        1,    PRY.IMPORTE,
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                1,    PRY.IMPORTE)),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,3,PRY.IMPORTE)),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 2) @--
    ,
    PRY.IMPORTE)
)) IMP17,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        1,    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                1,    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,3,DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 2) @--
    ,
    DECODE(PRY.ID_INVERSOR,1,PRY.IMPORTE))
)) IMP18,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        1,    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                1,    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,3,DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 2) @--
    ,
    DECODE(PRY.ID_INVERSOR,2,PRY.IMPORTE))
)) IMP19,
SUM(DECODE(BASIC.N,
2,    DECODE(SIGN(PRY.EJERCICIO -
    0 --@ - $EJERCICIO_REPORTING$ @--
    ),
        1,    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE),
        0,    DECODE(SIGN(PRY.QUARTER -
            0 --@ - CEIL($MES_REPORTING$ / 3) @--
            ),
                1,    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE))),
3,    DECODE(PRY.EJERCICIO,
    0 --@ + $EJERCICIO_REPORTING$ @--
    ,
    DECODE(PRY.QUARTER,3,DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE))),
4,    DECODE(PRY.EJERCICIO,
    0 --@ + ($EJERCICIO_REPORTING$ + 2) @--
    ,
    DECODE(PRY.ID_INVERSOR,3,PRY.IMPORTE))
)) IMP20,
---------------
-- CONCEPTOS --
---------------
TO_CHAR(NULL) CON01, TO_CHAR(NULL) CON02, TO_CHAR(NULL) CON03,
TO_CHAR(NULL) CON04, TO_CHAR(NULL) CON05, TO_CHAR(NULL) CON06,
TO_CHAR(NULL) CON07,
BD_INPRESO.DEVTEXTO(6935, BASIC.IDIOMA) CON08,                 
BD_INPRESO.DEVTEXTO(6937, BASIC.IDIOMA) CON09,                 
BD_INPRESO.DEVTEXTO( 795, BASIC.IDIOMA) CON10,                 
BD_INPRESO.DEVTEXTO(6944, BASIC.IDIOMA) CON11,                 
BD_INPRESO.DEVTEXTO(6938, BASIC.IDIOMA) CON12,                 
BD_INPRESO.DEVTEXTO(6939, BASIC.IDIOMA) CON13,                 
BD_INPRESO.DEVTEXTO(6940, BASIC.IDIOMA) CON14,                 
BD_INPRESO.DEVTEXTO(1448, BASIC.IDIOMA) CON15,                 
BD_INPRESO.DEVTEXTO( 484, BASIC.IDIOMA) CON16,                 
BD_INPRESO.DEVTEXTO(4161, BASIC.IDIOMA) CON17,                 
BD_INPRESO.DEVTEXTO( 795, BASIC.IDIOMA) CON18,                 
BD_INPRESO.DEVTEXTO(6437, BASIC.IDIOMA) CON19,                 
BD_INPRESO.DEVTEXTO(6936, BASIC.IDIOMA) CON20,

FROM
    (SELECT
        PR.ID_PROYECTO, PR.SOCIEDAD, PR.FASE, PR.NOMBRE, PR.CAPACIDAD,
        PR.PORC_PART_AB, P7.COD PAIS, PR.FECHA_ENTRADA, PR.FINANCIACION,
        IP.DESCRIPCION, FP.EJERCICIO, FP.ID_INVERSOR, FP.QUARTER, FP.IMPORTE,
        CK.USUARIO, NULL PHPSESSION
    FROM
        PROYECTOS PR, FINANCIACIONES_PROYECTOS FP, INVERSORES_PROYECTOS IP, P7K_PAISES P7,
        (SELECT
            US.USUARIO, SD.IDE_NODO, FA.FASE
        FROM   
            USUARIOS US, PRI_ARBOL_EO SD, FASES FA
        WHERE
            (SD.IDE_NODO, US.USUARIO, FA.FASE) NOT IN
                (SELECT
                    PAE.IDE_NODO, PRW.USUARIO, PRW.FASE
                FROM
                    PROYECTOS_W PRW, FINANCIACIONES_PROYECTOS_W FPW, PRI_ARBOL_EO PAE
                WHERE
                    FPW.ID_PROYECTO = PRW.ID_PROYECTO
                    AND PAE.SOCIEDAD = PRW.SOCIEDAD
                    AND PAE.NIVEL = 7
                )
        ) CK
    WHERE
        CK.IDE_NODO = (SELECT IDE_NODO
                         FROM PRI_ARBOL_EO
                        WHERE SOCIEDAD = PR.SOCIEDAD
                          AND NIVEL = 7)
        AND CK.FASE = PR.FASE
        AND IP.ID_INVERSOR = FP.ID_INVERSOR
        AND P7.ID = PR.PAIS
        AND FP.ID_PROYECTO = PR.ID_PROYECTO
        AND FP.EJERCICIO >= (SELECT EJERCICIO - 1
                               FROM REPORTINGS
                              WHERE ABIERTO = 'S'
                            --@ AND FASE = $FASE$ @--
                            --@ AND SOCIEDAD = $SOCIEDAD$ @--
                            )
        --@ AND CK.USUARIO = $USUARIO$ @--
        --@ AND PR.SOCIEDAD = $SOCIEDAD$ @--
        --@ AND PR.FASE = $FASE$ @--
    UNION ALL
    SELECT
        PRW.ID_PROYECTO, PRW.SOCIEDAD, PRW.FASE, PRW.NOMBRE, PRW.CAPACIDAD,
        PRW.PORC_PART_AB, P7.COD PAIS, PRW.FECHA_ENTRADA, PRW.FINANCIACION,
        IP.DESCRIPCION, FPW.EJERCICIO, FPW.ID_INVERSOR, FPW.QUARTER, FPW.IMPORTE,
        PRW.USUARIO, NULL PHPSESSION
    FROM
        PROYECTOS_W PRW, FINANCIACIONES_PROYECTOS FPW, INVERSORES_PROYECTOS IP, P7K_PAISES P7
    WHERE
        IP.ID_INVERSOR = FPW.ID_INVERSOR
        AND P7.ID = PRW.PAIS
        AND FPW.ID_PROYECTO = PRW.ID_PROYECTO
        AND NVL(PRW.MODIFICACION, 0) != -1
        AND FPW.EJERCICIO >= (SELECT EJERCICIO - 1
                                FROM REPORTINGS  
                                WHERE ABIERTO = 'S'
                                 --@ AND FASE = $FASE$ @--
                                 --@ AND SOCIEDAD = $SOCIEDAD$ @--
                             )                         
        --@ AND PRW.USUARIO = $USUARIO$ @--
        --@ AND PRW.SOCIEDAD = $SOCIEDAD$ @--
        --@ AND PRW.FASE = $FASE$ @--
    ) PRY,
    (SELECT
        RE.EJERCICIO EJERCICIO_RE, EO.SOCIEDAD, EO.IDE_NODO,
        FA.FASE, US.USUARIO, US.PHPSESSION, RP.REPORT,
        PT.TEXTO, PT.IDIOMA, N
    FROM
        REPORTINGS RE, FASES FA, USUARIOS US, PRI_TEXTOS PT, PRI_ARBOL_EO EO,
        REPORTS RP, V_128 N
    WHERE
        RE.FASE = FA.FASE
        AND RP.ID_TEXTO = PT.ID
        AND EO.SOCIEDAD = RE.SOCIEDAD
        AND EO.NIVEL = 7  
        AND RE.ABIERTO = 'S'
        AND N <= 4
        AND RP.REPORT = 666                   
        --@ AND RE.SOCIEDAD = $SOCIEDAD$ @--
        --@ AND RE.FASE = $FASE$ @--
        --@ AND US.USUARIO = $USUARIO$ @--
        --@ AND PT.IDIOMA = $IDIOMA$ @--        
    ) BASIC    

WHERE
    PRY.FASE(+) = BASIC.FASE 
    AND PRY.SOCIEDAD(+) = BASIC.SOCIEDAD
    AND PRY.USUARIO(+) = BASIC.USUARIO
    AND BASIC.REPORT = 666  
    --@ AND BASIC.SOCIEDAD = $SOCIEDAD$  @--
    --@ AND BASIC.FASE = $FASE$  @--
    --@ AND BASIC.USUARIO = $USUARIO$  @--
    --@ AND BASIC.IDIOMA = $IDIOMA$  @--

GROUP BY
    BASIC.SOCIEDAD, BASIC.IDIOMA, BASIC.FASE, BASIC.USUARIO,
    BASIC.PHPSESSION, BASIC.REPORT, BASIC.N,
    PRY.ID_PROYECTO, PRY.NOMBRE, PRY.CAPACIDAD, PRY.PORC_PART_AB,
    PRY.PAIS, PRY.FECHA_ENTRADA, PRY.FINANCIACION

No hay comentarios: