All Downloads are FREE. Search and download functionalities are using the official Maven repository.

expsigladb.View.V_CONS_OBBL_ACC_CONTRATTI.sql Maven / Gradle / Ivy

There is a newer version: 6.6.11
Show newest version
--------------------------------------------------------
--  DDL for View V_CONS_OBBL_ACC_CONTRATTI
--------------------------------------------------------

CREATE OR REPLACE FORCE VIEW v_cons_obbl_acc_contratti (tipo,
                                                        esercizio_competenza,
                                                        cd_unita_organizzativa,
                                                        esercizio_originale,
                                                        pg_doc,
                                                        dt_registrazione,
                                                        ds_doc,
                                                        cd_terzo,
                                                        cd_elemento_voce,
                                                        cd_commessa,
                                                        ds_commessa,
                                                        esercizio_contratto_padre,
                                                        stato_contratto_padre,
                                                        pg_contratto_padre,
                                                        esercizio_contratto,
                                                        stato_contratto,
                                                        pg_contratto,
                                                        oggetto_contratto,
                                                        im_accertamento,
                                                        im_obbligazione
                                                       )
AS
   SELECT
--
-- Date: 09/11/2006
-- Version: 1.2
--
-- Vista per la consultazione dei Documenti Contabili associati a un contratto
--
-- History:
--
-- Date: 19/04/2005
-- Version: 1.0
-- Creazione
--
-- Date: 18/07/2006
-- Version: 1.1
-- Gestione Impegni/Accertamenti Residui:
-- gestito il nuovo campo ESERCIZIO_ORIGINALE
--
-- Date: 09/11/2006
-- Version: 1.2
-- Aggiunta la selezione del progetto/commessa/modulo per anno
--
-- Body:
--
            'ETR' tipo, accertamento.esercizio_competenza,
            accertamento.cd_unita_organizzativa,
            accertamento.esercizio_originale, accertamento.pg_accertamento,
            accertamento.dt_registrazione, accertamento.ds_accertamento,
            accertamento.cd_terzo, accertamento.cd_elemento_voce,
            commessa.cd_progetto, commessa.ds_progetto,
            contratto_padre.esercizio, contratto_padre.stato,
            contratto_padre.pg_contratto, contratto.esercizio,
            contratto.stato, contratto.pg_contratto, contratto.oggetto,
            SUM (accertamento_scad_voce.im_voce) totale_entrate,
            0 totale_spese
       FROM progetto_gest commessa,
            progetto_gest modulo,
            contratto,
            contratto contratto_padre,
            accertamento,
            accertamento_scadenzario,
            accertamento_scad_voce,
            v_linea_attivita_valida
      WHERE contratto.esercizio = accertamento.esercizio_contratto
        AND contratto.stato = accertamento.stato_contratto
        AND contratto.pg_contratto = accertamento.pg_contratto
        AND accertamento.cd_cds = accertamento_scadenzario.cd_cds
        AND accertamento.esercizio = accertamento_scadenzario.esercizio
        AND accertamento.esercizio_originale =
                                  accertamento_scadenzario.esercizio_originale
        AND accertamento.pg_accertamento =
                                      accertamento_scadenzario.pg_accertamento
        AND (   accertamento.esercizio_originale = accertamento.esercizio
             OR (    accertamento.cd_tipo_documento_cont = 'ACR_RES'
                 AND NOT EXISTS (
                        SELECT 1
                          FROM accertamento acc
                         WHERE accertamento.cd_cds = acc.cd_cds
                           AND accertamento.esercizio > acc.esercizio
                           AND accertamento.esercizio_originale =
                                                       acc.esercizio_originale
                           AND accertamento.pg_accertamento =
                                                           acc.pg_accertamento
                           AND accertamento.esercizio_contratto =
                                                       acc.esercizio_contratto
                           AND accertamento.stato_contratto =
                                                           acc.stato_contratto
                           AND accertamento.pg_contratto = acc.pg_contratto)
                )
            )
        AND accertamento_scadenzario.cd_cds = accertamento_scad_voce.cd_cds
        AND accertamento_scadenzario.esercizio =
                                              accertamento_scad_voce.esercizio
        AND accertamento_scadenzario.esercizio_originale =
                                    accertamento_scad_voce.esercizio_originale
        AND accertamento_scadenzario.pg_accertamento =
                                        accertamento_scad_voce.pg_accertamento
        AND accertamento_scadenzario.pg_accertamento_scadenzario =
                            accertamento_scad_voce.pg_accertamento_scadenzario
        AND accertamento_scad_voce.cd_centro_responsabilita =
                              v_linea_attivita_valida.cd_centro_responsabilita
        AND accertamento_scad_voce.cd_linea_attivita =
                                     v_linea_attivita_valida.cd_linea_attivita
        AND v_linea_attivita_valida.esercizio = accertamento.esercizio
        AND v_linea_attivita_valida.pg_progetto = modulo.pg_progetto(+)
        AND (   modulo.esercizio IS NULL
             OR modulo.esercizio = accertamento.esercizio
            )
        AND modulo.esercizio_progetto_padre = commessa.esercizio(+)
        AND modulo.pg_progetto_padre = commessa.pg_progetto(+)
        AND contratto.esercizio_padre = contratto_padre.esercizio(+)
        AND contratto.pg_contratto_padre = contratto_padre.pg_contratto(+)
   GROUP BY 'ETR',
            accertamento.esercizio_competenza,
            accertamento.cd_unita_organizzativa,
            accertamento.esercizio_originale,
            accertamento.pg_accertamento,
            accertamento.dt_registrazione,
            accertamento.ds_accertamento,
            accertamento.cd_terzo,
            accertamento.cd_elemento_voce,
            commessa.cd_progetto,
            commessa.ds_progetto,
            contratto_padre.esercizio,
            contratto_padre.stato,
            contratto_padre.pg_contratto,
            contratto.esercizio,
            contratto.stato,
            contratto.pg_contratto,
            contratto.oggetto
   UNION ALL
   SELECT   'ETR' tipo, accertamento.esercizio_competenza,
            accertamento.cd_unita_organizzativa,
            accertamento.esercizio_originale, accertamento.pg_accertamento,
            accertamento.dt_registrazione, accertamento.ds_accertamento,
            accertamento.cd_terzo, accertamento.cd_elemento_voce,
            commessa.cd_progetto, commessa.ds_progetto,
            contratto_padre.esercizio, contratto_padre.stato,
            contratto_padre.pg_contratto, contratto.esercizio,
            contratto.stato, contratto.pg_contratto, contratto.oggetto,
            SUM (accertamento_mod_voce.im_modifica) totale_entrate,
            0 totale_spese
       FROM progetto_gest commessa,
            progetto_gest modulo,
            contratto,
            contratto contratto_padre,
            accertamento,
            accertamento_modifica,
            accertamento_mod_voce,
            v_linea_attivita_valida
      WHERE contratto.esercizio = accertamento.esercizio_contratto
        AND contratto.stato = accertamento.stato_contratto
        AND contratto.pg_contratto = accertamento.pg_contratto
        AND accertamento.cd_cds = accertamento_modifica.cd_cds
        AND accertamento.esercizio = accertamento_modifica.esercizio
        AND accertamento.esercizio_originale =
                                     accertamento_modifica.esercizio_originale
        AND accertamento.pg_accertamento =
                                         accertamento_modifica.pg_accertamento
        AND accertamento_modifica.cd_cds = accertamento_mod_voce.cd_cds
        AND accertamento_modifica.esercizio = accertamento_mod_voce.esercizio
        AND accertamento_modifica.pg_modifica =
                                             accertamento_mod_voce.pg_modifica
        AND accertamento_mod_voce.cd_centro_responsabilita =
                              v_linea_attivita_valida.cd_centro_responsabilita
        AND accertamento_mod_voce.cd_linea_attivita =
                                     v_linea_attivita_valida.cd_linea_attivita
        AND EXISTS (
               SELECT 1
                 FROM accertamento acc
                WHERE accertamento.cd_cds = acc.cd_cds
                  --And ACCERTAMENTO.ESERCIZIO = acc.ESERCIZIO
                  AND accertamento.esercizio_originale =
                                                       acc.esercizio_originale
                  AND accertamento.pg_accertamento = acc.pg_accertamento
                  AND accertamento.esercizio_contratto =
                                                       acc.esercizio_contratto
                  AND accertamento.stato_contratto = acc.stato_contratto
                  AND accertamento.pg_contratto = acc.pg_contratto
                  AND acc.esercizio = acc.esercizio_originale)
        AND v_linea_attivita_valida.pg_progetto = modulo.pg_progetto(+)
        AND v_linea_attivita_valida.esercizio = accertamento.esercizio
        AND (   modulo.esercizio IS NULL
             OR modulo.esercizio = accertamento.esercizio
            )
        AND modulo.esercizio_progetto_padre = commessa.esercizio(+)
        AND modulo.pg_progetto_padre = commessa.pg_progetto(+)
        AND contratto.esercizio_padre = contratto_padre.esercizio(+)
        AND contratto.pg_contratto_padre = contratto_padre.pg_contratto(+)
   GROUP BY 'ETR',
            accertamento.esercizio_competenza,
            accertamento.cd_unita_organizzativa,
            accertamento.esercizio_originale,
            accertamento.pg_accertamento,
            accertamento.dt_registrazione,
            accertamento.ds_accertamento,
            accertamento.cd_terzo,
            accertamento.cd_elemento_voce,
            commessa.cd_progetto,
            commessa.ds_progetto,
            contratto_padre.esercizio,
            contratto_padre.stato,
            contratto_padre.pg_contratto,
            contratto.esercizio,
            contratto.stato,
            contratto.pg_contratto,
            contratto.oggetto
   UNION ALL
   SELECT   'SPE' tipo, obbligazione.esercizio_competenza,
            obbligazione.cd_unita_organizzativa,
            obbligazione.esercizio_originale, obbligazione.pg_obbligazione,
            obbligazione.dt_registrazione, obbligazione.ds_obbligazione,
            obbligazione.cd_terzo, obbligazione.cd_elemento_voce,
            commessa.cd_progetto, commessa.ds_progetto,
            contratto_padre.esercizio, contratto_padre.stato,
            contratto_padre.pg_contratto, contratto.esercizio,
            contratto.stato, contratto.pg_contratto, contratto.oggetto,
            0 totale_entrate,
            SUM (obbligazione_scad_voce.im_voce) totale_spese
       FROM progetto_gest commessa,
            progetto_gest modulo,
            contratto,
            contratto contratto_padre,
            obbligazione,
            obbligazione_scadenzario,
            obbligazione_scad_voce,
            v_linea_attivita_valida
      WHERE contratto.esercizio = obbligazione.esercizio_contratto
        AND contratto.stato = obbligazione.stato_contratto
        AND contratto.pg_contratto = obbligazione.pg_contratto
        AND obbligazione.cd_cds = obbligazione_scadenzario.cd_cds
        AND obbligazione.esercizio = obbligazione_scadenzario.esercizio
        AND obbligazione.esercizio_originale =
                                  obbligazione_scadenzario.esercizio_originale
        AND obbligazione.pg_obbligazione =
                                      obbligazione_scadenzario.pg_obbligazione
        AND (   obbligazione.esercizio_originale = obbligazione.esercizio
             OR obbligazione.cd_tipo_documento_cont = 'OBB_RESIM'
             OR (    obbligazione.cd_tipo_documento_cont = 'OBB_RES'
                 AND NOT EXISTS (
                        SELECT 1
                          FROM obbligazione obb
                         WHERE obbligazione.cd_cds = obb.cd_cds
                           AND obbligazione.esercizio > obb.esercizio
                           AND obbligazione.esercizio_originale =
                                                       obb.esercizio_originale
                           AND obbligazione.pg_obbligazione =
                                                           obb.pg_obbligazione
                           AND obbligazione.esercizio_contratto =
                                                       obb.esercizio_contratto
                           AND obbligazione.stato_contratto =
                                                           obb.stato_contratto
                           AND obbligazione.pg_contratto = obb.pg_contratto)
                )
            )
        AND obbligazione_scadenzario.cd_cds = obbligazione_scad_voce.cd_cds
        AND obbligazione_scadenzario.esercizio =
                                              obbligazione_scad_voce.esercizio
        AND obbligazione_scadenzario.esercizio_originale =
                                    obbligazione_scad_voce.esercizio_originale
        AND obbligazione_scadenzario.pg_obbligazione =
                                        obbligazione_scad_voce.pg_obbligazione
        AND obbligazione_scadenzario.pg_obbligazione_scadenzario =
                            obbligazione_scad_voce.pg_obbligazione_scadenzario
        AND obbligazione_scad_voce.cd_centro_responsabilita =
                              v_linea_attivita_valida.cd_centro_responsabilita
        AND obbligazione_scad_voce.cd_linea_attivita =
                                     v_linea_attivita_valida.cd_linea_attivita
        AND v_linea_attivita_valida.pg_progetto = modulo.pg_progetto(+)
        AND v_linea_attivita_valida.esercizio = obbligazione.esercizio
        AND (   modulo.esercizio IS NULL
             OR modulo.esercizio = obbligazione.esercizio
            )
        AND modulo.esercizio_progetto_padre = commessa.esercizio(+)
        AND modulo.pg_progetto_padre = commessa.pg_progetto(+)
        AND contratto.esercizio_padre = contratto_padre.esercizio(+)
        AND contratto.pg_contratto_padre = contratto_padre.pg_contratto(+)
   GROUP BY 'SPE',
            obbligazione.esercizio_competenza,
            obbligazione.cd_unita_organizzativa,
            obbligazione.esercizio_originale,
            obbligazione.pg_obbligazione,
            obbligazione.dt_registrazione,
            obbligazione.ds_obbligazione,
            obbligazione.cd_terzo,
            obbligazione.cd_elemento_voce,
            commessa.cd_progetto,
            commessa.ds_progetto,
            contratto_padre.esercizio,
            contratto_padre.stato,
            contratto_padre.pg_contratto,
            contratto.esercizio,
            contratto.stato,
            contratto.pg_contratto,
            contratto.oggetto
   UNION ALL
   SELECT   'SPE' tipo, obbligazione.esercizio_competenza,
            obbligazione.cd_unita_organizzativa,
            obbligazione.esercizio_originale, obbligazione.pg_obbligazione,
            obbligazione.dt_registrazione, obbligazione.ds_obbligazione,
            obbligazione.cd_terzo, obbligazione.cd_elemento_voce,
            commessa.cd_progetto, commessa.ds_progetto,
            contratto_padre.esercizio, contratto_padre.stato,
            contratto_padre.pg_contratto, contratto.esercizio,
            contratto.stato, contratto.pg_contratto, contratto.oggetto,
            0 totale_entrate,
            SUM (obbligazione_mod_voce.im_modifica) totale_spese
       FROM progetto_gest commessa,
            progetto_gest modulo,
            contratto,
            contratto contratto_padre,
            obbligazione,
            obbligazione_modifica,
            obbligazione_mod_voce,
            v_linea_attivita_valida
      WHERE contratto.esercizio = obbligazione.esercizio_contratto
        AND contratto.stato = obbligazione.stato_contratto
        AND contratto.pg_contratto = obbligazione.pg_contratto
        AND obbligazione.cd_cds = obbligazione_modifica.cd_cds
        AND obbligazione.esercizio = obbligazione_modifica.esercizio
        AND obbligazione.esercizio_originale =
                                     obbligazione_modifica.esercizio_originale
        AND obbligazione.pg_obbligazione =
                                         obbligazione_modifica.pg_obbligazione
        AND obbligazione_modifica.cd_cds = obbligazione_mod_voce.cd_cds
        AND obbligazione_modifica.esercizio = obbligazione_mod_voce.esercizio
        AND obbligazione_modifica.pg_modifica =
                                             obbligazione_mod_voce.pg_modifica
        -- per evitare che prende le variazioni su impegni già diminuiti nell'importo sull'obbligazione collegato al contratto
        AND EXISTS (
               SELECT 1
                 FROM obbligazione obb
                WHERE obbligazione.cd_cds = obb.cd_cds
                  --And OBBLIGAZIONE.ESERCIZIO = obb.ESERCIZIO
                  AND obbligazione.esercizio_originale =
                                                       obb.esercizio_originale
                  AND obbligazione.pg_obbligazione = obb.pg_obbligazione
                  AND obbligazione.esercizio_contratto =
                                                       obb.esercizio_contratto
                  AND obbligazione.stato_contratto = obb.stato_contratto
                  AND obbligazione.pg_contratto = obb.pg_contratto
                  AND (   obb.esercizio = obb.esercizio_originale
                       OR obb.cd_tipo_documento_cont = 'OBB_RESIM'
                      ))
        AND obbligazione_mod_voce.cd_centro_responsabilita =
                              v_linea_attivita_valida.cd_centro_responsabilita
        AND obbligazione_mod_voce.cd_linea_attivita =
                                     v_linea_attivita_valida.cd_linea_attivita
        AND v_linea_attivita_valida.pg_progetto = modulo.pg_progetto(+)
        AND v_linea_attivita_valida.esercizio = obbligazione.esercizio
        AND (   modulo.esercizio IS NULL
             OR modulo.esercizio = obbligazione.esercizio
            )
        AND modulo.esercizio_progetto_padre = commessa.esercizio(+)
        AND modulo.pg_progetto_padre = commessa.pg_progetto(+)
        AND contratto.esercizio_padre = contratto_padre.esercizio(+)
        AND contratto.pg_contratto_padre = contratto_padre.pg_contratto(+)
   GROUP BY 'SPE',
            obbligazione.esercizio_competenza,
            obbligazione.cd_unita_organizzativa,
            obbligazione.esercizio_originale,
            obbligazione.pg_obbligazione,
            obbligazione.dt_registrazione,
            obbligazione.ds_obbligazione,
            obbligazione.cd_terzo,
            obbligazione.cd_elemento_voce,
            commessa.cd_progetto,
            commessa.ds_progetto,
            contratto_padre.esercizio,
            contratto_padre.stato,
            contratto_padre.pg_contratto,
            contratto.esercizio,
            contratto.stato,
            contratto.pg_contratto,
            contratto.oggetto;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy