Anmelden

View Full Version : *.CL Routine von Applet aus aufrufen



Seiten : 1 [2]

burton007
05-10-05, 12:55
Hi!



Bekommst Du in messageList was zurück?
Wie sieht der Programmabbruch aus, Log wäre gut!
Schon mal auf i5 nachgeschaut, ob JobLog Hinweise gibt.
Meist ist es ein Bibliotheken Problem, das PGM A PGM B benötigt und nicht findet.
Den Job auf der i5 kann man identifizieren mit .getServerJob().
hi!
bekomme bei der massageList nichts zurück, weil (glaub ich) das programm schon
vorher abstürzt, sonst würde ja System.out.println("test______2");
schon eine ausgabe erzeugen.
das nächste blöde ist, dass durch den abbruch auch kein log/hinweis im eclipse
erscheint.
du meinst, dass das PPGM A auf der i5 auch ein PGM B benötigen könnte??

vielen dank für alles tips,

mfg burton007

Nili
05-10-05, 16:15
Hi!

tu mir mal nen Gefallen und führ den Code bei Dir aus.
Danach poste mal die Ausgabe von der Console.



import com.ibm.as400.access.AS400;
import com.ibm.as400.access.AS400Message;
import com.ibm.as400.access.AS400Text;
import com.ibm.as400.access.ProgramCall;
import com.ibm.as400.access.ProgramParameter;
import com.ibm.as400.access.QSYSObjectPathName;

/**
* @author Nili
*/
public class TestPGM {

/**
* @param args
*/
public static void main(String[] args) {

// Hier Deine i5 und Anmeldung rein
AS400 as400 = new AS400("i5", "XX", "XX");

ProgramParameter[] parmList = new ProgramParameter[6];

parmList[0] = new ProgramParameter(new AS400Text(1).toBytes("x"));
parmList[1] = new ProgramParameter(new AS400Text(6).toBytes("xxxxxx"));
parmList[2] = new ProgramParameter(new AS400Text(5).toBytes("xxxxx"));
parmList[3] = new ProgramParameter(new AS400Text(10).toBytes("05483"));
parmList[4] = new ProgramParameter(new AS400Text(1).toBytes("y"));
parmList[5] = new ProgramParameter(new AS400Text(45).toBytes(
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"));

QSYSObjectPathName path = new QSYSObjectPathName("SAPPGM","DRPBXC","PGM");

ProgramCall pgm = new ProgramCall(as400,path.getPath(),parmList);
System.out.println("test______1");

try {
pgm.run();
} catch (Exception e) {
e.printStackTrace();
}

System.out.println("test______2");

AS400Message[] messageList = pgm.getMessageList();
for(int i=0; i<messageList.length; i++) {
System.out.println(messageList[i].getText());
}

}
}

burton007
07-10-05, 13:27
hi nili!

erstmal danke für dein bemühen.
habe deinen code eingefügt, zum testen in eine eigene applilkation!

jedoch kommt auch hier das selbe raus.

ausgabe:
test______1

leider wieder keine fehlermessages....

bin ratlos, vielleicht noch tips ??

mfg burton007

burton007
07-10-05, 15:10
so. mein Problem ist jetzt endlich gelöst, es hat sich lediglich um ein
case-sensitve problem gehandelt.

in der zeile

parmList[4] = new ProgramParameter(new AS400Text(1).toBytes("Y"));

gehört das Y gross !!

billiger fehler. grosse auswirkung!

danke an alle helfenden gehirne!!

mfg burton007