Ir para conteúdo

ViniciusDias

Members
  • Total de itens

    12
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre ViniciusDias

  1. ViniciusDias

    Ajuda com cursor oracle

    esse erro só acontece após tirar o parâmetro da declaração do Cursor.
  2. ViniciusDias

    Ajuda com cursor oracle

    Não tem nada de diferente e o campo existe. A quantidade de campos do insert e value também estão corretos.
  3. ViniciusDias

    Ajuda com cursor oracle

    Deu outro erro. Att,
  4. ViniciusDias

    Ajuda com cursor oracle

    Boa Tarde. Segue erro em anexo.
  5. ViniciusDias

    Ajuda com cursor oracle

    Ainda não funcionou. este era o código original, porem este também só inclui para as filiais da empresa 1. Não inclui para as demais. /* ERP - REPLICAR DEFINICÕES DE FORNECEDORES ENTRE EMPRESAS/FILIAIS */ CREATE OR REPLACE TRIGGER TGS_E095HFO_AIU AFTER INSERT ON E095HFO FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; nCodEmp E070Emp.CodEmp%Type; nCodFil E070Fil.CodFil%Type; Cursor Cur_E070Emp is Select CodEmp From E070Emp Where CodEmp not in (99); Cursor Cur_E070Fil(nEmpCod E070Emp.CodEmp%TYPE) is Select CodEmp, CodFil From E070Fil Where CodEmp = nEmpCod And CodFil <> 1 Order By CodEmp, CodFil; BEGIN If (:New.CodEmp in (1, 2, 3, 4, 5, 6, 7, 8, 9) And :New.CodFil = 1) And (:New.CodCpg <> 'AV') then For Reg_E070Fil in Cur_E070Fil(:New.CodEmp) Loop nCodFil := Reg_E070Fil.CodFil; If Updating or Inserting Then BEGIN Update E095HFO Set PRZENT = :New.PRZENT, CPRCQL = :New.CPRCQL, CPRCPE = :New.CPRCPE, CPRCAT = :New.CPRCAT, CODTPR = :New.CODTPR, CODCPG = :New.CODCPG, CODFPG = :New.CODFPG, QTDDCV = :New.QTDDCV, CRIEDV = :New.CRIEDV, CODTRA = :New.CODTRA, CODPOR = :New.CODPOR, CODCRT = :New.CODCRT, CODBAN = :New.CODBAN, CODAGE = :New.CODAGE, CCBFOR = :New.CCBFOR, CODCRP = :New.CODCRP, PAGJMM = :New.PAGJMM, PAGTIR = :New.PAGTIR, PAGDTJ = :New.PAGDTJ, PAGMUL = :New.PAGMUL, PAGDTM = :New.PAGDTM, PERDSC = :New.PERDSC, TOLDSC = :New.TOLDSC, ANTDSC = :New.ANTDSC, PERDS1 = :New.PERDS1, PERDS2 = :New.PERDS2, PERDS3 = :New.PERDS3, PERDS4 = :New.PERDS4, PERDS5 = :New.PERDS5, PERFUN = :New.PERFUN, PERINS = :New.PERINS, INDIND = :New.INDIND, CRIRAT = :New.CRIRAT, CTARED = :New.CTARED, CTARCR = :New.CTARCR, CTAFDV = :New.CTAFDV, CTAFCR = :New.CTAFCR, CONEST = :New.CONEST, PERFRE = :New.PERFRE, PERSEG = :New.PERSEG, PEREMB = :New.PEREMB, PERENC = :New.PERENC, PEROUT = :New.PEROUT, PERISS = :New.PERISS, PERIRF = :New.PERIRF, SEQORM = :New.SEQORM, CIFFOB = :New.CIFFOB, CODFAV = :New.CODFAV, PERINE = :New.PERINE, RVLCFR = :New.RVLCFR, RVLFRE = :New.RVLFRE, RVLSEG = :New.RVLSEG, RVLEMB = :New.RVLEMB, RVLENC = :New.RVLENC, RVLOUT = :New.RVLOUT, RVLDAR = :New.RVLDAR, RVLFEI = :New.RVLFEI, RVLSEI = :New.RVLSEI, RVLOUI = :New.RVLOUI, CODDEP = :New.CODDEP Where CODFOR = :New.CODFOR And CODEMP = :New.CodEmp And CODFIL = nCodFil; EXCEPTION WHEN OTHERS THEN raise_application_error(-20000, TO_CHAR(SQLCODE) || '-' || SQLERRM); ROLLBACK; END; If sql%notfound Then BEGIN Insert into E095HFO (CODFOR, CODEMP, CODFIL, SALDUP, SALOUT, SALCRE, DATUPE, VLRUPE, DATUCP, VLRUCP, DATMCP, VLRMCP, DATUPG, VLRUPG, QTDPGT, DATATR, VLRATR, MAIATR, MEDATR, PRZENT, CPRCQL, CPRCPE, CPRCAT, CODTPR, CODCPG, CODFPG, QTDDCV, CRIEDV, CODTRA, CODPOR, CODCRT, CODBAN, CODAGE, CCBFOR, CODCRP, ULTDUP, PAGJMM, PAGTIR, PAGDTJ, PAGMUL, PAGDTM, PERDSC, TOLDSC, ANTDSC, PERDS1, PERDS2, PERDS3, PERDS4, PERDS5, PERFUN, PERINS, INDIND, CRIRAT, CTARED, CTARCR, CTAFDV, CTAFCR, CONEST, PERFRE, PERSEG, PEREMB, PERENC, PEROUT, PERISS, PERIRF, SEQORM, CIFFOB, CODFAV, PERINE, RVLCFR, RVLFRE, RVLSEG, RVLEMB, RVLENC, RVLOUT, RVLDAR, RVLFEI, RVLSEI, RVLOUI, CODDEP) values (:New.CODFOR, :New.CodEmp, nCodFil, :New.SALDUP, :New.SALOUT, :New.SALCRE, :New.DATUPE, :New.VLRUPE, :New.DATUCP, :New.VLRUCP, :New.DATMCP, :New.VLRMCP, :New.DATUPG, :New.VLRUPG, :New.QTDPGT, :New.DATATR, :New.VLRATR, :New.MAIATR, :New.MEDATR, :New.PRZENT, :New.CPRCQL, :New.CPRCPE, :New.CPRCAT, :New.CODTPR, :New.CODCPG, :New.CODFPG, :New.QTDDCV, :New.CRIEDV, :New.CODTRA, :New.CODPOR, :New.CODCRT, :New.CODBAN, :New.CODAGE, :New.CCBFOR, :New.CODCRP, :New.ULTDUP, :New.PAGJMM, :New.PAGTIR, :New.PAGDTJ, :New.PAGMUL, :New.PAGDTM, :New.PERDSC, :New.TOLDSC, :New.ANTDSC, :New.PERDS1, :New.PERDS2, :New.PERDS3, :New.PERDS4, :New.PERDS5, :New.PERFUN, :New.PERINS, :New.INDIND, :New.CRIRAT, :New.CTARED, :New.CTARCR, :New.CTAFDV, :New.CTAFCR, :New.CONEST, :New.PERFRE, :New.PERSEG, :New.PEREMB, :New.PERENC, :New.PEROUT, :New.PERISS, :New.PERIRF, :New.SEQORM, :New.CIFFOB, :New.CODFAV, :New.PERINE, :New.RVLCFR, :New.RVLFRE, :New.RVLSEG, :New.RVLEMB, :New.RVLENC, :New.RVLOUT, :New.RVLDAR, :New.RVLFEI, :New.RVLSEI, :New.RVLOUI, :New.CODDEP); COMMIT; EXCEPTION WHEN OTHERS THEN raise_application_error(-20000, TO_CHAR(SQLCODE) || '-' || SQLERRM); ROLLBACK; END; end if; COMMIT; end if; End Loop; end if; END;
  6. ViniciusDias

    Ajuda com cursor oracle

    Bom dia. Não dá erro, apenas cadastra na empresa 1 e filial 1. Esta linha serve para que esse gatilho rode apenas se a inclusão acontecer nessa empresa e filial. Se for em outra, trata-se de uma parametrização especifica que não deve ser replicada. Att, Vinicius Dias
  7. ViniciusDias

    Ajuda com cursor oracle

    Mesmo alterando ainda não deu certo
  8. ViniciusDias

    Ajuda com cursor oracle

    values (:New.CODFOR, :New.CodEmp, Essa variável :New.CodEmp, como estamos inserindo na empresa 1, essa variável não esta com o valor 1 apenas?
  9. ViniciusDias

    Ajuda com cursor oracle

    A mesma coisa @Motta. Apenas empresa 1 e filial 1. Att, Vinicius Dias
  10. ViniciusDias

    Ajuda com cursor oracle

    Boa Tarde, @Motta. Não funcionou. Agora só adicionou para empresa 1, filial 1. Att, Vincius Dias
  11. ViniciusDias

    Ajuda com cursor oracle

    Ele faz apenas para a empresa 1. Não está fazendo para as demais. Att, Vinicius Dias
  12. ViniciusDias

    Ajuda com cursor oracle

    Bom dia. Quando cadastro as parametrizações da filial (1)de uma empresa, o gatilho replica essa parametrização para todas as filiais dessa empresa. Como faço para que essa replicação aconteça para todas as filiais de todas as empresas? Segue conteúdo do gatilho: CREATE TRIGGER TGS_E095HFO_AIU AFTER INSERT ON E095HFO FOR EACH ROW DECLARE PROGMA AUTONOMOUS_TRANSACTION; nCodEmp E070Emp.CodEmp%Type; nCodFil E070Fil.CodFil%Type; Cursor Cur_E070Emp is Select CodEmp From E070Emp Where CodEmp not in (99); Cursor Cur_E070Fil(nEmpCod E070Emp.CodEmp%TYPE) is Select CodEmp, CodFil From E070Fil Where CodEmp = nEmpCod Order By CodEmp, CodFil; BEGIN If (:New.CodEmp <> 1 And :New.CodFil = 1) And (:New.CodCpg <> 'AV') then For Reg_E070Fil in Cur_E070Fil(:New.CodEmp) Loop nCodFil := Reg_E070Fil.CodFil; BEGIN Insert into E095HFO (CODFOR, CODEMP, CODFIL, SALDUP, SALOUT, SALCRE, DATUPE, VLRUPE, DATUCP, VLRUCP, DATMCP, VLRMCP, DATUPG, VLRUPG, QTDPGT, DATATR, VLRATR, MAIATR, MEDATR, PRZENT, CPRCQL, CPRCPE, CPRCAT, CODTPR, CODCPG, CODFPG, QTDDCV, CRIEDV, CODTRA, CODPOR, CODCRT, CODBAN, CODAGE, CCBFOR, CODCRP, ULTDUP, PAGJMM, PAGTIR, PAGDTJ, PAGMUL, PAGDTM, PERDSC, TOLDSC, ANTDSC, PERDS1, PERDS2, PERDS3, PERDS4, PERDS5, PERFUN, PERINS, INDIND, CRIRAT, CTARED, CTARCR, CTAFDV, CTAFCR, CONEST, PERFRE, PERSEG, PEREMB, PERENC, PEROUT, PERISS, PERIRF, SEQORM, CIFFOB, CODFAV, PERINE, RVLCFR, RVLFRE, RVLSEG, RVLEMB, RVLENC, RVLOUT, RVLDAR, RVLFEI, RVLSEI, RVLOUI, CODDEP) values (:New.CODFOR, :New.CodEmp, nCodFil, :New.SALDUP, :New.SALOUT, :New.SALCRE, :New.DATUPE, :New.VLRUPE, :New.DATUCP, :New.VLRUCP, :New.DATMCP, :New.VLRMCP, :New.DATUPG, :New.VLRUPG, :New.QTDPGT, :New.DATATR, :New.VLRATR, :New.MAIATR, :New.MEDATR, :New.PRZENT, :New.CPRCQL, :New.CPRCPE, :New.CPRCAT, :New.CODTPR, :New.CODCPG, :New.CODFPG, :New.QTDDCV, :New.CRIEDV, :New.CODTRA, :New.CODPOR, :New.CODCRT, :New.CODBAN, :New.CODAGE, :New.CCBFOR, :New.CODCRP, :New.ULTDUP, :New.PAGJMM, :New.PAGTIR, :New.PAGDTJ, :New.PAGMUL, :New.PAGDTM, :New.PERDSC, :New.TOLDSC, :New.ANTDSC, :New.PERDS1, :New.PERDS2, :New.PERDS3, :New.PERDS4, :New.PERDS5, :New.PERFUN, :New.PERINS, :New.INDIND, :New.CRIRAT, :New.CTARED, :New.CTARCR, :New.CTAFDV, :New.CTAFCR, :New.CONEST, :New.PERFRE, :New.PERSEG, :New.PEREMB, :New.PERENC, :New.PEROUT, :New.PERISS, :New.PERIRF, :New.SEQORM, :New.CIFFOB, :New.CODFAV, :New.PERINE, :New.RVLCFR, :New.RVLFRE, :New.RVLSEG, :New.RVLEMB, :New.RVLENC, :New.RVLOUT, :New.RVLDAR, :New.RVLFEI, :New.RVLSEI, :New.RVLOUI, :New.CODDEP); COMMIT; EXCEPTION WHEN OTHERS THEN raise_application_error(-20000, TO_CHAR(SQLCODE) || '-' || SQLERRM); ROLLBACK; END; end if; COMMIT; End Loop; end if; END; Att, Vinicius Dias
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.