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

Cette fonction permet de définir des types de données utilisables dans tous les dictionnaires où des données sont définies : zones des écrans, champs des tables, paramètres des états...

On rattache à un type un certain nombre de caractéristiques (type interne, format, 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. Des explications détaillées sont fournies dans la documentation sur la saisie du format. 

Safe X3 livre un certain nombre de types de donnée contenant uniquement le type interne, c'est à dire le type de stockage du champ. Ces types de données ne sont en aucun cas modifiables. En voici la liste :

Code Type

 Définition

 A

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

On trouvera dans le tableau ci-dessous des types de données correspondant à des éléments techniques du superviseur :

 Code Type

 Définition

 ABS

 Variable de bas de tableau

 AT

 Champ indiquant le type d'un blob

 AX1

 Texte traduit (longueur 12)

 AX2

 Texte traduit (longueur 20)

 AX3

 Texte traduit (longueur 30)

 W

 Filler

  ABS identifie 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 devra être en mode saisie ; si le tableau est invisible, cette zone devra ê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. Il est cependant préférable d'utiliser, à cette fin, 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. En fait, ce champ n'est pas créé dans la base de donnée. Il sert juste par son nom de zone d'identifiant pour le texte traduit qui sera stocké dans la table dédiée ATEXTRA.

On trouvera dans le tableau ci-dessous une liste des types fonctionnels particulièrement importants (liste non exhaustive) :

Code Type

Définition

MD1 à MD4

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

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

heure : minute

QTY

Quantité

QT1 à QT5

Quantité 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)

VCR

Numéro pièce (avec possibilité de tunnel sur l'objet déclaré en paramètre).

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)

 

Fermer

 

Ecran de saisie

Champs

Les champs suivants sont présents dans cet onglet :

Objet

Permet d'indiquer, le cas échéant, l'objet associé au type de données. La table liée gérée par l'objet est affichée.

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 possibilté d'un tunnel vers la gestion de l'objet
  • La possibilité d'afficher les propriétés de l'enregistrement courant de l'objet

 

Format

  • Format tableau (champ OPTTAB)

Permet d'optimiser l'affichage des gros tableaux. Ceci est réservé au type de donnée du standard, car il nécessite un traitement particulier, dans le superviseur.

  • Paramétre : représente le code paramétre à saisir en gestion d'écran sur le type de donnée.
  • Variable : représente la zone qui sera 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)

Permet d'optimiser l'affichage des gros tableaux. Ceci est réservé au type de donnée du standard, car il nécessite un traitement particulier, dans le superviseur.

  • Paramétre : représente le code paramétre à saisir en gestion d'écran sur le type de donnée.
  • Variable : représente la zone qui sera 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 un même type d'action est défini à 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 « sélection », « bouton » et "icône", pour lesquelles, seule, l'action de la zone d'écran s'exécutera.

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.
On ne renseignera pas à ce niveau, d'actions STD, SPE ou SPV qui sont liées à une fonction particulière.
On peut renseigner plusieurs actions pour un même type d'action, sauf pour les actions  « sélection », « bouton » ou "icône".

  • Exécution (champ EXEACT)

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

  • Interactive : cas de la saisie en ligne.
  • Import / Web service : cas d'alimentation de la fiche en mode web service ou import. L'exécution des actions sur les champs est réalisée lorsque tous les champs sont renseignés.
  • Toujours : dans tous les cas.

Fermer

 

Onglet Convergence

Champs

Les champs suivants sont présents dans cet onglet :

Objet

Permet d'indiquer, le cas échéant, l'objet associé au type de données. La table liée gérée par l'objet est affichée.

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 possibilté d'un tunnel vers la gestion de l'objet
  • La possibilité d'afficher les propriétés de l'enregistrement courant de l'objet

 

Format

  • Format tableau (champ OPTTAB)

Permet d'optimiser l'affichage des gros tableaux. Ceci est réservé au type de donnée du standard, car il nécessite un traitement particulier, dans le superviseur.

  • Paramétre : représente le code paramétre à saisir en gestion d'écran sur le type de donnée.
  • Variable : représente la zone qui sera 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)

Permet d'optimiser l'affichage des gros tableaux. Ceci est réservé au type de donnée du standard, car il nécessite un traitement particulier, dans le superviseur.

  • Paramétre : représente le code paramétre à saisir en gestion d'écran sur le type de donnée.
  • Variable : représente la zone qui sera 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 un même type d'action est défini à 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 « sélection », « bouton » et "icône", pour lesquelles, seule, l'action de la zone d'écran s'exécutera.

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.
On ne renseignera pas à ce niveau, d'actions STD, SPE ou SPV qui sont liées à une fonction particulière.
On peut renseigner plusieurs actions pour un même type d'action, sauf pour les actions  « sélection », « bouton » ou "icône".

  • Exécution (champ EXEACT)

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

  • Interactive : cas de la saisie en ligne.
  • Import / Web service : cas d'alimentation de la fiche en mode web service ou import. L'exécution des actions sur les champs est réalisée lorsque tous les champs sont renseignés.
  • Toujours : dans tous les cas.

Fermer

 

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)

 

Fermer

 

Icône Actions

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

 

Fermer

 

Onglet Liens

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Liens

  • Type de lien (champ TYPLNK)

 

 

  • Rang (champ ORDLNK)

 

 

Fermer

 

Etats

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

Ce bouton permet la mise à jour et la compilation du 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 ). On utilisera ces variables lors de la définition de variables de travail liées à un type de donnée dans les traitement. Ce qui 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)

Ce champ permet de définir 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)

Ce champ permet de définir le dossier dans lequel la fiche va être copiée. Les syntaxes possibles sont décrites dans l'annexe dédiée.

Fermer

Ce bouton permet de 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 oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre