Write to Variable Format File

Write to Variable Format File écrit des enregistrements dont la mise en page varie dans un fichier.

Les fichiers de format variable présentent les caractéristiques suivantes :

  • Les enregistrements dans le fichier contiennent des champs différents et des nombres de champs différents.
  • Chaque enregistrement doit contenir une balise (généralement un nombre) identifiant le type d'enregistrement.
  • Les relations hiérarchiques sont prises en charge.

Exemple de fichier au format variable

Cet exemple présente un fichier de format variable contenant des informations sur la vérification de l'activité de compte de deux clients, Joe Smith et Anne Johnson. Dans cet exemple, le fichier est un fichier délimité qui utilise la virgule comme délimiteur de champ.

001   Joe,Smith,M,100 Main St,555-234-1290
100   CHK12904567,12/2/2007,6/1/2012,CHK
200   1000567,1/5/2012,Fashion Shoes,323.12
001   Anne,Johnson,F,1202 Lake St,555-222-4932
100   CHK238193875,1/21/2001,4/12/2012,CHK
200   1000232,3/5/2012,Blue Goose Grocery,132.11
200   1000232,3/8/2012,Trailway Bikes,540.00

Le premier champ dans chaque enregistrement contient la balise qui identifie le type d'enregistrement et, par conséquent, le format de l'enregistrement :

  • 001 : enregistrement de client
  • 100 : enregistrement de compte
  • 200 : enregistrement de transaction de compte

Pour les fichiers délimités, il est courant que la valeur de balise (001, 100, 200) consiste en un nombre d'octets fixe au début de l'enregistrement, comme indiqué dans l'exemple ci-dessus.

Chaque enregistrement est doté de son propre format :

  • 001 : Prénom,Nomdefamille,Sexe,Adresse,NuméroTéléphone
  • 100 : IDdeCompte,DateD'ouverture,DateD'expiration,TypeDeCompte
  • 200 : IDdeTransaction,DateDeTransaction,Fournisseur,Montant

Le format d'enregistrement 100 (enregistrement de compte) est un enfant de l'enregistrement 001 précédent et le format d'enregistrement 200 (enregistrement de transaction de compte) est un enfant de l'enregistrement 100 précédent (enregistrement de compte). Ainsi, dans le fichier d'exemple, le compte de Joe Smith, CHK12904567, présentait une transaction datant du 05/01/12 d'un montant de 323,12 chez Fashion Shoes. De même, le compte d'Anne Johnson, CHK238193875, présentait deux transactions, l'une du 05/03/12 chez Blue Goose Grocery et l'autre du 08/03/12 chez Trailway Bikes.

Onglet de propriétés du fichier

Nom de l'option Description

Server name

Indique si le fichier que vous sélectionnez comme entrée figure sur l'ordinateur exécutant Enterprise Designer ou sur le serveur Spectrum™ Technology Platform. Si vous sélectionnez un fichier sur l'ordinateur local, le nom du serveur sera Mon ordinateur. Si vous sélectionnez un fichier sur le serveur, le nom du serveur sera Spectrum™ Technology Platform.

Nom de fichier

Indique le chemin du fichier. Cliquez sur le bouton de sélection (...) pour trouver le fichier souhaité.

Remarque : Si le Spectrum™ Technology Platform est en cours d'exécution sur les systèmes Unix ou Linux, rappelez-vous que les noms de fichiers et les chemins sur ces plates-formes sont sensibles à la casse.

Nom de la balise racine

Balise à utiliser pour les enregistrements qui représentent la valeur parent d'autres types d'enregistrement. Par exemple, si vous disposez de trois types d'enregistrement 001, 100 et 200, et que les types d'enregistrement 100 et 200 sont les enfants du type d'enregistrement 001, 001 est la balise racine.

Utiliser des balises de largeur fixe

Détermine si une quantité fixe d'espace doit être allouée au début de chaque enregistrement afin d'y placer la balise d'enregistrement. Par exemple, ce qui suit présente un fichier avec les balises 001, 100 et 200 dans un champ de largeur fixe :

001   Joe,Smith,M,100 Main St,555-234-1290
100   CHK12904567,12/2/2007,6/1/2012,CHK
200   1000567,1/5/2012,Mike's Shoes,323.12

Largeur de balise

Si vous cochez la case Utiliser des balises de largeur fixe, cette option indique le nombre d'espaces à allouer pour les balises au début de chaque enregistrement. Par exemple, si vous indiquez 7, les sept premières positions dans chaque enregistrement seront réservées pour la balise. La valeur que vous indiquez doit être supérieure ou égale à la taille dans les caractères du nom de balise le plus long. Pour plus d'informations sur les noms de balise, reportez-vous à Noms de balise dans des fichiers de format variable.

La valeur dans le champ Tag width est automatiquement augmentée si vous ajoutez des champs sous l'onglet Fields dont le nom est plus long que la valeur indiquée.

La largeur de balise maximale est de 1 024.

Enlever le préfixe de balise numérique

