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
(30CCSID 1208 Path '../../../Subject',
   
Sender        VarChar(30CCSID 1208 Path  '../../../Sender/Name',
   
valueDate     char(8)     Path '@valuedate',
   
Currency      Char(3)     Path '@currency',
   
ask           Dec(104)  Path '@ask',
   
bid           Dec(104)  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