par Jean-Philippe BALLAT - Mis en ligne le 1/06/2005 - Publié en Septembre 2004
Version RGP et COBOL
Normalement, lorsqu'on utilise le multi-tris dans un programme RPG ou COBOL,
il faut déclarer autant de fichiers logiques que de colonnes de tris proposées à l'utilisateur.
On s'aperçoit que la simplicité de programmation et de déclarations dans les
programmes est inversement proportionnelle au nombre de choix de tris ...
L'astuce consiste à ne déclarer qu'un seul fichier dans le programme de liste.
Celui-ci renvoie toujours les enregistrements triés selon le choix de l'utilisateur
par fichier logique substitué. Le résultat donné peut être répercuté sur l'impression.
Cette opération est possible grâce à l'OVRDBF qui substitue le fichier lu par le
logique trié en fonction de la colonne sélectionnée.
L'OVRDBF permet de :
- Remplacer momentanément le nom du fichier déclaré dans le programme.
et/ou
- Remplacer momentanément certains paramètres du fichier, utilisés par le
programme.
L'exemple
Lorsque l'utilisateur sélectionne une colonne, le programme charge les enregistrements
triés et affiche cette colonne en couleur.
Lorsque l'utilisateur demande un positionnement sur un numéro de facture,
la liste se recharge à partir de ce code.
Le concept
Le concept est de traiter les tris et sélections comme des éléments externes au programme.
Pour les tris la commande OVRDBF est utilisée.
Une variante consiste à utiliser un OPNQRYF qui permet d’utiliser tous les avantages
d’un générateur de requêtes (omissions ; relation entre plusieurs fichiers….).
Le principe
Le principe est de charger/recharger le sous fichier trié suivant la colonne sélectionnée
à l’écran.
Le positionnement peut être utilisé dans cette même opération.
Avertissement
Les mots clés ne sont pas commentés. Je vous conseille de lire la documentation en ligne IBM qui vous donnera les meilleures informations.
Les mots clés utilisés,
certains paramètres de l’OVRDBF sont importants :
- File : Nom du Fichier à substituer.
- To File : Nom du Fichier de substitution.
- Mbr: Nom du membre de substitution.
- Position : Permet de positionner le curseur par les clés.
- Ovrscope : Portée de la substitution.
Le champ d’application de la substitution est déterminé par
le groupe d’activation du programme qui appelle cette commande.
Le champ d’application de la substitution est déterminé par
le niveau d’appel en cours.
Le champ d’application de la substitution correspond au travail
dans lequel cette dernière est exécutée.
Notre exemple ne fonctionne qu’avec une portée *JOB.
• Share : Partage d’ouverture (*yes/*no). Permet de partager
l’ouverture d’un OPNQRYF par exemple.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental