Commande DEFINE FIELD

Définit un champ de données physique dans un format de table Analytics.

Syntaxe

DEFINE FIELD nom_champ type_données position_départ longueur <décimales|format_date> <NDATETIME> <PIC format> <AS nom_affichage> <WIDTH caractères> <SUPPRESS> <note_champ>

Paramètres

Nom Description
nom_champ

Nom du champ.

Remarque

La longueur des noms des champs ne doit pas dépasser 256 caractères alphanumériques majuscules et minuscules. Le nom peut inclure le caractère de soulignement ( _ ), mais aucun autre caractère spécial ni espace. Le nom ne peut pas commencer par un chiffre.

Un certain nombre de mots-clés réservés ne peuvent pas être utilisés comme noms de champs dans Analytics. Pour consulter la liste complète, voir Mots-clés réservés.

type_données

Type de données à utiliser pour l'interprétation des données. Pour obtenir la liste des types de données pris en charge, consultez la rubrique Types de données prises en charge.

Par exemple, les numéros de factures peuvent être stockés en tant que valeurs numériques dans la source de données. Pour que ces valeurs soient traitées en tant que chaînes de caractères plutôt que comme nombres, vous pouvez définir le champ en tant que données de type caractère à la place.

position_départ

La position d'octet de départ du champ dans le fichier de données Analytics.

Remarque

Analytics non Unicode 1 octet = 1 caractère
Analytics Unicode, données ASCII étendu (ANSI) 1 octet = 1 caractère
Analytics Unicode, données Unicode 2 octets = 1 caractère

Pour les données Unicode, normalement, vous devez indiquer une position d'octet de départ avec un nombre impair. Indiquer une position de départ avec un chiffre pair peut entraîner l'affichage incorrect des caractères.

longueur

Longueur du champ en octets.

Remarque

Analytics non Unicode 1 octet = 1 caractère
Analytics Unicode, données ASCII étendu (ANSI) 1 octet = 1 caractère
Analytics Unicode, données Unicode 2 octets = 1 caractère

Pour les données Unicode, spécifiez uniquement un nombre d'octets pair. Indiquer un nombre d'octets impair peut entraîner l'affichage incorrect des caractères.

décimales

optionnel

Nombre de décimales contenues par les champs numériques

format_date

optionnel

Format de date dans les champs des données sources.

Pour les champs de type DateHeure ou heure, utilisez PIC format. Vous pouvez également utiliser PIC format pour les champs de date.

Si les données sources comprennent des séparateurs comme des barres obliques, vous devez les inclure dans format_date. Par exemple, si les données source sont 12/31/2014, vous devez saisir la date au format MM/JJ/AAAA. N'entourez pas format_date de guillemets.

NDATETIME

optionnel

Les valeurs de date, DateHeure ou heure stockées dans un champ numérique sont traitées comme des données DateHeure.

NDATETIME requiert que vous indiquiez également le format de la DateHeure source à l'aide de PIC format.

PIC format

optionnel

Remarque

S'applique aux champs numériques ou DateHeure.

  • champs numériques format d'affichage des valeurs numériques dans les vues et rapports Analytics
  • champs DateHeure format physique des valeurs DateHeure dans les données source (ordre des caractères date et heure, séparateurs, etc.)

    Remarque

    Pour les champs DateHeure, le format doit correspondre exactement au format physique dans les données source. Par exemple, si les données source sont 12/31/2014, vous devez saisir la date au format "MM/JJ/AAAA".

Le format doit être placé entre guillemets.

AS nom_affichage

optionnel

Nom d'affichage (titre de la colonne) pour le champ dans la vue. Si vous souhaitez que le nom d'affichage soit identique au champ nom, n'utilisez pas AS.

Indiquez le nom_affichage sous forme de chaîne entre guillemets. Utilisez un point-virgule (;) entre les mots si vous souhaitez insérer un saut de ligne dans le titre de la colonne.

WIDTH caractères

optionnel

Largeur d'affichage du champ en nombre de caractères.

La valeur indiquée contrôle la largeur d'affichage du champ dans les vues et rapports Analytics. La largeur d'affichage n'altère jamais les données ; elle peut toutefois masquer des données si elle est plus courte que la longueur du champ.

La largeur d'affichage ne peut pas être inférieure à la longueur de nom_champ ou de nom_affichage.

Si vous ignorez WIDTH, la largeur d'affichage est définie sur la longueur du champ en caractères.

Remarque

Les caractères spécifiés par WIDTH sont des caractères à largeur fixe. Le même espace est attribué à chaque caractère, quelle que soit la longueur du caractère réel.

Par défaut, les vues dans Analytics utilisent une largeur proportionnelle qui ne correspond pas à l'espacement des caractères à largeur fixe.

Si vous souhaitez une correspondance un à un entre la valeur WIDTH et les caractères de la vue, vous pouvez modifier le paramètre Police proportionnelle dans la boîte de dialogue Options sur une police à châsse fixe comme Courier New.

SUPPRESS

optionnel

S'applique uniquement aux champs numériques.

Supprime la totalisation automatique d'un champ numérique dans les rapports Analytics.

La totalisation de certains champs numériques n'est pas appropriée : par exemple, un champ coût unitaire ou un champ taux de remise.

note_champ

optionnel

Commentaire de champ qui est ajouté à la définition de champ dans le format de table.

