Já precisou referenciar um campo de uma tela Forms numa validação de value set de um flexfield?
Dessa maneira é possível fazer com que o nosso flexfield utilize o conteúdo de algum campo da tela.
Vamos a um exemplo para deixar fácil de entender:
Imagine que você tenha um flexfield que armazene linhas de pedido de vendas do OM.
Em vez de sempre listar as linhas de todos os pedidos quando o usuário abrir a lista de valores, você pode filtrar pelo número do pedido que está na tela, naquele exato momento.
Infelizmente esse recurso foi descontinuado e futuramente pode ser removido, mas ainda é possível utilizar e achei interessante mostrar como funciona.
Caso tenha interesse, acompanhe esse artigo para saber mais sobre:
- Variáveis Bind
- Como referenciar campos de uma tela Forms
O que são variáveis bind (bind variables)
De uma maneira simples, variáveis bind permitem utilizar um conteúdo dinâmico como referência.
Esse conceito é amplamente utilizado, mas aqui no contexto de value sets quer dizer que é possível utilizar essas variáveis para fazer referência a outros componentes.
Temos basicamente três tipos de variáveis bind (no contexto de value sets):
- Referência de campos de um form
- Referência de segmentos de flexfield ou parâmetros de programas concorrentes
- Referência de profiles
O foco desse artigo será em como referenciar campos de um form dentro de um flexfield.
Referenciando um campo da tela Forms
A referência é feita com o nome do bloco e o nome do campo (Esse recurso é apenas para telas desenvolvidas em Forms, OAF não entra).
Será utilizado um conjunto de valores com tipo de validação Table.
A sintaxe de referência é:
:<NOME DO BLOCO> + “.” + <NOME DO CAMPO>
Utilizando o exemplo do início do artigo, para referenciarmos o número do pedido em um value set e filtrar as linhas do value set no flexfield, ficaria:
WHERE HEADER_ID = :ORDER.HEADER_ID
Onde o primeiro HEADER_ID seria o campo da tabela de linhas que está sendo utilizada no value set e :ORDER.HEADER_ID seria a referência ao campo da tela.
O bloco ORDER fica na tela de pedidos de venda do Order Management.
Conclusão
Realmente é uma pena que esse recurso tenha se tornado obsoleto, já que facilita bastante esse tipo de referência.
Trabalhar com conjuntos de valores pode parecer algo básico e simples, mas se for mesmo abordar todas as possibilidades, daria para escrever um livro sobre o assunto.
Assim como em todas as áreas de um sistema, quando conhecemos apenas o trivial de uma feature, fica muito difícil imaginar e criar soluções que aproveitem todo o seu potencial.
E em muitos casos, desenvolvimentos desnecessários são criados.
Esse tema de variáveis bind é apenas uma pequena parte de tudo que pode ser feito com value sets dentro do Oracle EBS.
Caso tenha interesse em se aprofundar nesse componente que considero essencial (assim como muitos outros) para qualquer profissional E-Business Suite, deixo aqui o convite para conhecer o treinamento Oracle EBS Essentials.
Se gostou desse artigo e acha que pode ser útil para outras pessoas, não esqueça de compartilhar com a sua rede de contatos.