Hallo zusammen,

bisher war ich der Meinung, dass die CCSIDs 273 und 1141 bis auf das EURO-Zeichen nachezu Baugleich miteinander wären.

Im SQL Umfeld scheint das jedoch nicht der Fall zu sein.
Ich habe eine Tabelle CCSIDTST mit zwei Characterfeldern:
Code:
CREATE TABLE QGPL/CCSIDTST                            
(TXT1141 CHAR (10 ) CCSID 1141 NOT NULL WITH DEFAULT,
 TXT273  CHAR (10 ) CCSID 273 NOT NULL WITH DEFAULT)
Anschließend habe ich einen Datensatz eingefügt:
INSERT INTO CCSIDTST VALUES('ABC1000', 'ABC1000')

Nun ändere ich die Jobcodepage auf CCSID 1025 (RUS).

Folgendes SQL kann ich erfolgreich ausführen:
Code:
select * from CCSIDTST where TXT273 = 'ABC1000'
Eine Abfrage auf das Characterfeld mit CCSID 1141 funktioniert jedoch nicht:
Code:
select * from CCSIDTST where TXT1141 = 'ABC1000'
Man erhält folgende Joblog Meldungen:
Code:
Nachrichten-ID . . . . :   CPD4329       Bewertung  . . . . . . :   40      
Nachrichtenart . . . . :   Diagnose                                         
Sendedatum . . . . . . :   30.01.17      Sendezeit  . . . . . . :   10:39:00
                                                                            
Nachricht . . . :   Auswahl für Operator X'0001' ungültig. Ursachencode 7.  
Ursache  . . . . :  Entweder sind die Auswahloperanden miteinander oder mit
  Operator X'0001' in Auswahleintrag 3 für Auswahlart 1 nicht verträglich.  
  Welche Art von Unverträglichkeit vorliegt, ist aus Ursachencode 7         
  ersichtlich. Die Ursachencodes haben folgende Bedeutung:                  
    1 -- Vergleich von numerisch mit DBCS-Only oder Nicht-Unicode-Grafik,   
  Datum mit Nicht-Datum, Uhrzeit mit Nicht-Uhrzeit oder Zeitmarken mit      
  Nicht-Zeitmarke oder Binärzeichenfolge mit Nicht-Binärzeichenfolge.       
    2 -- Beide Operanden sind Felder variabler Länge, für die Nullwerte     
  zulässig sind.                                                            
    3 -- Der erste Operand ist kein Feld.                                   
    4 -- Der zweite oder dritte Operand ist kein Literal oder Variablenfeld.
    5 -- Der erste Operand ist kein Zeichen- oder Doppelbyte-Operand.     
    6 -- Der Operand für den Suchbegriff ist länger als das zugehörige    
  Suchziel.                                                               
    7 -- Die CCSIDs (ID des codierten Zeichensatzes) der Operanden können
  nicht so geändert werden, dass sie verträglich sind.                   
...
    13 -- XML-Operanden sind nur bei den Prädikaten NULL oder EXISTS zulässig.
    Der erste Operand ist TXT1141 mit der CCSID 1141. Der zweite Operand ist  
   HVR0001 mit der CCSID 1025. Der dritte Operand ist *N mit der CCSID 0.     
  Lautet der Operand *N, ist dieser Operand für den Operator nicht            
  erforderlich. Auswahlart 1 bedeutet Satzauswahl; Auswahlart 2 bedeutet      
  Gruppenauswahl (Group by), Auswahlart 3 bedeutet Vorgangsauswahl und        
  Auswahlart 4 bedeutet Verbindungsauswahl (Join).                           


Nachrichten-ID . . . . :   SQL0332       Bewertung  . . . . . . :   30       
Nachrichtenart . . . . :   Diagnose                                          
Sendedatum . . . . . . :   30.01.17      Sendezeit  . . . . . . :   10:39:00
                                                                             
Nachricht . . . :   Zeichenumsetzung zwischen CCSID 1141 und CCSID 1025      
  ungültig.                                                                  
Ursache  . . . . :  Es wurde versucht, eine Zeichen- oder Grafikumsetzung für
  nicht verträgliche Daten durchzuführen. Eine Umsetzung zwischen CCSID 1141
  und CCSID 1025 ist nicht definiert.                                        
    Ist eine CCSID 65535, ist die andere CCSID eine Grafik-CCSID. Die        
  Umsetzung zwischen der CCSID 65535 und einer Grafik-CCSID ist nicht        
  definiert.                                                                 
    Handelt es sich um eine Anweisung CONNECT, ist die Umsetzung zwischen der
  Standard-SBCS-CCSID des Anwendungs-Requesters und der SBCS-CCSID des       
  Anwendungsserver nicht definiert. Ist die zweite CCSID 0, wurde die        
  Standard-SBCS-CCSID des Anwendungsservers nicht zurückgegeben. Ein        
  Anwendungsserver, der kein DB2 für IBM i-Anwendungsserver ist, unterstützt  
  die CCSID 65535 möglicherweise nicht.                                       
Fehlerbeseitigung:  Sicherstellen, dass jeder Zeichen- oder Grafikvergleich,  
  jede Zeichen- oder Grafikverknüpfung und jede Zeichen- oder Grafikzuordnung
  zwischen Spalten oder Host-Variablen erfolgt, die verträgliche CCSID-Werte  
  haben.                                                                      
    Handelt es sich um eine Anweisung CONNECT, entweder die SBCS-CCSID des    
  Anwendungs-Requesters oder des Anwendungsservers ändern, damit die Umsetzung
  zwischen den CCSID-Werten definiert ist.
Getestet habe ich unter V5R3, V7R1 und V7R3.

Das sieht mir ja fast nach einem IBM Fehler aus oder hat jemand hierzu eine Idee?

Viele Grüße
Matthias