Le fichier script de l'utilitaire de conversion de fichier UMF définit comment les données d'un fichier de source de données sont converties en UMF. Le fichier script se compose de plusieurs sections, elles-mêmes composées de paramètres. Les quatre premières sections, GLOBAL, RECORD, IMPORT et EXPORT, qui se configurent au cours de votre déploiement initial, sont peu susceptibles de changer. La dernière section, TRANSFORM, renferme les paramètres qu'il peut s'avérer souhaitable de personnaliser.
Paramètres de la section [GLOBAL]
La section GLOBAL regroupe les paramètres qui concernent l'utilitaire de conversion de fichier UMF globalement.
- STARTWITH
- Indique l'enregistrement par lequel l'utilitaire de conversion de fichier UMF commence le traitement.
La valeur par défaut de ce paramètre est 1. Si vous importez un ensemble d'enregistrements contenant comme premier enregistrement un ensemble de noms de zones, il est souhaitable d'ignorer cet enregistrement et de commencer par le deuxième.
Par exemple, pour que l'utilitaire ignore le premier enregistrement, indiquez la valeur 2 :
STARTWITH=2
Paramètres de la section [RECORD]
La section RECORD regroupe les paramètres qui définissent la structure du fichier de définitions soit du fichier de source de données entrant, soit du fichier UMF de sortie. Vous pouvez ajouter plusieurs sections RECORD, chacune d'elle numérotée ; normalement, RECORD1 sert aux fichiers sources de données entrants, RECORD2 servant aux fichiers UMF de sortie.
- DEF
- Désigne le fichier qui contient la structure de données du fichier entrant ou
de sortie. Vous devez indiquer le chemin et le nom complets du fichier.
Il n'existe pas
de valeur par défaut.
Par exemple, si la section [RECORD] qui contient ce paramètre se réfère à un fichier UMF de sortie, ceci devient le chemin et le nom du fichier de sortie :
DEF=path\outputvariables.def
- NAME
- Désigne un alias du fichier de définitions qui est référencé dans cette section [RECORD].
Etant donné qu'il faut taper cette valeur de nombreuses fois à mesure que vous créez ce fichier script, il est préférable d'opter pour une chaîne brève.
La valeur par défaut d'un fichier entrant est In ; celle d'un fichier de sortie est Out. N'importe quelle valeur de chaîne est admise. Pour indiquer que le fichier de définitions est un fichier entrant, tapez ce qui suit dans cette section :
NAME=In
Paramètres de la section [IMPORT]
La section IMPORT indique à l'utilitaire de conversion de fichier UMF quelle section RECORD utiliser, ainsi que le type de données à attendre. Vous pouvez ajouter plusieurs sections [IMPORT], chacune d'elles portant un numéro unique, par exemple [IMPORT1]. Les clés ultérieures peuvent faire référence à cette section [IMPORT] à l'aide du numéro unique.
- RECORD
- Désigne la section [RECORD] du fichier script à utiliser lors de l'importation de données.
Il n'existe pas de valeur par défaut.
Pour désigner la section [RECORD1], tapez :
RECORD=1
- TYPE
- Désigne la structure des données entrantes.
L'utilitaire de conversion de fichier UMF ne fonctionnant qu'avec les fichiers de largeur fixe, la seule valeur admise par ce paramètre est FW.
Pour désigner un fichier d'entrée de largeur fixe, tapez :
TYPE=FW
Paramètres de la section [TRANSFORM]
La section TRANSFORM définit comment l'utilitaire convertit les données avant de les envoyer. Les paramètres de la section TRANSFORM se divisent en un paramètre de configuration, et en paramètres de conversion. Le paramètre IMPORTER définit les réglages de conversion.
Les paramètres beginseg, tagvalue et endseg définissent le format de la conversion des données, tandis que les autres définissent comment les données sont converties. Les paramètres de conversion affectent chaque enregistrement d'entrée.
- IMPORTER
- Ce paramètre de configuration désigne quelle section IMPORT convertir.
Il n'existe pas
de valeur par défaut.
Pour désigner la section [IMPORT1], tapez :
IMPORTER=1
- beginseg
- Indique le début d'un nouveau segment UMF.
Tous les appels à tagvalue placent des valeurs dans la section TRANSFORM.
A l'aide de cette clé, vous pouvez n'inclure que les segments de enregistrements entrants qui contiennent des balises particulières.
Par exemple, pour indiquer qu'il faut obligatoirement une balise LAST_NAME pour créer un segment UMF_ENTITIY, tapez :
beginseg UMF_ENTITY, (LAST_NAME)obligatoire
- tagvalue
- Indique le nom et les valeurs correspondantes des nouvelles balises UMF.
Pour créer une balise UMF appelée NUM_VALUE contenant la valeur de numéro de sécurité sociale présente dans le fichier d'entrée, tapez :
tagvalue ’NUM_VALUE’,In.SocialSecNum
- endseg
- Indique la fin d'un segment UMF.
Pour finir un segment UMF, tapez :
endseg
- append
- Ajoute du texte ou des données d'exploitation à la fin d'une zone.
Pour placer
le contenu de la zone de nom de rue StreetName issu des données entrantes à la fin
de la zone d'adresse Addr1 où vous combinez toutes les informations d'adresse, tapez :
append In.StreetName,Out.Addr1
- atrim
- Supprime tous les
espaces de début et de fin de la zone.
Cette clé remplit à la fois la fonction des clés ltrim et rtrim.
Pour supprimer les
espaces de début et de fin d'une zone, tapez :
atrim
- autoinc
- Augmente automatiquement de 1 la valeur d'une zone.
Cette clé permet de créer des
numéros uniques pour chaque enregistrement. Vous pouvez également indiquer une valeur pour désigner le numéro par lequel vous souhaitez commencer.
Par défaut, la numérotation commence par 0.
Pour créer une zone appelé docref contenant une valeur commençant à 35 et augmentant automatiquement, tapez :
autoinc Out.docref, 35
- copy
- Copier des caractères d'une zone à un autre.
Vous devez désigner la zone d'entrée à copier et la zone de sortie dans laquelle copier.
Pour copier le contenu d'une zone appelée
StreetName dans une zone appelée Addr1, tapez :
copy In.StreetName, Out.Addr1
- ctrim
- Remplace des espaces contigus par un espace unique, n'importe où dans une chaîne.
Pour supprimer les espaces superflus dans la zone Name, tapez :
ctrim In.Name
- ifeq
- Exécute la commande suivante d'une séquence, si la valeur indiquée est la même que le contenu de la zone entrante.
Pour vérifier si une valeur Y est présente dans la zone Bureau de chaque enregistrement et, dans l'affirmative, pour remplacer le Y par un P, tapez :
ifeq In.Office,Y
replacechar In.Office,Y,P
- ifneq
- Exécute la commande suivante d'une séquence, si la valeur indiquée n'est pas la même que le contenu de la zone entrante.
Il s'agit du contraire de la clé ifeq.
Pour mettre à jour l'ensemble des enregistrements des employés actuels
avec de nouveaux codes d'emplacement, qu'ils soient en activité, en congés ou en
vacances, mais sans mettre à jour les enregistrements des employés en retraite (état=R), tapez :
ifneq In.Status,R
copy In.LocCode, Out.LocCode
- left
- Extrait une sous-chaîne de la gauche d'une zone.
Vous pouvez préciser combien de caractères extraire.
Pour convertir un numéro de téléphone de façon à n'inclure que les trois premiers chiffres, tapez :
left In.Phone,3
- lower
- Met une chaîne
en minuscule.
Pour convertir toutes les majuscules en minuscules dans la zone Name, tapez :
lower In.Name
- lpad
- Ajoute des espaces du côté gauche de la zone afin de s'assurer qu'elle contient au moins le nombre de caractères indiqué.
Pour ajouter des espaces à gauche d'une valeur de zone Name contenant moins de 5 caractères, tapez :
lpad In.Name,5
- ltrim
- Supprime tous les
espaces à partir du début (côté gauche) d'une zone.
Pour supprimer tous les espaces du côté gauche des valeurs de la zone Name, tapez :
ltrim In.Name
- prepend
- Ajoute du texte ou des données d'exploitation au début d'une zone.
Pour ajouter (702) à chaque valeur de la zone PhoneNumber, tapez :
prepend '(702) ' In.PhoneNumber
- removechar
- Supprime
toutes les occurrences d'une chaîne au sein d'une zone afin d'éliminer tous les
caractères indésirables.
Pour supprimer le caractère / des valeurs de la zone Date, tapez :
removechar In.Date,/
- replacechar
- Remplace toutes les occurrences d'une chaîne par une autre chaîne.
Cette clé permet de créer des données
standard ou de modifier des données de manière cohérente.
Pour remplacer le caractère / par le caractère - dans les valeurs de la zone Date, tapez :replacechar In.Date,/,-
- right
- Extrait une sous-chaîne de la droite d'une zone.
Vous pouvez préciser combien de caractères extraire.
Pour extraire les quatre derniers chiffres de la zone SocialSecurity, tapez :
right In.SocialSecurity,4
- rpad
- Ajoute des espaces du côté droit d'une zone afin de s'assurer qu'elle contient au moins le nombre de caractères indiqué.
Pour ajouter des espaces à droite d'une valeur de zone Name contenant moins de 5 caractères, tapez :
rpad In.Name,5
- rtrim
- Supprime tous les
espaces à partir de la fin (côté droit) d'une zone.
Pour supprimer tous les espaces du côté droit des valeurs de la zone Name, tapez :
rtrim In.Name
- skip
- Ignore
l'enregistrement si la condition stipulée est vraie pour cette zone.
Vous pouvez stipuler les conditions suivantes :
- vierge
- !vierge (non vierge)
- =
- <=
- >=
- != (non égale)
Pour ignorer les enregistrements dont la valeur de zone State n'est pas CA, tapez :
skip In.State,!=,CA
- substr
- Extrait une sous-chaîne d'une zone et écrase l'ancienne valeur de cette zone avec la sous-chaîne indiquée.
Pour extraire les deux premiers caractères de la zone Status et remplacer le contenu actuel de cette zone par la sous-chaîne extraite, tapez :
substr In.State,!=,CA
- upper
- Met une chaîne en majuscule.
Pour convertir toutes les minuscules en majuscules dans la zone State, tapez :
upper In.State