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
- On ne peut pas gouverner ce qu’on ne peut pas voir : pourquoi la visibilité doit-elle passer avant la gouvernance en matière de sécurité des identités ?
- L’IA amplifie les risques sur les API
- Fuites de données : la France, 2ème pays le plus touché au monde début 2026
- Nomios accélère sur la cybersécurité industrielle avec un SOC renforcé et une Factory OT immersive
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
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
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- 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
