PDA

View Full Version : Parameter übergeben



Seiten : [1] 2

Vicky-B
04-06-04, 09:05
Hallo zusammen,

ich habe folg. commando, das ein Java-Programm startet:
XMLErstellerAS400 ist das java-Programm. Nun möchte ich aus der as400 2 parameter übergeben: liefscheinNr und dgtiNr.

Weiß jemand wie man das macht??
Vielen Dank im Voraus!
Vicky


QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400')

Vicky-B
04-06-04, 12:01
so ich hab folg. rausgefunden. Mit dem u.s. befehl können die parameter direkt übergeben werden.


QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400 036239487')



Wobei 036239487' ist der übergebene Wert! Das war soweit für alle die es auch wissen wollten
Nun hab ich folg. Frage:
der angegebene Wert soll durch eine RPG-Variable ersetzt werden.
Weiß jemand wie man das anstellen kann??
DANKE

BenderD
04-06-04, 12:14
Hallo Vicky,


so ich hab folg. rausgefunden. Mit dem u.s. befehl können die parameter direkt übergeben werden.


QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400 036239487')



Wobei 036239487' ist der übergebene Wert! Das war soweit für alle die es auch wissen wollten
Nun hab ich folg. Frage:
der angegebene Wert soll durch eine RPG-Variable ersetzt werden.
Weiß jemand wie man das anstellen kann??
DANKE

einfach den String
SBMJOB MYJAVA CMD(QSH CMD(java...)) im RPG zusammen basteln und an QCMDEXC oder system übergeben.
SBMJOB ist hier von Vorteil, weil eh' nix zurück kommt und es keine Probleme mit dem Multithreading gibt.

mfg

Dieter Bender

Vicky-B
04-06-04, 14:41
Hallo,

ich glaub wir haben aneinander"geschrieben". Und zwar geht es darum dass
anstatt von 036239487 in

QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400 036239487')



eine in rpg ermittelte variable übernommen wird, die dann an java-programm weitergeleitet wird.

D.h. es muss dann so ähnlich aussehen:




QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400 &Varibale)

BenderD
04-06-04, 15:03
Hallo Vicky,


Hallo,

ich glaub wir haben aneinander"geschrieben". Und zwar geht es darum dass
anstatt von 036239487 in

QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400 036239487')



eine in rpg ermittelte variable übernommen wird, die dann an java-programm weitergeleitet wird.

D.h. es muss dann so ähnlich aussehen:




QSH CMD('java -classpath /javatest:/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/javatest/jdom.jar XMLErstellerAS400 &Varibale)


Durchaus nicht:
irgendsowas:
D cmd 512a
D javaParm 123a hier steht der Parameter drin

C eval cmd = "SBMJOB CMD ....... XMLErstellerAS400 "
C + javaParm
C callp system(cmd)

Prototyp für system findest Du auf meiner Freeware Seite

mfg

Dieter Bender

Vicky-B
07-06-04, 09:25
Hallo BenderB,

ich hab das Beispiel auf Deiner Seite gefunden und ausprobiert.
und zwar sieht der Quellcode so aus:


0214.00 CHGVAR VAR(&JAVA) VALUE('JAVA +
0215.00 -CLASSPATH/JAVATEST:QIBM/PRODDATA/HTTP/PUBLIC+
0216.00 /JT400/LIB/JT400.JAR:/JAVATEST/JDOM.JAR +
0217.00 XMLERSTELLERAS400 &DNRI &PLIEF')
0218.00 SBMJOB CMD(QSH CMD(&JAVA))


wobei die grün markierten Variablen davor mit Weten belegt werden. Beim Ausführen
bekomme ich folg. Fehlermeldung:


qsh: 001-0019 Fehler gefunden beim Suchen des Befehls DNRI. Kein Pfad oder keine Bibliothek mit diesem Namen.

qsh: 001-0019 Fehler gefunden beim Suchen des Befehls PLIEF. Kein Pfad oder keine Bibliothek mit diesem Namen.

In deinem Beispiel stand folgendes...


......
' de.bender_dv.transfer.TransferData ' !! +
/* properties als Parameter */+
'ConnectFrom ConnectTo'


'ConnectFrom ConnectTo' sind doch die Parameter die übergeben werden. Wie werden sie mit den Werten belegt?

Ich danke vielmals!
Vicky

BenderD
07-06-04, 09:45
Hallo Vicky-B,

wenn Du lieber CL magst, auch das geht:

[QUOTE=Vicky-B]Hallo BenderB,

ich hab das Beispiel auf Deiner Seite gefunden und ausprobiert.
und zwar sieht der Quellcode so aus:


0214.00 CHGVAR VAR(&JAVA) VALUE('JAVA +
0215.00 -CLASSPATH/JAVATEST:QIBM/PRODDATA/HTTP/PUBLIC+
0216.00 /JT400/LIB/JT400.JAR:/JAVATEST/JDOM.JAR +
0217.00 XMLERSTELLERAS400 &DNRI &PLIEF')
0218.00 SBMJOB CMD(QSH CMD(&JAVA))


ändere Dein CL mal wie folgt:

CHGVAR VAR(&JAVA) VALUE('JAVA +
-CLASSPATH/JAVATEST:QIBM/PRODDATA/HTTP/PUBLIC+
/JT400/LIB/JT400.JAR:/JAVATEST/JDOM.JAR +
XMLERSTELLERAS400 ' !! &DNRI !! ' ' !! &PLIEF)

SBMJOB CMD(QSH CMD(&JAVA))

mfg

Dieter Bender

Vicky-B
07-06-04, 10:00
Hallo Dieter,


auch diese Schreibweise hab ich ausprobiert. Dabei bekomme ich folg.
Fehlermeldung:

ungültiger Operand bzw. fehlender Operator in Value :confused:

Kannst Du was damit anfangen??
DANke nochmal :-)
Vicky

BenderD
07-06-04, 10:13
Hallo Vicky,


Hallo Dieter,


auch diese Schreibweise hab ich ausprobiert. Dabei bekomme ich folg.
Fehlermeldung:

ungültiger Operand bzw. fehlender Operator in Value :confused:

Kannst Du was damit anfangen??
DANke nochmal :-)
Vicky

das ist das !! als Verketter, versuchs mal mit || (AltGriechisch und <)

Dieter Bender

Vicky-B
07-06-04, 12:17
Hallo Dieter,

ich hab jetzt auch mit | ausprobiert. Dann sagt er: ungültiges Zeichen.
Hättest du noch ne andere Lösung???

DANKE!
Vicky