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

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

There is a newer version: 6.6.11
Show newest version
CREATE OR REPLACE FUNCTION getCurrentCdElementoVoce
    (esercizioOut ELEMENTO_VOCE.ESERCIZIO%TYPE,
     esercizioIn ELEMENTO_VOCE.ESERCIZIO%TYPE,        
     ti_gestione ELEMENTO_VOCE.TI_GESTIONE%TYPE,
     cd_elemento_voce ELEMENTO_VOCE.CD_ELEMENTO_VOCE%TYPE) 
    RETURN ELEMENTO_VOCE.CD_ELEMENTO_VOCE%TYPE IS
  currentEsercizio ELEMENTO_VOCE.ESERCIZIO%TYPE;
  currentCdVoce    ELEMENTO_VOCE.CD_ELEMENTO_VOCE%TYPE; 
Begin
  If (esercizioIn is null or esercizioOut is null or esercizioIn = esercizioOut) Then
     currentCdVoce := cd_elemento_voce;
  Elsif esercizioOut < esercizioIn Then
     currentEsercizio := esercizioIn;
     currentCdVoce := cd_elemento_voce;

     While currentEsercizio >= esercizioOut Loop
        Begin
          select a.cd_elemento_voce_old
          into currentCdVoce
          from ass_evold_evnew a
          where a.esercizio_new = currentEsercizio
          and   a.ti_gestione_new = ti_gestione
          and   a.cd_elemento_voce_new = currentCdVoce
          and   rownum < 2;
        Exception
          When no_data_found then
             null;  
        End;
        currentEsercizio := currentEsercizio - 1;
     End Loop;
  Else --esercizioIn < esercizioOut Then
     currentEsercizio := esercizioIn;
     currentCdVoce := cd_elemento_voce;

     While currentEsercizio <= esercizioOut Loop
        Begin
          select a.cd_elemento_voce_new
          into currentCdVoce
          from ass_evold_evnew a
          where a.esercizio_old = currentEsercizio
          and   a.ti_gestione_old = ti_gestione
          and   a.cd_elemento_voce_old = currentCdVoce
          and   rownum < 2;
        Exception
          When no_data_found then
             null;  
        End;
        currentEsercizio := currentEsercizio + 1;
     End Loop;
  End If;
  return currentCdVoce;
End;
/






© 2015 - 2024 Weber Informatics LLC | Privacy Policy