PDA

View Full Version : Sql UPPER



Joe
10-05-06, 10:23
Hallo Forum.

Im Gegensatz zu interaktivem SQL werden in
einem SQLRPGLE in der SQL-Anweisung

set :Feld = upper(:feld)

die Umlaute ignoriert.
D.H. diese bleiben in Kleinbuchstaben.

Wer kann mit helfen?
OS: V5R3

Gruß Joe

Fuerchau
10-05-06, 10:25
Du musst dem Feld (oder Job) eine passende CCSID geben.
Steht der Job auf 65535 werden Sonderzeichen nicht berücksichtigt.

Joe
10-05-06, 11:30
Natürlich wieder die CCSID...

Vielen Dank.

Aber warum funktioniert die Umsetzung mit gleicher JOB-CCSID
im interaktiven SQL?


Gruß Joe

Fuerchau
10-05-06, 11:52
Der Unterschied ist der Befehl:

select upper(feld) from file

Wenn die Datei eine CCSID hat, erfolgt die Umsetzung bevor die Daten an das Programm gehen.

set :f1 = upper(:f1)

Da steckt keine Datei hinter, da es ja Programmcode ist.
Also muss die CCSID entweder in den D-Bestimmungen des Feldes oder im Job definiert sein.