Objetos Dinâmicos com Tabelas Existentes

Objetivo

Criar novos objetos de tela alimentados por campos de tabelas já existentes.

ProgramaSO0700
Visão Geral

No Otimizador de Telas é permitido criar objetos dinâmicos relacionados a tabelas do produto (apenas para consulta) ou uma tabela de um banco específico qualquer. Isto é feito por intermédio de uma ligação que seria a relação entre a tabela do programa e a tabela existente da qual se deseja buscar os dados.


Ambiente de Desenvolvimento (SO0700)

Este texto demonstra alguns exemplos da criação destes tipos de objetos utilizando o programa “Atualização Conta Corrente”  (cd1103) 


Primeiro Passo (Inclusão do primeiro campo):

  •  Primeiramente abre-se o programa no ''Ambiente de Desenvolvimento'' (so0700) para que se possa otimizá-lo. Depois devem ser criados dois campos
  • O primeiro campo é utilizado para visualizar a agencia padrão do banco, que está disponível na tabela "mgadm.banco". Como este é um campo para consulta, deve-se mudar a propriedade ''Tipo Atributo'' para ''Atributo'' ''Consulta'' e também entrar na janela ''Zoom Ligações''
  • A janela aberta permite escolher uma ligação a ser utilizada pelo novo objeto criado. Para criar uma nova ligação pressionar o botão ''Criar Nova Ligação''
  • Após pressionado o botão, é apresentada a janela de criação de ligações, para que se possa criar uma ligação que relacione a tabela "mgadm.cta-corrente" com a tabela “mgadm.banco” de onde se deseja buscar as informações.
  • A informação desejada se encontra na tabela “mgadm.banco”, então é necessário selecionar o banco de dados mgadm, a tabela banco, e pressionar o botão para adicionar a tabela nas tabelas da ligação (nota se que a tabela “cta-corrente” já faz parte da ligação pois ela é a tabela da frame onde o objeto foi criado, ou seja, a tabela externa).
    • Após escolhidas as tabelas da Ligação deve-se estabelecer um relacionamento entre elas, ou seja, condições que devem ser satisfeitas para validar o relacionamento.

Em alguns casos o Screen Optimizer automaticamente detecta o relacionamento, em outros casos o usuário deve criá-lo. Há ainda a possibilidade de customizar um relacionamento que o Screen Optimizer detectou automaticamente;

  • O relacionamento no exemplo foi customizado e diz que para haver relacionamento entre as duas tabelas, o campo “cod-banco” da tabela “banco” deve ser igual ao campo “cod-banco” da tabela “cta-corrente”


  • A codificação do relacionamento pode ser digitada ou então pode ser feita com o auxilio das listas de campos (por intermédio de duplo clique) e dos operadores. Também pode se criar filtros para a ligação. Neste exemplo foi criado um filtro dizendo que o registro da ligação só será valido se o campo “cod-frebaban” da tabela banco tiver um valor maior que “0” (zero).
  • Deve se verificar também as opções da tabela da ligação. Esta ligação retornará apenas dois atributos que serão utilizados nos campos do programa. Então é interessante marcar  a opção "Retorna Campos'' com o valor "Informados'' pois assim a ligação irá apenas trazer os dados necessários das tabelas (escolhidos na página atributos) quando ela for utilizada, fazendo com que a performance da busca de dados seja otimizada.
  • Também se deve escolher se a ligação é do tipo ''Inner Join'' onde os registros da primeira tabela do relacionamento só serão trazidos se a codificação da página ''Relacionamento'' for satisfeita, ou então do tipo ''Outer Join'' onde os registros da primeira tabela do relacionamento são trazidos mesmo que a codificação da página ''Relacionamento'' não seja satisfeita.
  • Em seguida na página Atributo deve-se escolher os atributos (campos) que serão utilizados por intermédio da janela  “Atributos Query” . Nesta página também é possível excluir atributos que não são mais desejados na ligação.
  • Na janela “Atributos Query”, devem ser selecionados os itens que serão incluídos na lista de atributos utilizados pela Ligação. No exemplo seleciona-se a tabela “mgadm.banco” na parte superior e pressiona-se o botão de inclusão com o atributo “ag-padrão” selecionado na lista “Atributos disponíveis”, depois o mesmo processo é realizado para a tabela “mgadm.cta-corrente” (externa) e com o atributo “ct-ipmf”
  • Após confirmar a escolha na janela “Atributos Query”, os atributos são exibidos na página “Atributo” da janela de criação de ligações. No exemplo, é digitado o nome "banco" para a ligação  e pressionandoo botão para salvá-la e fechar a janela, retornando assim para a janela “Zoom Ligações”.
  • De volta a janela “Zoom Ligações” seleciona-se a ligação recém criada e fecha-se a janela confirmando a seleção no botão "Confirma"
  • De volta ao ambiente de desenvolvimento, nota-se na paleta de propriedades que a propriedade “Ligação”  tem o valor “banco” (o nome da ligação recém criada). Como já foi definida a ligação que será utilizada, deve-se também selecionar qual atributo da ligação será usado por aquele objeto. Isto pode ser feito pressionandoo botão ao lado da propriedade nome para executar a janela “Zoom Propriedade Nome”.
  • Na janela “Zoom Propriedade Nome” seleciona-se o atributo "mgadm.banco.ag-padrao" e fecha-se a janela confirmando a seleção.
  • Nota se que o objeto na tela do programa mudou. A criação deste objeto está concluída e ele está pronto para ser utilizado.


Segundo Passo (Inclusão do segundo campo):

  • Após isso deve ser selecionado o segundo objeto para ser alterado.
  • Este segundo objeto usa a mesma ligação “banco” e utiliza o atributo “mgadm.cta-corrente.ct-ipmf”. Então deve se alterar a propriedade “Tipo Atributo” para “Atributo Consulta”, pressionar o botão ao lado da 
  • propriedade “Ligação” para entrar na janela “Zoom Ligações” e selecionar a ligação “banco”.
  • Depois deve-se pressionar o botão ao lado da propriedade nome para entrar na janela “Zoom Propriedade Nome” para que seja selecionado o atributo a ser utilizado (mgadm.cta-corrente.ct-ipmf).
  • Para concluir todo o processo é apenas necessário salvar o perfil e começar a utilizá-lo





(aviso) Os atributos criados acima só podem ser utilizados para consulta.

O relacionamento entre as duas tabelas deve ser, obrigatoriamente do tipo extensão, ou seja, um para um (1 – 1).