-
Hmmm, wär noch ne Idee. Könnt erst mal alle Werte nach UCS2 konvertieren und in UCS2 Variablen speichern, die CCSID des Jobs auf 500 ändern und dann die Java Methoden aufrufen.
Werd ich mal probieren. Danke!
MfG
Martin Stöberl
-
Ich glaub das wars! Anscheinend hat die IBM hier wirklich ein Problem wenn bei Codepage 930 in der Source kleine lateinische Buchstaben verwendet werden (auch im CL). Nachdem ich vor der Verwendung von kleinen lateinischen Zeichen die CCSID des Jobs auf 500 geändert habe funktioniert es. Nur zum Konvertieren der über Parameter übergebenen Werte setzt ich die CCSID wieder auf 930. Erste Tests schauen vielversprechend aus!
Danke für den Tip! Das Problem hat mich schon langsam zur Verzweiflung getrieben ...
MfG
Martin Stöberl
-
Es könnte auch sein, da Java CaseSensitive ist, dass alleine die Variablennamen mit Kleinbuchstaben hier schon hinderlich sind, aber wer weiß....
Umgehungen sind auch manchmal die Lösung.
Warum reicht das Ändern der JobCCSID nicht direkt vor dem Java-Aufruf ?
-
Im CL setze ich die Umgebungsvariablen wie CLASSPATH oder QIBM_RPG_JAVA_PROPERTIES. Hierbei wird auch Groß- / Kleinschreibung verwendet und zumindest bei der Umgebungsvariable QIBM_RPG_JAVA_PROPERTIES bin ich mir jetzt nicht sicher, ob Großschreibung funktioniert. Und solange ich die JobCCSID nicht ändere können die Umgebungsvariablen mit Kleinbuchstaben auch nicht verwendet werden.
Java ist definitiv Case Sensitive. Ich denke das Problem liegt hier beim Aufruf der Java Methode, die RPG Statements werden ja beim Kompilieren in Großbuchstaben umgesetzt. Aber der Methoden bzw. Klassenname wird ja in Hochkommas gesetzt, z.B.
Code:
D CRTSTR PR O EXTPROC(*JAVA:
D 'java.lang.String':
D *CONSTRUCTOR)
D CLASS(*JAVA:'java.lang.String')
D 16383C CONST VARYING
Ich weiß ja nicht genau wie IBM das intern händelt mit der Umsetzung wenn eine Programm, wo die Quelle unter CCSID 273 erstellt, gespeichert und kompiliert wurde in einer Umgebung mit CCSID 930 ausgeführt wird. Vielleicht wird hier versucht alles in die JobCCSID zu konvertieren und dann hätte er wohl ein Problem da einige Zeichen in der Ziel-Codepage nicht existieren.
Aber wie auch immer, im Moment bin ich damit zufrieden das es jetzt funktioniert
MfG
Martin Stöberl
-
Programmkonstanten unterliegen nicht der Codewandlung zur Laufzeit sondern nur zur Compile-Zeit.
Da JavaCode aber im Wesentlichen ja Daten sind und kein Maschinencode kann dies hier zum Fehler führen.
Zum Auffinden der Methoden und Klassen bedarf es wohl einer gültigen Codepage die eben auch Kleinbuchstaben unterstützt.
Denn obwohl die Daten in Unicode verarbeitet werden ist wohl der Javecode selber eben kein Unicode.
Aber das ist alles stochern im Nebel, Dieter kann de ggf. mehr zu sagen.
Schön, dass mein Tipp funktioniert.
Similar Threads
-
By Squall in forum IBM i Hauptforum
Antworten: 31
Letzter Beitrag: 28-09-06, 17:53
-
By codierknecht in forum NEWSboard Java
Antworten: 7
Letzter Beitrag: 23-03-05, 08:31
-
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
-
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