Anmelden

View Full Version : SQL-Fehler SQL7906



jlindner
07-10-16, 13:13
Hallo Gemeinde,

ich bin bisher nur ein eifriger Mitleser, habe aber ein aktuelles Problem.
Ich habe eine Quelle, die ich mit Zielrelease V7R1M0 wandeln muss. Diese führt im Precompiler zum Fehler SQL7906 "Position 30 SQL-Funktion für vorheriges Release nicht
unterstützt. Funktion ist - NULLS."
Wenn ich aber das Statement auf einer V7R1M0-Maschine interaktiv ausführe, klappt es wunderbar.
Was mich weiter verwundert, ist die Tatsache, dass es ein Programmobjekt gibt, das unter V7R1M0 mit Zielrelease V6R1M0 erstellt wurde.
Aktuell arbeiten wir mit V7R3M0.

Schon mal vielen Dank im Voraus

Viele Grüße

Jörg

Fuerchau
07-10-16, 13:39
Nun, da hat der Pre-Compiler für das vorherige Release, also V7R1, wohl nicht den selben Stand wie das Release V7R1 selber.
Hier wäre ggf. ein PTF der V7R1-Libs erforderlich.
Auch der SQL wäre da mal interessant.
Wan welche Objekte für welches Release erstellt wurde ist doch egal da das OS für Kompatibilität sorgt.

jlindner
07-10-16, 13:52
Hallo Fuerchau,

das wahrscheinlich betroffene Statement ist:
"EXEC SQL
create view mylib / myfile
as (select DENSE_RANK()
OVER(PARTITION BY FKLIEF ORDER BY INT(MOD(FVDATU,
10000)) * 10000 + INT(MOD(FVDATU / 10000, 100)) *
100 + INT(FVDATU / 1000000))
as Rang
,INT(MOD(FVDATU, 10000)) * 10000 + INT(MOD(FVDATU /
10000, 100)) * 100 + INT(FVDATU / 1000000) as Datum
,FKLIEF
from lghaiming / LARKPF
where FKUNDE = 76
and FAUFAR <> 'R'
and FVDATU <> 0
group by FVDATU
,FKLIEF);"

Das mit der Kompatibilität war auch mein Glauben. Leider ist das Programm nicht von mir und der Kollege nicht mehr greifbar.
Machmal muss man auch Glück haben.

Viele Grüße

Jörg

Fuerchau
07-10-16, 14:27
Der Precompiler ist da schon manchmal seltsam, zumal "NULLS" hier gar nicht vorkommt.
Im Zweifel kann man hier nur einen Workaround mit

exec sql execute immediate "....";

machen. Ggf. findet Birgitta da mehr.

jlindner
10-10-16, 06:50
Hallo Fuerchau,

die Lösung war zwar nicht mein Favorit, hat aber mein Problem erstmal beseitigt.

Vielen Dank und Grüße

Jörg