Adição de Objetos Dinâmicos
Objetivo | Permitir a adição de objetos dinâmicos a um perfil de um programa. |
Programa | SO0701 |
Pré-Requisito | É pré-requisito para a execução dessa função: |
Visão Geral | Por intermédio dessa função é possível criar novos objetos dinâmicos. É possível criar objetos para alterar a estética do programa (retângulos, textos), adicionar botões e objetos que armazenam valor (campo, caixa de seleção, caixa de checagem, etc.). Para os objetos que armazenam valor, é possível adicionar:
|
Descrição
Janela Adição de Objetos Dinâmicos
Esta tela é composta pela parte inferior da paleta de Propriedades e é utilizada para inserir objetos dinâmicos na tela a ser otimizada.
Nas tabelas a seguir estão descritos os elementos desta janela:
Nome Botão | Descrição |
Cancela | Quando acionado, cancela a criação do objeto dinâmico selecionado anteriormente. |
Botão | Esse botão pode ser utilizado para visualização de arquivos, execução de programas, exibição de páginas html e atalhos para nova mensagem eletrônica. Pode ainda ser relacionado a registros ou a um programa. |
Retângulo | Esse objeto dinâmico pode ser utilizado para agrupar objetos de um mesmo assunto ou contexto. É utilizado para melhorar a estética e disposição dos objetos em uma tela. |
Radio | Esse objeto dinâmico é utilizado quando se deve obter uma informação com possibilidades finitas. É utilizado geralmente quando existem poucas opções de escolha. Podem ser associados rótulos a valores internos. Exemplo: Exemplo: Nome: intTipExec Rótulo: Tipo de Execução Lista Itens: On-line, 1, Batch, 2 Tipo de Dado: Inteiro Formato: >9 Valor Inicial: 2 |
Caixa de Seleção | Objeto dinâmico utilizado quando é necessário obter uma informação com possibilidades finitas. É utilizado geralmente quando existem várias opções de escolha. Podem ser associados rótulos a valores internos. Exemplo: Exemplo: Nome: desDiaSemana Rótulo: Dia da Semana Lista Itens: Segunda-feira, SG, Terça-feira, TE, Quarta-feira, QA, Quinta-feira, QI, Sexta-feira, SX, Sábado, SA, Domingo, DO Tipo de Dado: Caracter Formato: X(02) Valor Inicial: SX |
Editor | Objeto dinâmico utilizado para informar textos com uma grande quantidade de caracteres, cuja visualização seria inviável em um objeto do tipo Campo. Deve ser utilizado para descrever observações, comentários e detalhamentos sobre um determinado contexto. |
Campo | Objeto dinâmico utilizado para informar qualquer tipo de valor a ser armazenado, com infinitas possibilidades. Permite uma maior abertura para solicitação de informação ao usuário. Exemplo: Nome: datNascimento Rótulo: Data Nascimento Tipo de Dado: Data Formato: 99/99/9999 Valor Inicial: today |
Texto | Objeto dinâmico utilizado para atribuir textos estáticos em um programa, auxiliando na definição e explicação da disposição de outros objetos. Pode ser utilizado juntamente com um retângulo (sobre um retângulo). |
Caixa de Checagem | Objeto dinâmico utilizado para valores lógicos a serem armazenados. Exemplo: Nome: datNascimento Rótulo: Data Nascimento Tipo de Dado: Data Formato: 99/99/9999 Valor Inicial: today |
Importante 1:
Após selecionar o objeto dinâmico que se deseja criar, é necessário selecionar a posição na tela em que ele deve ser criado. É aconselhável criar os objetos não muito próximos das extremidades da tela, para que não ocorram erros de posicionamento do rótulo ou do próprio objeto na tela.
Depois de instanciado, o objeto pode ser reposicionado por meio de seu redimensionamento, reposicionamento (arrastar o objeto na tela) ou por meio das próprias propriedades do objeto (tamanho, largura, linha e coluna).
Para objetos dinâmicos, a frame onde o objeto dinâmico é instanciado é considerada o Objeto Pai do novo objeto.
Importante 2:
Objetos dinâmicos em relatório - Não é possível criar objetos dinâmicos em relatórios. Os relatórios não estão relacionados a tabelas diretamente, impossibilitando a criação de objetos dinâmicos. Mesmo que o Usuário Administrador consiga criar objetos em ambiente de desenvolvimento, eles não são aplicados em ambiente de aplicação de otimização.
Janela Lista de Tabelas do Programa – Adição Objetos Dinâmicos
Esta tela é utilizada na seleção de qual tabela deve ser relacionada ao objeto dinâmico.
Na tabela a seguir estão descritos os elementos desta janela:
Nome Botão | Descrição |
Confirma | Quando acionado, esse botão confirma a tabela selecionada. |
Cancela | Quando acionado, esse botão cancela a tabela selecionada. |
Importante 1:
Ao instanciar um objeto (que possui atributo relacionado) em uma frame que trata de mais de uma tabela internamente, é solicitado ao usuário que defina qual tabela dever ser relacionada ao novo objeto.
Por intermédio do browse é possível selecionar uma tabela entre todas as tabelas com as quais determinada frame possui relação. Ao informar a tabela, não é possível modificá-la. Para modificá-la, é necessário eliminar o objeto e criá-lo novamente.
É por meio desta tabela que será criado o relacionamento de extensão para o novo objeto criado (para atributos SOR) ou será utilizada na criação de ligações.
Importante 2:
Propriedades mais importantes para criação de objetos dinâmicos
A listagem a seguir apresenta as principais propriedades utilizadas na criação de objetos dinâmicos.
Propriedades | Tipos de Objeto | Descrição |
Tipo Atributo | Caixa Checagem Caixa Seleção Campo Editor Radio | Permite selecionar se a fonte de dados do objeto será o banco repositório (Atributo SOR), uma tabela do produto EMS para consulta (Atributo Consulta), ou então uma tabela de outro banco de dados qualquer (Atrib. Tab. Específica). Importante: Atributo SOR – caso não exista o atributo, o mesmo é criado no banco repositório MGSOR, na tabela de extensão da tabela do programa (todo o processo de criação do atributo no dicionário de dados ocorre automaticamente). Atributo Consulta – utilizado para adicionar campos de uma tabela já existente para consulta. Campos desse tipo não podem ser habilitados. Para atributos Consulta é necessário criar uma ligação. Atributos Tabela Específica – utilizado para adicionar campos de bancos de dados específico do cliente. Nesses casos, o SOP efetua o controle de inclusão e modificação de registros da tabela do banco específico. Para utilizar esse tipo de atributo, é necessário que a tabela específica tenha um relacionamento de extensão com a tabela do programa (ou seja, um para um). Essa relação deve ser informada na ligação do objeto. |
Ligação | Caixa Checagem Caixa Seleção Campo Editor Radio | Permite informar, por intermédio do botão de zoom (veja a descrição da Função Ligação (SO0708)), a ligação dos objetos dinâmicos com extensão do tipo “Atributo Consulta” e “Atrib Tab Específica”. |
Nome | Todos | Identificação interna do objeto. É recomendável que a identificação pelo nome seja única para cada programa. Utilizar apenas caracteres do alfabeto (A-Z, a-z), dígitos (0-9), (_) e (-). Não deve-se utilizar espaços. Exemplo: nomUsuario, nome-usuario, nom_usuario, desEndereco01, des-endereco-01, des_endereco_01 No caso de objetos dinâmicos relacionados a atributos de extensão, que sejam novos e do tipo “SOR”, é aconselhável seguir as recomendações acima. Já no caso de atributos “SOR” já existentes ou então em atributos do tipo “Consulta” ou “Extensão”, é sempre recomendável utilizar o botão de zoom (veja a descrição da Função Ligação (SO0708)). Quando o nome é escolhido por intermédio do zoom de nomes, as propriedades rótulo, tipo dado e formato são atualizadas automaticamente. |
Rótulo | Botão Caixa Checagem Caixa Seleção Campo Editor Radio | Contém a identificação externa do objeto. Por intermédio do rótulo é possível identificar um objeto na tela. Botões podem utilizar rótulos ou imagens para identificação. |
Tipo Dado | Caixa Checagem Caixa Seleção Campo Editor Radio Texto | Contém o tipo de dado de um objeto. Os tipos de dado normalmente podem ser: caracter, data, decimal, inteiro, lógico. Objetos do tipo “Editor” sempre são do tipo “caracter”. Objetos do tipo “Caixa Checagem” sempre são do tipo “lógico”. |
Formato | Caixa Checagem Caixa Seleção Campo Texto | Contém o texto que indica o formato do valor de um objeto. Por meio do formato é possível atribuir uma formatação ao objeto. |
Lista Itens | Caixa Seleção Radio | Contém a lista de rótulos e valores de um objeto do tipo radio ou caixa de seleção. Exemplo: “On-line, 1, Batch, 2”. Veja mais informações na descrição da Função Lista Itens (SO0701C). |
Valor Inicial | Caixa Checagem Caixa Seleção Campo Editor Radio Texto | Contém o valor inicial de um determinado objeto, no caso de o mesmo conter um valor fixo, senão, contém as informações do programa de retorno externo que retornará o valor inicial. Essa propriedade pode ser utilizada na inicialização de objetos em adição de registros ou em relatórios (seleção e parâmetros) e também em situações onde se deseja que se aplique o valor inicial para os determinados objetos dinâmicos (caixa de checagem, caixa de seleção e radio), quando não existir um registro relacionado no Banco Repositório ou na ligação do objeto. Os valores iniciais devem ser de acordo com o tipo de dado. Em um radio com Lista Item “On-line, 1, Batch, 2”, o valor inicial deve ser 1 ou 2. Para atributos lógicos, o valor deve ser Yes ou No. Veja mais informações na descrição da Função Valor Inicial (SO0701M). |
Tp Chamada | Botão | Indica o tipo de chamada de um botão. Essa propriedade deve ser utilizada juntamente com a propriedade “valor/campo”. |
Valor/Campo | Botão | Contém o nome do atributo correspondente ou do programa a ser executado. Essa propriedade é utilizada juntamente com a propriedade “Tp Chamada”. Veja mais informações na descrição da Função Valor Campo (SO0701D). |
Importante 3:
Eliminação de Objetos Dinâmicos
Para os objetos dinâmicos que foram inseridos em um determinado perfil de um programa, existe a possibilidade de eliminação desses objetos, por intermédio da tecla <delete>.
Para objetos pertencentes ao programa, a única funcionalidade semelhante disponível é a possibilidade de esconder / desabilitar objetos da tela.
Importante 4:
Objetos Dinâmicos relacionados a atributos
Para objetos dinâmicos relacionados a atributos (Radio, Caixa de Seleção, Editor, Campo, Caixa de Checagem) é muito importante definir a qual frame o objeto será instanciado. A partir da frame é identificada qual é a tabela interna que ela utiliza para criar as tabelas de extensão,. no caso de atributos do tipo “SOR” ou para criar as Ligações, no caso de atributos do tipo “Consulta” e “Extensão”.
Em alguns casos, uma frame pode tratar várias tabelas, sendo necessário a escolha da tabela desejada. Veja mais informações na descrição da Função Adição Objetos Dinâmicos.
Não é possível adicionar objetos dinâmicos relacionados a atributos de extensão em frames que não tratam tabelas.
A partir da criação de objetos dinâmicos relacionados a atributos de extensão (Atributos SOR), é possível adicionar novos campos a determinado cadastro, permitindo efetuar a customização do cadastro de acordo com as necessidades específicas do cliente.
Em casos em que um cadastro é composto por vários programas (um programa de inclusão, um de modificação, um de eliminação, um de consulta) torna-se necessário otimizar todos os programas envolvidos, criando os objetos com as propriedades “nome”, “rótulo”, “tipo de dado” e “formato” iguais no caso de atributos do tipo “SOR”, ou então utilizando a mesma ligação e o mesmo atributo da ligação no caso de atributos do tipo “Consulta” ou “Extensão”. Dessa forma, o Otimizador de Telas reconhece que os vários objetos dinâmicos criados em vários programas tratam-se na verdade do mesmo atributo de extensão (nesses casos, pode-se utilizar o zoom de objetos para relacionar um objeto a outro já utilizado em um perfil). Veja mais informações da descrição da Função Nome (S00701I).
Para objetos dinâmicos relacionados a atributos, é efetuado o seguinte tratamento no ambiente de aplicação, conforme o tipo de atributo:
- Atributo SOR: efetua o sincronismo na criação, modificação e eliminação de registros entre a tabela do programa e a tabela de extensão SOR gerada;
- Atributo Consulta: efetua o sincronismo de valor do objeto para consulta, conforme o valor da tabela do programa.
- Atributo Tabela Específica: efetua o sincronismo na criação e modificação de registros entre a tabela do programa e a tabela do banco de dados específico.
Veja mais detalhes na descrição da Função Aplicação de Otimizações.
Quando da criação de objetos dinâmicos do tipo Atributo SOR, é necessário, após criar o perfil, executar o programa de Gerador de Objetos Dinâmicos (veja a descrição da Função Gerador de Objetos Dinâmicos). Essa necessidade ocorre apenas para novos objetos dinâmicos criados (que exija uma nova tabela ou um novo atributo no banco repositório MGSOR) e deve ser efetuada antes de executar o ambiente de aplicação do perfil. Caso o atributo já tenha sido criado anteriormente no banco repositório, o mesmo já pode ser utilizado no ambiente de aplicação.