Développement > Dictionnaire données > Tables > Types de données 

Utilisez cette fonction pour définir des types de données utilisables dans tous les dictionnaires où des données sont définies : écrans, champs des tables, paramètres des états…

Un type de données est lié à un certain nombre de caractéristiques (type interne, longueur, actions…) automatiquement rattachées à tous les champs utilisant ce type. Il n'est toutefois pas nécessaire de définir toutes les caractéristiques d'un type. En effet, les caractéristiques non définies au niveau du type seront demandées à la définition de l'écran, ce qui permet de définir des types génériques. Un certain nombre de types de données sont livrées par défaut, contenant uniquement le type interne, c'est-à-dire le type de stockage du champ. Ces types de données ne peuvent pas être modifiés. La liste est la suivante :

Code type

Définition

Il

Chaîne alphanumérique

ABB

Blob

ACB

Clob

C

Entier court

D

Date

DCB

Montant décimal

L

Entier long

M

Menu Local

MM

Menu local avec possibilité de filtre des éléments

 M ou MM correspondent à un menu local dont le numéro est donné par le contenu de la colonne Menu dans le dictionnaire des tables ou écrans. 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 sous la forme d'une case à cocher (s'il s'agit du menu local 1 qui stocke les valeurs Oui / Non). Dans la base de données, on ne stocke que le numéro du choix dans la liste (0 si la zone n'est pas renseignée, 1 si le premier intitulé de la liste est sélectionné, et ainsi de suite).

Le tableau ci-dessous liste les types de données correspondant à des éléments techniques du Superviseur :

Code type

Définition

ABS

Variable bas de tableau

AT

Champ indiquant le type de blob

AX1

Texte traduit (longueur 12)

AX2

Texte traduit (longueur 20)

AX3

Texte traduit (longueur 30)

W

Filler

ABSidentifie la zone écran de bas de tableau. Cette zone est obligatoire pour tout bloc tableau défini dans un écran. Si le tableau est saisissable, cette zone doit être en mode saisie ; si le tableau est invisible, cette zone doit être en mode invisible.

W identifie un ‘filler’. Ce type de donnée placé sur une zone écran aura seulement pour effet de laisser un espace entre la zone précédente et la zone suivante, si ces deux zones sont sur une même ligne. Dans ce contexte, il est préférable d'utiliser la rubrique colonne du dictionnaire des écrans et de n'utiliser les champs avec type de donnée W qu'en dernier recours.

AX1, AX2, AX3 identifient les textes traduits. Ce champ n'est pas concrètement créé dans la base de donnée. L’intitulé de ce champ permet simplement d'identifier le texte traduit qui sera stocké dans la table dédiée ATEXTRA.

Le tableau ci-dessous liste les types fonctionnels les plus importants (liste non exhaustive) :

Code type

Définition

MD1 à MD4

Formats de montants dépendant de la devise (qui doit être en ligne) : les 4 formats correspondants sont définis dans la table des devises.

MC1 à MC4

Formats de montants dépendant de la devise : il s'agit des même types que ci-dessus, mais ils sont optimisés pour une utilisation dans un tableau déroulant dans lequel une colonne est saisie dans une devise qui ne dépend pas de la ligne courante.

MS1 à MS4

Montants en monnaie du site

ADI

