PDA

View Full Version : QCMDEXEC aus ILERPG



stoerfang
15-01-07, 10:52
hallo zusammen,
ich weiss es gab schon mal so eine Anfrage, aber ich habe mich danach gerichtet, aber irgendwas scheint nicht zu klappen.
Könnt Ihr mir helfen?

D FELD S 30A INZ('Pfad nicht da')
D CMD S 512 INZ('v:')
D LENGE S 15P 5 INZ(160)

D AUFRUF PR EXTPGM('QCMDEXEC')
D 512 CONST
D 15P 5 CONST

C MONITOR
C CALLP Aufruf(CMD:LENGE)
C ON-ERROR
C FELD DSPLY
C ENDMON
C EVAL *INLR=*ON

in windows gibt es ein Netzlaufwerk mit dem Buchstaben v.
kann ich über den QCMDEXEC ( v:) auf das Verzeichnis zugreifen, OK, wenn nicht, DSPLY MSG

aber es scheint, als ob was mit dem Aufruf nicht klappt.
es kommt immer auf eine Fehlermeldung
Ohne Monitorgruppe komtm die Meldung, dass er auf die Prozedur nicht zugreifen kann.
Was fehlt mir ?
Vielen Dank und Gruss

Fuerchau
15-01-07, 11:11
Auf Windowsfreigaben kannst du nur per QNTC zugreifen.
Zum Thema QNTC findest du genug im Forum.

Der QCMDEXC-Aufruf ist soweit korrekt.

stoerfang
15-01-07, 11:49
um QNTC einsetzen zu können, geht das über CL oder wie muss ich das machen?

Fuerchau
15-01-07, 11:53
Suche hier im Forum nach QNTC.

In Kürze:
QNTC ist ein IFS "WRKLNK '/QNTC'" mittels dem auf Windowsfreigaben zugegriffen werden kann (CPYFRMSTMF; CPYTOSTMF, CPYFRMIMPF, CPYTOIMPF, QSH, JAVA, usw.).
Voraussetzung ist, dass der AS/400-User auf dem Server mit Name und Kennwort registriert ist und die Berechtigung zum Zugriff auf die Freigabe hat.

stoerfang
15-01-07, 12:24
habe das noch nicht ganz verstanden.

Der Befehl wrklnk in Verbindung mit QNTC muss ich das über ein CL steuern oder nicht ?

2. Frage:
Es handelt sich ja bei mir nicht direkt um eine Windowsfreigabe.
sondern:
Ich will einfach seitens einer 5250 Anwenung testen, ob vom PC aus, an dem ich sitze ein Netzlaufwerk zur AS400 eingerichtet und verbunden ist.
Will nur sehen ob die Verbindung steht.
Das ist meiner Meinung nach keine direkte Windowsfreige ?!

Fuerchau
15-01-07, 12:46
OK, das ist was anderes.
Dazu fällt mir nur RUNRMTCMD ein, was allerdings etwas schwierig ist, da dieser eigentlich keine eigenen Freigaben hat ausser denen, die man sich mit "net use" selber zuordnet.

MIT STRPCO und STRPCCMD (nur ClientAccess) lassen sich zwar Kommandos starten aber es gibt keine Rückmeldung über den Erfolg.

Vielleicht fällt einem ja was dazu ein.

Was willst du denn machen ?

stoerfang
15-01-07, 13:15
habe eine RPG Anwendung, in der ich mit xls doc usw. arbeite, die im IFS auf der AS400 liegen.
Die Pfade sind jeweils in einer PF. Bevor ich mit den Doks arbeite soll halt geprüft werden, ob die Verbinung vom PC aus zum Verzeichnis da ist.
So kann es dann auch nicht zu Problemen kommen, wenn neue Dokumente hinzukommen oder gelöscht werden.

Diese Abfrage sollte dann gelich beim Start der Anwendung erfolgen.

Fuerchau
15-01-07, 13:38
Du könntest im IFS eine temporäre datei anlegen (Jobnamen) und diese per STRPCO/STRPCCDM wieder löschen.
Anschließend auf Existenz prüfen, falls noch da gibts keine Zuordnung und die Datei selber wieder löschen.

Aber wie gesagt: geht nur per ClientAccess.

PS:
STRPCO ist nur einmal im Job nötig.

angelone
30-01-07, 07:39
wir machen das per ftp. weil der netserver böse ist.

haben ein kleines .net programm auf den rechnern hier
das wird per strpco aufgerufen.
als parameter bekommt es den dateinamen im ifs
das programm connected dann per ftp zur as400 und holt sich die datei.
danach kann man dann sagen, ob man die datei nur speichern will, oder im word/excel öffnen kann

ich glaube, ohne ein zusatzprogramm auf dem pc, kriegt man das auch nicht sinnvoll hin.