expsigladb.Package.CNRCTB570.sql Maven / Gradle / Ivy
--------------------------------------------------------
-- DDL for Package CNRCTB570
--------------------------------------------------------
CREATE OR REPLACE PACKAGE "CNRCTB570" As
--==============================================================================
--
-- CNRCTB570 - Liquidazione contributi/ritenute
--
-- Date: 14/07/2006
-- Version: 7.23
--
-- Dependency: CNRCTB 001/015/018/020/037/038/040/043/080/100/110/575 IBMERR 001
--
-- History:
--
-- Date: 02/06/2002
-- Version: 1.0
-- Creazione
--
-- Date: 04/06/2002
-- Version: 1.1
-- Aggiunta gestione accentramento CORI
--
-- Date: 06/06/2002
-- Version: 1.2
-- Ristrutturazione liquidazione
--
-- Date: 09/06/2002
-- Version: 1.3
-- Fix errori
--
-- Date: 13/06/2002
-- Version: 1.4
-- Fix errori
--
-- Date: 17/06/2002
-- Version: 1.5
-- Test approfondito
--
-- Date: 18/06/2002
-- Version: 1.6
-- Modificato nome della vista utilizzata per calcolare la liquidazione
--
-- Date: 24/06/2002
-- Version: 1.7
-- Controllo estrazione cori su invio/emissione del mandato collegato al compenso
--
-- Date: 24/06/2002
-- Version: 1.8
-- Revisione tabelle per gestione versamento accentrato
--
-- Date: 25/06/2002
-- Version: 1.9
-- Gestione CORI accentrati
--
-- Date: 26/06/2002
-- Version: 2.0
-- Fix su generazione mandato di versamento
--
-- Date: 26/06/2002
-- Version: 2.1
-- Fix su aggiornamento stato liquidazione
--
-- Date: 01/07/2002
-- Version: 2.2
-- Documenti generici tutti esclusi da COEP/COAN
--
-- Date: 03/07/2002
-- Version: 2.3
-- Fix errori
--
-- Date: 04/07/2002
-- Version: 2.4
-- Fix errori
-- Aggiunto esercizio origine documento aut. e fl_accentrato su liquidazione gruppo
-- Tale flag influenza lo stato dell'intera liquidazione
--
-- Date: 11/07/2002
-- Version: 2.5
-- Fix errore estrazione CORI
--
-- Date: 11/07/2002
-- Version: 2.6
-- Fix errore in liquidazione CORI
--
-- Date: 12/07/2002
-- Version: 2.7
-- Fix errore ordinamento estrazione CORI
--
-- Date: 12/07/2002
-- Version: 2.8
-- Fix errore ordinamento estrazione CORI per UO=SAC
-- Fix errore chiave per estrazione CORI
--
-- Date: 12/07/2002
-- Version: 2.9
-- Impostato il codice del documento di versamento in liquid gruppo cori
--
-- Date: 12/07/2002
-- Version: 3.0
-- Trunc su data scadenza accertamento pgiro
--
-- Date: 18/07/2002
-- Version: 3.1
-- Aggiornamento documentazione
--
-- Date: 23/07/2002
-- Version: 3.2
-- Annullamento della liquidazione CORI
-- Blocco del versamento nel caso il totale relativo ad un gruppo CORI sia negativo
-- Gestione liquidazione per dettaglio capillare (GRUPPO CORI + REGIONE + COMUNE)
--
-- Date: 24/07/2002
-- Version: 3.3
-- Revisione della liquidazione CORI
--
-- Date: 24/07/2002
-- Version: 3.4
-- Fix revisione
--
-- Date: 25/07/2002
-- Version: 3.5
-- Eliminazione della partita di giro creata sul'UO del centro che versa a seguito dei liquidazione locale accentrata
--
-- Date: 25/07/2002
-- Version: 3.6
-- Fix aggiornamento saldo coll. doc amm su obb o acc collegato a generico
--
-- Date: 25/07/2002
-- Version: 3.7
-- Fix liquidazione centrale in raccolta liq. locali
--
-- Date: 25/07/2002
-- Version: 3.8
-- Fix query estrazione accentrati
--
-- Date: 13/09/2002
-- Version: 3.9
-- Fix su fl_partita_giro = 'Y' in riga mandato di chiusura CORI
--
-- Date: 11/10/2002
-- Version: 4.0
-- Fix su chiusura partita di giro dei CORI negativi -> collegamento errato del generico a obbligazione invece che accertamento
--
-- Date: 14/10/2002
-- Version: 4.1
-- Corretta gestione CORI negativi come terzo e importo totale generico
--
-- Date: 15/10/2002
-- Version: 4.2
-- Fix generazione reversale su chiusura partita di giro cori negativi
--
-- Date: 21/10/2002
-- Version: 4.3
-- Fix inizializzazione vettore righe mandato (segnalazione CINECA del 20021018)
--
-- Date: 18/11/2002
-- Version: 4.4
-- Il doc generico di versamento cori è sempre di tipo versamento (entrata/spesa) non trasferimento nei caso di cori accentrati
--
-- Date: 29/01/2003
-- Version: 5.0
-- Aggiunto esercizio in query estrazione liquidazione UO diverse da quelle di liquidazione in calcolo della liquidazione
--
-- Date: 07/02/2003
-- Version: 5.1
-- Aggiunto calcolo liquidazione da interfaccia -- Solo per Pisa
--
-- Date: 11/02/2003
-- Version: 5.2
-- Fix per controllo di versamento completo liquidazioni accentrate al versamento del centro
-- Fix su estrazione cori del centro per versamento cori propri del centro
-- Nel calcolo considera anche i CORI provenienti da liquidazione speciale via interfaccia
--
-- Date: 12/02/2003
-- Version: 5.3
-- Rimosse insert di controllo
--
-- Date: 20/02/2003
-- Version: 6.0
-- Nuova gestione della pratica per versamenti accentrati
--
-- Date: 20/02/2003
-- Version: 6.1
-- Fix
--
-- Date: 20/02/2003
-- Version: 6.2
-- Fix
--
-- Date: 21/02/2003
-- Version: 6.3
-- Inserito controllo per il calcolo della liquidazione da interfaccia
-- il controllo genera un errore se la UO legata alla liquid_gruppo_interf
-- risulta appartenere ad un gruppo per cui il flag_accentrata = 'N'
--
-- Date: 22/02/2003
-- Version: 6.4
-- Fix
--
-- Date: 24/02/2003
-- Version: 6.5
-- Modificate regole di annullamento liquidazione di gruppi
--
-- Date: 25/02/2003
-- Version: 6.6
-- Fix errore di calcolo della liquidazione
--
-- Date: 27/02/2003
-- Version: 6.7
-- Fix errore ripetizione liquidazione CORI locale via interfaccia
--
-- Date: 03/03/2003
-- Version: 6.8
-- Fix su errore buffer aUtente di soli 10 caratteri
--
-- Date: 14/03/2003
-- Version: 6.9
-- fIX ERR. 530 importo ritenute su mandato di versamento CORI
--
-- Date: 07/05/2003
-- Version: 7.0
-- Modifiche per gestione liquidazione CORI in chiusura
--
-- Date: 22/05/2003
-- Version: 7.1
-- Annullamento liquidazione CORI in chiusura
--
-- Date: 13/06/2003
-- Version: 7.2
-- Fix estr. obb./acc. in liq. dell'anno + fix calcola liq.
--
-- Date: 13/06/2003
-- Version: 7.3
-- Controllo apertura/chiusura esercizio + sistemazione date registrazione e competenza
--
-- Date: 23/06/2003
-- Version: 7.4
-- Fix per impedire di riliquidare in esercizi diversi gli stessi CORI
--
-- Date: 23/06/2003
-- Version: 7.5
-- gestione completa della restituzione alle UO in credito e reversale di versamento gruppi locali negativi al centro
-- che va in ritenuta sul mandato al centro del gruppo CORI
--
-- Date: 24/06/2003
-- Version: 7.6
-- Nuova versione metodi di riporto pratiche finanziarie ad esercizio successivo
--
-- Date: 25/06/2003
-- Version: 7.7
-- Controllo liquidazione locale/centro aperta + liq iva via interf da es. prec.
--
-- Date: 26/06/2003
-- Version: 7.8
-- Fix test err. minori su liq. iva interfaccia + sistemazione agg. stato liq. locali
--
-- Date: 19/07/2003
-- Version: 7.9
-- Gestione liquidazione cori via interfaccia per dettaglio
--
-- Date: 20/07/2003
-- Version: 7.10
-- Fix su clean up dettaglio interfaccia nel caso il gruppo non venga liquidato
--
-- Date: 23/07/2003
-- Version: 7.11
-- Tolti riferimenti a tabella LIQUID_CORI_INTERF
--
-- Date: 31/07/2003
-- Version: 7.12
-- Fix errore in raggruppamento dati di interfaccia dettaglio CORI: pg_caricamento ora è ignorato
--
-- Date: 23/10/2003
-- Version: 7.13
-- Fix su lock del compenso in calcola: utilizzo esercizio_compenso e non esercizio
--
-- Date: 27/11/2003
-- Version: 7.14
-- Fix errore su liq. gruppi nulli non di fine anno
--
-- Date: 08/12/2003
-- Version: 7.15
-- Fix mancato aggiornamento pg_obb_accentr su liquid_gruppo_cori_locale alla creazione obb accentr
-- sul gruppo CORI al centro
--
-- Date: 09/01/2004
-- Version: 7.16
-- Fix errore di mancato reset righe mandato di restituzione crediti
--
-- Date: 03/02/2004
-- Version: 7.17
-- Fix errore 729
-- La liquidazione al centro è bloccata quando quella locale è bloccata
--
-- Date: 23/04/2004
-- Version: 7.18
-- Le reversali di versamento CORI devono essere processate in ECONOMICA
--
-- Date: 13/04/2005
-- Version: 7.19
-- Gestiti i Versamenti Unificati per tutte le UO della SAC: Esiste in CONFIGURAZIONE_CNR una UO abilitata
-- ad effettuare i versamenti di tutte le UO della SAC
--
-- Date: 23/06/2005
-- Version: 7.20
-- Gestita l'interfaccia per i nuovi cds accorpati. A differenza di quello gia' esistente (PISA) che alimenta
-- l'archivio LIQUID_CORI_INTERF_DET, per i nuovi e' stato gestito l'archivio LIQUID_CORI_INTERF in cui i dati
-- sono gia' accorpati.
--
-- Date: 30/12/2005
-- Version: 7.21
-- Consentita la liquidazione di gruppi negativi solo "Da Esercizio precedente" e solo per i
-- gruppi accentrati. Inoltre, per i gruppi dei versamenti locali, il controllo dell'importo negativo
-- non deve essere fatto solo da aGruppi.im_liquidato perchè esso contiene solo la parte positiva
-- bensì deve essere sottratta la parte negativa presente in V_LIQUID_CENTRO_UO e se la differenza è
-- negativa la liquidazione deve essere bloccata.
-- Gestito con RAISE_WRN_GENERICO e non con RAISE_ERR_GENERICO il messaggio 'Nessun gruppo CORI trovato
-- per la liquidazione' per poterlo intercettare nella Liquidazione CORI massiva.
--
-- Date: 19/04/2006
-- Version: 7.22
-- Gestite le scadenze per le pgiro di entrata per consentire la chiusura di una Reversale Provvisoria
-- legata a gruppi CORI accentrati ancora aperti. In questo caso, cioè se il gruppo è aperto ma la Rev. Provv.
-- è chiusa, viene creata una nuova scadenza per la pgiro di entrata ed una nuova rev. provv. a cui agganciarla
--
-- Date: 14/07/2006
-- Version: 7.23
-- Gestione Impegni/Accertamenti Residui:
-- aggiornata la funzione per tener conto anche del campo Esercizio Originale Impegno/Accertamento
--
-- Date: 28/12/2010
-- Version: 7.24
-- Gestione Liquidazione gruppi F24EP dalla UO ENTE 999.000
--
--
-- Date: 24/11/2015
-- Version: 7.25
-- Gestione Liquidazione con tesoreria unica
--
-- Creazione Package.
--
--==============================================================================
--
-- Constants
--
type rec_ass_pgiro is record(
cd_cds varchar2(30),
cd_uo varchar2(30),
cd_cds_orig varchar2(30),
cd_uo_orig varchar2(30),
esercizio number(4),
es_compenso number(4),
pg_compenso number(10),
pg_liq number(8),
pg_liq_orig number(8),
cd_gr_cr varchar2(10),
cd_regione varchar2(10),
pg_comune number(10),
cd_cori varchar2(10),
ti_en_per varchar2(1),
ti_origine varchar2(1), --'E' o 'S'
es_acc number(4),
es_ori_acc number(4),
cds_acc varchar2(30),
pg_acc number(10),
uo_acc varchar2(30),
es_obb number(4),
es_ori_obb number(4),
cds_obb varchar2(30),
pg_obb number(10),
uo_obb varchar2(30),
cd_cds_acc_pgiro varchar2(30),
es_acc_pgiro number(4),
es_orig_acc_pgiro number(4),
pg_acc_pgiro number(10),
uo_acc_pgiro varchar2(30),
voce_acc_pgiro varchar2(20),
cd_cds_obb_pgiro varchar2(30),
es_obb_pgiro number(4),
es_orig_obb_pgiro number(4),
pg_obb_pgiro number(10),
ti_origine_pgiro varchar2(1), --'E' o 'S'
uo_obb_pgiro varchar2(30),
voce_obb_pgiro varchar2(20),
CD_CDS_ACC_PGIRO_OPP VARCHAR2(30),
ES_ACC_PGIRO_OPP number(4),
ES_ORIG_ACC_PGIRO_OPP number(4),
PG_ACC_PGIRO_OPP number(9),
CD_CDS_OBB_PGIRO_OPP VARCHAR2(30),
ES_OBB_PGIRO_OPP number(4),
ES_ORIG_OBB_PGIRO_OPP number(4),
PG_OBB_PGIRO_OPP number(9));
type tab_ass_pgiro is table of rec_ass_pgiro index by binary_integer;
tb_ass_pgiro tab_ass_pgiro;
--
-- Functions e Procedures
--
-- Calcolo della liquidazione
--
-- pre-post-name: Parametri non specificati correttamente
-- pre: alcuni parametri della liquidazione non sono stati specificati correttamente
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Calcolo della liquidazione effettuato dall'unità organizzativa di versamento per l'esercizio
-- pre: l'unità organizzativa che effettua il calcolo è UO di versamento per l'esercizio
-- post: genera la testata della liquidazione valorizzandola dai contributi ritenuta e la inserisce in LIQUID_CORI.
-- Estrae l'UO del SAC responsabile del versamento CORI accentrato. Per ogni unità organizzativa, che abbia generato
-- un mandato di pagamento al SAC, genera una riga di liquidazione in LIQUID_GRUPPO_CORI, per quei
-- contributi che siano stati inviati nell'ambito del periodo di validità del contributo stesso (Data di emissione/invio cassiere
-- del mandato di pagamento emesso dalle UO locali verso l'UO di versamento della SAC).
-- Lo stato dei dettagli propri e raccolti da altre UO è uguale a L (Liquidato)
-- Vedi pre-post 'Calcolo della liquidazione per tutte le unità organizzative non responsabili del versamento
-- accentrato per l'esercizio.'
--
-- pre-post-name: Calcolo della liquidazione per tutte le unità organizzative : gruppo CORI non trovato
-- pre: per il contributo ritenuta in esame non viene trovato il gruppo cui appartiene
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Calcolo della liquidazione "da esercizio precedente"
-- pre: l'utente selziona il tipo di liquidazione "da esercizio precedente"
-- post: in questo caso vengono estratti tutti i CORI relativi a compensi con mandato inviato o emesso nel periodo specificato
-- e nell'esercizio appena precedente a quello in processo.
--
-- pre-post-name: Calcolo della liquidazione per tutte le unità organizzative non responsabili del versamento
-- accentrato per l'esercizio
-- pre: non è soddisfatta nessuna pre-post precedente
-- post: per i contributi ritenuta che non siano già stati processati, estrae l'informazione di versamento accentrato
-- per il gruppo di appartenenza del contributo ritenuta, aggiorna il totale del contributo e definisce come accentrato
-- o meno il contributo ritenuta (se si tratta dell'unità organizzativa responsabile del versamento centralizzato, non
-- c'è accentramento; se si tratta di un'altra UO, l'accentramento è definito a seconda del gruppo di appartenenza del
-- contributo e dell'unità organizzativa per i comportamenti in deroga al gruppo in funzione della UO), genera la
-- testata di liquidazione in stato I (Iniziale) ed inserisce i dettagli in LIQUID_GRUPPO_CORI per ogni gruppo con stato
-- uguale a L per i gruppi a versamento diretto e T per quelli a versamento accentrato.
-- Per ogni gruppo di versamento inserisce in LIQUID_GRUPPO_CORI_DET il riferimento al contributo ritenuta dei compensi
--
-- relativi.
--
-- Parametri:
-- aCdCds -> CdS che effettua il calcolo della liquidazione
-- aEs -> esercizio di riferimento
-- daEsercizioPrec -> 'Y' -> compensi con mandato in esercizio precedente al corrente 'N' compensi con mandato nell'esercizio corrente
-- aCdUo -> unità organizzativa che effettua il calcolo della liquidazione
-- aPgLiq -> numero progressivo della liquidazione
-- aDtDa -> data di inizio validità
-- aDtA -> data fine validità
-- aUser -> utente che effettua la modifica
procedure calcolaLiquidazione(aCdCds varchar2, aEs number, daEsercizioPrec char, aCdUo varchar2, aPgLiq number, aDtDa date, aDtA date, aUser varchar2);
-- Liquidazione contributi ritenuta
--
-- La contabilizzazione dei CORI consiste nei seguenti passi:
-- 1. I CORI vengono aggregati per fl_accentrato
-- 2. I CORI accentrati vengono gestiti come segue:
-- 2.1. viene creato un documento generico di trasferimento per la chiusura della partita di giro aperta dal CORI
-- 2.2. viene generato un mandato verso il SAC su tale generico
-- 2.3 nell'UO della SAC che versa viene aggiornata una partita di giro complessiva definita per GRUPPO/REGION/COMUNE
-- che viene chiusa con il versamento della SAC centralizzato
-- 3. I CORI non accentrati vengono gestiti come segue:
-- 3.1. viene creato un documento generico di liquidazione CORI per la chiusura della partita di giro aperta dal CORI
-- 3.2. viene generato un mandato verso il terzo specificato in GRUPPO_CR
--
-- pre-post-name: Nessun gruppo contributo ritenuta specificato per la liquidazione
-- pre: nessun gruppo contributo ritenuta individuato per numero di chiamata
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Liquidazione CORI non trovata
-- pre: non trova le informazioni di testata relative alla liquidazione del contributo ritenuta
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Associazione tra obbligazioni ed accertamenti su partita di giro non trovata
-- pre: l'unità organizzativa che effettua la liquidazione non è responsabile del versamento centralizzato dei
-- contributi ritenuta, non trova l'associazione tra obbligazioni ed accertamenti su partita di giro parte spese
-- per il contributo ritenuta in ASS_OBB_ACR_PGIRO
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Esiste più di un conto finanziario associato a un gruppo CR via i suoi CORI
-- pre: Esistono almeno 2 voci del piano diverse associate a CORI raccolti nello stesso gruppo di versamento
-- post: viene sollevata un.eccezione
--
-- pre-post-name: Obbligazione di contropartita CORI non trovata in UO non responsabile versamento centralizzato
-- pre: l'unità organizzativa che effettua la liquidazione non è responsabile del versamento centralizzato dei
-- contributi ritenuta, non trova l'obbligazione collegata all'accertamento in partita di giro in OBBLIGAZIONE.
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Scadenza dell'obbligazione di contropartita CORI non trovata in UO non responsabile versamento centralizzato
-- pre: l'unità organizzativa che effettua la liquidazione non è responsabile del versamento centralizzato dei
-- contributi ritenuta, non trova la scadenza dell.obbligazione in OBBLIGAZIONE_SCADENZIARIO.
-- post: viene sollevata un.eccezione
--
-- pre-post-name: Accertamento in partita di giro per il CdS origine non trovata, per gruppi di contributi ritenuta
-- accentrati
-- pre: l'unità organizzativa che effettua la liquidazione non è responsabile del versamento centralizzato dei
-- contributi ritenuta, non trova l'annotazione di entrata su partita di giro origine per il contributo ritenuta
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Terzo corrispondente all'unità organizzativa non trovato in anagrafica, per gruppi di contributi
-- ritenuta accentrati
-- pre: l'unità organizzativa che effettua la liquidazione non è responsabile del versamento centralizzato dei
-- contributi ritenuta, non trova il terzo corrispondente all'unità organizzativa in anagrafica
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Liquidazione dei contributi ritenuta da parte di unità organizzativa non responsabile del versamento
-- centralizzato per l'esercizio
-- pre: l'unità organizzativa che effettua la liquidazione non è responsabile del versamento centralizzato dei
-- contributi ritenuta
-- post: per ogni gruppo contributo ritenuta (comprensivo di regione comune), di cui si vuole effettuare la liquidazione, selezionato dall'applicazione,
-- genera la testata di un mandato principale di versamento dei contributi ritenuta valorizzato dai parametri della
-- liquidazione. Per ogni contributo ritenuta appartenente al gruppo in esame, in ASS_OBB_ACR_PGIRO individua
-- associazione fra obbligazione ed accertamento su partita di giro parte spese per il contributo ritenuta generata
-- dalla liquidazione del compenso, individua l'obbligazione collegata in OBBLIGAZIONE e le relative scadenze in OBBLIGAZIONE_SCADENZIARIO.
-- Se la liquidazione del gruppo contributo ritenuta in esame è effettuato direttamente dall'unità organizzativa:
-- crea un documento generico di spesa su partita di giro collegato all'annotazione di speda su partita di giro aperta dalla liquidazione
-- compenso (le righe del generico sono valorizzate anche in funzione dell'anagrafica del terzo), genera i
-- dettagli del mandato di pagamento associato al documento generico.
-- Se la liquidazione del gruppo contributo ritenuta in esame è accentrata ad un'altra unità organizzativa responsabile
-- del versamento: verifica l'esistenza di un'obbligazione su partita di giro definita nell'UO di versamento.
-- Il riferimento a tale obbligazione è registrato nella tabella LIQUID_GRUPPO_CENTRO definita per GRUPPO/REGIONE/COMUNE è con stato = I (Iniziale)
-- Se tale riferimento non viene trovato, crea un accertamento su UO di versamento centralizzato in partita di giro
-- utilizzando il capitolo (che deve essere unico) per il gruppo cori in processo.
-- Viene creato un nuovo riferimento (nuovo PG_GRUPPO_CENTRO) in LIQUID_GRUPPO_CENTRO all'obbligazione di contropartita creato in stato=I (Iniziale)
-- Viene creato un documento generico di entrata collegata all'accertamento e una reversale provvisoria collegata all'accertamento stesso.
-- L'indicazione della contropartita di spesa (obbligazione) creata sull'unità organizzativa che accentra i versamenti viene iscritta in LIQUIDAZIONE_GRUPPO_CORI
-- per recuperare tale informazione in fase di liquidazione al centro.
-- Se tale riferimento viene trovato, viene recuperata la pratica ACCERTAMENTO/GENERICO/REVERSALE PROVVISORIA e questa
-- viene aggiornata in delta dell'importo del gruppo di liquidazione locale in processo.
-- Viene quindi creato un documento generico di trasferimento spese collegato all'annotazione di spesa su partita di giro aperta
-- con la liquidazione del compenso (le righe del generico sono valorizzate anche in funzione dell'anagrafica del terzo), genera i
-- dettagli del mandato di pagamento associato al documento generico.
-- Aggiorna lo stato della testata della liquidazione da I (iniziale) a:
-- se esistono gruppi accentrati nella liquidazione, lo stato diventa T (trasferito)
-- altrimenti L (liquidato).
--
-- pre-post-name: Liquidazione contributi ritenuta di origine non trovata
-- pre: l'unità organizzativa che effettua la liquidazione è responsabile del versamento centralizzato dei contributi
-- ritenuta, non trova la liquidazione dei contributi ritenuta di origine in LIQUID_CORI
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Gruppo contributi ritenuta di origine non trovato
-- pre: l'unità organizzativa che effettua la liquidazione è responsabile del versamento centralizzato dei contributi
-- ritenuta, non trova il gruppo contributi ritenuta di origine in LIQUID_GRUPPO_CORI
-- post: viene sollevata un.eccezione
--
-- pre-post-name: Obbligazione non trovata per versamento accentrato
-- pre: l'unità organizzativa che effettua la liquidazione è responsabile del versamento centralizzato dei contributi
-- ritenuta, non trova l'obbligazione, dell'annotazione aperta su partita di giro per il versamento accentrato in
-- OBBLIGAZIONE
-- post: viene sollevata un.eccezione
--
-- pre-post-name: Scadenza dell'obbligazione non trovata per il versamento accentrato
-- pre: l'unità organizzativa che effettua la liquidazione è responsabile del versamento centralizzato dei contributi
-- ritenuta, non trova la scadenza dell'obbligazione in OBBLIGAZIONE_SCADENZIARIO
-- post: viene sollevata un.eccezione
--
-- pre-post-name: Liquidazione contributi ritenuta da parte dell'unità organizzativa di versamento per l'esercizio
-- pre: l'unità organizzativa che effettua la liquidazione è responsabile del versamento centralizzato dei contributi
-- ritenuta
-- post: per ogni gruppo contributo ritenuta, di cui si vuole effettuare la liquidazione, selezionato dall'applicazione,
-- genera la testata di un mandato principale di versamento dei contributi ritenuta valorizzato dai parametri della
-- liquidazione.
-- Gestione del versamento dei contributi ritenuta accentrati da altre unità organizzative: individua la liquidazione
-- di origine in LIQUID_CORI, individua il gruppo di contributi ritenuta di origine in LIQUID_GRUPPO_CORI, individua
-- l'obbligazione emessa da altra unità organizzativa (annotazione su partita di giro aperta per versamento accentrato)
-- in OBBLIGAZIONE, individua la scadenza in OBBLIGAZIONE_SCADENZIARIO, crea un documento generico di versamento dei
-- contributi ritenuta su partita di giro collegato all'annotazione di spesa su partita di giro aperta dalle UO di
-- versamento locali sui gruppi accentrati, genera i dettagli del mandato di pagamento associato al documento generico.
-- Nella tabella LIQUID_GRUPPO_CENTRO viene aggiornato lo stato relativo al gruppo accentrato da I (Iniziale) a C (Chiuso)
-- Vengono cercati nelle liquidazioni locali tutti i dettagli di gruppo che referenziano il pg_gruppo_centro in LIQUID_GRUPPO_CENTRO
-- ed il loro stato viene portato a L (liquidato) da T (trasferito). Se tutti i dettagli di gruppo della liquidazione sono
-- in stato L (liquidato ) anche la testata (LIQUID_CORI) passa in stato L.
-- Gestione del versamento dei propri contributi ritenuta: per ogni contributo ritenuta appartenente al gruppo in
-- esame, in ASS_OBB_ACR_PGIRO individua l'annotazione su partita di giro parte spese per il contributo ritenuta,
-- individua l'obbligazione collegata in OBBLIGAZIONE e le relative scadenze in OBBLIGAZIONE_SCADENZIARIO, crea un
-- documento generico di spesa su partita di giro collegato all'annotazione di spesa su partita di giro aperta dalla
-- liquidazione del compenso (le righe del generico sono valorizzate anche in funzione dell'anagrafica del terzo), genera
-- i dettagli del mandato di pagamento associato al documento generico.
--
-- pre-post-name: Liquidazione di gruppi CORI locali "da esercizio precedente" con saldo negativo
-- pre: l'utente decide di liquidare gruppi CORI locali targati "da esercizio precedente" con saldo negativo
-- post: in questo caso localmente viene creata una partita di giro da Obbligazione per compensazione della
-- quota negativa (saldo negativo) CORI su gruppo locale per quell'UO. Su tale obbligazione viene creato un
-- doc. generico di VERS. SPESA e riga di mandato che chiude a 0 il netto con la reversale di chiusura dei CORI locali negativi.
-- In questo modo l'UO locale resta in attesa della restituzione delle quote a credito dal centro.
-- Centralmente viene creata una partita di giro di restituzione all'UO (terzo Obbligazione = terzo UO) che viene registrata nella tabella
-- LIQUID_GRUPPO_CENTRO_COMP sotto forma di accertamento di contropartita dell'obbligazione.
--
-- pre-post-name: Liquidazione di gruppi CORI centrale con presenza di saldi locali a credito
-- pre: l'utente del centro decide di liquidare gruppi CORI al centro ('999')
-- per tali gruppi sono presenti in LIQUID_GRUPPO_CENTRO_COMP dei crediti locali da restituire alle rispettive UO
-- post: per ogni credito locale di UO viene generato un generico di versamento e relativo mandato di restituzione
-- all'UO origine, mentre la contropartita di entrata viene chiusa con un generico di VERSAMENTO di ENTRATA e reversale
-- che contiene l'intero credito locale delle UO sul gruppo CORI in processo.
-- Se l'importo del mandato di liquidazione all'erario è superiore o uguale all'importo della reversale
-- dei CREDITI locali, tale reversale viene collegata al mandato in modo da pagare per il netto l'erario.
-- Altrimenti viene creato un mandato di versamento all'erario ed una reversale libera per la parte a credito.
-- Tale reversale viene registrata nella riga LIQUID_GRUPPO_CORI '999' in processo nei campi xxx_rev.
--
-- Parametri:
--
-- pgCall -> numero progressivo della chiamata alla stored procedure
procedure vsx_liquida_cori(
pgCall NUMBER
);
-- Annulla una liquidazione CORI come effetto collaterale dell'annullamento del mandato relativo
--
-- pre-post-name: Non è possibile annullare il versamento accentrato nel caso un gruppo locale faccia parte del MANDATO
-- pre: Il mandato collegato a aLGC è quello di versamento accentrato ed esiste un GRUPPO LOCALE presente in quel mandato
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Non è possibile annullare il trasferimento al centro se la liquidazione al centro è gia stata effettuata
-- pre: Il mandato collegato a aLGC è quello di trasferimento a CORI e la liquidazione è in stato L (Liquidata)
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Non è possibile modificare la partita di giro aperta sul centro per il versamento accentrato
-- pre: Il gruppo CORI è accentrato e l'obbligazione creato al centro collegata all'accertamento generato per trasferimento
-- liquidazione risulta chiusa da liquidazione centralizzata (stato C chiuso in LIQUID_GRUPPO_CENTRO che referenzia l'obbligazione)
-- post: viene sollevata un'eccezione
--
-- pre-post-name: Annullamento liquidazione gruppo cori
-- pre: Nessuna delle precondizioni precedenti è verificata
-- post:
-- Vengono eliminati tutti i dettagli di aLOGC da liquidazione gruppo cori dettaglio
-- Viene modificato in diminuzione della quota di aLOGC la pratica su partita di giro creato sull'UO di versamento accentrato
-- Viene eliminato aLOGC da liquidazione gruppo cori
--
-- Parametri:
-- aLGCori -> Rowtype del gruppo cori collegato a mandato annullato
procedure annullaLiquidazione(aLGCori liquid_gruppo_cori%rowtype, aUser varchar2);
function IsCdsInterfDet (aCdCds varchar2, aEs number) return boolean;
function IsCdsInterfTot (aCdCds varchar2, aEs number) return boolean;
procedure calcolaLiquidInterf (aCdCds varchar2, aEs number, daEsercizioPrec char, aCdUo varchar2, aPgLiq number, aDtDa date, aDtA date, aUser varchar2);
procedure calcolaLiquidInterfTot (aCdCds varchar2, aEs number, daEsercizioPrec char, aCdUo varchar2, aPgLiq number, aDtDa date, aDtA date, aUser varchar2);
-- Funzione di creazione del riferimento in LIQUID_GRUPPO_CENTRO all'accertamento su pgiro aperto dalle liquidazioni di gruppi locali accentrati
function creaGruppoCentro(aL liquid_cori%rowtype, aAggregato liquid_gruppo_cori%rowtype,aTSNow date, aUser varchar2) return liquid_gruppo_centro%rowtype;
-- Ritorna il record di LIQUID_GRUPPO_CENTRO corrispondente all'aggregato aAggregato (colonna pg_gruppo_centro in LIQUID_GRUPPO_CORI)
function getGruppoCentro(aL liquid_cori%rowtype, aAggregato liquid_gruppo_cori%rowtype) return liquid_gruppo_centro%rowtype;
-- Ritorna il record di LIQUID_GRUPPO_CENTRO aperto in corrispondenza del gruppo di aAggregato.
function getGruppoCentroAperto(aL liquid_cori%rowtype, aAggregato liquid_gruppo_cori%rowtype) return liquid_gruppo_centro%rowtype;
-- Crea/Aggiorna la pratica finanziaria al centro per liquidazione di gruppi accentrati
-- Registra in LIQUID_GRUPPO_CENTRO l'obbligazione di controparte generata al centro
-- Crea/Modifica generico e reversale provvisoria
procedure aggiornaPraticaGruppoCentro(aL liquid_cori%rowtype, aAggregato liquid_gruppo_cori%rowtype,aUOVERSACC unita_organizzativa%rowtype,aTSNow date,aUser varchar2, tb_ass_pgiro IN OUT tab_ass_pgiro);
function IsGruppoF24EP (aEs number, aGruppo varchar2) return boolean;
function GruppoF24EP (aEs number, aGruppo varchar2) return varchar2;
function GruppoValido (aEs number, ESERCIZIO_UO_SPECIALI number, aGruppo varchar2, aCdUo varchar2) return varchar2;
Procedure CREALIQUIDCORIASSPGIRO(aLiquid liquid_cori%rowtype,aGruppo varchar2, aRegione varchar2, aComune number,aTipo varchar2,aObbNew obbligazione%rowtype,aObbOld obbligazione%rowtype,aAccNew accertamento%rowtype,aAccOld accertamento%rowtype,aUser varchar2,aTSNow date);
Procedure CREA_ASS_PGIRO_GR_C(tb_ass_pgiro tab_ass_pgiro, aUser varchar2, aTSNow date);
END;
© 2015 - 2024 Weber Informatics LLC | Privacy Policy