Enlève la portion « NumericTag_ » du nom de champ avant d'écrire la balise dans le fichier. Le préfixe « NumericTag_ » est ajouté aux noms de balise par le stage Read from Variable Format File pour tout nom de balise commençant par un nombre. En effet, le nom de balise est utilisé comme nom d'un champ de dataflow de liste contenant les données dans l'enregistrement, et les noms de champ de dataflow ne peuvent pas commencer par un nombre. Par exemple, une balise 100 deviendrait un champ de liste nommé « NumericTag_100 ». Si vous activez cette option, ce champ est écrit dans le fichier de sortie en tant qu'enregistrement avec une balise de « 100 » au lieu de « NumbericTag_100 ».

Encodage des caractères

L'encodage du fichier texte. Sélectionnez l'un des éléments suivants :

CP1252
Cet encodage est également connu sous le nom de jeu de caractères Windows-1252 ou simplement Windows. Il s'agit d'un super ensemble d'ISO-8859-1, qui utilise la plage de codes 128-159 pour afficher des caractères supplémentaires non inclus dans le jeu de caractères ISO-8859-1.
UTF-8
Prend en charge tous les caractères Unicode et est rétrocompatible avec le format ASCII. Pour plus d'informations sur UTF, reportez-vous à unicode.org/faq/utf_bom.html.
UTF-16
Prend en charge tous les caractères Unicode, mais n'est pas rétrocompatible avec le format ASCII. Pour plus d'informations sur UTF, reportez-vous à unicode.org/faq/utf_bom.html.
US-ASCII
L'encodage des caractères en fonction de l'ordre alphabétique anglais.
UTF-16BE
Encodage UTF-16 avec sérialisation d'octets gros-boutiste (octet le plus significatif en premier).
UTF-16LE
Encodage UTF-16 avec sérialisation d'octets petit-boutiste (octet le moins significatif en premier).
ISO-8859-1
Chiffrement de caractères ASCII utilisé habituellement pour les langues européennes occidentales. Également désigné par l'acronyme Latin-1.
ISO-8859-3
Chiffrement de caractères ASCII utilisé habituellement pour les langues européennes méridionales. Également connu sous le nom Latin-3.
ISO-8859-9
Chiffrement de caractères ASCII utilisé habituellement pour la langue turque. Également connu sous le nom Latin-5.
CP850
Une page de code ASCII utilisée pour écrire les langues européennes occidentales.
CP500
Une page de code EBCDIC utilisée pour écrire les langues européennes occidentales.
Shift_JIS
Un encodage de caractères pour la langue japonaise.
MS932
Extension Microsoft de Shift_JIS permettant d'inclure les caractères spéciaux NEC, la sélection NEC des extensions IBM et les extensions IBM.
CP1047
Une page de code EBCDIC avec le jeu de caractères Latin-1 complet.

Séparateur de champs

Indique le caractère utilisé pour séparer des champs dans un fichier délimité.

Par exemple, cet enregistrement utilise une barre verticale (|) comme séparateur de champ :

7200 13TH ST|MIAMI|FL|33144

Ces caractères disponibles à définir en tant que séparateurs de champs sont :

  • Espace
  • Tabulation
  • Virgule
  • Point (.)
  • Point-virgule
  • Conduite

Si le fichier utilise un caractère différent comme séparateur de champ, cliquez sur le bouton de sélection pour sélectionner un autre caractère délimiteur.

Séparateur de balises Indique le caractère placé après le champ de balise pour démarquer le champ d'identification pour chaque enregistrement dans un fichier délimité. Un séparateur de balises doit être un caractère unique.

Par défaut, les caractères suivants sont disponibles comme séparateurs de balises :

  • Espace
  • Tabulation
  • Virgule
  • Point (.)
  • Point-virgule
  • Conduite

Si le fichier utilise un caractère différent comme séparateur de balises, cliquez sur le bouton d'ellipse pour ajouter et sélectionner un séparateur de balises personnalisé.

Remarque : Par défaut, le caractère Séparateur d'enregistrements est le même que le caractère Séparateur de champs sélectionné. Pour activer ce champ et sélectionner un caractère différent, décochez la case Identique au séparateur de champs.
Identique au séparateur de champs Indique si le séparateur de balises est le même que le séparateur de champs. Décochez cette case pour sélectionner un caractère différent comme séparateur de balises.
Remarque : Par défaut, cette case est cochée et le champ Séparateur de balises est désactivé.

Qualificateur de texte

Le caractère utilisé pour entourer les valeurs de texte dans un fichier délimité.

