-
Hallo zusammen,
vielen dank für die hilfreichen tips.
ich hatte jetzt endlich etwas zeit zum probieren.
Java 1.4.2 ist auf unserer I5 installiert.
Die 3 Archive
- poi.jar
- poi-contrib.jar
- poi-scratchpad.jar
habe ich nach /QIBM/UserData/java400/ext/ kopiert.
In den Umgebungsvariablen habe ich
die /QIBM/UserData/java400/ext/poi.jar hinzugefügt ...
Bei folgendem Testprogramm:
Code:
/title Anwenderdatei in Excel erstellen
*
H dftactgrp(*no)
*
FZR9T00 if e Disk
*
DCount S 5 0 Inz(0)
DC S 5 0 Inz(0)
DIFSFile S 1024 Inz('/QDLS/DURESP/TEST.XLS')
DSn S 10I 0 Inz(0)
DTableName S 1024 Inz('Anwender')
DvalueAlf S 1024
DvalueNUM S 8F
DvalueShort S 5I 0
Dcol S 5I 0
Dwidth S 5I 0
*
*
* OBJECT Variables *******************************************************
*
* // String.
*
Dstring S O CLASS(*JAVA
D :'java.lang.String')
*
* // String with fileName.
* // Short.
*
Dshort S O CLASS(*JAVA
D :'java.lang.Short')
* // Column.
*
Dcolumn S O CLASS(*JAVA
D :'java.lang.Short')
* // ColumnWidth.
*
DcolumnWidth S O CLASS(*JAVA
D :'java.lang.Short')
*
Dfilename S O CLASS(*JAVA
D :'java.lang.String')
*
* // FileOutputStream.
*
DoutFile S O CLASS(*JAVA
D :'java.io.FileOutputStream')
*
* // Workbook.
*
Dwb S O CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFWorkbook')
*
* // Sheet.
*
Ds S O CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFSheet')
*
* // Row.
*
Drow S O CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFRow')
*
* // Cell.
*
Dcell S O CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFCell')
*
* CONSTRUCTOR Methods. ***************************************************
*
* // String CONSTRUCTOR
* // new String(byte b[])
*
DcreateString PR O EXTPROC(*JAVA
D :'java.lang.String'
D :*CONSTRUCTOR)
D CLASS(*JAVA
D :'java.lang.String')
Dparm 1024
*
* // Short CONSTRUCTOR
* // new Short(byte b[])
*
DcreateShort PR O EXTPROC(*JAVA
D :'java.lang.Short'
D :*CONSTRUCTOR)
D CLASS(*JAVA
D :'java.lang.Short')
Dparm 5I 0 value
*
* // FileOutputStream CONSTRUCTOR
* // new FileOutputStream(String file)
*
DcreateFile PR O EXTPROC(*JAVA
D :'java.io.FileOutputStream'
D :*CONSTRUCTOR)
D CLASS(*JAVA
D :'java.io.FileOutputStream')
Dparm O CLASS(*JAVA
D :'java.lang.String')
*
* // WorkBook CONSTRUCTOR
*
DcreateWB PR O EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFWorkbook'
D :*CONSTRUCTOR)
D CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFWorkbook')
*
* // write(java.io.OutputStream)
*
DwriteWB PR EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFWorkbook'
D :'write')
Dparm O CLASS(*JAVA
D :'java.io.OutputStream')
*
* METHODS ****************************************************************
*
* // java.lang.trim()
*
DtrimString PR O EXTPROC(*JAVA
D :'java.lang.String'
D :'trim')
D CLASS(*JAVA
D :'java.lang.String')
*
* // shortValue()
*
DshortValue PR O EXTPROC(*JAVA
D :'java.lang.Short'
D :'shortValue')
D CLASS(*JAVA
D :'java.lang.Short')
Dparm O CLASS(*JAVA
D :'java.lang.Short')
*
* // WorkBook.createSheet()
*
DcreateSheet PR O EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFWorkbook'
D :'createSheet')
D CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFSheet')
Dparm O CLASS(*JAVA
D :'java.lang.String')
*
* // Sheet.createRow()
*
DcreateRow PR O EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFSheet'
D :'createRow')
D CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
* .HSSFSheet')
D .HSSFRow')
Dparm 5I 0 value
*
* // Sheet.setColumnWidth()
*
DsetColumnWidth PR EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFSheet'
D :'setColumnWidth')
Dparm1 5I 0 value
Dparm2 5I 0 value
*
* // Row.setHeight()
*
DsetHeight PR EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFRow'
D :'setHeight')
Dparm 5I 0 value
*
* // Row.createCell()
*
DcreateCell PR O EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFRow'
D :'createCell')
D CLASS(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFCell')
Dparm1 5I 0 value
*
* // Cell.setCellType(int)
*
DsetCellType PR EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFCell'
D :'setCellType')
Dparm1 10I 0 value
*
* // Cell.setCellValue(String)
*
DsetCellValStr PR EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFCell'
D :'setCellValue')
Dparm O CLASS(*JAVA
D :'java.lang.String')
*
* // Cell.setCellValue(double)
*
DsetCellValD PR EXTPROC(*JAVA
D :'org.apache.poi.hssf.usermodel-
D .HSSFCell'
D :'setCellValue')
Dparm 8F value
*
/Free
//
Count = 0;
//
// Create a Workbook.
//
wb = createWB();
//
// setSheetName.
//
valueALF = Tablename;
string = createString(valueALF);
string = trimString(String);
//
// Create a Worksheet.
//
s = createSheet(wb:string);
//
// Set Column Width, 1/256 of a character width.
//
col = 0;
width = 3840;
setColumnWidth(s:col:width);
col = 1;
width = 1024;
setColumnWidth(s:col:width);
col = 2;
width = 8192;
setColumnWidth(s:col:width);
col = 3;
width = 5120;
setColumnWidth(s:col:width);
col = 4;
width = 15360;
setColumnWidth(s:col:width);
//
// Run through book records.
//
Read ZR9T00;
Dow not %eof(ZR9T00);
Exsr DBRec2Excel;
Read ZR9T00;
Enddo;
//
// Create String filename.
//
IFSFile = %trim(IFSFile);
filename = createString(IFSFile);
//
// Trim filename (50A).
//
filename = trimString(filename);
//
// Create FileOutputStream.
//
outFile = createFile(filename);
//
// Write Workbook to output file.
//
writeWB(wb:outFile);
//
// End of program.
//
*inlr = *on;
//
/End-Free
*
*
*
**************************************************************************
*
/Free
//
Begsr DBRec2Excel;
//
// Create a row.
//
row = createRow(s:Count);
//
c = 0;
//
// FIN.
//
cell = createCell(row:c);
setCellType(cell:1);
valueALF = Z9TFIN;
string = createString(valueALF);
string = trimString(String);
setCellValStr(cell:string);
c = c+1;
//
// Z9T004.
//
cell = createCell(row:c);
setCellType(cell:1);
valueALF = Z9T004;
string = createString(valueALF);
string = trimString(String);
setCellValStr(cell:string);
c = c+1;
//
// Z9T004.
//
cell = createCell(row:c);
setCellType(cell:1);
valueALF = Z9T004;
string = createString(valueALF);
string = trimString(String);
setCellValStr(cell:string);
c = c+1;
//
// Z9T004.
//
cell = createCell(row:c);
setCellType(cell:1);
valueALF = Z9T004;
string = createString(valueALF);
string = trimString(String);
setCellValStr(cell:string);
c = c+1;
//
// Z9T004.
//
cell = createCell(row:c);
setCellType(cell:1);
valueALF = Z9T004;
string = createString(valueALF);
string = trimString(String);
setCellValStr(cell:string);
c = c+1;
//
// Count record number.
//
Count = Count +1;
//
Endsr;
//
/End-Free
Das Umwandeln im PDM lief fehlerfrei.
Beim Aufruf bekomme ich aber folgende Fehlermeldung:
Code:
Nachricht . . . : Java-Ausnahme beim Aufrufen der Java-Methode empfangen (C
G D F).
Ursache . . . . : RPG-Prozedur YGXLS in Programm xxxxxxxx/YGXLS hat
Java-Ausnahme "java.lang.NoSuchMethodError: createRow" empfangen, als die
Methode "createRow" mit Kennung
"(S)Lorg.apache.poi.hssf.usermodel.HSSFSheet;" in Klasse
"org.apache.poi.hssf.usermodel.HSSFSheet" aufgerufen wurde.
Fehlerbeseitigung: Mit Hilfe des Benutzers, der für die Programmpflege
verantwortlich ist, die Fehlerursache bestimmen.
Auswahlmöglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . :
D -- Einen RPG-formatierten Speicherauszug erstellen.
S -- Einen Systemspeicherauszug erstellen.
G -- Die Verarbeitung bei *GETIN fortsetzen.
C -- Abbruch.
F -- Einen vollständig formatierten Speicherauszug erstellen.
Technische Beschreibung . . . . . . . : Gibt die Ausnahme an, dass die
Java-Klasse nicht gefunden wurde, sicherstellen, dass sich die Klasse für
die Methode in dem Klassenpfad befindet. Gibt die Ausnahme an, dass die
Java-Methode nicht gefunden wurde, den Methodennamen und die Kennung
überprüfen. Ist die Kennung nicht korrekt, den RPG-Prototyp für die Methode
ändern oder die Java-Methode ändern, damit die Rückgabeart und die
Parameterarten übereinstimmen. Die Kennungen für alle Methoden in der Klasse
XYZ können mit dem Befehl QSH CMD('javap -s XYZ') bestimmt werden.
Kann mir hier jemand weiterhelfen?
Habe ich die POI API nicht richtig eingebunden, oder stimmt hier was mit der Java Syntax nicht?
Mich wundert vorallem diese Zeile hier in der Fehlermeldung:
(S)Lorg.apache.poi.hssf.usermodel.HSSFSheet;
Wird hier irgendwas nicht richtig umgesetzt wegen dem (S)L ?!
Danke im voraus
Similar Threads
-
By mk in forum NEWSboard Java
Antworten: 4
Letzter Beitrag: 11-12-06, 08:51
-
By Blaumeise in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 17-11-06, 12:19
-
By Blaumeise in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 24-05-06, 11:31
-
By Stoeberl in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 23-09-05, 08:49
-
By ralfmh in forum Archiv NEWSboard Events
Antworten: 1
Letzter Beitrag: 07-10-04, 11:17
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