ExporDic

ExporDic

 

 

Ferramenta para exportar, documentar e gerar updates de atualização de dicionários.

 

A ferramenta ExporDic tem com objetivo agilizar o processo de documentação das customizações de dicionários e atualização das mesmas em dicionários e bases de nossos clientes.

Basicamente o ExporDic lê os dicionários de um ambiente procurando pelas opções selecionadas, separa esses registros de dicionários em novas tabelas (CTREE ou DBF), pode gerar um documento do MS-Word sobre eles e também um fonte de update em AdvPL para a atualização dos dicionários e base.

Para utilização temos basicamente 2 passos:

  • Geração das atualizações
  • Aplicação do update em base

 

 

Geração das atualizações

 

A ferramenta pode ser incluída em algum menu do sistema Microsiga Protheus ou pode ser chamada diretamente da tela de splash do SmartClient, desta forma:

 

 

 

Tela Principal

 

Tela principal

 

Onde:

 

Seleção de Tabelas

Marca/Desmarca manualmente quais as tabelas que serão analisadas para geração das customizações do dicionário. Ex SA1

Obs.: Clicando no cabeçalho da primeira coluna são marcados ou desmarcados todos.

Tabelas Marcadas

Nesta janela são mostradas quais as tabelas que estão marcadas para analise

Seleção do Diretório de Destino

É o diretório onde serão gravados os dicionários customizados gerados e/ou o programa fonte de update e DER.

Sufixo

É o sufixo que será colocado nos dicionários gerados. Por exemplo, se o sufixo dor “FST” os dicionários gerados serão: sixfst.dbf, sx2fst.dbf, sx3fst.dbf, etc.

Seleção de Dicionários

Define quais os dicionários que serão ou não gerados e/ou documentados.

Obs.: Clicando no cabeçalho da primeira coluna são marcados ou desmarcados todos. Clicando no cabeçalho da coluna Dicionários, são marcados SX2, SX3, SIX, SX7, SXA, SXB, SX9 e se houver XXA

Marcação usando mascaras

Pode-se marcar/desmarcar várias tabelas de uma vez utilizando-se “máscaras’, por exemplo, se quisermos marcar todas as tabelas SA?, basta digitar SA? e teclar “Marcar” e todas as tabelas SA? serão marcadas. O mesmo vale para “Desmarcar”.  A opção “Lista” permite a marcação através de uma lista de tabelas.

Pesquisa tabela

Executa a pesquisa de uma tabela na janela de seleção de tabelas

Gerar Dicionários

Seleciona se serão gerados ou não arquivos com os dicionários da tabelas selecionadas.

Gerar D.ER.

Seleciona se será gerado ou não o diagrama de entidade relacionamento com as customizações dos dicionários das tabelas selecionada

Gerar Update

Seleciona se será gerado ou não o fonte de update com as customizações dos dicionários das tabelas selecionadas.

Obs. Após sua geração o ideal é que se faça a revisão do fonte e pode-se alterá-lo conforme a necessidade do projeto tirando-se ou acrescentando-se itens.

Gerar Documentação

Seleciona se será gerada ou não a documentação dos dicionários das tabelas selecionadas.

Help de Campos

Seleciona se será ou não adicionado ao fonte de update gerado, os helps dos campos. É preciso que a opção Gerar Update esteja selecionada.

Fonte Update

Nome com o qual será gerado o fonte de update

Visualizar

Pode-se visualizar o fonte de update gerado através deste botão, ele acionará o programa associado no sistema operacional para editar arquivos (se houver). Como é feita uma cópia do fonte para a maquina local para se efetuar a visualização, as alterações feitas não terão efeito.

E-mail

Pode-se enviar o fonte de update gerado através deste do Outlook, como um anexo. Ao acionar o botão será aberta a tela de envio de e-mail do Outlook já com o fonte como anexo, essa funcionalidade só funciona com o Outlook, não funciona com o Outlook Express.

Driver de geração

Seleciona se os dicionários gerados serão em DBF ou CTREE

Gerar

Gera as opções selecionadas

 

 

Seleção de Campos

 

Seleção de campos

 

Onde:

 

Seleção de campos

Lista dos campos selecionados

Selecione os campos das tabelas a serem considerados. Terá efeito para SX3 e SX7.

Digite 1 campo por linha ou separados por ESPAÇO ou por PONTO-E-VÍRGULA

Considerar apenas os campos da seleção

