Certaines opérations d'I/O de fichiers (comme CHAIN, DELETE, READE, READPE, SETGT, SETLL) utilisent un argument search pour identifier l'enregistrement à traiter. Habituellement, l'argument search était un nom de champ ou une liste de clés définis en utilisant les codes opération KLIST et KFLD. La nouvelle spécification en format libre V5R1
9. Remplacer les listes de clés
ne permet pas aux opérations KLIST ou KFLD de définir
une clé composite (bien que les spécifications en format
libre puissent traiter une liste de clés définie dans des calculs
en format fixe).
La V5R2 offrait une nouvelle méthode. Pour les spécifications
en format libre, l’argument search peut être une liste de
valeurs mise entre parenthèses :
Cet exemple utiliserait Company et
Custnbr comme clé composite pour extraire
un enregistrement Custrec. En V5R2, il
faut utiliser un nom de format d’enregistrement
(pas un nom de fichier) pour lister des
valeurs. Cette restriction n’existe plus en
V5R3.
N’importe quelle valeur de la clé composite
peut être une expression, ou même
un appel adressé à une procédure :
Chain(Company:Custnbr+1) Custrec;
Chain (Company:GetNextOrder(Company:Custnbr))
Orderrec;
Dans la deuxième ligne de cet exemple, GetNextOrder
est un nom de procédure ; l’exemple contient l’appel à la
procédure, complet avec tous ses paramètres, comme
deuxième valeur dans l’argument search.
Pour coder des listes composites, il existe une autre option
en format libre. Elle consiste à utiliser la fonction V5R2
%KDS (Key Data Structure) pour nommer une structure de
données à utiliser comme une clé. Les zones mises en évidence
de la figure 6 illustrent l’utilisation de la fonction
%KDS. Dans cet exemple, la structure de données Orderkey
est une structure de données LIKEREC, qui n’utilise que les
champs clé tirés du format Ordrec. L’opération SETLL utilise
cette structure de données comme son argument search. Si
l’on veut que l’argument search utilise moins de champs
qu’il n’y en a dans la structure de données clé, on peut préciser
le nombre de sous-champs souhaité. Dans la figure 6,
l’opération READE n’utilise que les deux premiers champs
de la structure Orderkey comme son argument search. En
V5R2, il faut spécifier un nom de format d’enregistrement
(pas un nom de fichier) quand on utilise la fonction %KDS.
Cette restriction disparaît en V5R3.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Chiffrements symétrique vs asymétrique
- Et si les clients n’avaient plus le choix ?
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Visibilité, réputation, clients : ce que les petites entreprises ne pourront plus déléguer en 2027
- IA souveraine : l’Europe avance, mais son interconnexion prend du retard
- Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics
- Le champ de bataille des fournisseurs de services n’est plus l’IA, mais la confiance
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
