horni
04-10-07, 11:21
Hallo zusammen,
ich habe da ein Problemchen mit einer Tabelle und hier speziell mit dem %lookup.
Ich habe eine Tabelle mit einem Wert und einer Schlüsselnummer:
D Emp_Teile 50 Dim(50) DESCEND
D Emp_Wert 9 2 OVERLAY(Emp_Teile:1)
D Emp_Lfnr 9 OVERLAY(Emp_Teile:10)
Habe ich eine Nummer abgearbeitet und den Wert ermittelt sehe ich mittels eines %lookup
#PosArray = %Lookup($Lieferant:Emp_Lfnr:1);
in der Tabelle nach. Bei #PosArray = 0 - schreiben, sonst den Wert addieren.
Soweit so gut, funktioniert bis zu einen gewissen Punkt prächtig. Dann aber findet er kurzfristig vorhandene Schlüssel nicht mehr, was natürlich zur folge hat, dass Einträge doppelt und dreifach vorhanden sind. Da ich am Ende sortiere und nur den höchsten Wert benötige ist das natürlich fatal :mad:
Seltsamer Weise addiert er dann auf einen der doppelt eingetragenen Werte wieder richtig weiter ?!
Ich suche mir hier einen Wolf, kann aber nicht wirklich einen Fehler in der Programmlogik feststellen.
Hat vielleicht irgend jemand eine Idee woran das liegen könnte, oder nach was ich noch suchen sollte ?
Schon mal herzlichen Dank im Vorraus.
Horni
ich habe da ein Problemchen mit einer Tabelle und hier speziell mit dem %lookup.
Ich habe eine Tabelle mit einem Wert und einer Schlüsselnummer:
D Emp_Teile 50 Dim(50) DESCEND
D Emp_Wert 9 2 OVERLAY(Emp_Teile:1)
D Emp_Lfnr 9 OVERLAY(Emp_Teile:10)
Habe ich eine Nummer abgearbeitet und den Wert ermittelt sehe ich mittels eines %lookup
#PosArray = %Lookup($Lieferant:Emp_Lfnr:1);
in der Tabelle nach. Bei #PosArray = 0 - schreiben, sonst den Wert addieren.
Soweit so gut, funktioniert bis zu einen gewissen Punkt prächtig. Dann aber findet er kurzfristig vorhandene Schlüssel nicht mehr, was natürlich zur folge hat, dass Einträge doppelt und dreifach vorhanden sind. Da ich am Ende sortiere und nur den höchsten Wert benötige ist das natürlich fatal :mad:
Seltsamer Weise addiert er dann auf einen der doppelt eingetragenen Werte wieder richtig weiter ?!
Ich suche mir hier einen Wolf, kann aber nicht wirklich einen Fehler in der Programmlogik feststellen.
Hat vielleicht irgend jemand eine Idee woran das liegen könnte, oder nach was ich noch suchen sollte ?
Schon mal herzlichen Dank im Vorraus.
Horni