Développement > Utilitaires > Patchs > Création de patchs 

Cette fonction permet de créer une archive contenant des développements créés dans un dossier donné (le dossier courant par défaut), ainsi qu'un certain nombre d'éléments de paramétrage. Elle est particulièrement intéressante si l'on désire reporter sur un dossier d'exploitation un ensemble de modifications cohérentes réalisées sur un dossier de paramétrage ou de test.

Outre les possibilités de regroupement d'un ensemble d'éléments, cette génération de patch permet de s'affranchir d'une contrainte de serveur unique ou de serveur interconnectés que nécessite l'utilisation du bouton Copie.

Le principe de cette fonction est d'extraire des éléments du dictionnaire de données d'un dossier, mais aussi des données (en principe des données de paramétrage en quantité limitée, car ce format n'est pas très compact). L'ensemble des éléments ainsi extraits est archivé dans un fichier qui peut alors être réintégré dans un autre dossier en utilisant la fonction d'intégration de patch. L'aspect multilingue du dictionnaire est géré par cet utilitaire, les messages liés aux éléments patchés pouvant être transférés dans plusieurs langues.

Chaque élément extrait est identifié à la fois par un code qui définit le type d'élément patché (un écran, un état, des données d'une table…) et par un élément d'information complémentaire (le code de l'écran, de l'objet, un critère de sélection…)

Cette fonction est utilisée :

  • par les équipes de développement du standard pour créer des patches correctifs ou des livraisons fonctionnelles complémentaires.
  • par des partenaires ayant développé des verticaux pour installer des modules complémentaires.
  • par des développeurs pour transférer des spécifiques faits.

Gestion de l'écran

Ecran de saisie

Présentation

Dans l'écran de saisie, on définit :

  • le paramètres généraux du patch
  • les codes langues pour lesquelles l'extraction des textes doit être faite.
  • la liste des éléments à patcher dans un tableau.

La saisie se fait sur un seul onglet.

Fermer

 

Champs

Les champs suivants sont présents dans cet onglet :

Fichier

  • champ AW

 

  • Type de destination (champ TYPEXP)

 

  • Nom du fichier (champ VOLFIL)

 

Type de patch

  • Type de patch (champ TYPPTC)

Le type de patch peut prendre les valeurs suivantes :

  • Standard : 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.
  • Superviseur : c'est un patch qui ne sera intégré que dans le dossier superviseur. Ce type est utilisé quand on veut intégrer des éléments de pré-paramétrage (modèles d'import/export, pièces automatiques, règles de Workflow...) qui peuvent avoir été modifiés dans les différents dossiers. Pour éviter d'écraser les modifications faites, on ne met alors à jour que le dossier superviseur. Ceci permet d'avoir des valeurs de paramétrage à jour en cas de création d'un nouveau dossier, et aussi de permettre des mises à jour manuelles par copie dans chaque dossier après avoir utilisé les utilitaires de comparaison existants.
  • Vertical : c'est un patch identique au patch standard, mais il permet, lorsqu'un écran est patché, de supprimer les actions verticales (SPV) non présentes dans le patch.
  • Spécifique : c'est un patch identique au patch standard, mais il permet, lorsqu'un écran est patché, de supprimer les actions spécifiques (SPE) non présentes dans le patch.
  • Add-on : c'est un patch dédié aux add-on. Il permet de conserver les actions sur champ verticales (SPV) et les action spécifiques (SPE).

Dans les versions précédentes, on utilisait un type de patch SPX pour supprimer une action SPE présente dans un écran. A partir de la version 150, ces deux derniers types de patch, beaucoup plus souples, permettent de remettre à jour les actions SPE (qui existaient précédemment) et les action SPV (qui sont nouvelles).

Note importante : Les patches contenant des éléments de documentation sont traités de façon un peu particulière, décrite dans l'annexe correspondante.

Tableau Langues

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.

Bloc numéro 6

  • Commentaire (champ COMMENT)

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 patchvont être extraits.

  • Version minimum (champ VERSION)

 