note_champ doit être le dernier paramètre, après tous les autres paramètres obligatoires et facultatifs. Le texte ne peut pas être contenu sur plusieurs lignes. Les guillemets ne sont pas obligatoires.

Exemples

Définition d'un champ de type caractère

Définit un champ de type caractère appelé ProdDesc. Le titre de la colonne dans la vue est Description produit.

Analytics non Unicode

  • Commence à : octet 12 (position de caractère 12)
  • Longueur : 24 octets (24 caractères)
DEFINE FIELD ProdDesc ASCII 12 24 AS "Description produit"

Analytics Unicode, données ASCII étendu (ANSI)

  • Commence à : octet 12
  • Longueur : 24 octets (24 caractères)
DEFINE FIELD ProdDesc ASCII 12 24 AS "Description produit"

Analytics Unicode, données Unicode

  • Commence à : octet 13
  • Longueur : 48 octets (24 caractères)
DEFINE FIELD ProdDesc UNICODE 13 48 AS "Description produit"

Définition d'un champ numérique

Définit un champ numérique appelé Quantité disponible. Dans la vue, la colonne utilise le format d'affichage spécifié, et le titre est Quantité disponible.

  • Commence à : octet 61
  • Longueur : 10 octets
  • Places décimales : aucune
DEFINE FIELD QtyOH NUMERIC 61 10 0 PIC "(9.999.999)" AS "Quantité disponible"

Définition d'un champ DateHeure à partir de données de type caractères

Dans les données caractères source, les deux premiers exemples ci-dessous définissent un champ DateHeure appelé Date_transaction. Dans les données source, le format de date est JJ/MM/AAAA. Aucun titre de colonne n'est spécifié ; par conséquent, le titre de colonne utilise par défaut le nom du champ.

  • Commence à : octet 20
  • Longueur : 10 octets

Ici, le format de date est spécifié à l'aide de format_date :

DEFINE FIELD Date_transaction DATETIME 20 10 JJ/MM/AAAA

Ici, le format de date est spécifié à l'aide de PIC format :

DEFINE FIELD Date_transaction DATETIME 20 10 PIC "DD/MM/YYYY"

Lors de la définition des champs DateHeure incluant les données heure, vous devez utiliser PIC format,

L'exemple suivant définit un champ DateHeure appelé e-mail_horodatage. Dans les données source, le format DateHeure est AAAA/MM/JJ hh:mm:ss-hh:mm.

  • Commence à : octet 1
  • Longueur : 25 octets
DEFINE FIELD e-mail_horodatage DATETIME 1 25 PIC "YYYY/MM/DD hh:mm:ss-hh:mm"

Définition d'un champ DateHeure à partir de données numériques

À partir des données numériques source, définit un champ DateHeure appelé Reçu_horodatage ayant le format de DateHeure spécifié dans les données source.

  • Commence à : octet 15
  • Longueur : 15 octets
DEFINE FIELD Reçu_horodatage DATETIME 15 15 PIC "YYYYMMDD,hhmmss"

Définition d'un champ DateHeure « numérique »

À partir des données numériques source, définit un champ numérique appelé Reçu_horodatage ayant le format de DateHeure spécifié dans les données source.

Le paramètre NDATETIME permet aux valeurs de DateHeure stockées dans le champ numérique d'être traitées comme des données de DateHeure par Analytics.

  • Commence à : octet 15
  • Longueur : 15 octets
  • Places décimales : 6
DEFINE FIELD Reçu_horodatage PRINT 15 15 6 NDATETIME PIC "YYYYMMDD.hhmmss"

Définir un champ de données physique qui lit des données compressées de l'ordinateur central

Vous pouvez utiliser l'option NDATETIME pour créer un champ de données physique qui lit les valeurs de date d'un champ numérique compressé.

Analytics ne peut pas reconnaître une date dans un nombre dont le taux de compression est inférieur à un octet par chiffre et qui n'affiche pas de format de date. Par conséquent, vous devez « décompresser » la valeur avec NDATETIME afin d'obtenir le nombre total de chiffres, puis spécifier le format de date à l'aide de PIC.

Pour indiquer précisément quels chiffres représentent le jour, le mois et l'année, vous indiquez le même format de date que celui dans le format d'enregistrement compressé :

DEFINE FIELD nom_champ_date NUMERIC 1 8 0 NDATETIME PIC "AAAAMMJJ"

Remarques

Remarque

Pour plus d'informations sur le fonctionnement de cette commande, consultez le Aide d'Analytics.

Écraser des champs dans un script

Il est possible d'écraser un champ dans un format de table en définissant un champ utilisant le même nom que le champ existant. Si SET SAFETY est sur ON, une boîte de dialogue de confirmation apparaît avant d'écraser le champ existant.

Pour éviter d'interrompre un script, vous pouvez définir SET SAFETY sur OFF. Le champ existant est écrasé sans confirmation supplémentaire.

Types de données prises en charge

Catégorie de données Type de données
Caractère ASCII
CUSTOM
EBCDIC
NOTE
PCASCII
UNICODE
Numérique ACCPAC
ACL
BASIC
BINARY
FLOAT
HALFBYTE
IBMFLOAT
MICRO
NUMERIC
PACKED
PRINT
UNISYS
UNSIGNED
VAXFLOAT
ZONED
DateHeure DATETIME
Logique LOGICAL
Guide de création de scripts ACL 14.1