PDA

View Full Version : keine Rekursion möglich !? Ich versteh's nicht...



Seiten : 1 [2]

flieger_siggi
06-06-13, 08:06
Moin,
gestern war Urlaub...
In der gleichen Umgebung laufen auch andere multi-threaded Anwendungen.
Hat niemand weitere Ideen?

Siggi

B.Hauser
06-06-13, 08:20
Hast Du zufällig in den H-Bestimmungen THREAD(*SERIALZED) hinterlegt?

Wenn nicht binde das Schlüssel-Wort ein, das sollte dafür sorgen, dass ein Job in einer multi-threading Umgebung "thread-safe" läuft.

Unter welchem Release arbeitet ihr überhaupt?

Birgitta

flieger_siggi
06-06-13, 08:59
Hallo Birgitta,

wir arbeiten unter 6.1.
Es wird in diesem Ablauf, datenbedingt, zur Zeit nur ein Thread erzeugt.

Kann es evtl. auch mit localen Dateien in Prozeduren zusammenhängen?

Siggi

B.Hauser
06-06-13, 09:11
Hallo Birgitta,

wir arbeiten unter 6.1.
Es wird in diesem Ablauf, datenbedingt, zur Zeit nur ein Thread erzeugt.

Kann es evtl. auch mit localen Dateien in Prozeduren zusammenhängen?

Siggi

Hast Du Thread(*SERIALIZED) in den H-Bestimmungen oder nicht?
Solltest Du in den H-Bestimmungen Thread(*CONCURRENT) haben, solltest Du bei der Prozedur (in der Begin-P-Zeile) das Schlüssel-Wort SERIALIZE angeben.

Wenn Du diese Änderungen gemacht hast, was passiert dann?

Birgitta

flieger_siggi
06-06-13, 09:26
Hab' ich noch nicht gemacht, kommt noch.
Was ich gemacht habe: Ich habe mal die Prozedur dupliziert unter einem anderen Namen, dann den rekursiven Aufruf innerhalb der Original-Prozedur entsprechend angepasst und....gleicher Fehler ?!?!?!?
Werden Prozeduren evtl. nur anhand der ersten x stellen des Namens identifiziert?

Ergänzung: Habe den Namen nochmals angepasst, trotzdem immer noch der selbe Fehler

Siggi

flieger_siggi
06-06-13, 14:49
So, habe das Problem jetzt anderweitig gelöst. Ist zwar unbefriedigend, aber fertig.

Vielen Dank ann alle freundlichen Gedankenspender.

Siggi

camouflage
06-06-13, 14:59
Hi Siggi,

Lässt du uns an deiner Lösung teilhaben ;) ?

flieger_siggi
20-06-13, 10:12
sorry, war lange nicht hier:)

na klar, gern.
Ich habe die aufgerufene Funktion um einen Parameter erweitert. Dieser liefert mir eine Tabelle von Datenstrukturen zurück mit denen ich dann die noch notwendigen Aufrufe der Funktion nochmals mache.
Die mögliche Anzahl von Rückgabewerten ist begrenzt, somit kann dieses Vorgehen funktionieren.

Grüße
Siegfried