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 cette ressource

Guide de téléphonie d’entreprise avec Teams
Ajouter un onglet téléphonie à Microsoft Teams pour émettre et recevoir des appels depuis n’importe quel terminal connecté. Découvrez dans ce guide pratique, comment bénéficier des avantages de l’offre TeamsPhony pour faire des économies, gagner en agilité et en simplicité avec une offre de téléphonie dans le cloud.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Vidéo « Accessibilité numérique » chez Microsoft
- Asklépian : des tests d’intrusion à 360° grâce à l’IA pour lutter contre les failles de sécurité
- Padok « faire du Cloud et de l’infrastructure, un véritable accélérateur business »
- Le numérique responsable
- Delinea : la réponse aux exigences d’accès des entreprises hybrides modernes
