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

expsigladb.Procedure.spg_doc_generico.prc Maven / Gradle / Ivy

There is a newer version: 6.6.11
Show newest version
CREATE OR REPLACE PROCEDURE         SPG_DOC_GENERICO
--
-- Date: 18/07/2006
-- Version: 1.2
--
-- Protocollo VPG per stampa massiva di documenti generici
--
--
-- History:
--
-- Date: 19/03/2003
-- Version: 1.0
-- Creazione
--
-- Date: 21/01/2004
-- Version: 1.1
-- Estrazione CIN dalla BANCA (richiesta n. 697)
--
-- Date: 18/07/2006
-- Version: 1.2
-- Gestione Impegni/Accertamenti Residui:
-- aggiornata la funzione per tener conto anche del campo Esercizio Originale Impegno/Accertamento
--
-- Body:
--
(
 aCd_cds in varchar2,
 aCd_uo in varchar2,
 aEs in number,
 aCd_tipo_doc_amm in varchar2,
 aPg_da in number,
 aPg_a in number,
 aDt_da in varchar2,
 aDt_a in varchar2,
 aCd_terzo in varchar2,
 acd_tdg in number
) is
 aId number;
 i number;
 ti_e_s char(1);
 DS varchar2(500) := null;
 aVar1 varchar2(300) := null;
 aNum1 number := 0;
 ESISTE_BOLLO VARCHAR2(1) := 'N';
 IMPORTO_BOLLO NUMBER := NULL;
 uoEnte unita_organizzativa%rowtype;
