> Tech > 9. Remplacer les listes de clés

9. Remplacer les listes de clés

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

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 :

  • Chain (Company:Custnbr) Custrec;

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

    HP Elite Slice G2 : optimisez la collaboration… et votre budget !

    HP Elite Slice G2 : optimisez la collaboration… et votre budget !

    Téléchargez cette étude Forrester et découvrez comment booster la collaboration tout en dégageant un excellent R.O.I grâce au système de vidéoconférence HP Elite Slice G2 avec Microsoft Teams !

    Tech - Par iTPro - Publié le 24 juin 2010