View Full Version : MOCHA Client und STRPCO
Wenn Winword nicht mit \\Server arbeiten mag, mach Dir ne .BAT in der Du das .DOC temporär zum bearbeiten dahin kopierst wo es geht, dann bearbeiten und wenn Programm zurück in die .Bat fällt, wieder zurückkopieren...
Mocha hat ein Problem mit diesem Aufruf, wenn man nun aber IBM Personal Communicator testet, dann funktioniert der Aufruf einwandfrei wie es soll...
Tja, wenn MOCHA nicht bereit ist, den Fehler zu beheben ....
Es ist und bleibt eine CA-Funktion.
Da hilft wohl nichts !
Danke an alle für die Hilfsversuche ...
so long
bratmaxxe
Hallo,
STRPCCMD funktioniert auch in Mochasoft. In folgendem Beispiel wird ein Worddokument von der AS/400 Freigabe geöffnet:
STRPCCMD PCCMD('cmd /C "start \\as400\root\home\user\dok1.doc"')
Viele Grüße
Matthias
Moinsen Schatte,
danke für die Info ! Das funzt super....
Allerdings kann Mocha wohl keine Leerzeichen bei Dateinamen ab. Beispielsweise ist nachfolgender CMD nicht ausführbar (auch nicht im IBM Personal Communicator):
STRPCCMD PCCMD('cmd /C "start \\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666 (file://\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666)
702 V -- -- - -- -- 1000.doc"')
Beim IBM Personal Communicator ist merkwürdigerweise nachfolgder CMD wieder möglich:
STRPCCMD PCCMD('START WINWORD "\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666 (file://FILSERV3/EINORDNER/NEUB0666/WORD0666/0666)
702 V -- -- - -- -- 1000.doc"')
... ziemlich verkorkst !
So long
Bratmaxxe
Das Problem ist die Argumentauflösung.
Versuch mal den Dateinamen mittels 2 Anführungszeichen einzupacken.
Ggf. hilft auch
cmd /c 'start "file name" '
Beim Einpacken in das AS/400-CMD die enfachen HK's wieder verdoppeln.
Hallo Baldur,
danke für den Tipp, hat leider nichts gebracht...
Die CMD-Zeile bleibt geöffnet und nichts passiert...
DCL VAR(&PCNAME) TYPE(*CHAR) LEN(33)
DCL VAR(&CMD) TYPE(*CHAR) LEN(80) VALUE('"start +
\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666 (file://\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666) +
702 V -- -- - -- -- 1000.doc"')
DCL VAR(&CMD4) TYPE(*CHAR) LEN(110)
CHGVAR VAR(&CMD4) VALUE('CMD C/ ' *CAT '''' *CAT +
&CMD *CAT '''')
STRPCO
MONMSG MSGID(IWS4010)
STRPCCMD PCCMD(&CMD4) PAUSE(*NO)
Sieht fertig so aus:
CMD C/ '"start \\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666 (file://\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666) 702 V -- -- - -- -- 1000.doc"'
....
Die Syntax ist falsch !
Du musst den Dateinamen in doppelte und dann ab "start" bis zum Schluss in einfach HK's setzen:
CMD C/ 'start "\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0666 (file://filserv3/EINORDNER/NEUB0666/WORD0666/0666) 702 V -- -- - -- -- 1000.doc"'
Die Lösung des Problems (rot dargestellt):
STRPCCMD PCCMD('cmd /C start "" "\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0 (file://\\FILSERV3\EINORDNER\NEUB0666\WORD0666\0)
666 702 V -- -- - -- -- 1000.doc"')
Gruß
Bratmaxxe
Wenn du mal ein DOS-Fenster aufmachst und "start /?" eingibst, erhältst du die Erklärung für dieses Verhalten.
Mit "" wird der Titel des Fensters angegeben und erst danach folgt das/der Programm/Dateiname.