Hallo *ALL,
nur zur Information falls jemand dieses Problem mal hat.
Ein SQLRPGLE Programm läuft.
Nach einem IPL mit PTF kommt in dem Programm der SQL STATE 53045
Nachrichten-ID . . . . : SQL0678 Bewertung . . . . . . : 30Nachrichtenart . . . . : DiagnoseSendedatum . . . . . . : 02.11.21 Sendezeit . . . . . . : 10:28:46 Nachricht . . . : Datenart des Literals *N ist mit Spalte *N nicht kompatibel.Ursache . . . . : Das angegebene Literal ist nicht kompatibel. Ist Literal *N für die Klausel STARTING, ENDING oder EVERY angegeben, ist dies nicht mit Spalte *N kompatibel. Die Datenart von Spalte *N ist *N. Ist das Literal in einem Abgleich mit einem numerischen Wert angegeben, ist das Literal kein gültiger numerischer Wert.Fehlerbeseitigung: Ein gültiges Literal angeben. Die Anforderung wiederholen.
Ursache:
In dem SQL wird in einem Case Block ein numerisches Feld mit blank verglichen:
Beispiel :
PHP-Code:
and 1 = case when :selectedArtikelHaupGr = ' ' then 1
when :selectedArtikelHaupGr <> ' ' and :selectedArtikelHaupGr = ARTIKELHAUPGR then 1
else 0
end
Die Lösung:
Abfrage auf 0 geändert.
Und schon läuft es wieder
Viele Grüße
Michael
Bookmarks