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

expsigladb.Function.getcdregioneliquidcori.fnc Maven / Gradle / Ivy

There is a newer version: 6.6.11
Show newest version
CREATE OR REPLACE FUNCTION getCdRegioneLiquidCori
--==================================================================================================
--
-- Date: 02/02/2004
-- Version: 1.2
--
-- Se aFlCompensoStip = 'Y' allora
--  Cerca in tabella STIPENDI_COFI_CORI_REG il pg della regione da utilizare per cercare il corretto gruppo CORI
--  entrando in tabella con aEs,aCdCori e aTiEntePercipiente. Ritorna la regione trovata li
-- Se non trova la regione per il CORI specificato o se aFlCompensoStip='N'
--  Se aCdClassCori = 'R0' o 'R9' (addebito rate add. reg.)
--   Ritorna aCdRegioneAdd se esiste entry secca in gruppo_cr_det
--  Altrimenti ritorna '*'
--  Se aCdClassCori = 'IP'
--   Ritorna aCdRegioneIrap se esiste entry secca in gruppo_cr_det
--  Altrimenti ritorna '*'
-- Altrimenti ritorna '*'
--
-- History:
--
-- Date: 30/01/2003
-- Version: 1.0
-- Creazione function
--
-- Date: 10/02/2003
-- Version: 1.1
-- Fix estrazione regione
--
-- Date: 02/02/2004
-- Version: 1.2
-- Gestione classificazione R9 per addebito rate addizionale regionale
--
-- Body:
--
--==================================================================================================
(
	aFlCompensoStip char,
    aCdCori varchar2,
	aTiEntePercipiente char,
    aCdClassCori char,
    aEs number,
	aCdGruppoCori varchar2,
	aCdRegioneAdd varchar2,
	aCdRegioneIrap varchar2
) RETURN varchar2 IS
 aNum number;
 aReg varchar2(10);
 aStipCori stipendi_cofi_cori_reg%rowtype;
BEGIN
 if aFlCompensoStip = 'Y' then
  begin
   select cd_regione into aReg from stipendi_cofi_cori_reg where
        esercizio = aEs
	and cd_contributo_ritenuta = aCdCori
	and ti_ente_percipiente = aTiEntePercipiente;
   return aReg;
  exception when NO_DATA_FOUND then
   null;
  end;
 end if;
 if aCdClassCori = 'R0' or aCdClassCori = 'R9' then
  begin
   select 1 into aNum from gruppo_cr_det where
        esercizio = aEs
    and cd_gruppo_cr = aCdGruppoCori
    and cd_regione = aCdRegioneAdd
    and pg_comune =0;
   return aCdRegioneAdd;
  exception when NO_DATA_FOUND then
   return '*';
  end;
 elsif aCdClassCori = 'IP' then
  begin
   select 1 into aNum from gruppo_cr_det where
        esercizio = aEs
    and cd_gruppo_cr = aCdGruppoCori
    and cd_regione = aCdRegioneIrap
    and pg_comune =0;
   return aCdRegioneIrap;
  exception when NO_DATA_FOUND then
   return '*';
  end;
 else
  return '*';
 end if;
END;
/






© 2015 - 2024 Weber Informatics LLC | Privacy Policy