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

expsigladb.Trigger.au_documento_generico.trg Maven / Gradle / Ivy

There is a newer version: 6.6.11
Show newest version
CREATE OR REPLACE TRIGGER AU_DOCUMENTO_GENERICO
  AFTER UPDATE Of STATO_COFI,
                  STATO_COGE
  On DOCUMENTO_GENERICO
  For EACH ROW

--
-- Trigger attivato su DOCUMENTO_GENERICO che trasferisce al figlio DOCUMENTO_GENERICO_RIGA il nuovo STATO_COGE della testata
-- ma solo per le righe non ANNULLATE in finanziaria, che vengono contabilizzate separatamente
--
-- Date: 07/05/2007
-- Version: 1.0
--
-- Body
--
Declare
  CONTA_RIGHE_ANN    NUMBER;

Begin

-- non si pu? annullare la testata di un generico se su di esso ? stata gi? annullata una riga (da scadenza)

If :OLD.STATO_COFI != CNRCTB100.STATO_GEN_COFI_ANN And :New.STATO_COFI = CNRCTB100.STATO_GEN_COFI_ANN And
   :New.CD_TIPO_DOCUMENTO_AMM = 'GENERICO_E' Then

  Select  Count(*)
  Into    CONTA_RIGHE_ANN
  From    DOCUMENTO_GENERICO_RIGA dgr,
          ACCERTAMENTO_SCADENZARIO acs,
          ACCERTAMENTO_MODIFICA acm
  Where   dgr.CD_CDS                 = :New.CD_CDS                 And
          dgr.CD_UNITA_ORGANIZZATIVA = :New.CD_UNITA_ORGANIZZATIVA And
          dgr.ESERCIZIO              = :New.ESERCIZIO              And
          dgr.CD_TIPO_DOCUMENTO_AMM  = :New.CD_TIPO_DOCUMENTO_AMM  And
          dgr.PG_DOCUMENTO_GENERICO  = :New.PG_DOCUMENTO_GENERICO  And
          dgr.STATO_COFI             = CNRCTB100.STATO_GEN_COFI_ANN And
          dgr.CD_CDS_ACCERTAMENTO    = acs.CD_CDS                 And
          dgr.ESERCIZIO_ACCERTAMENTO = acs.ESERCIZIO              And
          dgr.ESERCIZIO_ORI_ACCERTAMENTO = acs.ESERCIZIO_ORIGINALE And
          dgr.PG_ACCERTAMENTO        = acs.PG_ACCERTAMENTO         And
          dgr.PG_ACCERTAMENTO_SCADENZARIO = acs.PG_ACCERTAMENTO_SCADENZARIO And
          acs.CD_CDS                 = acm.CD_CDS                 And
          acs.ESERCIZIO              = acm.ESERCIZIO              And
          acs.ESERCIZIO_ORIGINALE    = acm.ESERCIZIO_ORIGINALE And
          acs.PG_ACCERTAMENTO        = acm.PG_ACCERTAMENTO         And
          acs.IM_SCADENZA=0;

  If CONTA_RIGHE_ANN > 0 Then
      Ibmerr001.RAISE_ERR_GENERICO('Impossibile annullare interamente il documento, esistono dei dettagli annullati ('||
      :New.CD_CDS||'/'||:New.CD_UNITA_ORGANIZZATIVA||'/'||:New.ESERCIZIO||'/'||:New.CD_TIPO_DOCUMENTO_AMM||'/'||
      :New.PG_DOCUMENTO_GENERICO||'.');
  End If;

End If;

Update DOCUMENTO_GENERICO_RIGA
Set    STATO_COGE = :NEW.STATO_COGE--, PG_VER_REC = PG_VER_REC + 1
Where  CD_CDS                 = :New.CD_CDS                 And
       CD_UNITA_ORGANIZZATIVA = :New.CD_UNITA_ORGANIZZATIVA And
       ESERCIZIO              = :New.ESERCIZIO              And
       CD_TIPO_DOCUMENTO_AMM  = :New.CD_TIPO_DOCUMENTO_AMM  And
       PG_DOCUMENTO_GENERICO  = :New.PG_DOCUMENTO_GENERICO  And
       STATO_COFI            != CNRCTB100.STATO_GEN_COFI_ANN;

End;
/






© 2015 - 2024 Weber Informatics LLC | Privacy Policy