Tecnologia EMS5 (DWB)


Visão Geral

Otimização de Programas

Os programas construídos a partir da tecnologia EMS5 (DWB) geralmente são compostos de uma única frame em um programa único. Dessa forma, existe uma maior liberdade para a movimentação dos objetos em tela (o conceito de páginas é implementado por meio de botões na tecnologia EMS5 (DWB)).


Descrição

Orientação na Instalação para EMS5

É necessária a utilização do banco MGUNI como o último banco no arquivo .PF, evitando-se assim erros na utilização de buffer dinâmicos.

Evento de Inicialização dos Programas

Para a aplicação das propriedades Botões Flat (aplicada a botões) e Horizontal (aplicado a “radios”) é necessário alterá-las por intermédio de um evento antes da inicialização do programa (before-initialize). Na tecnologia EMS5 (DWB) tal evento não existe na execução de um programa (o primeiro evento que ocorre é o evento de inicialização). Dessa forma, não é possível aplicar as alterações efetuadas nessas propriedades para objetos em programas pertencentes a essa tecnologia.

Condição e Lista de Valores para programas do EMS 5

Para otimizar campos que possuem o botão "Vá Para" ao lado é necessária a criação de um campo de consulta com o mesmo conteúdo do campo desejado, o campo de consulta criado deve ser relacionado à regra implementada. 

Inserção de Objetos Dinâmicos com Atributo de Extensão

Para os programas construídos pelo EMS5 (DWB), pode-se criar um novo objeto dinâmico que possui tabela de extensão em qualquer ponto da frame, desde que ela possua tabela relacionada (nos programas construídos a partir dessa tecnologia, a frame é única).

Eliminação de Registros para Objetos Dinâmicos

Para os programas construídos a partir do EMS5 (DWB), o evento de eliminação de registros é executado em um programa à parte do programa principal. Dessa forma, é necessário instanciar a APPC para o programa de eliminação também, para garantir a sincronização entre as tabelas. Geralmente os novos objetos dinâmicos devem ser criados nos programas de inclusão, modificação, detalhe e base para ter a visualização em todos os pontos do procedimento. Além disso, a APPC deve ser instanciada também no programa de eliminação, para garantir a sincronia no evento de eliminação (programa era_<nome do programa>).

Objetos Dinâmicos Relacionados a Browse

Para programas da tecnologia EMS5 (DWB) não é possível adicionar objetos dinâmicos que possuam atributo em tabela de extensão relacionado a browse. Na tecnologia EMS5 (DWB) não existem eventos liberados para EPC referente a manipulação de browse (mudança de registros, abertura de query etc).

Coerência nas Otimizações

Em algumas situações, é necessária uma coerência por parte do usuário Administrador para não modificar algumas propriedades em determinados programas. Alguns exemplos:

  • Inicialização de campos: essa propriedade não tem efeito e não deve ser utilizada em objetos de uma tela de consulta. Nos programas Base e nos programas de Modifica (bas_<programa>) do Datasul-EMS5 também não deve ser utilizada a propriedade “Valor Inicial”. A propriedade é apenas utilizada nos programas citados acima quando utilizada em objetos dinâmicos do tipo radio, caixa de seleção e caixa de checagem, pois ela é utilizada para atribuir o valor inicial quando não há registro relacionado na ligação ou no banco repositório.
  • Adição de Objetos Dinâmicos: na tecnologia do EMS5 (DWB), quando forem adicionados objetos dinâmicos em programa Base e Detalhe (bas_<programa>), a propriedade “desabilitado” deve estar configurada como “Sim” (para que o novo objeto não apareça habilitado na tela inicial).
  • Programas de Relatório: em programas de relatório criados na tecnologia EMS5 (DWB), não é possível utilizar a inicialização de valores dos objetos (os mesmos são inicializados por um armazenamento interno efetuado por usuário, por meio do conceito utilizado no EMS5). Por isso, a funcionalidade não é aplicada para programas de relatório do Datasul-EMS5.
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))