Désormais en possession des informa-tions sur les fichiers, nous pouvons créer le programme RPG. J'ai pris comme exemple un programme RPG III qui ne lit des enregistrements dans un fichier maître employés que si l'employé appar-tient au service ventes (sales department). Nous devons indiquer en cartes F du pro-gramme que
Le programme RPG
le fichier maître (EMPLF1) est un fichier avec clé. Nous mettons donc un K en position 31 de la carte F pour indiquer le type d’adressage de l’enregistrement (voir figure 5).
La figure 6 contient le code de la première boucle de lecture. Après avoir déplacé le texte SALES dans la zone
DEPT, j’utilise le code opération SETLL (Set Lower Limits) pour voir s’il existe des enregistrements pour le service ventes (sales department) et, si oui, pour définir le pointeur d’enregistrement pour les instructions de lecture. (*IN80 est à on si les commandes SETLL trouvent un enregistrement dont la valeur de clé est égale à la clé de recherche.) Je compare ensuite le résultat de l’opération SETLL en utilisant *IN80 pour voir s’il est néces-saire ou non de faire une lecture. (Pour-quoi entrer dans une boucle de lecture s’il n’y a pas d’enregistrement à lire ?)
Ligne 4, j’ai ma première opération READE (Read Equal), qui tente de lire un enregistrement dont les zones de clé correspondent à la liste des champs ou des clés en facteur 1. L’opération READE active *IN81 quand elle ne trouve pas un tel enregistrement. A la ligne 5, je crée une boucle DOW en utilisant l’opération DOWEQ (Do While Equal) pour vérifier le résultat de l’opération READE. Si *IN81 est à *OFF (c’est-à -dire si READE a trou-vé un enregistrement), le programme traite le code entre les instructions DOW et ENDDO. Si le READE ne parvient pas à trouver un enregistrement, la condition DOWEQ échoue au premier passage et la boucle DO n’est jamais exécutée.
Si la boucle DO est traitée, je dois avoir un enregistrement en provenance du fichier AS/400, correspondant à ma condi-tion de lecture (c’est-à -dire, un enregis-trement où DEPT = SALES). Le moment est venu d’effectuer les éventuels traite-ments concernant l’enregistrement de l’employé. Ligne 6, j’imprime une ligne détail pour un rapport d’employés.
Il faut à présent lire l’enregistrement de l’employé suivant du service ventes.
Ligne 7, il y a une seconde instruction READE dans la boucle DOWEQ, qui tente de lire un autre enregistrement avec une valeur de zone de clé spécifique. Si un enregistrement est trouvé, *IN81 reste à *OFF et le programme reste dans la boucle DOW. Si *IN81 est à *ON, c’est que le READE n’a pas trouvé d’enregistre-ment avec une ou plusieurs clés corres-pondant à mes critères et le programme quitte la boucle DOW, arrêtant du même coup la lecture.
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Veeam passe à la vitesse supérieure avec iResOps pour Microsoft 365
- 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
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
