Variáveis de sistema do Oracle Forms, já ouviu falar?
Se você já desenvolveu alguma tela no Oracle Forms provavelmente já deve ter utilizado alguma system variable.
Caso você não seja desenvolvedor, talvez tenha utilizado em alguma personalização de Forms, com o Form Personalization do Oracle EBS.
Como elas podem ser utilizadas no Oracle Forms e também em personalizações, as variáveis de sistema são úteis tanto para técnicos como para funcionais.
Mas o que são variáveis de sistema?
São variáveis internas do Oracle Forms que controlam o “estado” de um form, ou seja, você consegue identificar e/ou definir a situação atual de um form ou de componente desse form.
Você pode, por exemplo:
- Identificar se um registro está em estado de alteração, ou seja, sofreu alguma modificação e ainda não foi salvo
- Identificar o estado de um bloco: Se só tem registros válidos, se tem algum registro que necessita ser salvo ou se tem algum registro novo
- Identificar qual o bloco ou item corrente, ou seja, onde o cursor está posicionado
Com esse controle você consegue criar processos mais inteligentes e poderosos.
Nem todas as variáveis permitem alteração, na verdade, a maioria é somente leitura, ou seja, só é possível utilizá-las para identificar o estado de um form ou objeto.
Quer saber mais sobre essas variáveis? Então acompanhe esse artigo até o final para saber mais sobre:
- Onde e como utilizar variáveis de sistema
- Variáveis de sistema no Oracle Forms
- Variáveis de sistema nas personalizações de forms no EBS
- Variáveis de sistema no menu Examinar do EBS
- Como ter acesso a um guia prático com 12 variáveis de sistema para turbinar suas personalizações
Vamos lá?
Onde e como utilizar variáveis de sistema
Como mencionado no começo do artigo, as variáveis de sistema do Forms podem ser utilizadas no próprio Forms ou em personalizações de forms dentro do Oracle EBS.
Tanto no Forms como no Forms Personalization, precisamos utilizar a palavra reservada SYSTEM. A sintaxe é essa abaixo:
Alguns exemplos:
:SYSTEM.LAST_RECORD
:SYSTEM.CURRENT_FORM
:SYSTEM.CURSOR_ITEM
Variáveis de sistema no Oracle Forms
No desenvolvimento ou customização de um form temos mais possibilidades de uso das variáveis de sistema, já que o poder de codificação é bem maior (comparando com o Forms Personalization).
No Forms também temos a possibilidade de utilizar as variáveis em todas as triggers existentes, diferente do Form Personalization onde temos um número reduzido de triggers disponíveis para utilização.
Uma variável de sistema muito utilizada em desenvolvimento Forms é a MESSAGE_LEVEL, onde definimos qual o nível de severidade de mensagens internas do Forms que queremos mostrar ou ocultar, por exemplo:
Quando um COMMIT (comando para salvar as alterações no banco) é executado no Forms, uma mensagem é mostrada para o usuário do form que as transações foram gravadas no banco de dados com sucesso, mas algumas vezes precisamos suprimir essa mensagem para evitar mensagens em excesso.
Para fazer isso utilizamos a variável de sistema :SYSTEM.MESSAGE_LEVEL da seguinte maneira:
Como o nível padrão é 0 (ZERO), subindo para o nível 5 (CINCO), as mensagens de COMMIT são suprimidas.
Após o COMMIT, o nível 0 (ZERO) é definido novamente.
Variáveis de sistema nas personalizações de forms
No Form Personalization temos uma quantidade limitada de triggers para manipulação:
Alguns forms possuem várias outras triggers disponíveis para personalização, mas digamos que estão “escondidas”. É necessário um procedimento para identificá-las, mas como não é o foco desse artigo, vai ficar para um próximo (Mostro como fazer isso detalhadamente no treinamento de EBS Personalization).
Vamos a um exemplo:
Se você precisar identificar o número do registro corrente via Form Personalization, é só utilizar a variável de sistema :SYSTEM.CURSOR_RECORD.
Apenas para facilitar o entendimento, criei uma personalização simples que mostra o número do registro corrente na forma de mensagem toda vez que mudo de registro:
Essas variáveis de sistema são muito úteis quando utilizadas nas regras das personalizações, no campo “Condition”. Mostrei alguns exemplos nesse vídeo aqui.
Variáveis de sistema no menu Examine do EBS
Sabe quando você quer ver qual a última query executada em um form e vai no menu Examine (Help » Diagnostics » Examine) do EBS?
Essa é uma variável de sistema, a :SYSTEM.LAST_QUERY.
Quando você escolhe o bloco SYSTEM na lista de valores, algumas variáveis de sistema são listadas:
Esse é um jeito simples de visualizar o conteúdo de algumas variáveis sem precisar codificar ou personalizar um form.
Concluindo e como ter acesso a um guia prático
Quando conhecemos e entendemos o funcionamento e o propósito de cada variável de sistema, fica mais fácil criarmos soluções mais robustas.
Pensando nisso, eu criei um eBook que contém um mapa mental relacionando 12 variáveis de sistema importantes para usar no Form Personalization.
Para baixar é só clicar no link abaixo:
Se gostou desse artigo compartilhe com seus amigos.