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
- Sekoia.io : l’alternative européenne qui s’impose dans la cybersécurité
- Redéfinir la confiance à l’ère de l’IA agentique : les entreprises sont-elles prêtes pour le SOC autonome ?
- IA Agentique : la vraie rupture c’est la gouvernance humaine
- Les défaillances des pipelines de données pèsent lourdement sur la performance des grandes entreprises
Articles les + lus
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
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
À la une de la chaîne Tech
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- 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
