Configurando Interface Generalística F01049 para Realizar Edições Diversas
O IW oferece a interface F01049 que oferece inúmeras possibilidades para configuração de interfaces
especializadas para realizar edições ou pesquisas sobre tabelas customizadas ou
mesmo sobre tabelas essenciais do IW.
O processo de configuração do uso da F01049
envolverá a criação de um link de menu ou de painel para o lançamento da
F01049. A figura a seguir ilustra a interface de configuração de links de menu
/ paineis:
Nome da Classe: com.iw.visualLayer.application.IwFormStartEditDialog
Parâmetros: Clique no botão “...” e o IW irá lançar a interface ilustrada
abaixo:
Nome Tabela: Informe o nome da tabela sobre a qual a
F01049 irá atuar.
Where: Você poderá
informar uma cláusula de filtragem para atuar nas pesquisas (limitando assim os
registros que serão tratáveis na F01049).
Comando Sql:
Você poderá também cadastrar aqui um comando SQL que será executado sempre que
o usuário clicar no botão “Pesquisar”.
Não entrar pesquisando (sim, não):
Instrui o IW a entrar pesquisando automaticamente ou não. Para aplicações tipo
sinalizadores de processos valoramos tipicamente com “não”.
Largura: Informe a largura da caixa
de diálogo que será lançada com a F01040 (em pixel). Exemplo: 800
Altura: Informe a altura da caixa de diálogo que será lançada com a F01040
(em pixel). Exemplo: 600
Modo Formulário: (sim,não): Indica se o gride exibido será apresentado no modo “tabela”
(horizontal) ou no modo “formulário” (vertical)
Botão Novo: (sim,não):
Indica se o botão “Novo” será
exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.
Botão Salvar: (sim,não):
Indica se o botão “Salvar” será
exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.
Botão Excluir: (sim,não):
Indica se o botão “Excluir” será
exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.
Nome da Coluna “ID Profissional Última
Atualização: Esse atributo poderá ser valorado com o nome de uma coluna
criada na tabela configurada na F01049 onde será lançado o ID do profissional que tiver realizado a última atualização
sobre cada registro na tabela associada à F01049. Esse recurso pode ser usado para ter um nível
de controle de log sobre edições.
Nome da Coluna “Data Última Atualização:
Esse atributo poderá ser valorado com o nome de uma coluna criada na
tabela configurada na F01049 onde será a data da realização da última atualização sobre cada registro na
tabela associada à F01049. Esse recurso
pode ser usado para ter um nível de controle de log sobre edições.
IMPORTANTE: Além das
funcionalidades descritas acima referentes aos conceitos de IDPERSONUPD e LASTEDTIONDATE é possível também utilizar recursos nativos do gride do IW “referentes a valores default para novas
linhas” para termos controle também sobre o “Usuário que inseriu cada registro” (USERCREATION) e também controle sobre “Data da inserção de cada registro” (CREATIONDATE).
A figura abaixo ilustra a interface de configuração de valores default para
novas linhas criadas no gride:
Para ativar a valoração automatizada da coluna com conceito de “CREATIONDATE” utilize a opção de
valoração default Sysdate.
Para ativar a valoração automatizada da coluna com conceito de “USERCREATION” utilize a opção de
valoração default IDPerson
Caso de Uso:
Utilizando a F01049 para criar uma interface de Cadastramento de Códigos DE-Para para Integração de Sistemas
A figura a seguir ilustra um caso de uso onde estamos utilizando a F01049 para
criar uma interface para mapeamento de códigos de materiais entre o IW e um
outro ERP:
A figura a seguir ilustra a F01049 já devida instanciada para no IW:
Configurando Interfaces de Pesquisas Automatizadas no IW (Interface
F00999)
O IW oferece a interface F00999 que oferece inúmeras possibilidades para configuração de
interfaces especializadas para “sinalizações” de pendências automatizadas em
processos.
Em linhas gerais através da interface F00999 é possivel devenvolver um
comando Sql (baseado em serviço GetRecorSql do IW que oferece diversões
recursos para execução inclusive de uma lista de comandos de preparação e
pré-cálculos) e configuar a F00999
para executar esse comando de forma temporizada.
A figura a seguir ilustra a interface de
configuração de links de menu do IW valorada com a classe equivalente à
interface F00999:
Classe: com.iw.visualLayer.components.IwFormDefaultEditorSqlCmd
Parâmetros: Clique no botão “...” ao
lado e o IW irá lançar a caixa de diálogo ilustrada a seguir:
Descrição dos
Parâmetros:
Índice: Valore com o keyindex do comando cadastrado (IFRSQLCOMMAND) no IW
debaixo do “formid = 999”.
Nome Tabela: Para esse estilo de utilização da F00999
normalmente deixamos esse campo em branco. Esse atributo é comumente utilizado
quando se deseja utilizar a F00999 para editar alguma tabela no IW (Para esse
tipo de aplicação utilizamos mais frequentemente a interace
F01049.
Parâmetros de Filtragem: Nesse
atributo podemos informar argumentos de filtragem para serem passados para o
comando Sql cadastrado. Quando desejamos montar um
quadro de “alertas automatizado” normalmente não configuramos nenhum parâmetro
de filtragem. Contudo o IW oferece essa possibilidade (quando especificados
parâmetros de filtragem a interface F00999 irá exibir em tempo de execução um gride de uma única linha com os atributos de filtragem a
serem preenchidos. A sintaxe para a
declaração de parâmetros de filragem seria: <nome_atributo>%<tipo_atributo>. Os seguintes tipos de dados são comumente
utilizados: INTEGER, STRING, CALENDAR e LONG. Exemplo: NAME%STRING%DATA_INICIO%CALENDAR%GRUPODISPENSACAO%INTEGER%NROATENDIMENTO%LONG.
Não entrar pesquisando (sim, não):
Instrui o IW a entrar pesquisando automaticamente ou não. Para aplicações tipo
sinalizadores de processos valoramos tipicamente com “não”.
Delay: (minutos) Indica o intervalo
em minutos com o qual o comando cadastrado será executado automaticamente. Se
configurado com “1” então a cada “minuto” o comando cadastrado será novamente
executado.
Modo Formulário: (sim,não): Indica se o gride exibido será apresentado no modo “tabela”
(horizontal) ou no modo “formulário” (vertical)
Botão Novo: (sim,não):
Indica se o botão “Novo” será
exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.
Botão Salvar: (sim,não):
Indica se o botão “Salvar” será
exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.
Botão Excluir: (sim,não):
Indica se o botão “Excluir” será
exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.
Nome da Coluna “ID Profissional
Última Atualização” (IDPERSONUPD): Esse atributo poderá ser valorado com
o nome de uma coluna criada na tabela configurada na F01049 onde será lançado o ID do profissional que tiver realizado a
última atualização sobre cada registro na tabela associada à
F01049. Esse recurso pode ser usado para
ter um nível de controle de log sobre edições.
Nome da Coluna “Data Última Atualização”
(LASTEDTIONDATE): Esse atributo poderá ser valorado com o nome de uma
coluna criada na tabela configurada na F01049 onde será a data da realização da
última atualização sobre cada registro na tabela associada à F01049. Esse recurso pode ser usado para ter um nível
de controle de log sobre edições.
IMPORTANTE: Além das
funcionalidades descritas acima referentes aos conceitos de IDPERSONUPD e LASTEDTIONDATE é possível também utilizar recursos nativos do gride do IW “referentes a valores default para novas
linhas” para termos controle também sobre o “Usuário que inseriu cada registro” (USERCREATION) e também controle sobre “Data da inserção de cada registro” (CREATIONDATE).
A figura abaixo ilustra a interface de configuração de valores default para
novas linhas criadas no gride:
Para ativar a valoração automatizada da coluna com conceito de “CREATIONDATE”
utilize a opção de valoração default Sysdate.
Para ativar a valoração automatizada da coluna com conceito de “USERCREATION”
utilize a opção de valoração default IDPerson
Configurando Interfaces de Uso Genérico Avançadas (F0998)
O IW oferece a interface F00998 que oferece funcionalidades avançadas para usuários com
desenvolvedores no IW.
A principal diferença dessa interface é a possibildade de implementação de
interfaces com múltiplas abas com comportamento hierárquico.
Veja um exemplo: Cadastro de paises, Estados
/ Províncias e Municípios em 3 abas relacionadas (hierárquicas):
Notem a presença de um botão de Help (interrogação em cor amarela). É possível
deixar parametrizada um ID de mensagem cadastrada no IW para ser lançado no
acionamento desse botão, de modo que é possível customizar um texto de ajuda
básico sobre a interface customizada.
Ao selecionarmos um país e navegarmos para a 2ª aba veremos os “Estados /
Provincias” do país selecionado:
Selecionando um Estado e navegando para a 3ª aba veremos os “Municípios” do
“Estado” selecionado:
Notem
nas figuras acima que temos disponíveis transações para realizadas edições:
Botões “Novo” e “Salvar”. Podemos ainda configurar campos de filtragem: Na
figura acima temos a possibilidade de filtrar a lista de “Munípios” por “nome”
ou campo “ativo”. Na figura abaixo realizamos a pesquisa filtrando somente
“Municípios” cujos nomes se iniciam com a letra “B”:
Parametrizando a F0998
Declare o o link de acesso a nova interface no menu árvore do IW (ou poderá
realizar esse passo diretamente sobre uma transação de um painel de navegação:
Exemplo: Na base de dados dbIwHealh,
realizamos a configuração de um caso de uso completo da interface F0998:
Acionando essa opção de menu veremos:
Navegando para a 2ª aba teremos:
Selecionando uma linha no gride e navegando para a 3ª aba teremos:
No cadastro do link de acesso acione o botão
“Editar” ilustrado na figura abaixo:
utilize a classe indicada
abaixo:
Será lançada a caixa de diálogo ilustrada a
seguir:
Classe:
com.iw.visualLayer.components.IwFormDefaultEditorCmdTabs
Para ter acesso à interface de cadastramento das parametrizações acione o botão
“...” ao lado do campo “Parâmetros” e o IW apresentará a caixa de
diálogo de parametrização inicial conforme ilustrado abaixo:
Note que esse gride tem 5 linhas (possibilidade de configuração de interfaces com
até 5 abas), execute um duplo clique com o botão esquerdo do mouse sobre o
cabeçalho desse gride: O IW irá mostrar as 5 linhas presentes. Cada linha
corresponderá à parametrização de uma das abas da interface sendo desenvolvida:
Nota: Nesse exemplo
ilustrativo onde temos tabelas interdependentes será importante, para garantia
da consistência dos modelo de dados, criar chaves estrangeiras e primary_key
nessas tabelas. Vejam os comandos abaixo:
ALTER TABLE TD_CITY ADD CONSTRAINT FK_TDSTATE_TDCITY FOREIGN KEY (IDTD_STATE) REFERENCES TD_STATE(ID);
|
Parametrizando a interface 998 com 3 abas:
Em nosso exemplo estaremos criando uma interface com 3 abas hierárquicas. Abaixo vemos o gride de
configuração de cada uma dessas abas:
O quadro a seguir ilustra o conceito básico dos novos atributos introduzidos na
interface 998:
Nota: Os atributos presentes nas figuras acima eu não constam no quadro
abaixo “mesmo conceito da interface 999” e continuam funcionais também na 998.
Nome do atributo |
Descrição |
Índice |
Keyndex do comando cadastrado executado na
“Pesquisa” da aba |
Nome da Tabela |
Nome da tabela principal do comando da aba
correspondente |
Lista de Filtros |
Atributos de filtragem que serão exibidos
na aba correspondente. |
Sem Pesquisa Inicial |
(sim,não). Determina se ao navegar para a
aba a pequisa já será realzada automaticamente |
Chave gride origem |
Esse atributo é utilizado quando desejamos
a valoração de um combo box de opções no gride seja sincronizado (filtrado)
com a seleção de um outro combo box. |
Filtro Gride Destino |
Esse atributo é utilizado quando desejamos
a valoração de um combo box de opções no gride seja sincronizado (filtrado)
com a seleção de um outro combo box. |
Minutos entre pesquisas |
Utilizado para casos de telas que fazem
repesquisas automáticas. |
Modo formulário |
(sim,não). Determina o modo default de
exbição do gride (tabela ou formulário). Se sim é adotado o mod fomulário
(colunas na vertical). |
Botão Novo |
(sim,não) Se valorado com “sim” será
exibido botão “Novo” |
Botão Salvar |
(sim,não) Se valorado com “sim” será
exibido botão “Salvar” |
Botão Excluir |
(sim,não) Se valorado com “sim” será
exibido botão “Excluir” |
Coluna ID Pessoa |
Deve ser valorado com a coluna na tabela
correspondente que receberá o ID da Pessoa que estiver realizando edições
sobre a tabela (para fins de rastreabilidade) |
Coluna Data Últ Edição |
Deve ser valorado com o nome da coluna
onde será armazenada a data da última edição sobre cada registro (para fins
de rastreabilidade). |
Coluna Usuário Edição |
Deve ser valorado com o nome da coluna
onde será armazenada o nome do usuário que efetivou a última edição sobre o
registro da tabela associada à aba. |
Título da Aba |
Informe o “Título” que será exibido na aba
correspondente. |
Ligação: NmColunaDestaAba =>
TblPai.NmColuna |
Esse atributo é determinantes para a
configuração do relacionamento (interdependência funcional) entre as abas da
interface sendo criada. IMPORTANTE: Esse atributo é um combo box populado automaticamente pelo
sistema com base na declaração formal da chave estrangeira entre entre as
tabelas “desta aba” e sua respectiva “tabela pai”. O
comando cadastrado formid = 998 keyindex 1999 é quem populará
corretamente esse combo box. |
Coluna Identificante na TblPai |
Valore com o nome da coluna na tabela Pai
identificante: Essa informação será mostrada no cabeçalho da aba
correspondente à tabela filha. Na 2ª aba: valore com COUNTRYNAME O comando
cadastrado formid = 998 keyindex 1998 é quem populará corretamente esse combo
box. |
Índice do comando SQL ao Salvar |
Quando for desejado “customizar” a
transação “Salvar” Informe o KEYINDEX do comando cadastrado (na F0172 sob
formid = -998) que será executado no acionamento do botão “Salvar” |
Índice do comando SQL ao Excluir |
Quando for desejado “customizar” a
transação “Salvar” Informe o KEYINDEX do comando cadastrado (na F0172 sob
formid = -998) que será executado no acionamento do botão “Excluir” |
Nº de registros por página |
Valore com o número máximo de registros da
paginação. |
ID Mensagem Help |
Informe o ID da mensagem cadastrada no IW
que será exibida no acionamento do botão “?” exibido na 1ª aba. Nota: Se deixado em branco não será
exibido o botão “?” (Help) na 1ª aba. |
Botão Extra 1 |
A F0998 permite que sejam configurados
botões “Extras”. |
Botão Extra 2 |
A F0998 permite que sejam configurados
botões “Extras”. |
Botão Extra 3 |
A F0998 permite que sejam configurados
botões “Extras”. |
Botão Extra 4 |
A F0998 permite que sejam configurados
botões “Extras”. |
Botão Extra 5 |
A F0998 permite que sejam configurados
botões “Extras”. |
Alteração Deve Enviar Todas as Colunas,
Exceto as Somente Leitura |
Em condições normais de edições em
“grides” do IW, em transações de “edição” o IW irá enviar paro serviço
somente as colunas que foram efetivamente editadas pelo usuário. Nessa condição esse atributo deve ser
valorado com a opção “não”. IMPORANTE:
Quando valorarmos com “sim” devemos ter o seguinte cuidado:
Eventualmente na constução dos comandos de pesquisa que fazem parte das
funcionalidades da F0998 podem estar sendo listadas colunas que não correspondam
a colunas fisicamente declaradas nas tabelas correspondentes. Essas coluna
deverão ser obrigatoriamente declaradas no gride como “readonly”, para que
elas seja retiradas da lista de atributos enviados par ao serviço (caso
contrário ocorrerá erro na execução do serviço de atualização. |
Detalhamento Complementar de Atributos
Atributo: Índice
Esse atributo deverá ser valorado com o
“keyindex” (índice) do comando cadastrado sob o formid 172 que será acionado
quando o usuáiro acionar o botão “Pesquisar” nas respectivas abas:
Para realizar o cadastramento de comandos
cadastrados no IW acione o item de menu ilustrado abaixo:
Será lançada a interface F0172 que
ilustramos abaixo: Filtre por Formid = 998 e terá acesso a todos os comandos
previamente cadastrados relaconados à interface F0998:
Para uso de implementações customizadas
nos clientes da IW Software deve ser utilizada a faixa de 2.000 a 7.999. Comando: 2352:
|
Atributo: Lista de Filtros
Esse atributo deve ser valorado com a
relação de filtros desejados para pesquisa em cada uma das abas.
A figura a seguir ilustra como devemos
declarar os “tipos de dados” dos atributos de filtragem:
Atributos: Coluna “Chave Extrangeira”
Esse atributo é determinantes para a
configuração do relacionamento (interdependência funcional) entre as abas da
interface sendo criada.
Ele deverá ser valorado com a seguinte regra: NmColunaDestaAba =>
TblPai.NmColuna
No nosso exemplo valoramos:
Na 2ª aba do nosso exemplo: IDGLBCOUNTRY => GLBCOUNTRY.ID
Na 3ª aba do nosso exemplo: IDGLBSTATE => GLBSTATE.ID
Ele deverá ser valorado com
Nota: A figua a seguir ilustra as modalidades de relaconamento entre
abas suportadas:
Exemplos:
Atributos: Índice do comando SQL ao Excluir
A figura a seguir mostra um exemplo onde foi
implementada uma customização na transação “Excluir” para impedir a remoção de
registros com determinadas classificações:
Recurso
para Lançamento da Interface de Prontuário do IW
A interface
F00998 oferece um recurso que permite exibir um “botão: Lançar Prontuário” que
irá instanciar a interface e de prontuário eletrônico do IW (F01039) já devida
posicionada com o paciente referenciado na linha selecionada no gride da F00998.
Para que esse botão seja exibido basta que o comando cadastrado deverá retornar
um coluna de nome exatamente igual a
“IDADMISSIONLAUNCH” contendo o valor do IDADMISSION do paciente.
Configurando
valores Default para Campos de Filtragem
Para
determinar valores default para campos de filtragem, podemos utilizar o recurso
nativo do IW que permite determinar valores default no configurado do atributo
no gride.
A figura
abaixo mostra a configuração de um valor default par ao atributo de filtragem
de períodos de datas:
Na interface
F00998 ilustrada abaixo, no lançamento da mesma, o atributo de filtragem denominado “Registro de:”
será valorado automaticamente com data corrente – 30 dias.
Estendendo o Menu de Navegação
do IW
O IW permite que sejam criados, dinamicamente, novas configurações do menu de navegação. Esse recurso deve ser utilizado somente para usuários administradores com conhecimento avançado do IW. Nota: A forma mais prática e eficiente de configurar um bom sistema de navegação para usuários finais no IW consiste na configuração de “painéis customizados de navegação”. A criação de novos itens de menu deve nominalmente ficar restrita a usuários avançados (administradores do sistema) com intuito de criar recursos para sua própria utilização ou testes.
Tipicamente
esse tipo de recurso é usado para criar interfaces customizadas a classe F01049
(interface visual de uso genérico). Para inserir um item no menu, se posicione
no ponto da árvore no menu de navegação abaixo do qual se deseja inserir o novo
item e clique no botão novo ilustrado abaixo:
Ao clicarmos no botão inserir o IW irá abrir a seguinte caixa de diálogo:
Descritivo dos campos:
Nome Menu: informe exatamente qual será o nome da opção de navegação no menu. Nota : Esse campo está limitado a 30 caracteres, caso seja informado um nome com mais de 30 caracteres ocorrerá a seguinte mensagem de erro :
Nota: A
mensagem acima é emitida nas instalações que usam o banco de dados “oracle”. Nas instalações que utilizam o banco “SqlServer” a mensagem de erro seria conforme ilustrado
abaixo:
Em ambos os a mensagem de erro está indicando que foi informado um campo com número de caracteres maior do que tamanho máximo admitido pela coluna declarada no banco de dados.
FormID: pode-se informar o ID do tela desejada e digitar a tecla <tab>. Nesse caso o IW irá pesquisar o nome da classe visual e irá preencher o próximo campo denominado “Classe” automaticamente.
Classe: Nesse campo pode ser informado diretamente o nome da classe visual do IW que será ativada no acionamento do novo item de menu. Por exemplo, para lançar a interface genérica F01049 informe o seguinte nome de classe nesse campo: com.iw.visualLayer.application.IwFormStartEditDialog (Nota: copie e cole o nome da classe para prevenir-se contra erros de digitação).
Seq: Esse campo é utilizado pelo IW para ordenar as opções de menu. Você deverá consultar antes os valores do campo “seq” logo anterior e logo posterior do ponto no menu onde se deseja que fique posicionada a nova opção de menu. Nota: Tipicamente valoramos o campo seq como múltiplos de 10 ou 100 para que fiquem lacunas de valores (visando permitir que sejam, mais tarde, inseridas novas opções de menu entre dois itens subsequentes).
Caixa de seleção: Deixe esse campo em branco.
AdminOnly: Ative essa caixa de checagem caso a nova opção de menu deva estar visível somente para usuários com status de “administrador”.
Parâmetros: Diversas classes visuais do IW admitem que sejam passados “parâmetros menu” que determinam o comportamento da interface a ser lançada. Para cadastrar os parâmetros de lançamento pode-se tanto copiar e colar diretamente a sequência de valores dos parâmetros ou clica-se no botão “...” logo ao lado do campo “Parâmetros”, nesse caso o IW irá lançar a caixa de diálogo que ilustramos abaixo:
As possibilidades de passagens de parâmetros são muito vastas. Nesse manual vamos apenas descrever alguns modelos de parametrização suportados exclusivamente pela Classe visual denominada “ com.iw.visualLayer.application.IwFormStartEditDialog” nos seguintes casos de uso:
Caso de uso I: Configurando a 1049 para visualizar / editar uma tabela do banco de dados:
Para configurar o lançamento da interface F01049 para visualizar / editar uma tabela do banco de dados basta selecionar a tabela desejada diretamente no campo denominado “Tabela”. Quando clicamos nesse campo o IW abre uma caixa de seleção previamente populada com o nome de todas as tabelas que fazem parte do modelo de dados do IW.
Os campos
“Largura” e “Altura” permitem dimensionar o tamanho da caixa de diálogo que
será lançada (em pixels). A figura a seguir ilustra um exemplo de configuração
da F01049 para visualização do conteúdo da tabela de cadastramento de
frequências de consultas domiciliares, com ordenação das linhas no gride por nome da frequência (order
by = NAME) e com lançamento de uma caixa de diálogo
com dimensões de 600 pixels de largura e 400 pixels de altura:
Caso de uso II: Configurando a 1049 para visualizar o resultado de um comando sql customizado:
Nesse tipo de configuração é possível escrever um comando sql (com prompt de parâmetros) e associar esse comando ao item de menu sendo cadastrado. Desse forma, quando esse item de menu for acionado o IW irá primeiramente solicitar valores para os parâmetros de filtragem e na sequência irá executar o comando sql devolvendo o resultado do mesmo em um gride para visualização e eventualmente exportação para arquivo .csv etc. A seguir vamos exemplificar dois casos de uso dessa funcionalidade.
Caso (1) : Com passagem de parâmetros de filtragem pré-definidos
(obrigatórios e com operador relacional livre)
Para executar essa parametrização, antes de mais nada, deveremos criar uma tabela estendida na base de dados do IW. Essa tabela servirá ao propósito de oferecer um ID para registro do comando sql customizado. Para criar essa tabela utilize a navegação (menu – administrador – (9) Configurar DPC – (1) Configurar tabelas). Essa tabela não precisará ter nenhuma coluna declarada (na criação de qualquer no IW são criadas algumas colunas automaticamente, pode-se manter apenas as colunas que são criadas automaticamente.
Importante:
(a) Tabelas estendidas no IW obrigatoriamente devem ter no nome o prefixo “TD”. No exemplo vamos declarar uma tabela denominada TD_DUMMY (sugestão: sempre que formos utilizar esse tipo de recurso pode-se utilizar essa nomenclatura : TD_DUMMY_01 , TD_DUMMY_02 etc).
(b) Não pode “reutilizar” uma mesma tabela TD_DUMMY para implementar telas customizadas distintas, pois o ID da tabela estendida é quem irá endereçar o comando sql que será executado quando lançarmos e executamos a pesquisa na interface customizada. Ou seja, para cada tela customizada crie uma tabela TD_DUMMY_n exclusiva.
A figura a
seguir ilustra a interface F00076 utilizada para realizar a criação da tabela
dinâmica:
Após criar a
tabela dinâmica no IW, acesse: menu – administrador – (10) Configurar serviços
– (1) Configurar cache. O IW irá lançar a interface F00097 que ilustramos
abaixo:
Navegue para a
segunda aba dessa interface e clique no botão “Reconstruir” ilustrado acima.
Essa operação fará com que a nova tabela criada (TD_DUMMY nesse exemplo) fique
visível no ambiente de configuração dos grides do IW.
Após executar essa operação, saia do IW e faça novo login.
O próximo
passo será criar um novo item de menu relacionado a
essa nova tabela dinâmica. Para isso , se posicione no
ponto do menu abaixo do qual desejamos criar o novo link de navegação e vamos
clicar no botão “Inserir”. O IW irá abrir a caixa de diálogo solicitando os
parâmetros par ao novo item de menu que ilustramos abaixo:
Informe o
“Nome Meu” = nome da opção que aparecerá no menu e a classe = com.iw.visualLayer.application.IwFormStartEditDialog”.
No campo parâmetros clique no botão “...”. O IW irá lançar a seguinte caixa de
diálogo:
Nota: Informe a tabela dinâmica criada = TD_DUMMY (no nosso exemplo)
Com o item
de menu criado com a parametrização acima execute o acionamento do mesmo para
que a interface F01049 seja lançada, conforme ilustração abaixo:
Nesse
momento o IW já criou um registro na tabela IFRSQLCOMMAND relacionado com o
item de menu que acabamos de configurar. O próximo passo será cadastramos o
comando sql customizado no gride.
Para isso na própria caixa de diálogo que ilustramos acima clique com o botão
direito do mouse sobre o cabeçalho do gride e
selecione a opção “Configuração” conforme ilustração abaixo:
O IW irá
lançar a caixa de diálogo para configuração do gride
F00138 que ilustramos abaixo:
Clique no
botão denominado “Sql Commad”,
o IW irá abrir uma caixa de diálogo para cadastramento do comando sql customizado conforme ilustrado abaixo:
Notas:
· os campos “?” na ilustração do comando acima são justamente os parâmetros que serão promptados para os usuários devidamente “encaixados” no comando sql customizado.
· ao final do comando coloque um caracter “|” (pipe) e declare os nomes dos parâmetros de prompt. No exemplo acima foram declarados dois parâmetros de prompt denominados “data_inicio” e “data_fim”.
Após cadastrar o comando sql clique no botão “ok” ilustrado acima. O IW irá emitir uma caixa de diálogo solicitando um “nome para esse comando sql conforme ilustramos a seguir:
Forneça um
nome para o comando sql e anote o nome desse comando.
Após informar o nome para o comando sql clique no
botão “ok” da interface ilustrada acima. O IW armazena os comandos sql customizados na tabela denominada “IFRSQLCOMMAND”. Para
visualizar o registro do comando customizado nessa tabela lance a interface “Sql & Debug” e execute o comando ilustrado abaixo:
Notas:
· O nome do comando citado na cláusula de pesquisa sql ilustrada acima deve ser justamente o nome do comando sql informado anteriormente. Caso retornem mais de uma linha no gride (sinal de que já existia um outro ou outros comandos sql com mesmo nome) considere a linha de maior ID e certifique que o comando que acabou de ser cadastrado de fato está gravado nessa linha.
· Para proceder ajustes / correções no comando sql execute um duplo clique com o botão esquerdo do mouse diretamente sobre o conteúdo da célula que armazena o comando sql (coluna denominada SQL COMMAND no gride acima). O IW irá abrir uma caixa de diálogo ampliada para visualização e/ou edição do comando. Para salvar a alteração no comando simplesmente clique no botão “Salvar”.
Após ter
cadastrado o comando sql retorne para a caixa de
diálogo de cadastramento dos parâmetros e cadastre os parâmetros do comando
propriamente ditos e comute o parâmetro que instrui o IW a utilizar um comando sql customizado. A figura a seguir ilustra como deve ficar
a configuração dos parâmetros:
Ou seja:
ativamos o atrbuto : “Usar Grid Cmd Sql” = sim , opcionalmente informamos as dimensões de
largura e altura da caixa de diálogo que será lançada e , fundamentalmente, no
atributo “Comando Sql” declaramos os que serão prmptados para o usuários antes
da execução do comando sql. Note que na declaração
dos parâmetros de prompt deve-se escrever o nome do
parâmetros (exatamente como o mesmo foi declarado no comando sql e na mesma sequência em que os parâmetros aparecem no
comando sql), seguidos do tipo de dados do parâmetro
separados por dois caracteres %. Os seguintes tipos de dados podem ser
utilizados:
CALENDAR = campo tipo data
INTEGER = campo tipo integer
LONG = campo de ID de alguma tabela no IW
STRING = campo tipo texto
Após
efetivar a correção dos parâmetros de lançamento conforme ilustrado acima , acione novamente o novo item de menu que estamos
configurando. Agora o IW já irá reconhecer que deverá executar um comando sql, já possui o comando sql
cadastrado e já possui os parâmetros de prompt. Nesse momento o IW irá executar
a rotina que faz o prompt dos parâmetros. A figura a seguir ilustra a caixa de
diálogo que será emitida pelo IW com o prompt dos parâmetros:
Execute um
duplo clique com o botão esquerdo do mouse sobre o cabeçalho do gride, para colocá-lo no formato tabela, e execute um duplo
clique com o botão direito do mouse sobre o cabeçalho do gride
e lance a opção “configuração” para configurar o gride.
O IW irá apresentar a interface F00138 posicionada sobre os atributos do gride de prompt conforme ilustramos a seguir
:
Basicamente
deve-se deixar os campos de prompt “editáveis” e, nesse caso de uso específico,
deve-se também deixá-los como obrigatórios. No nosso exemplo configuramos ainda
os campos como sendo campos tipo “data” para que a edição dos
mesmos possa ser realizada através do componente de edição de datas.
Para efetivar essas configurações clique sobre a linha do atributo desejado e
em seguida acione o botão denominado “Config”
ilustrado acima. O IW irá exibir a caixa de diálogo F00139 ilustrada a seguir:
Após a
configuração do gride execute novamente o lançamento
da interface do item de menu que estamos configurando. Agora o gride que exibe os parâmetros de prompt já corretamente
editáveis conforme ilustrado a seguir:
Forneça os valores desejados para os parâmetros de prompt e clique no botão “ok” ilustrado acima. Nesse momento a parametrização já está completa, o IW irá executar o comando sql customizado e irá apresentar o resultado do mesmo em um gride conforme ilustrado abaixo:
Caso (a): Configuração da F01049 com comando sql
customizado com passagem de parâmetros de filtragem “não obrigatórios” com
operador relacional “=”
Nota: Nessa condição o IW acrescenta automaticamente as cláusulas de filtragem no comando sql. Esse recurso está disponível unicamente para cláusulas envolvendo o operador relacional “=”.
Nesse exemplo configuramos o item de menu da seguinte forma:
Abaixo
ilustramos os detalhes da valoração do atributo “parâmetros” que pode ser
alcançado clicando-se no botão “...” logo ao lado desse atributo:
O atributo “Comando sql” (onde são declarados os parâmetros de prompt) ficou da seguinte forma:
A.ID%LONG%C.Gender%INTEGER%C.NAME%STRING%A.CreationDate%CALENDAR%
Quanto ao
comando sql, nesse caso, foi cadastrado o seguinte
comando:
Nota: Perceba que nesse caso de uso “não declaramos os parâmetros de prompt”
diretamente no comando sql. Nesse modelo o IW irá
acrescentar os filtros dinamicamente “somente para aqueles atributos de prompt
que forem de fato informados pelo usuário no momento da pesquisa”.
Quando executamos esse item de menu o IW irá lançar a seguinte caixa de diálogo de prompt:
Informe
os filtros desejados e clique o botão “OK”.
O IW irá apresentar igualmente o
resultado da pesquisa no gride conforme ilustramos a
seguir: