Mensagem customizada em Trigger no EBS Oracle

Perguntas relacionadas a questões técnicas do Oracle EBS. Criação de Concorrentes, Value Sets, Alerts, Forms Personalizations, Configurações, etc
Responder
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

Boa tarde pessoal
fiz uma trigger After Insert em uma tabela, e gostaria de testar uma condiçao e enviar uma mensagem ao usuario se esta condiçao for verdadeira. Eu fiz assim:

Selecionar tudo

       If Vn_Realizado > Vn_Orcado Then
          RAISE_APPLICATION_ERROR (-20500,'O Valor Realizado é Superior ao Orçado! ');
       End if;
Mas quando a condiçao é veiradeira, o texto que defini na mensagem não aparece.
alguém tem alguma sugestão.
Obs: Usamos o EBS da oracle e a mensagem teria que aparecer no Forms Core do EBS no momento que o usuario está inserindo um novo registro.
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Olá Marlon.

tente assim:

Selecionar tudo

Fnd_Message.Set_String ('Entrou no IF ');  
Fnd_Message.Show;

qualquer coisa posta aí.

abs..

Douglas
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

Douglas
dá erro na compilação:

Selecionar tudo

PLS-00302: o componente 'SET_STRING' deve ser declarado
PL/SQL: Statement ignored
PLS-00302: o componente 'SHOW' deve ser declarado

att
Marlon
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Opa foi mal


tente isso:

Selecionar tudo

        Fnd_Message.SET_NAME('FND','FND_GENERIC_MESSAGE');
        Fnd_Message.SET_TOKEN('MESSAGE', 'Error en trigger XX_AR_CUST_TRX_LIN_TAX_TRG_BIU. ' || sqlerrm);
        Fnd_Message.RAISE_ERROR;
Qualquer coisa posta aí.

Abs..
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

ok. Funcionou quando estou alterando um item (Updating) . Mas na inclusão não mostra esta mensagem.
alguma idéia do porque ?
Minha trigger está assim:

Selecionar tudo

IF INSERTING THEN
       Begin
        If Vn_Realizado > Vn_Orcado Then
            Fnd_Message.SET_NAME('FND','FND_GENERIC_MESSAGE');
            Fnd_Message.SET_TOKEN('MESSAGE', 'Valor Realizado é Maior que o Orçado. Procure o Patrocinador da Conta. ' || sqlerrm);
            Fnd_Message.RAISE_ERROR;
        End if;
       End;
END IF;


IF UPDATING THEN
       Begin
        If Vn_Realizado > Vn_Orcado Then
            Fnd_Message.SET_NAME('FND','FND_GENERIC_MESSAGE');
            Fnd_Message.SET_TOKEN('MESSAGE', 'Valor Realizado é Maior que o Orçado. Procure o Patrocinador da Conta. ' || sqlerrm);
            Fnd_Message.RAISE_ERROR;
        End if;
       End;
END IF;
Avatar do usuário
madmax
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 293
Registrado em: Qua, 13 Dez 2006 5:02 pm
Localização: São Paulo
Contato:
________________________________
Douglas - Madmax.

Marlon.

Tente fazer a sua trigger assim:

Selecionar tudo

Create Or Replace Trigger TRG_xxxxxxxxx
Before Insert Or Update On  ra_customer_trx_lines_all
For Each Row

 Begin
        If Vn_Realizado > Vn_Orcado Then
            Fnd_Message.SET_NAME('FND','FND_GENERIC_MESSAGE');
            Fnd_Message.SET_TOKEN('MESSAGE', 'Valor Realizado é Maior que o Orçado. Procure o Patrocinador da Conta. ' || sqlerrm);
            Fnd_Message.RAISE_ERROR;
        End if;
       

End;
Desta forma vai funcionar para UPdate e insert.

Espero ter ajudado.

Abs.

Douglas
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

beleza Douglas. Agora deu certo. Funcionou direitinho.

Muito obrigado pela ajuda de todos do grupo.

abraço !
Marlon
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes