ERRBUF e RETCODE: 2 parâmetros obrigatórios nos seus concurrents

ERRBUF e RETCODE

Existem dois parâmetros que são obrigatórios em programas concorrentes do tipo “Procedimento Armazendo do PL/SQL”, que são o ERRBUF e RETCODE.

Eles são parâmetros de saída (OUT) e são utilizados para retornar informações sobre a execução do concurrent.

São esses parâmetros que controlam a cor de cada resultado de execução de um concurrent que aparece na tela de solicitações do EBS: Cor padrão para sucesso, amarelo para alerta e vermelho para erro.

Você não precisa informá-los no cadastro do concurrent, mas devem estar configurados no cabeçalho do objeto correspondente no banco de dados.

Então me acompanhe nesse artigo porque vou abordar:

  • ERRBUF
  • RETCODE
  • Detalhes importantes

ERRBUF

Comecei com esse não por acaso, ele realmente deve ser o primeiro parâmetro no cabeçalho da stored procedure.

Esse parâmetro é do tipo VARCHAR2 e nele você retorna uma mensagem de texto.

Ele só deve ser preenchido quando o programa gerar algum erro, ou seja, nele você retorna a mensagem detalhando o problema.

Quando você preenche esse parâmetro de saída, não precisa se preocupar em escrever a mensagem de erro no log do programa concorrente (Com a API FND_FILE, por exemplo), o EBS já faz isso pra você automaticamente.

RETCODE

O parâmetro RETCODE é do tipo NUMBER e nele você retorna o status da execução do concurrent, que pode ser:

  • 0 (Sucesso): Se seu programa chegou ao final de sua execução com sucesso, o RETCODE deve receber 0 (Zero). Esse é o valor padrão, ou seja, caso você não passe valor algum para o parâmetro RETCODE, ele vai interpretar o status de Sucesso:

    Normal

  • 1 (Alerta/Warning): Esse status quer dizer que seu programa até chegou a ser finalizado com sucesso, mas com algum tipo de advertência. Com ele, a solicitação fica na cor amarela e serve para alertar o usuário. A mensagem de alerta pode ser escrita no log do concurrent utilizando a API FND_FILE:

    Warning

  • 2 (Erro): E o último status indica que o programa finalizou com erro. Quando usamos esse retorno, devemos preencher o parâmetro ERRBUF com a mensagem descrevendo o erro.Nesse status a solicitação fica na cor vermelha para sinalizar o erro na execução:

    Error

Detalhes Importantes

A utilização parece simples e na verdade é, mas é interessante reforçar alguns pontos:

Ordem dos parâmetros

O ERRBUF deve ser sempre o primeiro parâmetro na definição, caso coloque invertido, o concurrent finalizará com erro.

Tipo do parâmetro RETCODE

Eu sempre utilizo ele como NUMBER, já que só trabalha com valores numéricos, mas se usar como VARCHAR2 também funciona. Inclusive no próprio developer guide tem exemplos de uso com ambos os tipos.

RAISE_APPLICATION_ERROR

Se o RAISE_APPLICATION_ERROR for utilizado, o concurrent também finalizará com erro

Conclusão

Além de obrigatórios, esses dois parâmetros são muito importantes para gerenciar o retorno da execução de concurrents, então é de extrema importância saber utilizá-los.

Se ficou com alguma dúvida, é só deixar um comentário logo aqui abaixo, terei o maior prazer em responder.

Caso tenha considerado esse artigo útil, não esqueça de compartilhar com seus amigos, sempre tem alguém precisando.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *