-
Java Aufruf an Stored Procedure RPG ServicePGM
Hallo zusammen !
Ich beschäftige mich schon seit einiger Zeit mit Stored Procedure Aufrufen von Java nach RPG Service Programmmen. Leider kommt beim Java Debug immer der Fehler, dass er mein Externes Programm S_TESTDP nicht gefunden hat.
Hintergrund: Ich versuche anhand von 4 numerischen Werten einen Text zurückzubekommen:
Procedure;
getObjektBez B Export
getObjektBez PI
p#firma 2 0
p#obj 7 0
p#objA 1 0
p#objG 1 0
p#obbzg 28
Local fields
Eval k#firma = p#firma
Eval k#obj = p#obj
Eval k#objA = p#objA
Eval k#objG = p#objG
ListObstdp Chain(N) OBSTDP
If not %found(Obstdp)
eval p#obbzg = *blanks
Else
eval p#obbzg = %trim(Obbzg)
Endif
getObjektBez E
Hier die Stored Procedure , die ich erstellt habe:
CREATE PROCEDURE STAMOBJ.SP_GETOBJ (
IN FIRMA DECIMAL(2, 0) ,
IN OBJEKT DECIMAL(7, 0) ,
IN OBJEKTART DECIMAL(1, 0) ,
IN OBJEKTGESHH DECIMAL(1, 0) ,
OUT OBJEKTBEZ CHAR(28) )
LANGUAGE RPGLE
SPECIFIC STAMOBJ.SP_GETOBJ
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
EXTERNAL NAME 'STAMOBJ/S_TESTDP(getobjektbez)'
PARAMETER STYLE GENERAL ;
COMMENT ON SPECIFIC PROCEDURE STAMOBJ.SP_GETOBJ
IS 'Objektbezeichnung aus OBSTDP' ;
Java PGM Aufruf
public void sucheObjektAdresse4() throws ClassNotFoundException, SQLException {
// Connection Variables
String AS400_ADDRESS = "xxx";
String AS400_USERNAME = "xxx";
String AS400_PASSWORD = "xxx";
String AS400_LIBRARY = "STAMOBJ";
START: Connection Block
Class.forName("com.ibm.as400.access.AS400JDBCDrive r");
try {
the400 = DriverManager.getConnection("jdbc:as400://" + AS400_ADDRESS + "/" + AS400_LIBRARY, AS400_USERNAME, AS400_PASSWORD);
System.out.println("Connection successful!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// END: Connection Block
try{
// START: Call the Stored Procedure
CallableStatement cstmt = the400.prepareCall("{CALL " + AS400_LIBRARY + ".SP_GETOBJ(?, ?, ?, ?, ?)}",
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
System.out.println(cstmt.toString());
*** Hier steht dann STMT0001, statt der Aufruf ***
// set inputs
cstmt.setDouble(1, 01); // firma
cstmt.setDouble(2, 2215); // objekt
cstmt.setDouble(3, 1); // objektArt
cstmt.setDouble(4, 1); // objektGeshh
// set outputs
cstmt.registerOutParameter(5, java.sql.Types.CHAR); // objektbezeichnung
// execute
ResultSet rs = cstmt.executeQuery();
System.out.println(rs.toString());
*** das executeQuery geht nicht auf ***
// display returned values
System.out.println("\nreturned parameters...");
System.out.println("Objektbezeichnung: " + cstmt.getString(5));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Es kommt folgende Fehlermeldung:
[SQL0444] Externes Programm S_TESTDP in STAMOBJ nicht gefunden.
Bitte um Eure Hilfe !
Vielen Dank
Similar Threads
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By rebe in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 12-10-06, 11:22
-
By codierknecht in forum NEWSboard Java
Antworten: 7
Letzter Beitrag: 23-03-05, 08:31
-
By HeisigA in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 21-02-05, 18:58
-
By mk in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 09-09-04, 08:22
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