Ce code version minimum permet d'éviter d'intégrer le patch dansune application de version inférieure.

  • Produit (champ PRODUIT)

Code non saisi identifiant le progiciel adonix d'où est extrait le patch.

Tableau Objets

  • Type (champ TYPOBJ)

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.

  • Nom objet (champ NOMOBJ)

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 ( ~ ).

  • Intitulé (champ INTITOBJ)

Permet de définir un intitulé associé à chaque fiche.

Tableau Codes activité

Ce tableau permet de saisir une liste de codes activités spécifiques ou verticaux (ie. 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 fonction accessible par clic droit dans le tableau définissant le contenu du patch.

Fermer

 

Icône Actions

Préchargement

Cette fonction permet de pré-charger dans le tableau tous les éléments du dossier marqués par les codes activités listés dans le tableau correspondant.

Différence objet courant

Cette fonction permet de vérifier si l'objet de la ligne courante est ou n'est pas identique entre deux dossiers. Une fenêtre s'ouvre alors pour saisir les deux codes dossiers. Une fois cette fenêtre saisie, la comparaison se fait, et une fenêtre de trace donne le résultat. Si le nom de l'élément n'est pas mentionné comme différent, les deux éléments sont identiques dans les dossiers comparés.

Note : il est possible que la comparaison ne soit pas possible sur certains types d'objets; un message le signale alors dans la trace.

Différence tous objets

Cette fonction permet de vérifier si l'ensemble des objets situés dans le patch sont ou pas identiques entre deux dossiers. Une fenêtre s'ouvre alors pour saisir les deux codes dossiers. Une fois cette fenêtre saisie, la comparaison se fait, et une fenêtre de trace donne le résultat.

Modèles de paramétrage

Cette fonction permet d'appeler un modèle de paramétrage, afin de renseigner une liste de patches de type AAA (une ligne par modèle de données mentionné dans l'écran).

Attention toutefois : contrairement au fonctionnement obtenu lorsqu'on part de la fonction de copie de paramétrage, on ne génère ici que les lignes AAA (la ligne APH décrivant le modèle n'est pas incluse). Par ailleurs, la saisie du code législation n'étant pas faite à ce stade, tout filtre législation sera mal appliqué ici.

Il est par contre possible de générer une ligne AAA pour un modèle de données unitaires, par clic droit Modèle de données sur le champ Nom objet. On a alors accès à une fenêtre de sélection permettant de choisir le modèle, la législation, la clé ou la formule de sélection, afin de créer une ligne intégrant tous les éléments.

 

Fermer

 

