L’utilisation de RPG pour la programmation Web présente un avantage important (entre autres) : une bonne partie de la logique est similaire à celle de l’écran vert, car la plupart des fonctions sont essentiellement les mêmes, mais exécutées dans un ordre différent. J’ai donc agi logiquement : j’ai pris
Le programme de saisie de commandes (Order Entry)
une copie du programme de saisie de commandes existant et je l’ai modifié. Les principaux changements logiques sont les suivants :
- Supprimer toutes les références au fichier écran et toute logique de bouclage concernant l’affichage et l’entrée d’un écran.
- Diviser le traitement d’un écran (désormais une page) en deux procédures : une pour l’entrée et une pour la sortie (par exemple la sous-procédure EditHeader() originale est devenue EditHeader() et DisplayPage2().
- Ajouter la logique chargée de traiter la persistance (ou l’information d’état) pour chaque navigateur demandeur.
- Inclure le code CGIDEV2 pour charger un document HTML (en utilisant GetHTMLIFS()), extraire les valeurs de variables (en utilisant ZhbGetInput() et ZhbGetVar()), mettre à jour les valeurs de variables sur une page Web (en utilisant UpdHTMLVar()) et écrire des sections d’une page Web (en utilisant wrtSection()). La figure 7 montre une partie des D-specs et la ligne directrice du programme de saisie de commandes ACMECGIR4.
La structure de données (en A) contient l’information d’état pour la commande courante. Elle est mappée (en utilisant le pointeur basing) à l’élément approprié de la matrice orders dans l’espace utilisateur ORDERS. Le programme détermine quelle page a fait la demande (en B), extrait le numéro ID (index) et l’ID (tampon horodateur) de la page demandeuse (en C), puis libère l’information d’état si la commande est annulée (en D).
Ensuite, en utilisant le numéro ID et l’ID extraits, il mappe la structure de données à l’élément approprié de la matrice orders dans l’espace utilisateur ORDERS (en E). Enfin, il extrait et traite les données pour la page demandeuse (en F), place le numéro ID et l’ID sur la page suivante (en G), puis définit et affiche la page suivante (en H). Pour installer et exécuter cet exemple, procédez ainsi :
- Téléchargez et installez CGIDEV2 à partir du site IBM ou de Easy400.
- Restaurez la bibliothèque RPGWEB à partir du fichier de sauvegarde RPGWEB1.
- Restaurez le répertoire acmecgi à partir du fichier de sauvegarde RPGWEB2.
- Assurez-vous que QTMHHTTP et QTMHHTTP1 ont accès à la bibliothèque RPGWEB et au répertoire acmecgi.
- Configurez un serveur HTTP avec une directive CGI pour la bibliothèque RPGWEB.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA de confiance : le facteur clé pour rentabiliser les projets d’entreprise
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Hôpitaux virtuels : renforcer le système de santé français grâce au numérique
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
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
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- 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