Se a opção CONSIDERAR APENAS OS CAMPOS DA SELEÇÃO estiver marcada, apenas os campos da lista serão gerados e as para tabelas selecionadas que não tenham campos na lista não será gerado nenhum campo.

Se a opção não estiver marcada,  para as tabelas sem campos  na lista serão gerados todos os campos e para as que tenham campos na lista, apenas os campos informados serão gerados.

Tabelas para importar campos

Digite a tabela(s) para importar a lista de campos. Pode-se selecionar uma ou mais tabelas.

Ex. SA1 ou SA1;SA2;SA3

 

 

1ª Tela de opções

 

1a Tela de opções

 

Onde:

 

Para tabelas do Padrão

Normalmente é gerado somente o que foi customizado de cada dicionário. Desmarcando estas opções serão geradas todas as informações dos dicionários, por exemplo, suponhamos que a tabela marcada é a ‘SA1’, da forma normal no SX3 gerado só constará os campos customizados, se desmarcamos a opção correspondente ao SX3 nesta janela, todos os campos do ‘SA1’ serão exportados, inclusive para o update. Isso pode ser útil se quisermos gerar uma atualização de estrutura de uma tabela.

Obs.: Clicando no cabeçalho da primeira coluna são marcados ou desmarcados todos.

Tabelas do SX5 para geração

Informe quais as tabelas do SX5 serão utilizadas para a geração e/ou documentação

Parâmetros para geração

Informe quais os parâmetros do sistema (SX6) serão utilizadas para a geração e/ou documentação

Grupo de perguntas SX1 para exportação

Informe quais os grupos de perguntas (SX1) serão utilizadas para a geração e/ou documentação

 

 

2ª Tela de opções

 

2a Tela de opções

 

Onde:

 

 

Diagrama de Entidade e Relacionamento

Nome

Nome para o arquivo de D.E.R. gerado

Visualizar

Visualiza o arquivo de D.E.R. gerado

Seleção do layout do D.E.R.

Seleciona o layout:

Diagrama: Lista na forma de um diagrama visual

Documento Word: Lista em um documento do MS-Word

Qtd.Colunas

Se o layout for Diagrama, define quantas colunas ele terá

Todos os campos

Se marcado lista todos os campos da tabela, se não serão listados as apenas os campos de relacionamento

Listar o contradomínio

Se o layout for Documento Word, lista ou não contradomínio

 

Opções gerais de geração

Campos com ValidUser

Se esta opção for selecionada os campos, mesmo que do padrão, com um validuser preenchido também serão gerados

Campos reservados

Se esta opção for selecionada, os campos reservados como xxx_USERLGA, xxx_USERLGI, xxx_MSEXP, etc. também serão gerados

SXB relacionados aos campos

Quando se exporta uma tabela, pode-se ou não exportar as consultas padrão relacionadas à seus campos

 

Opções para geração do update

Update para TMS

Gera o fonte de update apenas com os arrays de dados, esta é uma opção utilizada geralmente pelo módulo TMS

Update sem comentários

Gera ou não os comentários no fonte de update

Update com pergunta de sobrescrever

No update gerada será feita uma pergunta quando o dado já existir no dicionário. Apenas para SX3, SX6, SXB

Update SX3 só para novos

No update não fará atualização de campos que já existam, apenas criará os campos novos.

Update SX6 só para novos

No update não fará atualização de parâmetros que já existam, apenas criará os parâmetros novos.

Update SX7 só para novos

No update não fará atualização de gatilhos que já existam, apenas criará os gatilhos novos.

Gerar update com CH

Gera ou não o update com um include de tradução CH

Default para update SX3 com .T.