Code stocké dans une table diverse (dont le numéro est donné, dans le dictionnaire des tables, par l'expression de lien)

HM

Heures : minutes

QTY

Quantité

QT1 à QT5

Optimisée pour bloc tableau (même remarque que ci-dessus : le format d'une colonne ne doit pas dépendre de la ligne courante)

Prérequis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Champs

Les champs suivants sont présents dans cet onglet :

 

  • Intitulé (champ ZINTITTYP)

 

 

Onglet Écran de saisie

Champs

Les champs suivants sont présents dans cet onglet :

Caractéristiques

La validation du dossier Adonix ne mettra pas à jour les types de données dont le code activité commence par X Y ou Z.

  • Module (champ MODULE)

Module d'appartenance du paramétrage. Ce champ permet de renseigner si l'écran doit être créé dans la base de données du dossier. Il l'est si le module auquel l'écran est rattaché est actif pour le dossier.

Type

  • Type interne (champ TYPTYP)

Permet d'indiquer le type interne du type de données. Les types possibles sont :

  • Alphanumérique : chaîne de caractères, d'une longueur maximale de 255 caractères, dont la longueur peut être donnée dans la rubrique correspondante. Si la longueur n'est pas donnée, elle devra être donnée dans la longueur du champ au moment de l'utilisation du type.
  • Menu local : entier compris entre 1 et 255.
  • Entier court : entiers compris entre -32768 et 32767.
  • Entier long : entiers compris entre -2^31 et +2^31-1.
  • Décimal: il s'agit d'un champ numérique d'au plus 32 chiffres significatifs, dont la longueur est donnée sous la forme N.M (N étant le nombre de chiffres avant la virgules, et M le nombre de chiffres après). Cette longueur peut être donnée directement au niveau du type ou dans le champ longueur défini au niveau du champ qui utilisera le type. Selon la base de données, ce type de champ peut être stocké sous forme flottante ou fixe dans la base de données. Le premier cas, correspond à oracle : dans ce cas, ce qui compte, quand on définit un format N.M, c'est en réalité la précision totale - N+M - de stockage. Le deuxième cas correspond à SQL server : le nombre de positions avant et après la virgule doit être clairement défini. Le champ format (qui peut être variable) définira alors plus précisément la répartition des chiffres entre la partie entière et la partie décimale.
  • Date: il s'agit de dates comprises entre le 01 janvier 1600 et le 31 décembre 9999 (sachant qu'une date nulle, symbolisée [0/0/0] existe).
  • Blob : il permet de stocker et gérer des images.
  • Clob: permet de stocker dans la base de donnée, des textes de longueur variable au format « rtf » ou « txt » et de les gérer.
  • Flottant et Double sont des types qu'il est recommandé de ne pas utiliser (formats liés à la machine).
  • Longueur (champ LNGTYP)

Utilisez ce champ pour indiquer, si nécessaire, la longueur des chaînes de caractères ou des numériques. Si celle-ci est à 0 la longueur sera alors saisie pour chaque variable de ce type.

  • No menu local (champ NOLIB)

Numéro du menu local. Si celui-ci est à 0 il sera saisi pour chaque variable de ce type.

Format

  • Format adonix (champ FORTYP)

Utilisez ce champ pour indiquer le format 'adonix' du type de données. Ce format doit être en cohérence avec le type interne. Le format doit être conforme à la syntaxe d'adonix. Seule, la partie située à droite des ": doit figurer dans ce champ. Ex: 10X , 3A2B. Le détail des syntaxes existantes est donné dans la documentation correspondante.

Pour un format variable, faire précéder de "=". Ex: =[F:DEV]FM92

Un bon exemple de ce type de format variable peut être visualisé avec les types MD1 à MD4. Ces formats sont utilisés pour des montants exprimés dans une devise. On utilise, par exemple pour MD1, le format =GDEVFMT. Cette variable globale est alimentée dans l'action INIDEV déclarée dans ce même type de donnée.

  • Options (champ OPTION)

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. Une description détaillée de toutes les options possibles est disponible.

 

Onglet Convergence

Champs

Les champs suivants sont présents dans cette fenêtre :

Objet

Utilisez ce champ pour indiquer, si nécessaire, l'objet associé au type de données. La table liée gérée par l’objet s'affiche.

La présence d'un code objet déclenche automatiquement :

  • Le contrôle d'existence
  • Les fenêtres de sélection et sélection avancée
  • La possibilité d'un accès direct à la gestion de l'objet
  • La possibilité d'afficher les propriétés de saisie courantes de l'objet

 

Format

  • Format tableau (champ OPTTAB)

Utilisez ce champ pour optimiser l’affichage des grands tableaux. Ce champ est réservé au type de donnée standard, car il est  nécessaire d'écrire un traitement particulier dans le Superviseur.

  • Paramètre : code paramètre à saisir en gestion d'écran sur le type de donnée.
  • Variable : zone initialisée par la valeur du paramètre dans l'action avant_saisie de la variable de bas de tableau.

 

  • champ W1

 

  • Variable (champ VARTAB)

Utilisez ce champ pour optimiser l’affichage des grands tableaux. Ce champ est réservé au type de donnée standard, car il est  nécessaire d'écrire un traitement particulier dans le Superviseur.

  • Paramètre : code paramètre à saisir en gestion d'écran sur le type de donnée.
  • Variable : zone initialisée par la valeur du paramètre dans l'action avant_saisie de la variable de bas de tableau.
  • Valeur par défaut (champ VALDEF)

Ce champ permet de saisir une formule de calcul pour attribuer une valeur par défaut aux zones de ce type.

Un exemple peut être vu sur le type CRY, qui définit le code pays : la variable GPAYS, qui définit le pays local, est proposée en valeur par défaut pour tous les champs de ce type. Cette valeur par défaut est automatiquement proposée sur les zones des écrans utilisant ce type de donnée. Cependant, si une zone utilisant ce type de donnée a sa propre valeur par défaut dans l'écran, c'est cette dernière qui est prise en compte; dans ce cas, la valeur par défaut du type de donnée est ignorée.

Tableau Actions

  • Type (champ ACTTYP)

Ce tableau permet de déclarer des actions cataloguées dans le dictionnaire des actions. L'objectif est que sur tous les champs ayant ce type de donnée, les actions définies ici s'exécuteront systématiquement.

Si une même action est définie à la fois sur le type de donnée et sur la zone d'écran, les actions s'exécuteront consécutivement et dans l'ordre suivant : celle du type de donnée puis celle du champ. Il y a un cas particulier pour les actions de sélection et les boutons : seule, l'action de la zone d'écran s'exécute.

Ce tableau permet de définir les actions particulières associées à la zone. Les types d'actions possibles sont:

  • Avant-zone : Action avant toute saisie ou affichage de la zone. On peut l'utiliser par exemple pour définir le format de la zone.
  • Init_bouton : Permet de définir les intitulés de bouton du menu contextuel.
  • Init: Permet d'initialiser une zone.
  • Avant_saisie : Action effectuée avant chaque saisie. on peut l'utiliser par exemple pour positionner mkstat et ne pas la saisir.
  • Contrôle : Permet de tester la validité de la zone.
  • Après-zone : Effectuée après le contrôle si celui-ci est valide. Permet par exemple d'affecter ou d'afficher d'autres zones.
  • Après-modif : idem mais n'est déclenchée que si la zone a été modifiée.
  • Sélection : Déclenchée par la touche F12.
  • Bouton 1 : Déclenché par la touche F9 (réservée pour les tunnels)
  • Bouton 2 à 20 : La touche F4 permet d'avoir la liste des menus contextuels.
  • Avant_ligne : Uniquement pour les tableaux déroulants, permet de faire quelque chose à chaque fois qu'on entre en modification d'une ligne.
  • Après_ligne : Uniquement pour les tableaux déroulants, permet de faire quelque chose après chaque saisie de ligne.
  • Clic : Uniquement pour les champs icônes. Permet le déclenchement d'une action au clic sur l'icône.

Indiquez les actions à effectuer de manière systématique sur ce type de données.
Les actions STD, SPE ou SPV qui sont liées à une fonction spécifique ne sont pas renseignées à ce niveau.
Vous pouvez renseigner plusieurs actions pour un même type d'action, sauf pour les actions  de sélection et les boutons.

  • Exécution (champ EXEACT)

Ce champ permet de définir le contexte d'exécution de l'action :

  • Intéractif : saisie en ligne.
  • Import/web service : chargement du web service ou mode import. Les actions sont exécutées sur les champs une fois qu’ils ont tous été renseignés.
  • Toujours : dans tous les contextes.

Onglet Classe

Champs

Les champs suivants sont présents dans cet onglet :

Type

  • Type (champ TYPSELSYR)

 

Détails

 

  • Intitulé (champ PROTYP)

 

  • Gestion superviseur (champ SUPFLG)

 

  • Format spécial (champ FMTPROSYR)

 

 

Représentations par défaut

 

 

 

Tableau Règles

  • Type (champ TYPRUL)

 

  • Script (champ TRTRUL)

 

  • Sous-programme (champ PRGRUL)

 

  • Rang (champ ORDRUL)

 

 

  • Actif (champ ENARUL)

 

Tableau Paramètres

  • Code (champ PARCOD)

 

  • Intitulé (champ ZPARTIT)

 

  • Clé (champ PARCLE)

 

  • Type (champ PARTYP)

 

 

  • Dim (champ PARDIM)

 

  • Mode (champ PARMOD)

 

 

Icône Actions

Ajout contrôle référence
Mettre à jour les paramètres

 

 

États

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

 ATYPE : Type de donnée

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

Boutons spécifiques

Utilisez cette action pour mettre à jour et compiler le traitement WWGLOBLON. Dans ce traitement, on a, pour chaque type de données alphanumérique, une variable globale de type shortint contenant la longueur saisie sur le type de donnée. Ces variables sont nommées GLONxxx ( xxx = type de donnée ). Elles sont utilisées lors de la définition de variables de travail liées à un type de donnée dans les traitements. Cela permet de s'affranchir des problèmes liés à une modification de la longueur d'un type de donnée.

Exemple d'utilisation de ces variables :
# variable de travail pour la référence article
Local Char WITEM (GLONITM)
WITEM = [F:ITM]ITMREF  

Les champs suivants sont présents dans la fenêtre ouverte par ce bouton :

Bloc numéro 1

  • champ OBJET

 

  • champ CLES

 

Bloc numéro 2

  • Depuis le dossier (champ DOSORG)

Indiquez le dossier à partir duquel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

  • Tous dossiers (champ TOUDOS)

Cette option permet de copier la fiche vers tous les dossiers définis dans le dictionnaire (table ADOSSIER de la solution courante).

  • Vers le dossier (champ DOSDES)

Indiquez le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Utilisez cette action pour recopier la définition du type de donnée vers un autre dossier.

Barre de menu

Documentation / Paragraphes

Cette fonction permet d'accéder à la gestion de la documentation, sur le premier paragraphe de la documentation (si elle existe) associé à la fiche courante.

Documentation / Liens

Cette fonction permet d'accéder à la gestion des liens. Elle permet de définir des liens entre la fiche courante et d'autres fiches (par exemple des liens entre fonctions et paramètres). Ces liens, purement documentaires, permettent d'alimenter la mécanique de génération des squelettes de documentation.

Documentation / Génération

Ce menu permet de lancer une génération de documentation. La génération peut se lancer également à partir du bouton [Génération] dans le bas de la fenêtre.

Trois types de génération peuvent être lancées, séparément ou simultanément :

  • la génération du squelette de documentation à partir du dictionnaire (tables ADOCUMENT, ADOCBLB, ADOCCLB).
  • la génération de la documentation à partir des tables précédentes.
  • la génération de la documentation sur champ.

Les bornes proposées par défaut tiennent compte de la fiche en cours, mais elles peuvent être modifiées au lancement.

Messages d'erreur

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

Longueur incorrecte

La longueur associée au champ est incompatible avec le type de données interne donné.

Menu local non défini

Le numéro du menu local est incorrect

Caractère invalide

Des caractères incorrects ont été saisis dans le format.

Format incorrect

Le format qui a été défini est invalide.

Option incorrecte

L'option associée au format est invalide.

Type de donnée non modifiable

Les types de données de base ne sont pas modifiables. Exemple : 'A','C','D','L','M','MM','DCB','AV','W','ACB','ABB'.

Tables mises en œuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre