Les trucs & astuces de la semaine du 28 Novembre au 4 décembre 2005
Ordonner les enregistrements d’après une colonne dans un fichier Join secondaire
Q: Je veux joindre des enregistrements provenant des fichiers Customer et Sales et les ordonner d’après le champ TotAmt du fichier Sale. J’ai essayé d’utiliser DDS pour créer un fichier logique join, mais les fichiers clé doivent venir du fichier primaire, qui est mon fichier Customer. Est-il possible d’ordonner les enregistrements sur un champ de fichier secondaire ?
R: Voici la réponse « facile » à votre question précise : inversez l’ordre des fichiers Customer et Sale (c’est-à -dire sur les mots-clés JFILE et JOIN dans votre source DDS de fichier logique). Cette manoeuvre fait du fichier Sale le fichier primaire et vous pouvez ensuite spécifier le champ TotAmt comme le champ clé du fichier logique join. Mais supposons que cette méthode ne convienne pas dans une certaine situation. Par exemple, vous pourriez vouloir ordonner les enregistrements sur des champs provenant de deux, ou plus, des fichiers joints. Il y a alors deux solutions. La plus simple consiste à utiliser SQL. Sur l’instruction Select, incluez une clause Order By qui peut spécifier les colonnes (champs) provenant de n’importe quelle table (fichier) dans le join (figure 1).
Vous pouvez utiliser une instruction Select qui a une clause Order By dans une requête ad hoc, dans une instruction SQL Declare Cursor imbriquée, ou via JDBC ou ODBC. (Vous ne pouvez pas utiliser ce genre d’instruction pour créer une vue SQL.)
La commande OpnQryF (Open Query File) offre une alternative non-SQL. Utilisez le paramètre KeyFld (Key field) de la commande, qui autorise des champs provenant de n’importe quel fichier joint. La figure 2 en montre un exemple.
Comme avec toute commande OpnQryF, utilisez d’abord un override de fichier pour faire du fichier de requête ouvert un partagé ouvert. Dans le cas d’un join, utilisez aussi l’override pour rediriger l’opération d’ouverture de fichier d’un programme applicatif vers le fichier de requête. (Pour un fichier de requête non-join, le nom du fichier de requête et le nom du fichier du programme d’application sont souvent les mêmes et donc la redirection n’est pas nécessaire.)
Cet exemple suppose que le programme applicatif DFspCusSale déclare le fichier CustSale (par exemple, sur un F-spec RPG), un fichier logique join qui sert à fournir le format d’enregistrement pour les opérations d’I/O du programme applicatif et OpnQryF. L’override redirige les références de fichier CustSale du programme applicatif vers le fichier de requête partagé, qui est par défaut identifié par le premier fichier listé dans le paramètre File (nom du fichier) de la commande OpnQryF (c’est-à -dire Customer).
Quand le programme DspCusSale exécute une opération open pour le fichier CustSale, le système utilisera le fichier de requête ouvert par la commande OpnQryF pour fournir les enregistrements au programme. Ces enregistrements seront ordonnés par les champs CustId et TotAmt.
Téléchargez cette ressource
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- L’essor de l’IA propulse les cyberattaques à des niveaux records
- L’IA sous contrôle : un impératif pour la souveraineté des entreprises
- CESIN : un baromètre qui mesure le risque cyber réel
- Face aux ransomwares, la résilience passe par les sauvegardes immuables
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
