Desenvolvimento > Utilitários > Patchs > Teste de patchs 

Quando se realizam os desenvolvimentos específicos em modificando os elementos standards, a regra pretende que se proteja, por um código atividade começando por X,Y ou Z, o elemento de baixo nível possibilita que foi modificado (o campo de um ecrã mais que o bloco ou ecrã ele-mesmo, por exemplo). A utilização de um código atividade não está então necessário quando se utiliza, num ecrã, das ações SPE ou SPX, ou começando por X, Y, ou Z.

Resta que um tal desenvolvimento necessita as verificações na instalação de patches standards sobre um dossier modificado. Com efeito, falta assegurar que os elementos patchados não entrem em conflito com os elementos modificáveis (neste caso, os elementos, protegidos por um código atividade, não serão patchados, o que pode colocar problemas).

Esta função permite realizar, de maneira automática, uma deteção das colisões potenciais ligadas a um conjunto de ficheiros de patches presentes num diretório. Para ser mais preciso, ela realiza as coisas seguintes :

  • ela lê todos os patches presentes num diretório
  • para cada objeto patchado, pesquisa se existe um conflito potencial devido a um código atividade específico (exceto se este código atividade específico foi colocado em cabeçalho do patch como devendo ser destruido).
  • ela gera um ficheiro de rasto detalhando os conflitos possíveis.

Assim, quando os desenvolvimentos específicos foram realizados, e que uma lista de patch standard (ou específico) deve estar instalado, é suficiente lançar esta função :

  • se nenhuma colisão está detetada, o risco de problema está normalmente inexistente (se as normas de desenvolvimentos específicos foram corretamente seguidos)
  • se existem colisões, não existem que se focalizar sobre estas colisões detetadas (que devem normalmente representar uma parte mínima dos casos).

Se várias listas de patch devem estar instaladas, é possível de copiar (o tempo de teste) o conjunto dos ficheiros correspondentes num mesmo diretório : o testador é unicamente limitado ao teste de 1000 ficheiros de patch simultâneos.

Os testes feitos são os seguintes :

  • os ecrãs, as tabelas, os objetos, as funções, os tipos de dados, as consultas, as janelas, as ações patch e globlamente protegidas por um código de atividade.
  • Os campos e os blocos num ecrã, as opções e variáveis numa função, os campos e os índices numa tabela, os botões numa janela, as listas esquerdas (separador browser), separadores, e tabelas ligadas num objeto, quando estes elementos são portegidos por um código actividade sem que o elemento de nível superior o seja.
  • Os tratamentos e listas instaladas localmente num dossier para os quais o patch risco de não ser efectivo.

Os conflitos ligados a códigos atividades específicas (começando por X, Y ou Z) são sempre detetados, excepto aqueles correspondentes a códigos atividades dadas em cabeçalho de patch (como se trata de um patch específico, sabe-se que a patch será aplicada).

Afim de permitir este tipo de teste quando a atualização não está realizada pela instalação de ficheiros de patches, mas pela instalação de uma nova sub-versão, encontrar-se-á, a partir do CD da versão 134, nos diretórios dedicados (os sub-diretórios P132, P133, P134… do diretório nomeado X3patch), uma lista dos ficheiros chamados List_nn.dat, que contêm não as patches da lista nn, mas unicamente a lista dos objetos tocados pela lista de patch, este permite de saber os conflitos potenciais existentes sobre uma lista. A utilização que será feita pode ser explicada pelo exemplo seguinte :

  • imaginemos que o dossier que se pretende atualizar a versão 134, seja em versão 132 patch até ao nível da lista 12.
  • a passagem em versão 134 voltará atualizar as patches 13 a 18 (o que permite de passar em versão 133 : Os ficheiros List_nn correspondentes são no diretório X3patch\P133 sobre o CD), e as patches 19 a 31 (o que permite passar em versão 134 : Os ficheiros List_nn correspondentes se encontras no directório X3patch\P134 sobre o CD).
  • É suficiente de copiar os ficheiros List_13.dat a List_31.dat num diretório temporário, depois utilizar a função de teste de patches em dando o nome deste diretório. Se os conflitos são assinalados, ter-se-á no rasto o elemento em conflito e o número da lista correspondente; será então possível de testar a lista em questão para saber mais.

