Cette fonction permet de créer et de modifier les écrans du progiciel en définissant leur description dans une table. Un écran est en réalité un onglet ou la partie supérieure d'une fenêtre sur laquelle se trouvent plusieurs onglets. La validation de cette description permet alors de créer le source de l'écran et de le compiler dans les différentes langues dans lesquelles le dossier est généré.

Chaque écran est organisé en blocs, et chaque bloc contient une ou plusieurs zones. Une zone est un champ qui peut être saisi ,affiché ou invisible.

Un écran est défini par son code et son abréviation. Autant le code est unique dans un dossier, autant l'abréviation peut ne pas l'être ; il faut néanmoins faire attention au fait qu'il ne sera pas possible d'ouvrir simultanément deux écrans ayant la même abréviation : il est donc important que les différents onglets d'un même objet aient des abréviations différentes. Pour un objet de code XXX, l'écran d'en-tête s'appelle XXX0, et les différents onglets XXX1, XXX2, …, XXXn ; cette norme est fortement conseillée mais cependant pas obligatoire.

Il est possible d'insérer des graphes dans les écrans X3, en autorisant une représentation graphique sur un bloc tableau. Le graphe pourra être simple ou multiple, sous forme de gantt ou bien s'appuyer sur un composant XSL créé dans le dictionnaire des composants écran

Il est également possible d'insérer des pages web, en créant des blocs "browser", et en utilisant le dictionnaire des composants écran.

Il est possible de définir des écrans au format VT.

 

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

L'en-tête permet d'identifier l'écran, et de donner ses caractéristiques générales.

Onglet Général

On y trouve les informations liées à la gestion globale de l'écran.

Code activité et module

Ces deux informations permettent de savoir si l'écran décrit dans le dictionnaire doit effectivement être créé dans la base de données du dossier. Il l'est si les deux conditions ci-dessous sont réalisées simultanément :

  le champ code activité est vide, ou bien le code activité (défini dans la table correspondante) est effectivement activé.

  le module auquel l'écran est rattaché a été déclaré est actif pour le dossier.

Un code activité débutant par X, Y, ou Z rend l'écran complet spécifique, c'est-à-dire qu'il n'est pas remis à jour en cas de revalidation de dossier.

Taille 

L'écran est tout d'abord défini par son type qui peut être :

  En-tête
  Onglet
  Boite de dialogue
  Plein écran
  Plein écran avec liste

Entête et onglet sont particulièrement utilisés en gestion objet, consultation, sur un modèle "saisie fenêtre".

Boite de dialogue est utilisée sur un modèle saisie fenêtre.

Plein écran est utilisé sur un objet tableau et sur un modèle "saisie fenêtre".

Plein écran avec liste gauche est utilisé sur un objet simple avec 1 seul écran et sur un modèle "saisie fenêtre".

