Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 15/02/2010, 11h18   #1
Invité de passage
 
Inscription : février 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 4
Points : 2
Points : 2
Par défaut Paramètre CLP et DOS

Bonjour,
Je souhaite via un runrmtcmd sur AS400 lancer un .cmd se trouvant sur un Pc en windows XP avec un paramètre &xxx dans le CL récupéré en %1% dans le .cmd
Mon problème est de syntaxe car le paramètre &xxx du CL est bien substitué par la valeur voulue mais %1% récupéré en DOS reste vierge
Si je lance mon CL en aillant remplacé en "dur" &xxx par TOTO, le dos récupère bien TOTO dans %1%.
Il semble donc que le dos n'aime pas le caratère &.
Comment faire pour récupérer ma variable &xxx du CLP en %1% dans le DOS.
J'ai déjà essayé les ' " ( mais impossible de trouver la syntaxe exacte.
Les PROS ont-ils une idée? Merci d'avance - moi je suis sec.
bb25700 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2010, 12h52   #2
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
La syntaxe dans le CL doit être très proche de ceci :
Code :
1
2
chgvar &cmd ( 'Drive:\Path\MonFichier.cmd' *bcat &parm )  
runrmtcmd  cmd( &cmd ) ...
Mais colle ici le CL et le .cmd pour qu'on y voie plus clair.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2010, 14h20   #3
Invité de passage
 
Inscription : février 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 4
Points : 2
Points : 2
Encore une fois merci, je n'avais pas pensé à formater ma commande avant le runrmtcmd ce qui fonctionne très bien
Pour info:
CLP qui ne fonctionne pas
Code :
1
2
3
4
5
6
7
8
DCL VAR(&ADRIP) TYPE(*CHAR) LEN(20)
DCL VAR(&NUMBLC) TYPE(*CHAR) LEN(8)
....
Chargement des variables, call d'un RPG qui fait le fichier de travail  et alimente NUMBLC qu'il retourne en Parm
....
RUNRMTCMD  CMD('cmd /c c:\DossierClient\BLconf.cmd +  
             &NUMBLC') RMTLOCNAME(&ADRIP *IP) +       
             RMTUSER(*NONE) RMTPWD(*NONE)
CLP qui fonctionne
Code :
1
2
3
4
5
6
7
8
9
10
DCL VAR(&ADRIP) TYPE(*CHAR) LEN(20)
DCL VAR(&NUMBLC) TYPE(*CHAR) LEN(8)
DCL VAR(&CMD) TYPE(*CHAR) LEN(100)
....
Chargement des variables, call d'un RPG qui fait le fichier de travail  et alimente NUMBLC qu'il retourne en Parm
....
CHGVAR VAR(&CMD) VALUE('cmd /c c:\DossierClient\BLconf.cmd' *BCAT &NUMBLC) 
RUNRMTCMD  CMD(&CMD) +  
             RMTLOCNAME(&ADRIP *IP) +       
             RMTUSER(*NONE) RMTPWD(*NONE)
BLconf.cmd qui fonctionne
Code :
1
2
3
4
5
6
7
8
9
10
echo on

rem Transfert par exécutable RXFERPCB ne nécessitant pas de signature dans RUNRMTCMD 
cd c:\DossierClient

rxferpcb BLconf.dtf TRANSFERT AS400

rename BLconf.csv BL%1%.csv
echo off
Exit
Edit :
Info +
dans le dos, vous pouvez remplacer %1% par %1 seulement

Dernière modification par Hédhili Jaïdane ; 15/02/2010 à 23h12. Motif: Fusion messages pour up
bb25700 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h38.


 
 
 
 
Partenaires

Hébergement Web