Pour exécuter une commande CL à partir d'un programme RPG, on utilise couramment les API QCMDEXC ou QCAPCMD. Mais il sera parfois plus pratique d'utiliser une fonction bibliothèque runtime C, system(), pour faire la même chose. La fonction system() passe une chaîne de commandes au processeur de commandes, sans qu'il
5. Exécuter des commandes avec la fonction system()
soit nécessaire de préciser la longueur,
ou tout autre paramètre, de la chaîne
de commande.
Pour appeler la fonction system(),
il suffit de lui passer un pointeur vers la
chaîne de commandes. La figure 2 (en
A) illustre le prototype suggéré (avec
quelques H-specs nécessaires). Quand
le moment viendra pour le programme
d’exécuter une commande, on peut se
référer au prototype. La chaîne de
commandes peut être une variable, un
littéral, une constante nommée ou une
expression. Le reste du code de la figure
2 montre un usage classique.
Le Returncode permet de constater
la réussite ou l’échec de la fonction
system(). Il est de 0 si la commande
réussit et de 1 si la commande échoue.
Si l’on passe 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 Returncode est 1),
elle établit une variable globale _EXCP
_ MSGID avec l’ID message CPF. On
peut alors importer cette variable dans
le programme pour rechercher des
erreurs spécifiques, comme l’illustre le
code mis en évidence dans la figure 3.
Pour utiliser la fonction system(), il
faut faire référence au répertoire binding
QC2LE lors de la compilation
et/ou du binding du programme. La figure
3 nomme QC2LE dans les Hspecs.
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
Les plus consultés sur iTPro.fr
- 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
- Deepfakes et IA : 64% des Français pensent savoir les détecter, mais la confiance reste fragile
- Cryptographie post-quantique : le Campus Cyber publie deux guides clés pour accélérer la transition des entreprises
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