Atenção, este utilitário se contenta dar os conflitos potenciais, não é capaz de dizer que deve ser modificado no elemento tornado específico para que tudo marche perfeitamente (é evidente impossível). É por outro lado possível de realizar os testes sobre os elementos litigiosos em utilizando a função de comparação sobre os elementos correspondentes entre um dossier colocado em patch e um dossier não colocado em patch.

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

Ecrã de registo

Apresentação

Uma janela permite registar os parâmetros de lançamento da função.

O lançamento pode então ser feito. Um exemplo de ficheiro rasto gerado é dado a seguir.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Ficheiro

  • campo AW

 

  • Tipo de destino (campo TYPEXP)

 

  • Patch (campo VOLFIL)

 

Quadro Dossiers

Permite dar a lista dos dossiers sobre os quais o teste deve ser conduzido.

Fechar

 

Exemplo de rasto

Erros no patch P_1252_130 sobre o dossier DEMO : Modificações para a DEB

O tratamento FUNDEB.adx presente no dossier não será atualizado pelo patch

 

Erros no patch P_1263_130 sobre o dossier DEMO : Modificações DEB

O tratamento FUNDEB.adx presente no dossier não será atualizado pelo patch

 

Erros no patch T_0001_130 sobre o dossier DEMO :

A consulta BAL protegida pelo código atividade ZDA não será atualizada pelo patch.

A lista Crytal Report ATRACE.rpt apresenta no dossier não será atualizado pelo patch.

  O tratamento ZDOMANA.adx presente no dossier não srá então atualizados por patch

O tratamento ZPATCHTST.adx apresenta no dossier não será atualizado pela patch

A máscara BPC0 protegido pelo código atividade ZDA não será atualizada pelo patch.

  Máscara BPC1 : O bloco 2 protegido pelo código atividade ZDA não será atualizada pelo patch.

  Máscara BPC1 : O campo (4,4) INVDTAAMT protegido pelo código atividade ZDA não será atualizado.

  Máscara BPC1 : O campo (4,5) WWCUR protegido pelo código atividade ZDA não será atualizado pelo patch.

Tabela BPCUSTOMER : O campo (4) BPCTYP protegido pelo código atividade ZDA não será atualizado pelo patch.

Tabela BPCUSTOMER : O índice (2) BPC1 protegido por código atividade ZDA não será atualizado pelo patch.

  Objeto BPC : O separador (3) BPC1 protegido por código atividade ZDA não será atualizado pelo patch.

  Objeto BPC : O separador (5) BPC3 protegido por código atividade ZDA não será atualizado pelo patch.

  Objeto BPC : A tabela ligada (2) BPADDRESS protegido por código atividade ZDA não será atualizado pelo patch.

  Objeto BPC : A tabela ligada (6) TABCUR protegido por código atividade ZDA não será atualizado pelo patch.

  Objeto BPC : A linha de browser (1) BPC protegido por código atividade ZDA não será atualizado pelo patch.

O tipo de dados BPC protegido pelo código atividade ZDA não será atualizado pelo patch.

A função GESBPC protegida pelo código atividade ZDA não será atualizada pelo patch.

A ação ADSVAL protegida pelo código atividade ZDA não será atualizada pelo patch.

A definição de lista CLOPER protegida pelo código atividade ZDA não será atualizada pelo patch.

A lista Crytal Report ATRACE.rpt apresenta no dossier não será atualizado pelo patch.

Observação complementar

Para os tratamentos, o testador de patch verifica então se um ficheiro adx (executável) correspondente ao tratamento a colocar em patch existe no dossier em curso. Se este ficheiro executável não existe, testa-se se o tratamento fonte existe, e então menciona-se no rasto.

Tarefa batch

Esta função pode ser lançada em batch, mas não existe tarefa standard dedicada ao lançamento.

Mensagens de erro

Não existe outra mensagem de erro, para além das mensagens genéricas.

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação