par Jef Sutherland
Pendant très longtemps, RPG et CL ont été les seuls (ou les meilleurs) outils
dont disposait un programmeur AS/400 pour traiter toutes les tâches de développement.
Nous disposons aujourd'hui, de nombreux outils et langages, parmi lesquels il
est possible de choisir, et notamment, Visual Age for RPG, Net.Data et SQL.
Dans le présent article, j'explique comment utiliser SQL pour résoudre quelques-uns
des problèmes courants résolus auparavant à l'aide d'un programme RPG ou CL. Je
pense qu'il est facile de comprendre comment l'ajout de SQL à la boîte à outils
de développement peut faire gagner du temps.
On peut résoudre le problème avec une simple instruction SQL
Quand faut-il utiliser SQL plutôt que RPG ou CL ?
Imaginons qu’un opérateur ait chargé par erreur une série de transactions budgétaires
d’un fichier PC deux fois. Etant donné qu’il y a plus de 2.000 transactions en
double, il est évident que le DFU (Data File Utility) n’est pas la bonne solution
pour aller les supprimer. En utilisant la commande DSPPFM (Display Physical Member),
on parcourt le fichier et on détermine où débutent les enregistrements en double.
Ensuite, il suffit de penser à la manière de concevoir le programme RPG adéquat
pour supprimer ces transactions.
Mais, en fait, il n’est pas nécessaire d’écrire un programme RPG pour supprimer
des enregistrements contenus dans un fichier. On peut résoudre le problème avec
une simple instruction SQL utilisant la fonction RRN (Relative Record Number).
Pour utiliser cette fonction, il faut connaître le numéro du premier enregistrement
dans le fichier dans lequel on souhaite entamer le processus de suppression (remarque
: cette solution suppose que le fichier ne réutilise pas les enregistrements supprimés.
Si c’est le cas, les enregistrements téléchargés seront éparpillés dans le fichier
et non placés en ordre séquentiel à la fin du fichier).
Supposons par exemple que le premier enregistrement en double commence au numéro
8347 dans le fichier du budget PBudget. Après avoir utilisé la commande STRSQL
(Start Interactive SQL) sur la ligne de commande, on peut saisir la commande suivante
:
Delete From PBudget
Where RRN(PBudget) >= 8347
La clause Delete From PBudget indique l’action (Delete) et le fichier (PBudget).
La clause Where spécifie les critères selon lesquels les fichiers seront supprimés.
La fonction RRN peut prendre un nom de fichier en tant que paramètre ou elle peut
être une clause de paramètre vide (c’est-à -dire RRN()) si un seul fichier est
spécifié dans l’instruction SQL. (on aurait pu utiliser RRN() ici car l’instruction
ne comporte qu’un fichier).
Cela suffit amplement ! Le problème est résolu, aucune programmation n’a été nécessaire.
Mais voici quelques réserves : premièrement, la fonction RRN est idéale pour les
travaux de maintenance mais, étant donné qu’elle lit les enregistrements séquentiellement,
elle est lente et peut ne pas convenir aux travaux de production. Ensuite, l’instruction
SQL utilisant les numéros d’enregistrements, il faut s’assurer de ne supprimer
que les enregistrements souhaités.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- Construire la souveraineté numérique en Europe grâce à un écosystème ouvert et collaboratif
- Le Zero Trust : pourquoi votre entreprise en a besoin
- Cloud souverain : répondre aux enjeux d’hybridation et de maîtrise des dépendances
Articles les + lus
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
À la une de la chaîne Tech
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