begin
    uoEnte:=cnrctb020.getUoEnte(aEs);
    select IBMSEQ00_CR_PACKAGE.nextval into aId from dual;
    i:=0;

    for aDocGen in (select dgen.*, tdg.descrizione, tdg.codice from documento_generico dgen, tipo_documento_generico tdg
                    where dgen.CD_CDS_ORIGINE          = aCd_cds
                      and dgen.CD_UO_ORIGINE          = aCd_uo
                      and dgen.ESERCIZIO              = aEs
                      and dgen.CD_TIPO_DOCUMENTO_AMM  like aCd_tipo_doc_amm
                      and dgen.PG_DOCUMENTO_GENERICO  >= aPg_da
                      and dgen.PG_DOCUMENTO_GENERICO  <= aPg_a
                      and ((acd_tdg is not null and dgen.id_tipo_documento_generico = acd_tdg) or (acd_tdg is null))
                      and dgen.DATA_REGISTRAZIONE      >= to_date(aDt_da,'YYYY/MM/DD')
                      and dgen.DATA_REGISTRAZIONE      <= to_date(aDt_a,'YYYY/MM/DD')
											and dgen.id_tipo_documento_Generico = tdg.id(+)
                      and exists (select 1 from documento_generico_riga dgenr
                                      where dgenr.CD_CDS                  = dgen.CD_CDS
                                    and dgenr.CD_UNITA_ORGANIZZATIVA = dgen.CD_UNITA_ORGANIZZATIVA
                                     and dgenr.ESERCIZIO                   = dgen.ESERCIZIO
                                     and dgenr.CD_TIPO_DOCUMENTO_AMM  = dgen.CD_TIPO_DOCUMENTO_AMM
                                     and dgenr.PG_DOCUMENTO_GENERICO  = dgen.PG_DOCUMENTO_GENERICO
                                    and to_char(dgenr.CD_TERZO) like aCd_terzo) ) loop
    -- inizio loop 1

       i:= i+1;
       
       IF aDocGen.ID_TIPO_DOCUMENTO_GENERICO IS NOT NULL THEN
             begin
                select IM_BOLLO
                INTO    IMPORTO_BOLLO    
                from TIPO_ATTO_BOLLO T, TIPO_DOCUMENTO_GENERICO TD, CONFIGURAZIONE_CNR CNR_CD_BOLLO, CONFIGURAZIONE_CNR CNR_IMPORTO_LIMITE
                where TD.ID = aDocGen.ID_TIPO_DOCUMENTO_GENERICO AND
                            TD.SOGGETTO_BOLLO = 'Y' 
                          and aDocGen.esercizio = Cnr_cd_bollo.ESERCIZIO
                          and 'BOLLO_VIRTUALE' = Cnr_cd_bollo.cd_chiave_primaria
                          AND 'CODICE_DOCUMENTO_FATTURA_ATTIVA' = Cnr_cd_bollo.cd_chiave_secondaria
                          AND '*' = Cnr_cd_bollo.cd_unita_funzionale
                          and aDocGen.esercizio = CNR_IMPORTO_LIMITE.ESERCIZIO
                          and 'BOLLO_VIRTUALE' = CNR_IMPORTO_LIMITE.cd_chiave_primaria
                          AND 'IMPORTO_LIMITE' = CNR_IMPORTO_LIMITE.cd_chiave_secondaria
                          AND '*' = CNR_IMPORTO_LIMITE.cd_unita_funzionale and
                            T.CODICE = cnr_cd_bollo.val01 and
							t.dt_Ini_Validita <= aDocGen.DATA_REGISTRAZIONE and
                            (t.dt_Fin_Validita is null or t.dt_Fin_Validita >= aDocGen.DATA_REGISTRAZIONE);
             exception
                WHEN NO_DATA_FOUND THEN IMPORTO_BOLLO := NULL;
             end;
         ELSE
                 IMPORTO_BOLLO := NULL;
       END IF;
       select ti_entrata_spesa, ds_tipo_documento_amm into ti_e_s, aVar1
       from tipo_documento_amm
       where cd_tipo_documento_amm = aDocGen.CD_TIPO_DOCUMENTO_AMM;

       -- inizio inserimento record di testata: (A,A)

       insert into VPG_DOC_GENERICO (ID,
                                    CHIAVE,
                                    DESCRIZIONE,
                                    SEQUENZA,
                                    CD_CDS,
                                    CD_UNITA_ORGANIZZATIVA,
                                    ESERCIZIO,
                                    CD_TIPO_DOCUMENTO_AMM,
                                    PG_DOCUMENTO_GENERICO,
                                    TI_RECORD_L1,
                                    TI_RECORD_L2,
                                    DS_TIPO_DOCUMENTO_AMM,
                                    TI_ENTRATA_SPESA,
                                    CD_CDS_ORIGINE,
                                    CD_UO_ORIGINE,
                                    DS_CDS,
                                    DS_UO_ORIGINE,
                                    DATA_REGISTRAZIONE,
                                    DS_DOCUMENTO_GENERICO,
                                    TI_ISTITUZ_COMMERC,
                                    IM_TOTALE,
                                    STATO_COFI,
                                    CD_DIVISA,
                                    CAMBIO,
                                    UTCR,
                                    DACR,
                                    CODICE_FISCALE_ENTE,
                                    PARTITA_IVA_ENTE,
                                    VIA_FISCALE_ENTE,
                                    CAP_COMUNE_FISCALE_ENTE,
                                    DS_COMUNE_ENTE,
                                    CD_PROVINCIA_ENTE,
                                    CD_TIPO_DOCUMENTO_GENERICO,
                                    DS_TIPO_DOCUMENTO_GENERICO)
       select aId,
                 'Testata: (A,A)',
              'Stampa RPT',
              i,
              aDocGen.CD_CDS,
              aDocGen.CD_UNITA_ORGANIZZATIVA,
              aDocGen.ESERCIZIO,
              aDocGen.CD_TIPO_DOCUMENTO_AMM,
              aDocGen.PG_DOCUMENTO_GENERICO,
              'A',
              'A',
              aVar1,
              ti_e_s,
              aDocGen.CD_CDS_ORIGINE,
              aDocGen.CD_UO_ORIGINE,
              uo1.DS_UNITA_ORGANIZZATIVA,
              uo2.DS_UNITA_ORGANIZZATIVA,
              aDocGen.DATA_REGISTRAZIONE,
              aDocGen.DS_DOCUMENTO_GENERICO,
              aDocGen.TI_ISTITUZ_COMMERC,
              aDocGen.IM_TOTALE,
              aDocGen.STATO_COFI,
              aDocGen.CD_DIVISA,
              aDocGen.CAMBIO,
              aDocGen.UTCR,
              aDocGen.DACR,
              vat.CODICE_FISCALE,
              vat.PARTITA_IVA,
              vat.VIA_FISCALE || ', ' || vat.NUM_CIVICO_FISCALE,
              vat.CAP_COMUNE_FISCALE,
              vat.DS_COMUNE_FISCALE,
              vat.CD_PROVINCIA_FISCALE,
              aDocGen.codice,
              aDocGen.descrizione
       from unita_organizzativa uo1
           ,unita_organizzativa uo2
           ,v_anagrafico_terzo vat
       where uo1.CD_UNITA_ORGANIZZATIVA = aDocGen.CD_CDS
         and uo2.CD_UNITA_ORGANIZZATIVA = aDocGen.CD_UO_ORIGINE
         and vat.CD_UNITA_ORGANIZZATIVA =uoEnte.cd_unita_organizzativa; -- ente

       -- fine inserimento record di testata: (A,A)

       -- inizio inserimento record di righe: (B,A), (B,B)

       -- ciclo sulle righe di documento generico

       for aDocGenRiga in (select * from documento_generico_riga dgenr
                                    where dgenr.CD_CDS                   = aDocGen.CD_CDS
                             and dgenr.CD_UNITA_ORGANIZZATIVA = aDocGen.CD_UNITA_ORGANIZZATIVA
                             and dgenr.ESERCIZIO              = aDocGen.ESERCIZIO
                             and dgenr.CD_TIPO_DOCUMENTO_AMM  = aDocGen.CD_TIPO_DOCUMENTO_AMM
                             and dgenr.PG_DOCUMENTO_GENERICO  = aDocGen.PG_DOCUMENTO_GENERICO
                             and to_char(dgenr.CD_TERZO) like aCd_terzo) loop
       -- inizio loop 2

              i:= i+1;

           begin
                   select rifmp.DS_MODALITA_PAG into aVar1
                from rif_modalita_pagamento rifmp
                   where rifmp.CD_MODALITA_PAG = aDocGenRiga.CD_MODALITA_PAG;
           exception when NO_DATA_FOUND then
                        aVar1 := null;
           end;
        
             IF IMPORTO_BOLLO IS NOT NULL AND IMPORTO_BOLLO = aDocGenRiga.IM_RIGA THEN
                     ESISTE_BOLLO := 'S';
             ELSE
                     ESISTE_BOLLO := 'N';
             END IF;
                
           insert into VPG_DOC_GENERICO (ID,
                                        CHIAVE,
                                        DESCRIZIONE,
                                        SEQUENZA,
                                        CD_CDS,
                                        CD_UNITA_ORGANIZZATIVA,
                                        ESERCIZIO,
                                        CD_TIPO_DOCUMENTO_AMM,
                                        PG_DOCUMENTO_GENERICO,
                                        TI_RECORD_L1,
                                        TI_RECORD_L2,
                                        TI_ENTRATA_SPESA,
                                        DATA_REGISTRAZIONE,
                                        UTCR,
                                        DACR,
                                        PROGRESSIVO_RIGA,
                                        DS_RIGA,
                                        IM_RIGA_DIVISA,
                                        IM_RIGA,
                                        CD_TERZO,
                                        RAGIONE_SOCIALE,
                                        NOME,
                                        COGNOME,
                                        CODICE_FISCALE,
                                        PARTITA_IVA,
                                        DENOMINAZIONE_SEDE,
                                        VIA_SEDE,
                                        DS_COMUNE_SEDE,
                                        CD_PROVINCIA_SEDE,
                                        CAP_COMUNE_SEDE,
                                        CD_MODALITA_PAG,
                                        DS_MODALITA_PAG)
           select aId,
                     'Righe: (B,A)',
                  'Stampa RPT',
                  i,
                  aDocGen.CD_CDS,
                  aDocGen.CD_UNITA_ORGANIZZATIVA,
                  aDocGen.ESERCIZIO,
                  aDocGen.CD_TIPO_DOCUMENTO_AMM,
                  aDocGen.PG_DOCUMENTO_GENERICO,
                  'B',
                  'A',
                  ti_e_s,
                  aDocGen.DATA_REGISTRAZIONE,
                  aDocGen.UTCR,
                  aDocGen.DACR,
                  aDocGenRiga.PROGRESSIVO_RIGA,
                  aDocGenRiga.DS_RIGA,
                  aDocGenRiga.IM_RIGA_DIVISA,
                  aDocGenRiga.IM_RIGA,
                  aDocGenRiga.CD_TERZO,
                  aDocGenRiga.RAGIONE_SOCIALE,
                  aDocGenRiga.NOME,
                  aDocGenRiga.COGNOME,
                  aDocGenRiga.CODICE_FISCALE,
                  aDocGenRiga.PARTITA_IVA,
                  vat.DENOMINAZIONE_SEDE,
                  vat.VIA_SEDE || ', ' || vat.NUMERO_CIVICO_SEDE,
                  vat.DS_COMUNE_SEDE,
                  vat.CD_PROVINCIA_SEDE,
                  vat.CAP_COMUNE_SEDE,
                  aDocGenRiga.CD_MODALITA_PAG,
                  aVar1
           from v_anagrafico_terzo vat
           where vat.CD_TERZO = aDocGenRiga.CD_TERZO;

           if ti_e_s = 'S' then
           -- documenti generici passivi

           -- modalit? di pagamento al terzo valorizzate solo per generici passivi
               begin
                      update VPG_DOC_GENERICO vpg
                   set (TI_PAGAMENTO,
                        CAB_TERZO,
                        ABI_TERZO,
                        NUMERO_CONTO_TERZO,
                        CIN_TERZO,
                        INTESTAZIONE_TERZO,
                        DS_ABICAB_TERZO,
                        VIA_BANCA_TERZO,
                        CAP_BANCA_TERZO,
                        DS_COMUNE_BANCA_TERZO,
                        CD_PV_BANCA_TERZO,
                        IBAN)
                   =(select ban.TI_PAGAMENTO,
                               ban.CAB,
                            ban.ABI,
                            ban.NUMERO_CONTO,
                            NVL(ban.CIN,' '),
                            ban.INTESTAZIONE,
                            abi.DS_ABICAB,
                            abi.VIA,
                            abi.CAP,
                            com.DS_COMUNE,
                            com.CD_PROVINCIA,
                            ban.codice_iban
                     from banca ban
                          ,abicab abi
                         ,comune com
                     where ban.CD_TERZO     = aDocGenRiga.CD_TERZO
                       and ban.PG_BANCA     = aDocGenRiga.PG_BANCA
                       and abi.ABI         (+)= ban.ABI
                       and abi.CAB         (+)= ban.CAB
                       and com.PG_COMUNE (+)= abi.PG_COMUNE)
                   where vpg.CD_CDS                    = aDocGen.CD_CDS
                     and vpg.CD_UNITA_ORGANIZZATIVA = aDocGen.CD_UNITA_ORGANIZZATIVA
                     and vpg.ESERCIZIO                = aDocGen.ESERCIZIO
                     and vpg.CD_TIPO_DOCUMENTO_AMM  = aDocGen.CD_TIPO_DOCUMENTO_AMM
                     and vpg.PG_DOCUMENTO_GENERICO  = aDocGen.PG_DOCUMENTO_GENERICO
                     and vpg.TI_RECORD_L1            = 'B'
                     and vpg.TI_RECORD_L2            = 'A'
                     and vpg.SEQUENZA                = i;

               exception when NO_DATA_FOUND then
                            null;
               end;

               -- obbligazioni/capitoli
               for aObbv in (select * from obbligazione_scad_voce obbv
                                    where obbv.CD_CDS               = aDocGenRiga.CD_CDS_OBBLIGAZIONE
                               and obbv.ESERCIZIO                   = aDocGenRiga.ESERCIZIO_OBBLIGAZIONE
                               and obbv.ESERCIZIO_ORIGINALE         = aDocGenRiga.ESERCIZIO_ORI_OBBLIGAZIONE
                               and obbv.PG_OBBLIGAZIONE             = aDocGenRiga.PG_OBBLIGAZIONE
                               and obbv.PG_OBBLIGAZIONE_SCADENZARIO = aDocGenRiga.PG_OBBLIGAZIONE_SCADENZARIO) loop
               -- inizio loop 3

                      i:= i+1;

                   begin
                       select distinct mriga.PG_MANDATO into aNum1
                       from mandato_riga mriga
                       where mriga.ESERCIZIO_OBBLIGAZIONE      = aDocGenRiga.ESERCIZIO_OBBLIGAZIONE
                         and mriga.ESERCIZIO_ORI_OBBLIGAZIONE  = aDocGenRiga.ESERCIZIO_ORI_OBBLIGAZIONE
                         and mriga.PG_OBBLIGAZIONE           = aDocGenRiga.PG_OBBLIGAZIONE
                         and mriga.PG_OBBLIGAZIONE_SCADENZARIO = aDocGenRiga.PG_OBBLIGAZIONE_SCADENZARIO
                         and mriga.CD_CDS_DOC_AMM            = aDocGenRiga.CD_CDS
                         and mriga.CD_UO_DOC_AMM             = aDocGenRiga.CD_UNITA_ORGANIZZATIVA
                         and mriga.ESERCIZIO_DOC_AMM        = aDocGenRiga.ESERCIZIO
                         and mriga.CD_TIPO_DOCUMENTO_AMM        = aDocGenRiga.CD_TIPO_DOCUMENTO_AMM
                         and mriga.PG_DOC_AMM           = aDocGenRiga.PG_DOCUMENTO_GENERICO
                         and mriga.STATO               <> 'A';
                   exception when NO_DATA_FOUND then
                                aNum1 := 0;
                   end;

                   insert into VPG_DOC_GENERICO (ID,
                                                CHIAVE,
                                                DESCRIZIONE,
                                                SEQUENZA,
                                                CD_CDS,
                                                CD_UNITA_ORGANIZZATIVA,
                                                ESERCIZIO,
                                                CD_TIPO_DOCUMENTO_AMM,
                                                PG_DOCUMENTO_GENERICO,
                                                TI_RECORD_L1,
                                                TI_RECORD_L2,
                                                TI_ENTRATA_SPESA,
                                                DATA_REGISTRAZIONE,
                                                UTCR,
                                                DACR,
                                                PROGRESSIVO_RIGA,
                                                CD_CDS_OBB_ACC,
                                                ESERCIZIO_OBB_ACC,
                                                ESERCIZIO_ORI_OBB_ACC,
                                                PG_OBB_ACC,
                                                PG_OBB_ACC_SCAD,
                                                CD_VOCE,
                                                DS_VOCE,
                                                PG_MAN_REV)
                   select aId,
                             'Capitoli: (B,B)',
                          'Stampa RPT',
                          i,
                          aDocGen.CD_CDS,
                          aDocGen.CD_UNITA_ORGANIZZATIVA,
                          aDocGen.ESERCIZIO,
                          aDocGen.CD_TIPO_DOCUMENTO_AMM,
                          aDocGen.PG_DOCUMENTO_GENERICO,
                          'B',
                          'B',
                          ti_e_s,
                          aDocGen.DATA_REGISTRAZIONE,
                          aDocGen.UTCR,
                          aDocGen.DACR,
                          aDocGenRiga.PROGRESSIVO_RIGA,
                          aDocGenRiga.CD_CDS_OBBLIGAZIONE,
                          aDocGenRiga.ESERCIZIO_OBBLIGAZIONE,
                          aDocGenRiga.ESERCIZIO_ORI_OBBLIGAZIONE,
                          aDocGenRiga.PG_OBBLIGAZIONE,
                          aDocGenRiga.PG_OBBLIGAZIONE_SCADENZARIO,
                          aObbv.CD_VOCE,
                          voce.DS_VOCE,
                          aNum1
                   from voce_f voce
                   where voce.ESERCIZIO = aObbv.ESERCIZIO
                     and voce.TI_APPARTENENZA = aObbv.TI_APPARTENENZA
                     and voce.TI_GESTIONE      = aObbv.TI_GESTIONE
                     and voce.CD_VOCE          = aObbv.CD_VOCE;

               end loop; -- fine loop 3

           else
           -- documenti generici attivi
     begin
            update VPG_DOC_GENERICO vpg
          set (CAB_IC,
                 ABI_IC,
                 NUMERO_CONTO_IC,
                   CIN_IC,
                 INTESTAZIONE_IC,
                 DS_ABICAB_IC,
                   VIA_IC,
                   CAP_IC,
                   DS_COMUNE_IC,
                   CD_PROVINCIA_IC,
                    IBAN_IC)
          =(select ban.CAB,
                     ban.ABI,
                   ban.NUMERO_CONTO,
                   NVL(ban.CIN,' '),
                   ban.INTESTAZIONE,
                   abi.DS_ABICAB,
                   abi.VIA,
                   abi.CAP,
                   com.DS_COMUNE,
                   com.CD_PROVINCIA,
                   ban.codice_iban
             from banca ban
                          ,abicab abi
                         ,comune com
                         ,terzo ter
                     where  ter.CD_UNITA_ORGANIZZATIVA = aDocGen.CD_Uo_origine
                       and ban.CD_TERZO                 = ter.CD_TERZO
                          and ban.PG_BANCA     = aDocGenRiga.PG_BANCA_uo_cds
                       and abi.ABI         (+)= ban.ABI
                       and abi.CAB         (+)= ban.CAB
                       and com.PG_COMUNE (+)= abi.PG_COMUNE)
                   where vpg.CD_CDS                    = aDocGen.CD_CDS
                     and vpg.CD_UNITA_ORGANIZZATIVA = aDocGen.CD_UNITA_ORGANIZZATIVA
                     and vpg.ESERCIZIO                = aDocGen.ESERCIZIO
                     and vpg.CD_TIPO_DOCUMENTO_AMM  = aDocGen.CD_TIPO_DOCUMENTO_AMM
                     and vpg.PG_DOCUMENTO_GENERICO  = aDocGen.PG_DOCUMENTO_GENERICO
                     and vpg.TI_RECORD_L1            = 'A'
                     and vpg.TI_RECORD_L2            = 'A';
               exception when NO_DATA_FOUND then
                            null;
               end;

               begin
                   select distinct rriga.PG_REVERSALE into aNum1
                   from reversale_riga rriga
                   where rriga.ESERCIZIO_ACCERTAMENTO      = aDocGenRiga.ESERCIZIO_ACCERTAMENTO
                     and rriga.ESERCIZIO_ORI_ACCERTAMENTO  = aDocGenRiga.ESERCIZIO_ORI_ACCERTAMENTO
                     and rriga.PG_ACCERTAMENTO                 = aDocGenRiga.PG_ACCERTAMENTO
                     and rriga.PG_ACCERTAMENTO_SCADENZARIO = aDocGenRiga.PG_ACCERTAMENTO_SCADENZARIO
                     and rriga.CD_CDS_DOC_AMM                 = aDocGenRiga.CD_CDS
                     and rriga.CD_UO_DOC_AMM                  = aDocGenRiga.CD_UNITA_ORGANIZZATIVA
                     and rriga.ESERCIZIO_DOC_AMM            = aDocGenRiga.ESERCIZIO
                     and rriga.CD_TIPO_DOCUMENTO_AMM        = aDocGenRiga.CD_TIPO_DOCUMENTO_AMM
                     and rriga.PG_DOC_AMM                    = aDocGenRiga.PG_DOCUMENTO_GENERICO
                     and rriga.STATO                       <> 'A';
               exception when NO_DATA_FOUND then
                            aNum1 := 0;
               end;
               insert into VPG_DOC_GENERICO (ID,
                                            CHIAVE,
                                            DESCRIZIONE,
                                            SEQUENZA,
                                            CD_CDS,
                                            CD_UNITA_ORGANIZZATIVA,
                                            ESERCIZIO,
                                            CD_TIPO_DOCUMENTO_AMM,
                                            PG_DOCUMENTO_GENERICO,
                                            TI_RECORD_L1,
                                            TI_RECORD_L2,
                                            TI_ENTRATA_SPESA,
                                            DATA_REGISTRAZIONE,
                                            UTCR,
                                            DACR,
                                            PROGRESSIVO_RIGA,
                                            CD_CDS_OBB_ACC,
                                            ESERCIZIO_OBB_ACC,
                                            ESERCIZIO_ORI_OBB_ACC,
                                            PG_OBB_ACC,
                                            PG_OBB_ACC_SCAD,
                                            CD_VOCE,
                                            DS_VOCE,
                                            PG_MAN_REV)
               select aId,
                         'Capitoli: (B,B)',
                      'Stampa RPT',
                      i,
                      aDocGen.CD_CDS,
                      aDocGen.CD_UNITA_ORGANIZZATIVA,
                      aDocGen.ESERCIZIO,
                      aDocGen.CD_TIPO_DOCUMENTO_AMM,
                      aDocGen.PG_DOCUMENTO_GENERICO,
                      'B',
                      'B',
                      ti_e_s,
                      aDocGen.DATA_REGISTRAZIONE,
                      aDocGen.UTCR,
                      aDocGen.DACR,
                      aDocGenRiga.PROGRESSIVO_RIGA,
                      aDocGenRiga.CD_CDS_ACCERTAMENTO,
                      aDocGenRiga.ESERCIZIO_ACCERTAMENTO,
                      aDocGenRiga.ESERCIZIO_ORI_ACCERTAMENTO,
                      aDocGenRiga.PG_ACCERTAMENTO,
                      aDocGenRiga.PG_ACCERTAMENTO_SCADENZARIO,
                      acc.CD_VOCE,
                      voce.DS_VOCE,
                      aNum1
               from accertamento acc
                      ,voce_f voce
               where acc.CD_CDS          = aDocGenRiga.CD_CDS_ACCERTAMENTO
                 and acc.ESERCIZIO       = aDocGenRiga.ESERCIZIO_ACCERTAMENTO
                 and acc.ESERCIZIO_ORIGINALE = aDocGenRiga.ESERCIZIO_ORI_ACCERTAMENTO
                 and acc.PG_ACCERTAMENTO = aDocGenRiga.PG_ACCERTAMENTO
                 and voce.ESERCIZIO         = acc.ESERCIZIO
                 and voce.TI_APPARTENENZA in ('C','D')
                  and voce.TI_GESTIONE      = 'E'
                  and voce.CD_VOCE          = acc.CD_VOCE;

           end if;

       end loop; -- fine loop 2
         IF ESISTE_BOLLO = 'S' THEN
                BEGIN
               i:= i+1;

                   insert into VPG_DOC_GENERICO (ID,
                                                CHIAVE,
                                                DESCRIZIONE,
                                                SEQUENZA,
                                                CD_CDS,
                                                CD_UNITA_ORGANIZZATIVA,
                                                ESERCIZIO,
                                                CD_TIPO_DOCUMENTO_AMM,
                                                PG_DOCUMENTO_GENERICO,
                                                TI_RECORD_L1,
                                                TI_RECORD_L2,
                                                UTCR,
                                                DACR,
                                                DS_VOCE)
                   select aId,
                             'Bollo Virtuale: (C,A)',
                          'Stampa RPT',
                          i,
                          aDocGen.CD_CDS,
                          aDocGen.CD_UNITA_ORGANIZZATIVA,
                          aDocGen.ESERCIZIO,
                          aDocGen.CD_TIPO_DOCUMENTO_AMM,
                          aDocGen.PG_DOCUMENTO_GENERICO,
                          'C',
                          'A',
                          aDocGen.UTCR,
                          aDocGen.DACR,
                          cnr.VAL01
                    from CONFIGURAZIONE_CNR CNR
                    where aDocGen.esercizio = Cnr.ESERCIZIO
                          and 'BOLLO_VIRTUALE' = Cnr.cd_chiave_primaria
                          AND 'ANNOTAZIONE_ASSOLVIMENTO' = Cnr.cd_chiave_secondaria
                          AND '*' = Cnr.cd_unita_funzionale;
             EXCEPTION
                 WHEN NO_DATA_FOUND THEN I := I - 1;
             END;
         END IF;

       -- fine inserimento record di righe: (B,A), (C,A)

    end loop; -- fine loop 1

end;
/




© 2015 - 2024 Weber Informatics LLC | Privacy Policy