tb1810
11th December 2003, 12:03
hallo zusammen,

seit dem wir das servicepack 8 eingespielt haben. fehlen uns des öfteren preisparameter. meine vermutung ist die, das beim löschen abgelaufener preislisten der parameter gelöscht wird, obwohl noch ein aktueller prei vorhanden ist. es ist eine session, die von uns angepasst ist.

der select sieht so aus:

select tdsls037.*
from tdsls037 for update
where tdsls037._index1 inrange {:cpls.f , :item.f, :cntr.f, :dile.f} and {:cpls.t , :item.t, :cntr.t, :dile.t}
and tdsls037.cpls <> ""
and not exists
(select tdsls032.*
from tdsls032
where tdsls032._index1 inrange {:cpls.f,:item.f, :cntr.f,:dile.f}
and {:cpls.t,:item.t,:cntr.t,:dile.t})
selectdo
db.delete(ttdsls037,db.retry)
count = count + 1
real.update()
display.curr.details()
endselect
commit.transaction()

´da ich schon des öfteren probleme mit dem "not exist" hatte könnte es daran lieben. hat baan da irgendwelche anpassungen im toolsbereich gemacht????

danke
gruß thomas

Marc van Kessel
11th December 2003, 13:08
Hallo Thomas,

der SQL kommt mir ein bisschen eigenartig vor. Den die
'select tdsls032' ist unabhaengig von Felder aus der tdsls037.
Das heisst der subselect hat immer das gleiche Resultat fuer
jedes record aus die tdsls037.

Obwohl ich die gewuenschte Funktionalitaet nicht kenne,
vielleicht sollte die SQL so aus sehen:

select tdsls037.*
from tdsls037 for update
where tdsls037._index1 inrange {:cpls.f , :item.f, :cntr.f, :dile.f} and {:cpls.t , :item.t, :cntr.t, :dile.t}
and not exists
(select tdsls032.*
from tdsls032
where tdsls032._index1 = {tdsls037.cpls, tdsls037.item, tdsls037.cntr, tdsls037.dile}
)

Gruesse,

Marc

tb1810
11th December 2003, 13:13
hallo mark,

danke für die antwort, aber der select schein schon zu stimmen, zumindest seit 2000 lief das programm fehlerlos. erst seit dem wir sp8 eingespielt haben, läuft es schief.
im select sollen bestimmte preisparameter gelöscht werden, wenn es auch keine preislisten dazu mehr gibt. deine lösung hatte ich jetzt auch schon eingebaut. da bin ich mir sicher, das es so funktioniert. mich würde aber gern interessieren ob dieses "not exist" nicht mehr funktioniert, da wir dieses in einigen programmen eingebaut haben.

gruß thomas

kbartelds
11th December 2003, 13:31
Please check support site, problem has been solved.

Regards,
Klaas

Juergen
11th December 2003, 14:02
Ich denke Klaas meint die Solution 114374 (die ist allerdings vom Servicepack 9). Mit dieser Solution wurde u.a. das Löschen der Preisparameter umgestellt. Das "non exists" innerhalb des selects wird nicht mehr verwendet.

Gruß,
Jürgen