> Tech > Positionnement des fichiers

Positionnement des fichiers

Tech - Par iTPro - Publié le 24 juin 2010
email

L'un des secrets les mieux gardés du traitement de fichiers CL est qu'il permet d'extraire des enregistrements par clé. Le paramètre Position de la commande OvrDbF permet d'indiquer la position à  partir de laquelle commencera l'extraction des enregistrements du fichier base de données. Vous pouvez positionner le fichier sur *Start

Positionnement des fichiers

ou
*End (ou bien utiliser la commande
PosDbF pour positionner sur *Start ou
*End), sur un enregistrement particulier
en utilisant le numéro d’enregistrement
relatif, ou sur un enregistrement
particulier en utilisant une clé.

Pour extraire des enregistrements
par clé, on fournit quatre valeurs de
recherche dans le paramètre Position :
un type de recherche par clé, le
nombre de champs de la clé, le nom du
format d’enregistrement qui contient
les champs de la clé, et la valeur de la
clé. Le type de recherche par clé détermine
où dans le fichier la lecture par
clé commence en indiquant quel enregistrement
le système doit lire en premier.
La valeur key-search spécifie l’un
des cinq types suivants de recherche
par clé :

• *KeyB (key-before) – Le premier enregistrement
extrait est celui qui précède
immédiatement l’enregistrement
identifié par les autres valeurs
de recherche du paramètre Position.

• *KeyBE (key-before or equal) – Le
premier enregistrement extrait est
celui identifié par les autres valeurs
de recherche. Si aucun enregistrement
ne correspond à  ces valeurs, le
système extrait l’enregistrement correspondant
à  la plus grande valeur
précédente.

• *Key (key-equal) – Le premier enregistrement
extrait est celui identifié
par les valeurs de recherche. (Si
votre programme CL appelle un programme
HLL qui émet une opération
read-previous, le programme appelé
extraira l’enregistrement précédent.

• *KeyAE (key-after or equal) – Le premier
enregistrement extrait est celui
identifié par les valeurs de recherche.
Si aucun enregistrement ne
correspond à  ces valeurs, le système
extrait celui qui présente la valeur de
clé la plus haute suivante.

• *KeyA (key-after) – Le premier enregistrement
extrait est celui qui suit
immédiatement l’enregistrement
identifié par les valeurs de recherche.

Comme exemple simple, supposons
que le fichier TestPF a un champ
clé, Code, et contient les enregistrements
suivants :

Code  Numéro  Champ
A 1 Texte dans l'enregistrement 1
B 100 Texte dans l'enregistrement 2
C 50 Texte dans l'enregistrement 3
E 27 Texte dans l'enregistrement 4

Les instructions

OvrDbF Position(*Key 1 TestPFR 'B')
RcvF RcdFmt(TestPFR)

indiquent que l'enregistrement extrait
a un champ clé comme défini dans
le format d'enregistrement DDS
TestPFR (figure 1) et que le champ clé
contient la valeur B. Ces instructions
extrairont le second enregistrement
(Code = B) du fichier TestPF. Si le type
key-search était *KeyB au lieu de *Key,
les mêmes instructions feraient que la
commande RcvF extrairait le premier
enregistrement (Code = A). Les types
de key-search, *KeyBE, *KeyAE et
*KeyA, feraient extraire à  l'instruction
RcvF les enregistrements 2 (Code =
B), 2 (Code = B) et 3 (Code = C), respectivement.

Supposons à  présent que le programme
contienne ces instructions :

OvrDbF Position(*KeySearch 1 TestPFR 'D')
RcvF RcdFmt(TestPFR)

Téléchargez gratuitement cette ressource

Comment sécuriser la Digital Workplace ?

Comment sécuriser la Digital Workplace ?

Avec le recours généralisé au télétravail, les entreprises ont ouvert davantage leur SI. En dépit des précautions prises, elles ont mécaniquement élargi leur surface d’exposition aux risques. Découvrez 5 axes à ne pas négliger dans ce Top 5 Sécurité du Télétravail.

Tech - Par iTPro - Publié le 24 juin 2010