ADELIA |
|
|
|
|
(I/B) |
|
|
|
|
Paragraphe d'utilisation
Tous
Syntaxe
EXECUTER_CMD IdVarAlpha
Description
Cet ordre permet d'exécuter une commande AS/400. Cette commande est décrite dans la variable IdVarAlpha indiquée derrière l'ordre ; voir la brochure IBM "Control Language Programmer's Guide" pour l'utilisation du programme QCMDEXC. La variable ne peut pas dépasser 9999 caractères.
Important :
- Il faut définir la variable à utiliser dans l'environnement de données du modèle.
- L'indicateur 90 peut être testé à la suite de cette instruction pour vérifier si la commande AS/400 s'est bien exécutée ; si *IN90 = 1, alors une erreur s'est produite à l'exécution de la commande ; sinon (*IN90 = 0), l'appel de la commande s'est bien déroulé.
Avec le générateur C, il est possible d'utiliser la syntaxe :
EXECUTER_CMD IdVarAlpha *SERVEUR(Nom)
Nom est une entrée du fichier de configuration client-serveur permettant de diriger la commande sur le bon serveur.
Lorsque la commande est utilisée sans paramètre *SERVEUR, elle s'exécute sur le serveur par défaut de la base de données.
Lorsque le paramètre *SERVEUR est indiqué, la commande s'exécute sur le serveur AS/400 ou sur le serveur micro (= Remote Procedure Call) identifié par l'entrée Nom.
Attention : avec le générateur RPG, le paramètre *SERVEUR est ignoré.
Par exemple
W_COMMANDE = 'SBMJOB CMD(CALL EDICA) JOBD(*USRPRF) JOBQ(QBATCH)'
EXECUTER_CMD W_COMMANDE
*
* Exemple en mode client-serveur
* Le programme appelant est généré en C pour micro ;
* la commande varie en fonction d'un paramètre région.
*
SI REGION_CLIENT = 'LOCAL'
COMMANDE = 'E.EXE \DOCUMENT\DOC' /// CODE_CLIENT /// '.TXT'
EXECUTER_CMD COMMANDE *SERVEUR(SERVEUR_OS2)
SINON
COMMANDE = 'STRSEU SRCFILE(QGPL/DOCUMENT) SRCMBR(DOC' /// CODE_CLIENT /// ')'
EXECUTER_CMD COMMANDE *SERVEUR(AS400_SIEGE)
FIN