View Full Version : STRPCCMD gibt Steuerung ab
Ich rufe aus einem CL-Programm, welches in einer 5250-Emulation läuft, eine .BAT Datei auf. Dazu nutze ich STRPCCMD. In der BAT-Datei wird eine Excel-Datei ausgedruckt. Das funktioniert auch alles soweit gut, allerdings bleibt das CL-Programm am Greenscreen so lange stehen, bis ich sie explizit wieder mit der Maus anklicke, oder mit ALT+TAB hin und her schalte. Erst danach werden die weiteren Statements des CL-Programms ausgeführt. Parameter PAUSE steht selbstverständlich auf *NO. Hat jemand eine Idee?
Wir submitten bei solchen Aufgaben den STRPCCMD nach qinter
Robi
Hallo Robi,
STRPCCMD kann bei mir nicht im Batch ausgeführt werden. Kann ich das umgehen?
Ja,
hab grad nachgesehen.
Es ist dann ein RUNRMTCMD
Sorry für den Fehler
Danke für die Info aber mein STRPCCMD sieht folgendermaßen aus:
STRPCCMD PCCMD('wscript w:\weberei\konkart\se.vbs' +
*BCAT &MODUS *BCAT &PFAD_QS *TCAT &NAME +
*BCAT &STANDORT *BCAT '0' *BCAT &DRUCKER +
*BCAT &ABNR) PAUSE(*NO)
Diese Anweisung kann ich leider nicht in einem RUNRMTCMD unterbringen. Das lässt die Syntax im Parameter CMD nicht zu.
chgvar &cmd value('wscript w:\weberei\konkart\se.vbs'
*BCAT &MODUS *BCAT &PFAD_QS *TCAT &NAME
*BCAT &STANDORT *BCAT '0' *BCAT &DRUCKER
*BCAT &ABNR)
runrmtcmd &cmd
(oder so ähnlich ...) kanns grad nicht probieren
danke für die Hilfe. Da hätte ich auch selbst drauf kommen können. Der Befehl RUNRMTCMD läuft jetzt durch. Ich bekomme keine Fehlermeldung. Allerdings wird die Script-Datei offensichtlich nicht ausgeführt. Jedenfalls bekomme ich keinen Ausdruck, welcher bei STRPCCMD rauskommt.
Ist der Befehl so korrekt?
RUNRMTCMD CMD(&CMD) RMTLOCNAME('10.5.2.1' *IP) +
RMTUSER(*CURRENT)
Wenn das Passwort auf dem PC identisch mit dem auf der AS400 ist, sollte der Befehl so funktionieren
hier wird die .BAT Datei protokoliert (die mit echo alles 'erzählt' was sie so macht)
Nun, bei RUNRMTCMD sind keine Netzwerk-Ressourcen verfügbar da keine Netzanmeldung passiert.
Das Kommando läuft ausschließlich lokal.
Benötigst du z.B. ein Netzwerklaufwerk musst du dieses erst per "net use ..." zuordnen. Hierfür sind dann aber wieder User und Kennwort im Klartext abzulegen.
Was immer dein VBS machen soll, es muss lokal auf dem PC laufen.
Da du etwas von Drucken schreibst, auch Netzwerkdrucker stehen ohne Anmeldung nicht zur Verfügung.
Ich denke mal dein Problem ist, dass sich Excel nicht beendet (Fehler in der Automatisierung) und somit dein VBS weiterläuft und auf das Ende wartet.
Pause(*NO) bedeutet nicht, dass nicht auf das Ende des Kommandos gewartet wird sondern dass nach dem Ende eines Kommandos dann nicht auf eine Useraktion gewartet wird.
Deine BAT wartet aber noch auf das Ende des wscript.