Vues

Cette fonction permet de créer et de modifier des vues, en décrivant ses caractéristiques dans le dictionnaire de données du dossier. Vous pouvez créer des vues sur des tables de différents dossiers.

La validation de cette description permet alors de créer la vue dans la base de données, ou d'en modifier les caractéristiques.

Une vue est ensuite utilisable en lecture seulement. La programmation autour d'une vue est similaire à celle d'une table. Elle aura sa propre classe [F]. Les instructions suivantes sont disponibles pour les vues :

  • (local) File,
  • close (local) File,
  • Filter,
  • For ... Next,
  • Read,
  • Columns,
  • Link.

Une vue est accessible par Crystal Reports et par l'éditeur de formule.

La restauration ou la validation d'une table détruit les vues basées sur cette table. Lors de la restauration, les vues et les déclencheurs sont regénérés automatiquement par le superviseur. En revanche, suite à la validation forcée d'une table, vous devez lancer la validation des vues du dossier courant et des autres dossiers portant sur cette table.

Une vue permet par exemple :

  • d'éviter d'ouvrir explicitement une table d'un autre dossier. Par exemple, pour les dossiers historisés. Une vue est créée pour chaque table non historisée. De cette manière, les fonctions de consultation ainsi que les états fonctionnent indifféremment sur le dossier principal ou le dossier historisé.
  • de développer des états accédant à des données de plusieurs dossiers,
  • d'accéder à des fonctionnalités SQL jusqu'alors inaccessibles : union, group by, fonctions SQL.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de mise en oeuvre.

Gestion de l'écran

La définition d'une vue se fait à l'aide de trois onglets :

  • l'onglet de définition de la requête,
  • l'onglet de définition des champs,
  • l'onglet de définition des clés.

En-tête

Onglet Requête

Cet onglet permet d'écrire la requête.

La requête doit être écrite au minimum dans le langage de la base de données courante du dossier. Mais pour toute vue standard livrée, un script est livré pour chaque base. Au moment de la validation de la vue, le fichier *.viw est créé avec le script adapté à la base de données du dossier courant. Celui-ci est créé dans le répertoire FIL, sur le serveur de données.

Si vous voulez préciser dans la requête des champs soumis à un code activité, de même qu'un nom de dossier, il est recommandé d'utiliser une formule. En effet, il est préférable de ne pas mettre le dossier "en dur" dans la requête, afin de permettre le fonctionnement dans un autre dossier, suite à une copie de cette vue.

Exemple : code activité dimensionné de 1 à 3 pour le champ LIEN, et formule sur dossier :

Select CLENUM1_0, CLENUM2_0, LIEN_0

%string$(find(func AFNC.ACTIV("ZZM"),2,3)<>0,", LIEN_1")%

%string$(find(func AFNC.ACTIV("ZZM"),3)<>0,", LIEN_2")%

From %nomap+"."%ZZMB

Pour plus de renseignements sur les règles d'écriture de la requête, vous pourrez lire l'aide du champ.

Onglet Champs

Cet onglet permet de définir l'ensemble des champs de la vue dans un tableau déroulant. Il doit y avoir entière compatibilité entre la description des champs dans la requête et dans cet onglet (nombre, ordre, et type des champs). Ce contrôle est effectué lors de la validation de la vue. Ces champs peuvent exister dans le dictionnaire des tables. Ce n'est toutefois pas une obligation.

Onglet Clés

Cet onglet permet de définir l'ensemble des clés disponibles pour un code Order By sur la vue.

Attention : Il n'y a pas de création d'index pour la vue.

Boutons spécifiques

Barre de menu

Option / Source .srf

Cette option permet de visualiser le fichier *.srf correspondant à la table courante dans l'application courante.

Cette option est notamment intéressante sur un serveur sur lequel vous n'avez pas les droits sur le répertoire FIL.

Option / Source .viw

Cette option permet de visualiser le fichier *.viw contenant le source de la vue dans l'application courante.

Cette option est notamment intéressante sur un serveur sur lequel vous n'avez pas les droits sur le répertoire FIL.

Messages d'erreur

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

Il existe déjà une table du même nom

Vous ne pouvez pas créer une vue dont le nom est déjà donné pour une table. En effet, il faut une unicité toutes tables et vues confondues car le système crée un fichier *.srf et un fichier *.fde.

Taille du fichier trop grande

Taille limitée sur le fichier de configuration.

Type de donnée non géré

Vous ne pouvez pas créer une vue avec un champ de type AXX (texte traduisible).

Longueur incorrecte

La longueur est incorrecte en fonction du type interne du champ.

  • libellé : la longueur doit être ≤ 30
  • entier court : la longueur doit être ≤ 4
  • entier long : la longueur doit être ≤ 8
  • décimal : partie entière + partie décimale ≤ 32
  • alphanumérique : la longueur doit être ≤ 250
  • blob, clob : la longueur doit être ≤ 20

Option incorrecte

Vous avez tenté de saisir une option qui n'existe pas.

Option incompatible avec le format x (Type de donnée y)

Quand vous précisez un format sur un type de donnée alpha, vous ne devez pas utiliser les options A et #.

Abréviation déjà existante

Ce message d'avertissement s'affiche si vous tentez de saisir une abréviation sur une vue qui est déjà existante pour une autre vue ou une table. Il est recommandé d'avoir des abréviations uniques.

Remarques

Une vue est créée dans la base de données du dossier où elle est installée au moment de sa validation. Toutes les fonctions Sage X3 utilisées dans une telle vue (par la syntaxe %formule%) sont évaluées lors de la validation de la vue et transmises à la base comme des constantes.

A la création d'un dossier ou lors de sa validation, l'opération qui va valider les vues est déclenchée depuis le dossier X3 qui est différent de celui où la vue est installée. Vous devez donc prendre les précautions suivantes:

  • dans les formules, évitez d'utiliser des fonctions (syntaxe func) pour calculer des constantes qui seront ensuite insérées à la création de la vue,à moins d'être absolument certain que la fonction en question est disponible dans tous les dossiers (y compris le dossier X3) et rend la même valeur.
  • privilégiez la déclaration de tables ou de vues sans préciser dans quel dossier elles se trouvent (et notamment pas nomap ou adxmother dont la définition peut varier en fonction du dossier).

SEEWARNING Si ces précautions ne peuvent pas être respectées, vous devez revalider manuellement les vues qui posent problème dans le dossier lui-même après les opérations de validation de dossier.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de mise en oeuvre.