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

 

A T E N Ç Ã O! 

Com a possibilidade dos dicionários estarem no Banco de Dados, os updates gerados pela ferramenta seguem a seguinte regra: 

  • Um fonte gerado a partir de um ambiente onde os dicionários estão fora do Banco de Dados só pode atualizar outro ambiente que também esteja com os dicionários fora do Banco de dados. (ISAM para ISAM) 
  • Um fonte gerado a partir de um ambiente onde os dicionários estão dentro do Banco de Dados só pode atualizar outro ambiente que também esteja com os dicionários dentro do Banco de dados. (Banco para Banco) 
  • Não será possível a atualizações de ambientes onde a origem e o destino têm os dicionários de forma diferente entre si.

 

 

Geração das atualizações

 

A ferramenta pode ser incluída em algum menu do sistema 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 da Pasta de Destino

É o diretório onde serão gravados os dicionários customizados gerados e/ou o programa fonte de update, D.E.R. e outros.

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.

Marcar/ Desmascar usando máscaras

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 Documentação Seleciona se será gerada ou não a documentação dos dicionários das tabelas selecionadas.
 

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.

Help's 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.

Gerar SDF Gera um arquivo diferencial (SDF) com as informações selecionadas. Este SDF pode ser usado no Gerenciador de Ambientes que foi lançado a partir da versão 12 release 27.

O Gerenciador de Ambientes do Protheus trata apenas os dicionários:
SIX / SX1 / SX2/ SX3 / SX5 / SX6 / SX7 / SXA / SXB / SXG / SXQ / SXR / XXA
 
Gerar MZP Gera um arquivo compactado (MZP) com as informações selecionadas. Este MZP pode ser usado no Gerenciador de Ambientes que foi lançado a partir da versão 12 release 27.

O Gerenciador de Ambientes do Protheus trata apenas os dicionários:
SIX / SX1 / SX2/ SX3 / SX5 / SX6 / SX7 / SXA / SXB / SXG / SXQ / SXR / XXA
 

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

Sair Saída da aplicação.
 

 

 

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 genéricas (SX5) que serão utilizadas para a geração e/ou documentação

Parâmetros para geração

Informe quais os parâmetros do sistema (SX6) que 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) que 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.

SX5 relacionados as Perguntas Se selecionada esta opção, serão exportados também as Tabelas Genéricas (SX5) relacioanadas as consultas padrões que constam das perguntas exportadas (F3).
SX5 relacionados aos Campos Se selecionada esta opção, serão exportados também as Tabelas Genéricas (SX5) relacioanadas as consultas padrões que constam dOs campos exportados (F3).
SXB relacionados as Perguntas Se selecionada esta opção, serão exportados também as Consultas Padrão (SXB) relacioanadas as consultas padrões que constam das perguntas exportadas (F3).

SXB relacionados aos Campos

Se selecionada esta opção, serão exportados também as Consultas Padrão (SXB) relacioanadas as consultas padrões que constam dos campos exportadas (F3).

 

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 perguntas de sobrescrever

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

Update SX2 apenas para novos registros No update não fará atualização de tabelas que já existam, apenas criará os tabelas novas.

Update SX3 apenas para novos registros

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

Update SX6 apenas para novos registros

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

Update SX7 apenas para novos regsitros

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

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.
Update SX3 com o campo X3_VLDUSER Define se gera ou não a atualização do dado X3_VLDUSER quando o campo já existe no dicionário destino.
Update SX3 com o campo X3_OBRIGAT Define se gera ou não a atualização do dado X3_OBRIGAT quando o campo já existe no dicionário destino.
Update SX3 com o campo 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.
Gerar update com Grupos de LGPD Vinculados aos campos Define se para os campos de LGPD exportados (XAM) também serão exportados ou não os grupo de campos de LGPD (XAL) relacionados a estes campos.

 

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 SmartClient:

 

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.