COLUMNS

Sommaire


Columnspermet de restreindre le nombre de colonnes (ou champs) alimentés dans ou depuis la classe [F] lors des instructions de lecture et d'écriture dans la base de données.

 

Syntaxe

 

SYNTAXE 1  
Columns
classe [( champ [, champ])

SYNTAXE 2  
Columns
classe  With Mask( masque [, masque])]

 

Paramètres

Elément

Description

Restrictions

classe

Abréviation d'un fichier ouvert

le fichier doit déjà être ouvert

Champ

nom d'un champ de la table

Aucune.

masque

Abréviation d'un masque ouvert

le masque doit déjà être ouvert

 

Exemples

  # Lecture puis ré-écriture limitées aux 2 champs code et nom du client
  Local File BPARTNER [BPR]
  # Position du filtre sur le code et nom du client
  Columns [BPR](BPRNUM,BPRNAM)
  For [BPR]
       ...
       Rewrite [BPR]
  Next
  # suppression du filtre : toutes les colonnes sont de nouveau disponibles
  Columns [BPR]

 

  # Filtre de colonnes sur la classe issue du link
  Local File ORDERS [ORD]
  Local File ITMMASTER [ITM]
  Link [ORD] with [ITM]ITM0=[F:ORD]ITMREF as [ORI]
  # Position du filtre sur la réf.article, la dés. article, le n° d'ordre
  Columns [ORI]([ITM]ITMREF,[ITM]ITMDES1,[ORD]WIPNUM)
  For [ORI]
       ...
  Next
  # suppression du filtre : toutes les colonnes sont de nouveau disponibles
  Columns [ORI]

 

  # Filtre de colonnes sur la classe issue du link
  Local File ORDERS [ORD]
  Local File ITMMASTER [ITM]
  Link [ORD] with [ITM]ITM0=[F:ORD]ITMREF as [ORI]
  # Position du filtre sur la réf.article, la dés. article, et tous les champs de la table [ORD]
  Columns [ORI]([ITM]ITMREF,[ITM]ITMDES1,[ORD])
  For [ORI]
       ...
  Next
  # suppression du filtre : toutes les colonnes sont de nouveau disponibles
  Columns [ORI]

 

Description et commentaires

Columnspermet de restreindre l'accès aux colonnes d'une table préalablement ouverte, lors des instructions de lecture et d'écriture dans la base de données. Ceci permet d'accélérer les accès aux données de cette table.

Columnss'applique de la même manière :

L'instruction Columnsn'est prise en compte que par les instructions For et Rewrite.Les instructions Readet Write continuent detraiter l'ensemble de la classe[F].

La classe [F] continue d'exister pour les variables exclues par l'instruction Columns, mais elles ne sont plus alimentées par l'instruction For.

Si une instruction Columns vient après une autre instruction Columns, elle annule et remplace la précédente. On se servira donc de l'instruction Columns [abv] sans autre argument pour annuler tout éventuel filtre sur colonne.

Pour identifier une colonne, il est possible d'utiliser un evalue. Exemple :    
Columns [LNK]([ATB]ZERO,=evalue("[ATB]INTITFIC"))

Pour un champ dimensionné, voici les différentes possibilités d'identification des colonnes :
Sélection d'un poste : Columns [LNK]([ATB]TOTO(5))
Sélection du tableau complet : Columns[LNK]([ATB]TOTO)
Sélection d'une tranche de postes : Columns[LNK]([ATB]TOTO(1..8))

La syntaxe 2 donne la possibilité de préciser un ou plusieurs masques. Dans ce cas, le principe appliqué est le suivant : une colonne est sélectionnée pour une table lorsqu'un champ de même nom est  présent dans l'un des masques déclarés.

 

Remarques

Il y a un niveau de localité attaché aux fichiers ouverts par Local File. Par contre, il n'y en a pas attaché à l'ordre Columns. Ainsi, si cet ordre apparaît dans un sous programme sur une table précédemment ouverte (et - bien sûr - non réouverte dans le sous-programme) , il sera encore actif au retour dans le traitement appelant.

On peut mettre l'instruction Columns après l'instruction link pour se limiter aux champs utiles et s'affranchir des limites techniques liées aux bases de données.

 

Nouveautés de la version 140

Syntaxe 2.

 

Erreurs associées

Erreur

Description

ERCLAS( 7)

Abréviation non trouvée

 

Mots-clés associés

LINK  -  FOR  -  REWRITE


SOMMAIRE

Adonix X3(r) L4G
C
opyright (c) Adonix 1999 - All rights reserved