-
Moin!
Parameter sind falsch. Bei Return darfst Du keine Parameter mitgeben. NullPointer kommt durch Parm Abfrage auf getOutputData() die nicht vorhanden sind bei Parm 1+2.
Bitte nächstes mal funktionierendes Code-Beispiel einfügen!
Code:
public class Test2 {
public static void main(String[] args) {
AS400 system = new AS400("xx.x.x.x", "xx", "xx");
ProgramCall program = new ProgramCall(system);
try {
String programName = "/QSYS.LIB/xxxx.LIB/TEST.PGM";
ProgramParameter[] parameterList = new ProgramParameter[3];
AS400Text In_parm1 = new AS400Text(10, system);
parameterList[0] = new ProgramParameter(In_parm1.toBytes("Ich bin"));
AS400Text In_parm2 = new AS400Text(10, system);
parameterList[1] = new ProgramParameter(In_parm2.toBytes(" gut!"));
// Keine Par, mitgeben!!!
parameterList[2] = new ProgramParameter(20);
program.setProgram(programName, parameterList);
// Run the program.
if (!program.run()) {
System.out.println("Program failed!");
AS400Message[] messagelist = program.getMessageList();
for (int i = 0; i < messagelist.length; ++i) {
System.out.println(messagelist[i]);
}
} else {
AS400Text text = new AS400Text(20, system);
System.out.println(text.toObject(parameterList[2].getOutputData()));
}
} catch (Exception e) {
System.out.println("Program " + program.getProgram()+ " did not run!" + e);
} finally {
system.disconnectAllServices();
}
}
}
Ciao
Nili
-
Hallo Nili,
das gibts doch garnicht. Auf sowas wäre ich nie gekommen.
Es funktioniert. Vielen Dank
Gruss
Michael
-
Hallo zusammen,
ich bin über die Forensuche auf dieses Thema aufmerksam geworden, da ich im Moment an einem ähnlichen Problem knoble.
Ich rufe ebenfals ein Programm auf, mit 3 Übergabe Parametern, 2 davon als Input und einer davon als Outpu (Call by Reference)
Wenn ich allerdings auf den output Parameter zugreifen will, bekomme ich immer nur einen Leerstring (im debugger wird mir in dem array(in jedem einzelnen Feld) immer die Zahl 64 angezeigt).
Wenn ich das RPG Programm mit den gleichen Parametern "so" aufrufe bekomme ich die richtige Zeichenfolge (1111...) zurück.
Hier mal mein Quelltext, der allerdings fast gleich zu dem oben ist:
Code:
public class Test2 {
public static void main(String[] args) {
AS400 system = new AS400("xx.x.x.x");
ProgramCall program = new ProgramCall(system);
try {
String programName = "/QSYS.LIB/xxxx.LIB/TEST.PGM";
ProgramParameter[] parameterList = new ProgramParameter[3];
AS400Text In_parm1 = new AS400Text(10);
parameterList[0] = new ProgramParameter(In_parm1.toBytes("Ich bin"));
AS400Text In_parm2 = new AS400Text(10);
parameterList[1] = new ProgramParameter(In_parm2.toBytes(" gut!"));
// Keine Par, mitgeben!!!
parameterList[2] = new ProgramParameter(ProgramParameter.PASS_BY_REFERENCE,20);
program.setProgram(programName, parameterList);
// Run the program.
if (!program.run()) {
System.out.println("Program failed!");
AS400Message[] messagelist = program.getMessageList();
for (int i = 0; i < messagelist.length; ++i) {
System.out.println(messagelist[i]);
}
} else {
AS400Text text = new AS400Text(20);
System.out.println(text.toObject(parameterList[2].getOutputData()));
}
} catch (Exception e) {
System.out.println("Program " + program.getProgram()+ " did not run!" + e);
} finally {
system.disconnectAllServices();
}
}
}
Kann mir jemand Helfen, bzw einen Tipp geben an was es liegen kann ?
Danke für eure Hilfe.
-
... Programm über SQL als stored Procedure aufrufen ist stabiler und einfacher als dieser Spielzeugkram der Dollschachtel
D*B
-
Mh ja wir sind atm auch am überlegen uns eine art Wrapper um unser RPG programm zu bauen was die funktionalität des Java-Programms abbildet.
Was mir aufgefallen ist, das in dem Beispiel hier von einem Remote Rechner auf die AS400 zugegriffen wird, mein Programm allerdings direkt auf der AS400 läuft.
Ich werde demnächst nochmal Probieren ob ich durch die Trace funktion genauere Ergebnisse bekomme.
Ansonsten wenn jemand eine idee hat, ich bin über jeden Tipp glücklich
Similar Threads
-
By ExAzubi in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 13-07-06, 10:51
-
By santoshs in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 05-04-05, 07:06
-
By PGMR in forum NEWSboard Java
Antworten: 10
Letzter Beitrag: 10-02-05, 10:33
-
By PGMR in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 02-02-05, 13:10
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks