mk
02-11-21, 10:21
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 :
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
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 :
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