Sabe as variáveis globais do Oracle Forms? Elas também podem ser utilizadas no Form Personalization do Oracle EBS (e isso é ótimo).
As variáveis globais (global variables) são muito utilizadas por desenvolvedores no Oracle Forms, devido ao poder que elas dão à aplicação.
E é incrível ter a possibilidade de utilizá-las dentro do Form Personalization, assim conseguimos armazenar valores temporariamente para utilizá-los depois em outro momento.
E como ela é “global”, podemos trocar informações entre forms diferentes.
Gostou das variáveis globais e quer saber como utilizar no Form Personalization? Então acompanhe esse artigo para saber mais sobre:
- Propriedade INITIAL_VALUE
- Propriedade VALUE
- Sintaxe de referência
Propriedade INITIAL_VALUE
Um dos principais usos de variáveis globais é para permitir a troca de informações entre forms.
Exemplo:
Uma personalização no form A armazena um valor na variável global Y e na sequência chama o form B.
A personalização no form B recebe o conteúdo da variável global Y e toma alguma ação com base nesse valor.
Resumindo, esse é o processo macro de utilização.
Mas tem um detalhe importante: O form B nem sempre será chamado pelo form A via personalização, ele pode ser chamado nativamente pelo menu do EBS. O problema é que quando esse form B é aberto diretamente pelo menu, a variável global ainda não foi criada (o form A que cria a variável, não foi chamado), causando um erro de sistema ao referenciá-la.
É aí que a propriedade INITIAL_VALUE entra, ela trata exatamente esse ponto. Caso a variável ainda não exista, ela cria e já define um valor inicial para ela, evitando o erro.
Essa personalização deve ficar no form que será chamado (no caso aqui, o form B), geralmente na trigger WHEN-NEW-FORM-INSTANCE para garantir que seja ativada logo ao abrir o form:
Utilizamos uma Action da seguinte maneira:
Type: Property
Object Type: Global Variable
Target Object: Nome da variável global, utilizei como exemplo XX_VARIAVEL_EXEMPLO
Property Name: INITIAL_VALUE
O valor inicial fica a seu critério, geralmente é utilizado =NULL.
Propriedade VALUE
É com a propriedade Value que definimos o conteúdo da variável global.
Essa personalização fica no form “chamador” (no exemplo aqui, form A):
Utilizamos uma Action da seguinte maneira:
Type: Property
Object Type: Global Variable
Target Object: Nome da variável
Property Name: VALUE
Value: :RA_TERMS.TERM_ID (Campo do form)
No exemplo passei para a variável o conteúdo de um campo do form, agora é possível referenciar e utilizar esse valor na personalização do outro form.
Logo depois de utilizar a variável é importante “zerar” o seu conteúdo para evitar conflitos futuramente.
Sintaxe de referência
Se quisermos referenciar a variável global em algum momento da personalização (exemplo: na caixa de condições para fazer alguma validação), podemos fazer da seguinte maneira:
:GLOBAL + . + <NOME DA VARIÁVEL>
Utilizando o exemplo acima, ficaria:
:GLOBAL.XX_VARIAVEL_EXEMPLO
Também é possível pelo botão Insert ‘Get' Expression:
📌 Quer ver um exemplo prático e bem interessante no uso de variáveis globais? Confira esse vídeo
Conclusão sobre variáveis globais
Elas definitivamente levam suas personalizações para um próximo nível.
Mas é preciso ter cuidado, se não forem projetadas e configuradas corretamente, conflitos podem ocorrer facilmente entre variáveis globais.
Como elas ficam ativas durante toda a sessão, caso alguma outra personalização ou o código de um form utilize o mesmo nome, elas vão conflitar.
Também é vital “zerar” a variável logo após o uso para evitar problemas no form que é chamado, pois ele só deve receber essa variável preenchida quando for chamado da sua personalização.
Se gostou desse conteúdo e ainda não fez o download do eBook gratuito “11 incríveis usos de Oracle EBS Personalization que você precisa conhecer”, baixe agora mesmo.