O que são Descriptive Flexfields do Oracle EBS

descriptive flexfields - capa

Já falei de flexfields por aqui, mencionando brevemente seus dois tipos: Descriptive Flexfields e Key Flexfields.

Nesse artigo gostaria de me aprofundar no primeiro deles: Descriptive Flexfields.

Podemos dizer que seu principal propósito é armazenar informações adicionais a uma entidade.

Entenda entidade como um item, pedido de venda, nota fiscal, ordem de compra, pagamento, etc.

Se alguma tela do EBS não contém uma coluna para você armazenar uma determinada informação, pode criar um segmento de flexfield descritivo para esta finalidade.

Para que isso seja possível, a tabela base precisa da estrutura necessária e estar mapeada dentro do EBS.

Se quiser saber mais sobre descriptive flexfields, acompanhe esse artigo para saber mais sobre:

  • Acesso aos segmentos
  • Colunas ATTRIBUTE
  • Contexto

Acesso aos segmentos

Para saber de uma maneira simples se um form permite a manipulação de descriptive flexfields, basta verificar se a tela possui dois colchetes [], conforme abaixo:

descriptive flexfields - holds

No exemplo acima, no cadastro de Holds do OM, os descriptive flexfields estã habilitados para ambos os blocos do form (mestre e detalhe).

Como o bloco detalhe (Authorizations) é multi record, é habilitado um para cada linha do bloco.

O acesso à janela de segmentos é feito com um clique nesses colchetes.

Então uma janela com os segmentos mapeados é aberta:

descriptive flexfields - segmentos

Cada coluna dessas é um segmento que foi mapeado.

E cada segmento desses está associado a uma coluna ATTRIBUTE da tabela correspondente.

OBS: Para telas OAF é necessário utilizar personalização para habilitar os flexfields.

Colunas ATTRIBUTE para Descriptive Flexfields

Aproveitando o exemplo anterior do form de holds, acessei o Examine do EBS e abri a lista com as colunas disponíveis na tabela:

descriptive flexfields - attribute fields

Esse objeto em questão (OE_HOLDS) possui 15 colunas ATTRIBUTE disponíveis para mapeamento.

Esse número varia, algumas tabelas possuem 15, outras 20.

Contexto

Ainda temos um outro conceito bem importante, que é o contexto dos descriptive flexfields:

descriptive flexfields - context

Os segmentos podem ser mapeados diretamente em um “contexto global“, assim não é necessário informar um contexto para preencher os segmentos (como mostra a imagem acima)…

… ou podem ser mapeados dentro de algum contexto personalizado, nesse caso só aparecerão para preenchimento se esse contexto for selecionado.

Exemplo:

Uma empresa trabalha com dois tipos de produtos: meia e tênis.

É necessário informar a cor do cadarço do tênis no cadastro de produtos, mas essa coluna não existe.

Então criamos um segmento chamado “Cor do cadarço”, mapeamos que a informação será gravada na coluna ATTRIBUTE1 da tabela de itens.

Pergunto: Faria sentido essa coluna aparecer para preenchimento quando uma meia estivesse sendo cadastrada?

Bom, eu pelo menos nunca vi meia com cadarço. 😁

Para resolver essa questão e deixar a solução mais elegante, bastaria criar dois contextos: Meia e Tênis.

Ao cadastrar um tênis, o contexto de tênis seria selecionado (podendo até ser uma seleção automática com base na categoria do item) e a coluna para preenchimento da cor do cadarço apareceria.

No cadastro de meia, essa coluna não estaria disponível.

Conclusão

Essa flexibilidade que os descriptive flexfields fornecem possibilita um ambiente personalizado e de acordo com as necessidades de negócio do cliente.

Nas videoaulas do Oracle EBS Essentials eu mostro diversos exemplos práticos no módulo exclusivo sobre flexfields.

Se você gostou desse artigo e acha que ele pode ser útil para outras pessoas, não esqueça de compartilhar com seus contatos.

2 Comentários


  1. Eduardo, é possível exibir um flexfield descritivo em um form core, junto aos campos core, para que o usuário não precise clicar nos colchetes?

    Responder

    1. E aí Luis, tudo bem?

      Olha, eu desconheço essa opção..

      No recurso pasta, eles não aparecem na lista para serem mostrados na tela…

      Via personalization, não dá pra setar DISPLAYED = TRUE porque eles não estão no canvas…

      Se descobrir me avisa 😉

      Abs
      Eduardo

      Responder

Deixe um comentário

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