Q: Comment puis-je imprimer « Page X de Y » sur mes rapports ? RPG permet d’imprimer facilement le numéro de page courante, mais comment imprimer le nombre total de pages ? R: C’est plus compliqué qu’il n’y paraît. Au moment où les en-têtes de pages sont imprimés, on ignore le nombre de pages final […]
Imprimer « page X de Y »
Q: Comment puis-je imprimer « Page X de Y » sur mes rapports ? RPG permet d’imprimer facilement le numéro de page courante, mais comment imprimer le nombre total de pages ?
R: C’est plus compliqué qu’il n’y paraît. Au moment où les en-têtes de pages sont imprimés, on ignore le nombre de pages final du rapport. D’ailleurs, on ne le connaîtra qu’après impression de la dernière page et après fermeture du fichier d’impression.
D’aucun suggère tout simplement d’exécuter deux fois le programme : une première fois pour obtenir le comptage des pages et une seconde pour l’impression proprement dite. Cette méthode n’est pas toujours pratique pour plusieurs raisons : certains programmes mettent à jour des fichiers et, de ce fait, ne sauraient être réexécutés ; d’autres mettent très longtemps à s’exécuter et donc, on hésitera à le faire deux fois. Parfois, les données qui nourrissent le rapport changeront, modifiant le comptage des pages.
Je crois avoir trouvé une meilleure solution. J’ai créé une commande qui s’exécute une fois que le rapport a été sauvegardé dans le spool. Elle lit le fichier spoolé, recherche une certaine chaîne et la remplace par le comptage de pages total.
Pour utiliser cette commande, changez simplement votre programme de reporting afin qu’il imprime une chaîne unique, comme « ++++ », où vous voulez placer le nombre de pages total. Mettez le fichier spoolé en suspens puis exécutez cet utilitaire pour insérer le comptage de pages. La figure 2 montre un exemple.
Voici quelques commentaires à propos de cet utilitaire :
1. Il utilise l’API QUSCRTSP, livrée avec l’autorité PUBLIC(*EXCLUDE). Par conséquent, il vous faudra soit changer l’autorité de cette API, soit faire adopter au programme l’autorité d’un profil utilisateur autorisé à l’exécuter. Dans mes instructions de compilation, je montre comment faire adopter au programme l’autorité QSECOFR.
2. Le texte est « remplacé » par la création d’une nouvelle copie du fichier spoolé avec les numéros de pages inclus et par la suppression de la copie originale. Par conséquent, le numéro du fichier spoolé changera par rapport à sa valeur originale.
Téléchargez cette ressource
Guide de Threat Intelligence contextuelle
Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Activer la mise en veille prolongée dans Windows 10
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Le Cercle de l’Innovation décerne le Prix de l’Innovation du Public 2026
- Avec l’IA agentique, la robustesse des SI redevient stratégique
- Les erreurs du secteur bancaire dans son approche IA
- Crypto Crime 2026 : États et cybercriminels convergent vers une industrialisation des infrastructures
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