Les 3 premiers types ( en-tête, onglet, boîte de dialogue ) nécessitent la saisie complémentaire du nombre de lignes et nombre de colonnes en sachant que le titre des onglets prend 1 ligne, le contour des blocs prend 1/2 ligne par trait et que le maximum est :

  en basse résolution, 20 lignes, 84 colonnes ( 64 colonnes, s'il y a une liste de gauche ).
  en haute résolution, 28 lignes, 112 colonnes ( 88 colonnes, s'il y a une liste de gauche ).

Ces deux champs ( lignes, colonnes ) sont considérés comme du paramétrage. Il ne nécessite donc pas la protection d'un code activité pour une modification faite par le spécifique.

Ecran modèle

Cette case à cocher permet d'identifier qu'un écran n'est jamais utilisable en tant que tel ( ni en interactif, ni en import ), mais ne sert que de modèle pour la création d'autres écrans. Ces écrans, sont, par exemple, utilisables pour les générations de transactions de saisie. 

Traitements associés

On retrouve ici le nom des deux traitements utilisés en liaison avec l'écran :

  Le traitement standard est le traitement dans lequel seront recherchées les actions " standard " (code STD) rattachées aux champ de l'écran. Pour un objet XXX, le nom du traitement standard est SUBXXX : cette norme est fortement conseillée mais cependant pas obligatoire. A la validation de l'écran, ce traitement est mis à jour (ou créé s'il n'existe pas déjà), lorsqu'une action " standard " est ajoutée sur un champ. En fait, l'étiquette du sous-programme est générée avec passage en paramètre de la valeur du champ; Il reste au développeur à écrire ce sous-programme.

  Le traitement spécifique est le traitement dans lequel seront recherchées les actions " spécifiques " (code SPE ou SPX) rattachées aux champ de l'écran. Pour un objet XXX, le nom du traitement spécifique est SPEXXX : cette norme est fortement conseillée mais cependant pas obligatoire. A la validation de l'écran, ce traitement est mis à jour (ou créé s'il n'existe pas déjà), lorsqu'une action " spécifique " est ajoutée sur un champ. En fait, l'étiquette du sous-programme est générée avec passage en paramètre de la valeur du champ; Il reste au développeur à écrire ce sous-programme. La mise à jour de ce champ ne nécessite pas de protection par un code activité.

Définition des blocs

Un bloc est un ensemble de champs présentés dans un cadre, avec un titre optionnel. Chaque champ de l'écran doit être positionné dans un bloc. L'ordre de saisie des champs dans chaque bloc est imposé (lorsqu'on utilise la touche Tab, on se déplace de haut en bas et de droite à gauche).

Les caractéristiques de chaque bloc sont les suivantes :

  le Titre apparaît sur la partie supérieure du cadre. Ce texte est traduisible. Il peut être évalué.

  le Type du bloc peut être :

Type du bloc

Définition

Liste 

liste de champs indépendants les uns des autres

Tableau 

Les champs sont organisés dans un tableau de lignes déroulantes (horizontalement et verticalement si nécessaire)

Texte 

Affichage de textes fixes background, sans qu'il puisse y avoir de saisie

Invisible 

Déclaration d'un bloc liste invisible. Permet d'inclure dans un écran des zones techniques non affichées utilisables par les traitements liés à l'écran.

  les position, ligne, colonne servent à placer les blocs les uns par rapport aux autres. Il faut simuler une grille sur le dessin des blocs, puis indiquer pour chacun, le positionnement par les coordonnées (ligne. colonne) de son angle supérieur gauche, l'occupation par le nombre de lignes et le nombre de colonnes dans cette grille fictive. Exemple :

Bloc

Position

Ligne

Colonne

A

1.1

2

2

B

1.3

1

1

C

2.3

1

1

D

3.1

1

1

E

3.2

1

2

F

4.1

1

3

  le rang permet de définir dans quel ordre les blocs sont saisis : les blocs sont saisis dans l'ordre croissant des rangs lorsqu'on avance par Tab d'un champ à l'autre. De plus, il est utilisable en programmation pour identifier un bloc. Par exemple, afficher tous les champs du bloc 10, s'écrira :        Affzo 10         
Il est donc fortement conseillé de ne pas modifié le rang du bloc dans la définition de l'écran.

  Long permet de définir quelle est la longueur maximale en nombre de caractères qui est réservée devant les zones de saisie pour y placer les titres des champs dans un bloc liste. Cette longueur est approximative : les caractères étant en police proportionnelle, il ne s'agit que d'une longueur moyenne. Ainsi, il est possible que des titres légèrement plus grands puissent être affichés quand même. Généralement, 20 est une bonne valeur.

  Act permet de rendre optionnel un bloc de données ; si un code activité est présent, il peut être actif ou inactif. S'il est avec dimension, il permet de rendre paramétrable le nombre de ligne sur un bloc tableau. Un code activité débutant par X, Y, ou Z rend le bloc spécifique, c'est-à-dire qu'il n'est pas remis à jour en cas de revalidation de dossier.

  Ligne,Options et Bas de page ne sont saisis que si le bloc est de type Tableau. Dans ce cas :

  Ligne contient le nombre maximum de lignes saisissables dans le tableau.

  Bas de page contient le nom d'une variable technique stockant le nombre de lignes réellement saisies. Elle doit être définie saisissable dans l'onglet des champs, avec le type de données ABS. Si l'on veut qu'un bloc tableau soit invisible, on définira cette variable en mode invisible.

  Options contient une liste de caractères, représentant chacun une fonction de base autorisée (si elle est présente) sur le tableau. Ces caractères peuvent être sélectionnés à l'aide d'une fenêtre accessible par le bouton droit. Les fonctions suivantes sont disponibles :

Caractère

Fonction de gestion de tableaux

K

Ligne précédente & suivante en mode saisie

A

Annulation d'une ligne

D

Annulation d'un intervalle de lignes

R

Rajout de lignes en fin de tableau

I

Insertion de lignes

S

Couper

B

Copier

C

Coller

T

Chargement de tous les enregistrements dans le tableau

?

Recherche

+

Justification de colonne

=

Mode fiche automatique

1-9

Nombre de colonnes fixes ( à partir de la 1ère colonne )

Bloc tableau

Ce champ est désormais utilisé pour les "webs-services". Il est à renseigner pour les onglets contenant leur propre liste gauche. Exemple : écran BPABPR.

Tables référencées

Ce tableau permet une aide à la saisie des champs dans l'onglet suivant : il rapatrie les caractéristiques des champs des tables listées. 

Onglet Champs

Cet onglet permet de définir l'ensemble des champs de l'écran dans un tableau déroulant.

Champ

On définit dans cette colonne le nom de champ de l'écran. Pour bénéficier du trans-classe, il doit  si possible, avoir le même nom que le champ de la table auquel il fait référence. Un champ de nom NOMCHAMP défini dans un écran d'abréviation ABV1, pourra être accédé par la syntaxe [M:ABV1]NOMCHAMP.

Pour les champs créés en spécifique, le nom de champ doit commencer par X_, Y_ ou Z_.

Intitulé

Possibilité de choisir l'un des trois intitulés du champ stockés dans la table ou un libellé évalué ou tout autre texte.

Bloc, position

Permet le placement du champ dans un bloc. Par la position, on précise sur quelle on place le champ. Si plusieurs champs sont à placer sur une même ligne, on fait suivre le numéro de ligne par un numéro de séquence.

Colonne

Ce champ est utilisé pour aligner les champs, les uns par rapport aux autres, dans un même bloc. Il faut de nouveau imaginer une grille fictive. Le texte background et le champ de saisie associé comptent chacun pour une colonne. On indique dans ce champ, le nombre de colonnes occupées par le champ. Les champs de type de donnée W sont à exprimer en nombre de colonnes et non plus en nombre de caractères. Le superviseur considère que le dernier champ d'une ligne prend le nombre de colonnes nécessaire pour aligner la ligne en fonction de celle qui est la plus longue. 

Type, Menu, Long

On définit dans la première de ces trois colonnes le type de données de la zone. Ce type est défini dans le dictionnaire des types. Soit c'est un type de base défini dans la documentation des types de données, soit c'est un type lié à un objet (BPC pour un code client, ITM pour un code article) soit c'est un type capitalisant certaines caractéristiques ( NAM pour un nom long, SHO pour un nom court…). Certains types nécessitent des informations complémentaires données par les colonnes Menu et Long. Ce sont les types suivants :

  • M ou MM  correspondent à un menu local dont le numéro est donné par le contenu de la colonne Menu. Un menu local est une table d'intitulés, saisie soit sous la forme d'une combo box, soit sous la forme de boutons radios, soit (s'il s'agit du menu local 1 qui stocke les valeurs Oui / Non) sous la forme d'une case à cocher. La colonne Long permet de définir la longueur d'affichage de la zone lorsqu'elle est saisie sous la forme d'un combo box.
  • A correspond à un champ de type chaîne de caractères, dont la longueur est donnée par le contenu de la colonne Long.
  • DCB correspond à un montant dont le nombre de chiffres est défini dans la colonne longueur (sous la forme N.M)
  • L est un entier long, dont la longueur est définie par ailleurs.

Saisie

Indique si le champ est saisi, affiché, invisible ou technique ( non pris en compte par les Web-services ).

Act

Le code activité peut être porteur d'une dimension. Dans ce cas, le champ correspondant est dimensionné conformément à la valeur associée au code activité. Les codes activités commençant par X, Y, ou Z correspondent à des champs spécifiques qui ne sont pas touchés en mise à jour de dossier

Options

Cette colonne définit des options applicables à la saisie du champ. Ces options sont matérialisées par des caractères qui peuvent se concaténer lorsque plusieurs options sont nécessaires. Il est possible de choisir ces options grâce à une fenêtre de sélection. On trouvera une description détaillée de toutes les options possibles. La combinaison de ces options permet au superviseur d'appliquer un format de saisi particulier pour le champ. Cependant, il reste la possibilité de saisir directement le format de saisie par le menu contextuel ( pour la syntaxe du format, voir l'aide format$ )

Obligatoire

Le champ Obligatoire permet de définir si le champ peut être vide, ou s'il doit impérativement contenir valeur non vide. Par champ vide, on entend la chaîne de longueur vide, une valeur numérique nulle, une valeur de menu local égale à zéro (pas de choix effectué) ou la date vide [0/0/0].

Tunnel, lien

Ces champs sont disponibles dès qu'on a un type de données lié à l'objet. On précise si on propose un tunnel sur l'objet dans le menu contextuel du champ. Avec le champ « lien », on permet d'afficher automatiquement l'intitulé court ou long lié au code saisi dans ce champ.

Troncature

Il indique la longueur du champ sur l'écran et donc permet la troncature de ce champ sur l'écran. La saisie sur le champ sera scrollante. Les champs alphanumériques dont la longueur est supérieure à 30 sont, par défaut, tronqués par le superviseur.

Valeur par défaut

Constante ou variable permettant d'initialiser le champ.

Code accès

Possibilité de restreindre l'accès à ce champ réservé au spécifique. La mise à jour de ce champ ne nécessite pas de protection par un code activité.

Condition de saisie

Le champ est défini comme étant saisissable, cependant dans certaines conditions, on désire que ce champ ne soit pas saisissable.

Objet graphique

Sur un champ de bloc tableau, les objets autorisés sont : la case à cocher, et l'icône. 

Mot-clé d'aide

On saisit dans cette colonne le mot-clé référençant un texte d'aide associé au champ.  La mise à jour de ce champ ne nécessite pas de protection par un code activité.

Style

Possibilité d'ajout d'un style particulier sur le champ par paramétrage. Ceci est réservé au spécifique.  La mise à jour de ce champ ne nécessite pas de protection par un code activité.

Table de contrôle

Possibilité d'ajout de contrôle sur champ par paramétrage.  La mise à jour de ce champ ne nécessite pas de protection par un code activité.

 

Bloc des actions

Permet d'identifier les sous-programmes qui seront exécutés avant ou après la saisie d'un champ. Permet aussi d'identifier les actions du menu contextuel du champ. Ce tableau est à définir si nécessaire, pour chaque champ.

Bloc des paramètres pour actions

Permet d'affecter des valeurs aux paramètres des actions. On saisit un seul tableau des paramètres, pour l'ensemble des actions d'un champ.

Les champs sont organisés dans un tableau de lignes déroulantes (horizontalement et verticalement si nécessaire)

Etats

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

  AMSK : Dictionnaire des écrans

  AMSKLIST : Liste des écrans

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

Boutons spécifiques

Validation

Cette fonction permet de générer le *.msk dans le répertoire ECR. Ce fichier est indépendant de la langue. Il contient les actions à exécuter, les formats. La validation permet de générer les traitements automatiques liés à l'écran ( W0xxxxxxx pour l'import, W1xxxxxxx pour l'interactif, ou xxxxxxx est le code écran )