Estou precisando de ajuda.
Obrigado
Oracle Database 10g Release 10.2.0.4.0 - Production
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
Oracle Database 10g Release 10.2.0.4.0 - Production
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
ORA-06519:
transação autônoma ativa detectada e revertida
create or replace trigger TRG_COMPART_TRAB_REFER
after insert on crd.trab_referencia
REFERENCING NEW AS NEW
for each row
declare
Pragma Autonomous_Transaction;
v_compartilha_cadastro crd.regras_negocio.compartilha_cadastro%type := null;
v_empresa_origem crd.cliente.empresa_origem%type;
v_cpf_cgc crd.cliente.cpf_cgc%type;
v_debug varchar2(1000);
--CURSOR PARA ATUALIZA¿¿O DO CADASTRO COMPARTILHADO
cursor cur_dados_compart (pc_codcpf_cgc in crd.cliente.cpf_cgc%type,
pc_empresa_origem in crd.cliente.empresa_origem%type) is
select cli.empresa empresacli, cli.cliente, cli.empresa_origem, cli.loja_origem,
rn.empresa , rn.compartilha_cadastro
from crd.cliente cli, crd.regras_negocio rn
where cli.cpf_cgc = pc_codcpf_cgc
and cli.empresa_origem = rn.empresa
and cli.empresa_origem NOT IN (pc_empresa_origem)
and rn.compartilha_cadastro = 'S';
reg_dados_compart cur_dados_compart%rowtype;
begin
begin
select cli.cpf_cgc, cli.empresa_origem, rn.compartilha_cadastro
into v_cpf_cgc, v_empresa_origem, v_compartilha_cadastro
from crd.cliente cli, crd.regras_negocio rn
where cli.empresa = :NEW.EMPRESA
and cli.cliente = :NEW.CLIENTE
and cli.empresa_origem = rn.empresa;
exception when others then
v_compartilha_cadastro := 'N';
end;
if user <> 'REPADMIN' then
IF INSERTING THEN
if(v_compartilha_cadastro = 'S') then
open cur_dados_compart(v_cpf_cgc, v_empresa_origem);
loop
fetch cur_dados_compart into reg_dados_compart;
exit when cur_dados_compart%notfound;
begin
UPDATE crd.trab_referencia
SET PAI = :NEW.PAI/*,
MAE = :NEW.MAE,
TRABALHO = :NEW.TRABALHO,
LOGRADOURO = :NEW.LOGRADOURO,
ENDERECO = :NEW.ENDERECO,
NUMERO = :NEW.NUMERO,
COMPLEMENTO = :NEW.COMPLEMENTO,
BAIRRO = :NEW.BAIRRO,
CIDADE = :NEW.CIDADE,
UF = :NEW.UF,
CEP = :NEW.CEP,
TELEFONE = :NEW.TELEFONE,
CELULAR = :NEW.CELULAR,
ENVIA_E_MAIL = :NEW.ENVIA_E_MAIL,
E_MAIL = :NEW.E_MAIL,
SALARIO = :NEW.SALARIO,
RENDA = :NEW.RENDA,
RENDA_NOMINAL = :NEW.RENDA_NOMINAL,
ADMISSAO = :NEW.ADMISSAO,
CGC_SOCIED = :NEW.CGC_SOCIED,
CAPITAL_SOC = :NEW.CAPITAL_SOC,
COTAS_SOC = :NEW.COTAS_SOC,
RESIDENCIA_SITUACAO = :NEW.RESIDENCIA_SITUACAO,
TEMPO_RESIDENCIA = :NEW.TEMPO_RESIDENCIA,
VAL_ALUGUEL = :NEW.VAL_ALUGUEL,
TELEFONE_SITUACAO = :NEW.TELEFONE_SITUACAO,
QTD_DEPENDENTES = :NEW.QTD_DEPENDENTES,
CARTOES_CREDITO = :NEW.CARTOES_CREDITO,
MARCA_VEICULO = :NEW.MARCA_VEICULO,
MODELO_VEICULO = :NEW.MODELO_VEICULO,
ANO_VEICULO = :NEW.ANO_VEICULO,
REF1_PESSOAL = :NEW.REF1_PESSOAL,
END1_REF_PESSOAL = :NEW.END1_REF_PESSOAL,
TEL1_REF_PESSOAL = :NEW.TEL1_REF_PESSOAL,
REF2_PESSOAL = :NEW.REF2_PESSOAL,
END2_REF_PESSOAL = :NEW.END2_REF_PESSOAL,
TEL2_REF_PESSOAL = :NEW.TEL2_REF_PESSOAL,
BCO1_BANCO = :NEW.BCO1_BANCO,
BCO1_AGENCIA = :NEW.BCO1_AGENCIA,
BCO1_CONTA = :NEW.BCO1_CONTA,
BCO2_BANCO = :NEW.BCO2_BANCO,
BCO2_AGENCIA = :NEW.BCO2_AGENCIA,
BCO2_CONTA = :NEW.BCO2_CONTA,
AUTORIZA_DEBITO = :NEW.AUTORIZA_DEBITO,
RENDA_FAMILIAR = :NEW.RENDA_FAMILIAR,
VAL_COTAS_SOC = :NEW.VAL_COTAS_SOC,
DATA_FUNDACAO_SOC = :NEW.DATA_FUNDACAO_SOC,
SITUACAO_VEICULO = :NEW.SITUACAO_VEICULO,
VALOR_VEICULO = :NEW.VALOR_VEICULO,
BCO1_TIPO_CONTA = :NEW.BCO1_TIPO_CONTA,
BCO2_TIPO_CONTA = :NEW.BCO2_TIPO_CONTA,
BCO1_CLI_DESDE = :NEW.BCO1_CLI_DESDE,
BCO2_CLI_DESDE = :NEW.BCO2_CLI_DESDE,
GRAU_INSTRUCAO = :NEW.GRAU_INSTRUCAO,
APRESENTOU_END = :NEW.APRESENTOU_END,
RAMAL1_REF_PESSOAL = :NEW.RAMAL1_REF_PESSOAL,
RAMAL2_REF_PESSOAL = :NEW.RAMAL2_REF_PESSOAL,
POSSUI_SEGURO = :NEW.POSSUI_SEGURO,
TIPO_RENDA_PRESUMIDA = :NEW.TIPO_RENDA_PRESUMIDA,
VALOR_RENDA_PRESUMIDA = :NEW.VALOR_RENDA_PRESUMIDA,
QTD_PRESTACAO_PRESUMIDA = :NEW.QTD_PRESTACAO_PRESUMIDA,
EMPRESA_USUARIO = :NEW.EMPRESA_USUARIO,
TIPO_RENDIMENTO = :NEW.TIPO_RENDIMENTO,
TEMPO_TRABALHO = :NEW.TEMPO_TRABALHO,
TEMPO_RESIDENCIA1 = :NEW.TEMPO_RESIDENCIA1,
TIPO_LOG_CEP = :NEW.TIPO_LOG_CEP,
CELULAR_REF1_PESSOAL = :NEW.CELULAR_REF1_PESSOAL,
CELULAR_REF2_PESSOAL = :NEW.CELULAR_REF2_PESSOAL*/
WHERE EMPRESA = reg_dados_compart.empresacli
and CLIENTE = reg_dados_compart.cliente;
v_debug := utl_http.request('http://multi02/multicredito/debug/teste.php?data=TRUE');
exception when others then
--rollback;
v_debug := utl_http.request('http://multi02/multicredito/debug/teste.php?data=:' || replace(sqlerrm, ' ', '_'));
end;
end loop;
close cur_dados_compart;
end if;
END IF;
end if;
end TRG_COMPART_TRAB_REFER;
Autonomous_Transactio
n deve-se commitar ou dar um rollback antes do final da transação. Se o problema persistir só falar para eu dar uma analisada melhor.Usuários navegando neste fórum: Google [Bot] e 3 visitantes