USDAVIS
15-09-08, 10:00
Hallo *ALL,
folgendes merkwürdiges Problem auf einer i5 170 mit V4R4:
Wenn ich folgenden Befehl interaktiv (d.h. über STRSQL) eingebe, funktioniert das tadellos:
update KrtPca
set (KpRkb, KpKrg, KpRgb, KpKrh, KpRhb) =
(select distinct KtNam, KtGrp, RgBez, RgHgr, RhBe
from Sktstm
inner join KrtGrp on
SktStm.Firma = KrtGrp.RgFir and
SktStm.KtGrp = KrtGrp.RgGrp
inner join KrtHgr on
KrtGrp.RgFir = KrtHgr.RhFir and
KrtGrp.RgHgr = KrtHgr.RhHgr
where SktStm.Firma = KrtPca.KpFir and
SktStm.Konto = KrtPca.KpKrt)
where exists (select * from sktstm where
KrtPca.KpFir = SktStm.Firma and
KrtPca.KpKrt = SktStm.Konto)
Derselbe Befehl in einem SQLRPGLE führt zu einer Endlosschleife mit der sich wiederholenden Meldung:
Datenabbildungsfehler in Teildatei KRTPCA
Nullwerte in Spalte SEL0002 in Tabelle KRTPCA in QS36f nicht erlaubt.
Um das Einfügen von Nullwerten zu verhindern habe ich ja extra die Exists-Abfrage eingebaut. Interaktiv funktioniert es, beim Programm scheint er dies komplett zu verschlucken und läuft überdies noch in einer Endlosschleife.
Hat jemand eine Erklärung für dieses Phänomen?
Gruss
Ulli
folgendes merkwürdiges Problem auf einer i5 170 mit V4R4:
Wenn ich folgenden Befehl interaktiv (d.h. über STRSQL) eingebe, funktioniert das tadellos:
update KrtPca
set (KpRkb, KpKrg, KpRgb, KpKrh, KpRhb) =
(select distinct KtNam, KtGrp, RgBez, RgHgr, RhBe
from Sktstm
inner join KrtGrp on
SktStm.Firma = KrtGrp.RgFir and
SktStm.KtGrp = KrtGrp.RgGrp
inner join KrtHgr on
KrtGrp.RgFir = KrtHgr.RhFir and
KrtGrp.RgHgr = KrtHgr.RhHgr
where SktStm.Firma = KrtPca.KpFir and
SktStm.Konto = KrtPca.KpKrt)
where exists (select * from sktstm where
KrtPca.KpFir = SktStm.Firma and
KrtPca.KpKrt = SktStm.Konto)
Derselbe Befehl in einem SQLRPGLE führt zu einer Endlosschleife mit der sich wiederholenden Meldung:
Datenabbildungsfehler in Teildatei KRTPCA
Nullwerte in Spalte SEL0002 in Tabelle KRTPCA in QS36f nicht erlaubt.
Um das Einfügen von Nullwerten zu verhindern habe ich ja extra die Exists-Abfrage eingebaut. Interaktiv funktioniert es, beim Programm scheint er dies komplett zu verschlucken und läuft überdies noch in einer Endlosschleife.
Hat jemand eine Erklärung für dieses Phänomen?
Gruss
Ulli