PDA

View Full Version : RUNRMTCMD für Doofe



Seiten : [1] 2

grunzheini
20-02-09, 09:21
Ich weiss das schon massig Einträge zu diesem Thema vorhanden sind, welche ich in den letzten 2 Stunden studiert habe. Leider sind meine Fragen nicht ganz beantwortet.

Meine Ziel:
Ich will mit einem CL eine *.BAT starten, die sich auf einem IFS Laufwerk befindet.
Diese .BAT soll ein paar Dateien von dem IFS Laufwerk packen und zwar mit WinZip.

STRPCCMD scheidet aus, da ich es ja nicht am Schirm aufrufen sondern früh morgens automatisch.

RUNRMTCMD (http://newsolutions.de/forum-systemi-as400-i5-iseries/system-i-hauptforum/4927-runrmtcmd.html?highlight=Rexec) ist da wohl das Mittel zum Zweck, aber dazu folgende Fragen:

1. Wie kontrolliere ich, ob REXEC auf unserer i5 aktiv ist? (V5R4)
2. Was trage ich bei RMTLOCNAME ein.
der PC wo es laufen soll oder die i5?
3. Welcher Dienst muss auf dem PC aktive sein (REXEC?) und wie starte ich ihn?

Oder hat jemand eine ganz andere Idee, wie ich zum Ziel komme?

Danke.

BenderD
20-02-09, 09:33
einfach auf der AS/400 zippen mit jar, oder gzip - auch dazu gibt es Beispiele im Web und auch hier im Forum müsste was zu finden sein.

D*B


Ich weiss das schon massig Einträge zu diesem Thema vorhanden sind, welche ich in den letzten 2 Stunden studiert habe. Leider sind meine Fragen nicht ganz beantwortet.

Meine Ziel:
Ich will mit einem CL eine *.BAT starten, die sich auf einem IFS Laufwerk befindet.
Diese .BAT soll ein paar Dateien von dem IFS Laufwerk packen und zwar mit WinZip.

STRPCCMD scheidet aus, da ich es ja nicht am Schirm aufrufen sondern früh morgens automatisch.

RUNRMTCMD (http://newsolutions.de/forum-systemi-as400-i5-iseries/system-i-hauptforum/4927-runrmtcmd.html?highlight=Rexec) ist da wohl das Mittel zum Zweck, aber dazu folgende Fragen:

1. Wie kontrolliere ich, ob REXEC auf unserer i5 aktiv ist? (V5R4)
2. Was trage ich bei RMTLOCNAME ein.
der PC wo es laufen soll oder die i5?
3. Welcher Dienst muss auf dem PC aktive sein (REXEC?) und wie starte ich ihn?

Oder hat jemand eine ganz andere Idee, wie ich zum Ziel komme?

Danke.

Fuerchau
20-02-09, 10:25
RUNRMTCMD für PC's unterliegt hier auch gewissen Einschränkungen.
Die Befehlslänge ist hier wie bei STRPCCMD beschränkt, da auf dem PC ein DOS-Befehl gestartet wird.

Wenn tatsächlich nur gezippt werden soll, dann ist das besser über die QSH / QSHELL lösbar (wie Dieter beschreibt). Insbesonders ist man dann nicht von der Bereitschaft des PC's abhängig.

Syntax: jar {ctxu}[vfm0Mi] [JAR-Datei] [Manifest-Datei] [-C dir] Dateien ...
Optionen:
-c neues Archiv erstellen
-t Inhaltsverzeichnis für Archiv auflisten
-x benannte (oder alle) Dateien aus dem Archiv extrahieren
-u vorhandenes Archiv aktualisieren
-v ausführliche Ausgabe für Standardausgabe generieren
-f Namen der Archivdatei angeben
-m Manifestinformationen aus angegebener Manifest-Datei einbeziehen
-0 nur speichern; keine ZIP-Komprimierung verwenden
-M keine Manifest-Datei für die Einträge erstellen
-i Indexinformationen für die angegebenen JAR-Dateien generieren
-C ins angegebene Verzeichnis wechseln und folgende Datei einbeziehen
Falls eine Datei ein Verzeichnis ist, wird sie rekursiv verarbeitet.

REXEC ist ein Dienst, der Befehle entgegennimmt, der auf dem PC gestartet sein muss.

RUNRMTCMD CMD(XXX.BAT)
RMTLOCNAME('nnn.nnn.nnn.nnn' *IP)
RMTUSER(USER)
RMTPWD(pwd)

grunzheini
23-02-09, 13:41
Danke schonmal für die Antworten, aber das bleiben noch ein paar Fragezeichen..:confused:

1. Wie starte ich den REXEC auf dem PC?
2. Spielt das eine Rolle, dass die .BAT im IFS liegt? Kann ich die evtl. auch auf der i5 ausführen, also im IFS?

Fuerchau
23-02-09, 13:50
Auf dem PC gibts 2 Methoden in den Diensten:
1. iSeriesAccess ferner Befehl
2. RPC-Dienst

In beiden Fällen ist eine Anmeldung an einem lokalen Konto erforderlich.
Der auszuführende Befehl muss auf dem PC vorliegen (kann auch eine .BAT-Datzei sein).

Gibst du einen UNC-Namen an (\\MySys\Path\MyBat.bat (file://\\MySys\Path\MyBat.bat)), muss der PC sich erst mal wieder an MySys anmelden.
Mangels Usereingriff geht das aber nicht.

Du benötigst also auf dem PC eine .BAT, die zuerst per "net use" mit Kennwort eine Laufwerkszuordnung macht um dann den .BAT-Befehl auszuführen.

Die PC-.BAT kann auch ein Argument mit der auszuführenden .Bat enthalten:

SBMRMTCMD CMD('c:\mybat.bat "X:\MyPath\MyCmd.BAT"') ...

mybat.bat:

net use x: ....
call "%1"

grunzheini
24-02-09, 11:05
Nach langem Probieren bin davon abgekommen, dass über einen PC zu lösen.
Ich beschäftige mich nun damit, die Datei direkt über die i5 zu zippen, aber auch da komm ich nicht so recht weiter.

Kann ich über die i5 genau wie mit WinZip
eine oder mehrere TXT-Dateien zu eine .zip packen, die dann mit WinZip wieder entpackt werden kann?

Fuerchau
24-02-09, 11:16
jar und zip sind beim Aufbau sehr ähnlich.
Probiere das obige jar-Kommando über die QSHELL einfach mal aus.
Benenne die Datei dann in xxx.zip um und schau dir diese dann in Windows an.

grunzheini
24-02-09, 11:21
Das habe ich grad gemacht.
Sieht schon recht gut aus, aber es taucht da immer diese Manifest.mf auf, die stört mich, wenn ich die .Zip in dem Fremdprogramm einspielen will.
Bekomm ich das auch ohne die hin?

Als Erklärung:
Mein ganzes Vorhaben dient als Schnittstelle zu einem anderen (nicht von geschriebenen) Prgm. Wir liefern die Daten der i5 (TXT-Dateien) als .zip dem Windows-Prgm.
Das ist ein wenig pingelich und wenn da auf einmal eine .mf Datei dabei ist, fängt das an rumzuzicken...:(

grunzheini
24-02-09, 11:25
Hat sich grad erledigt.
-M
und die .mf Datei is wech....

Danke!

Unsere i5 kann mehr als ich dachte....

grunzheini
24-02-09, 13:22
Um das ganze im CL batch laufen zu lassen, habe ich gelesen, dass ich die Ausgabe umleiten muss, richtig?

Hänge ich dafür einfach "2>&1" hinter meinen QSH-Befehl?

Also würde das dann so aussehen:

jar -cfM /Ordner1/Ordner2/xxx.zip /Ordner1/Ordner2/xxx.txt 2>&1