PDA

View Full Version : SQLCOD= -678 SQLSTATE= 53045



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

Fuerchau
02-11-21, 11:47
Und was soll uns das nun sagen?
Das ist doch normal und sollte schon immer so gewesen sein;-).