Types d'éléments pouvant être patchés

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 ci-après. La colonne Rangpermet de connaître l'ordre dans lequel les types d'éléments sont rangés dans le patch (cf. le paragraphe ci-dessous). Les éléments qui ont le rang 100 dans le tableau sont toujours placés en fin de patch (dans l'ordre alphabétique des codes des éléments).

Code

Signification

Nom

Rang

AAA

 Lignes issues d'un modèle de paramétrage

Format particulier, cf. paragraphe correspondant

100 

ABA

Abonnement batch

Code de l'abonnement

46

 ABF

Table de fait BI

Code de la table

54

ABG

Groupes de tâches

Code du groupe

47

ABI

Dimension BI

Code de la dimension

55

ABM

Datamart BI

Code du datamart

56

ABO

Etat Business Objects

Code de l'état

58

ABT

Tâche batch

Code de la tâche

45

ABV

Règle de synchronisation BI

Code de la règle

57

ACL

Table de contrôle

Code de la table

18

ACN

Consultation

Code de la consultation

36

ACS

Codes d'accès

Traité sous forme de condition (CODACS="valeur")

14

ACT

Action

Code de l'action

16

ACV

Définition d'un code activité

Code activité

1

ADC

Description d'un traitement (dictionnaire)

Nom du traitement

9

ADF

Liens de documentation

Type ~ Code de l'élément

50

ADI

Contenu d'une table diverse

Numéro de la table

24

ADO

Aide fonctionnelle (tous les paragraphes)

Type ~ Code de l'aide

49

ADP

Paramètre (à la fois sa définition et sa valeur s'il en existe au niveau général)

Code du paramètre

32

ADV

Paramétrage d'une table diverse

Numéro de la table

23

ADX

Traitement (uniquement sous forme compilée)

Nom du traitement

11

ADZ

Aide sur champ

Code de l'aide

48

AEN

Enchaînement d'import export

Traité sous forme de condition (CODE="valeur")

35

AFC

Fonction

Code de la fonction

17

AGB

Variable globale

Nom de la variable

20

AHH

Hiérarchie BI

Code hiérarchie

59

AHI

Formules d'épuration

Code de la formule

7

AII

Condition préféfinie BI

Code condition

60

ALH

Requêteur

Code de la requête

51

ALQ

Requêteur SQL

Code de la requête SQL

52

ALT

Requêteur graphique

Code de la requête

53

AMK

Ecran

Code de l'écran

28

AML

Menu local

Numéro du menu local

2

ANG

Navigation

Code de la navigation

10

ANM

Définition d'un compteur

Code du compteur

15

ANT

Paramétrage widget Netvibes

Code objet pour widget

65

AOB

Définition d'objet

Code de l'objet

30

AOE

Modèle d'import/export

Code du modèle

34

AOP

Propriétés d'objet

Code de l'objet

31

APH

Modèles de paramétrage

Code du modèle

100

APR

Processus graphique

Code processus

63

ARP

Définition d'état dans le dictionnaire

Code de l'état

29

ASL

Style conditionnel

Traité sous forme de condition (COD="valeur")

19

ASU

Description d'un sous-programme dans le dictionnaire

Nom du sous-programme

21

ASY

Style de présentation

Code du style

61

ATB

Définition d'une table (le contenu n'est pas transféré, la mise à jour de la structure est faite sans perdre les données communes)

Code de la table

25

ATN

Transactions

Code de la transaction

8

ATY

Type de données

Code du type

22

AUR

URL

Code de l'URL

27

AVW

Vue

Code de la vue

26

AWA

Règle Workflow

Code de la règle Workflow

43

AWE

Web service

Nom de publication

64

AWI

Définition de fenêtre

Code de la fenêtre

33

AWM

Modèle de données Workflow

Code modèle

41

AWR

Règle d'affectation Workflow

Code de la règle d'affectation

42

AWW

Paramétrage du plan de travail Workflow

Code du plan de travail

44

BIA

 Objets BIAR

 Code objet

4

ELT

Elément de l'interface cliente (xsl, image, fichier divers)

Chemin du fichier

3

ETA

Etat Crystal Reports (fichier d'extension rpt)

Nom de l'état

13

EXE

Demande d'exécution d'un traitement

Nom du traitement

6

GAU

Pièces automatiques

Code de la pièce

40

PS1

Déclencheur statistique

Code du déclencheur

37

PS2

Code statistique

Code statistique

38

TAB

Structure et contenu complet d'une table (sa définition « dictionnaire » exclue).
Le patch global d'une table est une sauvegarde à plat de ce fichier : comme un .dat d'une sauvegarde de table dans le répertoire SVG. Tous les liens sur cette table ne sont pas pris en compte et en particulier les textes traduisibles contenus dans la table ATEXTRA.

Code de la table

39

TFO

Table des formules

Code formule

62

TRT

Source d'un traitement (le traitement sera compilé à l'installation du patch)

Nom du traitement

12

TXT

Fichier texte (dans le répertoire TXT)

Nom du texte

5

Abréviation d'une table

Contenu partiel de la table

Condition d'extraction (exprimée sous la forme d'une clause Where)

100

Remarques importantes

Transfert total des données d'une table

