-
SQL Fehler 57017 beim Verabreiten des Cursors im SQLRPGLE
Hallo zusammen,
das folgenden SQL Statment gibt die Wechselkurse von der Deutschen Bank zurück.
Führe ich das SQL aus werden die Werte korrekt ausgeben. Wenn ich das SQL nun eingebettet in RPG verwenden wird bei auslesen des Cursors der Fehler 57017 Character conversion is not defined zurückgegeben. Hat jemand ein Idee wir der Fehler abgestellt werden kann?
SQL Script
PHP-Code:
SELECT * FROM XMLTABLE('$doc/Envelope/Cube/Cube/Cube' PASSING XMLPARSE(DOCUMENT SYSTOOLS.HTTPGETCLOB ('https://www.db-markets.com/dbm/portal/FxSettlementRates/31-03-2017','') ) AS "doc" COLUMNS Subject VarChar(30) CCSID 1208 Path '../../../Subject', Sender VarChar(30) CCSID 1208 Path '../../../Sender/Name', valueDate char(8) Path '@valuedate', Currency Char(3) Path '@currency', ask Dec(10, 4) Path '@ask', bid Dec(10, 4) Path '@bid' ) AS WebServiceResult
Das RPG sieht so aus
PHP-Code:
// ----------------------------------------------------------------------------------------- // SQL Definitionen // ----------------------------------------------------------------------------------------- dcl-proc SqlDef; sql_txt=' - SELECT * - FROM - XMLTABLE(''$doc/Envelope/Cube/Cube/Cube'' PASSING XMLPARSE(DOCUMENT SYSTOOLS.HTTPGETCLOB - (''https://www.db-markets.com/dbm/portal/FxSettlementRates/31-03-2017'','''') - ) - AS "doc" - COLUMNS - Subject VarChar(30) CCSID 1208 Path ''../../../Subject'', - Sender VarChar(30) CCSID 1208 Path ''../../../Sender/Name'', - valueDate char(8) Path ''@valuedate'', - Currency Char(3) Path ''@currency'', - ask Dec(10, 4) Path ''@ask'', - bid Dec(10, 4) Path ''@bid'' - ) - AS WebServiceResult - '; exec sql prepare sql_stmt from :sql_txt; // SQL Text in Sql Statment exec sql declare c1 cursor for sql_Stmt; // Cursor C1 mit Sql Statement verknüpfen exec sql open c1; // Ausführem SQL Statement end-Proc; // ----------------------------------------------------------------------------------------- // Lesen Cursor C1 // ----------------------------------------------------------------------------------------- dcl-proc ReadCursorC1; dow sqlstt <>'02000'; exec Sql fetch c1 into:DDS1; if sqlstt ='02000'; return; endIf ; // Do something enddo; end-proc; // ----------------------------------------------------------------------------------------- // Sql Definitionen // ----------------------------------------------------------------------------------------- dcl-proc CloseCursor; exec sql close C1; end-Proc;
-
Die Fehlermeldung besagt, dass zur Laufzeit eine CCSID nicht passt.
Prüfe die CCSID des Jobs zur Laufzeit.
Häufig ist die Ursache eine CCSID *HEX (65535).
Wie ist die Zielstruktur definiert?
Verwende hier ggf. UCS2-Felder.
-
Die Zielstruktur sieht so aus
dcl-ds DDS1;
ySubject varchar(30);
ySender varchar(30);
yValueDate char(8);
yCurrency char(3);
yAsk zoned(10:4);
yBid zoned(10:4);
end-Ds;
die CCSID lautet 65535
-
Wie gesagt. Wie soll denn zur Laufzeit eine decodierung von 1208 in 65535 funktionieren?
Mache einen CHGJOB CCSID(1141/273) oder definiere die Variablen als nvarchar (die Syntax weiß ich jetzt nicht) für Unicode/UCS2.
Per %char() kannst du die dann später immer noch umwandeln, wobei du hier Umlautprobleme bei 65535-JobCCSID bekommst.
Similar Threads
-
By Peet in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 29-10-14, 07:54
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 24-04-03, 16:54
-
By malzusrex in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-04-03, 17:15
-
By lemmi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 10-07-02, 12:07
-
By Tobias in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 30-01-02, 11:43
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