Par exemple, cet enregistrement utilise des guillemets doubles (") en tant que qualificateur de texte.

"7200 13TH ST"|"MIAMI"|"FL"|"33144"

Ces caractères disponibles à définir en tant que qualificateurs de texte sont :

  • Guillemets simples (')
  • Guillemets doubles (")

Si le fichier utilise un délimiteur de texte, cliquez sur le bouton de sélection pour sélectionner un autre caractère délimiteur.

Séparateur d'enregistrements

Indique le caractère utilisé pour séparer des enregistrements dans un fichier séquentiel ligne par ligne ou délimité. Ce champ n'est pas disponible si vous activez la case Utiliser EOL par défaut.

Les paramètres de séparateur d’enregistrements disponibles sont :

Unix (U+000A)
Un caractère de saut de ligne sépare les enregistrements. Il s'agit du séparateur d'enregistrement standard pour les systèmes Unix.
Macintosh (U+000D)
Un caractère de retour chariot sépare les enregistrements. Il s'agit du séparateur d'enregistrement standard pour les systèmes Macintosh.
Windows (U+000D U+000A)
Un retour chariot suivi d'un saut de ligne sépare les enregistrements. Il s'agit du séparateur d'enregistrement standard pour les systèmes Windows.

Si votre fichier utilise un séparateur d'enregistrement, cliquez sur le bouton de sélection pour sélectionner un autre caractère séparateur.

Utiliser EOL par défaut

Indique que le séparateur d'enregistrements du fichier est le caractère de fin de ligne (EOL) par défaut utilisé sur le système d'exploitation sur lequel le serveur Spectrum™ Technology Platform est exécuté.

Ne sélectionnez pas cette option si le fichier utilise un caractère EOL qui est différent du caractère EOL par défaut utilisé sur le système d'exploitation du serveur. Par exemple, si le fichier utilise un EOL Windows, mais que le serveur fonctionne sous Linux, ne cochez pas cette option. Au lieu de cela, sélectionnez l'option Windows dans le champ Record separator.

Onglet Champs

L'onglet Champs détermine les champs du dataflow qui sont inclus dans le fichier de sortie.

Nom de l'option

Description

Ajouter

Cliquez sur cette option pour ajouter un champ à la sortie.

Pour plus d'informations sur la création de champs de dataflow à utiliser avec Write to Variable Format File, reportez-vous à Writing Flat Data to a Variable Format File.

Modifier

Cliquez sur cette option pour modifier le nom de la balise. Ce bouton est activé uniquement lorsqu'une balise est sélectionnée. Si l'option Utiliser des balises de largeur fixe est activée sous l'onglet Propriétés de fichier, la largeur de balise est automatiquement ajustée si vous saisissez un nom de balise plus long.

Remarque : Modifier le nom de balise racine à l'aide de ce bouton a le même effet que modifier la valeur du champ Nom de la balise racine dans l'onglet Propriétés de fichier.

Supprimer

Enlève le champ sélectionné de la sortie. Si vous enlevez un champ de liste, tous les champs enfant sont également enlevés. Si vous enlevez un champ enfant, seul l'enfant sélectionné est enlevé du champ de liste.

xx

Tout supprimer

Enlève tous les champs de la sortie.

Déplacer vers le haut/Déplacer vers le bas

Réorganise le champ sélectionné.

L'onglet Exécution

Nom de l'option

Description

Nom de fichier

Cela affiche le fichier défini dans l'onglet Propriétés de fichier.

Générer plusieurs fichiers Sélectionnez cette option pour écrire des enregistrements dans des fichiers différents, plutôt que d'écrire tous les enregistrements en un fichier. Le fichier dans lequel chaque enregistrement est écrit est indiqué dans l'enregistrement lui-même. Chaque enregistrement doit contenir un champ indiquant soit un nom de fichier, soit le chemin d'accès complet au fichier dans lequel vous souhaitez écrire l'enregistrement. Par exemple, pour envoyer les prix des actions de différentes sociétés (de groupes divers) à tous les clients séparément, cette fonctionnalité écrit les prix des actions des différentes sociétés dans des fichiers distincts qui peuvent être envoyés à chacun des clients, si vous le désirez. Si vous activez l'option Générer plusieurs fichiers, vous devez spécifier un fichier de sortie sur le serveur Spectrum™ Technology Platform ou sur un serveur FTP. Pour écrire les données dans un fichier sur un serveur FTP, vous devez définir une connexion au serveur de fichiers via Management Console.
Remarque : Les enregistrements de la colonne que vous sélectionnez dans Champ de chemin d'accès au fichier doivent se présenter dans l'ordre trié. Utilisez cette fonctionnalité lorsque l'enregistrement contient un nom de fichier ou le fichier de fichier complet.
Champ de chemin d'accès au fichier Sélectionne le champ contenant le chemin (un nom de fichier ou le chemin de fichier complet) du fichier dans lequel vous souhaitez écrire l'enregistrement. Seuls les éléments de type simple mappés directement sur une balise racine seront répertoriés dans le champs File path. Ce champ n'est activé que si vous sélectionnez l'option Générer plusieurs fichiers.

Mode Écriture

Indique s'il faut ajouter la sortie du dataflow à la fin du fichier ou supprimer les données existantes dans le fichier avant écriture de la sortie. L'un des éléments suivants :

Écraser
Remplace les données existantes dans le fichier de sortie chaque fois que le dataflow est exécuté.
Ajouter
Ajoute le dataflow de sortie à la fin du fichier, sans effacer les données existantes du fichier