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

expsigladb.Package.CNRCTB020.sql Maven / Gradle / Ivy

There is a newer version: 6.6.11
Show newest version
create or replace package CNRCTB020 as
--
-- CNRCTB020 - Package di gestione struttura organizzativa (UNITA_ORGANIZZATIVA/CDR)
-- Date: 14/09/2005
-- Version: 2.10
--
--
-- Dependency: CNRCTB 015 IBMERR 001
--
-- History:
--
-- Date: 02/10/2001
-- Version: 1.0
-- Creazione
--
-- Date: 02/10/2001
-- Version: 1.1
-- Aggiunti metodi per recuperare UO e CDS Presidenti dell'area
-- Aggiunte nuove implementazioni degli estrattori del presidente dell'area
--
-- Date: 08/10/2001
-- Version: 1.2
-- Aggiunzione del metodo per il recupero dell'UOCDS a partire dal CDR
--
-- Date: 16/10/2001
-- Version: 1.3
-- Aggiunta la gestione del tipo unita ENTE in UNITA_ORGANIZZATIVA
--
-- Date: 18/10/2001
-- Version: 1.4
-- Estrazione dell'UO che gestisce le spese del personale
-- Estrazione CDR responsabile UO
-- Estrazione UO di afferenza del CDR
--
-- Date: 02/11/2001
-- Version: 1.5
-- Identificazione dell'ente a partire dal codice del CDR senza rilettura della tabella UNITA_ORGANIZZATIVA
--
-- Date: 08/11/2001
-- Version: 1.6
-- Eliminazione dell'esercizio dalla struttura organizzativa
--
-- Date: 14/11/2001
-- Version: 1.7
-- Fix errore
--
-- Date: 16/11/2001
-- Version: 1.8
-- Enforce error handling
--
-- Date: 23/11/2001
-- Version: 1.9
-- Aggiunto metodo di estrazione del CDR ENTE
--
-- Date: 29/11/2001
-- Version: 2.0
-- Fix errore mancanza esercizio fine in insert STO
--
-- Date: 03/12/2001
-- Version: 2.1
-- Aggiunto il metodo di estrazione del CDR del personale
--
-- Date: 10/01/2002
-- Version: 2.2
-- Aggiunta l'estrazione del CDS valido a partire dal codice
--
-- Date: 03/06/2002
-- Version: 2.3
-- Aggiunto metodo di estrazione dell'UO CDS dato il CDS
--
-- Date: 20/06/2002
-- Version: 2.4
-- Aggiornamento della tabella UO per introduzione AREA scientifica
--
-- Date: 24/06/2002
-- Version: 2.5
-- Estrazione dell'UO ente
--
-- Date: 03/07/2002
-- Version: 2.6
-- Aggiunta estrattore UO SAC di versamento dell'IVA
--
-- Date: 18/07/2002
-- Version: 2.7
-- Aggiornamento documentazione
--
-- Date: 09/11/2004
-- Version: 2.8
-- Aggiunta nuova routine per getCDRResponsabileUO
--
-- Date: 15/04/2005
-- Version: 2.9
-- Aggiunta nuova routine per getUOVersCoriTuttaSAC
--
-- Date: 14/09/2005
-- Version: 2.10
-- Modificate le procedure getUOPresidenteArea e getCDSPresidenteArea
-- per gestire l'associazione multipla di Aree a UO
--
-- Date: 23/11/2010
-- Version: 2.11
-- Aggiunta nuova routine getUOVersCoriContoBI per estrarre l'UO responsabile del versamento CORI su CONTO BANCA D'ITALIA

-- Constants:

-- Tipologie di unita organizzative
--
-- Struttura amministrativa centrale
TIPO_SAC CONSTANT VARCHAR2(10) := 'SAC';
-- Istituto
TIPO_IST CONSTANT VARCHAR2(10) := 'IST';
-- Programma Nazionale/Internazionale di Ricerca
TIPO_PNIR CONSTANT VARCHAR2(10) := 'PNIR';
-- Area di ricerca
TIPO_AREA CONSTANT VARCHAR2(10) := 'AREA';
-- Ente CNR
TIPO_ENTE CONSTANT VARCHAR2(10) := 'ENTE';

-- Functions e Procedures:

-- Estrae il CDS ENTE valida in esercizio aEs

 function getCDCDSENTE(aEs number) return unita_organizzativa.CD_unita_organizzativa%Type;

-- Estrae l'UO ENTE valida in esercizio aEs

 function getUOENTE(aEs number) return unita_organizzativa%rowtype;

-- Estrae il CDS valido in aEs con codice aCdCds

 function getCDSValido(aEs number, aCdCds varchar2) return unita_organizzativa%rowtype;

-- Estrae il CDS del SAC valido in aEs

 function getCDSSACValido(aEs number) return unita_organizzativa%rowtype;

-- idem ma solo il codice

 function getcdCDSSACValido(aEs number) return VARCHAR2;

-- Estrae l'UO valida in aEs

 function getUOValida(aEs number,aCdUO varchar2) return unita_organizzativa%rowtype;

-- Estrae il CDR valido in aEs

 function getCDRValido(aEs number,aCdCDR varchar2) return cdr%rowtype;

-- Estrae il CDR di primo livello corrispondente al CDR aCDR

 function getCDRPrimoLivello(aCDR cdr%rowtype) return cdr%rowtype;

-- Estrae il CDR ENTE

 function getCDREnte return cdr%rowtype;