Le code TAB permet de transférer les données de la table, en la rechargeant dans la base avec sa structure et ses données. Par contre, on ne crée pas les éléments du dictionnaire concernant cette table, ce qu'il fait qu'elle peut ne pas apparaître comme visible. Aussi, ce code est-il bien adapté lorsqu'on désire recharger une table déjà créée dans les dossiers à patcher, et qui n'a pas changé de structure. Si tel n'est pas le cas, il faut mettre deux lignes dans la définition du patch : la première concerne la définition de la table (ATB XXXXX), la deuxième son contenu (TAB XXXXX). Même si elles ne sont pas placées dans cet ordre à la saisie, la fonction de patch va les replacer dans cet ordre. A l'intégration du patch, la table va être créée dans le dictionnaire et dans la base si elle n'existe pas (sinon, sa structure sera mise à jour si elle a varié). Puis le rechargement de la table avec les données sera réalisé.

Transfert partiel des données d'une table

La possibilité de transférer le contenu partiel d'une table est obtenue en donnant dans la colonne type l'abréviation de la table, et en indiquant dans la colonne Nom une condition logique qui sera utilisée pour l'extraction du dossier de départ, et pour l'intégration dans le dossier d'arrivée. Il est important de noter que les données ainsi extraites pourront modifier des données existant avec les mêmes clés, ou créer de nouvelles données. Par contre, et pour des raisons de sécurité, en aucun cas, il n'y aura d'effacement de données lors de l'intégration du patch. Ainsi, par exemple, si on considère la situation suivante, pour la table des pays (d'abréviation TCY) :

Dossier de départ

Dossier d'arrivée

Code pays

Nom pays

Code pays

Nom pays

AD

Andorra

AD

Andorra

AE

United Arab Emirates

AF

Afghanistan

AL

Albanie

AL

Allemagne

AR

Argentine

AU

Australie

BE

Belgique

BE

Belgique

 

 

Si dans le patch on indique une ligne avec TCY et la condition CRY="AL", le patch ne va contenir que la ligne correspondant au pays Albanie, et l'intégration du patch dans le dossier d'arrivée va réécrire AL , Allemagne pour le remplacer par AL, Albanie.

Si dans le patch on indique une ligne avec TCY et la condition pat(CRY,"A*"), le patch va contenir les 4 lignes AD, AE, AF et AR. A l'intégration, on va créer la fiche AE, United Arab Emirates, la fiche AR, Argentine, remplacer AL, Allemagne par AL, Albanie et garder A, Afghanistan, et AU, Australie, qui n'avaient pas été livrés, mais existaient déjà dans le dossier d'arrivée.

Si dans le patch on indique une ligne avec TCY et la condition find(CRY,"AD","AE","AL"), le résultat aurait été le même, sauf en ce qui concerne AR, Argentine, qui n'aurait pas été transféré.

La seule manière d'effacer des données consiste :

  • Soit à remplacer globalement le contenu d'une table complète (patch de type TAB)
  • Soit à livrer un traitement par le code EXE (cf. ci-dessous). Par exemple, si on avait voulu s'assurer que dans les pays commençant par A, seuls les pays de code AD, AE, AL restaient présents dans la liste, on aurait livré un traitement (appelé par exemple MAJPATCHnnn) qui aurait contenu les ligne décrites dans l'exemple ci-dessous.

Exécution d'un traitement

Un cas particulier doit être mentionné : le code EXE, qui permet de donner le nom d'un traitement à exécuter. Ce traitement est exécuté en fin d'intégration de patch (il peut exister au préalable ou être livré dans le patch lui-même, puisque l'exécution ne se fait qu'à la fin de l'intégration).

Ce traitement doit intégrer un sous-programme PATCH, avec un argument qui est le code dossier. C'est ce sous-programme qui sera exécuté. Ainsi, pour le cas ci-dessus, on obtiendrait le programme suivant  :

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

Ainsi qu'on le voit ci-dessus, il est donc nécessaire de déclarer les tables dans ce sous-programme en tenant clairement compte du fait qu'elles doivent être déclarées sur un dossier qui n'est pas forcément le dossier courant (c'est la syntaxe a syntaxe Local File = NOMDOS + ".NOMTABLE" qui l'assure)

Traitements génériques à exécuter

Lorsque des patches sont réalisés sur des éléments modèles de l'interface utilisateur (écrans modèles utilisés pour créer des fenêtres de transaction), une revalidation des écrans en question est nécessaire.

Cette revalidation peut être exécutée en déclarant, dans la maintenance, l'exécution du traitement approprié. On trouvera ci-dessous les traitements standard à lancer selon le type d'élément patché :

 Elément patché

Traitement
à lancer

Résultat

Ecran servant de base à une consultation paramétrable

SUBGTC

Validation de tous les écrans de consultation

Styles de présentation

SUBASY

Génération des styles

Transaction système

SUBAMI

Validation des transaction système

Paramètres statistiques

SUBPS2

Revalidation de toutes les statistiques

Ecran de base d'une transaction sur l'objet XXX

SUBXXX

Revalidation des transactions associées à l'objet

Il est important de noter que ce type de fonctionnalité est réalisable également en spécifique (il suffit de rajouter le sous-programme PATCH ainsi qu'indiqué dans le précédent paragraphe).

Patch de documentation

La structure des données de la documentation est un peu particulière. En effet, par défaut les règles suivantes s'appliquent en création ou revalidation de dossier :

  • les textes et fichiers de la documentation (tables ADOCBLB et ADOCCLB) sont remplies dans le dossier superviseur et ne sont pas transférées dans les dossiers qui en dépendent (mais il est possible de créer des textes d'aide locaux à un dossier qui seront alors stockés localement).
  • la structure de la documentation (liens de documentation, qui sont pratiquement des éléments du dictionnaire, et structure des paragraphes) est stockée dans chaque dossier et copiée dans les dossiers situés en dessous en cas de revalidation (avec le respect de codes activité verticaux ou spécifiques qui auraient pu être définis dans un dossier fille).

Aussi, quand on intègre un patch de doc (type ADO), le principe est le suivant :

  • la structure de la documentation est intégrable dans tous les dossiers listés lors de l'application du patch, quel que soit le type de patch (en fonction de la liste des dossiers donnée à l'intégration).
  • les textes et fichiers sont intégrés uniquement dans le dossier superviseur si le type de patch est Superviseur (ce qui est le cas pour les patches de doc standard). Si le type de patch est autre, les textes et fichiers peuvent être intégrés dans tous les dossiers.
  • le patch de type ADF (liens) est intégrable dans tous les dossiers, même si le patch est de type Superviseur.

Nommage des fichiers de patch

L'intégration de patch vérifie la séquentialité de passage des fichiers de patch, dès lors qu'ils intègrent une séquence numérique dans leur nom. Il est conseillé d'appeler les fichiers de patch en utilisant un nom défini sous la forme X_yyyy_zzz.dat, avec les significations suivantes :

  • X est un caractère (différent de P, car P est utilisé pour les patches standard) qui identifie le type de patch
  • yyyy est un numéro séquentiel (commençant en principe à 0001).
  • zzz est un identifiant de la version à intégrer.

Si cette norme est appliquée, lors de l'intégration d'un ensemble de fichiers de patches dans un répertoire, les contrôles suivants vont être faits :

  • on ne mélange pas dans une même intégration des fichiers issus de versions différentes
  • on ne saute pas de numéro séquentiel si des patches identifiés par le même caractère et le même numéro de version ont déjà été intégrés. Ainsi, par exemple, si le patch Z_0005_150.dat a été intégré, et si on essaye d'intégrer le patch Z_0007_150.dat sans avoir au préalable intégré le patch Z_006_150.dat, une erreur sera signalée à l'intégration.

Ordre des éléments dans un fichier de patch

Quand on crée un fichier de patch, la norme veut que l'on fasse en sorte que les éléments qui s'y trouvent forment un tout dont l'application laisse un dossier dans un état cohérent. En particulier, si on crée une nouvelle fonction par patch, que cette fonction soit définie par une action, une fenêtre, un écran, une table, et deux traitements, il paraît logique que l'ensemble de ces éléments soient présents dans le patch.

Lorsqu'un ensemble d'éléments sont utilisés pour former un fichier de patch, la fonction de création les range dans un ordre précis de types, afin d'éviter tant que faire se peut les erreurs à l'intégration. En effet, si par exemple on intègre une fenêtre avant les écrans qui la composent, une erreur Ecran inexistantva se produire lors de sa validation. Ainsi, on intègre toujours d'abord les types de données avant les écrans et les tables, les écrans avant les fenêtres, et ainsi de suite.

L'ordre utilisé lors de la génération du patch correspond au rang donné dans le tableau ci-dessus. C'est également l'ordre de proposition qui apparait dans la fonction de patch automatique.

Il faut toutefois remarquer qu'il est impossible de résoudre tous les conflits possibles. En effet, pour prendre un exemple, un type de données peut faire référence à une action, qui fait peut faire référence à une fenêtre, qui peut faire référence à un écran, qui peut faire référence à ce type de données. Pour résoudre ce type de cas de conflit (rare), il peut être nécessaire de décomposer le fichier patch en deux fichiers (le premier livrant tous les éléments avec un type de données ne faisant pas référence à l'action, le second livrant le type de données intégrant l'action, par exemple).

Eléments du dictionnaire non patchés

Lorsqu'on installe un patch contenant des éléments du dictionnaire, il faut noter que certains champs, considérés comme des éléments paramétrables du dictionnaire, sont respectés quels que soient par ailleurs les protections par code activité dont ils bénéficient. C'et le cas par exemple pour une destination par défaut dans un état.

On trouvera une annexe technique le détail des champs respectés.

Format particulier des éléments AAA

Un patch de type AAA correspond à une ligne issue d'un modèle de paramétrage. Elle utilise un format particulier pour le code de l'élément. Ce format est l'un des deux formats suivants :

MODELE~CODE_LEG~CODE_TRS~='FORMULE_SELECTION'

MODELE~CODE_LEG~CODE_TRS~CLE~SOUS_CLE~SOUS_SOUS_CLE...

Dans ces lignes, on a :

  • MODELE correspond au modèle de données utilisé pour décrire les tables à extraire
  • CODE_LEG correspond au code législation, qui peut être vide (on aura alors deux ~ qui se suivent)
  • CODE_TRS correspond au code transaction, qui peut aussi être vide
  • FORMULE_SELECTION est une condition de filtrage. Toute chaine littérale doit être exprimée "entre doubles quotes", puisque la formule est encadrée 'entre simple quotes'.
  • CLE~SOUS_CLE~SOUS_SOUS_CLE (le nombre de sous-clés étant variable) correspond au cas particulier où on veut simplement sélectionner une valeur de clé correspondant à la table principale du modèle. Ce type de possible uniquement lorsqu'on appelle un modèle (code AAA) depuis la création de patch, et que l'on ouvre la fenêtre qui permet alors de sélectionner le modèle et de renseigne la clé par recherche directe.

Etats

Par défaut, les états suivants sont associés à la fonction :

 PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Tâche batch

Cette fonction peut être lancée en batch, mais il n'existe pas de tâche standard dédiée à son lancement.

Boutons spécifiques

Cette fonction permet de rappeler la liste des éléments contenus dans un fichier patch, afin de la compléter le cas échéant et de recréer un fichier patch. La fenêtre qui s'ouvre alors permet de sélectionner le fichier patch à lire.

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

…. : répertoire inexistant

Le chemin d'accès au fichier patch n'existe pas

Type d'objet incorrect

Le type d'objet ne correspond ni à un des types d'objets prédéfinis, ni à l'abréviation d'une table existante.

Dictionnaire des … XXX fiche inexistante

On a essayé d'extraire un objet du dictionnaire inexistant

Valeur incorrecte

La condition d'extraction associée à l'extraction des données d'une table est syntaxiquement incorrecte.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre