Hallo zusammen,
Nach Umstellung eines Feldes auf UTF-16 CCSID(1200) habe ich folgendes Problem:
Ich bekomme mittels generierter SqlAnweisung nicht mehr das gewünschte Ergebnis. Sondern es werden alle Datensätze aus der Datei selektiert.
Anbei hänge ich mal den Codeauschnitt.
Code:
H CCSID(*UCS2 : 1200)
:
D SqlStatement s 5000C VARYING
D US1 s 80C VARYING
D Search1 s 80C VARYING
D §HK s 1 inz(X'7D') Hochkomma definieren
:
C/exec sql
C+ declare C1 scroll Cursor for S1
C/end-exec
:
C EVAL US1 =%UCS2(' where upper(tititl)') +
C %UCS2(' = ') +
C %UCS2(§HK) + %trim(search1) +
C %UCS2(§HK)
:
Im Debug erhalte ich folgenden Inhalt US1 = where upper(tititl) = 'TOP'
:
/free
SqlStatement
= %UCS2('select * from ')
+ %UCS2(' ') + %UCS2(%trim(§file)) + %UCS2(' ')
+ %ucs2(' ') + %trim(Us1) + %ucs2(' ');
/end-free
:
Im Debug: SQLSTATEMENT = select * from MDPROP03 where upper(tititl) = 'TOP'
:
C/exec sql
C+ prepare S1 from :SqlStatement
C/end-exec
:
C/exec sql
C+ open C1
C/end-exec
:
C/exec sql
C+ FETCH RELATIVE :rows FROM C1 INTO :ds_MDPROP03
C/end-exec
:
:
C/exec sql
C+ close C1
C/end-exec
In der Datei ist das Feld TITITL wie folgt definiert:
TITITL GRAPHIC 60 120 290
ID des codierten Zeichensatzes . . . . . : 1200
UCS2- oder Unicode-Konvertierung . . . . : *CONVERT
Wäre toll wenn jemand eine Lösung dieses Problemes parat hat.
Bookmarks