SBMRMTCMD
Soumettre commande à distance
En bref
La commande SBMRMTCMD (Soumettre une commande à distance) envoie, via DDM, une commande CL à exécuter sur le système cible désigné par un fichier DDM.
SBMRMTCMD se lit SBM
(Soumettre) + RMTCMD.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
SBMRMTCMD CMD(…) DDMFILE(…)
Paramètres
Astuce : dans une session 5250, tapez SBMRMTCMD puis F4 pour
l'invite de saisie, et F1 sur un paramètre pour son aide.
Aide IBM i de la commande
Texte du F1, IBM i 7.5 en français
(bibliothèque QSYS)
Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Sous conditions
La commande SBMRMTCMD (Soumettre une commande à distance) envoie, via DDM, une commande CL à exécuter sur le système cible désigné par un fichier DDM. Le fichier DDM détermine la ligne de transmission utilisée et identifie donc indirectement le système cible qui reçoit la commande soumise.
Cette commande sert à émettre des commandes CL (exclusivement) vers un système éloigné acceptant la commande CL SBMRMTCMD. Elle ne permet pas d'envoyer des commandes autres que CL vers un type de système différent (ainsi, il est impossible d'envoyer des commandes OCL à un IBM 36 cible).
Le principal objectif de cette commande est de permettre à un utilisateur ou à un programme du système source d'exécuter des tâches de gestion de fichier ou des opérations concernant les droits sur des fichiers d'un système cible.
- créer ou supprimer des fichiers physiques ou logiques, des fichiers source ou unité,
- révoquer ou accorder des droits sur des fichiers éloignés,
- tester l'existence de fichiers (ou d'autres objets), les rebaptiser ou les déplacer,
- sauvegarder ou restaurer des fichiers ou d'autres objets.
Restrictions :
- Le traitement de fichier sur le système cible s'effectue indépendamment de celui du système source. Il est possible que des commandes liées à un niveau de récursivité ou de demande particulier ne fonctionnent pas comme vous l'attendiez.
- La sortie générée (fichiers spoule, par exemple) par une commande n'existe que sur le système cible. Ces données en sortie ne sont pas renvoyées au système source.Il ne faut donc pas lancer de commandes d'affichage, car les résultats obtenus sont conservés sur le système cible. Pour la même raison, il ne faut pas envoyer de commandes permettant la maintenance des programmes.
- Aucune conversion n'est effectuée pour les messages immédiats générés par des erreurs sur le système cible, car ils ne sont pas conservés sur ce système. Le texte d'un message immédiat est directement transmis au système source, puis affiché.L'identificateur du message est envoyé au système source, lorsqu'il s'agit de messages d'un autre type. Le texte du message, correspondant à l'identificateur du message sur le système source, est affiché comme il le serait pour une erreur semblable sur ce système.
- Le système cible peut envoyer au système source 10 messages au maximum, générés lors de l'exécution d'une commande. Au-delà, un message d'information est envoyé pour indiquer que les messages se trouvent dans l'historique du travail sur le système cible.Si l'un d'eux est un message d'arrêt programme, les neuf premiers sont envoyés, suivis d'un message d'information et du message d'arrêt programme.
- Dans le cas de travaux à unités d'exécution multiples, cette commande n'admet pas les unités d'exécution multiples et elle échoue pour les fichiers DDM de type *SNA.
Commande à exécuter (CMD)
Chaîne de 2000 caractères maximum représentant une commande à exécuter sur le système cible. Cette commande doit être utilisable en interactif et en traitement par lots, sur le système cible. Si elle comporte des blancs ou des caractères spéciaux, il faut la placer entre apostrophes. En outre, elle doit respecter la syntaxe utilisée sur le système cible.
Ce paramètre est obligatoire.
Remarque :Les apostrophes utilisées dans une chaîne de caractères sur le système local doivent être doublées lorsque cette chaîne est soumise à un système éloigné.Il sera ainsi possible de coder, entre apostrophes, une chaîne qui contient des apostrophes.
Fichier DDM (DDMFILE)
Nom et bibliothèque du fichier DDM utilisé pour soumettre cette commande au système cible. Le fichier DDM sert uniquement à déterminer le lieu éloigné représentant le système cible. Le nom de fichier à distance associé au fichier DDM n'est pas pris en compte par cette commande.
Ce paramètre est obligatoire.
Pour la bibliothèque, les valeurs possibles sont les suivantes :
- *LIBL
- Le fichier est recherché dans la liste des bibliothèques.
- *CURLIB
- Le fichier est recherché dans la bibliothèque en cours du travail. Si aucune bibliothèque n'est indiquée, QGPL est prise par défaut.
- nom-bibliothèque
- Indiquez le nom de la bibliothèque contenant le fichier.
Exemples
Exemple 1 : suppression d'un fichier
SBMRMTCMD CMD('DLTF LIBX/FRED') DDMFILE(DENVER)
Cette commande supprime le fichier nommé FRED de la bibliothèque LIBX sur le système cible qui est associé au fichier DDM nommé DENVER.
Exemple 2 : création d'un fichier physique
SBMRMTCMD CMD('CRTPF SALES/CAR QGPL/QDDSSRC MASTER')
DDMFILE(DENVER)
Cette commande crée le fichier physique CAR dans la bibliothèque SALES à l'aide des spécifications de description des données (DDS) du fichier source QDDSSRC et du membre source nommé MASTER dans la bibliothèque QGPL. Les DDS doivent déjà exister sur le système cible indiqué par le fichier DDM nommé DENVER dans la liste des bibliothèques du travail cible.
Exemple 3 : modification de la description
SBMRMTCMD CMD('CHGDDMF FILE(LIBX/STANLEY)
TEXT(''Ne pas oublier de doubler les apostrophes.'')')
DDMFILE(SMITH)
Cette commande modifie le texte dans la description du fichier DDM nommé STANLEY qui est stocké dans la bibliothèque LIBX. Etant donné que la commande soumise nécessite un ensemble externe d'apostrophes simples (pour le paramètre CMD), chaque apostrophe simple ou double normalement requise dans le paramètre TEXT pour le traitement système local doit être doublée pour le traitement système éloigné. Le codage ci-avant crée une apostrophe simple dans le texte lorsqu'il est affiché ou imprimé sur le système éloigné.
Exemple 4 : création d'un fichier DDM
SBMRMTCMD CMD('CRTDDMF FILE(SALES/MONTHLY)
RMTFILE(*NONSTD ''CAR.SALES(JULY)''
RMTLOCNAME(DALLAS)')
DDMFILE(CHICAGO)
Cette commande crée (sur le système cible indiqué par les informations du fichier DDM nommé CHICAGO) un autre fichier DDM nommé MONTHLY. Le nouveau fichier DDM est stocké dans une bibliothèque nommée SALES sur le système CHICAGO. Le nouveau fichier DDM sur le système CHICAGO permet d'accéder à un fichier ainsi qu'à un membre sur un système différent nommé DALLAS. Le nom du fichier accédé est SALES/CAR et celui du membre dans le fichier est JULY.
Notez que cette chaîne de commande CRTDDMF comporte trois ensembles d'apostrophes simples : un ensemble pour contenir toute la commande soumise et un ensemble double pour contenir le fichier et le membre nommés dans le paramètre RMTFILE. C'est ainsi que le nom du membre du fichier i5/OS doit être indiqué dans la commande SBMRMTCMD en raison des parenthèses nécessaires pour contenir le nom du membre.
Exemple 5 : remplacement d'une partie de la liste des bibliothèques
SBMRMTCMD CMD('RPLLIBL LIBL(QGPL QTEMP SALES EVANS)')
DDMFILE(EVANS)
Cette commande remplace la partie de la liste des bibliothèques de l'utilisateur qui est utilisée par le travail cible associé à un fichier DDM nommé EVANS, en cours d'utilisation par le travail source dans lequel cette commande SBMRMTCMD est soumise. Dans ce travail source, si d'autres fichiers DDM ouverts indiquent une unité et un mode semblables, cette liste des bibliothèques est également utilisée pour ces fichiers.
Messages d'erreur
Messages *ESCAPE
- CPF9164
- Le système cible n'accepte pas SBMRMTCMD.
- CPF9165
- Le fichier &1 de &2 n'est pas un fichier DDM.
- CPF917A
- Fin anormale du fichier réparti ou de la demande en miroir.
- CPF917B
- La base de données relationnelle &4 sur le système cible &3 n'est pas disponible.
- CPF9172
- Arrêt anormal de SBMRMTCMD ou d'une commande CL en miroir.
- CPF9174
- Erreur pendant l'appel du programme d'exit utilisateur sur le système cible.
- CPF9175
- Erreur pendant l'exécution du programme d'exit utilisateur.
- CPF9177
- L'exécution du programme d'exit utilisateur a échoué.
- CPF9178
- Le traitement de la commande indiquée par SBMRMTCMD a échoué.
- CPF9182
- Impossible de démarrer communications.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.