C'est un patch qui est susceptible d'être installé sur une liste de dossiers qui sera donnée à l'intégration, cette liste intégrant en principe le dossier superviseur. Dans la plupart des cas (y compris pour des développements spécifiques et verticaux), c'est le type de patch à utiliser. En effet, la livraison de développements spécifiques ou verticaux n'est pas conditionnée par le type de patch, mais par la liste des codes activités qui sont données dans le tableau correspondant.
Les patches contenant des éléments de documentation sont traités de façon un peu particulière, décrite dans l'annexe correspondante.
Quadro Línguas
| Ce tableau permet de définir les langues que l'on désire patcher. En effet, tous les textes du dictionnaire de données (définis par le code type ATX) sont stockés dans une table séparée (la table ATEXTE) et sont identifiés par un numéro (inférieur à 100.000 pour les textes standard, et supérieur au delà). Ces textes sont transmis via patch sous leur forme littérale (le numéro n'a pas de sens puisqu'il peut varier) dans différentes langues. La liste des langues utilisées pour inclure les textes est donc donnée par ce tableau. |
Bloco número 6
| Ce commentaire informatif permet de décrire le fichier patch (du point de vue de sa finalité ou de son contenu). Il sera visible dans la trace de l'intégration du patch. |
| C'est le nom du dossier à partir duquel les éléments du patch vont être extraits. |
| Ce code version minimum permet d'éviter d'intégrer le patch dans une application de version inférieure. |
| Ce champ identifie l'article à partir duquel le patch est extrait. Ce champ n'est pas saisissable. |
Quadro Objectos
| Ce tableau permet de saisir une liste d'objets à patcher. Cette liste est identifiée par un type d'objet et un nom. La définition des différents types et la signification du nom sont donnés en annexe. |
| On saisit ici la clé de l'élément dont on a saisi le code, ou un complément d'information (condition dans le cas d'un patch de données). Il est à noter que si la clé de la fiche à patcher est en plusieurs parties, celles-ci sont séparées par le caractère tilde ( ~ ). |
| Permet de définir un intitulé associé à chaque fiche. |
Quadro Códs. actividade
| Ce tableau permet de saisir une liste de codes activités spécifiques ou verticaux (c'est-à-dire commençant par X, Y ou Z). Dès que l'on désire créer un patch intégrant des développements de ce type, il est obligatoire de définir les codes activités concernés. En effet, les éléments du dictionnaire portant des codes activités spécifiques non listés seront ignorés à l'intégration du patch. Cette précaution est obligatoire, car sinon un patch standard serait en mesure de mettre à jour un objet marqué par un code activité spécifique ou vertical. C'est précisément le fait qu'aucun code activité spécifique ne soit donné en tête dans un patch standard qui permet de gérer ce fait. Ces codes activités ne sont donc pas un moyen de filtrer l'extraction des objets du patch, mais un moyen d'indiquer que les éléments marqués par ces codes d'activités spécifiques seront mis à jour à l'intégration du patch. Le chargement des éléments marqués par ces codes activité pourra être fait via une action accessible depuis l'icône Actionsau niveau du tableau définissant le contenu du patch. |
Fechar
Funções acessíveis por clique direito no quadro
O código TABpermite transferir os dados da tabela, recarregando-o na base com a sua estrutura e os seus dados. Em contrapartida, não se cria os elementos do dicionário relativos a esta tabela, que faz que pode não aparecer como visível. Também, este código é adaptado bem quando deseja-se recarregar uma tabela já criada nos dossiers a “patcher”, e que não se alterou a estrutura. Se tal não é o caso, é necessário pôr duas linhas na definição da “patch”: a estreia refere-se à definição da tabela (ATB XXXXX), o segundo som contido (TAB XXXXX), estas duas linhas colocadas imperativamente nesta ordem. A integração da “patch”, a tabela vai ser criada no dicionário e a base se não existe (se não, a sua estrutura será actualizada se variar). Seguidamente recarregamento da tabela com os dados será realizado.
A possibilidade de transferir o conteúdo parcial de uma tabela é obtida dando na coluna tipo a abreviatura da tabela, e indicando na coluna Nome uma condição lógica que será utilizada para a extracção do dossier de partida, e para a integração no dossier de chegada. É importante notar que os dados assim extraídos poderão alterar dados que existem com as mesmas chaves, ou criar novos dados. Em contrapartida, e por razões de segurança, em caso algum, haverá apagamento de dados aquando da integração da patch. Assim, por exemplo, se considera a situação seguinte, para a tabela dos países (de abreviatura TCY):
Dossierde partida | Dossierde chegada | ||
Código país | Nome país | Código país | Nome país |
AD | Andorra | AD | Andorra |
AE | Emirados Árabes Unidos | AF | Afeganistão |
AL | Albânia | AL | Alemanha |
AR | Argentina |
| Austrália |
BE | Bélgica | BE | Bélgica |
... |
| ... |
|
Se na “patch” se indica uma linha com TCY e a condição CRY="al", a “patch” vai conter apenas a linha que corresponde ao país Albânia, e a integração da “patch” no dossier de chegada vai reescrever AL, a Alemanha para substitui-lo por AL, Albânia."
Se na “patch” se indica-se uma linha com TCY e a condição pat(CRY, "A *"), a “patch” vai conter as 4 linhas AD, AE, AF e AR. Na integração, vai-se criar a ficha AE, Emirados Árabes Unidos, a ficha AR, a Argentina, substituir AL, a Alemanha por AL, pela Albânia e guardar AF, o Afeganistão, e, a Austrália, que não tinham sido entregues, mas existido já no dossier de chegada.
Se na “patch” se indica uma linha com TCY e a condição find(CRY, "AD", "AE", "AL"), o resultado teria sido o mesmo, excepto no que diz respeito AR, Argentina, que não teria sido transferida.
A única maneira de apagar dados consiste:
Quer a substituir globalmente o conteúdo de uma tabela completa (“patch” de tipo TAB)
Ou seja a entregar um tratamento pelo código EXE (cf. abaixo). Por exemplo, se tivesse querido se assegurar de que nos países que começam por A, só os países de código AD, AE, AL continuavam a ser presentes na lista, teria se entregue um tratamento (chamado por exemplo MAJPATCHnnn) que teria contido a linha descrita no exemplo abaixo.
Um caso específico deve ser mencionado: o código EXE, que permite dar o nome de um tratamento a executar. Este tratamento é executado em fim de integração de patch (pode existir previamente ou ser entregue na patch ela mesmo, dado que a execução não se faz que no fim da integração).
Este tratamento deve integrar um subprograma PATCH, com um argumento que é o código dossier. É este subprograma que será executado. Assim, para o caso acima, obter-se-ía o programa seguinte:
Subprog PATCH(NOMDOS)
Value Char NOMDOS
Local File =NOMDOS+".TABCOUNTRY" [TCU]
Trbegin [TCU]
Delete [TCU] Where pat(CRY,"A*")=1 & find(CRY,"AD","AE","AL")=0
Commit
End
Assim que se pretende ver em cima, é então necessário declarar as tabelas neste subprograma tendo claramente conta do facto que elas devem ser declaradas sobre um dossier que não é forçosamente o dossier corrente (é a sintaxe Local File = NOMDOS + ".NOMTABLE" que a assegura)
Por defeito, os seguintes listagens estão associados à função :
PRTSCR : Impressão ecran
Mas pode ser alterado por parametrização.
Esta função pode ser lançada em batch. A tarefa standard ZPATCHC está prevista p/esse efeito.
Para além das mensagens genéricas, as seguintes mensagens de erro podem aparecer durante o reg. :
O caminho de acesso ao ficheiro patch não existe.
O texto tipo de objecto não corresponde nem a um dos tipos objectos pré-definidos, nem a abreviação de uma tabela existente.
Tentamos extrair um objecto do dicionário inexistente
A condição de extracção associada à extracção dos dados de uma tabela é sintaxicamente incorrecta.