-- Estrae il CDR AREA collegato al CDR aCDR
-- Se l'area non viene trovata viene ritornato cdr%rowtype con codice cdr null

 function getCDRArea(aCDR cdr%rowtype) return cdr%rowtype;

-- Estrae il CDS presidente (via sua UO) dell'area  aCDRArea (o del cds area aCDSArea) per l'esercizio aEs
-- Se non viene trovato viene ritornato unita_organizzativa con codice cds null

 function getUOPresidenteArea(aEs NUMBER, aCDRArea cdr%rowtype) return unita_organizzativa%rowtype;
 function getUOPresidenteArea(aEs NUMBER, aCDSArea unita_organizzativa%rowtype) return unita_organizzativa%rowtype;

-- Estrae l'UO presidente dell'area  aCDRArea (o del cds area aCDSArea) per l'esercizio aEs
-- Se non viene trovato viene ritornato unita_organizzativa con codice uo null

 function getCDSPresidenteArea(aEs NUMBER, aCDRArea cdr%rowtype) return unita_organizzativa%rowtype;
 function getCDSPresidenteArea(aEs NUMBER, aCDSArea unita_organizzativa%rowtype) return unita_organizzativa%rowtype;

-- Dato il cdr, ritorna l'UO CDS di appartenenza

 function getUOCDS(aCDR cdr%rowtype) return unita_organizzativa%rowtype;

-- Dato il cdr, ritorna la UO appartenenza

 function getUO(aCDR cdr%rowtype) return unita_organizzativa%rowtype;

-- Dato il codice cdr, ritorna il CODICE UO appartenenza

 function getCDUO(aCDR cdr.cd_unita_organizzativa%Type) return VARCHAR2;

-- Dato il codice unita_organizzativa, ritorna la descrizione
 Function getdesUO(aCDUO unita_organizzativa.cd_unita_organizzativa%Type) return VARCHAR2;


-- Dato esercizio e codice del cds ritorna l'UO CDS del CDS

 function getUOCDS(aEs number, aCdCds varchar2) return unita_organizzativa%rowtype;


-- Funzione che ritorna TRUE se il CDR appartiene ad UO di tipo ENTE
-- Non rilegge la tabella UNITA_ORGANIZZATIVA ma utilizza la def. del codice dell'ente 9...9
-- dove la lunghezza della stringa dipende dalla tabella lunghezza chiavi

 function isCDRENTE(aCDR cdr%rowtype) return boolean;

-- Estrae l'UO del personale leggendola da configurazione CNR

 function getUOPersonale(aEs number) return unita_organizzativa%rowtype;

-- Estrae il CDR del personale leggendolo da configurazione CNR

 function getCDRPersonale(aEs number) return cdr%rowtype;

-- Estrae il cdr responsabile dell'UO

 function getCDRResponsabileUO(aUO unita_organizzativa%rowtype) return cdr%rowtype;
 function getCDRResponsabileUO(aCdUO VARCHAR2) return cdr%rowtype;

-- Estrae l'UO di afferenza del CDR aCDR

 function getUOAfferenza(aCDR cdr%rowtype) return unita_organizzativa%rowtype;

-- Estrae l'UO del SAC responsabile del versamento CORI accentrato

 function getUOVersCori(aEs number) return unita_organizzativa%rowtype;

-- Estrae l'UO del SAC responsabile del versamento CORI unificato per tutte le UO della SAC

 function getUOVersCoriTuttaSAC(aEs number) return unita_organizzativa%rowtype;

-- Estrae l'UO responsabile del versamento CORI su CONTO BANCA D'ITALIA

 function getUOVersCoriContoBI(aEs number) return unita_organizzativa%rowtype;

-- Estrae l'UO del SAC responsabile del versamento IVA

 function getUOVersIVA(aEs number) return unita_organizzativa%rowtype;

-- ESTRAE LA DESCRIZIONE DEL LIVELLO DA CLASSIFICAZIONE_VOCI
Function getdeslivello(aEs NUMBER, ati_gestione VARCHAR, aliv1 VARCHAR2, aliv2 VARCHAR2, aliv3 VARCHAR2,
                                                 aliv4 VARCHAR2, aliv5 VARCHAR2, aliv6 VARCHAR2,
                                                 aliv7 VARCHAR2) return VARCHAR2;

-- estrae la descrizione del dipartimento
Function GETDESDIPARTIMENTO (aCd_dip VARCHAR2) return VARCHAR2;

-- Procedura di inserimento di unita organizzativa/CDS

 procedure ins_UNITA_ORGANIZZATIVA (aDest UNITA_ORGANIZZATIVA%rowtype);

-- Procedura di inserimento di CDR

 procedure ins_CDR (aDest CDR%rowtype);
 gCDSSACValido unita_organizzativa%Rowtype;
 gEsercizioCDSSACValido Number(4);

 gCDCDSSACValido unita_organizzativa.cd_unita_organizzativa%type;
 gEsercizioCDCDSSACValido Number(4);

 function isUOSAC(aUO varchar2) return boolean;

 function getCdCdrEnte return cdr.cd_centro_responsabilita%type;

 function getCdCDRPersonale(aEs number) return cdr.cd_centro_responsabilita%type;
 function getCdUOVersCori(aEs number) return unita_organizzativa.cd_unita_organizzativa%Type;
 function getCdUOVersCoriTuttaSAC(aEs number) return unita_organizzativa.cd_unita_organizzativa%Type;
 function getCdUOVersCoriContoBI(aEs number) return unita_organizzativa.cd_unita_organizzativa%Type;
 function getCdUOVersIVA(aEs number) return unita_organizzativa.cd_unita_organizzativa%Type;
end;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy