Il est courant d’utiliser l’API QCMDEXC ou QCAPCMD pour exécuter une commande CL à partir d’un programme RPG.
Cependant, il sera souvent plus commode d’utiliser une fonction de bibliothèque runtime C appelée system() pour accomplir la même chose. La fonction system() passe une chaîne
Exécuter des commandes avec la fonction system()
de commandes au processeur de commandes sans qu’il soit nécessaire de passer la longueur de la chaîne de commandes – ou tout autre paramètre en la circonstance. Pour appeler la fonction system(), passez-lui simplement un pointeur vers la chaîne de commandes. La figure 11 montre le prototype suggéré (avec quelques H-specs nécessaires). Quand le moment est venu pour votre programme d’exécuter une commande, vous pouvez faire référence au prototype. La chaîne de commandes peut être une variable, un littéral, une constante nommée ou une expression. La figure 12 montre une utilisation classique.
Le code return permet de vérifier la réussite ou l’échec de la fonction system(). Il est zéro si la commande a réussi, ou 1 si elle a échoué. Si vous passez un pointeur null à une chaîne, system() renvoie -1 et le processeur de commandes n’est pas appelé.
Si la fonction system() échoue (c’est-à-dire si le code return est 1), elle définit une variable globale _EXCP_MSGID avec l’ID message CPF. Vous pouvez importer cette variable dans votre programme pour rechercher des erreurs spécifiques (figure 13).
Pour utiliser la fonction system(), vous devez faire référence au répertoire liant QC2LE lors de la compilation et/ou du lien du programme. Les exemples nomment QC2LE dans les Hspecs.
Par Bryan Meyers
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Data streaming : le nouveau socle stratégique de l’IA en entreprise
- Ransomware en santé : la double extorsion fait exploser la facture en Europe
- Les fuites de données explosent en France, désormais pays le plus touché d’Europe
- L’IA accélère les attaques et expose les identités non gouvernées
Articles les + lus
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
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- 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
- Computex 2026 : 5 signaux forts à retenir