O update para o dicionário de campos SX3, tem um tratamento para quando o campo existe no dicionário destino e para quando não existe. Quando não existe são preenchidos todos os dados do SX3, quando existe apenas os dados que estão com .T. no update são atulizados. 
Este parâmetro é para definir se o default a ser gerado no update é .T. ou  .F.
Gerar update com X3_VLDUSER Define se gera ou não a atualização do dado X3_VLDUSER quando o campo já existe no dicionário destino.
Gerar update com X3_OBRIGAT Define se gera ou não a atualização do dado X3_OBRIGAT quando o campo já existe no dicionário destino.
Gerar update com X3_WHEN Define se gera ou não a atualização do dado X3_WHEN quando o campo já existe no dicionário destino.
Atualizar X3_WHEN apenas quando vazio Define que o X3_WHEN só será atualizado se no campo destino ele estiver vazio. É necessário que a opção Gerar update com X3_WHEN esteja selecionada.
Atualizar X3_RELACAO apenas quando vazio Define que o X3_RELACAO (inicializador padrão) só será atualizado se no campo destino ele estiver vazio. 
Gerar SX9 somente quando tabela é domínio Define se só será gerado o SX9 se a tabela for o domíno da relação. Marcado gerará somente quando for domínio e desmarcada quando for domínio ou contra-domínio.
Gerar helps em Espanhol e em Inglês Define se serão gerados os helps de campo em Espanhol e Inglês no programa de update. Pode ser util para diminuir o tamanho do fonte gerado.
Gerar update com validação de Admin para execução Define se no update a ser gerado, terá ou não validação para que somente usuários que são ADMIN possam executá-lo

 

Documentação

Seleção do modelo Word de Dodumentação

Diretório onde se encontra o arquivo de modelo do MS-Word para documentação

Seleção do layout de documentação

A documentação será gerada pelo modelo do MS-Word, no modelo do uso dos processos CMMi, SAS70 ou do Boletim Técnico , esta opção serve para escolher qual layout utilizar.

 

 

Exemplo de documentação gerada

 

 

 

Exemplo de D.E.R. gerado

 

Abrir em uma nova janela

 

 

Aplicação do update em base

 

No processo anterior o ExporDic gerou os arquivos com as customizações e/ou novas tabelas criadas e alteradas que podem, conforme o caso serem “appendadas” diretamente nos dicionários do cliente, e gerou também um fonte em AdvPL para update.

A atualização da base com este update pode ser feita de duas formas: compilando-se o fonte no ambiente que se deseja ou compilando-se o fonte numa base local gerando-se apenas o patch deste fonte para aplicação em outro ambiente.

Em ambos os casos as telas da aplicação serão as apresentadas a seguir, o update deve ser executado diretamente da tela de splash do remote:

 

Tela Inicial

 

É apresentada uma tela inicial sobre o update.

 

Tela Splash

 

A seguir é apresentada uma tela para a seleção de quais empresas serão aplicadas o update.

 

Seleção Empresas

 

Onde:

 

Todos

Marca / Desmarca todas as empresas

Empresa Marcar / Desmarcar

Faz a marcação ou desmarcação por máscaras conforme a seleção.

Inverter

Inverte marcados e desmarcados

 

Após a confirmação será aplicado o update nas empresas selecionadas.

 

Confirmação

 

Após a execução do update é apresentado um tela com as inclusões e alterações do update.

 

Confirmação

 

 

Tratamento diferenciado para o update do Dicionário de Campos (SX3)

 

A partir da versão 4.19.8k do ExporDic, na atualização do Dicionário de Campos (SX3) o vetor que contém os dados à serem atualizados, será um vetor bi-dimensional, onde:

  • O primeiro elemento é o dado a ser atualizado propriamente dito
  • O segundo elemento é um booleno (.T. / .F.) que determina se aquele dado será atualizado quando existir o campo ou não.

No momento da atualização do Dicionário de Campos (SX3), o update verifica se aquele campo já existe, não existindo o campo, ele é criado e todos os dados são gravados, existindo o campo, apenas os dados que estão com o segundo elemento do vetor com .T. serão atualizados.

Com isso pode-se gerar um update mais preciso e seguro onde apenas dados pontuais serão atualizados quando o campo já existir.

Se a opção "Update SX3 apenas para novos registros" estiver selecionada, o update é gerado na forma normal com o vetor de apenas uma dimensão, pois sempre serão gravados todos os dados, já que o campo não existe.

A opção "Default para update SX3 como .T." define se, por default, o conteúdo do segundo elemeto será .T. ou .F., para que depois se faça os ajustes manuais para cada dado, se necessário.

 

Importante:

  • O fonte de update gerado deve ser revisado e pode ser alterado conforme a necessidade do projeto tirando-se ou acrescentando-se itens.
  • O update para o dicionário de campos SX3, tem um tratamento para quando o campo existe no dicionário destino e para quando não existe. Quando não existe são preenchidos todos os dados do SX3, quando existe apenas os dados que estão com .T. no update são atulizados. 
  • O update não faz exclusões de nenhum tipo.

 

 

Ir para página de download.